Packages
gleam_stdlib
0.28.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@string_builder.erl
-module(gleam@string_builder).
-compile([no_auto_import, nowarn_unused_vars]).
-export([prepend_builder/2, append_builder/2, new/0, from_strings/1, concat/1, from_string/1, prepend/2, append/2, join/2, to_string/1, byte_size/1, lowercase/1, uppercase/1, reverse/1, split/2, replace/3, is_equal/2, is_empty/1]).
-export_type([direction/0, string_builder/0]).
-type direction() :: all.
-type string_builder() :: any().
-spec prepend_builder(string_builder(), string_builder()) -> string_builder().
prepend_builder(Builder, Prefix) ->
gleam_stdlib:iodata_append(Prefix, Builder).
-spec append_builder(string_builder(), string_builder()) -> string_builder().
append_builder(Builder, Suffix) ->
gleam_stdlib:iodata_append(Builder, Suffix).
-spec new() -> string_builder().
new() ->
gleam_stdlib:identity([]).
-spec from_strings(list(binary())) -> string_builder().
from_strings(Strings) ->
gleam_stdlib:identity(Strings).
-spec concat(list(string_builder())) -> string_builder().
concat(Builders) ->
gleam_stdlib:identity(Builders).
-spec from_string(binary()) -> string_builder().
from_string(String) ->
gleam_stdlib:identity(String).
-spec prepend(string_builder(), binary()) -> string_builder().
prepend(Builder, Prefix) ->
append_builder(from_string(Prefix), Builder).
-spec append(string_builder(), binary()) -> string_builder().
append(Builder, Second) ->
append_builder(Builder, from_string(Second)).
-spec join(list(string_builder()), binary()) -> string_builder().
join(Builders, Sep) ->
_pipe = Builders,
_pipe@1 = gleam@list:intersperse(_pipe, from_string(Sep)),
concat(_pipe@1).
-spec to_string(string_builder()) -> binary().
to_string(Builder) ->
unicode:characters_to_binary(Builder).
-spec byte_size(string_builder()) -> integer().
byte_size(Builder) ->
erlang:iolist_size(Builder).
-spec lowercase(string_builder()) -> string_builder().
lowercase(Builder) ->
string:lowercase(Builder).
-spec uppercase(string_builder()) -> string_builder().
uppercase(Builder) ->
string:uppercase(Builder).
-spec reverse(string_builder()) -> string_builder().
reverse(Builder) ->
string:reverse(Builder).
-spec do_split(string_builder(), binary()) -> list(string_builder()).
do_split(Iodata, Pattern) ->
string:split(Iodata, Pattern, all).
-spec split(string_builder(), binary()) -> list(string_builder()).
split(Iodata, Pattern) ->
do_split(Iodata, Pattern).
-spec do_replace(string_builder(), binary(), binary()) -> string_builder().
do_replace(Iodata, Pattern, Substitute) ->
string:replace(Iodata, Pattern, Substitute, all).
-spec replace(string_builder(), binary(), binary()) -> string_builder().
replace(Builder, Pattern, Substitute) ->
do_replace(Builder, Pattern, Substitute).
-spec is_equal(string_builder(), string_builder()) -> boolean().
is_equal(A, B) ->
string:equal(A, B).
-spec is_empty(string_builder()) -> boolean().
is_empty(Builder) ->
string:is_empty(Builder).