Packages
gleam_stdlib
0.30.1
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
src/gleam@bit_builder.erl
-module(gleam@bit_builder).
-compile([no_auto_import, nowarn_unused_vars]).
-export([append_builder/2, prepend_builder/2, new/0, concat/1, concat_bit_strings/1, from_string/1, prepend_string/2, append_string/2, from_string_builder/1, from_bit_string/1, prepend/2, append/2, to_bit_string/1, byte_size/1]).
-export_type([bit_builder/0]).
-type bit_builder() :: any().
-spec append_builder(bit_builder(), bit_builder()) -> bit_builder().
append_builder(First, Second) ->
gleam_stdlib:iodata_append(First, Second).
-spec prepend_builder(bit_builder(), bit_builder()) -> bit_builder().
prepend_builder(To, Prefix) ->
append_builder(Prefix, To).
-spec new() -> bit_builder().
new() ->
gleam_stdlib:identity([]).
-spec concat(list(bit_builder())) -> bit_builder().
concat(Builders) ->
gleam_stdlib:identity(Builders).
-spec concat_bit_strings(list(bitstring())) -> bit_builder().
concat_bit_strings(Bits) ->
gleam_stdlib:identity(Bits).
-spec from_string(binary()) -> bit_builder().
from_string(String) ->
gleam_stdlib:wrap_list(String).
-spec prepend_string(bit_builder(), binary()) -> bit_builder().
prepend_string(To, Prefix) ->
append_builder(from_string(Prefix), To).
-spec append_string(bit_builder(), binary()) -> bit_builder().
append_string(To, Suffix) ->
append_builder(To, from_string(Suffix)).
-spec from_string_builder(gleam@string_builder:string_builder()) -> bit_builder().
from_string_builder(Builder) ->
gleam_stdlib:wrap_list(Builder).
-spec from_bit_string(bitstring()) -> bit_builder().
from_bit_string(Bits) ->
gleam_stdlib:wrap_list(Bits).
-spec prepend(bit_builder(), bitstring()) -> bit_builder().
prepend(To, Prefix) ->
append_builder(from_bit_string(Prefix), To).
-spec append(bit_builder(), bitstring()) -> bit_builder().
append(To, Suffix) ->
append_builder(To, from_bit_string(Suffix)).
-spec to_bit_string(bit_builder()) -> bitstring().
to_bit_string(Builder) ->
erlang:list_to_bitstring(Builder).
-spec byte_size(bit_builder()) -> integer().
byte_size(Builder) ->
erlang:iolist_size(Builder).