From 38aaa2aa6aba8dcaffea28192567c983a5a10853 Mon Sep 17 00:00:00 2001 From: PgBiel <9021226+PgBiel@users.noreply.github.com> Date: Mon, 15 Apr 2024 20:29:38 -0300 Subject: fix matching split returning list with Nil on JS --- src/gleam/regex.gleam | 11 +---------- src/gleam_stdlib.mjs | 4 ++++ 2 files changed, 5 insertions(+), 10 deletions(-) (limited to 'src') 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]; -- cgit v1.2.3