aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/gleam/regex.gleam11
-rw-r--r--src/gleam_stdlib.mjs4
2 files changed, 5 insertions, 10 deletions
diff --git a/src/gleam/regex.gleam b/src/gleam/regex.gleam
index b72a02e..eecb3ec 100644
--- a/src/gleam/regex.gleam
+++ b/src/gleam/regex.gleam
@@ -127,19 +127,10 @@ pub fn split(with regex: Regex, content string: String) -> List(String) {
do_split(regex, string)
}
-@target(erlang)
@external(erlang, "gleam_stdlib", "regex_split")
+@external(javascript, "../gleam_stdlib.mjs", "regex_split")
fn do_split(a: Regex, b: String) -> List(String)
-@target(javascript)
-fn do_split(regex, string) -> List(String) {
- js_split(string, regex)
-}
-
-@target(javascript)
-@external(javascript, "../gleam_stdlib.mjs", "split")
-fn js_split(a: String, b: Regex) -> List(String)
-
/// Collects all matches of the regular expression.
///
/// ## Examples
diff --git a/src/gleam_stdlib.mjs b/src/gleam_stdlib.mjs
index 40fcc3f..d921c63 100644
--- a/src/gleam_stdlib.mjs
+++ b/src/gleam_stdlib.mjs
@@ -402,6 +402,10 @@ export function compile_regex(pattern, options) {
}
}
+export function regex_split(regex, string) {
+ return List.fromArray(string.split(regex).map(item => item === undefined ? "" : item));
+}
+
export function regex_scan(regex, string) {
const matches = Array.from(string.matchAll(regex)).map((match) => {
const content = match[0];