-module(gleam@string_builder). -compile(no_auto_import). -export([prepend/2, append/2, prepend_builder/2, append_builder/2, from_strings/1, concat/1, from_string/1, to_string/1, byte_size/1, from_float/1, 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(string_builder(), binary()) -> string_builder(). prepend(A, B) -> gleam_stdlib:iodata_prepend(A, B). -spec append(string_builder(), binary()) -> string_builder(). append(A, B) -> gleam_stdlib:iodata_append(A, B). -spec prepend_builder(string_builder(), string_builder()) -> string_builder(). prepend_builder(A, B) -> gleam_stdlib:iodata_prepend(A, B). -spec append_builder(string_builder(), string_builder()) -> string_builder(). append_builder(A, B) -> gleam_stdlib:iodata_append(A, B). -spec from_strings(list(binary())) -> string_builder(). from_strings(A) -> gleam_stdlib:identity(A). -spec concat(list(string_builder())) -> string_builder(). concat(A) -> gleam_stdlib:identity(A). -spec from_string(binary()) -> string_builder(). from_string(A) -> gleam_stdlib:identity(A). -spec to_string(string_builder()) -> binary(). to_string(A) -> erlang:iolist_to_binary(A). -spec byte_size(string_builder()) -> integer(). byte_size(A) -> erlang:iolist_size(A). -spec from_float(float()) -> string_builder(). from_float(A) -> io_lib_format:fwrite_g(A). -spec lowercase(string_builder()) -> string_builder(). lowercase(A) -> string:lowercase(A). -spec uppercase(string_builder()) -> string_builder(). uppercase(A) -> string:uppercase(A). -spec reverse(string_builder()) -> string_builder(). reverse(A) -> string:reverse(A). -spec split(string_builder(), binary()) -> list(string_builder()). split(Iodata, Pattern) -> string:split(Iodata, Pattern, all). -spec replace(string_builder(), binary(), binary()) -> string_builder(). replace(Iodata, Pattern, Substitute) -> string:replace(Iodata, Pattern, Substitute, all). -spec is_equal(string_builder(), string_builder()) -> boolean(). is_equal(A, B) -> string:equal(A, B). -spec is_empty(string_builder()) -> boolean(). is_empty(A) -> string:is_empty(A).