Initial commit
This commit is contained in:
commit
a6272848f9
379 changed files with 74829 additions and 0 deletions
207
build/dev/javascript/gleam_stdlib/gleam@string_tree.erl
Normal file
207
build/dev/javascript/gleam_stdlib/gleam@string_tree.erl
Normal file
|
|
@ -0,0 +1,207 @@
|
|||
-module(gleam@string_tree).
|
||||
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
|
||||
-define(FILEPATH, "src/gleam/string_tree.gleam").
|
||||
-export([append_tree/2, prepend_tree/2, from_strings/1, new/0, 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_tree/0, direction/0]).
|
||||
|
||||
-if(?OTP_RELEASE >= 27).
|
||||
-define(MODULEDOC(Str), -moduledoc(Str)).
|
||||
-define(DOC(Str), -doc(Str)).
|
||||
-else.
|
||||
-define(MODULEDOC(Str), -compile([])).
|
||||
-define(DOC(Str), -compile([])).
|
||||
-endif.
|
||||
|
||||
-type string_tree() :: any().
|
||||
|
||||
-type direction() :: all.
|
||||
|
||||
-file("src/gleam/string_tree.gleam", 61).
|
||||
?DOC(
|
||||
" Appends some `StringTree` onto the end of another.\n"
|
||||
"\n"
|
||||
" Runs in constant time.\n"
|
||||
).
|
||||
-spec append_tree(string_tree(), string_tree()) -> string_tree().
|
||||
append_tree(Tree, Suffix) ->
|
||||
gleam_stdlib:iodata_append(Tree, Suffix).
|
||||
|
||||
-file("src/gleam/string_tree.gleam", 48).
|
||||
?DOC(
|
||||
" Prepends some `StringTree` onto the start of another.\n"
|
||||
"\n"
|
||||
" Runs in constant time.\n"
|
||||
).
|
||||
-spec prepend_tree(string_tree(), string_tree()) -> string_tree().
|
||||
prepend_tree(Tree, Prefix) ->
|
||||
gleam_stdlib:iodata_append(Prefix, Tree).
|
||||
|
||||
-file("src/gleam/string_tree.gleam", 69).
|
||||
?DOC(
|
||||
" Converts a list of strings into a `StringTree`.\n"
|
||||
"\n"
|
||||
" Runs in constant time.\n"
|
||||
).
|
||||
-spec from_strings(list(binary())) -> string_tree().
|
||||
from_strings(Strings) ->
|
||||
gleam_stdlib:identity(Strings).
|
||||
|
||||
-file("src/gleam/string_tree.gleam", 24).
|
||||
?DOC(
|
||||
" Create an empty `StringTree`. Useful as the start of a pipe chaining many\n"
|
||||
" trees together.\n"
|
||||
).
|
||||
-spec new() -> string_tree().
|
||||
new() ->
|
||||
gleam_stdlib:identity([]).
|
||||
|
||||
-file("src/gleam/string_tree.gleam", 77).
|
||||
?DOC(
|
||||
" Joins a list of trees into a single tree.\n"
|
||||
"\n"
|
||||
" Runs in constant time.\n"
|
||||
).
|
||||
-spec concat(list(string_tree())) -> string_tree().
|
||||
concat(Trees) ->
|
||||
gleam_stdlib:identity(Trees).
|
||||
|
||||
-file("src/gleam/string_tree.gleam", 85).
|
||||
?DOC(
|
||||
" Converts a string into a `StringTree`.\n"
|
||||
"\n"
|
||||
" Runs in constant time.\n"
|
||||
).
|
||||
-spec from_string(binary()) -> string_tree().
|
||||
from_string(String) ->
|
||||
gleam_stdlib:identity(String).
|
||||
|
||||
-file("src/gleam/string_tree.gleam", 32).
|
||||
?DOC(
|
||||
" Prepends a `String` onto the start of some `StringTree`.\n"
|
||||
"\n"
|
||||
" Runs in constant time.\n"
|
||||
).
|
||||
-spec prepend(string_tree(), binary()) -> string_tree().
|
||||
prepend(Tree, Prefix) ->
|
||||
gleam_stdlib:iodata_append(gleam_stdlib:identity(Prefix), Tree).
|
||||
|
||||
-file("src/gleam/string_tree.gleam", 40).
|
||||
?DOC(
|
||||
" Appends a `String` onto the end of some `StringTree`.\n"
|
||||
"\n"
|
||||
" Runs in constant time.\n"
|
||||
).
|
||||
-spec append(string_tree(), binary()) -> string_tree().
|
||||
append(Tree, Second) ->
|
||||
gleam_stdlib:iodata_append(Tree, gleam_stdlib:identity(Second)).
|
||||
|
||||
-file("src/gleam/string_tree.gleam", 94).
|
||||
?DOC(
|
||||
" Turns a `StringTree` into a `String`\n"
|
||||
"\n"
|
||||
" This function is implemented natively by the virtual machine and is highly\n"
|
||||
" optimised.\n"
|
||||
).
|
||||
-spec to_string(string_tree()) -> binary().
|
||||
to_string(Tree) ->
|
||||
unicode:characters_to_binary(Tree).
|
||||
|
||||
-file("src/gleam/string_tree.gleam", 100).
|
||||
?DOC(" Returns the size of the `StringTree` in bytes.\n").
|
||||
-spec byte_size(string_tree()) -> integer().
|
||||
byte_size(Tree) ->
|
||||
erlang:iolist_size(Tree).
|
||||
|
||||
-file("src/gleam/string_tree.gleam", 104).
|
||||
?DOC(" Joins the given trees into a new tree separated with the given string.\n").
|
||||
-spec join(list(string_tree()), binary()) -> string_tree().
|
||||
join(Trees, Sep) ->
|
||||
_pipe = Trees,
|
||||
_pipe@1 = gleam@list:intersperse(_pipe, gleam_stdlib:identity(Sep)),
|
||||
gleam_stdlib:identity(_pipe@1).
|
||||
|
||||
-file("src/gleam/string_tree.gleam", 115).
|
||||
?DOC(
|
||||
" Converts a `StringTree` to a new one where the contents have been\n"
|
||||
" lowercased.\n"
|
||||
).
|
||||
-spec lowercase(string_tree()) -> string_tree().
|
||||
lowercase(Tree) ->
|
||||
string:lowercase(Tree).
|
||||
|
||||
-file("src/gleam/string_tree.gleam", 122).
|
||||
?DOC(
|
||||
" Converts a `StringTree` to a new one where the contents have been\n"
|
||||
" uppercased.\n"
|
||||
).
|
||||
-spec uppercase(string_tree()) -> string_tree().
|
||||
uppercase(Tree) ->
|
||||
string:uppercase(Tree).
|
||||
|
||||
-file("src/gleam/string_tree.gleam", 127).
|
||||
?DOC(" Converts a `StringTree` to a new one with the contents reversed.\n").
|
||||
-spec reverse(string_tree()) -> string_tree().
|
||||
reverse(Tree) ->
|
||||
string:reverse(Tree).
|
||||
|
||||
-file("src/gleam/string_tree.gleam", 145).
|
||||
?DOC(" Splits a `StringTree` on a given pattern into a list of trees.\n").
|
||||
-spec split(string_tree(), binary()) -> list(string_tree()).
|
||||
split(Tree, Pattern) ->
|
||||
string:split(Tree, Pattern, all).
|
||||
|
||||
-file("src/gleam/string_tree.gleam", 156).
|
||||
?DOC(" Replaces all instances of a pattern with a given string substitute.\n").
|
||||
-spec replace(string_tree(), binary(), binary()) -> string_tree().
|
||||
replace(Tree, Pattern, Substitute) ->
|
||||
gleam_stdlib:string_replace(Tree, Pattern, Substitute).
|
||||
|
||||
-file("src/gleam/string_tree.gleam", 182).
|
||||
?DOC(
|
||||
" Compares two string trees to determine if they have the same textual\n"
|
||||
" content.\n"
|
||||
"\n"
|
||||
" Comparing two string trees using the `==` operator may return `False` even\n"
|
||||
" if they have the same content as they may have been build in different ways,\n"
|
||||
" so using this function is often preferred.\n"
|
||||
"\n"
|
||||
" ## Examples\n"
|
||||
"\n"
|
||||
" ```gleam\n"
|
||||
" from_strings([\"a\", \"b\"]) == from_string(\"ab\")\n"
|
||||
" // -> False\n"
|
||||
" ```\n"
|
||||
"\n"
|
||||
" ```gleam\n"
|
||||
" is_equal(from_strings([\"a\", \"b\"]), from_string(\"ab\"))\n"
|
||||
" // -> True\n"
|
||||
" ```\n"
|
||||
).
|
||||
-spec is_equal(string_tree(), string_tree()) -> boolean().
|
||||
is_equal(A, B) ->
|
||||
string:equal(A, B).
|
||||
|
||||
-file("src/gleam/string_tree.gleam", 206).
|
||||
?DOC(
|
||||
" Inspects a `StringTree` to determine if it is equivalent to an empty string.\n"
|
||||
"\n"
|
||||
" ## Examples\n"
|
||||
"\n"
|
||||
" ```gleam\n"
|
||||
" from_string(\"ok\") |> is_empty\n"
|
||||
" // -> False\n"
|
||||
" ```\n"
|
||||
"\n"
|
||||
" ```gleam\n"
|
||||
" from_string(\"\") |> is_empty\n"
|
||||
" // -> True\n"
|
||||
" ```\n"
|
||||
"\n"
|
||||
" ```gleam\n"
|
||||
" from_strings([]) |> is_empty\n"
|
||||
" // -> True\n"
|
||||
" ```\n"
|
||||
).
|
||||
-spec is_empty(string_tree()) -> boolean().
|
||||
is_empty(Tree) ->
|
||||
string:is_empty(Tree).
|
||||
Loading…
Add table
Add a link
Reference in a new issue