Packages
gleam_stdlib
0.37.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
src/gleam@string_builder.erl
-module(gleam@string_builder).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([prepend_builder/2, append_builder/2, new/0, from_strings/1, concat/1, from_string/1, prepend/2, append/2, to_string/1, byte_size/1, join/2, lowercase/1, uppercase/1, reverse/1, split/2, replace/3, is_equal/2, is_empty/1]).
-export_type([string_builder/0, direction/0]).
-type string_builder() :: any().
-type direction() :: all.
-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 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 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 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 replace(string_builder(), binary(), binary()) -> string_builder().
replace(Builder, Pattern, Substitute) ->
gleam_stdlib:string_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).