Skip to content

Commit 2677724

Browse files
committed
Move to :out_of_range
1 parent f22a2ef commit 2677724

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

lib/tokenizers/decode_stream.ex

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,20 @@ defmodule Tokenizers.DecodeStream do
2424
@doc """
2525
Steps through the decode stream with the given tokenizer and token ID.
2626
27-
Returns `{:ok, string}` if there's a decoded string, or `{:ok, nil}` if there's nothing more to decode.
27+
Returns `{:ok, String.t()}` if there's a decoded string, or `{:ok, :out_ofr_range}` if the token ID is out of range.
2828
Returns `{:error, reason}` if an error occurs during decoding.
2929
"""
3030
def step(%__MODULE__{} = decode_stream, tokenizer, id) when is_integer(id) do
31-
Tokenizers.Native.decoder_stream_step(decode_stream, tokenizer, id)
31+
case Tokenizers.Native.decoder_stream_step(decode_stream, tokenizer, id) do
32+
{:ok, decoded} when is_binary(decoded) ->
33+
{:ok, decoded}
34+
35+
{:ok, nil} ->
36+
{:ok, :out_of_range}
37+
38+
{:error, reason} ->
39+
{:error, reason}
40+
end
3241
end
3342

3443
@doc """

test/tokenizers/decode_stream_test.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ defmodule Tokenizers.DecodeStreamTest do
4141
ds = Tokenizers.DecodeStream.new(false)
4242

4343
{:ok, " "} = Tokenizers.DecodeStream.step(ds, tk, 1)
44-
{:ok, nil} = Tokenizers.DecodeStream.step(ds, tk, 2)
44+
{:ok, :out_of_range} = Tokenizers.DecodeStream.step(ds, tk, 2)
4545
{:ok, "é"} = Tokenizers.DecodeStream.step(ds, tk, 3)
4646
end
4747

0 commit comments

Comments
 (0)