Packages
gleam_stdlib
0.14.0
1.0.3
1.0.2
1.0.1
1.0.0
0.71.0
0.70.0
0.69.0
0.68.1
0.68.0
0.67.1
0.67.0
0.65.0
0.64.0
0.63.2
0.63.1
0.63.0
0.62.1
0.62.0
0.61.0
0.60.0
0.59.0
0.58.0
0.57.0
0.56.0
0.55.0
0.54.0
0.53.0
0.52.0
0.51.0
0.50.0
0.49.0
0.48.0
0.47.0
0.46.0
0.45.0
0.44.0
0.43.0
0.42.0
0.41.0
0.40.0
0.39.0
0.38.0
0.37.0
0.36.0
0.35.1
0.35.0
0.34.0
0.33.1
0.33.0
0.32.1
0.32.0
0.31.0
0.30.2
0.30.1
0.30.0
0.29.2
0.29.1
0.29.0
0.28.2
0.28.1
0.28.0
0.27.0
0.26.1
0.26.0
0.25.0
0.24.0
0.23.0
0.22.3
0.22.2
0.22.1
0.22.0
0.21.0
0.20.0
0.19.3
0.19.2
0.19.1
0.19.0
0.18.1
0.18.0
0.18.0-rc1
0.17.1
0.17.0
0.16.0
0.15.0
0.14.0
0.13.0
0.12.0
0.11.0
0.10.1
0.10.0
0.9.0
0.8.0
0.7.0
0.6.0
0.5.0
0.4.0
0.4.0-rc1
0.3.1
0.3.0
0.2.0
retired
A standard library for the Gleam programming language
Current section
Files
Jump to
Current section
Files
gen/src/gleam@bit_string.erl
-module(gleam@bit_string).
-compile(no_auto_import).
-export([from_string/1, byte_size/1, append/2, part/3, int_to_u32/1, int_from_u32/1, is_utf8/1, to_string/1]).
-spec from_string(binary()) -> bitstring().
from_string(A) ->
gleam_stdlib:identity(A).
-spec byte_size(bitstring()) -> integer().
byte_size(A) ->
erlang:byte_size(A).
-spec append(bitstring(), bitstring()) -> bitstring().
append(A, B) ->
gleam_stdlib:bit_string_append(A, B).
-spec part(bitstring(), integer(), integer()) -> {ok, bitstring()} |
{error, nil}.
part(A, B, C) ->
gleam_stdlib:bit_string_part_(A, B, C).
-spec int_to_u32(integer()) -> {ok, bitstring()} | {error, nil}.
int_to_u32(A) ->
gleam_stdlib:bit_string_int_to_u32(A).
-spec int_from_u32(bitstring()) -> {ok, integer()} | {error, nil}.
int_from_u32(A) ->
gleam_stdlib:bit_string_int_from_u32(A).
-spec is_utf8(bitstring()) -> boolean().
is_utf8(Bits) ->
case Bits of
<<>> ->
true;
<<_/utf8, Rest/binary>> ->
is_utf8(Rest);
_ ->
false
end.
-spec to_string(bitstring()) -> {ok, binary()} | {error, nil}.
to_string(Bits) ->
case is_utf8(Bits) of
true ->
{ok, gleam_stdlib:identity(Bits)};
false ->
{error, nil}
end.