necessary 10.0.3 → 10.0.4

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 CHANGED
@@ -60,13 +60,13 @@ The miscellaneous functions are a special case. They can be treated as above but
60
60
 
61
61
  The first two `get()` and `post()` functions make use of the third `request()` function, which is more generic and can be used for arbitrary HTTP requests.
62
62
 
63
- * The `get()` function sends a `GET` request, taking `host`, `uri`, `query` and `callback` arguments, together with an optional `headers` argument after the `query` argument.
63
+ * The `get()` function sends a `GET` request, taking `host`, `uri`, `query` and `operation` arguments, together with an optional `headers` argument after the `query` argument.
64
64
 
65
65
  The `query` argument should be a plain old JavaScript object, the names and values of which are encoded and concatenated to form the query string.
66
66
 
67
67
  The `headers` argument should also be a plain old JavaScript object. If it does not have an `accept` property then one wil be provided with the value `application/json`.
68
68
 
69
- The `callback` argument is expected to be a function taking `contnet` and `statusCode` arguments. If the `accept` property of the main `headers` argument is set to `application/json` then the callback function's `content` argument can be assumed to be JSON, or `null` if the request body cannot be parsed as such. The `statusCode` argument will be the response status code, for example `200` for a successful `OK` response.
69
+ The `operation` argument is expected to be a function taking `contnet` and `statusCode` arguments. If the `accept` property of the main `headers` argument is set to `application/json` then the operation's `content` argument can be assumed to be JSON, or `null` if the request body cannot be parsed as such. The `statusCode` argument will be the response status code, for example `200` for a successful `OK` response.
70
70
 
71
71
  ```
72
72
  const host = "...",
@@ -147,7 +147,7 @@ const offEXT = onEXT(process.exit);
147
147
  offEXT();
148
148
  ```
149
149
 
150
- * The `prompt()` function is meant for use in shell applications. It takes a plain old JavaScript `options` object and a `callback` function as the its first and second arguments, respectively:
150
+ * The `prompt()` function is meant for use in shell applications. It takes a plain old JavaScript `options` object and a `callback` function as its first and second arguments, respectively:
151
151
 
152
152
  ```
153
153
  const hidden = true,
@@ -835,14 +835,14 @@ Ideally the `host` argument should not include a trailing forward slash whereas
835
835
  - `eventually()`
836
836
  - `repeatedly()`
837
837
 
838
- These functions generally take either a callback or an array of callbacks, followed by a `done()` function and an optional `context` argument. They all pass a `next()` function to the callbacks followed by the `done()` function, the `context` and then an `index` argument. Callbacks are given access to the `done()` function which can be called instead of the `next()` function in order to terminate early.
838
+ These functions generally take either a operatio or an array of operations, functions that mutate a context essentially, rather than returning a value, followed by a `done()` function and an optional `context` argument. They all pass a `next()` function to the operations followed by the `done()` function, the `context` and then an `index` argument. Operations are given access to the `done()` function which can be called instead of the `next()` function in order to terminate early.
839
839
 
840
- * The `whilst()` function takes a single callback, which it calls each time the callback invokes the given `next()` function or until the callback invokes the given `done()` function. The callback can also force termination by returning a truthy value, in which case it must *not* call the given `next()` or `done()` functions. In the example below the callback will be executed ten times:
840
+ * 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. The operation can also force termination by returning a truthy value, in which case it must *not* call the given `next()` or `done()` functions. In the example below the operation will be executed ten times:
841
841
 
842
842
  ```
843
843
  const context = {}; ///
844
844
 
