aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrikashore <aarav.navani@gmail.com>2022-10-27 20:34:59 +0530
committerLouis Pilfold <louis@lpil.uk>2022-10-27 16:42:06 +0100
commit0815f86e9e58c7d8664c9e8337afc03d08032860 (patch)
tree3fbc5813c46668ba70059e64a272dba80fb99688
parentb4e64dffae62400028dbcc0906c2dde5fdc25ccc (diff)
downloadgleam_stdlib-0815f86e9e58c7d8664c9e8337afc03d08032860.tar.gz
gleam_stdlib-0815f86e9e58c7d8664c9e8337afc03d08032860.zip
implement join for string_builder
-rw-r--r--src/gleam/string_builder.gleam8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gleam/string_builder.gleam b/src/gleam/string_builder.gleam
index 616da74..4db332c 100644
--- a/src/gleam/string_builder.gleam
+++ b/src/gleam/string_builder.gleam
@@ -1,3 +1,5 @@
+import gleam/list
+
/// `StringBuilder` is a type used for efficiently building strings.
///
/// When we append one string to another the strings must be copied to a
@@ -161,6 +163,12 @@ if javascript {
"../gleam_stdlib.mjs" "length"
}
+pub fn join(builders: List(StringBuilder), with sep: String) -> StringBuilder {
+ builders
+ |> list.intersperse(from_string(sep))
+ |> concat
+}
+
/// Converts a builder to a new builder where the contents have been
/// lowercased.
///