Obscura.Stream.Rehydrator (obscura v0.1.0)

Copy Markdown View Source

Streaming-safe vault token rehydration.

Summary

Functions

Feeds one streamed chunk and returns text safe to emit.

Flushes final buffered text.

Creates a streaming rehydrator state.

Types

t()

@type t() :: %Obscura.Stream.Rehydrator{
  buffer: String.t(),
  max_token_length: pos_integer(),
  telemetry: boolean(),
  token_prefix: String.t(),
  token_suffix: String.t(),
  unknown: :keep | :error,
  vault: GenServer.server()
}

Functions

feed(stream, chunk)

@spec feed(t(), String.t()) :: {:ok, String.t(), t()} | {:error, term()}

Feeds one streamed chunk and returns text safe to emit.

flush(stream)

@spec flush(t()) :: {:ok, String.t()} | {:error, term()}

Flushes final buffered text.

new(opts)

@spec new(keyword()) :: {:ok, t()} | {:error, term()}

Creates a streaming rehydrator state.