845
- const callback = (next, done, context, index) => {
845
+ const operation = (next, done, context, index) => {
846
846
  const terminate = (index === 9);
847
847
 
848
848
  if (terminate) {
@@ -854,17 +854,17 @@ const callback = (next, done, context, index) => {
854
854
  }
855
855
  }
856
856
 
857
- whilst(callback, () => {
857
+ whilst(operation, () => {
858
858
  /// done
859
859
  }, context);
860
860
  ```
861
861
 
862
- * The `forEach()` function takes an array as the first argument followed by a single callback, which it calls for each element of the array unless the callback invokes the given `done()` function. If the `done()` function is never invoked by the callback, it is called once each of the array elements has been passed to the callback, provided the callback invokes the given `next ()` function each time. In the example below the callback will be executed four times:
862
+ * The `forEach()` function takes an array as the first argument followed by a single operation, which it calls for each element of the array unless the operation invokes the given `done()` function. If the `done()` function is never invoked by the operation, it is called once each of the array elements has been passed to the operation, provided the operationinvokes the given `next ()` function each time. In the example below the operation will be executed four times:
863
863
 
864
864
  ```
865
865
  const context = {};
866
866
 
867
- const callback = (element, next, done, context, index) => {
867
+ const operation = (element, next, done, context, index) => {
868
868
  const terminate = (element === 3);
869
869
 
870
870
  if (terminate) {
@@ -878,56 +878,56 @@ const callback = (element, next, done, context, index) => {
878
878
 
879
879
  const array = [0, 1, 2, 3, 4, 5];
880
880
 
881
- forEach(array, callback, () => {
881
+ forEach(array, operation, () => {
882
882
  /// done
883
883
  }, context);
884
884
  ```
885
885
 
886
- * The `sequence()` function takes an array of callbacks, which it calls in turn unless the callback invokes the given `done()` function. If the `done()` function is never invoked by a callback, it is called once each of the callbacks have been called, provided each callback invokes the given `next ()` function. In the example below each of the callbacks bar the last is executed:
886
+ * The `sequence()` function takes an array of operations, which it calls in turn unless the operation invokes the given `done()` function. If the `done()` function is never invoked by a operation, it is called once each of the operations have been called, provided each operation invokes the given `next ()` function. In the example below each of the operations bar the last is executed:
887
887
 
888
888
  ```
889
889
  const context = {};
890
890
 
891
- const firstCallback = (next, done, context, index) => { next(); },
892
- secondCallback = (next, done, context, index) => { next(); },
893
- thirdCallback = (next, done, context, index) => { done(); },
894
- lastCallback = (next, done, context, index) => { next(); },
895
- callbacks = [
896
- firstCallback,
897
- secondCallback,
898
- thirdCallback,
899
- lastCallback
891
+ const firstOperation = (next, done, context, index) => { next(); },
892
+ secondOperation = (next, done, context, index) => { next(); },
893
+ thirdOperation = (next, done, context, index) => { done(); },
894
+ lastOperation = (next, done, context, index) => { next(); },
895
+ operation = [
896
+ firstOperation,
897
+ secondOperation,
898
+ thirdOperation,
899
+ lastOperation
900
900
  ];
901
901
 
902
- sequence(callbacks, () => {
902
+ sequence(operations, () => {
903
903
  /// done
904
904
  }, context);
905
905
  ```
906
906
 
907
- * The `eventually()` function takes an array of callbacks, each of which it calls immediately without waiting for the callbacks to invoke the given `next()` functions. When each of the callbacks has invoked the given `next()` function, it will call the `done()` function. Note that in this case invoking the `done()` function from within a callback will not halt the execution of other callbacks, it is passed as an argument only for the sake of convention. In the example below each of the callbacks is executed:
907
+ * The `eventually()` function takes an array of operations, each of which it calls immediately without waiting for the operations to invoke the given `next()` functions. When each of the operations has invoked the given `next()` function, it will call the `done()` function. Note that in this case invoking the `done()` function from within a operation will not halt the execution of other operations, it is passed as an argument only for the sake of convention. In the example below each of the operations is executed:
908
908
 
909
909
  ```
910
910
  const context = {};
911
911
 
912
- const firstCallback = (next, done, context, index) => { next(); },
913
- secondCallback = (next, done, context, index) => { next(); },
914
- thirdCallback = (next, done, context, index) => { done(); },
915
- callbacks = [
916
- firstCallback,
917
- secondCallback,
918
- thirdCallback
912
+ const firstOperation = (next, done, context, index) => { next(); },
913
+ secondOperation = (next, done, context, index) => { next(); },
914
+ thirdOperation = (next, done, context, index) => { done(); },
915
+ operations = [
916
+ firstOperation,
917
+ secondOperation,
918
+ thirdOperation
919
919
  ];
920
920
 
921
- eventually(callbacks, () => {
921
+ eventually(operations, () => {
922
922
  /// done
923
923
  }, context);
924
924
  ```
925
- * The `repeatedly()` function takes a single callback and a `length` parameter, immediately calling the callback a `length` number of times without waiting for it to invoke the given `next()` function each time. When the callback has invoked the given `next()` function a `length` number of times, it will call the `done()` function. Note that in this case invoking the `done()` function from within the callback will not halt its execution the requisite number of times, it is passed as an argument only for the sake of convention. In the example below the callback is executed ten times:
925
+ * The `repeatedly()` function takes a single operation and a `length` parameter, immediately calling the operation a `length` number of times without waiting for it to invoke the given `next()` function each time. When the operation has invoked the given `next()` function a `length` number of times, it will call the `done()` function. Note that in this case invoking the `done()` function from within the operation will not halt its execution the requisite number of times, it is passed as an argument only for the sake of convention. In the example below the operation is executed ten times:
926
926
 
927
927
  ```
928
928
  const context = {};
929
929
 
930
- const callback = (next, done, context, index) => {
930
+ const operation = (next, done, context, index) => {
931
931
  ...
932
932
 
933
933
  next();
@@ -935,7 +935,7 @@ const callback = (next, done, context, index) => {
935
935
 
936
936
  const length = 10;
937
937
 
938
- repeatedly(callback, length, () => {
938
+ repeatedly(operation, length, () => {
939
939
  // done
940
940
  }, context);
941
941
  ```
@@ -10,18 +10,18 @@ exports.repeatedly = repeatedly;
10
10
  exports.forwardsForEach = forwardsForEach;
11
11
  exports.backwardsForEach = backwardsForEach;
12
12
  exports.default = void 0;
13
- function whilst(callback, done, context) {
13
+ function whilst(operation, done, context) {
14
14
  var count = -1;
15
15
  function next() {
16
16
  count++;
17
- var index = count, terminate = callback(next, done, context, index);
17
+ var index = count, terminate = operation(next, done, context, index);
18
18
  if (terminate) {
19
19
  done();
20
20
  }
21
21
  }
22
22
  next();
23
23
  }
24
- function forEach(array, callback, done, context) {
24
+ function forEach(array, operation, done, context) {
25
25
  var length = array.length; ///
26
26
  var count = -1;
27
27
  function next() {
@@ -31,13 +31,13 @@ function forEach(array, callback, done, context) {
31
31
  done();
32
32
  } else {
33
33
  var index = count, element = array[index];
34
- callback(element, next, done, context, index);
34
+ operation(element, next, done, context, index);
35
35
  }
36
36
  }
37
37
  next();
38
38
  }
39
- function sequence(callbacks, done, context) {
40
- var length = callbacks.length; ///
39
+ function sequence(operations, done, context) {
40
+ var length = operations.length; ///
41
41
  var count = -1;
42
42
  function next() {
43
43
  count++;
@@ -45,13 +45,13 @@ function sequence(callbacks, done, context) {
45
45
  if (terminate) {
46
46
  done();
47
47
  } else {
48
- var index = count, callback = callbacks[index];
49
- callback(next, done, context, index);
48
+ var index = count, operation = operations[index];
49
+ operation(next, done, context, index);
50
50
  }
51
51
  }
52
52
  next();
53
53
  }
54
- function eventually(callbacks, done, context) {
54
+ function eventually(operations, done, context) {
55
55
  var next = function next() {
56
56
  count++;
57
57
  var terminate = count === length;
@@ -59,13 +59,13 @@ function eventually(callbacks, done, context) {
59
59
  done();
60
60
  }
61
61
  };
62
- var length = callbacks.length; ///
62
+ var length = operations.length; ///
63
63
  var count = 0;
64
- callbacks.forEach(function(callback, index) {
65
- callback(next, done, context, index);
64
+ operations.forEach(function(operation, index) {
65
+ operation(next, done, context, index);
66
66
  });
67
67
  }
68
- function repeatedly(callback, length, done, context) {
68
+ function repeatedly(operation, length, done, context) {
69
69
  var next = function next() {
70
70
  count++;
71
71
  var terminate = count === length;
@@ -75,10 +75,10 @@ function repeatedly(callback, length, done, context) {
75
75
  };
76
76
  var count = 0;
77
77
  for(var index = 0; index < length; index++){
78
- callback(next, done, context, index);
78
+ operation(next, done, context, index);
79
79
  }
80
80
  }
81
- function forwardsForEach(array, callback, done, context) {
81
+ function forwardsForEach(array, operation, done, context) {
82
82
  var length = array.length; ///
83
83
  var count = -1;
84
84
  function next() {
@@ -88,12 +88,12 @@ function forwardsForEach(array, callback, done, context) {
88
88
  done();
89
89
  } else {
90
90
  var index = count, element = array[index];
91
- callback(element, next, done, context, index);
91
+ operation(element, next, done, context, index);
92
92
  }
93
93
  }
94
94
  next();
95
95
  }
96
- function backwardsForEach(array, callback, done, context) {
96
+ function backwardsForEach(array, operation, done, context) {
97
97
  var length = array.length; ///
98
98
  var count = length;
99
99
  function next() {
@@ -103,7 +103,7 @@ function backwardsForEach(array, callback, done, context) {
103
103
  done();
104
104
  } else {
105
105
  var index = count, element = array[index];
106
- callback(element, next, done, context, index);
106
+ operation(element, next, done, context, index);
107
107
  }
108
108
  }
109
109
  next();
@@ -119,4 +119,4 @@ var _default = {
119
119
  };
120
120
  exports.default = _default;
121
121
 
122
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYXN5bmNocm9ub3VzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdoaWxzdChjYWxsYmFjaywgZG9uZSwgY29udGV4dCkge1xyXG4gIGxldCBjb3VudCA9IC0xO1xyXG5cclxuICBmdW5jdGlvbiBuZXh0KCkge1xyXG4gICAgY291bnQrKztcclxuXHJcbiAgICBjb25zdCBpbmRleCA9IGNvdW50LCAgLy8vXHJcbiAgICAgICAgICB0ZXJtaW5hdGUgPSBjYWxsYmFjayhuZXh0LCBkb25lLCBjb250ZXh0LCBpbmRleCk7XHJcblxyXG4gICAgaWYgKHRlcm1pbmF0ZSkge1xyXG4gICAgICBkb25lKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZXh0KCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmb3JFYWNoKGFycmF5LCBjYWxsYmFjaywgZG9uZSwgY29udGV4dCkge1xyXG4gIGNvbnN0IGxlbmd0aCA9IGFycmF5Lmxlbmd0aDsgIC8vL1xyXG5cclxuICBsZXQgY291bnQgPSAtMTtcclxuXHJcbiAgZnVuY3Rpb24gbmV4dCgpIHtcclxuICAgIGNvdW50Kys7XHJcblxyXG4gICAgY29uc3QgdGVybWluYXRlID0gKGNvdW50ID09PSBsZW5ndGgpO1xyXG5cclxuICAgIGlmICh0ZXJtaW5hdGUpIHtcclxuICAgICAgZG9uZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgaW5kZXggPSBjb3VudCwgIC8vL1xyXG4gICAgICAgICAgICBlbGVtZW50ID0gYXJyYXlbaW5kZXhdO1xyXG5cclxuICAgICAgY2FsbGJhY2soZWxlbWVudCwgbmV4dCwgZG9uZSwgY29udGV4dCwgaW5kZXgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmV4dCgpO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gc2VxdWVuY2UoY2FsbGJhY2tzLCBkb25lLCBjb250ZXh0KSB7XHJcbiAgY29uc3QgbGVuZ3RoID0gY2FsbGJhY2tzLmxlbmd0aDsgIC8vL1xyXG5cclxuICBsZXQgY291bnQgPSAtMTtcclxuXHJcbiAgZnVuY3Rpb24gbmV4dCgpIHtcclxuICAgIGNvdW50Kys7XHJcblxyXG4gICAgY29uc3QgdGVybWluYXRlID0gKGNvdW50ID09PSBsZW5ndGgpO1xyXG5cclxuICAgIGlmICh0ZXJtaW5hdGUpIHtcclxuICAgICAgZG9uZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgaW5kZXggPSBjb3VudCwgIC8vL1xyXG4gICAgICAgICAgICBjYWxsYmFjayA9IGNhbGxiYWNrc1tpbmRleF07XHJcblxyXG4gICAgICBjYWxsYmFjayhuZXh0LCBkb25lLCBjb250ZXh0LCBpbmRleCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZXh0KCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBldmVudHVhbGx5KGNhbGxiYWNrcywgZG9uZSwgY29udGV4dCkge1xyXG4gIGNvbnN0IGxlbmd0aCA9IGNhbGxiYWNrcy5sZW5ndGg7ICAvLy9cclxuXHJcbiAgbGV0IGNvdW50ID0gMDtcclxuXHJcbiAgZnVuY3Rpb24gbmV4dCgpIHtcclxuICAgIGNvdW50Kys7XHJcblxyXG4gICAgY29uc3QgdGVybWluYXRlID0gKGNvdW50ID09PSBsZW5ndGgpO1xyXG5cclxuICAgIGlmICh0ZXJtaW5hdGUpIHtcclxuICAgICAgZG9uZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2FsbGJhY2tzLmZvckVhY2goKGNhbGxiYWNrLCBpbmRleCkgPT4ge1xyXG4gICAgY2FsbGJhY2sobmV4dCwgZG9uZSwgY29udGV4dCwgaW5kZXgpO1xyXG4gIH0pO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcmVwZWF0ZWRseShjYWxsYmFjaywgbGVuZ3RoLCBkb25lLCBjb250ZXh0KSB7XHJcbiAgbGV0IGNvdW50ID0gMDtcclxuXHJcbiAgZnVuY3Rpb24gbmV4dCgpIHtcclxuICAgIGNvdW50Kys7XHJcblxyXG4gICAgY29uc3QgdGVybWluYXRlID0gKGNvdW50ID09PSBsZW5ndGgpO1xyXG5cclxuICAgIGlmICh0ZXJtaW5hdGUpIHtcclxuICAgICAgZG9uZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgY2FsbGJhY2sobmV4dCwgZG9uZSwgY29udGV4dCwgaW5kZXgpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGZvcndhcmRzRm9yRWFjaChhcnJheSwgY2FsbGJhY2ssIGRvbmUsIGNvbnRleHQpIHtcclxuICBjb25zdCBsZW5ndGggPSBhcnJheS5sZW5ndGg7ICAvLy9cclxuXHJcbiAgbGV0IGNvdW50ID0gLTE7XHJcblxyXG4gIGZ1bmN0aW9uIG5leHQoKSB7XHJcbiAgICBjb3VudCsrO1xyXG5cclxuICAgIGNvbnN0IHRlcm1pbmF0ZSA9IChjb3VudCA9PT0gbGVuZ3RoKTtcclxuXHJcbiAgICBpZiAodGVybWluYXRlKSB7XHJcbiAgICAgIGRvbmUoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGluZGV4ID0gY291bnQsICAvLy9cclxuICAgICAgICAgICAgZWxlbWVudCA9IGFycmF5W2luZGV4XTtcclxuXHJcbiAgICAgIGNhbGxiYWNrKGVsZW1lbnQsIG5leHQsIGRvbmUsIGNvbnRleHQsIGluZGV4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5leHQoKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGJhY2t3YXJkc0ZvckVhY2goYXJyYXksIGNhbGxiYWNrLCBkb25lLCBjb250ZXh0KSB7XHJcbiAgY29uc3QgbGVuZ3RoID0gYXJyYXkubGVuZ3RoOyAgLy8vXHJcblxyXG4gIGxldCBjb3VudCA9IGxlbmd0aDtcclxuXHJcbiAgZnVuY3Rpb24gbmV4dCgpIHtcclxuICAgIGNvdW50LS07XHJcblxyXG4gICAgY29uc3QgdGVybWluYXRlID0gKGNvdW50ID09PSAtMSk7XHJcblxyXG4gICAgaWYgKHRlcm1pbmF0ZSkge1xyXG4gICAgICBkb25lKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBpbmRleCA9IGNvdW50LCAgLy8vXHJcbiAgICAgICAgICAgIGVsZW1lbnQgPSBhcnJheVtpbmRleF07XHJcblxyXG4gICAgICBjYWxsYmFjayhlbGVtZW50LCBuZXh0LCBkb25lLCBjb250ZXh0LCBpbmRleCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZXh0KCk7XHJcbn1cclxuXHJcbmV4cG9ydCBkZWZhdWx0IHtcclxuICB3aGlsc3QsXHJcbiAgZm9yRWFjaCxcclxuICBzZXF1ZW5jZSxcclxuICBldmVudHVhbGx5LFxyXG4gIHJlcGVhdGVkbHksXHJcbiAgZm9yd2FyZHNGb3JFYWNoLFxyXG4gIGJhY2t3YXJkc0ZvckVhY2hcclxufTtcclxuIl0sIm5hbWVzIjpbIndoaWxzdCIsImZvckVhY2giLCJzZXF1ZW5jZSIsImV2ZW50dWFsbHkiLCJyZXBlYXRlZGx5IiwiZm9yd2FyZHNGb3JFYWNoIiwiYmFja3dhcmRzRm9yRWFjaCIsImNhbGxiYWNrIiwiZG9uZSIsImNvbnRleHQiLCJjb3VudCIsIm5leHQiLCJpbmRleCIsInRlcm1pbmF0ZSIsImFycmF5IiwibGVuZ3RoIiwiZWxlbWVudCIsImNhbGxiYWNrcyJdLCJtYXBwaW5ncyI6IkFBQUEsQ0FBWTs7OztRQUVJQSxNQUFNLEdBQU5BLE1BQU07UUFpQk5DLE9BQU8sR0FBUEEsT0FBTztRQXVCUEMsUUFBUSxHQUFSQSxRQUFRO1FBdUJSQyxVQUFVLEdBQVZBLFVBQVU7UUFvQlZDLFVBQVUsR0FBVkEsVUFBVTtRQWtCVkMsZUFBZSxHQUFmQSxlQUFlO1FBdUJmQyxnQkFBZ0IsR0FBaEJBLGdCQUFnQjs7U0E1SGhCTixNQUFNLENBQUNPLFFBQVEsRUFBRUMsSUFBSSxFQUFFQyxPQUFPLEVBQUUsQ0FBQztJQUMvQyxHQUFHLENBQUND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
122
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYXN5bmNocm9ub3VzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHdoaWxzdChvcGVyYXRpb24sIGRvbmUsIGNvbnRleHQpIHtcclxuICBsZXQgY291bnQgPSAtMTtcclxuXHJcbiAgZnVuY3Rpb24gbmV4dCgpIHtcclxuICAgIGNvdW50Kys7XHJcblxyXG4gICAgY29uc3QgaW5kZXggPSBjb3VudCwgIC8vL1xyXG4gICAgICAgICAgdGVybWluYXRlID0gb3BlcmF0aW9uKG5leHQsIGRvbmUsIGNvbnRleHQsIGluZGV4KTtcclxuXHJcbiAgICBpZiAodGVybWluYXRlKSB7XHJcbiAgICAgIGRvbmUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5leHQoKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGZvckVhY2goYXJyYXksIG9wZXJhdGlvbiwgZG9uZSwgY29udGV4dCkge1xyXG4gIGNvbnN0IGxlbmd0aCA9IGFycmF5Lmxlbmd0aDsgIC8vL1xyXG5cclxuICBsZXQgY291bnQgPSAtMTtcclxuXHJcbiAgZnVuY3Rpb24gbmV4dCgpIHtcclxuICAgIGNvdW50Kys7XHJcblxyXG4gICAgY29uc3QgdGVybWluYXRlID0gKGNvdW50ID09PSBsZW5ndGgpO1xyXG5cclxuICAgIGlmICh0ZXJtaW5hdGUpIHtcclxuICAgICAgZG9uZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgaW5kZXggPSBjb3VudCwgIC8vL1xyXG4gICAgICAgICAgICBlbGVtZW50ID0gYXJyYXlbaW5kZXhdO1xyXG5cclxuICAgICAgb3BlcmF0aW9uKGVsZW1lbnQsIG5leHQsIGRvbmUsIGNvbnRleHQsIGluZGV4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5leHQoKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHNlcXVlbmNlKG9wZXJhdGlvbnMsIGRvbmUsIGNvbnRleHQpIHtcclxuICBjb25zdCBsZW5ndGggPSBvcGVyYXRpb25zLmxlbmd0aDsgIC8vL1xyXG5cclxuICBsZXQgY291bnQgPSAtMTtcclxuXHJcbiAgZnVuY3Rpb24gbmV4dCgpIHtcclxuICAgIGNvdW50Kys7XHJcblxyXG4gICAgY29uc3QgdGVybWluYXRlID0gKGNvdW50ID09PSBsZW5ndGgpO1xyXG5cclxuICAgIGlmICh0ZXJtaW5hdGUpIHtcclxuICAgICAgZG9uZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgaW5kZXggPSBjb3VudCwgIC8vL1xyXG4gICAgICAgICAgICBvcGVyYXRpb24gPSBvcGVyYXRpb25zW2luZGV4XTtcclxuXHJcbiAgICAgIG9wZXJhdGlvbihuZXh0LCBkb25lLCBjb250ZXh0LCBpbmRleCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZXh0KCk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBldmVudHVhbGx5KG9wZXJhdGlvbnMsIGRvbmUsIGNvbnRleHQpIHtcclxuICBjb25zdCBsZW5ndGggPSBvcGVyYXRpb25zLmxlbmd0aDsgIC8vL1xyXG5cclxuICBsZXQgY291bnQgPSAwO1xyXG5cclxuICBmdW5jdGlvbiBuZXh0KCkge1xyXG4gICAgY291bnQrKztcclxuXHJcbiAgICBjb25zdCB0ZXJtaW5hdGUgPSAoY291bnQgPT09IGxlbmd0aCk7XHJcblxyXG4gICAgaWYgKHRlcm1pbmF0ZSkge1xyXG4gICAgICBkb25lKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVyYXRpb25zLmZvckVhY2goKG9wZXJhdGlvbiwgaW5kZXgpID0+IHtcclxuICAgIG9wZXJhdGlvbihuZXh0LCBkb25lLCBjb250ZXh0LCBpbmRleCk7XHJcbiAgfSk7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiByZXBlYXRlZGx5KG9wZXJhdGlvbiwgbGVuZ3RoLCBkb25lLCBjb250ZXh0KSB7XHJcbiAgbGV0IGNvdW50ID0gMDtcclxuXHJcbiAgZnVuY3Rpb24gbmV4dCgpIHtcclxuICAgIGNvdW50Kys7XHJcblxyXG4gICAgY29uc3QgdGVybWluYXRlID0gKGNvdW50ID09PSBsZW5ndGgpO1xyXG5cclxuICAgIGlmICh0ZXJtaW5hdGUpIHtcclxuICAgICAgZG9uZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgb3BlcmF0aW9uKG5leHQsIGRvbmUsIGNvbnRleHQsIGluZGV4KTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBmb3J3YXJkc0ZvckVhY2goYXJyYXksIG9wZXJhdGlvbiwgZG9uZSwgY29udGV4dCkge1xyXG4gIGNvbnN0IGxlbmd0aCA9IGFycmF5Lmxlbmd0aDsgIC8vL1xyXG5cclxuICBsZXQgY291bnQgPSAtMTtcclxuXHJcbiAgZnVuY3Rpb24gbmV4dCgpIHtcclxuICAgIGNvdW50Kys7XHJcblxyXG4gICAgY29uc3QgdGVybWluYXRlID0gKGNvdW50ID09PSBsZW5ndGgpO1xyXG5cclxuICAgIGlmICh0ZXJtaW5hdGUpIHtcclxuICAgICAgZG9uZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgaW5kZXggPSBjb3VudCwgIC8vL1xyXG4gICAgICAgICAgICBlbGVtZW50ID0gYXJyYXlbaW5kZXhdO1xyXG5cclxuICAgICAgb3BlcmF0aW9uKGVsZW1lbnQsIG5leHQsIGRvbmUsIGNvbnRleHQsIGluZGV4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5leHQoKTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGJhY2t3YXJkc0ZvckVhY2goYXJyYXksIG9wZXJhdGlvbiwgZG9uZSwgY29udGV4dCkge1xyXG4gIGNvbnN0IGxlbmd0aCA9IGFycmF5Lmxlbmd0aDsgIC8vL1xyXG5cclxuICBsZXQgY291bnQgPSBsZW5ndGg7XHJcblxyXG4gIGZ1bmN0aW9uIG5leHQoKSB7XHJcbiAgICBjb3VudC0tO1xyXG5cclxuICAgIGNvbnN0IHRlcm1pbmF0ZSA9IChjb3VudCA9PT0gLTEpO1xyXG5cclxuICAgIGlmICh0ZXJtaW5hdGUpIHtcclxuICAgICAgZG9uZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgaW5kZXggPSBjb3VudCwgIC8vL1xyXG4gICAgICAgICAgICBlbGVtZW50ID0gYXJyYXlbaW5kZXhdO1xyXG5cclxuICAgICAgb3BlcmF0aW9uKGVsZW1lbnQsIG5leHQsIGRvbmUsIGNvbnRleHQsIGluZGV4KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5leHQoKTtcclxufVxyXG5cclxuZXhwb3J0IGRlZmF1bHQge1xyXG4gIHdoaWxzdCxcclxuICBmb3JFYWNoLFxyXG4gIHNlcXVlbmNlLFxyXG4gIGV2ZW50dWFsbHksXHJcbiAgcmVwZWF0ZWRseSxcclxuICBmb3J3YXJkc0ZvckVhY2gsXHJcbiAgYmFja3dhcmRzRm9yRWFjaFxyXG59O1xyXG4iXSwibmFtZXMiOlsid2hpbHN0IiwiZm9yRWFjaCIsInNlcXVlbmNlIiwiZXZlbnR1YWxseSIsInJlcGVhdGVkbHkiLCJmb3J3YXJkc0ZvckVhY2giLCJiYWNrd2FyZHNGb3JFYWNoIiwib3BlcmF0aW9uIiwiZG9uZSIsImNvbnRleHQiLCJjb3VudCIsIm5leHQiLCJpbmRleCIsInRlcm1pbmF0ZSIsImFycmF5IiwibGVuZ3RoIiwiZWxlbWVudCIsIm9wZXJhdGlvbnMiXSwibWFwcGluZ3MiOiJBQUFBLENBQVk7Ozs7UUFFSUEsTUFBTSxHQUFOQSxNQUFNO1FBaUJOQyxPQUFPLEdBQVBBLE9BQU87UUF1QlBDLFFBQVEsR0FBUkEsUUFBUTtRQXVCUkMsVUFBVSxHQUFWQSxVQUFVO1FBb0JWQyxVQUFVLEdBQVZBLFVBQVU7UUFrQlZDLGVBQWUsR0FBZkEsZUFBZTtRQXVCZkMsZ0JBQWdCLEdBQWhCQSxnQkFBZ0I7O1NBNUhoQk4sTUFBTSxDQUFDTyxTQUFTLEVBQUVDLElBQUksRUFBRUMsT0FBTyxFQUFF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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "necessary",
3
3
  "author": "James Smith",
4
- "version": "10.0.3",
4
+ "version": "10.0.4",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/necessary",
7
7
  "description": "A collection of utility functions.",
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
 
3
- export function whilst(callback, done, context) {
3
+ export function whilst(operation, done, context) {
4
4
  let count = -1;
5
5
 
6
6
  function next() {
7
7
  count++;
8
8
 
9
9
  const index = count, ///
10
- terminate = callback(next, done, context, index);
10
+ terminate = operation(next, done, context, index);
11
11
 
12
12
  if (terminate) {
13
13
  done();
@@ -17,7 +17,7 @@ export function whilst(callback, done, context) {
17
17
  next();
18
18
  }
19
19
 
20
- export function forEach(array, callback, done, context) {
20
+ export function forEach(array, operation, done, context) {
21
21
  const length = array.length; ///
22
22
 
23
23
  let count = -1;
@@ -33,15 +33,15 @@ export function forEach(array, callback, done, context) {
33
33
  const index = count, ///
34
34
  element = array[index];
35
35
 
36
- callback(element, next, done, context, index);
36
+ operation(element, next, done, context, index);
37
37
  }
38
38
  }
39
39
 
40
40
  next();
41
41
  }
42
42
 
43
- export function sequence(callbacks, done, context) {
44
- const length = callbacks.length; ///
43
+ export function sequence(operations, done, context) {
44
+ const length = operations.length; ///
45
45
 
46
46
  let count = -1;
47
47
 
@@ -54,17 +54,17 @@ export function sequence(callbacks, done, context) {
54
54
  done();
55
55
  } else {
56
56
  const index = count, ///
57
- callback = callbacks[index];
57
+ operation = operations[index];
58
58
 
59
- callback(next, done, context, index);
59
+ operation(next, done, context, index);
60
60
  }
61
61
  }
62
62
 
63
63
  next();
64
64
  }
65
65
 
66
- export function eventually(callbacks, done, context) {
67
- const length = callbacks.length; ///
66
+ export function eventually(operations, done, context) {
67
+ const length = operations.length; ///
68
68
 
69
69
  let count = 0;
70
70
 
@@ -78,12 +78,12 @@ export function eventually(callbacks, done, context) {
78
78
  }
79
79
  }
80
80
 
81
- callbacks.forEach((callback, index) => {
82
- callback(next, done, context, index);
81
+ operations.forEach((operation, index) => {
82
+ operation(next, done, context, index);
83
83
  });
84
84
  }
85
85
 
86
- export function repeatedly(callback, length, done, context) {
86
+ export function repeatedly(operation, length, done, context) {
87
87
  let count = 0;
88
88
 
89
89
  function next() {
@@ -97,11 +97,11 @@ export function repeatedly(callback, length, done, context) {
97
97
  }
98
98
 
99
99
  for (let index = 0; index < length; index++) {
100
- callback(next, done, context, index);
100
+ operation(next, done, context, index);
101
101
  }
102
102
  }
103
103
 
104
- export function forwardsForEach(array, callback, done, context) {
104
+ export function forwardsForEach(array, operation, done, context) {
105
105
  const length = array.length; ///
106
106
 
107
107
  let count = -1;
@@ -117,14 +117,14 @@ export function forwardsForEach(array, callback, done, context) {
117
117
  const index = count, ///
118
118
  element = array[index];
119
119
 
120
- callback(element, next, done, context, index);
120
+ operation(element, next, done, context, index);
121
121
  }
122
122
  }
123
123
 
124
124
  next();
125
125
  }
126
126
 
127
- export function backwardsForEach(array, callback, done, context) {
127
+ export function backwardsForEach(array, operation, done, context) {
128
128
  const length = array.length; ///
129
129
 
130
130
  let count = length;
@@ -140,7 +140,7 @@ export function backwardsForEach(array, callback, done, context) {
140
140
  const index = count, ///
141
141
  element = array[index];
142
142
 
143
- callback(element, next, done, context, index);
143
+ operation(element, next, done, context, index);
144
144
  }
145
145
  }
146
146