aboutsummaryrefslogtreecommitdiff
path: root/src/std/string.gleam
diff options
context:
space:
mode:
authorLouis Pilfold <louis@lpil.uk>2019-05-29 21:02:55 +0100
committerLouis Pilfold <louis@lpil.uk>2019-06-02 21:12:59 +0100
commit5a1f3494eb9517a7b7a332cb74dd10a6a7d32d31 (patch)
tree5d0d281c66cf71c6e3ca880e6621138a71b95e7b /src/std/string.gleam
parentee03f5a0465e176e220060164a5ffc408f73ed0d (diff)
downloadgleam_stdlib-5a1f3494eb9517a7b7a332cb74dd10a6a7d32d31.tar.gz
gleam_stdlib-5a1f3494eb9517a7b7a332cb74dd10a6a7d32d31.zip
Enable namespaced modules
Diffstat (limited to 'src/std/string.gleam')
-rw-r--r--src/std/string.gleam36
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(_)
+}