diff options
author | Louis Pilfold <louis@lpil.uk> | 2019-05-29 21:02:55 +0100 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2019-06-02 21:12:59 +0100 |
commit | 5a1f3494eb9517a7b7a332cb74dd10a6a7d32d31 (patch) | |
tree | 5d0d281c66cf71c6e3ca880e6621138a71b95e7b /src/std/string.gleam | |
parent | ee03f5a0465e176e220060164a5ffc408f73ed0d (diff) | |
download | gleam_stdlib-5a1f3494eb9517a7b7a332cb74dd10a6a7d32d31.tar.gz gleam_stdlib-5a1f3494eb9517a7b7a332cb74dd10a6a7d32d31.zip |
Enable namespaced modules
Diffstat (limited to 'src/std/string.gleam')
-rw-r--r-- | src/std/string.gleam | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/std/string.gleam b/src/std/string.gleam new file mode 100644 index 0000000..9eacb37 --- /dev/null +++ b/src/std/string.gleam @@ -0,0 +1,36 @@ +import std/iodata +import std/list + +pub external fn length(String) -> Int = "string" "length" + +pub enum ParseError = + | ParseError + +pub external fn lowercase(String) -> String = "string" "lowercase" + +pub external fn uppercase(String) -> String = "string" "uppercase" + +pub fn reverse(string) { + string + |> iodata:new + |> iodata:reverse + |> iodata:to_string +} + +pub fn split(string, on) { + string + |> iodata:new + |> iodata:split(_, on) + |> list:map(_, iodata:to_string) +} + +pub fn replace(string, pattern, with) { + string + |> iodata:new + |> iodata:replace(_, pattern, with) + |> iodata:to_string +} + +pub fn append(s1, s2) { + iodata:new(s1) |> iodata:append(_, s2) |> iodata:to_string(_) +} |