Packages
gleam_bson
0.7.0
0.27.0
retired
0.26.0
retired
0.25.0
retired
0.24.0
retired
0.23.0
retired
0.22.0
retired
0.21.0
retired
0.20.0
retired
0.19.0
retired
0.18.0
retired
0.17.0
retired
0.16.0
retired
0.15.0
retired
0.14.0
retired
0.13.0
retired
0.12.0
retired
0.11.0
retired
0.10.1
retired
0.10.0
retired
0.9.0
retired
0.8.0
retired
0.7.0
retired
0.6.0
retired
0.5.0
retired
0.4.0
retired
0.3.0
retired
0.2.0
retired
0.1.0
retired
bson encoder and decoder for gleam
Retired package: Renamed - Republished as bison
Current section
Files
Jump to
Current section
Files
src/bson@binary.erl
-module(bson@binary).
-compile(no_auto_import).
-export([to_string/1, to_bit_string/1, from_string/1, from_bit_string/1]).
-export_type([binary_/0]).
-opaque binary_() :: {generic, bitstring()}.
-spec to_string(binary_()) -> {ok, binary()} | {error, nil}.
to_string(Binary) ->
case Binary of
{generic, Data} ->
gleam@bit_string:to_string(Data)
end.
-spec to_bit_string(binary_()) -> bitstring().
to_bit_string(Binary) ->
case Binary of
{generic, Data} ->
Data
end.
-spec from_string(binary()) -> binary_().
from_string(Data) ->
{generic, gleam@bit_string:from_string(Data)}.
-spec from_bit_string(bitstring()) -> {ok, binary_()} | {error, nil}.
from_bit_string(Data) ->
case erlang:bit_size(Data) rem 8 of
0 ->
{ok, {generic, Data}};
_@1 ->
{error, nil}
end.