diff options
author | Louis Pilfold <louis@lpil.uk> | 2023-12-02 22:17:41 +0000 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2023-12-02 22:20:38 +0000 |
commit | fe9535c8f7d8eb8c80d573fd688bd02812acb6f0 (patch) | |
tree | e28f399bd1aead83d4356a67c033bc3b2e583745 /src | |
parent | a785f86f408ae4ef70baef80f68750309c54f806 (diff) | |
download | gleam_stdlib-fe9535c8f7d8eb8c80d573fd688bd02812acb6f0.tar.gz gleam_stdlib-fe9535c8f7d8eb8c80d573fd688bd02812acb6f0.zip |
Fix to_graphemes on JS when Intl.Segmenter not available
Diffstat (limited to 'src')
-rw-r--r-- | src/gleam_stdlib.mjs | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/gleam_stdlib.mjs b/src/gleam_stdlib.mjs index a908b23..45c28cf 100644 --- a/src/gleam_stdlib.mjs +++ b/src/gleam_stdlib.mjs @@ -147,9 +147,12 @@ export function string_length(string) { } export function graphemes(string) { - return List.fromArray( - Array.from(graphemes_iterator(string)).map((item) => item.segment) - ); + const iterator = graphemes_iterator(string); + if (iterator) { + return List.fromArray(Array.from(iterator).map((item) => item.segment)); + } else { + return List.fromArray(string.match(/./gsu)); + } } function graphemes_iterator(string) { |