necessary 16.0.11 → 17.0.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.
- package/README.md +12 -9
- package/lib/utilities/asynchronous.js +3 -5
- package/package.json +1 -1
- package/src/utilities/asynchronous.js +2 -5
package/README.md
CHANGED
|
@@ -1217,7 +1217,6 @@ They also take a `done()` function and an optional `context` argument.
|
|
|
1217
1217
|
They all pass a `next()` function to the operations followed by the `done()` function, the `context` and then an `index` argument. Operations can call the `done()` function instead of the `next()` function in order to terminate early.
|
|
1218
1218
|
|
|
1219
1219
|
* The `whilst()` function takes a single operation, which it calls each time the operation invokes the given `next()` function or until the operation invokes the given `done()` function.
|
|
1220
|
-
The operation can also force termination by returning a truthy value, in which case it must *not* call the given `next()` or `done()` functions.
|
|
1221
1220
|
In the example below the operation will be executed ten times:
|
|
1222
1221
|
|
|
1223
1222
|
```
|
|
@@ -1228,11 +1227,13 @@ const operation = (next, done, context, index) => {
|
|
|
1228
1227
|
|
|
1229
1228
|
if (terminate) {
|
|
1230
1229
|
done();
|
|
1231
|
-
|
|
1232
|
-
|
|
1230
|
+
|
|
1231
|
+
return;
|
|
1232
|
+
}
|
|
1233
|
+
|
|
1234
|
+
...
|
|
1233
1235
|
|
|
1234
|
-
|
|
1235
|
-
}
|
|
1236
|
+
next();
|
|
1236
1237
|
}
|
|
1237
1238
|
|
|
1238
1239
|
whilst(operation, () => {
|
|
@@ -1252,11 +1253,13 @@ const operation = (element, next, done, context, index) => {
|
|
|
1252
1253
|
|
|
1253
1254
|
if (terminate) {
|
|
1254
1255
|
done();
|
|
1255
|
-
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
next();
|
|
1256
|
+
|
|
1257
|
+
return;
|
|
1259
1258
|
}
|
|
1259
|
+
|
|
1260
|
+
...
|
|
1261
|
+
|
|
1262
|
+
next();
|
|
1260
1263
|
}
|
|
1261
1264
|
|
|
1262
1265
|
const array = [0, 1, 2, 3, 4, 5];
|
|
@@ -38,10 +38,8 @@ function whilst(operation, done, context) {
|
|
|
38
38
|
var count = -1;
|
|
39
39
|
function next() {
|
|
40
40
|
count++;
|
|
41
|
-
var index = count
|
|
42
|
-
|
|
43
|
-
done();
|
|
44
|
-
}
|
|
41
|
+
var index = count; ///
|
|
42
|
+
operation(next, done, context, index);
|
|
45
43
|
}
|
|
46
44
|
next();
|
|
47
45
|
}
|
|
@@ -150,4 +148,4 @@ var _default = {
|
|
|
150
148
|
backwardsForEach: backwardsForEach
|
|
151
149
|
};
|
|
152
150
|
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYXN5bmNocm9ub3VzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdoaWxzdChvcGVyYXRpb24sIGRvbmUsIGNvbnRleHQpIHtcclxuICBsZXQgY291bnQgPSAtMTtcclxuXHJcbiAgZnVuY3Rpb24gbmV4dCgpIHtcclxuICAgIGNvdW50Kys7XHJcblxyXG4gICAgY29uc3QgaW5kZXggPSBjb3VudDsgIC8vL1xyXG5cclxuICAgIG9wZXJhdGlvbihuZXh0LCBkb25lLCBjb250ZXh0LCBpbmRleCk7XHJcbiAgfVxyXG5cclxuICBuZXh0KCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmb3JFYWNoKGFycmF5LCBvcGVyYXRpb24sIGRvbmUsIGNvbnRleHQpIHtcclxuICBjb25zdCBsZW5ndGggPSBhcnJheS5sZW5ndGg7ICAvLy9cclxuXHJcbiAgbGV0IGNvdW50ID0gLTE7XHJcblxyXG4gIGZ1bmN0aW9uIG5leHQoKSB7XHJcbiAgICBjb3VudCsrO1xyXG5cclxuICAgIGNvbnN0IHRlcm1pbmF0ZSA9IChjb3VudCA9PT0gbGVuZ3RoKTtcclxuXHJcbiAgICBpZiAodGVybWluYXRlKSB7XHJcbiAgICAgIGRvbmUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGluZGV4ID0gY291bnQsICAvLy9cclxuICAgICAgICAgICAgZWxlbWVudCA9IGFycmF5W2luZGV4XTtcclxuXHJcbiAgICAgIG9wZXJhdGlvbihlbGVtZW50LCBuZXh0LCBkb25lLCBjb250ZXh0LCBpbmRleCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZXh0KCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBzZXF1ZW5jZShvcGVyYXRpb25zLCBkb25lLCBjb250ZXh0KSB7XHJcbiAgY29uc3QgbGVuZ3RoID0gb3BlcmF0aW9ucy5sZW5ndGg7ICAvLy9cclxuXHJcbiAgbGV0IGNvdW50ID0gLTE7XHJcblxyXG4gIGZ1bmN0aW9uIG5leHQoKSB7XHJcbiAgICBjb3VudCsrO1xyXG5cclxuICAgIGNvbnN0IHRlcm1pbmF0ZSA9IChjb3VudCA9PT0gbGVuZ3RoKTtcclxuXHJcbiAgICBpZiAodGVybWluYXRlKSB7XHJcbiAgICAgIGRvbmUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGluZGV4ID0gY291bnQsICAvLy9cclxuICAgICAgICAgICAgb3BlcmF0aW9uID0gb3BlcmF0aW9uc1tpbmRleF07XHJcblxyXG4gICAgICBvcGVyYXRpb24obmV4dCwgZG9uZSwgY29udGV4dCwgaW5kZXgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmV4dCgpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZXZlbnR1YWxseShvcGVyYXRpb25zLCBkb25lLCBjb250ZXh0KSB7XHJcbiAgY29uc3QgbGVuZ3RoID0gb3BlcmF0aW9ucy5sZW5ndGg7ICAvLy9cclxuXHJcbiAgaWYgKGxlbmd0aCA9PT0gMCkge1xyXG4gICAgZG9uZSgpO1xyXG5cclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIGxldCBjb3VudCA9IDA7XHJcblxyXG4gIGZ1bmN0aW9uIG5leHQoKSB7XHJcbiAgICBjb3VudCsrO1xyXG5cclxuICAgIGNvbnN0IHRlcm1pbmF0ZSA9IChjb3VudCA9PT0gbGVuZ3RoKTtcclxuXHJcbiAgICBpZiAodGVybWluYXRlKSB7XHJcbiAgICAgIGRvbmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9wZXJhdGlvbnMuZm9yRWFjaCgob3BlcmF0aW9uLCBpbmRleCkgPT4ge1xyXG4gICAgb3BlcmF0aW9uKG5leHQsIGRvbmUsIGNvbnRleHQsIGluZGV4KTtcclxuICB9KTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHJlcGVhdGVkbHkob3BlcmF0aW9uLCBsZW5ndGgsIGRvbmUsIGNvbnRleHQpIHtcclxuICBpZiAobGVuZ3RoID09PSAwKSB7XHJcbiAgICBkb25lKCk7XHJcblxyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuXHJcbiAgbGV0IGNvdW50ID0gMDtcclxuXHJcbiAgZnVuY3Rpb24gbmV4dCgpIHtcclxuICAgIGNvdW50Kys7XHJcblxyXG4gICAgY29uc3QgdGVybWluYXRlID0gKGNvdW50ID09PSBsZW5ndGgpO1xyXG5cclxuICAgIGlmICh0ZXJtaW5hdGUpIHtcclxuICAgICAgZG9uZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgb3BlcmF0aW9uKG5leHQsIGRvbmUsIGNvbnRleHQsIGluZGV4KTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmb3J3YXJkc0ZvckVhY2goYXJyYXksIG9wZXJhdGlvbiwgZG9uZSwgY29udGV4dCkge1xyXG4gIGNvbnN0IGxlbmd0aCA9IGFycmF5Lmxlbmd0aDsgIC8vL1xyXG5cclxuICBsZXQgY291bnQgPSAtMTtcclxuXHJcbiAgZnVuY3Rpb24gbmV4dCgpIHtcclxuICAgIGNvdW50Kys7XHJcblxyXG4gICAgY29uc3QgdGVybWluYXRlID0gKGNvdW50ID09PSBsZW5ndGgpO1xyXG5cclxuICAgIGlmICh0ZXJtaW5hdGUpIHtcclxuICAgICAgZG9uZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgaW5kZXggPSBjb3VudCwgIC8vL1xyXG4gICAgICAgICAgICBlbGVtZW50ID0gYXJyYXlbaW5kZXhdO1xyXG5cclxuICAgICAgb3BlcmF0aW9uKGVsZW1lbnQsIG5leHQsIGRvbmUsIGNvbnRleHQsIGluZGV4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5leHQoKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGJhY2t3YXJkc0ZvckVhY2goYXJyYXksIG9wZXJhdGlvbiwgZG9uZSwgY29udGV4dCkge1xyXG4gIGNvbnN0IGxlbmd0aCA9IGFycmF5Lmxlbmd0aDsgIC8vL1xyXG5cclxuICBsZXQgY291bnQgPSBsZW5ndGg7XHJcblxyXG4gIGZ1bmN0aW9uIG5leHQoKSB7XHJcbiAgICBjb3VudC0tO1xyXG5cclxuICAgIGNvbnN0IHRlcm1pbmF0ZSA9IChjb3VudCA9PT0gLTEpO1xyXG5cclxuICAgIGlmICh0ZXJtaW5hdGUpIHtcclxuICAgICAgZG9uZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgaW5kZXggPSBjb3VudCwgIC8vL1xyXG4gICAgICAgICAgICBlbGVtZW50ID0gYXJyYXlbaW5kZXhdO1xyXG5cclxuICAgICAgb3BlcmF0aW9uKGVsZW1lbnQsIG5leHQsIGRvbmUsIGNvbnRleHQsIGluZGV4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5leHQoKTtcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gIHdoaWxzdCxcclxuICBmb3JFYWNoLFxyXG4gIHNlcXVlbmNlLFxyXG4gIGV2ZW50dWFsbHksXHJcbiAgcmVwZWF0ZWRseSxcclxuICBmb3J3YXJkc0ZvckVhY2gsXHJcbiAgYmFja3dhcmRzRm9yRWFjaFxyXG59O1xyXG4iXSwibmFtZXMiOlsiYmFja3dhcmRzRm9yRWFjaCIsImV2ZW50dWFsbHkiLCJmb3JFYWNoIiwiZm9yd2FyZHNGb3JFYWNoIiwicmVwZWF0ZWRseSIsInNlcXVlbmNlIiwid2hpbHN0Iiwib3BlcmF0aW9uIiwiZG9uZSIsImNvbnRleHQiLCJjb3VudCIsIm5leHQiLCJpbmRleCIsImFycmF5IiwibGVuZ3RoIiwidGVybWluYXRlIiwiZWxlbWVudCIsIm9wZXJhdGlvbnMiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQXVJZ0JBO2VBQUFBOztRQXVCaEI7ZUFBQTs7UUFoR2dCQztlQUFBQTs7UUE5Q0FDO2VBQUFBOztRQWdHQUM7ZUFBQUE7O1FBeEJBQztlQUFBQTs7UUFqREFDO2VBQUFBOztRQXJDQUM7ZUFBQUE7OztBQUFULFNBQVNBLE9BQU9DLFNBQVMsRUFBRUMs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
|
package/package.json
CHANGED
|
@@ -6,12 +6,9 @@ export function whilst(operation, done, context) {
|
|
|
6
6
|
function next() {
|
|
7
7
|
count++;
|
|
8
8
|
|
|
9
|
-
const index = count
|
|
10
|
-
terminate = operation(next, done, context, index);
|
|
9
|
+
const index = count; ///
|
|
11
10
|
|
|
12
|
-
|
|
13
|
-
done();
|
|
14
|
-
}
|
|
11
|
+
operation(next, done, context, index);
|
|
15
12
|
}
|
|
16
13
|
|
|
17
14
|
next();
|