Skip to content

Commit af2db11

Browse files
prefer string iteration over Array.from in _codePointAt FFI function
1 parent 5490d46 commit af2db11

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

src/Data/String/CodePoints.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,17 @@ exports._codePointAt = function (fallback) {
2424
return function (str) {
2525
var length = str.length;
2626
if (index < 0 || index >= length) return Nothing;
27-
if (hasArrayFrom) {
28-
var cps = Array.from(str);
29-
if (index >= cps.length) return Nothing;
30-
return Just(unsafeCodePointAt0(cps[index]));
31-
} else if (hasStringIterator) {
27+
if (hasStringIterator) {
3228
var iter = str[Symbol.iterator]();
3329
for (var i = index;; --i) {
3430
var o = iter.next();
3531
if (o.done) return Nothing;
3632
if (i === 0) return Just(unsafeCodePointAt0(o.value));
3733
}
34+
} else if (hasArrayFrom) {
35+
var cps = Array.from(str);
36+
if (index >= cps.length) return Nothing;
37+
return Just(unsafeCodePointAt0(cps[index]));
3838
}
3939
return fallback(index)(str);
4040
};

0 commit comments

Comments
 (0)