occam-languages 2.1.37 → 2.2.0
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.
|
@@ -12,6 +12,9 @@ _export(exports, {
|
|
|
12
12
|
get backwardsEvery () {
|
|
13
13
|
return backwardsEvery;
|
|
14
14
|
},
|
|
15
|
+
get backwardsForEach () {
|
|
16
|
+
return backwardsForEach;
|
|
17
|
+
},
|
|
15
18
|
get default () {
|
|
16
19
|
return _default;
|
|
17
20
|
},
|
|
@@ -30,6 +33,9 @@ _export(exports, {
|
|
|
30
33
|
get forEach () {
|
|
31
34
|
return forEach;
|
|
32
35
|
},
|
|
36
|
+
get forewardsForEach () {
|
|
37
|
+
return forewardsForEach;
|
|
38
|
+
},
|
|
33
39
|
get forwardsEvery () {
|
|
34
40
|
return forwardsEvery;
|
|
35
41
|
},
|
|
@@ -192,6 +198,22 @@ function backwardsEvery(array, callback, ...remainingArguments) {
|
|
|
192
198
|
return continuation(success);
|
|
193
199
|
});
|
|
194
200
|
}
|
|
201
|
+
function forewardsForEach(array, callback, ...remainingArguments) {
|
|
202
|
+
const continuation = remainingArguments.pop();
|
|
203
|
+
return asynchronousForwardsForEach(array, (element, next, done)=>{
|
|
204
|
+
callback(element, ...remainingArguments, ()=>{
|
|
205
|
+
next();
|
|
206
|
+
});
|
|
207
|
+
}, continuation);
|
|
208
|
+
}
|
|
209
|
+
function backwardsForEach(array, callback, ...remainingArguments) {
|
|
210
|
+
const continuation = remainingArguments.pop();
|
|
211
|
+
return asynchronousBackwardsForEach(array, (element, next, done)=>{
|
|
212
|
+
callback(element, ...remainingArguments, ()=>{
|
|
213
|
+
next();
|
|
214
|
+
});
|
|
215
|
+
}, continuation);
|
|
216
|
+
}
|
|
195
217
|
function filter(array, callback, ...remainingArguments) {
|
|
196
218
|
const deletedElements = [];
|
|
197
219
|
const continuation = remainingArguments.pop();
|
|
@@ -297,10 +319,12 @@ const _default = {
|
|
|
297
319
|
forEach,
|
|
298
320
|
forwardsEvery,
|
|
299
321
|
backwardsEvery,
|
|
322
|
+
forwardsForEach,
|
|
323
|
+
backwardsForEach,
|
|
300
324
|
filter,
|
|
301
325
|
prune,
|
|
302
326
|
extract,
|
|
303
327
|
resolve
|
|
304
328
|
};
|
|
305
329
|
|
|
306
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29udGludWF0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcywgYXN5bmNocm9ub3VzVXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5jb25zdCB7IGZpbHRlcjogYXJyYXlGaWx0ZXIgfSA9IGFycmF5VXRpbGl0aWVzLFxuICAgICAgeyBmb3JFYWNoOiBhc3luY2hyb25vdXNGb3JFYWNoLFxuICAgICAgICBmb3J3YXJkc0ZvckVhY2g6IGFzeW5jaHJvbm91c0ZvcndhcmRzRm9yRWFjaCxcbiAgICAgICAgYmFja3dhcmRzRm9yRWFjaDogYXN5bmNocm9ub3VzQmFja3dhcmRzRm9yRWFjaCB9ID0gYXN5bmNocm9ub3VzVXRpbGl0aWVzO1xuXG5leHBvcnQgZnVuY3Rpb24gb25lKGFycmF5LCBjYWxsYmFjaywgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gIGxldCBmb3VuZCA9IGZhbHNlO1xuXG4gIGNvbnN0IGNvbnRpbnVhdGlvbiA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICBhc3luY2hyb25vdXNGb3JFYWNoKGFycmF5LCAoZWxlbWVudCwgbmV4dCwgZG9uZSkgPT4ge1xuICAgIGNhbGxiYWNrKGVsZW1lbnQsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgKHBhc3NlZCkgPT4ge1xuICAgICAgaWYgKHBhc3NlZCkge1xuICAgICAgICBpZiAoIWZvdW5kKSB7XG4gICAgICAgICAgZm91bmQgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGZvdW5kID0gZmFsc2U7XG5cbiAgICAgICAgICBkb25lKCk7XG5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbmV4dCgpO1xuICAgIH0pO1xuICB9LCAoKSA9PiB7XG4gICAgcmV0dXJuIGNvbnRpbnVhdGlvbihmb3VuZCk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZWFjaChhcnJheSwgY2FsbGJhY2ssIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBsZXQgZm91bmQgPSBmYWxzZTtcblxuICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgYXN5bmNocm9ub3VzRm9yRWFjaChhcnJheSwgKGVsZW1lbnQsIG5leHQsIGRvbmUpID0+IHtcbiAgICBjYWxsYmFjayhlbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIChwYXNzZWQpID0+IHtcbiAgICAgIGlmIChwYXNzZWQpIHtcbiAgICAgICAgZm91bmQgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZm91bmQgPSBmYWxzZTtcblxuICAgICAgICBkb25lKCk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBuZXh0KCk7XG4gICAgfSk7XG4gIH0sICgpID0+IHtcbiAgICByZXR1cm4gY29udGludWF0aW9uKGZvdW5kKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzb21lKGFycmF5LCBjYWxsYmFjaywgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gIGxldCBzdWNjZXNzID0gZmFsc2U7XG5cbiAgY29uc3QgY29udGludWF0aW9uID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpO1xuXG4gIGFzeW5jaHJvbm91c0ZvckVhY2goYXJyYXksIChlbGVtZW50LCBuZXh0LCBkb25lKSA9PiB7XG4gICAgY2FsbGJhY2soZWxlbWVudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCAocGFzc2VkKSA9PiB7XG4gICAgICBpZiAocGFzc2VkKSB7XG4gICAgICAgIHN1Y2Nlc3MgPSB0cnVlO1xuXG4gICAgICAgIGRvbmUoKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG5leHQoKTtcbiAgICB9KTtcbiAgfSwgKCkgPT4ge1xuICAgIHJldHVybiBjb250aW51YXRpb24oc3VjY2Vzcyk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXZlcnkoYXJyYXksIGNhbGxiYWNrLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgbGV0IHN1Y2Nlc3MgPSB0cnVlO1xuXG4gIGNvbnN0IGNvbnRpbnVhdGlvbiA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICBhc3luY2hyb25vdXNGb3JFYWNoKGFycmF5LCAoZWxlbWVudCwgbmV4dCwgZG9uZSkgPT4ge1xuICAgIGNhbGxiYWNrKGVsZW1lbnQsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgKHBhc3NlZCkgPT4ge1xuICAgICAgaWYgKCFwYXNzZWQpIHtcbiAgICAgICAgc3VjY2VzcyA9IGZhbHNlO1xuXG4gICAgICAgIGRvbmUoKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG5leHQoKTtcbiAgICB9KTtcbiAgfSwgKCkgPT4ge1xuICAgIHJldHVybiBjb250aW51YXRpb24oc3VjY2Vzcyk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2goYXJyYXlBLCBhcnJheUIsIGNhbGxiYWNrLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgY29uc3QgY29udGludWF0aW9uID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpLFxuICAgICAgICBhcnJheUFMZW5ndGggPSBhcnJheUEubGVuZ3RoLFxuICAgICAgICBhcnJheUJMZW5ndGggPSBhcnJheUIubGVuZ3RoO1xuXG4gIGlmIChhcnJheUFMZW5ndGggIT09IGFycmF5Qkxlbmd0aCkge1xuICAgIGNvbnN0IG1hdGNoZXMgPSBmYWxzZTtcblxuICAgIHJldHVybiBjb250aW51YXRpb24obWF0Y2hlcyk7XG4gIH1cblxuICBsZXQgaW5kZXggPSAtMTtcblxuICByZXR1cm4gZXZlcnkoYXJyYXlBLCAoZWxlbWVudEEsIGNvbnRpbnVhdGlvbikgPT4ge1xuICAgIGluZGV4Kys7XG5cbiAgICBjb25zdCBlbGVtZW50QiA9IGFycmF5QltpbmRleF07XG5cbiAgICByZXR1cm4gY2FsbGJhY2soZWxlbWVudEEsIGVsZW1lbnRCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGNvbnRpbnVhdGlvbik7XG4gIH0sIChzdWNjZXNzKSA9PiB7XG4gICAgY29uc3QgbWF0Y2hlcyA9IHN1Y2Nlc3M7ICAvLy9cblxuICAgIHJldHVybiBjb250aW51YXRpb24obWF0Y2hlcyk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVkdWNlKGFycmF5LCBpbml0aWFsVmFsdWUsIGNhbGxiYWNrLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgbGV0IHZhbHVlID0gaW5pdGlhbFZhbHVlOyAvLy9cblxuICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgYXN5bmNocm9ub3VzRm9yRWFjaChhcnJheSwgKGVsZW1lbnQsIG5leHQsIGRvbmUpID0+IHtcbiAgICBjYWxsYmFjayh2YWx1ZSwgZWxlbWVudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCAoY3VycmVudFZhbHVlKSA9PiB7XG4gICAgICB2YWx1ZSA9IGN1cnJlbnRWYWx1ZTsgIC8vL1xuXG4gICAgICBuZXh0KCk7XG4gICAgfSk7XG4gIH0sICgpID0+IHtcbiAgICByZXR1cm4gY29udGludWF0aW9uKHZhbHVlKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JFYWNoKGFycmF5LCBjYWxsYmFjaywgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gIGNvbnN0IGNvbnRpbnVhdGlvbiA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICByZXR1cm4gYXN5bmNocm9ub3VzRm9yRWFjaChhcnJheSwgKGVsZW1lbnQsIG5leHQsIGRvbmUpID0+IHtcbiAgICBjYWxsYmFjayhlbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsICgpID0+IHtcbiAgICAgIG5leHQoKTtcbiAgICB9KTtcbiAgfSwgY29udGludWF0aW9uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvcndhcmRzRXZlcnkoYXJyYXksIGNhbGxiYWNrLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgbGV0IHN1Y2Nlc3MgPSB0cnVlO1xuXG4gIGNvbnN0IGNvbnRpbnVhdGlvbiA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICBhc3luY2hyb25vdXNGb3J3YXJkc0ZvckVhY2goYXJyYXksIChlbGVtZW50LCBuZXh0LCBkb25lKSA9PiB7XG4gICAgY2FsbGJhY2soZWxlbWVudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCAocGFzc2VkKSA9PiB7XG4gICAgICBpZiAoIXBhc3NlZCkge1xuICAgICAgICBzdWNjZXNzID0gZmFsc2U7XG5cbiAgICAgICAgZG9uZSgpO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgbmV4dCgpO1xuICAgIH0pO1xuICB9LCAoKSA9PiB7XG4gICAgcmV0dXJuIGNvbnRpbnVhdGlvbihzdWNjZXNzKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiYWNrd2FyZHNFdmVyeShhcnJheSwgY2FsbGJhY2ssIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBsZXQgc3VjY2VzcyA9IHRydWU7XG5cbiAgY29uc3QgY29udGludWF0aW9uID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpO1xuXG4gIGFzeW5jaHJvbm91c0JhY2t3YXJkc0ZvckVhY2goYXJyYXksIChlbGVtZW50LCBuZXh0LCBkb25lKSA9PiB7XG4gICAgY2FsbGJhY2soZWxlbWVudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCAocGFzc2VkKSA9PiB7XG4gICAgICBpZiAoIXBhc3NlZCkge1xuICAgICAgICBzdWNjZXNzID0gZmFsc2U7XG5cbiAgICAgICAgZG9uZSgpO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgbmV4dCgpO1xuICAgIH0pO1xuICB9LCAoKSA9PiB7XG4gICAgcmV0dXJuIGNvbnRpbnVhdGlvbihzdWNjZXNzKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXIoYXJyYXksIGNhbGxiYWNrLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgY29uc3QgZGVsZXRlZEVsZW1lbnRzID0gW107XG5cbiAgY29uc3QgY29udGludWF0aW9uID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpO1xuXG4gIGxldCBpbmRleCA9IGFycmF5Lmxlbmd0aDtcblxuICByZXR1cm4gYmFja3dhcmRzRm9yRWFjaChhcnJheSwgKGVsZW1lbnQsIGNvbnRpbnVhdGlvbikgPT4ge1xuICAgIGluZGV4LS07XG5cbiAgICBjYWxsYmFjayhlbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIChwYXNzZWQpID0+IHtcbiAgICAgIGlmICghcGFzc2VkKSB7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gaW5kZXgsICAvLy9cbiAgICAgICAgICAgICAgZGVsZXRlQ291bnQgPSAxLFxuICAgICAgICAgICAgICBkZWxldGVkRWxlbWVudCA9IGFycmF5LnNwbGljZShzdGFydCwgZGVsZXRlQ291bnQpLnBvcCgpOyAgLy8vXG5cbiAgICAgICAgZGVsZXRlZEVsZW1lbnRzLnVuc2hpZnQoZGVsZXRlZEVsZW1lbnQpOyAgLy8vXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb250aW51YXRpb24oKTtcbiAgICB9KTtcbiAgfSwgKCkgPT4ge1xuICAgIHJldHVybiBjb250aW51YXRpb24oZGVsZXRlZEVsZW1lbnRzKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcnVuZShhcnJheSwgY2FsbGJhY2ssIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBsZXQgZGVsZXRlZEVsZW1lbnQgPSB1bmRlZmluZWQ7IC8vL1xuXG4gIGNvbnN0IGNvbnRpbnVhdGlvbiA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICBsZXQgaW5kZXggPSAtMTtcblxuICByZXR1cm4gc29tZShhcnJheSwgKGVsZW1lbnQsIGNvbnRpbnVhdGlvbikgPT4ge1xuICAgIGluZGV4Kys7XG5cbiAgICBjYWxsYmFjayhlbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIChwYXNzZWQpID0+IHtcbiAgICAgIGlmICghcGFzc2VkKSB7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gaW5kZXgsICAvLy9cbiAgICAgICAgICAgICAgZGVsZXRlQ291bnQgPSAxO1xuXG4gICAgICAgIGRlbGV0ZWRFbGVtZW50ID0gYXJyYXkuc3BsaWNlKHN0YXJ0LCBkZWxldGVDb3VudCkucG9wKCkgLy8vXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb250aW51YXRpb24oIXBhc3NlZCk7IC8vL1xuICAgIH0pO1xuICB9LCAoKSA9PiB7XG4gICAgcmV0dXJuIGNvbnRpbnVhdGlvbihkZWxldGVkRWxlbWVudCk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdChhcnJheSwgY2FsbGJhY2ssIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBsZXQgZGVsZXRlZEVsZW1lbnQgPSB1bmRlZmluZWQ7IC8vL1xuXG4gIGNvbnN0IGNvbnRpbnVhdGlvbiA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICBsZXQgaW5kZXggPSAtMTtcblxuICByZXR1cm4gc29tZShhcnJheSwgKGVsZW1lbnQsIGNvbnRpbnVhdGlvbikgPT4ge1xuICAgIGluZGV4Kys7XG5cbiAgICBjYWxsYmFjayhlbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIChwYXNzZWQpID0+IHtcbiAgICAgIGlmIChwYXNzZWQpIHtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSBpbmRleCwgIC8vL1xuICAgICAgICAgICAgICBkZWxldGVDb3VudCA9IDE7XG5cbiAgICAgICAgZGVsZXRlZEVsZW1lbnQgPSBhcnJheS5zcGxpY2Uoc3RhcnQsIGRlbGV0ZUNvdW50KS5wb3AoKSAvLy9cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbnRpbnVhdGlvbihwYXNzZWQpO1xuICAgIH0pO1xuICB9LCAoKSA9PiB7XG4gICAgcmV0dXJuIGNvbnRpbnVhdGlvbihkZWxldGVkRWxlbWVudCk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZShhcnJheUEsIGFycmF5QiwgY2FsbGJhY2ssIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBhcnJheUEgPSBbICAvLy9cbiAgICAuLi5hcnJheUFcbiAgXTtcblxuICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgZnVuY3Rpb24gbmV4dFBhc3MoKSB7XG4gICAgY29uc3QgYXJyYXlBTGVuZ3RoID0gYXJyYXlBLmxlbmd0aDtcblxuICAgIGlmIChhcnJheUFMZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnN0IHN1Y2Nlc3MgPSB0cnVlOyAgLy8vXG5cbiAgICAgIHJldHVybiBjb250aW51YXRpb24oc3VjY2Vzcyk7XG4gICAgfVxuXG4gICAgbGV0IHN1Y2Nlc3MgPSBmYWxzZTtcblxuICAgIGxldCBjb3VudCA9IC0xO1xuXG4gICAgZnVuY3Rpb24gbmV4dEVsZW1lbnQoKSB7XG4gICAgICBjb3VudCsrO1xuXG4gICAgICBjb25zdCB0ZXJtaW5hdGUgPSAoY291bnQgPT09IGFycmF5QUxlbmd0aCk7XG5cbiAgICAgIGlmICh0ZXJtaW5hdGUpIHtcbiAgICAgICAgaWYgKCFzdWNjZXNzKSB7XG4gICAgICAgICAgY29uc3Qgc3VjY2VzcyA9IGZhbHNlOyAvLy9cblxuICAgICAgICAgIHJldHVybiBjb250aW51YXRpb24oc3VjY2Vzcyk7XG4gICAgICAgIH1cblxuICAgICAgICBhcnJheUZpbHRlcihhcnJheUEsIChlbGVtZW50QSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGFycmF5QkluY2x1ZGVzRWxlbWVudEEgPSBhcnJheUIuaW5jbHVkZXMoZWxlbWVudEEpO1xuXG4gICAgICAgICAgaWYgKCFhcnJheUJJbmNsdWRlc0VsZW1lbnRBKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG5leHRQYXNzKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBpbmRleCA9IGNvdW50LCAgLy8vXG4gICAgICAgICAgICAgIGVsZW1lbnRBID0gYXJyYXlBW2luZGV4XTtcblxuICAgICAgICBjYWxsYmFjayhlbGVtZW50QSwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCAocGFzc2VkKSA9PiB7XG4gICAgICAgICAgaWYgKHBhc3NlZCkge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudEIgPSBlbGVtZW50QTsgIC8vL1xuXG4gICAgICAgICAgICBhcnJheUIucHVzaChlbGVtZW50Qik7XG5cbiAgICAgICAgICAgIHN1Y2Nlc3MgPSB0cnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG5leHRFbGVtZW50KCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIG5leHRFbGVtZW50KCk7XG4gIH1cblxuICBuZXh0UGFzcygpO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIG9uZSxcbiAgZWFjaCxcbiAgc29tZSxcbiAgZXZlcnksXG4gIG1hdGNoLFxuICByZWR1Y2UsXG4gIGZvckVhY2gsXG4gIGZvcndhcmRzRXZlcnksXG4gIGJhY2t3YXJkc0V2ZXJ5LFxuICBmaWx0ZXIsXG4gIHBydW5lLFxuICBleHRyYWN0LFxuICByZXNvbHZlXG59XG4iXSwibmFtZXMiOlsiYmFja3dhcmRzRXZlcnkiLCJlYWNoIiwiZXZlcnkiLCJleHRyYWN0IiwiZmlsdGVyIiwiZm9yRWFjaCIsImZvcndhcmRzRXZlcnkiLCJtYXRjaCIsIm9uZSIsInBydW5lIiwicmVkdWNlIiwicmVzb2x2ZSIsInNvbWUiLCJhcnJheUZpbHRlciIsImFycmF5VXRpbGl0aWVzIiwiYXN5bmNocm9ub3VzRm9yRWFjaCIsImZvcndhcmRzRm9yRWFjaCIsImFzeW5jaHJvbm91c0ZvcndhcmRzRm9yRWFjaCIsImJhY2t3YXJkc0ZvckVhY2giLCJhc3luY2hyb25vdXNCYWNrd2FyZHNGb3JFYWNoIiwiYXN5bmNocm9ub3VzVXRpbGl0aWVzIiwiYXJyYXkiLCJjYWxsYmFjayIsInJlbWFpbmluZ0FyZ3VtZW50cyIsImZvdW5kIiwiY29udGludWF0aW9uIiwicG9wIiwiZWxlbWVudCIsIm5leHQiLCJkb25lIiwicGFzc2VkIiwic3VjY2VzcyIsImFycmF5QSIsImFycmF5QiIsImFycmF5QUxlbmd0aCIsImxlbmd0aCIsImFycmF5Qkxlbmd0aCIsIm1hdGNoZXMiLCJpbmRleCIsImVsZW1lbnRBIiwiZWxlbWVudEIiLCJpbml0aWFsVmFsdWUiLCJ2YWx1ZSIsImN1cnJlbnRWYWx1ZSIsImRlbGV0ZWRFbGVtZW50cyIsInN0YXJ0IiwiZGVsZXRlQ291bnQiLCJkZWxldGVkRWxlbWVudCIsInNwbGljZSIsInVuc2hpZnQiLCJ1bmRlZmluZWQiLCJuZXh0UGFzcyIsImNvdW50IiwibmV4dEVsZW1lbnQiLCJ0ZXJtaW5hdGUiLCJhcnJheUJJbmNsdWRlc0VsZW1lbnRBIiwiaW5jbHVkZXMiLCJwdXNoIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFpTGdCQTtlQUFBQTs7UUFtS2hCO2VBQUE7O1FBalRnQkM7ZUFBQUE7O1FBOENBQztlQUFBQTs7UUF5S0FDO2VBQUFBOztRQW5EQUM7ZUFBQUE7O1FBdERBQztlQUFBQTs7UUFVQUM7ZUFBQUE7O1FBcERBQztlQUFBQTs7UUE5RkFDO2VBQUFBOztRQXdOQUM7ZUFBQUE7O1FBaEdBQztlQUFBQTs7UUFrSkFDO2VBQUFBOztRQXhOQUM7ZUFBQUE7OzsyQkF6RHNDO0FBRXRELE1BQU0sRUFBRVIsUUFBUVMsV0FBVyxFQUFFLEdBQUdDLHlCQUFjLEVBQ3hDLEVBQUVULFNBQVNVLG1CQUFtQixFQUM1QkMsaUJBQWlCQywyQkFBMkIsRUFDNUNDLGtCQUFrQkMsNEJBQTRCLEVBQUUsR0FBR0MsZ0NBQXFCO0FBRXpFLFNBQVNaLElBQUlhLEtBQUssRUFBRUMsUUFBUSxFQUFFLEdBQUdDLGtCQUFrQjtJQUN4RCxJQUFJQyxR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
|
|
330
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29udGludWF0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcywgYXN5bmNocm9ub3VzVXRpbGl0aWVzIH0gZnJvbSBcIm5lY2Vzc2FyeVwiO1xuXG5jb25zdCB7IGZpbHRlcjogYXJyYXlGaWx0ZXIgfSA9IGFycmF5VXRpbGl0aWVzLFxuICAgICAgeyBmb3JFYWNoOiBhc3luY2hyb25vdXNGb3JFYWNoLFxuICAgICAgICBmb3J3YXJkc0ZvckVhY2g6IGFzeW5jaHJvbm91c0ZvcndhcmRzRm9yRWFjaCxcbiAgICAgICAgYmFja3dhcmRzRm9yRWFjaDogYXN5bmNocm9ub3VzQmFja3dhcmRzRm9yRWFjaCB9ID0gYXN5bmNocm9ub3VzVXRpbGl0aWVzO1xuXG5leHBvcnQgZnVuY3Rpb24gb25lKGFycmF5LCBjYWxsYmFjaywgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gIGxldCBmb3VuZCA9IGZhbHNlO1xuXG4gIGNvbnN0IGNvbnRpbnVhdGlvbiA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICBhc3luY2hyb25vdXNGb3JFYWNoKGFycmF5LCAoZWxlbWVudCwgbmV4dCwgZG9uZSkgPT4ge1xuICAgIGNhbGxiYWNrKGVsZW1lbnQsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgKHBhc3NlZCkgPT4ge1xuICAgICAgaWYgKHBhc3NlZCkge1xuICAgICAgICBpZiAoIWZvdW5kKSB7XG4gICAgICAgICAgZm91bmQgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGZvdW5kID0gZmFsc2U7XG5cbiAgICAgICAgICBkb25lKCk7XG5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbmV4dCgpO1xuICAgIH0pO1xuICB9LCAoKSA9PiB7XG4gICAgcmV0dXJuIGNvbnRpbnVhdGlvbihmb3VuZCk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZWFjaChhcnJheSwgY2FsbGJhY2ssIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBsZXQgZm91bmQgPSBmYWxzZTtcblxuICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgYXN5bmNocm9ub3VzRm9yRWFjaChhcnJheSwgKGVsZW1lbnQsIG5leHQsIGRvbmUpID0+IHtcbiAgICBjYWxsYmFjayhlbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIChwYXNzZWQpID0+IHtcbiAgICAgIGlmIChwYXNzZWQpIHtcbiAgICAgICAgZm91bmQgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZm91bmQgPSBmYWxzZTtcblxuICAgICAgICBkb25lKCk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBuZXh0KCk7XG4gICAgfSk7XG4gIH0sICgpID0+IHtcbiAgICByZXR1cm4gY29udGludWF0aW9uKGZvdW5kKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzb21lKGFycmF5LCBjYWxsYmFjaywgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gIGxldCBzdWNjZXNzID0gZmFsc2U7XG5cbiAgY29uc3QgY29udGludWF0aW9uID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpO1xuXG4gIGFzeW5jaHJvbm91c0ZvckVhY2goYXJyYXksIChlbGVtZW50LCBuZXh0LCBkb25lKSA9PiB7XG4gICAgY2FsbGJhY2soZWxlbWVudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCAocGFzc2VkKSA9PiB7XG4gICAgICBpZiAocGFzc2VkKSB7XG4gICAgICAgIHN1Y2Nlc3MgPSB0cnVlO1xuXG4gICAgICAgIGRvbmUoKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG5leHQoKTtcbiAgICB9KTtcbiAgfSwgKCkgPT4ge1xuICAgIHJldHVybiBjb250aW51YXRpb24oc3VjY2Vzcyk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXZlcnkoYXJyYXksIGNhbGxiYWNrLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgbGV0IHN1Y2Nlc3MgPSB0cnVlO1xuXG4gIGNvbnN0IGNvbnRpbnVhdGlvbiA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICBhc3luY2hyb25vdXNGb3JFYWNoKGFycmF5LCAoZWxlbWVudCwgbmV4dCwgZG9uZSkgPT4ge1xuICAgIGNhbGxiYWNrKGVsZW1lbnQsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgKHBhc3NlZCkgPT4ge1xuICAgICAgaWYgKCFwYXNzZWQpIHtcbiAgICAgICAgc3VjY2VzcyA9IGZhbHNlO1xuXG4gICAgICAgIGRvbmUoKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIG5leHQoKTtcbiAgICB9KTtcbiAgfSwgKCkgPT4ge1xuICAgIHJldHVybiBjb250aW51YXRpb24oc3VjY2Vzcyk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWF0Y2goYXJyYXlBLCBhcnJheUIsIGNhbGxiYWNrLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgY29uc3QgY29udGludWF0aW9uID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpLFxuICAgICAgICBhcnJheUFMZW5ndGggPSBhcnJheUEubGVuZ3RoLFxuICAgICAgICBhcnJheUJMZW5ndGggPSBhcnJheUIubGVuZ3RoO1xuXG4gIGlmIChhcnJheUFMZW5ndGggIT09IGFycmF5Qkxlbmd0aCkge1xuICAgIGNvbnN0IG1hdGNoZXMgPSBmYWxzZTtcblxuICAgIHJldHVybiBjb250aW51YXRpb24obWF0Y2hlcyk7XG4gIH1cblxuICBsZXQgaW5kZXggPSAtMTtcblxuICByZXR1cm4gZXZlcnkoYXJyYXlBLCAoZWxlbWVudEEsIGNvbnRpbnVhdGlvbikgPT4ge1xuICAgIGluZGV4Kys7XG5cbiAgICBjb25zdCBlbGVtZW50QiA9IGFycmF5QltpbmRleF07XG5cbiAgICByZXR1cm4gY2FsbGJhY2soZWxlbWVudEEsIGVsZW1lbnRCLCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGNvbnRpbnVhdGlvbik7XG4gIH0sIChzdWNjZXNzKSA9PiB7XG4gICAgY29uc3QgbWF0Y2hlcyA9IHN1Y2Nlc3M7ICAvLy9cblxuICAgIHJldHVybiBjb250aW51YXRpb24obWF0Y2hlcyk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVkdWNlKGFycmF5LCBpbml0aWFsVmFsdWUsIGNhbGxiYWNrLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgbGV0IHZhbHVlID0gaW5pdGlhbFZhbHVlOyAvLy9cblxuICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgYXN5bmNocm9ub3VzRm9yRWFjaChhcnJheSwgKGVsZW1lbnQsIG5leHQsIGRvbmUpID0+IHtcbiAgICBjYWxsYmFjayh2YWx1ZSwgZWxlbWVudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCAoY3VycmVudFZhbHVlKSA9PiB7XG4gICAgICB2YWx1ZSA9IGN1cnJlbnRWYWx1ZTsgIC8vL1xuXG4gICAgICBuZXh0KCk7XG4gICAgfSk7XG4gIH0sICgpID0+IHtcbiAgICByZXR1cm4gY29udGludWF0aW9uKHZhbHVlKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JFYWNoKGFycmF5LCBjYWxsYmFjaywgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gIGNvbnN0IGNvbnRpbnVhdGlvbiA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICByZXR1cm4gYXN5bmNocm9ub3VzRm9yRWFjaChhcnJheSwgKGVsZW1lbnQsIG5leHQsIGRvbmUpID0+IHtcbiAgICBjYWxsYmFjayhlbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsICgpID0+IHtcbiAgICAgIG5leHQoKTtcbiAgICB9KTtcbiAgfSwgY29udGludWF0aW9uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvcndhcmRzRXZlcnkoYXJyYXksIGNhbGxiYWNrLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgbGV0IHN1Y2Nlc3MgPSB0cnVlO1xuXG4gIGNvbnN0IGNvbnRpbnVhdGlvbiA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICBhc3luY2hyb25vdXNGb3J3YXJkc0ZvckVhY2goYXJyYXksIChlbGVtZW50LCBuZXh0LCBkb25lKSA9PiB7XG4gICAgY2FsbGJhY2soZWxlbWVudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCAocGFzc2VkKSA9PiB7XG4gICAgICBpZiAoIXBhc3NlZCkge1xuICAgICAgICBzdWNjZXNzID0gZmFsc2U7XG5cbiAgICAgICAgZG9uZSgpO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgbmV4dCgpO1xuICAgIH0pO1xuICB9LCAoKSA9PiB7XG4gICAgcmV0dXJuIGNvbnRpbnVhdGlvbihzdWNjZXNzKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiYWNrd2FyZHNFdmVyeShhcnJheSwgY2FsbGJhY2ssIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBsZXQgc3VjY2VzcyA9IHRydWU7XG5cbiAgY29uc3QgY29udGludWF0aW9uID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpO1xuXG4gIGFzeW5jaHJvbm91c0JhY2t3YXJkc0ZvckVhY2goYXJyYXksIChlbGVtZW50LCBuZXh0LCBkb25lKSA9PiB7XG4gICAgY2FsbGJhY2soZWxlbWVudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCAocGFzc2VkKSA9PiB7XG4gICAgICBpZiAoIXBhc3NlZCkge1xuICAgICAgICBzdWNjZXNzID0gZmFsc2U7XG5cbiAgICAgICAgZG9uZSgpO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgbmV4dCgpO1xuICAgIH0pO1xuICB9LCAoKSA9PiB7XG4gICAgcmV0dXJuIGNvbnRpbnVhdGlvbihzdWNjZXNzKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3Jld2FyZHNGb3JFYWNoKGFycmF5LCBjYWxsYmFjaywgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gIGNvbnN0IGNvbnRpbnVhdGlvbiA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICByZXR1cm4gYXN5bmNocm9ub3VzRm9yd2FyZHNGb3JFYWNoKGFycmF5LCAoZWxlbWVudCwgbmV4dCwgZG9uZSkgPT4ge1xuICAgIGNhbGxiYWNrKGVsZW1lbnQsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgKCkgPT4ge1xuICAgICAgbmV4dCgpO1xuICAgIH0pO1xuICB9LCBjb250aW51YXRpb24pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYmFja3dhcmRzRm9yRWFjaChhcnJheSwgY2FsbGJhY2ssIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgcmV0dXJuIGFzeW5jaHJvbm91c0JhY2t3YXJkc0ZvckVhY2goYXJyYXksIChlbGVtZW50LCBuZXh0LCBkb25lKSA9PiB7XG4gICAgY2FsbGJhY2soZWxlbWVudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCAoKSA9PiB7XG4gICAgICBuZXh0KCk7XG4gICAgfSk7XG4gIH0sIGNvbnRpbnVhdGlvbik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXIoYXJyYXksIGNhbGxiYWNrLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgY29uc3QgZGVsZXRlZEVsZW1lbnRzID0gW107XG5cbiAgY29uc3QgY29udGludWF0aW9uID0gcmVtYWluaW5nQXJndW1lbnRzLnBvcCgpO1xuXG4gIGxldCBpbmRleCA9IGFycmF5Lmxlbmd0aDtcblxuICByZXR1cm4gYmFja3dhcmRzRm9yRWFjaChhcnJheSwgKGVsZW1lbnQsIGNvbnRpbnVhdGlvbikgPT4ge1xuICAgIGluZGV4LS07XG5cbiAgICBjYWxsYmFjayhlbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIChwYXNzZWQpID0+IHtcbiAgICAgIGlmICghcGFzc2VkKSB7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gaW5kZXgsICAvLy9cbiAgICAgICAgICAgICAgZGVsZXRlQ291bnQgPSAxLFxuICAgICAgICAgICAgICBkZWxldGVkRWxlbWVudCA9IGFycmF5LnNwbGljZShzdGFydCwgZGVsZXRlQ291bnQpLnBvcCgpOyAgLy8vXG5cbiAgICAgICAgZGVsZXRlZEVsZW1lbnRzLnVuc2hpZnQoZGVsZXRlZEVsZW1lbnQpOyAgLy8vXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb250aW51YXRpb24oKTtcbiAgICB9KTtcbiAgfSwgKCkgPT4ge1xuICAgIHJldHVybiBjb250aW51YXRpb24oZGVsZXRlZEVsZW1lbnRzKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcnVuZShhcnJheSwgY2FsbGJhY2ssIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBsZXQgZGVsZXRlZEVsZW1lbnQgPSB1bmRlZmluZWQ7IC8vL1xuXG4gIGNvbnN0IGNvbnRpbnVhdGlvbiA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICBsZXQgaW5kZXggPSAtMTtcblxuICByZXR1cm4gc29tZShhcnJheSwgKGVsZW1lbnQsIGNvbnRpbnVhdGlvbikgPT4ge1xuICAgIGluZGV4Kys7XG5cbiAgICBjYWxsYmFjayhlbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIChwYXNzZWQpID0+IHtcbiAgICAgIGlmICghcGFzc2VkKSB7XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gaW5kZXgsICAvLy9cbiAgICAgICAgICAgICAgZGVsZXRlQ291bnQgPSAxO1xuXG4gICAgICAgIGRlbGV0ZWRFbGVtZW50ID0gYXJyYXkuc3BsaWNlKHN0YXJ0LCBkZWxldGVDb3VudCkucG9wKCkgLy8vXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb250aW51YXRpb24oIXBhc3NlZCk7IC8vL1xuICAgIH0pO1xuICB9LCAoKSA9PiB7XG4gICAgcmV0dXJuIGNvbnRpbnVhdGlvbihkZWxldGVkRWxlbWVudCk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZXh0cmFjdChhcnJheSwgY2FsbGJhY2ssIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBsZXQgZGVsZXRlZEVsZW1lbnQgPSB1bmRlZmluZWQ7IC8vL1xuXG4gIGNvbnN0IGNvbnRpbnVhdGlvbiA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICBsZXQgaW5kZXggPSAtMTtcblxuICByZXR1cm4gc29tZShhcnJheSwgKGVsZW1lbnQsIGNvbnRpbnVhdGlvbikgPT4ge1xuICAgIGluZGV4Kys7XG5cbiAgICBjYWxsYmFjayhlbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIChwYXNzZWQpID0+IHtcbiAgICAgIGlmIChwYXNzZWQpIHtcbiAgICAgICAgY29uc3Qgc3RhcnQgPSBpbmRleCwgIC8vL1xuICAgICAgICAgICAgICBkZWxldGVDb3VudCA9IDE7XG5cbiAgICAgICAgZGVsZXRlZEVsZW1lbnQgPSBhcnJheS5zcGxpY2Uoc3RhcnQsIGRlbGV0ZUNvdW50KS5wb3AoKSAvLy9cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNvbnRpbnVhdGlvbihwYXNzZWQpO1xuICAgIH0pO1xuICB9LCAoKSA9PiB7XG4gICAgcmV0dXJuIGNvbnRpbnVhdGlvbihkZWxldGVkRWxlbWVudCk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZShhcnJheUEsIGFycmF5QiwgY2FsbGJhY2ssIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBhcnJheUEgPSBbICAvLy9cbiAgICAuLi5hcnJheUFcbiAgXTtcblxuICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCk7XG5cbiAgZnVuY3Rpb24gbmV4dFBhc3MoKSB7XG4gICAgY29uc3QgYXJyYXlBTGVuZ3RoID0gYXJyYXlBLmxlbmd0aDtcblxuICAgIGlmIChhcnJheUFMZW5ndGggPT09IDApIHtcbiAgICAgIGNvbnN0IHN1Y2Nlc3MgPSB0cnVlOyAgLy8vXG5cbiAgICAgIHJldHVybiBjb250aW51YXRpb24oc3VjY2Vzcyk7XG4gICAgfVxuXG4gICAgbGV0IHN1Y2Nlc3MgPSBmYWxzZTtcblxuICAgIGxldCBjb3VudCA9IC0xO1xuXG4gICAgZnVuY3Rpb24gbmV4dEVsZW1lbnQoKSB7XG4gICAgICBjb3VudCsrO1xuXG4gICAgICBjb25zdCB0ZXJtaW5hdGUgPSAoY291bnQgPT09IGFycmF5QUxlbmd0aCk7XG5cbiAgICAgIGlmICh0ZXJtaW5hdGUpIHtcbiAgICAgICAgaWYgKCFzdWNjZXNzKSB7XG4gICAgICAgICAgY29uc3Qgc3VjY2VzcyA9IGZhbHNlOyAvLy9cblxuICAgICAgICAgIHJldHVybiBjb250aW51YXRpb24oc3VjY2Vzcyk7XG4gICAgICAgIH1cblxuICAgICAgICBhcnJheUZpbHRlcihhcnJheUEsIChlbGVtZW50QSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGFycmF5QkluY2x1ZGVzRWxlbWVudEEgPSBhcnJheUIuaW5jbHVkZXMoZWxlbWVudEEpO1xuXG4gICAgICAgICAgaWYgKCFhcnJheUJJbmNsdWRlc0VsZW1lbnRBKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIG5leHRQYXNzKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBpbmRleCA9IGNvdW50LCAgLy8vXG4gICAgICAgICAgICAgIGVsZW1lbnRBID0gYXJyYXlBW2luZGV4XTtcblxuICAgICAgICBjYWxsYmFjayhlbGVtZW50QSwgLi4ucmVtYWluaW5nQXJndW1lbnRzLCAocGFzc2VkKSA9PiB7XG4gICAgICAgICAgaWYgKHBhc3NlZCkge1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudEIgPSBlbGVtZW50QTsgIC8vL1xuXG4gICAgICAgICAgICBhcnJheUIucHVzaChlbGVtZW50Qik7XG5cbiAgICAgICAgICAgIHN1Y2Nlc3MgPSB0cnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG5leHRFbGVtZW50KCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIG5leHRFbGVtZW50KCk7XG4gIH1cblxuICBuZXh0UGFzcygpO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIG9uZSxcbiAgZWFjaCxcbiAgc29tZSxcbiAgZXZlcnksXG4gIG1hdGNoLFxuICByZWR1Y2UsXG4gIGZvckVhY2gsXG4gIGZvcndhcmRzRXZlcnksXG4gIGJhY2t3YXJkc0V2ZXJ5LFxuICBmb3J3YXJkc0ZvckVhY2gsXG4gIGJhY2t3YXJkc0ZvckVhY2gsXG4gIGZpbHRlcixcbiAgcHJ1bmUsXG4gIGV4dHJhY3QsXG4gIHJlc29sdmVcbn07XG4iXSwibmFtZXMiOlsiYmFja3dhcmRzRXZlcnkiLCJiYWNrd2FyZHNGb3JFYWNoIiwiZWFjaCIsImV2ZXJ5IiwiZXh0cmFjdCIsImZpbHRlciIsImZvckVhY2giLCJmb3Jld2FyZHNGb3JFYWNoIiwiZm9yd2FyZHNFdmVyeSIsIm1hdGNoIiwib25lIiwicHJ1bmUiLCJyZWR1Y2UiLCJyZXNvbHZlIiwic29tZSIsImFycmF5RmlsdGVyIiwiYXJyYXlVdGlsaXRpZXMiLCJhc3luY2hyb25vdXNGb3JFYWNoIiwiZm9yd2FyZHNGb3JFYWNoIiwiYXN5bmNocm9ub3VzRm9yd2FyZHNGb3JFYWNoIiwiYXN5bmNocm9ub3VzQmFja3dhcmRzRm9yRWFjaCIsImFzeW5jaHJvbm91c1V0aWxpdGllcyIsImFycmF5IiwiY2FsbGJhY2siLCJyZW1haW5pbmdBcmd1bWVudHMiLCJmb3VuZCIsImNvbnRpbnVhdGlvbiIsInBvcCIsImVsZW1lbnQiLCJuZXh0IiwiZG9uZSIsInBhc3NlZCIsInN1Y2Nlc3MiLCJhcnJheUEiLCJhcnJheUIiLCJhcnJheUFMZW5ndGgiLCJsZW5ndGgiLCJhcnJheUJMZW5ndGgiLCJtYXRjaGVzIiwiaW5kZXgiLCJlbGVtZW50QSIsImVsZW1lbnRCIiwiaW5pdGlhbFZhbHVlIiwidmFsdWUiLCJjdXJyZW50VmFsdWUiLCJkZWxldGVkRWxlbWVudHMiLCJzdGFydCIsImRlbGV0ZUNvdW50IiwiZGVsZXRlZEVsZW1lbnQiLCJzcGxpY2UiLCJ1bnNoaWZ0IiwidW5kZWZpbmVkIiwibmV4dFBhc3MiLCJjb3VudCIsIm5leHRFbGVtZW50IiwidGVybWluYXRlIiwiYXJyYXlCSW5jbHVkZXNFbGVtZW50QSIsImluY2x1ZGVzIiwicHVzaCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7O1FBaUxnQkE7ZUFBQUE7O1FBZ0NBQztlQUFBQTs7UUF1SmhCO2VBQUE7O1FBclVnQkM7ZUFBQUE7O1FBOENBQztlQUFBQTs7UUE2TEFDO2VBQUFBOztRQW5EQUM7ZUFBQUE7O1FBMUVBQztlQUFBQTs7UUFzREFDO2VBQUFBOztRQTVDQUM7ZUFBQUE7O1FBcERBQztlQUFBQTs7UUE5RkFDO2VBQUFBOztRQTRPQUM7ZUFBQUE7O1FBcEhBQztlQUFBQTs7UUFzS0FDO2VBQUFBOztRQTVPQUM7ZUFBQUE7OzsyQkF6RHNDO0FBRXRELE1BQU0sRUFBRVQsUUFBUVUsV0FBVyxFQUFFLEdBQUdDLHlCQUFjLEVBQ3hDLEVBQUVWLFNBQVNXLG1CQUFtQixFQUM1QkMsaUJBQWlCQywyQkFBMkIsRUFDNUNsQixrQkFBa0JtQiw0QkFBNEIsRUFBRSxHQUFHQyxnQ0FBcUI7QUFFekUsU0FBU1gsSUFBSVksS0FBSyxFQUFFQyxRQUFRLEVBQUUsR0FBR0Msa0JBQWtCO0lBQ3hELElBQUlDLFFBQVE7SUFFWixNQUFNQyxlQUFlRixtQkFBbUJHLEdBQUc7SUFFM0NWLG9CQUFvQkssT0FBTyxDQUFDTSxTQUFTQyxNQUFNQztRQUN6Q1AsU0FBU0ssWUFBWUosb0JBQW9CLENBQUNPO1lBQ3hDLElBQUlBLFFBQVE7Z0JBQ1YsSUFBSSxDQUFDTixPQUFPO29CQUNWQSxRQUFRO2dCQUNWLE9BQU87b0JBQ0xBLFFBQVE7b0JBRVJLO29CQUVBO2dCQUNGO1lB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
|
package/package.json
CHANGED
|
@@ -197,6 +197,26 @@ export function backwardsEvery(array, callback, ...remainingArguments) {
|
|
|
197
197
|
});
|
|
198
198
|
}
|
|
199
199
|
|
|
200
|
+
export function forewardsForEach(array, callback, ...remainingArguments) {
|
|
201
|
+
const continuation = remainingArguments.pop();
|
|
202
|
+
|
|
203
|
+
return asynchronousForwardsForEach(array, (element, next, done) => {
|
|
204
|
+
callback(element, ...remainingArguments, () => {
|
|
205
|
+
next();
|
|
206
|
+
});
|
|
207
|
+
}, continuation);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
export function backwardsForEach(array, callback, ...remainingArguments) {
|
|
211
|
+
const continuation = remainingArguments.pop();
|
|
212
|
+
|
|
213
|
+
return asynchronousBackwardsForEach(array, (element, next, done) => {
|
|
214
|
+
callback(element, ...remainingArguments, () => {
|
|
215
|
+
next();
|
|
216
|
+
});
|
|
217
|
+
}, continuation);
|
|
218
|
+
}
|
|
219
|
+
|
|
200
220
|
export function filter(array, callback, ...remainingArguments) {
|
|
201
221
|
const deletedElements = [];
|
|
202
222
|
|
|
@@ -348,8 +368,10 @@ export default {
|
|
|
348
368
|
forEach,
|
|
349
369
|
forwardsEvery,
|
|
350
370
|
backwardsEvery,
|
|
371
|
+
forwardsForEach,
|
|
372
|
+
backwardsForEach,
|
|
351
373
|
filter,
|
|
352
374
|
prune,
|
|
353
375
|
extract,
|
|
354
376
|
resolve
|
|
355
|
-
}
|
|
377
|
+
};
|