mol_regexp 0.0.1019 → 0.0.1021
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/node.deps.json +1 -1
- package/node.test.js +41 -33
- package/node.test.js.map +1 -1
- package/package.json +1 -1
- package/web.deps.json +1 -1
- package/web.test.js +41 -33
- package/web.test.js.map +1 -1
package/node.deps.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"files":["mam.ts","LICENSE","README.md","yarn.lock","mam.jam.js","tsfmt.json","package.json","tsconfig.json","lang.lang.tree","meta.lang.tree","sandbox.config.json","mol/CNAME","mol/LICENSE","mol/readme.md","mol/index.html","mol/mol.meta.tree","mol/CONTRIBUTING.md","mol/CODE_OF_CONDUCT.md","mol/type/README.md","mol/type/equals/equals.ts","mol/type/merge/merge.ts","mol/type/intersect/intersect.ts","mol/type/override/override.ts","mol/fail/fail.ts","mol/unicode/unicode.ts","mol/regexp/README.md","mol/regexp/regexp.ts"],"mods":{},"deps_in":{"mol":{"mol/regexp":-9007199254740991,"mol/type":-9007199254740991,"mol/fail":-9007199254740991,"mol/unicode":-1},"":{"mol":-9007199254740991},"mol/type/merge":{"mol/regexp":-2},"mol/type":{"mol/type/merge":-9007199254740991,"mol/type/equals":-9007199254740991,"mol/type/intersect":-9007199254740991,"mol/type/override":-9007199254740991},"mol/type/equals":{"mol/type/merge":-3},"mol/type/intersect":{"mol/regexp":-2},"mol/type/override":{"mol/regexp":-2},"mol/fail":{"mol/regexp":-4},"mol/unicode":{"mol/regexp":-2}},"deps_out":{"mol/regexp":{"mol":-9007199254740991,"mol/type/merge":-2,"mol/type/intersect":-2,"mol/type/override":-2,"mol/fail":-4,"mol/unicode":-2},"mol":{"":-9007199254740991},"mol/type/merge":{"mol/type":-9007199254740991,"mol/type/equals":-3},"mol/type":{"mol":-9007199254740991},"mol/type/equals":{"mol/type":-9007199254740991},"mol/type/intersect":{"mol/type":-9007199254740991},"mol/type/override":{"mol/type":-9007199254740991},"mol/fail":{"mol":-9007199254740991},"mol/unicode":{"mol":-1}},"sloc":{"ts":707,"LICENSE":113,"md":718,"lock":974,"js":9,"json":
|
|
1
|
+
{"files":["mam.ts","LICENSE","README.md","yarn.lock","mam.jam.js","tsfmt.json","package.json","tsconfig.json","lang.lang.tree","meta.lang.tree","sandbox.config.json","mol/CNAME","mol/LICENSE","mol/readme.md","mol/index.html","mol/mol.meta.tree","mol/CONTRIBUTING.md","mol/CODE_OF_CONDUCT.md","mol/type/README.md","mol/type/equals/equals.ts","mol/type/merge/merge.ts","mol/type/intersect/intersect.ts","mol/type/override/override.ts","mol/fail/fail.ts","mol/unicode/unicode.ts","mol/regexp/README.md","mol/regexp/regexp.ts"],"mods":{},"deps_in":{"mol":{"mol/regexp":-9007199254740991,"mol/type":-9007199254740991,"mol/fail":-9007199254740991,"mol/unicode":-1},"":{"mol":-9007199254740991},"mol/type/merge":{"mol/regexp":-2},"mol/type":{"mol/type/merge":-9007199254740991,"mol/type/equals":-9007199254740991,"mol/type/intersect":-9007199254740991,"mol/type/override":-9007199254740991},"mol/type/equals":{"mol/type/merge":-3},"mol/type/intersect":{"mol/regexp":-2},"mol/type/override":{"mol/regexp":-2},"mol/fail":{"mol/regexp":-4},"mol/unicode":{"mol/regexp":-2}},"deps_out":{"mol/regexp":{"mol":-9007199254740991,"mol/type/merge":-2,"mol/type/intersect":-2,"mol/type/override":-2,"mol/fail":-4,"mol/unicode":-2},"mol":{"":-9007199254740991},"mol/type/merge":{"mol/type":-9007199254740991,"mol/type/equals":-3},"mol/type":{"mol":-9007199254740991},"mol/type/equals":{"mol/type":-9007199254740991},"mol/type/intersect":{"mol/type":-9007199254740991},"mol/type/override":{"mol/type":-9007199254740991},"mol/fail":{"mol":-9007199254740991},"mol/unicode":{"mol":-1}},"sloc":{"ts":707,"LICENSE":113,"md":718,"lock":974,"js":9,"json":93,"tree":41,"CNAME":1,"html":1},"deps":{"mol/regexp":{"..":-9007199254740991,"/mol/regexp/source":-1,"/mol/regexp/groups":-1,"/mol/type/merge":-2,"/mol/type/intersect":-2,"/mol/type/override":-2,"/mol/regexp":-1,"/mol/regexp/from":-2,"/mol/fail":-4,"/mol/regexp/repeat/greedy":-3,"/mol/regexp/optional":-5,"/mol/unicode/category":-2},"mol":{"..":-9007199254740991},"":{},"mol/type/merge":{"..":-9007199254740991,"/mol/type/merge":-1,"/mol/type/merge/object":-1,"/mol/type/equals":-3},"mol/type":{"..":-9007199254740991},"mol/type/equals":{"..":-9007199254740991,"/mol/type/equals":-1},"mol/type/intersect":{"..":-9007199254740991,"/mol/type/intersect":-1},"mol/type/override":{"..":-9007199254740991,"/mol/type/override":-1},"mol/fail":{"..":-9007199254740991,"/mol/fail":-1},"mol/unicode":{"..":-9007199254740991,"/mol/unicode/category":-1,"/mol/unicode/category/binary":-1,"/mol/char/category/general":-1,"/mol/unicode/category/script":-1}}}
|
package/node.test.js
CHANGED
|
@@ -958,7 +958,12 @@ var $;
|
|
|
958
958
|
var $;
|
|
959
959
|
(function ($) {
|
|
960
960
|
function $mol_range2(item = index => index, size = () => Number.POSITIVE_INFINITY) {
|
|
961
|
-
|
|
961
|
+
const source = typeof item === 'function' ? new $mol_range2_array() : item;
|
|
962
|
+
if (typeof item !== 'function') {
|
|
963
|
+
item = index => source[index];
|
|
964
|
+
size = () => source.length;
|
|
965
|
+
}
|
|
966
|
+
return new Proxy(source, {
|
|
962
967
|
get(target, field) {
|
|
963
968
|
if (typeof field === 'string') {
|
|
964
969
|
if (field === 'length')
|
|
@@ -971,7 +976,7 @@ var $;
|
|
|
971
976
|
if (index === Math.trunc(index))
|
|
972
977
|
return item(index);
|
|
973
978
|
}
|
|
974
|
-
return
|
|
979
|
+
return $mol_range2_array.prototype[field];
|
|
975
980
|
},
|
|
976
981
|
set(target, field) {
|
|
977
982
|
return $mol_fail(new TypeError(`Lazy range is read only (trying to set field ${JSON.stringify(field)})`));
|
|
@@ -1012,13 +1017,16 @@ var $;
|
|
|
1012
1017
|
return $mol_range2(index => index < this.length ? this[index] : tail[0][index - this.length], () => this.length + tail[0].length);
|
|
1013
1018
|
}
|
|
1014
1019
|
filter(check, context) {
|
|
1015
|
-
const filtered =
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1020
|
+
const filtered = [];
|
|
1021
|
+
let cursor = -1;
|
|
1022
|
+
return $mol_range2(index => {
|
|
1023
|
+
while (cursor < this.length && index >= filtered.length - 1) {
|
|
1024
|
+
const val = this[++cursor];
|
|
1025
|
+
if (check(val, cursor, this))
|
|
1026
|
+
filtered.push(val);
|
|
1027
|
+
}
|
|
1028
|
+
return filtered[index];
|
|
1029
|
+
}, () => cursor < this.length ? Number.POSITIVE_INFINITY : filtered.length);
|
|
1022
1030
|
}
|
|
1023
1031
|
forEach(proceed, context) {
|
|
1024
1032
|
for (let [key, value] of this.entries())
|
|
@@ -1078,7 +1086,7 @@ var $;
|
|
|
1078
1086
|
'lazy calls'() {
|
|
1079
1087
|
let calls = 0;
|
|
1080
1088
|
const list = $mol_range2(index => (++calls, index), () => 10);
|
|
1081
|
-
$
|
|
1089
|
+
$mol_assert_equal(true, list instanceof Array);
|
|
1082
1090
|
$mol_assert_equal(list.length, 10);
|
|
1083
1091
|
$mol_assert_equal(list[-1], undefined);
|
|
1084
1092
|
$mol_assert_equal(list[0], 0);
|
|
@@ -1121,11 +1129,17 @@ var $;
|
|
|
1121
1129
|
$mol_range2(i => i, () => 5).forEach(i => log += i);
|
|
1122
1130
|
$mol_assert_equal(log, '01234');
|
|
1123
1131
|
},
|
|
1132
|
+
'reduce'() {
|
|
1133
|
+
let calls = 0;
|
|
1134
|
+
const list = $mol_range2().slice(1, 6);
|
|
1135
|
+
$mol_assert_equal(list.reduce((s, v) => s + v), 15);
|
|
1136
|
+
$mol_assert_equal(list.reduce((s, v) => s + v, 5), 20);
|
|
1137
|
+
},
|
|
1124
1138
|
'lazy concat'() {
|
|
1125
1139
|
let calls1 = 0;
|
|
1126
1140
|
let calls2 = 0;
|
|
1127
1141
|
const list = $mol_range2(index => (++calls1, index), () => 5).concat([0, 1, 2, 3, 4], $mol_range2(index => (++calls2, index), () => 5));
|
|
1128
|
-
$
|
|
1142
|
+
$mol_assert_equal(true, list instanceof Array);
|
|
1129
1143
|
$mol_assert_equal(list.length, 15);
|
|
1130
1144
|
$mol_assert_equal(list[0], 0);
|
|
1131
1145
|
$mol_assert_equal(list[4], 4);
|
|
@@ -1137,32 +1151,26 @@ var $;
|
|
|
1137
1151
|
$mol_assert_equal(calls1, 2);
|
|
1138
1152
|
$mol_assert_equal(calls2, 2);
|
|
1139
1153
|
},
|
|
1140
|
-
'filter'() {
|
|
1154
|
+
'lazy filter'() {
|
|
1141
1155
|
let calls = 0;
|
|
1142
|
-
const list = $mol_range2(index => (++calls, index), () =>
|
|
1143
|
-
$
|
|
1156
|
+
const list = $mol_range2(index => (++calls, index), () => 15).filter(v => v % 2).slice(0, 3);
|
|
1157
|
+
$mol_assert_equal(true, list instanceof Array);
|
|
1144
1158
|
$mol_assert_equal(list.length, 3);
|
|
1145
1159
|
$mol_assert_equal(list[0], 1);
|
|
1146
1160
|
$mol_assert_equal(list[2], 5);
|
|
1147
1161
|
$mol_assert_equal(list[3], undefined);
|
|
1148
|
-
$mol_assert_equal(calls,
|
|
1162
|
+
$mol_assert_equal(calls, 8);
|
|
1149
1163
|
},
|
|
1150
|
-
'reverse'() {
|
|
1164
|
+
'lazy reverse'() {
|
|
1151
1165
|
let calls = 0;
|
|
1152
1166
|
const list = $mol_range2(index => (++calls, index), () => 10).toReversed().slice(0, 3);
|
|
1153
|
-
$
|
|
1167
|
+
$mol_assert_equal(true, list instanceof Array);
|
|
1154
1168
|
$mol_assert_equal(list.length, 3);
|
|
1155
1169
|
$mol_assert_equal(list[0], 9);
|
|
1156
1170
|
$mol_assert_equal(list[2], 7);
|
|
1157
1171
|
$mol_assert_equal(list[3], undefined);
|
|
1158
1172
|
$mol_assert_equal(calls, 2);
|
|
1159
1173
|
},
|
|
1160
|
-
'reduce'() {
|
|
1161
|
-
let calls = 0;
|
|
1162
|
-
const list = $mol_range2().slice(1, 6);
|
|
1163
|
-
$mol_assert_equal(list.reduce((s, v) => s + v), 15);
|
|
1164
|
-
$mol_assert_equal(list.reduce((s, v) => s + v, 5), 20);
|
|
1165
|
-
},
|
|
1166
1174
|
'lazy map'() {
|
|
1167
1175
|
let calls1 = 0;
|
|
1168
1176
|
let calls2 = 0;
|
|
@@ -1172,7 +1180,7 @@ var $;
|
|
|
1172
1180
|
$mol_assert_equal(source, self);
|
|
1173
1181
|
return index + 10;
|
|
1174
1182
|
}, () => 5);
|
|
1175
|
-
$
|
|
1183
|
+
$mol_assert_equal(true, target instanceof Array);
|
|
1176
1184
|
$mol_assert_equal(target.length, 5);
|
|
1177
1185
|
$mol_assert_equal(target[0], 10);
|
|
1178
1186
|
$mol_assert_equal(target[4], 14);
|
|
@@ -1183,7 +1191,7 @@ var $;
|
|
|
1183
1191
|
'lazy slice'() {
|
|
1184
1192
|
let calls = 0;
|
|
1185
1193
|
const list = $mol_range2(index => (++calls, index), () => 10).slice(3, 7);
|
|
1186
|
-
$
|
|
1194
|
+
$mol_assert_equal(true, list instanceof Array);
|
|
1187
1195
|
$mol_assert_equal(list.length, 4);
|
|
1188
1196
|
$mol_assert_equal(list[0], 3);
|
|
1189
1197
|
$mol_assert_equal(list[3], 6);
|
|
@@ -1192,22 +1200,22 @@ var $;
|
|
|
1192
1200
|
},
|
|
1193
1201
|
'lazy some'() {
|
|
1194
1202
|
let calls = 0;
|
|
1195
|
-
$
|
|
1203
|
+
$mol_assert_equal(true, $mol_range2(index => (++calls, index), () => 5).some(v => v >= 2));
|
|
1196
1204
|
$mol_assert_equal(calls, 3);
|
|
1197
|
-
$
|
|
1198
|
-
$
|
|
1205
|
+
$mol_assert_equal(false, $mol_range2(i => i, () => 0).some(v => true));
|
|
1206
|
+
$mol_assert_equal(true, $mol_range2(i => i).some(v => v > 5));
|
|
1199
1207
|
},
|
|
1200
1208
|
'lazy every'() {
|
|
1201
1209
|
let calls = 0;
|
|
1202
|
-
$
|
|
1210
|
+
$mol_assert_equal(false, $mol_range2(index => (++calls, index), () => 5).every(v => v < 2));
|
|
1203
1211
|
$mol_assert_equal(calls, 3);
|
|
1204
|
-
$
|
|
1205
|
-
$
|
|
1212
|
+
$mol_assert_equal(true, $mol_range2(i => i, () => 0).every(v => false));
|
|
1213
|
+
$mol_assert_equal(false, $mol_range2(i => i).every(v => v < 5));
|
|
1206
1214
|
},
|
|
1207
1215
|
'lazyfy'() {
|
|
1208
1216
|
let calls = 0;
|
|
1209
|
-
const list =
|
|
1210
|
-
$
|
|
1217
|
+
const list = $mol_range2([0, 1, 2, 3, 4, 5]).map(i => (++calls, i + 10)).slice(2);
|
|
1218
|
+
$mol_assert_equal(true, list instanceof Array);
|
|
1211
1219
|
$mol_assert_equal(list.length, 4);
|
|
1212
1220
|
$mol_assert_equal(calls, 0);
|
|
1213
1221
|
$mol_assert_equal(list[0], 12);
|