# `Obscura.Stream.Rehydrator`
[🔗](https://github.com/hfiguera/obscura/blob/v0.2.0/lib/obscura/stream/rehydrator.ex#L1)

Streaming-safe vault token rehydration.

# `t`

```elixir
@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()
}
```

# `feed`

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

Feeds one streamed chunk and returns text safe to emit.

# `flush`

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

Flushes final buffered text.

# `new`

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

Creates a streaming rehydrator state.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
