occam-languages 2.1.13 → 2.1.15
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/lib/utilities/continuation.js +19 -39
- package/package.json +1 -1
- package/src/utilities/continuation.js +29 -47
|
@@ -9,9 +9,6 @@ function _export(target, all) {
|
|
|
9
9
|
});
|
|
10
10
|
}
|
|
11
11
|
_export(exports, {
|
|
12
|
-
get all () {
|
|
13
|
-
return all;
|
|
14
|
-
},
|
|
15
12
|
get backwardsEvery () {
|
|
16
13
|
return backwardsEvery;
|
|
17
14
|
},
|
|
@@ -33,9 +30,6 @@ _export(exports, {
|
|
|
33
30
|
get match () {
|
|
34
31
|
return match;
|
|
35
32
|
},
|
|
36
|
-
get one () {
|
|
37
|
-
return one;
|
|
38
|
-
},
|
|
39
33
|
get reduce () {
|
|
40
34
|
return reduce;
|
|
41
35
|
},
|
|
@@ -48,18 +42,6 @@ _export(exports, {
|
|
|
48
42
|
});
|
|
49
43
|
const _necessary = require("necessary");
|
|
50
44
|
const { first: arrayFirst, filter: arrayFilter } = _necessary.arrayUtilities, { forEach: asynchronousForEach, forwardsForEach: asynchronousForwardsForEach, backwardsForEach: asynchronousBackwardsForEach } = _necessary.asynchronousUtilities;
|
|
51
|
-
function one(callbacks, ...remainingArguments) {
|
|
52
|
-
const continuation = remainingArguments.pop();
|
|
53
|
-
some(callbacks, (callback, continuation)=>{
|
|
54
|
-
callback(...remainingArguments, continuation);
|
|
55
|
-
}, continuation);
|
|
56
|
-
}
|
|
57
|
-
function all(callbacks, ...remainingArguments) {
|
|
58
|
-
const continuation = remainingArguments.pop();
|
|
59
|
-
every(callbacks, (callback, continuation)=>{
|
|
60
|
-
callback(...remainingArguments, continuation);
|
|
61
|
-
}, continuation);
|
|
62
|
-
}
|
|
63
45
|
function some(array, callback, ...remainingArguments) {
|
|
64
46
|
let success = false;
|
|
65
47
|
const continuation = remainingArguments.pop();
|
|
@@ -92,6 +74,23 @@ function every(array, callback, ...remainingArguments) {
|
|
|
92
74
|
continuation(success);
|
|
93
75
|
});
|
|
94
76
|
}
|
|
77
|
+
function match(arrayA, arrayB, callback, ...remainingArguments) {
|
|
78
|
+
const continuation = remainingArguments.pop(), arrayALength = arrayA.length, arrayBLength = arrayB.length;
|
|
79
|
+
if (arrayALength !== arrayBLength) {
|
|
80
|
+
const matches = false;
|
|
81
|
+
continuation(matches);
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
let index = -1;
|
|
85
|
+
every(arrayA, (elementA, continuation)=>{
|
|
86
|
+
index++;
|
|
87
|
+
const elementB = arrayB[index];
|
|
88
|
+
callback(elementA, elementB, ...remainingArguments, continuation);
|
|
89
|
+
}, (success)=>{
|
|
90
|
+
const matches = success; ///
|
|
91
|
+
continuation(matches);
|
|
92
|
+
});
|
|
93
|
+
}
|
|
95
94
|
function reduce(array, initialValue, callback, ...remainingArguments) {
|
|
96
95
|
let value = initialValue; ///
|
|
97
96
|
const continuation = remainingArguments.pop();
|
|
@@ -129,23 +128,6 @@ function extract(array, callback, ...remainingArguments) {
|
|
|
129
128
|
continuation(deletedElement);
|
|
130
129
|
});
|
|
131
130
|
}
|
|
132
|
-
function match(arrayA, arrayB, callback, ...remainingArguments) {
|
|
133
|
-
const continuation = remainingArguments.pop(), arrayALength = arrayA.length, arrayBLength = arrayB.length;
|
|
134
|
-
if (arrayALength !== arrayBLength) {
|
|
135
|
-
const matches = false;
|
|
136
|
-
continuation(matches);
|
|
137
|
-
return;
|
|
138
|
-
}
|
|
139
|
-
let index = -1;
|
|
140
|
-
every(arrayA, (elementA, continuation)=>{
|
|
141
|
-
index++;
|
|
142
|
-
const elementB = arrayB[index];
|
|
143
|
-
callback(elementA, elementB, ...remainingArguments, continuation);
|
|
144
|
-
}, (success)=>{
|
|
145
|
-
const matches = success; ///
|
|
146
|
-
continuation(matches);
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
131
|
function resolve(arrayA, arrayB, callback, ...remainingArguments) {
|
|
150
132
|
arrayA = [
|
|
151
133
|
...arrayA
|
|
@@ -225,17 +207,15 @@ function backwardsEvery(array, callback, ...remainingArguments) {
|
|
|
225
207
|
});
|
|
226
208
|
}
|
|
227
209
|
const _default = {
|
|
228
|
-
one,
|
|
229
|
-
all,
|
|
230
210
|
some,
|
|
231
211
|
every,
|
|
212
|
+
match,
|
|
232
213
|
reduce,
|
|
233
214
|
forEach,
|
|
234
215
|
extract,
|
|
235
|
-
match,
|
|
236
216
|
resolve,
|
|
237
217
|
forwardsEvery,
|
|
238
218
|
backwardsEvery
|
|
239
219
|
};
|
|
240
220
|
|
|
241
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29udGludWF0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcywgYXN5bmNocm9ub3VzVXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5jb25zdCB7IGZpcnN0OiBhcnJheUZpcnN0LCBmaWx0ZXI6IGFycmF5RmlsdGVyIH0gPSBhcnJheVV0aWxpdGllcyxcbiAgICAgIHsgZm9yRWFjaDogYXN5bmNocm9ub3VzRm9yRWFjaCxcbiAgICAgICAgZm9yd2FyZHNGb3JFYWNoOiBhc3luY2hyb25vdXNGb3J3YXJkc0ZvckVhY2gsXG4gICAgICAgIGJhY2t3YXJkc0ZvckVhY2g6IGFzeW5jaHJvbm91c0JhY2t3YXJkc0ZvckVhY2ggfSA9IGFzeW5jaHJvbm91c1V0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIG9uZShjYWxsYmFja3MsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgc29tZShjYWxsYmFja3MsIChjYWxsYmFjaywgY29udGludWF0aW9uKSA9PiB7XG4gICAgY2FsbGJhY2soLi4ucmVtYWluaW5nQXJndW1lbnRzLCBjb250aW51YXRpb24pO1xuICB9LCBjb250aW51YXRpb24pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYWxsKGNhbGxiYWNrcywgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gIGNvbnN0IGNvbnRpbnVhdGlvbiA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICBldmVyeShjYWxsYmFja3MsIChjYWxsYmFjaywgY29udGludWF0aW9uKSA9PiB7XG4gICAgY2FsbGJhY2soLi4ucmVtYWluaW5nQXJndW1lbnRzLCBjb250aW51YXRpb24pO1xuICB9LCBjb250aW51YXRpb24pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc29tZShhcnJheSwgY2FsbGJhY2ssIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBsZXQgc3VjY2VzcyA9IGZhbHNlO1xuXG4gIGNvbnN0IGNvbnRpbnVhdGlvbiA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICBhc3luY2hyb25vdXNGb3JFYWNoKGFycmF5LCAoZWxlbWVudCwgbmV4dCwgZG9uZSkgPT4ge1xuICAgIGNhbGxiYWNrKGVsZW1lbnQsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgKHBhc3NlZCkgPT4ge1xuICAgICAgaWYgKHBhc3NlZCkge1xuICAgICAgICBzdWNjZXNzID0gdHJ1ZTtcblxuICAgICAgICBkb25lKCk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBuZXh0KCk7XG4gICAgfSk7XG4gIH0sICgpID0+IHtcbiAgICBjb250aW51YXRpb24oc3VjY2Vzcyk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXZlcnkoYXJyYXksIGNhbGxiYWNrLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgbGV0IHN1Y2Nlc3MgPSB0cnVlO1xuXG4gIGNvbnN0IGNvbnRpbnVhdGlvbiA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICBhc3luY2hyb25vdXNGb3JFYWNoKGFycmF5LCAoZWxlbWVudCwgbmV4dCwgZG9uZSkgPT4ge1xuICAgIGNhbGxiYWNrKGVsZW1lbnQsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgKHBhc3NlZCkgPT4ge1xuICAgICAgaWYgKCFwYXNzZWQpIHtcbiAgICAgICAgc3VjY2VzcyA9IGZhbHNlO1xuXG4gICAgICAgIGRvbmUoKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG5leHQoKTtcbiAgICB9KTtcbiAgfSwgKCkgPT4ge1xuICAgIGNvbnRpbnVhdGlvbihzdWNjZXNzKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWR1Y2UoYXJyYXksIGluaXRpYWxWYWx1ZSwgY2FsbGJhY2ssIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBsZXQgdmFsdWUgPSBpbml0aWFsVmFsdWU7IC8vL1xuXG4gIGNvbnN0IGNvbnRpbnVhdGlvbiA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICBhc3luY2hyb25vdXNGb3JFYWNoKGFycmF5LCAoZWxlbWVudCwgbmV4dCwgZG9uZSkgPT4ge1xuICAgIGNhbGxiYWNrKHZhbHVlLCBlbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIChjdXJyZW50VmFsdWUpID0+IHtcbiAgICAgIHZhbHVlID0gY3VycmVudFZhbHVlOyAgLy8vXG5cbiAgICAgIG5leHQoKTtcbiAgICB9KTtcbiAgfSwgKCkgPT4ge1xuICAgIGNvbnRpbnVhdGlvbih2YWx1ZSk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9yRWFjaChhcnJheSwgY2FsbGJhY2ssIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgYXN5bmNocm9ub3VzRm9yRWFjaChhcnJheSwgKGVsZW1lbnQsIG5leHQsIGRvbmUpID0+IHtcbiAgICBjYWxsYmFjayhlbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsICgpID0+IHtcbiAgICAgIG5leHQoKTtcbiAgICB9KTtcbiAgfSwgY29udGludWF0aW9uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3QoYXJyYXksIGNhbGxiYWNrLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgbGV0IGRlbGV0ZWRFbGVtZW50ID0gdW5kZWZpbmVkOyAvLy9cblxuICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgbGV0IGluZGV4ID0gLTE7XG5cbiAgc29tZShhcnJheSwgKGVsZW1lbnQsIGNvbnRpbnVhdGlvbikgPT4ge1xuICAgIGluZGV4Kys7XG5cbiAgICBjYWxsYmFjayhlbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIChwYXNzZWQpID0+IHtcbiAgICAgIGlmIChwYXNzZWQpIHtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSBpbmRleCwgIC8vL1xuICAgICAgICAgICAgICBkZWxldGVDb3VudCA9IDEsXG4gICAgICAgICAgICAgIGRlbGV0ZWRFbGVtZW50cyA9IGFycmF5LnNwbGljZShzdGFydCwgZGVsZXRlQ291bnQpLFxuICAgICAgICAgICAgICBmaXJzdERlbGV0ZWRFbGVtZW50ID0gYXJyYXlGaXJzdChkZWxldGVkRWxlbWVudHMpO1xuXG4gICAgICAgIGRlbGV0ZWRFbGVtZW50ID0gZmlyc3REZWxldGVkRWxlbWVudDsgIC8vL1xuICAgICAgfVxuXG4gICAgICBjb250aW51YXRpb24ocGFzc2VkKTtcbiAgICB9KTtcbiAgfSwgKCkgPT4ge1xuICAgIGNvbnRpbnVhdGlvbihkZWxldGVkRWxlbWVudCk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2goYXJyYXlBLCBhcnJheUIsIGNhbGxiYWNrLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgY29uc3QgY29udGludWF0aW9uID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpLFxuICAgIGFycmF5QUxlbmd0aCA9IGFycmF5QS5sZW5ndGgsXG4gICAgYXJyYXlCTGVuZ3RoID0gYXJyYXlCLmxlbmd0aDtcblxuICBpZiAoYXJyYXlBTGVuZ3RoICE9PSBhcnJheUJMZW5ndGgpIHtcbiAgICBjb25zdCBtYXRjaGVzID0gZmFsc2U7XG5cbiAgICBjb250aW51YXRpb24obWF0Y2hlcyk7XG5cbiAgICByZXR1cm47XG4gIH1cblxuICBsZXQgaW5kZXggPSAtMTtcblxuICBldmVyeShhcnJheUEsIChlbGVtZW50QSwgY29udGludWF0aW9uKSA9PiB7XG4gICAgaW5kZXgrKztcblxuICAgIGNvbnN0IGVsZW1lbnRCID0gYXJyYXlCW2luZGV4XTtcblxuICAgIGNhbGxiYWNrKGVsZW1lbnRBLCBlbGVtZW50QiwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCBjb250aW51YXRpb24pO1xuICB9LCAoc3VjY2VzcykgPT4ge1xuICAgIGNvbnN0IG1hdGNoZXMgPSBzdWNjZXNzOyAgLy8vXG5cbiAgICBjb250aW51YXRpb24obWF0Y2hlcyk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZShhcnJheUEsIGFycmF5QiwgY2FsbGJhY2ssIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBhcnJheUEgPSBbICAvLy9cbiAgICAuLi5hcnJheUFcbiAgXTtcblxuICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgZnVuY3Rpb24gbmV4dFBhc3MoKSB7XG4gICAgY29uc3QgYXJyYXlBTGVuZ3RoID0gYXJyYXlBLmxlbmd0aDtcblxuICAgIGlmIChhcnJheUFMZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnN0IHN1Y2Nlc3MgPSB0cnVlOyAgLy8vXG5cbiAgICAgIGNvbnRpbnVhdGlvbihzdWNjZXNzKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBzdWNjZXNzID0gZmFsc2U7XG5cbiAgICBsZXQgY291bnQgPSAtMTtcblxuICAgIGZ1bmN0aW9uIG5leHRFbGVtZW50KCkge1xuICAgICAgY291bnQrKztcblxuICAgICAgY29uc3QgdGVybWluYXRlID0gKGNvdW50ID09PSBhcnJheUFMZW5ndGgpO1xuXG4gICAgICBpZiAodGVybWluYXRlKSB7XG4gICAgICAgIGlmICghc3VjY2Vzcykge1xuICAgICAgICAgIGNvbnN0IHN1Y2Nlc3MgPSBmYWxzZTsgLy8vXG5cbiAgICAgICAgICBjb250aW51YXRpb24oc3VjY2Vzcyk7XG5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBhcnJheUZpbHRlcihhcnJheUEsIChlbGVtZW50QSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGFycmF5QkluY2x1ZGVzRWxlbWVudEEgPSBhcnJheUIuaW5jbHVkZXMoZWxlbWVudEEpO1xuXG4gICAgICAgICAgaWYgKCFhcnJheUJJbmNsdWRlc0VsZW1lbnRBKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG5leHRQYXNzKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBpbmRleCA9IGNvdW50LCAgLy8vXG4gICAgICAgICAgICAgIGVsZW1lbnRBID0gYXJyYXlBW2luZGV4XTtcblxuICAgICAgICBjYWxsYmFjayhlbGVtZW50QSwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCAocGFzc2VkKSA9PiB7XG4gICAgICAgICAgaWYgKHBhc3NlZCkge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudEIgPSBlbGVtZW50QTsgIC8vL1xuXG4gICAgICAgICAgICBhcnJheUIucHVzaChlbGVtZW50Qik7XG5cbiAgICAgICAgICAgIHN1Y2Nlc3MgPSB0cnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG5leHRFbGVtZW50KCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIG5leHRFbGVtZW50KCk7XG4gIH1cblxuICBuZXh0UGFzcygpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9yd2FyZHNFdmVyeShhcnJheSwgY2FsbGJhY2ssIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBsZXQgc3VjY2VzcyA9IHRydWU7XG5cbiAgY29uc3QgY29udGludWF0aW9uID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpO1xuXG4gIGFzeW5jaHJvbm91c0ZvcndhcmRzRm9yRWFjaChhcnJheSwgKGVsZW1lbnQsIG5leHQsIGRvbmUpID0+IHtcbiAgICBjYWxsYmFjayhlbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIChwYXNzZWQpID0+IHtcbiAgICAgIGlmICghcGFzc2VkKSB7XG4gICAgICAgIHN1Y2Nlc3MgPSBmYWxzZTtcblxuICAgICAgICBkb25lKCk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBuZXh0KCk7XG4gICAgfSk7XG4gIH0sICgpID0+IHtcbiAgICBjb250aW51YXRpb24oc3VjY2Vzcyk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYmFja3dhcmRzRXZlcnkoYXJyYXksIGNhbGxiYWNrLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgbGV0IHN1Y2Nlc3MgPSB0cnVlO1xuXG4gIGNvbnN0IGNvbnRpbnVhdGlvbiA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICBhc3luY2hyb25vdXNCYWNrd2FyZHNGb3JFYWNoKGFycmF5LCAoZWxlbWVudCwgbmV4dCwgZG9uZSkgPT4ge1xuICAgIGNhbGxiYWNrKGVsZW1lbnQsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgKHBhc3NlZCkgPT4ge1xuICAgICAgaWYgKCFwYXNzZWQpIHtcbiAgICAgICAgc3VjY2VzcyA9IGZhbHNlO1xuXG4gICAgICAgIGRvbmUoKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG5leHQoKTtcbiAgICB9KTtcbiAgfSwgKCkgPT4ge1xuICAgIGNvbnRpbnVhdGlvbihzdWNjZXNzKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgb25lLFxuICBhbGwsXG4gIHNvbWUsXG4gIGV2ZXJ5LFxuICByZWR1Y2UsXG4gIGZvckVhY2gsXG4gIGV4dHJhY3QsXG4gIG1hdGNoLFxuICByZXNvbHZlLFxuICBmb3J3YXJkc0V2ZXJ5LFxuICBiYWNrd2FyZHNFdmVyeVxufVxuIl0sIm5hbWVzIjpbImFsbCIsImJhY2t3YXJkc0V2ZXJ5IiwiZXZlcnkiLCJleHRyYWN0IiwiZm9yRWFjaCIsImZvcndhcmRzRXZlcnkiLCJtYXRjaCIsIm9uZSIsInJlZHVjZSIsInJlc29sdmUiLCJzb21lIiwiZmlyc3QiLCJhcnJheUZpcnN0IiwiZmlsdGVyIiwiYXJyYXlGaWx0ZXIiLCJhcnJheVV0aWxpdGllcyIsImFzeW5jaHJvbm91c0ZvckVhY2giLCJmb3J3YXJkc0ZvckVhY2giLCJhc3luY2hyb25vdXNGb3J3YXJkc0ZvckVhY2giLCJiYWNrd2FyZHNGb3JFYWNoIiwiYXN5bmNocm9ub3VzQmFja3dhcmRzRm9yRWFjaCIsImFzeW5jaHJvbm91c1V0aWxpdGllcyIsImNhbGxiYWNrcyIsInJlbWFpbmluZ0FyZ3VtZW50cyIsImNvbnRpbnVhdGlvbiIsInBvcCIsImNhbGxiYWNrIiwiYXJyYXkiLCJzdWNjZXNzIiwiZWxlbWVudCIsIm5leHQiLCJkb25lIiwicGFzc2VkIiwiaW5pdGlhbFZhbHVlIiwidmFsdWUiLCJjdXJyZW50VmFsdWUiLCJkZWxldGVkRWxlbWVudCIsInVuZGVmaW5lZCIsImluZGV4Iiwic3RhcnQiLCJkZWxldGVDb3VudCIsImRlbGV0ZWRFbGVtZW50cyIsInNwbGljZSIsImZpcnN0RGVsZXRlZEVsZW1lbnQiLCJhcnJheUEiLCJhcnJheUIiLCJhcnJheUFMZW5ndGgiLCJsZW5ndGgiLCJhcnJheUJMZW5ndGgiLCJtYXRjaGVzIiwiZWxlbWVudEEiLCJlbGVtZW50QiIsIm5leHRQYXNzIiwiY291bnQiLCJuZXh0RWxlbWVudCIsInRlcm1pbmF0ZSIsImFycmF5QkluY2x1ZGVzRWxlbWVudEEiLCJpbmNsdWRlcyIsInB1c2giXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQWlCZ0JBO2VBQUFBOztRQWdPQUM7ZUFBQUE7O1FBc0JoQjtlQUFBOztRQXhOZ0JDO2VBQUFBOztRQWdEQUM7ZUFBQUE7O1FBVkFDO2VBQUFBOztRQXNJQUM7ZUFBQUE7O1FBakdBQztlQUFBQTs7UUFqSEFDO2VBQUFBOztRQTREQUM7ZUFBQUE7O1FBaUZBQztlQUFBQTs7UUE3SEFDO2VBQUFBOzs7MkJBdkJzQztBQUV0RCxNQUFNLEVBQUVDLE9BQU9DLFVBQVUsRUFBRUMsUUFBUUMsV0FBVyxFQUFFLEdBQUdDLHlCQUFjLEVBQzNELEVBQUVYLFNBQVNZLG1CQUFtQixFQUM1QkMsaUJBQWlCQywyQkFBMkIsRUFDNUNDLGtC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
|
|
221
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29udGludWF0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcywgYXN5bmNocm9ub3VzVXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5jb25zdCB7IGZpcnN0OiBhcnJheUZpcnN0LCBmaWx0ZXI6IGFycmF5RmlsdGVyIH0gPSBhcnJheVV0aWxpdGllcyxcbiAgICAgIHsgZm9yRWFjaDogYXN5bmNocm9ub3VzRm9yRWFjaCxcbiAgICAgICAgZm9yd2FyZHNGb3JFYWNoOiBhc3luY2hyb25vdXNGb3J3YXJkc0ZvckVhY2gsXG4gICAgICAgIGJhY2t3YXJkc0ZvckVhY2g6IGFzeW5jaHJvbm91c0JhY2t3YXJkc0ZvckVhY2ggfSA9IGFzeW5jaHJvbm91c1V0aWxpdGllcztcblxuZXhwb3J0IGZ1bmN0aW9uIHNvbWUoYXJyYXksIGNhbGxiYWNrLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgbGV0IHN1Y2Nlc3MgPSBmYWxzZTtcblxuICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgYXN5bmNocm9ub3VzRm9yRWFjaChhcnJheSwgKGVsZW1lbnQsIG5leHQsIGRvbmUpID0+IHtcbiAgICBjYWxsYmFjayhlbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIChwYXNzZWQpID0+IHtcbiAgICAgIGlmIChwYXNzZWQpIHtcbiAgICAgICAgc3VjY2VzcyA9IHRydWU7XG5cbiAgICAgICAgZG9uZSgpO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgbmV4dCgpO1xuICAgIH0pO1xuICB9LCAoKSA9PiB7XG4gICAgY29udGludWF0aW9uKHN1Y2Nlc3MpO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV2ZXJ5KGFycmF5LCBjYWxsYmFjaywgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gIGxldCBzdWNjZXNzID0gdHJ1ZTtcblxuICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgYXN5bmNocm9ub3VzRm9yRWFjaChhcnJheSwgKGVsZW1lbnQsIG5leHQsIGRvbmUpID0+IHtcbiAgICBjYWxsYmFjayhlbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIChwYXNzZWQpID0+IHtcbiAgICAgIGlmICghcGFzc2VkKSB7XG4gICAgICAgIHN1Y2Nlc3MgPSBmYWxzZTtcblxuICAgICAgICBkb25lKCk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBuZXh0KCk7XG4gICAgfSk7XG4gIH0sICgpID0+IHtcbiAgICBjb250aW51YXRpb24oc3VjY2Vzcyk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2goYXJyYXlBLCBhcnJheUIsIGNhbGxiYWNrLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgY29uc3QgY29udGludWF0aW9uID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpLFxuICAgICAgICBhcnJheUFMZW5ndGggPSBhcnJheUEubGVuZ3RoLFxuICAgICAgICBhcnJheUJMZW5ndGggPSBhcnJheUIubGVuZ3RoO1xuXG4gIGlmIChhcnJheUFMZW5ndGggIT09IGFycmF5Qkxlbmd0aCkge1xuICAgIGNvbnN0IG1hdGNoZXMgPSBmYWxzZTtcblxuICAgIGNvbnRpbnVhdGlvbihtYXRjaGVzKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGxldCBpbmRleCA9IC0xO1xuXG4gIGV2ZXJ5KGFycmF5QSwgKGVsZW1lbnRBLCBjb250aW51YXRpb24pID0+IHtcbiAgICBpbmRleCsrO1xuXG4gICAgY29uc3QgZWxlbWVudEIgPSBhcnJheUJbaW5kZXhdO1xuXG4gICAgY2FsbGJhY2soZWxlbWVudEEsIGVsZW1lbnRCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGNvbnRpbnVhdGlvbik7XG4gIH0sIChzdWNjZXNzKSA9PiB7XG4gICAgY29uc3QgbWF0Y2hlcyA9IHN1Y2Nlc3M7ICAvLy9cblxuICAgIGNvbnRpbnVhdGlvbihtYXRjaGVzKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWR1Y2UoYXJyYXksIGluaXRpYWxWYWx1ZSwgY2FsbGJhY2ssIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBsZXQgdmFsdWUgPSBpbml0aWFsVmFsdWU7IC8vL1xuXG4gIGNvbnN0IGNvbnRpbnVhdGlvbiA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICBhc3luY2hyb25vdXNGb3JFYWNoKGFycmF5LCAoZWxlbWVudCwgbmV4dCwgZG9uZSkgPT4ge1xuICAgIGNhbGxiYWNrKHZhbHVlLCBlbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIChjdXJyZW50VmFsdWUpID0+IHtcbiAgICAgIHZhbHVlID0gY3VycmVudFZhbHVlOyAgLy8vXG5cbiAgICAgIG5leHQoKTtcbiAgICB9KTtcbiAgfSwgKCkgPT4ge1xuICAgIGNvbnRpbnVhdGlvbih2YWx1ZSk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9yRWFjaChhcnJheSwgY2FsbGJhY2ssIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgYXN5bmNocm9ub3VzRm9yRWFjaChhcnJheSwgKGVsZW1lbnQsIG5leHQsIGRvbmUpID0+IHtcbiAgICBjYWxsYmFjayhlbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsICgpID0+IHtcbiAgICAgIG5leHQoKTtcbiAgICB9KTtcbiAgfSwgY29udGludWF0aW9uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGV4dHJhY3QoYXJyYXksIGNhbGxiYWNrLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgbGV0IGRlbGV0ZWRFbGVtZW50ID0gdW5kZWZpbmVkOyAvLy9cblxuICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgbGV0IGluZGV4ID0gLTE7XG5cbiAgc29tZShhcnJheSwgKGVsZW1lbnQsIGNvbnRpbnVhdGlvbikgPT4ge1xuICAgIGluZGV4Kys7XG5cbiAgICBjYWxsYmFjayhlbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIChwYXNzZWQpID0+IHtcbiAgICAgIGlmIChwYXNzZWQpIHtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSBpbmRleCwgIC8vL1xuICAgICAgICAgICAgICBkZWxldGVDb3VudCA9IDEsXG4gICAgICAgICAgICAgIGRlbGV0ZWRFbGVtZW50cyA9IGFycmF5LnNwbGljZShzdGFydCwgZGVsZXRlQ291bnQpLFxuICAgICAgICAgICAgICBmaXJzdERlbGV0ZWRFbGVtZW50ID0gYXJyYXlGaXJzdChkZWxldGVkRWxlbWVudHMpO1xuXG4gICAgICAgIGRlbGV0ZWRFbGVtZW50ID0gZmlyc3REZWxldGVkRWxlbWVudDsgIC8vL1xuICAgICAgfVxuXG4gICAgICBjb250aW51YXRpb24ocGFzc2VkKTtcbiAgICB9KTtcbiAgfSwgKCkgPT4ge1xuICAgIGNvbnRpbnVhdGlvbihkZWxldGVkRWxlbWVudCk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZShhcnJheUEsIGFycmF5QiwgY2FsbGJhY2ssIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBhcnJheUEgPSBbICAvLy9cbiAgICAuLi5hcnJheUFcbiAgXTtcblxuICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgZnVuY3Rpb24gbmV4dFBhc3MoKSB7XG4gICAgY29uc3QgYXJyYXlBTGVuZ3RoID0gYXJyYXlBLmxlbmd0aDtcblxuICAgIGlmIChhcnJheUFMZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnN0IHN1Y2Nlc3MgPSB0cnVlOyAgLy8vXG5cbiAgICAgIGNvbnRpbnVhdGlvbihzdWNjZXNzKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBzdWNjZXNzID0gZmFsc2U7XG5cbiAgICBsZXQgY291bnQgPSAtMTtcblxuICAgIGZ1bmN0aW9uIG5leHRFbGVtZW50KCkge1xuICAgICAgY291bnQrKztcblxuICAgICAgY29uc3QgdGVybWluYXRlID0gKGNvdW50ID09PSBhcnJheUFMZW5ndGgpO1xuXG4gICAgICBpZiAodGVybWluYXRlKSB7XG4gICAgICAgIGlmICghc3VjY2Vzcykge1xuICAgICAgICAgIGNvbnN0IHN1Y2Nlc3MgPSBmYWxzZTsgLy8vXG5cbiAgICAgICAgICBjb250aW51YXRpb24oc3VjY2Vzcyk7XG5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBhcnJheUZpbHRlcihhcnJheUEsIChlbGVtZW50QSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGFycmF5QkluY2x1ZGVzRWxlbWVudEEgPSBhcnJheUIuaW5jbHVkZXMoZWxlbWVudEEpO1xuXG4gICAgICAgICAgaWYgKCFhcnJheUJJbmNsdWRlc0VsZW1lbnRBKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG5leHRQYXNzKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBpbmRleCA9IGNvdW50LCAgLy8vXG4gICAgICAgICAgICAgIGVsZW1lbnRBID0gYXJyYXlBW2luZGV4XTtcblxuICAgICAgICBjYWxsYmFjayhlbGVtZW50QSwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCAocGFzc2VkKSA9PiB7XG4gICAgICAgICAgaWYgKHBhc3NlZCkge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudEIgPSBlbGVtZW50QTsgIC8vL1xuXG4gICAgICAgICAgICBhcnJheUIucHVzaChlbGVtZW50Qik7XG5cbiAgICAgICAgICAgIHN1Y2Nlc3MgPSB0cnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG5leHRFbGVtZW50KCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIG5leHRFbGVtZW50KCk7XG4gIH1cblxuICBuZXh0UGFzcygpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9yd2FyZHNFdmVyeShhcnJheSwgY2FsbGJhY2ssIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBsZXQgc3VjY2VzcyA9IHRydWU7XG5cbiAgY29uc3QgY29udGludWF0aW9uID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpO1xuXG4gIGFzeW5jaHJvbm91c0ZvcndhcmRzRm9yRWFjaChhcnJheSwgKGVsZW1lbnQsIG5leHQsIGRvbmUpID0+IHtcbiAgICBjYWxsYmFjayhlbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIChwYXNzZWQpID0+IHtcbiAgICAgIGlmICghcGFzc2VkKSB7XG4gICAgICAgIHN1Y2Nlc3MgPSBmYWxzZTtcblxuICAgICAgICBkb25lKCk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBuZXh0KCk7XG4gICAgfSk7XG4gIH0sICgpID0+IHtcbiAgICBjb250aW51YXRpb24oc3VjY2Vzcyk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYmFja3dhcmRzRXZlcnkoYXJyYXksIGNhbGxiYWNrLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgbGV0IHN1Y2Nlc3MgPSB0cnVlO1xuXG4gIGNvbnN0IGNvbnRpbnVhdGlvbiA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICBhc3luY2hyb25vdXNCYWNrd2FyZHNGb3JFYWNoKGFycmF5LCAoZWxlbWVudCwgbmV4dCwgZG9uZSkgPT4ge1xuICAgIGNhbGxiYWNrKGVsZW1lbnQsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgKHBhc3NlZCkgPT4ge1xuICAgICAgaWYgKCFwYXNzZWQpIHtcbiAgICAgICAgc3VjY2VzcyA9IGZhbHNlO1xuXG4gICAgICAgIGRvbmUoKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG5leHQoKTtcbiAgICB9KTtcbiAgfSwgKCkgPT4ge1xuICAgIGNvbnRpbnVhdGlvbihzdWNjZXNzKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgc29tZSxcbiAgZXZlcnksXG4gIG1hdGNoLFxuICByZWR1Y2UsXG4gIGZvckVhY2gsXG4gIGV4dHJhY3QsXG4gIHJlc29sdmUsXG4gIGZvcndhcmRzRXZlcnksXG4gIGJhY2t3YXJkc0V2ZXJ5XG59XG4iXSwibmFtZXMiOlsiYmFja3dhcmRzRXZlcnkiLCJldmVyeSIsImV4dHJhY3QiLCJmb3JFYWNoIiwiZm9yd2FyZHNFdmVyeSIsIm1hdGNoIiwicmVkdWNlIiwicmVzb2x2ZSIsInNvbWUiLCJmaXJzdCIsImFycmF5Rmlyc3QiLCJmaWx0ZXIiLCJhcnJheUZpbHRlciIsImFycmF5VXRpbGl0aWVzIiwiYXN5bmNocm9ub3VzRm9yRWFjaCIsImZvcndhcmRzRm9yRWFjaCIsImFzeW5jaHJvbm91c0ZvcndhcmRzRm9yRWFjaCIsImJhY2t3YXJkc0ZvckVhY2giLCJhc3luY2hyb25vdXNCYWNrd2FyZHNGb3JFYWNoIiwiYXN5bmNocm9ub3VzVXRpbGl0aWVzIiwiYXJyYXkiLCJjYWxsYmFjayIsInJlbWFpbmluZ0FyZ3VtZW50cyIsInN1Y2Nlc3MiLCJjb250aW51YXRpb24iLCJwb3AiLCJlbGVtZW50IiwibmV4dCIsImRvbmUiLCJwYXNzZWQiLCJhcnJheUEiLCJhcnJheUIiLCJhcnJheUFMZW5ndGgiLCJsZW5ndGgiLCJhcnJheUJMZW5ndGgiLCJtYXRjaGVzIiwiaW5kZXgiLCJlbGVtZW50QSIsImVsZW1lbnRCIiwiaW5pdGlhbFZhbHVlIiwidmFsdWUiLCJjdXJyZW50VmFsdWUiLCJkZWxldGVkRWxlbWVudCIsInVuZGVmaW5lZCIsInN0YXJ0IiwiZGVsZXRlQ291bnQiLCJkZWxldGVkRWxlbWVudHMiLCJzcGxpY2UiLCJmaXJzdERlbGV0ZWRFbGVtZW50IiwibmV4dFBhc3MiLCJjb3VudCIsIm5leHRFbGVtZW50IiwidGVybWluYXRlIiwiYXJyYXlCSW5jbHVkZXNFbGVtZW50QSIsImluY2x1ZGVzIiwicHVzaCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBaU9nQkE7ZUFBQUE7O1FBc0JoQjtlQUFBOztRQXhOZ0JDO2VBQUFBOztRQTRFQUM7ZUFBQUE7O1FBVkFDO2VBQUFBOztRQTBHQUM7ZUFBQUE7O1FBdEpBQztlQUFBQTs7UUE0QkFDO2VBQUFBOztRQXFEQUM7ZUFBQUE7O1FBN0hBQztlQUFBQTs7OzJCQVBzQztBQUV0RCxNQUFNLEVBQUVDLE9BQU9DLFVBQVUsRUFBRUMsUUFBUUMsV0FBVyxFQUFFLEdBQUdDLHlCQUFjLEVBQzNELEVBQUVWLFNBQVNXLG1CQUFtQixFQUM1QkMsaUJBQWlCQywyQkFBMkIsRUFDNUNDLGtCQUFrQkMsNEJBQTRCLEVBQUUsR0FBR0MsZ0NBQXFCO0FBRXpFLFNBQVNYLEtBQUtZLEtBQUssRUFBRUMsUUFBUSxFQUFFLEdBQUdDLGtCQUFrQjtJQUN6RCxJQUFJQyxVQUFVO0lBRWQsTUFBTUMsZUFBZUYsbUJBQW1CRyxHQUFHO0lBRTNDWCxvQkFBb0JNLE9BQU8sQ0FBQ00sU0FBU0MsTUFBTUM7UUFDekNQLFNBQVNLLFlBQVlKLG9CQUFvQixDQUFDTztZQUN4QyxJQUFJQSxRQUFRO2dCQUNWTixVQUFVO2dCQUVWSztnQkFFQTtZQUNGO1lBRUFEO1FBQ0Y7SUFDRixHQUFHO1FBQ0RILGFBQWFEO0lBQ2Y7QUFDRjtBQUVPLFNBQVN0QixNQUFNbUIsS0FBSyxFQUFFQyxRQUFRLEVBQUUsR0FBR0Msa0JBQWtCO0lBQzFELElBQUlDLFVBQVU7SUFFZCxNQUFNQyxlQUFlRixtQkFBbUJHLEdBQUc7SUFFM0NYLG9CQUFvQk0sT0FBTyxDQUFDTSxTQUFTQyxNQUFNQztRQUN6Q1AsU0FBU0ssWUFBWUosb0JBQW9CLENBQUNPO1lBQ3hDLElBQUksQ0FBQ0EsUUFBUTtnQkFDWE4sVUFBVTtnQkFFVks7Z0JBRUE7WUFDRjtZQUVBRDtRQUNGO0lBQ0YsR0FBRztR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
|
package/package.json
CHANGED
|
@@ -7,22 +7,6 @@ const { first: arrayFirst, filter: arrayFilter } = arrayUtilities,
|
|
|
7
7
|
forwardsForEach: asynchronousForwardsForEach,
|
|
8
8
|
backwardsForEach: asynchronousBackwardsForEach } = asynchronousUtilities;
|
|
9
9
|
|
|
10
|
-
export function one(callbacks, ...remainingArguments) {
|
|
11
|
-
const continuation = remainingArguments.pop();
|
|
12
|
-
|
|
13
|
-
some(callbacks, (callback, continuation) => {
|
|
14
|
-
callback(...remainingArguments, continuation);
|
|
15
|
-
}, continuation);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export function all(callbacks, ...remainingArguments) {
|
|
19
|
-
const continuation = remainingArguments.pop();
|
|
20
|
-
|
|
21
|
-
every(callbacks, (callback, continuation) => {
|
|
22
|
-
callback(...remainingArguments, continuation);
|
|
23
|
-
}, continuation);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
10
|
export function some(array, callback, ...remainingArguments) {
|
|
27
11
|
let success = false;
|
|
28
12
|
|
|
@@ -67,6 +51,34 @@ export function every(array, callback, ...remainingArguments) {
|
|
|
67
51
|
});
|
|
68
52
|
}
|
|
69
53
|
|
|
54
|
+
export function match(arrayA, arrayB, callback, ...remainingArguments) {
|
|
55
|
+
const continuation = remainingArguments.pop(),
|
|
56
|
+
arrayALength = arrayA.length,
|
|
57
|
+
arrayBLength = arrayB.length;
|
|
58
|
+
|
|
59
|
+
if (arrayALength !== arrayBLength) {
|
|
60
|
+
const matches = false;
|
|
61
|
+
|
|
62
|
+
continuation(matches);
|
|
63
|
+
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
let index = -1;
|
|
68
|
+
|
|
69
|
+
every(arrayA, (elementA, continuation) => {
|
|
70
|
+
index++;
|
|
71
|
+
|
|
72
|
+
const elementB = arrayB[index];
|
|
73
|
+
|
|
74
|
+
callback(elementA, elementB, ...remainingArguments, continuation);
|
|
75
|
+
}, (success) => {
|
|
76
|
+
const matches = success; ///
|
|
77
|
+
|
|
78
|
+
continuation(matches);
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
|
|
70
82
|
export function reduce(array, initialValue, callback, ...remainingArguments) {
|
|
71
83
|
let value = initialValue; ///
|
|
72
84
|
|
|
@@ -120,34 +132,6 @@ export function extract(array, callback, ...remainingArguments) {
|
|
|
120
132
|
});
|
|
121
133
|
}
|
|
122
134
|
|
|
123
|
-
export function match(arrayA, arrayB, callback, ...remainingArguments) {
|
|
124
|
-
const continuation = remainingArguments.pop(),
|
|
125
|
-
arrayALength = arrayA.length,
|
|
126
|
-
arrayBLength = arrayB.length;
|
|
127
|
-
|
|
128
|
-
if (arrayALength !== arrayBLength) {
|
|
129
|
-
const matches = false;
|
|
130
|
-
|
|
131
|
-
continuation(matches);
|
|
132
|
-
|
|
133
|
-
return;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
let index = -1;
|
|
137
|
-
|
|
138
|
-
every(arrayA, (elementA, continuation) => {
|
|
139
|
-
index++;
|
|
140
|
-
|
|
141
|
-
const elementB = arrayB[index];
|
|
142
|
-
|
|
143
|
-
callback(elementA, elementB, ...remainingArguments, continuation);
|
|
144
|
-
}, (success) => {
|
|
145
|
-
const matches = success; ///
|
|
146
|
-
|
|
147
|
-
continuation(matches);
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
|
|
151
135
|
export function resolve(arrayA, arrayB, callback, ...remainingArguments) {
|
|
152
136
|
arrayA = [ ///
|
|
153
137
|
...arrayA
|
|
@@ -262,14 +246,12 @@ export function backwardsEvery(array, callback, ...remainingArguments) {
|
|
|
262
246
|
}
|
|
263
247
|
|
|
264
248
|
export default {
|
|
265
|
-
one,
|
|
266
|
-
all,
|
|
267
249
|
some,
|
|
268
250
|
every,
|
|
251
|
+
match,
|
|
269
252
|
reduce,
|
|
270
253
|
forEach,
|
|
271
254
|
extract,
|
|
272
|
-
match,
|
|
273
255
|
resolve,
|
|
274
256
|
forwardsEvery,
|
|
275
257
|
backwardsEvery
|