@unpackjs/core 1.7.7 → 1.7.9

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.
Files changed (55) hide show
  1. package/compiled/css-loader/index.js +20 -20
  2. package/compiled/less-loader/index.js +8 -8
  3. package/compiled/portfinder/index.d.ts +22 -3
  4. package/compiled/portfinder/index.js +1413 -1529
  5. package/compiled/portfinder/package.json +1 -1
  6. package/compiled/postcss-loader/index.js +13 -86523
  7. package/compiled/sass-loader/index.js +8 -8
  8. package/compiled/style-loader/index.js +10 -10
  9. package/dist/bundler-config/chunkSplit.cjs +7 -13
  10. package/dist/bundler-config/chunkSplit.d.ts.map +1 -1
  11. package/dist/bundler-config/chunkSplit.js +3 -3
  12. package/dist/bundler-config/css.cjs +4 -10
  13. package/dist/bundler-config/experimentCss.cjs +4 -10
  14. package/dist/bundler-config/helper.cjs +7 -13
  15. package/dist/bundler-config/helper.js +1 -1
  16. package/dist/bundler-config/index.cjs +7 -13
  17. package/dist/bundler-config/index.js +4 -4
  18. package/dist/bundler-config/jsMinify.cjs +5 -11
  19. package/dist/bundler-config/jsMinify.js +1 -1
  20. package/dist/colors.cjs +4 -10
  21. package/dist/config.cjs +7 -13
  22. package/dist/config.js +1 -1
  23. package/dist/constants.cjs +11 -13
  24. package/dist/createUnpack.cjs +6 -12
  25. package/dist/createUnpack.js +2 -2
  26. package/dist/global.cjs +2 -4
  27. package/dist/index.cjs +18 -24
  28. package/dist/lightningcss/loader.cjs +2 -4
  29. package/dist/lightningcss/minimizer.cjs +2 -4
  30. package/dist/logger.cjs +4 -10
  31. package/dist/openBrowser.cjs +4 -10
  32. package/dist/plugin-progress/rspack.cjs +4 -10
  33. package/dist/plugin-progress/webpack.cjs +4 -10
  34. package/dist/plugin.cjs +2 -4
  35. package/dist/prebundleDeps.cjs +8 -15
  36. package/dist/prebundleDeps.d.ts.map +1 -1
  37. package/dist/prebundleDeps.js +4 -5
  38. package/dist/progressBar.cjs +4 -10
  39. package/dist/reporter.cjs +4 -10
  40. package/dist/run/build.cjs +4 -10
  41. package/dist/run/dev.cjs +5 -11
  42. package/dist/run/dev.js +1 -1
  43. package/dist/run/index.cjs +4 -10
  44. package/dist/typed-css-modules/loader.cjs +9 -15
  45. package/dist/typed-css-modules/loader.js +4 -4
  46. package/dist/typed-css-modules/plugin.cjs +4 -10
  47. package/dist/typed-css-modules/utils.cjs +2 -4
  48. package/dist/types/config.d.ts +1 -1
  49. package/dist/types/config.d.ts.map +1 -1
  50. package/dist/types/index.cjs +4 -10
  51. package/dist/types/logger.cjs +2 -4
  52. package/dist/utils.cjs +32 -38
  53. package/dist/utils.js +8 -8
  54. package/dist/watchFiles.cjs +4 -10
  55. package/package.json +6 -6
@@ -1,38 +1,21 @@
1
1
  (() => {
2
2
  var __webpack_modules__ = {
3
- 515: function (module, exports, __nccwpck_require__) {
4
- module = __nccwpck_require__.nmd(module);
3
+ 594: function (__unused_webpack_module, exports) {
5
4
  (function (global, factory) {
6
5
  true ? factory(exports) : 0;
7
6
  })(this, function (exports) {
8
7
  "use strict";
9
- function slice(arrayLike, start) {
10
- start = start | 0;
11
- var newLen = Math.max(arrayLike.length - start, 0);
12
- var newArr = Array(newLen);
13
- for (var idx = 0; idx < newLen; idx++) {
14
- newArr[idx] = arrayLike[start + idx];
15
- }
16
- return newArr;
8
+ function apply(fn, ...args) {
9
+ return (...callArgs) => fn(...args, ...callArgs);
17
10
  }
18
- var apply = function (fn) {
19
- var args = slice(arguments, 1);
20
- return function () {
21
- var callArgs = slice(arguments);
22
- return fn.apply(null, args.concat(callArgs));
23
- };
24
- };
25
- var initialParams = function (fn) {
26
- return function () {
27
- var args = slice(arguments);
11
+ function initialParams(fn) {
12
+ return function (...args) {
28
13
  var callback = args.pop();
29
- fn.call(this, args, callback);
14
+ return fn.call(this, args, callback);
30
15
  };
31
- };
32
- function isObject(value) {
33
- var type = typeof value;
34
- return value != null && (type == "object" || type == "function");
35
16
  }
17
+ var hasQueueMicrotask =
18
+ typeof queueMicrotask === "function" && queueMicrotask;
36
19
  var hasSetImmediate =
37
20
  typeof setImmediate === "function" && setImmediate;
38
21
  var hasNextTick =
@@ -41,23 +24,27 @@
41
24
  setTimeout(fn, 0);
42
25
  }
43
26
  function wrap(defer) {
44
- return function (fn) {
45
- var args = slice(arguments, 1);
46
- defer(function () {
47
- fn.apply(null, args);
48
- });
49
- };
27
+ return (fn, ...args) => defer(() => fn(...args));
50
28
  }
51
- var _defer;
52
- if (hasSetImmediate) {
53
- _defer = setImmediate;
29
+ var _defer$1;
30
+ if (hasQueueMicrotask) {
31
+ _defer$1 = queueMicrotask;
32
+ } else if (hasSetImmediate) {
33
+ _defer$1 = setImmediate;
54
34
  } else if (hasNextTick) {
55
- _defer = process.nextTick;
35
+ _defer$1 = process.nextTick;
56
36
  } else {
57
- _defer = fallback;
37
+ _defer$1 = fallback;
58
38
  }
59
- var setImmediate$1 = wrap(_defer);
39
+ var setImmediate$1 = wrap(_defer$1);
60
40
  function asyncify(func) {
41
+ if (isAsync(func)) {
42
+ return function (...args) {
43
+ const callback = args.pop();
44
+ const promise = func.apply(this, args);
45
+ return handlePromise(promise, callback);
46
+ };
47
+ }
61
48
  return initialParams(function (args, callback) {
62
49
  var result;
63
50
  try {
@@ -65,357 +52,123 @@
65
52
  } catch (e) {
66
53
  return callback(e);
67
54
  }
68
- if (isObject(result) && typeof result.then === "function") {
69
- result.then(
70
- function (value) {
71
- invokeCallback(callback, null, value);
72
- },
73
- function (err) {
74
- invokeCallback(callback, err.message ? err : new Error(err));
75
- },
76
- );
55
+ if (result && typeof result.then === "function") {
56
+ return handlePromise(result, callback);
77
57
  } else {
78
58
  callback(null, result);
79
59
  }
80
60
  });
81
61
  }
62
+ function handlePromise(promise, callback) {
63
+ return promise.then(
64
+ (value) => {
65
+ invokeCallback(callback, null, value);
66
+ },
67
+ (err) => {
68
+ invokeCallback(
69
+ callback,
70
+ err && (err instanceof Error || err.message)
71
+ ? err
72
+ : new Error(err),
73
+ );
74
+ },
75
+ );
76
+ }
82
77
  function invokeCallback(callback, error, value) {
83
78
  try {
84
79
  callback(error, value);
85
- } catch (e) {
86
- setImmediate$1(rethrow, e);
80
+ } catch (err) {
81
+ setImmediate$1((e) => {
82
+ throw e;
83
+ }, err);
87
84
  }
88
85
  }
89
- function rethrow(error) {
90
- throw error;
91
- }
92
- var supportsSymbol = typeof Symbol === "function";
93
86
  function isAsync(fn) {
94
- return supportsSymbol && fn[Symbol.toStringTag] === "AsyncFunction";
87
+ return fn[Symbol.toStringTag] === "AsyncFunction";
88
+ }
89
+ function isAsyncGenerator(fn) {
90
+ return fn[Symbol.toStringTag] === "AsyncGenerator";
91
+ }
92
+ function isAsyncIterable(obj) {
93
+ return typeof obj[Symbol.asyncIterator] === "function";
95
94
  }
96
95
  function wrapAsync(asyncFn) {
96
+ if (typeof asyncFn !== "function")
97
+ throw new Error("expected a function");
97
98
  return isAsync(asyncFn) ? asyncify(asyncFn) : asyncFn;
98
99
  }
100
+ function awaitify(asyncFn, arity) {
101
+ if (!arity) arity = asyncFn.length;
102
+ if (!arity) throw new Error("arity is undefined");
103
+ function awaitable(...args) {
104
+ if (typeof args[arity - 1] === "function") {
105
+ return asyncFn.apply(this, args);
106
+ }
107
+ return new Promise((resolve, reject) => {
108
+ args[arity - 1] = (err, ...cbArgs) => {
109
+ if (err) return reject(err);
110
+ resolve(cbArgs.length > 1 ? cbArgs : cbArgs[0]);
111
+ };
112
+ asyncFn.apply(this, args);
113
+ });
114
+ }
115
+ return awaitable;
116
+ }
99
117
  function applyEach$1(eachfn) {
100
- return function (fns) {
101
- var args = slice(arguments, 1);
102
- var go = initialParams(function (args, callback) {
118
+ return function applyEach(fns, ...callArgs) {
119
+ const go = awaitify(function (callback) {
103
120
  var that = this;
104
121
  return eachfn(
105
122
  fns,
106
- function (fn, cb) {
107
- wrapAsync(fn).apply(that, args.concat(cb));
123
+ (fn, cb) => {
124
+ wrapAsync(fn).apply(that, callArgs.concat(cb));
108
125
  },
109
126
  callback,
110
127
  );
111
128
  });
112
- if (args.length) {
113
- return go.apply(this, args);
114
- } else {
115
- return go;
116
- }
129
+ return go;
117
130
  };
118
131
  }
119
- var freeGlobal =
120
- typeof global == "object" &&
121
- global &&
122
- global.Object === Object &&
123
- global;
124
- var freeSelf =
125
- typeof self == "object" && self && self.Object === Object && self;
126
- var root = freeGlobal || freeSelf || Function("return this")();
127
- var Symbol$1 = root.Symbol;
128
- var objectProto = Object.prototype;
129
- var hasOwnProperty = objectProto.hasOwnProperty;
130
- var nativeObjectToString = objectProto.toString;
131
- var symToStringTag$1 = Symbol$1 ? Symbol$1.toStringTag : undefined;
132
- function getRawTag(value) {
133
- var isOwn = hasOwnProperty.call(value, symToStringTag$1),
134
- tag = value[symToStringTag$1];
135
- try {
136
- value[symToStringTag$1] = undefined;
137
- var unmasked = true;
138
- } catch (e) {}
139
- var result = nativeObjectToString.call(value);
140
- if (unmasked) {
141
- if (isOwn) {
142
- value[symToStringTag$1] = tag;
143
- } else {
144
- delete value[symToStringTag$1];
145
- }
146
- }
147
- return result;
148
- }
149
- var objectProto$1 = Object.prototype;
150
- var nativeObjectToString$1 = objectProto$1.toString;
151
- function objectToString(value) {
152
- return nativeObjectToString$1.call(value);
153
- }
154
- var nullTag = "[object Null]";
155
- var undefinedTag = "[object Undefined]";
156
- var symToStringTag = Symbol$1 ? Symbol$1.toStringTag : undefined;
157
- function baseGetTag(value) {
158
- if (value == null) {
159
- return value === undefined ? undefinedTag : nullTag;
160
- }
161
- return symToStringTag && symToStringTag in Object(value)
162
- ? getRawTag(value)
163
- : objectToString(value);
164
- }
165
- var asyncTag = "[object AsyncFunction]";
166
- var funcTag = "[object Function]";
167
- var genTag = "[object GeneratorFunction]";
168
- var proxyTag = "[object Proxy]";
169
- function isFunction(value) {
170
- if (!isObject(value)) {
171
- return false;
172
- }
173
- var tag = baseGetTag(value);
174
- return (
175
- tag == funcTag ||
176
- tag == genTag ||
177
- tag == asyncTag ||
178
- tag == proxyTag
132
+ function _asyncMap(eachfn, arr, iteratee, callback) {
133
+ arr = arr || [];
134
+ var results = [];
135
+ var counter = 0;
136
+ var _iteratee = wrapAsync(iteratee);
137
+ return eachfn(
138
+ arr,
139
+ (value, _, iterCb) => {
140
+ var index = counter++;
141
+ _iteratee(value, (err, v) => {
142
+ results[index] = v;
143
+ iterCb(err);
144
+ });
145
+ },
146
+ (err) => {
147
+ callback(err, results);
148
+ },
179
149
  );
180
150
  }
181
- var MAX_SAFE_INTEGER = 9007199254740991;
182
- function isLength(value) {
151
+ function isArrayLike(value) {
183
152
  return (
184
- typeof value == "number" &&
185
- value > -1 &&
186
- value % 1 == 0 &&
187
- value <= MAX_SAFE_INTEGER
153
+ value &&
154
+ typeof value.length === "number" &&
155
+ value.length >= 0 &&
156
+ value.length % 1 === 0
188
157
  );
189
158
  }
190
- function isArrayLike(value) {
191
- return value != null && isLength(value.length) && !isFunction(value);
192
- }
193
- var breakLoop = {};
194
- function noop() {}
159
+ const breakLoop = {};
195
160
  function once(fn) {
196
- return function () {
161
+ function wrapper(...args) {
197
162
  if (fn === null) return;
198
163
  var callFn = fn;
199
164
  fn = null;
200
- callFn.apply(this, arguments);
201
- };
202
- }
203
- var iteratorSymbol = typeof Symbol === "function" && Symbol.iterator;
204
- var getIterator = function (coll) {
205
- return (
206
- iteratorSymbol && coll[iteratorSymbol] && coll[iteratorSymbol]()
207
- );
208
- };
209
- function baseTimes(n, iteratee) {
210
- var index = -1,
211
- result = Array(n);
212
- while (++index < n) {
213
- result[index] = iteratee(index);
165
+ callFn.apply(this, args);
214
166
  }
215
- return result;
167
+ Object.assign(wrapper, fn);
168
+ return wrapper;
216
169
  }
217
- function isObjectLike(value) {
218
- return value != null && typeof value == "object";
219
- }
220
- var argsTag = "[object Arguments]";
221
- function baseIsArguments(value) {
222
- return isObjectLike(value) && baseGetTag(value) == argsTag;
223
- }
224
- var objectProto$3 = Object.prototype;
225
- var hasOwnProperty$2 = objectProto$3.hasOwnProperty;
226
- var propertyIsEnumerable = objectProto$3.propertyIsEnumerable;
227
- var isArguments = baseIsArguments(
228
- (function () {
229
- return arguments;
230
- })(),
231
- )
232
- ? baseIsArguments
233
- : function (value) {
234
- return (
235
- isObjectLike(value) &&
236
- hasOwnProperty$2.call(value, "callee") &&
237
- !propertyIsEnumerable.call(value, "callee")
238
- );
239
- };
240
- var isArray = Array.isArray;
241
- function stubFalse() {
242
- return false;
243
- }
244
- var freeExports =
245
- typeof exports == "object" && exports && !exports.nodeType && exports;
246
- var freeModule =
247
- freeExports &&
248
- "object" == "object" &&
249
- module &&
250
- !module.nodeType &&
251
- module;
252
- var moduleExports = freeModule && freeModule.exports === freeExports;
253
- var Buffer = moduleExports ? root.Buffer : undefined;
254
- var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;
255
- var isBuffer = nativeIsBuffer || stubFalse;
256
- var MAX_SAFE_INTEGER$1 = 9007199254740991;
257
- var reIsUint = /^(?:0|[1-9]\d*)$/;
258
- function isIndex(value, length) {
259
- var type = typeof value;
260
- length = length == null ? MAX_SAFE_INTEGER$1 : length;
261
- return (
262
- !!length &&
263
- (type == "number" || (type != "symbol" && reIsUint.test(value))) &&
264
- value > -1 &&
265
- value % 1 == 0 &&
266
- value < length
267
- );
268
- }
269
- var argsTag$1 = "[object Arguments]";
270
- var arrayTag = "[object Array]";
271
- var boolTag = "[object Boolean]";
272
- var dateTag = "[object Date]";
273
- var errorTag = "[object Error]";
274
- var funcTag$1 = "[object Function]";
275
- var mapTag = "[object Map]";
276
- var numberTag = "[object Number]";
277
- var objectTag = "[object Object]";
278
- var regexpTag = "[object RegExp]";
279
- var setTag = "[object Set]";
280
- var stringTag = "[object String]";
281
- var weakMapTag = "[object WeakMap]";
282
- var arrayBufferTag = "[object ArrayBuffer]";
283
- var dataViewTag = "[object DataView]";
284
- var float32Tag = "[object Float32Array]";
285
- var float64Tag = "[object Float64Array]";
286
- var int8Tag = "[object Int8Array]";
287
- var int16Tag = "[object Int16Array]";
288
- var int32Tag = "[object Int32Array]";
289
- var uint8Tag = "[object Uint8Array]";
290
- var uint8ClampedTag = "[object Uint8ClampedArray]";
291
- var uint16Tag = "[object Uint16Array]";
292
- var uint32Tag = "[object Uint32Array]";
293
- var typedArrayTags = {};
294
- typedArrayTags[float32Tag] =
295
- typedArrayTags[float64Tag] =
296
- typedArrayTags[int8Tag] =
297
- typedArrayTags[int16Tag] =
298
- typedArrayTags[int32Tag] =
299
- typedArrayTags[uint8Tag] =
300
- typedArrayTags[uint8ClampedTag] =
301
- typedArrayTags[uint16Tag] =
302
- typedArrayTags[uint32Tag] =
303
- true;
304
- typedArrayTags[argsTag$1] =
305
- typedArrayTags[arrayTag] =
306
- typedArrayTags[arrayBufferTag] =
307
- typedArrayTags[boolTag] =
308
- typedArrayTags[dataViewTag] =
309
- typedArrayTags[dateTag] =
310
- typedArrayTags[errorTag] =
311
- typedArrayTags[funcTag$1] =
312
- typedArrayTags[mapTag] =
313
- typedArrayTags[numberTag] =
314
- typedArrayTags[objectTag] =
315
- typedArrayTags[regexpTag] =
316
- typedArrayTags[setTag] =
317
- typedArrayTags[stringTag] =
318
- typedArrayTags[weakMapTag] =
319
- false;
320
- function baseIsTypedArray(value) {
321
- return (
322
- isObjectLike(value) &&
323
- isLength(value.length) &&
324
- !!typedArrayTags[baseGetTag(value)]
325
- );
326
- }
327
- function baseUnary(func) {
328
- return function (value) {
329
- return func(value);
330
- };
331
- }
332
- var freeExports$1 =
333
- typeof exports == "object" && exports && !exports.nodeType && exports;
334
- var freeModule$1 =
335
- freeExports$1 &&
336
- "object" == "object" &&
337
- module &&
338
- !module.nodeType &&
339
- module;
340
- var moduleExports$1 =
341
- freeModule$1 && freeModule$1.exports === freeExports$1;
342
- var freeProcess = moduleExports$1 && freeGlobal.process;
343
- var nodeUtil = (function () {
344
- try {
345
- var types =
346
- freeModule$1 &&
347
- freeModule$1.require &&
348
- freeModule$1.require("util").types;
349
- if (types) {
350
- return types;
351
- }
352
- return (
353
- freeProcess && freeProcess.binding && freeProcess.binding("util")
354
- );
355
- } catch (e) {}
356
- })();
357
- var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
358
- var isTypedArray = nodeIsTypedArray
359
- ? baseUnary(nodeIsTypedArray)
360
- : baseIsTypedArray;
361
- var objectProto$2 = Object.prototype;
362
- var hasOwnProperty$1 = objectProto$2.hasOwnProperty;
363
- function arrayLikeKeys(value, inherited) {
364
- var isArr = isArray(value),
365
- isArg = !isArr && isArguments(value),
366
- isBuff = !isArr && !isArg && isBuffer(value),
367
- isType = !isArr && !isArg && !isBuff && isTypedArray(value),
368
- skipIndexes = isArr || isArg || isBuff || isType,
369
- result = skipIndexes ? baseTimes(value.length, String) : [],
370
- length = result.length;
371
- for (var key in value) {
372
- if (
373
- (inherited || hasOwnProperty$1.call(value, key)) &&
374
- !(
375
- skipIndexes &&
376
- (key == "length" ||
377
- (isBuff && (key == "offset" || key == "parent")) ||
378
- (isType &&
379
- (key == "buffer" ||
380
- key == "byteLength" ||
381
- key == "byteOffset")) ||
382
- isIndex(key, length))
383
- )
384
- ) {
385
- result.push(key);
386
- }
387
- }
388
- return result;
389
- }
390
- var objectProto$5 = Object.prototype;
391
- function isPrototype(value) {
392
- var Ctor = value && value.constructor,
393
- proto =
394
- (typeof Ctor == "function" && Ctor.prototype) || objectProto$5;
395
- return value === proto;
396
- }
397
- function overArg(func, transform) {
398
- return function (arg) {
399
- return func(transform(arg));
400
- };
401
- }
402
- var nativeKeys = overArg(Object.keys, Object);
403
- var objectProto$4 = Object.prototype;
404
- var hasOwnProperty$3 = objectProto$4.hasOwnProperty;
405
- function baseKeys(object) {
406
- if (!isPrototype(object)) {
407
- return nativeKeys(object);
408
- }
409
- var result = [];
410
- for (var key in Object(object)) {
411
- if (hasOwnProperty$3.call(object, key) && key != "constructor") {
412
- result.push(key);
413
- }
414
- }
415
- return result;
416
- }
417
- function keys(object) {
418
- return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);
170
+ function getIterator(coll) {
171
+ return coll[Symbol.iterator] && coll[Symbol.iterator]();
419
172
  }
420
173
  function createArrayIterator(coll) {
421
174
  var i = -1;
@@ -434,7 +187,7 @@
434
187
  };
435
188
  }
436
189
  function createObjectIterator(obj) {
437
- var okeys = keys(obj);
190
+ var okeys = obj ? Object.keys(obj) : [];
438
191
  var i = -1;
439
192
  var len = okeys.length;
440
193
  return function next() {
@@ -445,7 +198,7 @@
445
198
  return i < len ? { value: obj[key], key } : null;
446
199
  };
447
200
  }
448
- function iterator(coll) {
201
+ function createIterator(coll) {
449
202
  if (isArrayLike(coll)) {
450
203
  return createArrayIterator(coll);
451
204
  }
@@ -455,71 +208,140 @@
455
208
  : createObjectIterator(coll);
456
209
  }
457
210
  function onlyOnce(fn) {
458
- return function () {
211
+ return function (...args) {
459
212
  if (fn === null) throw new Error("Callback was already called.");
460
213
  var callFn = fn;
461
214
  fn = null;
462
- callFn.apply(this, arguments);
215
+ callFn.apply(this, args);
463
216
  };
464
217
  }
465
- function _eachOfLimit(limit) {
466
- return function (obj, iteratee, callback) {
467
- callback = once(callback || noop);
468
- if (limit <= 0 || !obj) {
469
- return callback(null);
470
- }
471
- var nextElem = iterator(obj);
472
- var done = false;
473
- var running = 0;
474
- var looping = false;
475
- function iterateeCallback(err, value) {
476
- running -= 1;
477
- if (err) {
478
- done = true;
479
- callback(err);
480
- } else if (value === breakLoop || (done && running <= 0)) {
481
- done = true;
482
- return callback(null);
483
- } else if (!looping) {
484
- replenish();
485
- }
486
- }
487
- function replenish() {
488
- looping = true;
489
- while (running < limit && !done) {
490
- var elem = nextElem();
491
- if (elem === null) {
218
+ function asyncEachOfLimit(generator, limit, iteratee, callback) {
219
+ let done = false;
220
+ let canceled = false;
221
+ let awaiting = false;
222
+ let running = 0;
223
+ let idx = 0;
224
+ function replenish() {
225
+ if (running >= limit || awaiting || done) return;
226
+ awaiting = true;
227
+ generator
228
+ .next()
229
+ .then(({ value, done: iterDone }) => {
230
+ if (canceled || done) return;
231
+ awaiting = false;
232
+ if (iterDone) {
492
233
  done = true;
493
234
  if (running <= 0) {
494
235
  callback(null);
495
236
  }
496
237
  return;
497
238
  }
498
- running += 1;
499
- iteratee(elem.value, elem.key, onlyOnce(iterateeCallback));
500
- }
501
- looping = false;
239
+ running++;
240
+ iteratee(value, idx, iterateeCallback);
241
+ idx++;
242
+ replenish();
243
+ })
244
+ .catch(handleError);
245
+ }
246
+ function iterateeCallback(err, result) {
247
+ running -= 1;
248
+ if (canceled) return;
249
+ if (err) return handleError(err);
250
+ if (err === false) {
251
+ done = true;
252
+ canceled = true;
253
+ return;
254
+ }
255
+ if (result === breakLoop || (done && running <= 0)) {
256
+ done = true;
257
+ return callback(null);
502
258
  }
503
259
  replenish();
504
- };
260
+ }
261
+ function handleError(err) {
262
+ if (canceled) return;
263
+ awaiting = false;
264
+ done = true;
265
+ callback(err);
266
+ }
267
+ replenish();
505
268
  }
269
+ var eachOfLimit$2 = (limit) => (obj, iteratee, callback) => {
270
+ callback = once(callback);
271
+ if (limit <= 0) {
272
+ throw new RangeError("concurrency limit cannot be less than 1");
273
+ }
274
+ if (!obj) {
275
+ return callback(null);
276
+ }
277
+ if (isAsyncGenerator(obj)) {
278
+ return asyncEachOfLimit(obj, limit, iteratee, callback);
279
+ }
280
+ if (isAsyncIterable(obj)) {
281
+ return asyncEachOfLimit(
282
+ obj[Symbol.asyncIterator](),
283
+ limit,
284
+ iteratee,
285
+ callback,
286
+ );
287
+ }
288
+ var nextElem = createIterator(obj);
289
+ var done = false;
290
+ var canceled = false;
291
+ var running = 0;
292
+ var looping = false;
293
+ function iterateeCallback(err, value) {
294
+ if (canceled) return;
295
+ running -= 1;
296
+ if (err) {
297
+ done = true;
298
+ callback(err);
299
+ } else if (err === false) {
300
+ done = true;
301
+ canceled = true;
302
+ } else if (value === breakLoop || (done && running <= 0)) {
303
+ done = true;
304
+ return callback(null);
305
+ } else if (!looping) {
306
+ replenish();
307
+ }
308
+ }
309
+ function replenish() {
310
+ looping = true;
311
+ while (running < limit && !done) {
312
+ var elem = nextElem();
313
+ if (elem === null) {
314
+ done = true;
315
+ if (running <= 0) {
316
+ callback(null);
317
+ }
318
+ return;
319
+ }
320
+ running += 1;
321
+ iteratee(elem.value, elem.key, onlyOnce(iterateeCallback));
322
+ }
323
+ looping = false;
324
+ }
325
+ replenish();
326
+ };
506
327
  function eachOfLimit(coll, limit, iteratee, callback) {
507
- _eachOfLimit(limit)(coll, wrapAsync(iteratee), callback);
508
- }
509
- function doLimit(fn, limit) {
510
- return function (iterable, iteratee, callback) {
511
- return fn(iterable, limit, iteratee, callback);
512
- };
328
+ return eachOfLimit$2(limit)(coll, wrapAsync(iteratee), callback);
513
329
  }
330
+ var eachOfLimit$1 = awaitify(eachOfLimit, 4);
514
331
  function eachOfArrayLike(coll, iteratee, callback) {
515
- callback = once(callback || noop);
332
+ callback = once(callback);
516
333
  var index = 0,
517
334
  completed = 0,
518
- length = coll.length;
335
+ { length } = coll,
336
+ canceled = false;
519
337
  if (length === 0) {
520
338
  callback(null);
521
339
  }
522
340
  function iteratorCallback(err, value) {
341
+ if (err === false) {
342
+ canceled = true;
343
+ }
344
+ if (canceled === true) return;
523
345
  if (err) {
524
346
  callback(err);
525
347
  } else if (++completed === length || value === breakLoop) {
@@ -530,113 +352,49 @@
530
352
  iteratee(coll[index], index, onlyOnce(iteratorCallback));
531
353
  }
532
354
  }
533
- var eachOfGeneric = doLimit(eachOfLimit, Infinity);
534
- var eachOf = function (coll, iteratee, callback) {
355
+ function eachOfGeneric(coll, iteratee, callback) {
356
+ return eachOfLimit$1(coll, Infinity, iteratee, callback);
357
+ }
358
+ function eachOf(coll, iteratee, callback) {
535
359
  var eachOfImplementation = isArrayLike(coll)
536
360
  ? eachOfArrayLike
537
361
  : eachOfGeneric;
538
- eachOfImplementation(coll, wrapAsync(iteratee), callback);
539
- };
540
- function doParallel(fn) {
541
- return function (obj, iteratee, callback) {
542
- return fn(eachOf, obj, wrapAsync(iteratee), callback);
543
- };
544
- }
545
- function _asyncMap(eachfn, arr, iteratee, callback) {
546
- callback = callback || noop;
547
- arr = arr || [];
548
- var results = [];
549
- var counter = 0;
550
- var _iteratee = wrapAsync(iteratee);
551
- eachfn(
552
- arr,
553
- function (value, _, callback) {
554
- var index = counter++;
555
- _iteratee(value, function (err, v) {
556
- results[index] = v;
557
- callback(err);
558
- });
559
- },
560
- function (err) {
561
- callback(err, results);
562
- },
563
- );
564
- }
565
- var map = doParallel(_asyncMap);
566
- var applyEach = applyEach$1(map);
567
- function doParallelLimit(fn) {
568
- return function (obj, limit, iteratee, callback) {
569
- return fn(_eachOfLimit(limit), obj, wrapAsync(iteratee), callback);
570
- };
571
- }
572
- var mapLimit = doParallelLimit(_asyncMap);
573
- var mapSeries = doLimit(mapLimit, 1);
574
- var applyEachSeries = applyEach$1(mapSeries);
575
- function arrayEach(array, iteratee) {
576
- var index = -1,
577
- length = array == null ? 0 : array.length;
578
- while (++index < length) {
579
- if (iteratee(array[index], index, array) === false) {
580
- break;
581
- }
582
- }
583
- return array;
584
- }
585
- function createBaseFor(fromRight) {
586
- return function (object, iteratee, keysFunc) {
587
- var index = -1,
588
- iterable = Object(object),
589
- props = keysFunc(object),
590
- length = props.length;
591
- while (length--) {
592
- var key = props[fromRight ? length : ++index];
593
- if (iteratee(iterable[key], key, iterable) === false) {
594
- break;
595
- }
596
- }
597
- return object;
598
- };
599
- }
600
- var baseFor = createBaseFor();
601
- function baseForOwn(object, iteratee) {
602
- return object && baseFor(object, iteratee, keys);
603
- }
604
- function baseFindIndex(array, predicate, fromIndex, fromRight) {
605
- var length = array.length,
606
- index = fromIndex + (fromRight ? 1 : -1);
607
- while (fromRight ? index-- : ++index < length) {
608
- if (predicate(array[index], index, array)) {
609
- return index;
610
- }
611
- }
612
- return -1;
613
- }
614
- function baseIsNaN(value) {
615
- return value !== value;
616
- }
617
- function strictIndexOf(array, value, fromIndex) {
618
- var index = fromIndex - 1,
619
- length = array.length;
620
- while (++index < length) {
621
- if (array[index] === value) {
622
- return index;
623
- }
624
- }
625
- return -1;
626
- }
627
- function baseIndexOf(array, value, fromIndex) {
628
- return value === value
629
- ? strictIndexOf(array, value, fromIndex)
630
- : baseFindIndex(array, baseIsNaN, fromIndex);
362
+ return eachOfImplementation(coll, wrapAsync(iteratee), callback);
363
+ }
364
+ var eachOf$1 = awaitify(eachOf, 3);
365
+ function map(coll, iteratee, callback) {
366
+ return _asyncMap(eachOf$1, coll, iteratee, callback);
367
+ }
368
+ var map$1 = awaitify(map, 3);
369
+ var applyEach = applyEach$1(map$1);
370
+ function eachOfSeries(coll, iteratee, callback) {
371
+ return eachOfLimit$1(coll, 1, iteratee, callback);
372
+ }
373
+ var eachOfSeries$1 = awaitify(eachOfSeries, 3);
374
+ function mapSeries(coll, iteratee, callback) {
375
+ return _asyncMap(eachOfSeries$1, coll, iteratee, callback);
376
+ }
377
+ var mapSeries$1 = awaitify(mapSeries, 3);
378
+ var applyEachSeries = applyEach$1(mapSeries$1);
379
+ const PROMISE_SYMBOL = Symbol("promiseCallback");
380
+ function promiseCallback() {
381
+ let resolve, reject;
382
+ function callback(err, ...args) {
383
+ if (err) return reject(err);
384
+ resolve(args.length > 1 ? args : args[0]);
385
+ }
386
+ callback[PROMISE_SYMBOL] = new Promise((res, rej) => {
387
+ (resolve = res), (reject = rej);
388
+ });
389
+ return callback;
631
390
  }
632
- var auto = function (tasks, concurrency, callback) {
633
- if (typeof concurrency === "function") {
391
+ function auto(tasks, concurrency, callback) {
392
+ if (typeof concurrency !== "number") {
634
393
  callback = concurrency;
635
394
  concurrency = null;
636
395
  }
637
- callback = once(callback || noop);
638
- var keys$$1 = keys(tasks);
639
- var numTasks = keys$$1.length;
396
+ callback = once(callback || promiseCallback());
397
+ var numTasks = Object.keys(tasks).length;
640
398
  if (!numTasks) {
641
399
  return callback(null);
642
400
  }
@@ -645,13 +403,15 @@
645
403
  }
646
404
  var results = {};
647
405
  var runningTasks = 0;
406
+ var canceled = false;
648
407
  var hasError = false;
649
408
  var listeners = Object.create(null);
650
409
  var readyTasks = [];
651
410
  var readyToCheck = [];
652
411
  var uncheckedDependencies = {};
653
- baseForOwn(tasks, function (task, key) {
654
- if (!isArray(task)) {
412
+ Object.keys(tasks).forEach((key) => {
413
+ var task = tasks[key];
414
+ if (!Array.isArray(task)) {
655
415
  enqueueTask(key, [task]);
656
416
  readyToCheck.push(key);
657
417
  return;
@@ -664,7 +424,7 @@
664
424
  return;
665
425
  }
666
426
  uncheckedDependencies[key] = remainingDependencies;
667
- arrayEach(dependencies, function (dependencyName) {
427
+ dependencies.forEach((dependencyName) => {
668
428
  if (!tasks[dependencyName]) {
669
429
  throw new Error(
670
430
  "async.auto task `" +
@@ -675,7 +435,7 @@
675
435
  dependencies.join(", "),
676
436
  );
677
437
  }
678
- addListener(dependencyName, function () {
438
+ addListener(dependencyName, () => {
679
439
  remainingDependencies--;
680
440
  if (remainingDependencies === 0) {
681
441
  enqueueTask(key, task);
@@ -686,11 +446,10 @@
686
446
  checkForDeadlocks();
687
447
  processQueue();
688
448
  function enqueueTask(key, task) {
689
- readyTasks.push(function () {
690
- runTask(key, task);
691
- });
449
+ readyTasks.push(() => runTask(key, task));
692
450
  }
693
451
  function processQueue() {
452
+ if (canceled) return;
694
453
  if (readyTasks.length === 0 && runningTasks === 0) {
695
454
  return callback(null, results);
696
455
  }
@@ -708,26 +467,29 @@
708
467
  }
709
468
  function taskComplete(taskName) {
710
469
  var taskListeners = listeners[taskName] || [];
711
- arrayEach(taskListeners, function (fn) {
712
- fn();
713
- });
470
+ taskListeners.forEach((fn) => fn());
714
471
  processQueue();
715
472
  }
716
473
  function runTask(key, task) {
717
474
  if (hasError) return;
718
- var taskCallback = onlyOnce(function (err, result) {
475
+ var taskCallback = onlyOnce((err, ...result) => {
719
476
  runningTasks--;
720
- if (arguments.length > 2) {
721
- result = slice(arguments, 1);
477
+ if (err === false) {
478
+ canceled = true;
479
+ return;
480
+ }
481
+ if (result.length < 2) {
482
+ [result] = result;
722
483
  }
723
484
  if (err) {
724
485
  var safeResults = {};
725
- baseForOwn(results, function (val, rkey) {
726
- safeResults[rkey] = val;
486
+ Object.keys(results).forEach((rkey) => {
487
+ safeResults[rkey] = results[rkey];
727
488
  });
728
489
  safeResults[key] = result;
729
490
  hasError = true;
730
491
  listeners = Object.create(null);
492
+ if (canceled) return;
731
493
  callback(err, safeResults);
732
494
  } else {
733
495
  results[key] = result;
@@ -748,7 +510,7 @@
748
510
  while (readyToCheck.length) {
749
511
  currentTask = readyToCheck.pop();
750
512
  counter++;
751
- arrayEach(getDependents(currentTask), function (dependent) {
513
+ getDependents(currentTask).forEach((dependent) => {
752
514
  if (--uncheckedDependencies[dependent] === 0) {
753
515
  readyToCheck.push(dependent);
754
516
  }
@@ -762,194 +524,78 @@
762
524
  }
763
525
  function getDependents(taskName) {
764
526
  var result = [];
765
- baseForOwn(tasks, function (task, key) {
766
- if (isArray(task) && baseIndexOf(task, taskName, 0) >= 0) {
527
+ Object.keys(tasks).forEach((key) => {
528
+ const task = tasks[key];
529
+ if (Array.isArray(task) && task.indexOf(taskName) >= 0) {
767
530
  result.push(key);
768
531
  }
769
532
  });
770
533
  return result;
771
534
  }
772
- };
773
- function arrayMap(array, iteratee) {
774
- var index = -1,
775
- length = array == null ? 0 : array.length,
776
- result = Array(length);
777
- while (++index < length) {
778
- result[index] = iteratee(array[index], index, array);
779
- }
780
- return result;
781
- }
782
- var symbolTag = "[object Symbol]";
783
- function isSymbol(value) {
784
- return (
785
- typeof value == "symbol" ||
786
- (isObjectLike(value) && baseGetTag(value) == symbolTag)
787
- );
788
- }
789
- var INFINITY = 1 / 0;
790
- var symbolProto = Symbol$1 ? Symbol$1.prototype : undefined;
791
- var symbolToString = symbolProto ? symbolProto.toString : undefined;
792
- function baseToString(value) {
793
- if (typeof value == "string") {
794
- return value;
795
- }
796
- if (isArray(value)) {
797
- return arrayMap(value, baseToString) + "";
798
- }
799
- if (isSymbol(value)) {
800
- return symbolToString ? symbolToString.call(value) : "";
801
- }
802
- var result = value + "";
803
- return result == "0" && 1 / value == -INFINITY ? "-0" : result;
804
- }
805
- function baseSlice(array, start, end) {
806
- var index = -1,
807
- length = array.length;
808
- if (start < 0) {
809
- start = -start > length ? 0 : length + start;
810
- }
811
- end = end > length ? length : end;
812
- if (end < 0) {
813
- end += length;
814
- }
815
- length = start > end ? 0 : (end - start) >>> 0;
816
- start >>>= 0;
817
- var result = Array(length);
818
- while (++index < length) {
819
- result[index] = array[index + start];
820
- }
821
- return result;
822
- }
823
- function castSlice(array, start, end) {
824
- var length = array.length;
825
- end = end === undefined ? length : end;
826
- return !start && end >= length ? array : baseSlice(array, start, end);
535
+ return callback[PROMISE_SYMBOL];
827
536
  }
828
- function charsEndIndex(strSymbols, chrSymbols) {
829
- var index = strSymbols.length;
830
- while (
831
- index-- &&
832
- baseIndexOf(chrSymbols, strSymbols[index], 0) > -1
833
- ) {}
834
- return index;
835
- }
836
- function charsStartIndex(strSymbols, chrSymbols) {
837
- var index = -1,
838
- length = strSymbols.length;
839
- while (
840
- ++index < length &&
841
- baseIndexOf(chrSymbols, strSymbols[index], 0) > -1
842
- ) {}
843
- return index;
844
- }
845
- function asciiToArray(string) {
846
- return string.split("");
847
- }
848
- var rsAstralRange = "\\ud800-\\udfff";
849
- var rsComboMarksRange = "\\u0300-\\u036f";
850
- var reComboHalfMarksRange = "\\ufe20-\\ufe2f";
851
- var rsComboSymbolsRange = "\\u20d0-\\u20ff";
852
- var rsComboRange =
853
- rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange;
854
- var rsVarRange = "\\ufe0e\\ufe0f";
855
- var rsZWJ = "\\u200d";
856
- var reHasUnicode = RegExp(
857
- "[" + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + "]",
858
- );
859
- function hasUnicode(string) {
860
- return reHasUnicode.test(string);
861
- }
862
- var rsAstralRange$1 = "\\ud800-\\udfff";
863
- var rsComboMarksRange$1 = "\\u0300-\\u036f";
864
- var reComboHalfMarksRange$1 = "\\ufe20-\\ufe2f";
865
- var rsComboSymbolsRange$1 = "\\u20d0-\\u20ff";
866
- var rsComboRange$1 =
867
- rsComboMarksRange$1 + reComboHalfMarksRange$1 + rsComboSymbolsRange$1;
868
- var rsVarRange$1 = "\\ufe0e\\ufe0f";
869
- var rsAstral = "[" + rsAstralRange$1 + "]";
870
- var rsCombo = "[" + rsComboRange$1 + "]";
871
- var rsFitz = "\\ud83c[\\udffb-\\udfff]";
872
- var rsModifier = "(?:" + rsCombo + "|" + rsFitz + ")";
873
- var rsNonAstral = "[^" + rsAstralRange$1 + "]";
874
- var rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}";
875
- var rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]";
876
- var rsZWJ$1 = "\\u200d";
877
- var reOptMod = rsModifier + "?";
878
- var rsOptVar = "[" + rsVarRange$1 + "]?";
879
- var rsOptJoin =
880
- "(?:" +
881
- rsZWJ$1 +
882
- "(?:" +
883
- [rsNonAstral, rsRegional, rsSurrPair].join("|") +
884
- ")" +
885
- rsOptVar +
886
- reOptMod +
887
- ")*";
888
- var rsSeq = rsOptVar + reOptMod + rsOptJoin;
889
- var rsSymbol =
890
- "(?:" +
891
- [
892
- rsNonAstral + rsCombo + "?",
893
- rsCombo,
894
- rsRegional,
895
- rsSurrPair,
896
- rsAstral,
897
- ].join("|") +
898
- ")";
899
- var reUnicode = RegExp(
900
- rsFitz + "(?=" + rsFitz + ")|" + rsSymbol + rsSeq,
901
- "g",
902
- );
903
- function unicodeToArray(string) {
904
- return string.match(reUnicode) || [];
905
- }
906
- function stringToArray(string) {
907
- return hasUnicode(string)
908
- ? unicodeToArray(string)
909
- : asciiToArray(string);
910
- }
911
- function toString(value) {
912
- return value == null ? "" : baseToString(value);
913
- }
914
- var reTrim = /^\s+|\s+$/g;
915
- function trim(string, chars, guard) {
916
- string = toString(string);
917
- if (string && (guard || chars === undefined)) {
918
- return string.replace(reTrim, "");
919
- }
920
- if (!string || !(chars = baseToString(chars))) {
921
- return string;
922
- }
923
- var strSymbols = stringToArray(string),
924
- chrSymbols = stringToArray(chars),
925
- start = charsStartIndex(strSymbols, chrSymbols),
926
- end = charsEndIndex(strSymbols, chrSymbols) + 1;
927
- return castSlice(strSymbols, start, end).join("");
928
- }
929
- var FN_ARGS = /^(?:async\s+)?(function)?\s*[^\(]*\(\s*([^\)]*)\)/m;
537
+ var FN_ARGS =
538
+ /^(?:async\s)?(?:function)?\s*(?:\w+\s*)?\(([^)]+)\)(?:\s*{)/;
539
+ var ARROW_FN_ARGS =
540
+ /^(?:async\s)?\s*(?:\(\s*)?((?:[^)=\s]\s*)*)(?:\)\s*)?=>/;
930
541
  var FN_ARG_SPLIT = /,/;
931
542
  var FN_ARG = /(=.+)?(\s*)$/;
932
- var STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/gm;
543
+ function stripComments(string) {
544
+ let stripped = "";
545
+ let index = 0;
546
+ let endBlockComment = string.indexOf("*/");
547
+ while (index < string.length) {
548
+ if (string[index] === "/" && string[index + 1] === "/") {
549
+ let endIndex = string.indexOf("\n", index);
550
+ index = endIndex === -1 ? string.length : endIndex;
551
+ } else if (
552
+ endBlockComment !== -1 &&
553
+ string[index] === "/" &&
554
+ string[index + 1] === "*"
555
+ ) {
556
+ let endIndex = string.indexOf("*/", index);
557
+ if (endIndex !== -1) {
558
+ index = endIndex + 2;
559
+ endBlockComment = string.indexOf("*/", index);
560
+ } else {
561
+ stripped += string[index];
562
+ index++;
563
+ }
564
+ } else {
565
+ stripped += string[index];
566
+ index++;
567
+ }
568
+ }
569
+ return stripped;
570
+ }
933
571
  function parseParams(func) {
934
- func = func.toString().replace(STRIP_COMMENTS, "");
935
- func = func.match(FN_ARGS)[2].replace(" ", "");
936
- func = func ? func.split(FN_ARG_SPLIT) : [];
937
- func = func.map(function (arg) {
938
- return trim(arg.replace(FN_ARG, ""));
939
- });
940
- return func;
572
+ const src = stripComments(func.toString());
573
+ let match = src.match(FN_ARGS);
574
+ if (!match) {
575
+ match = src.match(ARROW_FN_ARGS);
576
+ }
577
+ if (!match)
578
+ throw new Error(
579
+ "could not parse args in autoInject\nSource:\n" + src,
580
+ );
581
+ let [, args] = match;
582
+ return args
583
+ .replace(/\s/g, "")
584
+ .split(FN_ARG_SPLIT)
585
+ .map((arg) => arg.replace(FN_ARG, "").trim());
941
586
  }
942
587
  function autoInject(tasks, callback) {
943
588
  var newTasks = {};
944
- baseForOwn(tasks, function (taskFn, key) {
589
+ Object.keys(tasks).forEach((key) => {
590
+ var taskFn = tasks[key];
945
591
  var params;
946
592
  var fnIsAsync = isAsync(taskFn);
947
593
  var hasNoDeps =
948
594
  (!fnIsAsync && taskFn.length === 1) ||
949
595
  (fnIsAsync && taskFn.length === 0);
950
- if (isArray(taskFn)) {
951
- params = taskFn.slice(0, -1);
952
- taskFn = taskFn[taskFn.length - 1];
596
+ if (Array.isArray(taskFn)) {
597
+ params = [...taskFn];
598
+ taskFn = params.pop();
953
599
  newTasks[key] = params.concat(
954
600
  params.length > 0 ? newTask : taskFn,
955
601
  );
@@ -966,177 +612,259 @@
966
612
  newTasks[key] = params.concat(newTask);
967
613
  }
968
614
  function newTask(results, taskCb) {
969
- var newArgs = arrayMap(params, function (name) {
970
- return results[name];
971
- });
615
+ var newArgs = params.map((name) => results[name]);
972
616
  newArgs.push(taskCb);
973
- wrapAsync(taskFn).apply(null, newArgs);
617
+ wrapAsync(taskFn)(...newArgs);
974
618
  }
975
619
  });
976
- auto(newTasks, callback);
977
- }
978
- function DLL() {
979
- this.head = this.tail = null;
980
- this.length = 0;
620
+ return auto(newTasks, callback);
621
+ }
622
+ class DLL {
623
+ constructor() {
624
+ this.head = this.tail = null;
625
+ this.length = 0;
626
+ }
627
+ removeLink(node) {
628
+ if (node.prev) node.prev.next = node.next;
629
+ else this.head = node.next;
630
+ if (node.next) node.next.prev = node.prev;
631
+ else this.tail = node.prev;
632
+ node.prev = node.next = null;
633
+ this.length -= 1;
634
+ return node;
635
+ }
636
+ empty() {
637
+ while (this.head) this.shift();
638
+ return this;
639
+ }
640
+ insertAfter(node, newNode) {
641
+ newNode.prev = node;
642
+ newNode.next = node.next;
643
+ if (node.next) node.next.prev = newNode;
644
+ else this.tail = newNode;
645
+ node.next = newNode;
646
+ this.length += 1;
647
+ }
648
+ insertBefore(node, newNode) {
649
+ newNode.prev = node.prev;
650
+ newNode.next = node;
651
+ if (node.prev) node.prev.next = newNode;
652
+ else this.head = newNode;
653
+ node.prev = newNode;
654
+ this.length += 1;
655
+ }
656
+ unshift(node) {
657
+ if (this.head) this.insertBefore(this.head, node);
658
+ else setInitial(this, node);
659
+ }
660
+ push(node) {
661
+ if (this.tail) this.insertAfter(this.tail, node);
662
+ else setInitial(this, node);
663
+ }
664
+ shift() {
665
+ return this.head && this.removeLink(this.head);
666
+ }
667
+ pop() {
668
+ return this.tail && this.removeLink(this.tail);
669
+ }
670
+ toArray() {
671
+ return [...this];
672
+ }
673
+ *[Symbol.iterator]() {
674
+ var cur = this.head;
675
+ while (cur) {
676
+ yield cur.data;
677
+ cur = cur.next;
678
+ }
679
+ }
680
+ remove(testFn) {
681
+ var curr = this.head;
682
+ while (curr) {
683
+ var { next } = curr;
684
+ if (testFn(curr)) {
685
+ this.removeLink(curr);
686
+ }
687
+ curr = next;
688
+ }
689
+ return this;
690
+ }
981
691
  }
982
692
  function setInitial(dll, node) {
983
693
  dll.length = 1;
984
694
  dll.head = dll.tail = node;
985
695
  }
986
- DLL.prototype.removeLink = function (node) {
987
- if (node.prev) node.prev.next = node.next;
988
- else this.head = node.next;
989
- if (node.next) node.next.prev = node.prev;
990
- else this.tail = node.prev;
991
- node.prev = node.next = null;
992
- this.length -= 1;
993
- return node;
994
- };
995
- DLL.prototype.empty = function () {
996
- while (this.head) this.shift();
997
- return this;
998
- };
999
- DLL.prototype.insertAfter = function (node, newNode) {
1000
- newNode.prev = node;
1001
- newNode.next = node.next;
1002
- if (node.next) node.next.prev = newNode;
1003
- else this.tail = newNode;
1004
- node.next = newNode;
1005
- this.length += 1;
1006
- };
1007
- DLL.prototype.insertBefore = function (node, newNode) {
1008
- newNode.prev = node.prev;
1009
- newNode.next = node;
1010
- if (node.prev) node.prev.next = newNode;
1011
- else this.head = newNode;
1012
- node.prev = newNode;
1013
- this.length += 1;
1014
- };
1015
- DLL.prototype.unshift = function (node) {
1016
- if (this.head) this.insertBefore(this.head, node);
1017
- else setInitial(this, node);
1018
- };
1019
- DLL.prototype.push = function (node) {
1020
- if (this.tail) this.insertAfter(this.tail, node);
1021
- else setInitial(this, node);
1022
- };
1023
- DLL.prototype.shift = function () {
1024
- return this.head && this.removeLink(this.head);
1025
- };
1026
- DLL.prototype.pop = function () {
1027
- return this.tail && this.removeLink(this.tail);
1028
- };
1029
- DLL.prototype.toArray = function () {
1030
- var arr = Array(this.length);
1031
- var curr = this.head;
1032
- for (var idx = 0; idx < this.length; idx++) {
1033
- arr[idx] = curr.data;
1034
- curr = curr.next;
1035
- }
1036
- return arr;
1037
- };
1038
- DLL.prototype.remove = function (testFn) {
1039
- var curr = this.head;
1040
- while (!!curr) {
1041
- var next = curr.next;
1042
- if (testFn(curr)) {
1043
- this.removeLink(curr);
1044
- }
1045
- curr = next;
1046
- }
1047
- return this;
1048
- };
1049
- function queue(worker, concurrency, payload) {
696
+ function queue$1(worker, concurrency, payload) {
1050
697
  if (concurrency == null) {
1051
698
  concurrency = 1;
1052
699
  } else if (concurrency === 0) {
1053
- throw new Error("Concurrency must not be zero");
700
+ throw new RangeError("Concurrency must not be zero");
1054
701
  }
1055
702
  var _worker = wrapAsync(worker);
1056
703
  var numRunning = 0;
1057
704
  var workersList = [];
705
+ const events = {
706
+ error: [],
707
+ drain: [],
708
+ saturated: [],
709
+ unsaturated: [],
710
+ empty: [],
711
+ };
712
+ function on(event, handler) {
713
+ events[event].push(handler);
714
+ }
715
+ function once(event, handler) {
716
+ const handleAndRemove = (...args) => {
717
+ off(event, handleAndRemove);
718
+ handler(...args);
719
+ };
720
+ events[event].push(handleAndRemove);
721
+ }
722
+ function off(event, handler) {
723
+ if (!event)
724
+ return Object.keys(events).forEach((ev) => (events[ev] = []));
725
+ if (!handler) return (events[event] = []);
726
+ events[event] = events[event].filter((ev) => ev !== handler);
727
+ }
728
+ function trigger(event, ...args) {
729
+ events[event].forEach((handler) => handler(...args));
730
+ }
1058
731
  var processingScheduled = false;
1059
- function _insert(data, insertAtFront, callback) {
732
+ function _insert(data, insertAtFront, rejectOnError, callback) {
1060
733
  if (callback != null && typeof callback !== "function") {
1061
734
  throw new Error("task callback must be a function");
1062
735
  }
1063
736
  q.started = true;
1064
- if (!isArray(data)) {
1065
- data = [data];
1066
- }
1067
- if (data.length === 0 && q.idle()) {
1068
- return setImmediate$1(function () {
1069
- q.drain();
1070
- });
737
+ var res, rej;
738
+ function promiseCallback(err, ...args) {
739
+ if (err) return rejectOnError ? rej(err) : res();
740
+ if (args.length <= 1) return res(args[0]);
741
+ res(args);
1071
742
  }
1072
- for (var i = 0, l = data.length; i < l; i++) {
1073
- var item = { data: data[i], callback: callback || noop };
1074
- if (insertAtFront) {
1075
- q._tasks.unshift(item);
1076
- } else {
1077
- q._tasks.push(item);
1078
- }
743
+ var item = q._createTaskItem(
744
+ data,
745
+ rejectOnError ? promiseCallback : callback || promiseCallback,
746
+ );
747
+ if (insertAtFront) {
748
+ q._tasks.unshift(item);
749
+ } else {
750
+ q._tasks.push(item);
1079
751
  }
1080
752
  if (!processingScheduled) {
1081
753
  processingScheduled = true;
1082
- setImmediate$1(function () {
754
+ setImmediate$1(() => {
1083
755
  processingScheduled = false;
1084
756
  q.process();
1085
757
  });
1086
758
  }
759
+ if (rejectOnError || !callback) {
760
+ return new Promise((resolve, reject) => {
761
+ res = resolve;
762
+ rej = reject;
763
+ });
764
+ }
1087
765
  }
1088
- function _next(tasks) {
1089
- return function (err) {
766
+ function _createCB(tasks) {
767
+ return function (err, ...args) {
1090
768
  numRunning -= 1;
1091
769
  for (var i = 0, l = tasks.length; i < l; i++) {
1092
770
  var task = tasks[i];
1093
- var index = baseIndexOf(workersList, task, 0);
771
+ var index = workersList.indexOf(task);
1094
772
  if (index === 0) {
1095
773
  workersList.shift();
1096
774
  } else if (index > 0) {
1097
775
  workersList.splice(index, 1);
1098
776
  }
1099
- task.callback.apply(task, arguments);
777
+ task.callback(err, ...args);
1100
778
  if (err != null) {
1101
- q.error(err, task.data);
779
+ trigger("error", err, task.data);
1102
780
  }
1103
781
  }
1104
782
  if (numRunning <= q.concurrency - q.buffer) {
1105
- q.unsaturated();
783
+ trigger("unsaturated");
1106
784
  }
1107
785
  if (q.idle()) {
1108
- q.drain();
786
+ trigger("drain");
1109
787
  }
1110
788
  q.process();
1111
789
  };
1112
790
  }
791
+ function _maybeDrain(data) {
792
+ if (data.length === 0 && q.idle()) {
793
+ setImmediate$1(() => trigger("drain"));
794
+ return true;
795
+ }
796
+ return false;
797
+ }
798
+ const eventMethod = (name) => (handler) => {
799
+ if (!handler) {
800
+ return new Promise((resolve, reject) => {
801
+ once(name, (err, data) => {
802
+ if (err) return reject(err);
803
+ resolve(data);
804
+ });
805
+ });
806
+ }
807
+ off(name);
808
+ on(name, handler);
809
+ };
1113
810
  var isProcessing = false;
1114
811
  var q = {
1115
812
  _tasks: new DLL(),
813
+ _createTaskItem(data, callback) {
814
+ return { data, callback };
815
+ },
816
+ *[Symbol.iterator]() {
817
+ yield* q._tasks[Symbol.iterator]();
818
+ },
1116
819
  concurrency,
1117
820
  payload,
1118
- saturated: noop,
1119
- unsaturated: noop,
1120
821
  buffer: concurrency / 4,
1121
- empty: noop,
1122
- drain: noop,
1123
- error: noop,
1124
822
  started: false,
1125
823
  paused: false,
1126
- push: function (data, callback) {
1127
- _insert(data, false, callback);
824
+ push(data, callback) {
825
+ if (Array.isArray(data)) {
826
+ if (_maybeDrain(data)) return;
827
+ return data.map((datum) =>
828
+ _insert(datum, false, false, callback),
829
+ );
830
+ }
831
+ return _insert(data, false, false, callback);
832
+ },
833
+ pushAsync(data, callback) {
834
+ if (Array.isArray(data)) {
835
+ if (_maybeDrain(data)) return;
836
+ return data.map((datum) =>
837
+ _insert(datum, false, true, callback),
838
+ );
839
+ }
840
+ return _insert(data, false, true, callback);
1128
841
  },
1129
- kill: function () {
1130
- q.drain = noop;
842
+ kill() {
843
+ off();
1131
844
  q._tasks.empty();
1132
845
  },
1133
- unshift: function (data, callback) {
1134
- _insert(data, true, callback);
846
+ unshift(data, callback) {
847
+ if (Array.isArray(data)) {
848
+ if (_maybeDrain(data)) return;
849
+ return data.map((datum) =>
850
+ _insert(datum, true, false, callback),
851
+ );
852
+ }
853
+ return _insert(data, true, false, callback);
854
+ },
855
+ unshiftAsync(data, callback) {
856
+ if (Array.isArray(data)) {
857
+ if (_maybeDrain(data)) return;
858
+ return data.map((datum) =>
859
+ _insert(datum, true, true, callback),
860
+ );
861
+ }
862
+ return _insert(data, true, true, callback);
1135
863
  },
1136
- remove: function (testFn) {
864
+ remove(testFn) {
1137
865
  q._tasks.remove(testFn);
1138
866
  },
1139
- process: function () {
867
+ process() {
1140
868
  if (isProcessing) {
1141
869
  return;
1142
870
  }
@@ -1158,32 +886,32 @@
1158
886
  }
1159
887
  numRunning += 1;
1160
888
  if (q._tasks.length === 0) {
1161
- q.empty();
889
+ trigger("empty");
1162
890
  }
1163
891
  if (numRunning === q.concurrency) {
1164
- q.saturated();
892
+ trigger("saturated");
1165
893
  }
1166
- var cb = onlyOnce(_next(tasks));
894
+ var cb = onlyOnce(_createCB(tasks));
1167
895
  _worker(data, cb);
1168
896
  }
1169
897
  isProcessing = false;
1170
898
  },
1171
- length: function () {
899
+ length() {
1172
900
  return q._tasks.length;
1173
901
  },
1174
- running: function () {
902
+ running() {
1175
903
  return numRunning;
1176
904
  },
1177
- workersList: function () {
905
+ workersList() {
1178
906
  return workersList;
1179
907
  },
1180
- idle: function () {
908
+ idle() {
1181
909
  return q._tasks.length + numRunning === 0;
1182
910
  },
1183
- pause: function () {
911
+ pause() {
1184
912
  q.paused = true;
1185
913
  },
1186
- resume: function () {
914
+ resume() {
1187
915
  if (q.paused === false) {
1188
916
  return;
1189
917
  }
@@ -1191,264 +919,265 @@
1191
919
  setImmediate$1(q.process);
1192
920
  },
1193
921
  };
922
+ Object.defineProperties(q, {
923
+ saturated: { writable: false, value: eventMethod("saturated") },
924
+ unsaturated: { writable: false, value: eventMethod("unsaturated") },
925
+ empty: { writable: false, value: eventMethod("empty") },
926
+ drain: { writable: false, value: eventMethod("drain") },
927
+ error: { writable: false, value: eventMethod("error") },
928
+ });
1194
929
  return q;
1195
930
  }
1196
- function cargo(worker, payload) {
1197
- return queue(worker, 1, payload);
931
+ function cargo$1(worker, payload) {
932
+ return queue$1(worker, 1, payload);
933
+ }
934
+ function cargo(worker, concurrency, payload) {
935
+ return queue$1(worker, concurrency, payload);
1198
936
  }
1199
- var eachOfSeries = doLimit(eachOfLimit, 1);
1200
937
  function reduce(coll, memo, iteratee, callback) {
1201
- callback = once(callback || noop);
938
+ callback = once(callback);
1202
939
  var _iteratee = wrapAsync(iteratee);
1203
- eachOfSeries(
940
+ return eachOfSeries$1(
1204
941
  coll,
1205
- function (x, i, callback) {
1206
- _iteratee(memo, x, function (err, v) {
942
+ (x, i, iterCb) => {
943
+ _iteratee(memo, x, (err, v) => {
1207
944
  memo = v;
1208
- callback(err);
945
+ iterCb(err);
1209
946
  });
1210
947
  },
1211
- function (err) {
1212
- callback(err, memo);
1213
- },
948
+ (err) => callback(err, memo),
1214
949
  );
1215
950
  }
1216
- function seq() {
1217
- var _functions = arrayMap(arguments, wrapAsync);
1218
- return function () {
1219
- var args = slice(arguments);
951
+ var reduce$1 = awaitify(reduce, 4);
952
+ function seq(...functions) {
953
+ var _functions = functions.map(wrapAsync);
954
+ return function (...args) {
1220
955
  var that = this;
1221
956
  var cb = args[args.length - 1];
1222
957
  if (typeof cb == "function") {
1223
958
  args.pop();
1224
959
  } else {
1225
- cb = noop;
960
+ cb = promiseCallback();
1226
961
  }
1227
- reduce(
962
+ reduce$1(
1228
963
  _functions,
1229
964
  args,
1230
- function (newargs, fn, cb) {
965
+ (newargs, fn, iterCb) => {
1231
966
  fn.apply(
1232
967
  that,
1233
- newargs.concat(function (err) {
1234
- var nextargs = slice(arguments, 1);
1235
- cb(err, nextargs);
968
+ newargs.concat((err, ...nextargs) => {
969
+ iterCb(err, nextargs);
1236
970
  }),
1237
971
  );
1238
972
  },
1239
- function (err, results) {
1240
- cb.apply(that, [err].concat(results));
1241
- },
973
+ (err, results) => cb(err, ...results),
1242
974
  );
975
+ return cb[PROMISE_SYMBOL];
1243
976
  };
1244
977
  }
1245
- var compose = function () {
1246
- return seq.apply(null, slice(arguments).reverse());
1247
- };
1248
- var _concat = Array.prototype.concat;
1249
- var concatLimit = function (coll, limit, iteratee, callback) {
1250
- callback = callback || noop;
978
+ function compose(...args) {
979
+ return seq(...args.reverse());
980
+ }
981
+ function mapLimit(coll, limit, iteratee, callback) {
982
+ return _asyncMap(eachOfLimit$2(limit), coll, iteratee, callback);
983
+ }
984
+ var mapLimit$1 = awaitify(mapLimit, 4);
985
+ function concatLimit(coll, limit, iteratee, callback) {
1251
986
  var _iteratee = wrapAsync(iteratee);
1252
- mapLimit(
987
+ return mapLimit$1(
1253
988
  coll,
1254
989
  limit,
1255
- function (val, callback) {
1256
- _iteratee(val, function (err) {
1257
- if (err) return callback(err);
1258
- return callback(null, slice(arguments, 1));
990
+ (val, iterCb) => {
991
+ _iteratee(val, (err, ...args) => {
992
+ if (err) return iterCb(err);
993
+ return iterCb(err, args);
1259
994
  });
1260
995
  },
1261
- function (err, mapResults) {
996
+ (err, mapResults) => {
1262
997
  var result = [];
1263
998
  for (var i = 0; i < mapResults.length; i++) {
1264
999
  if (mapResults[i]) {
1265
- result = _concat.apply(result, mapResults[i]);
1000
+ result = result.concat(...mapResults[i]);
1266
1001
  }
1267
1002
  }
1268
1003
  return callback(err, result);
1269
1004
  },
1270
- );
1271
- };
1272
- var concat = doLimit(concatLimit, Infinity);
1273
- var concatSeries = doLimit(concatLimit, 1);
1274
- var constant = function () {
1275
- var values = slice(arguments);
1276
- var args = [null].concat(values);
1277
- return function () {
1278
- var callback = arguments[arguments.length - 1];
1279
- return callback.apply(this, args);
1005
+ );
1006
+ }
1007
+ var concatLimit$1 = awaitify(concatLimit, 4);
1008
+ function concat(coll, iteratee, callback) {
1009
+ return concatLimit$1(coll, Infinity, iteratee, callback);
1010
+ }
1011
+ var concat$1 = awaitify(concat, 3);
1012
+ function concatSeries(coll, iteratee, callback) {
1013
+ return concatLimit$1(coll, 1, iteratee, callback);
1014
+ }
1015
+ var concatSeries$1 = awaitify(concatSeries, 3);
1016
+ function constant$1(...args) {
1017
+ return function (...ignoredArgs) {
1018
+ var callback = ignoredArgs.pop();
1019
+ return callback(null, ...args);
1280
1020
  };
1281
- };
1282
- function identity(value) {
1283
- return value;
1284
1021
  }
1285
1022
  function _createTester(check, getResult) {
1286
- return function (eachfn, arr, iteratee, cb) {
1287
- cb = cb || noop;
1023
+ return (eachfn, arr, _iteratee, cb) => {
1288
1024
  var testPassed = false;
1289
1025
  var testResult;
1026
+ const iteratee = wrapAsync(_iteratee);
1290
1027
  eachfn(
1291
1028
  arr,
1292
- function (value, _, callback) {
1293
- iteratee(value, function (err, result) {
1294
- if (err) {
1295
- callback(err);
1296
- } else if (check(result) && !testResult) {
1029
+ (value, _, callback) => {
1030
+ iteratee(value, (err, result) => {
1031
+ if (err || err === false) return callback(err);
1032
+ if (check(result) && !testResult) {
1297
1033
  testPassed = true;
1298
1034
  testResult = getResult(true, value);
1299
- callback(null, breakLoop);
1300
- } else {
1301
- callback();
1035
+ return callback(null, breakLoop);
1302
1036
  }
1037
+ callback();
1303
1038
  });
1304
1039
  },
1305
- function (err) {
1306
- if (err) {
1307
- cb(err);
1308
- } else {
1309
- cb(null, testPassed ? testResult : getResult(false));
1310
- }
1040
+ (err) => {
1041
+ if (err) return cb(err);
1042
+ cb(null, testPassed ? testResult : getResult(false));
1311
1043
  },
1312
1044
  );
1313
1045
  };
1314
1046
  }
1315
- function _findGetResult(v, x) {
1316
- return x;
1317
- }
1318
- var detect = doParallel(_createTester(identity, _findGetResult));
1319
- var detectLimit = doParallelLimit(
1320
- _createTester(identity, _findGetResult),
1321
- );
1322
- var detectSeries = doLimit(detectLimit, 1);
1047
+ function detect(coll, iteratee, callback) {
1048
+ return _createTester(
1049
+ (bool) => bool,
1050
+ (res, item) => item,
1051
+ )(eachOf$1, coll, iteratee, callback);
1052
+ }
1053
+ var detect$1 = awaitify(detect, 3);
1054
+ function detectLimit(coll, limit, iteratee, callback) {
1055
+ return _createTester(
1056
+ (bool) => bool,
1057
+ (res, item) => item,
1058
+ )(eachOfLimit$2(limit), coll, iteratee, callback);
1059
+ }
1060
+ var detectLimit$1 = awaitify(detectLimit, 4);
1061
+ function detectSeries(coll, iteratee, callback) {
1062
+ return _createTester(
1063
+ (bool) => bool,
1064
+ (res, item) => item,
1065
+ )(eachOfLimit$2(1), coll, iteratee, callback);
1066
+ }
1067
+ var detectSeries$1 = awaitify(detectSeries, 3);
1323
1068
  function consoleFunc(name) {
1324
- return function (fn) {
1325
- var args = slice(arguments, 1);
1326
- args.push(function (err) {
1327
- var args = slice(arguments, 1);
1069
+ return (fn, ...args) =>
1070
+ wrapAsync(fn)(...args, (err, ...resultArgs) => {
1328
1071
  if (typeof console === "object") {
1329
1072
  if (err) {
1330
1073
  if (console.error) {
1331
1074
  console.error(err);
1332
1075
  }
1333
1076
  } else if (console[name]) {
1334
- arrayEach(args, function (x) {
1335
- console[name](x);
1336
- });
1077
+ resultArgs.forEach((x) => console[name](x));
1337
1078
  }
1338
1079
  }
1339
1080
  });
1340
- wrapAsync(fn).apply(null, args);
1341
- };
1342
1081
  }
1343
1082
  var dir = consoleFunc("dir");
1344
- function doDuring(fn, test, callback) {
1345
- callback = onlyOnce(callback || noop);
1346
- var _fn = wrapAsync(fn);
1083
+ function doWhilst(iteratee, test, callback) {
1084
+ callback = onlyOnce(callback);
1085
+ var _fn = wrapAsync(iteratee);
1347
1086
  var _test = wrapAsync(test);
1348
- function next(err) {
1087
+ var results;
1088
+ function next(err, ...args) {
1349
1089
  if (err) return callback(err);
1350
- var args = slice(arguments, 1);
1351
- args.push(check);
1352
- _test.apply(this, args);
1090
+ if (err === false) return;
1091
+ results = args;
1092
+ _test(...args, check);
1353
1093
  }
1354
1094
  function check(err, truth) {
1355
1095
  if (err) return callback(err);
1356
- if (!truth) return callback(null);
1096
+ if (err === false) return;
1097
+ if (!truth) return callback(null, ...results);
1357
1098
  _fn(next);
1358
1099
  }
1359
- check(null, true);
1360
- }
1361
- function doWhilst(iteratee, test, callback) {
1362
- callback = onlyOnce(callback || noop);
1363
- var _iteratee = wrapAsync(iteratee);
1364
- var next = function (err) {
1365
- if (err) return callback(err);
1366
- var args = slice(arguments, 1);
1367
- if (test.apply(this, args)) return _iteratee(next);
1368
- callback.apply(null, [null].concat(args));
1369
- };
1370
- _iteratee(next);
1100
+ return check(null, true);
1371
1101
  }
1102
+ var doWhilst$1 = awaitify(doWhilst, 3);
1372
1103
  function doUntil(iteratee, test, callback) {
1373
- doWhilst(
1104
+ const _test = wrapAsync(test);
1105
+ return doWhilst$1(
1374
1106
  iteratee,
1375
- function () {
1376
- return !test.apply(this, arguments);
1107
+ (...args) => {
1108
+ const cb = args.pop();
1109
+ _test(...args, (err, truth) => cb(err, !truth));
1377
1110
  },
1378
1111
  callback,
1379
1112
  );
1380
1113
  }
1381
- function during(test, fn, callback) {
1382
- callback = onlyOnce(callback || noop);
1383
- var _fn = wrapAsync(fn);
1384
- var _test = wrapAsync(test);
1385
- function next(err) {
1386
- if (err) return callback(err);
1387
- _test(check);
1388
- }
1389
- function check(err, truth) {
1390
- if (err) return callback(err);
1391
- if (!truth) return callback(null);
1392
- _fn(next);
1393
- }
1394
- _test(check);
1395
- }
1396
1114
  function _withoutIndex(iteratee) {
1397
- return function (value, index, callback) {
1398
- return iteratee(value, callback);
1399
- };
1115
+ return (value, index, callback) => iteratee(value, callback);
1400
1116
  }
1401
- function eachLimit(coll, iteratee, callback) {
1402
- eachOf(coll, _withoutIndex(wrapAsync(iteratee)), callback);
1117
+ function eachLimit$2(coll, iteratee, callback) {
1118
+ return eachOf$1(coll, _withoutIndex(wrapAsync(iteratee)), callback);
1403
1119
  }
1404
- function eachLimit$1(coll, limit, iteratee, callback) {
1405
- _eachOfLimit(limit)(
1120
+ var each = awaitify(eachLimit$2, 3);
1121
+ function eachLimit(coll, limit, iteratee, callback) {
1122
+ return eachOfLimit$2(limit)(
1406
1123
  coll,
1407
1124
  _withoutIndex(wrapAsync(iteratee)),
1408
1125
  callback,
1409
1126
  );
1410
1127
  }
1411
- var eachSeries = doLimit(eachLimit$1, 1);
1128
+ var eachLimit$1 = awaitify(eachLimit, 4);
1129
+ function eachSeries(coll, iteratee, callback) {
1130
+ return eachLimit$1(coll, 1, iteratee, callback);
1131
+ }
1132
+ var eachSeries$1 = awaitify(eachSeries, 3);
1412
1133
  function ensureAsync(fn) {
1413
1134
  if (isAsync(fn)) return fn;
1414
- return initialParams(function (args, callback) {
1135
+ return function (...args) {
1136
+ var callback = args.pop();
1415
1137
  var sync = true;
1416
- args.push(function () {
1417
- var innerArgs = arguments;
1138
+ args.push((...innerArgs) => {
1418
1139
  if (sync) {
1419
- setImmediate$1(function () {
1420
- callback.apply(null, innerArgs);
1421
- });
1140
+ setImmediate$1(() => callback(...innerArgs));
1422
1141
  } else {
1423
- callback.apply(null, innerArgs);
1142
+ callback(...innerArgs);
1424
1143
  }
1425
1144
  });
1426
1145
  fn.apply(this, args);
1427
1146
  sync = false;
1428
- });
1429
- }
1430
- function notId(v) {
1431
- return !v;
1432
- }
1433
- var every = doParallel(_createTester(notId, notId));
1434
- var everyLimit = doParallelLimit(_createTester(notId, notId));
1435
- var everySeries = doLimit(everyLimit, 1);
1436
- function baseProperty(key) {
1437
- return function (object) {
1438
- return object == null ? undefined : object[key];
1439
1147
  };
1440
1148
  }
1149
+ function every(coll, iteratee, callback) {
1150
+ return _createTester(
1151
+ (bool) => !bool,
1152
+ (res) => !res,
1153
+ )(eachOf$1, coll, iteratee, callback);
1154
+ }
1155
+ var every$1 = awaitify(every, 3);
1156
+ function everyLimit(coll, limit, iteratee, callback) {
1157
+ return _createTester(
1158
+ (bool) => !bool,
1159
+ (res) => !res,
1160
+ )(eachOfLimit$2(limit), coll, iteratee, callback);
1161
+ }
1162
+ var everyLimit$1 = awaitify(everyLimit, 4);
1163
+ function everySeries(coll, iteratee, callback) {
1164
+ return _createTester(
1165
+ (bool) => !bool,
1166
+ (res) => !res,
1167
+ )(eachOfSeries$1, coll, iteratee, callback);
1168
+ }
1169
+ var everySeries$1 = awaitify(everySeries, 3);
1441
1170
  function filterArray(eachfn, arr, iteratee, callback) {
1442
1171
  var truthValues = new Array(arr.length);
1443
1172
  eachfn(
1444
1173
  arr,
1445
- function (x, index, callback) {
1446
- iteratee(x, function (err, v) {
1174
+ (x, index, iterCb) => {
1175
+ iteratee(x, (err, v) => {
1447
1176
  truthValues[index] = !!v;
1448
- callback(err);
1177
+ iterCb(err);
1449
1178
  });
1450
1179
  },
1451
- function (err) {
1180
+ (err) => {
1452
1181
  if (err) return callback(err);
1453
1182
  var results = [];
1454
1183
  for (var i = 0; i < arr.length; i++) {
@@ -1462,70 +1191,69 @@
1462
1191
  var results = [];
1463
1192
  eachfn(
1464
1193
  coll,
1465
- function (x, index, callback) {
1466
- iteratee(x, function (err, v) {
1467
- if (err) {
1468
- callback(err);
1469
- } else {
1470
- if (v) {
1471
- results.push({ index, value: x });
1472
- }
1473
- callback();
1194
+ (x, index, iterCb) => {
1195
+ iteratee(x, (err, v) => {
1196
+ if (err) return iterCb(err);
1197
+ if (v) {
1198
+ results.push({ index, value: x });
1474
1199
  }
1200
+ iterCb(err);
1475
1201
  });
1476
1202
  },
1477
- function (err) {
1478
- if (err) {
1479
- callback(err);
1480
- } else {
1481
- callback(
1482
- null,
1483
- arrayMap(
1484
- results.sort(function (a, b) {
1485
- return a.index - b.index;
1486
- }),
1487
- baseProperty("value"),
1488
- ),
1489
- );
1490
- }
1203
+ (err) => {
1204
+ if (err) return callback(err);
1205
+ callback(
1206
+ null,
1207
+ results.sort((a, b) => a.index - b.index).map((v) => v.value),
1208
+ );
1491
1209
  },
1492
1210
  );
1493
1211
  }
1494
1212
  function _filter(eachfn, coll, iteratee, callback) {
1495
1213
  var filter = isArrayLike(coll) ? filterArray : filterGeneric;
1496
- filter(eachfn, coll, wrapAsync(iteratee), callback || noop);
1214
+ return filter(eachfn, coll, wrapAsync(iteratee), callback);
1215
+ }
1216
+ function filter(coll, iteratee, callback) {
1217
+ return _filter(eachOf$1, coll, iteratee, callback);
1497
1218
  }
1498
- var filter = doParallel(_filter);
1499
- var filterLimit = doParallelLimit(_filter);
1500
- var filterSeries = doLimit(filterLimit, 1);
1219
+ var filter$1 = awaitify(filter, 3);
1220
+ function filterLimit(coll, limit, iteratee, callback) {
1221
+ return _filter(eachOfLimit$2(limit), coll, iteratee, callback);
1222
+ }
1223
+ var filterLimit$1 = awaitify(filterLimit, 4);
1224
+ function filterSeries(coll, iteratee, callback) {
1225
+ return _filter(eachOfSeries$1, coll, iteratee, callback);
1226
+ }
1227
+ var filterSeries$1 = awaitify(filterSeries, 3);
1501
1228
  function forever(fn, errback) {
1502
- var done = onlyOnce(errback || noop);
1229
+ var done = onlyOnce(errback);
1503
1230
  var task = wrapAsync(ensureAsync(fn));
1504
1231
  function next(err) {
1505
1232
  if (err) return done(err);
1233
+ if (err === false) return;
1506
1234
  task(next);
1507
1235
  }
1508
- next();
1236
+ return next();
1509
1237
  }
1510
- var groupByLimit = function (coll, limit, iteratee, callback) {
1511
- callback = callback || noop;
1238
+ var forever$1 = awaitify(forever, 2);
1239
+ function groupByLimit(coll, limit, iteratee, callback) {
1512
1240
  var _iteratee = wrapAsync(iteratee);
1513
- mapLimit(
1241
+ return mapLimit$1(
1514
1242
  coll,
1515
1243
  limit,
1516
- function (val, callback) {
1517
- _iteratee(val, function (err, key) {
1518
- if (err) return callback(err);
1519
- return callback(null, { key, val });
1244
+ (val, iterCb) => {
1245
+ _iteratee(val, (err, key) => {
1246
+ if (err) return iterCb(err);
1247
+ return iterCb(err, { key, val });
1520
1248
  });
1521
1249
  },
1522
- function (err, mapResults) {
1250
+ (err, mapResults) => {
1523
1251
  var result = {};
1524
- var hasOwnProperty = Object.prototype.hasOwnProperty;
1252
+ var { hasOwnProperty } = Object.prototype;
1525
1253
  for (var i = 0; i < mapResults.length; i++) {
1526
1254
  if (mapResults[i]) {
1527
- var key = mapResults[i].key;
1528
- var val = mapResults[i].val;
1255
+ var { key } = mapResults[i];
1256
+ var { val } = mapResults[i];
1529
1257
  if (hasOwnProperty.call(result, key)) {
1530
1258
  result[key].push(val);
1531
1259
  } else {
@@ -1536,148 +1264,228 @@
1536
1264
  return callback(err, result);
1537
1265
  },
1538
1266
  );
1539
- };
1540
- var groupBy = doLimit(groupByLimit, Infinity);
1541
- var groupBySeries = doLimit(groupByLimit, 1);
1267
+ }
1268
+ var groupByLimit$1 = awaitify(groupByLimit, 4);
1269
+ function groupBy(coll, iteratee, callback) {
1270
+ return groupByLimit$1(coll, Infinity, iteratee, callback);
1271
+ }
1272
+ function groupBySeries(coll, iteratee, callback) {
1273
+ return groupByLimit$1(coll, 1, iteratee, callback);
1274
+ }
1542
1275
  var log = consoleFunc("log");
1543
1276
  function mapValuesLimit(obj, limit, iteratee, callback) {
1544
- callback = once(callback || noop);
1277
+ callback = once(callback);
1545
1278
  var newObj = {};
1546
1279
  var _iteratee = wrapAsync(iteratee);
1547
- eachOfLimit(
1280
+ return eachOfLimit$2(limit)(
1548
1281
  obj,
1549
- limit,
1550
- function (val, key, next) {
1551
- _iteratee(val, key, function (err, result) {
1282
+ (val, key, next) => {
1283
+ _iteratee(val, key, (err, result) => {
1552
1284
  if (err) return next(err);
1553
1285
  newObj[key] = result;
1554
- next();
1286
+ next(err);
1555
1287
  });
1556
1288
  },
1557
- function (err) {
1558
- callback(err, newObj);
1559
- },
1289
+ (err) => callback(err, newObj),
1560
1290
  );
1561
1291
  }
1562
- var mapValues = doLimit(mapValuesLimit, Infinity);
1563
- var mapValuesSeries = doLimit(mapValuesLimit, 1);
1564
- function has(obj, key) {
1565
- return key in obj;
1292
+ var mapValuesLimit$1 = awaitify(mapValuesLimit, 4);
1293
+ function mapValues(obj, iteratee, callback) {
1294
+ return mapValuesLimit$1(obj, Infinity, iteratee, callback);
1566
1295
  }
1567
- function memoize(fn, hasher) {
1296
+ function mapValuesSeries(obj, iteratee, callback) {
1297
+ return mapValuesLimit$1(obj, 1, iteratee, callback);
1298
+ }
1299
+ function memoize(fn, hasher = (v) => v) {
1568
1300
  var memo = Object.create(null);
1569
1301
  var queues = Object.create(null);
1570
- hasher = hasher || identity;
1571
1302
  var _fn = wrapAsync(fn);
1572
- var memoized = initialParams(function memoized(args, callback) {
1573
- var key = hasher.apply(null, args);
1574
- if (has(memo, key)) {
1575
- setImmediate$1(function () {
1576
- callback.apply(null, memo[key]);
1577
- });
1578
- } else if (has(queues, key)) {
1303
+ var memoized = initialParams((args, callback) => {
1304
+ var key = hasher(...args);
1305
+ if (key in memo) {
1306
+ setImmediate$1(() => callback(null, ...memo[key]));
1307
+ } else if (key in queues) {
1579
1308
  queues[key].push(callback);
1580
1309
  } else {
1581
1310
  queues[key] = [callback];
1582
- _fn.apply(
1583
- null,
1584
- args.concat(function () {
1585
- var args = slice(arguments);
1586
- memo[key] = args;
1587
- var q = queues[key];
1588
- delete queues[key];
1589
- for (var i = 0, l = q.length; i < l; i++) {
1590
- q[i].apply(null, args);
1591
- }
1592
- }),
1593
- );
1311
+ _fn(...args, (err, ...resultArgs) => {
1312
+ if (!err) {
1313
+ memo[key] = resultArgs;
1314
+ }
1315
+ var q = queues[key];
1316
+ delete queues[key];
1317
+ for (var i = 0, l = q.length; i < l; i++) {
1318
+ q[i](err, ...resultArgs);
1319
+ }
1320
+ });
1594
1321
  }
1595
1322
  });
1596
1323
  memoized.memo = memo;
1597
1324
  memoized.unmemoized = fn;
1598
1325
  return memoized;
1599
1326
  }
1600
- var _defer$1;
1327
+ var _defer;
1601
1328
  if (hasNextTick) {
1602
- _defer$1 = process.nextTick;
1329
+ _defer = process.nextTick;
1603
1330
  } else if (hasSetImmediate) {
1604
- _defer$1 = setImmediate;
1331
+ _defer = setImmediate;
1605
1332
  } else {
1606
- _defer$1 = fallback;
1333
+ _defer = fallback;
1607
1334
  }
1608
- var nextTick = wrap(_defer$1);
1609
- function _parallel(eachfn, tasks, callback) {
1610
- callback = callback || noop;
1335
+ var nextTick = wrap(_defer);
1336
+ var _parallel = awaitify((eachfn, tasks, callback) => {
1611
1337
  var results = isArrayLike(tasks) ? [] : {};
1612
1338
  eachfn(
1613
1339
  tasks,
1614
- function (task, key, callback) {
1615
- wrapAsync(task)(function (err, result) {
1616
- if (arguments.length > 2) {
1617
- result = slice(arguments, 1);
1340
+ (task, key, taskCb) => {
1341
+ wrapAsync(task)((err, ...result) => {
1342
+ if (result.length < 2) {
1343
+ [result] = result;
1618
1344
  }
1619
1345
  results[key] = result;
1620
- callback(err);
1346
+ taskCb(err);
1621
1347
  });
1622
1348
  },
1623
- function (err) {
1624
- callback(err, results);
1625
- },
1349
+ (err) => callback(err, results),
1626
1350
  );
1351
+ }, 3);
1352
+ function parallel(tasks, callback) {
1353
+ return _parallel(eachOf$1, tasks, callback);
1627
1354
  }
1628
- function parallelLimit(tasks, callback) {
1629
- _parallel(eachOf, tasks, callback);
1630
- }
1631
- function parallelLimit$1(tasks, limit, callback) {
1632
- _parallel(_eachOfLimit(limit), tasks, callback);
1355
+ function parallelLimit(tasks, limit, callback) {
1356
+ return _parallel(eachOfLimit$2(limit), tasks, callback);
1633
1357
  }
1634
- var queue$1 = function (worker, concurrency) {
1358
+ function queue(worker, concurrency) {
1635
1359
  var _worker = wrapAsync(worker);
1636
- return queue(
1637
- function (items, cb) {
1360
+ return queue$1(
1361
+ (items, cb) => {
1638
1362
  _worker(items[0], cb);
1639
1363
  },
1640
1364
  concurrency,
1641
1365
  1,
1642
1366
  );
1643
- };
1644
- var priorityQueue = function (worker, concurrency) {
1645
- var q = queue$1(worker, concurrency);
1646
- q.push = function (data, priority, callback) {
1647
- if (callback == null) callback = noop;
1648
- if (typeof callback !== "function") {
1649
- throw new Error("task callback must be a function");
1650
- }
1651
- q.started = true;
1652
- if (!isArray(data)) {
1653
- data = [data];
1367
+ }
1368
+ class Heap {
1369
+ constructor() {
1370
+ this.heap = [];
1371
+ this.pushCount = Number.MIN_SAFE_INTEGER;
1372
+ }
1373
+ get length() {
1374
+ return this.heap.length;
1375
+ }
1376
+ empty() {
1377
+ this.heap = [];
1378
+ return this;
1379
+ }
1380
+ percUp(index) {
1381
+ let p;
1382
+ while (
1383
+ index > 0 &&
1384
+ smaller(this.heap[index], this.heap[(p = parent(index))])
1385
+ ) {
1386
+ let t = this.heap[index];
1387
+ this.heap[index] = this.heap[p];
1388
+ this.heap[p] = t;
1389
+ index = p;
1654
1390
  }
1655
- if (data.length === 0) {
1656
- return setImmediate$1(function () {
1657
- q.drain();
1658
- });
1391
+ }
1392
+ percDown(index) {
1393
+ let l;
1394
+ while ((l = leftChi(index)) < this.heap.length) {
1395
+ if (
1396
+ l + 1 < this.heap.length &&
1397
+ smaller(this.heap[l + 1], this.heap[l])
1398
+ ) {
1399
+ l = l + 1;
1400
+ }
1401
+ if (smaller(this.heap[index], this.heap[l])) {
1402
+ break;
1403
+ }
1404
+ let t = this.heap[index];
1405
+ this.heap[index] = this.heap[l];
1406
+ this.heap[l] = t;
1407
+ index = l;
1659
1408
  }
1660
- priority = priority || 0;
1661
- var nextNode = q._tasks.head;
1662
- while (nextNode && priority >= nextNode.priority) {
1663
- nextNode = nextNode.next;
1409
+ }
1410
+ push(node) {
1411
+ node.pushCount = ++this.pushCount;
1412
+ this.heap.push(node);
1413
+ this.percUp(this.heap.length - 1);
1414
+ }
1415
+ unshift(node) {
1416
+ return this.heap.push(node);
1417
+ }
1418
+ shift() {
1419
+ let [top] = this.heap;
1420
+ this.heap[0] = this.heap[this.heap.length - 1];
1421
+ this.heap.pop();
1422
+ this.percDown(0);
1423
+ return top;
1424
+ }
1425
+ toArray() {
1426
+ return [...this];
1427
+ }
1428
+ *[Symbol.iterator]() {
1429
+ for (let i = 0; i < this.heap.length; i++) {
1430
+ yield this.heap[i].data;
1664
1431
  }
1665
- for (var i = 0, l = data.length; i < l; i++) {
1666
- var item = { data: data[i], priority, callback };
1667
- if (nextNode) {
1668
- q._tasks.insertBefore(nextNode, item);
1669
- } else {
1670
- q._tasks.push(item);
1432
+ }
1433
+ remove(testFn) {
1434
+ let j = 0;
1435
+ for (let i = 0; i < this.heap.length; i++) {
1436
+ if (!testFn(this.heap[i])) {
1437
+ this.heap[j] = this.heap[i];
1438
+ j++;
1671
1439
  }
1672
1440
  }
1673
- setImmediate$1(q.process);
1441
+ this.heap.splice(j);
1442
+ for (let i = parent(this.heap.length - 1); i >= 0; i--) {
1443
+ this.percDown(i);
1444
+ }
1445
+ return this;
1446
+ }
1447
+ }
1448
+ function leftChi(i) {
1449
+ return (i << 1) + 1;
1450
+ }
1451
+ function parent(i) {
1452
+ return ((i + 1) >> 1) - 1;
1453
+ }
1454
+ function smaller(x, y) {
1455
+ if (x.priority !== y.priority) {
1456
+ return x.priority < y.priority;
1457
+ } else {
1458
+ return x.pushCount < y.pushCount;
1459
+ }
1460
+ }
1461
+ function priorityQueue(worker, concurrency) {
1462
+ var q = queue(worker, concurrency);
1463
+ var { push, pushAsync } = q;
1464
+ q._tasks = new Heap();
1465
+ q._createTaskItem = ({ data, priority }, callback) => ({
1466
+ data,
1467
+ priority,
1468
+ callback,
1469
+ });
1470
+ function createDataItems(tasks, priority) {
1471
+ if (!Array.isArray(tasks)) {
1472
+ return { data: tasks, priority };
1473
+ }
1474
+ return tasks.map((data) => ({ data, priority }));
1475
+ }
1476
+ q.push = function (data, priority = 0, callback) {
1477
+ return push(createDataItems(data, priority), callback);
1478
+ };
1479
+ q.pushAsync = function (data, priority = 0, callback) {
1480
+ return pushAsync(createDataItems(data, priority), callback);
1674
1481
  };
1675
1482
  delete q.unshift;
1483
+ delete q.unshiftAsync;
1676
1484
  return q;
1677
- };
1485
+ }
1678
1486
  function race(tasks, callback) {
1679
- callback = once(callback || noop);
1680
- if (!isArray(tasks))
1487
+ callback = once(callback);
1488
+ if (!Array.isArray(tasks))
1681
1489
  return callback(
1682
1490
  new TypeError(
1683
1491
  "First argument to race must be an array of functions",
@@ -1688,88 +1496,86 @@
1688
1496
  wrapAsync(tasks[i])(callback);
1689
1497
  }
1690
1498
  }
1499
+ var race$1 = awaitify(race, 2);
1691
1500
  function reduceRight(array, memo, iteratee, callback) {
1692
- var reversed = slice(array).reverse();
1693
- reduce(reversed, memo, iteratee, callback);
1501
+ var reversed = [...array].reverse();
1502
+ return reduce$1(reversed, memo, iteratee, callback);
1694
1503
  }
1695
1504
  function reflect(fn) {
1696
1505
  var _fn = wrapAsync(fn);
1697
1506
  return initialParams(function reflectOn(args, reflectCallback) {
1698
- args.push(function callback(error, cbArg) {
1507
+ args.push((error, ...cbArgs) => {
1508
+ let retVal = {};
1699
1509
  if (error) {
1700
- reflectCallback(null, { error });
1701
- } else {
1702
- var value;
1703
- if (arguments.length <= 2) {
1704
- value = cbArg;
1705
- } else {
1706
- value = slice(arguments, 1);
1510
+ retVal.error = error;
1511
+ }
1512
+ if (cbArgs.length > 0) {
1513
+ var value = cbArgs;
1514
+ if (cbArgs.length <= 1) {
1515
+ [value] = cbArgs;
1707
1516
  }
1708
- reflectCallback(null, { value });
1517
+ retVal.value = value;
1709
1518
  }
1519
+ reflectCallback(null, retVal);
1710
1520
  });
1711
1521
  return _fn.apply(this, args);
1712
1522
  });
1713
1523
  }
1714
1524
  function reflectAll(tasks) {
1715
1525
  var results;
1716
- if (isArray(tasks)) {
1717
- results = arrayMap(tasks, reflect);
1526
+ if (Array.isArray(tasks)) {
1527
+ results = tasks.map(reflect);
1718
1528
  } else {
1719
1529
  results = {};
1720
- baseForOwn(tasks, function (task, key) {
1721
- results[key] = reflect.call(this, task);
1530
+ Object.keys(tasks).forEach((key) => {
1531
+ results[key] = reflect.call(this, tasks[key]);
1722
1532
  });
1723
1533
  }
1724
1534
  return results;
1725
1535
  }
1726
- function reject$1(eachfn, arr, iteratee, callback) {
1727
- _filter(
1536
+ function reject$2(eachfn, arr, _iteratee, callback) {
1537
+ const iteratee = wrapAsync(_iteratee);
1538
+ return _filter(
1728
1539
  eachfn,
1729
1540
  arr,
1730
- function (value, cb) {
1731
- iteratee(value, function (err, v) {
1541
+ (value, cb) => {
1542
+ iteratee(value, (err, v) => {
1732
1543
  cb(err, !v);
1733
1544
  });
1734
1545
  },
1735
1546
  callback,
1736
1547
  );
1737
1548
  }
1738
- var reject = doParallel(reject$1);
1739
- var rejectLimit = doParallelLimit(reject$1);
1740
- var rejectSeries = doLimit(rejectLimit, 1);
1741
- function constant$1(value) {
1549
+ function reject(coll, iteratee, callback) {
1550
+ return reject$2(eachOf$1, coll, iteratee, callback);
1551
+ }
1552
+ var reject$1 = awaitify(reject, 3);
1553
+ function rejectLimit(coll, limit, iteratee, callback) {
1554
+ return reject$2(eachOfLimit$2(limit), coll, iteratee, callback);
1555
+ }
1556
+ var rejectLimit$1 = awaitify(rejectLimit, 4);
1557
+ function rejectSeries(coll, iteratee, callback) {
1558
+ return reject$2(eachOfSeries$1, coll, iteratee, callback);
1559
+ }
1560
+ var rejectSeries$1 = awaitify(rejectSeries, 3);
1561
+ function constant(value) {
1742
1562
  return function () {
1743
1563
  return value;
1744
1564
  };
1745
1565
  }
1566
+ const DEFAULT_TIMES = 5;
1567
+ const DEFAULT_INTERVAL = 0;
1746
1568
  function retry(opts, task, callback) {
1747
- var DEFAULT_TIMES = 5;
1748
- var DEFAULT_INTERVAL = 0;
1749
1569
  var options = {
1750
1570
  times: DEFAULT_TIMES,
1751
- intervalFunc: constant$1(DEFAULT_INTERVAL),
1571
+ intervalFunc: constant(DEFAULT_INTERVAL),
1752
1572
  };
1753
- function parseTimes(acc, t) {
1754
- if (typeof t === "object") {
1755
- acc.times = +t.times || DEFAULT_TIMES;
1756
- acc.intervalFunc =
1757
- typeof t.interval === "function"
1758
- ? t.interval
1759
- : constant$1(+t.interval || DEFAULT_INTERVAL);
1760
- acc.errorFilter = t.errorFilter;
1761
- } else if (typeof t === "number" || typeof t === "string") {
1762
- acc.times = +t || DEFAULT_TIMES;
1763
- } else {
1764
- throw new Error("Invalid arguments for async.retry");
1765
- }
1766
- }
1767
1573
  if (arguments.length < 3 && typeof opts === "function") {
1768
- callback = task || noop;
1574
+ callback = task || promiseCallback();
1769
1575
  task = opts;
1770
1576
  } else {
1771
1577
  parseTimes(options, opts);
1772
- callback = callback || noop;
1578
+ callback = callback || promiseCallback();
1773
1579
  }
1774
1580
  if (typeof task !== "function") {
1775
1581
  throw new Error("Invalid arguments for async.retry");
@@ -1777,56 +1583,105 @@
1777
1583
  var _task = wrapAsync(task);
1778
1584
  var attempt = 1;
1779
1585
  function retryAttempt() {
1780
- _task(function (err) {
1586
+ _task((err, ...args) => {
1587
+ if (err === false) return;
1781
1588
  if (
1782
1589
  err &&
1783
1590
  attempt++ < options.times &&
1784
1591
  (typeof options.errorFilter != "function" ||
1785
1592
  options.errorFilter(err))
1786
1593
  ) {
1787
- setTimeout(retryAttempt, options.intervalFunc(attempt));
1594
+ setTimeout(retryAttempt, options.intervalFunc(attempt - 1));
1788
1595
  } else {
1789
- callback.apply(null, arguments);
1596
+ callback(err, ...args);
1790
1597
  }
1791
1598
  });
1792
1599
  }
1793
1600
  retryAttempt();
1601
+ return callback[PROMISE_SYMBOL];
1602
+ }
1603
+ function parseTimes(acc, t) {
1604
+ if (typeof t === "object") {
1605
+ acc.times = +t.times || DEFAULT_TIMES;
1606
+ acc.intervalFunc =
1607
+ typeof t.interval === "function"
1608
+ ? t.interval
1609
+ : constant(+t.interval || DEFAULT_INTERVAL);
1610
+ acc.errorFilter = t.errorFilter;
1611
+ } else if (typeof t === "number" || typeof t === "string") {
1612
+ acc.times = +t || DEFAULT_TIMES;
1613
+ } else {
1614
+ throw new Error("Invalid arguments for async.retry");
1615
+ }
1794
1616
  }
1795
- var retryable = function (opts, task) {
1617
+ function retryable(opts, task) {
1796
1618
  if (!task) {
1797
1619
  task = opts;
1798
1620
  opts = null;
1799
1621
  }
1622
+ let arity = (opts && opts.arity) || task.length;
1623
+ if (isAsync(task)) {
1624
+ arity += 1;
1625
+ }
1800
1626
  var _task = wrapAsync(task);
1801
- return initialParams(function (args, callback) {
1627
+ return initialParams((args, callback) => {
1628
+ if (args.length < arity - 1 || callback == null) {
1629
+ args.push(callback);
1630
+ callback = promiseCallback();
1631
+ }
1802
1632
  function taskFn(cb) {
1803
- _task.apply(null, args.concat(cb));
1633
+ _task(...args, cb);
1804
1634
  }
1805
1635
  if (opts) retry(opts, taskFn, callback);
1806
1636
  else retry(taskFn, callback);
1637
+ return callback[PROMISE_SYMBOL];
1807
1638
  });
1808
- };
1639
+ }
1809
1640
  function series(tasks, callback) {
1810
- _parallel(eachOfSeries, tasks, callback);
1641
+ return _parallel(eachOfSeries$1, tasks, callback);
1642
+ }
1643
+ function some(coll, iteratee, callback) {
1644
+ return _createTester(Boolean, (res) => res)(
1645
+ eachOf$1,
1646
+ coll,
1647
+ iteratee,
1648
+ callback,
1649
+ );
1811
1650
  }
1812
- var some = doParallel(_createTester(Boolean, identity));
1813
- var someLimit = doParallelLimit(_createTester(Boolean, identity));
1814
- var someSeries = doLimit(someLimit, 1);
1651
+ var some$1 = awaitify(some, 3);
1652
+ function someLimit(coll, limit, iteratee, callback) {
1653
+ return _createTester(Boolean, (res) => res)(
1654
+ eachOfLimit$2(limit),
1655
+ coll,
1656
+ iteratee,
1657
+ callback,
1658
+ );
1659
+ }
1660
+ var someLimit$1 = awaitify(someLimit, 4);
1661
+ function someSeries(coll, iteratee, callback) {
1662
+ return _createTester(Boolean, (res) => res)(
1663
+ eachOfSeries$1,
1664
+ coll,
1665
+ iteratee,
1666
+ callback,
1667
+ );
1668
+ }
1669
+ var someSeries$1 = awaitify(someSeries, 3);
1815
1670
  function sortBy(coll, iteratee, callback) {
1816
1671
  var _iteratee = wrapAsync(iteratee);
1817
- map(
1672
+ return map$1(
1818
1673
  coll,
1819
- function (x, callback) {
1820
- _iteratee(x, function (err, criteria) {
1821
- if (err) return callback(err);
1822
- callback(null, { value: x, criteria });
1674
+ (x, iterCb) => {
1675
+ _iteratee(x, (err, criteria) => {
1676
+ if (err) return iterCb(err);
1677
+ iterCb(err, { value: x, criteria });
1823
1678
  });
1824
1679
  },
1825
- function (err, results) {
1680
+ (err, results) => {
1826
1681
  if (err) return callback(err);
1827
1682
  callback(
1828
1683
  null,
1829
- arrayMap(results.sort(comparator), baseProperty("value")),
1684
+ results.sort(comparator).map((v) => v.value),
1830
1685
  );
1831
1686
  },
1832
1687
  );
@@ -1836,9 +1691,10 @@
1836
1691
  return a < b ? -1 : a > b ? 1 : 0;
1837
1692
  }
1838
1693
  }
1694
+ var sortBy$1 = awaitify(sortBy, 3);
1839
1695
  function timeout(asyncFn, milliseconds, info) {
1840
1696
  var fn = wrapAsync(asyncFn);
1841
- return initialParams(function (args, callback) {
1697
+ return initialParams((args, callback) => {
1842
1698
  var timedOut = false;
1843
1699
  var timer;
1844
1700
  function timeoutCallback() {
@@ -1853,103 +1709,105 @@
1853
1709
  timedOut = true;
1854
1710
  callback(error);
1855
1711
  }
1856
- args.push(function () {
1712
+ args.push((...cbArgs) => {
1857
1713
  if (!timedOut) {
1858
- callback.apply(null, arguments);
1714
+ callback(...cbArgs);
1859
1715
  clearTimeout(timer);
1860
1716
  }
1861
1717
  });
1862
1718
  timer = setTimeout(timeoutCallback, milliseconds);
1863
- fn.apply(null, args);
1719
+ fn(...args);
1864
1720
  });
1865
1721
  }
1866
- var nativeCeil = Math.ceil;
1867
- var nativeMax = Math.max;
1868
- function baseRange(start, end, step, fromRight) {
1869
- var index = -1,
1870
- length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),
1871
- result = Array(length);
1872
- while (length--) {
1873
- result[fromRight ? length : ++index] = start;
1874
- start += step;
1722
+ function range(size) {
1723
+ var result = Array(size);
1724
+ while (size--) {
1725
+ result[size] = size;
1875
1726
  }
1876
1727
  return result;
1877
1728
  }
1878
- function timeLimit(count, limit, iteratee, callback) {
1729
+ function timesLimit(count, limit, iteratee, callback) {
1879
1730
  var _iteratee = wrapAsync(iteratee);
1880
- mapLimit(baseRange(0, count, 1), limit, _iteratee, callback);
1731
+ return mapLimit$1(range(count), limit, _iteratee, callback);
1732
+ }
1733
+ function times(n, iteratee, callback) {
1734
+ return timesLimit(n, Infinity, iteratee, callback);
1735
+ }
1736
+ function timesSeries(n, iteratee, callback) {
1737
+ return timesLimit(n, 1, iteratee, callback);
1881
1738
  }
1882
- var times = doLimit(timeLimit, Infinity);
1883
- var timesSeries = doLimit(timeLimit, 1);
1884
1739
  function transform(coll, accumulator, iteratee, callback) {
1885
- if (arguments.length <= 3) {
1740
+ if (arguments.length <= 3 && typeof accumulator === "function") {
1886
1741
  callback = iteratee;
1887
1742
  iteratee = accumulator;
1888
- accumulator = isArray(coll) ? [] : {};
1743
+ accumulator = Array.isArray(coll) ? [] : {};
1889
1744
  }
1890
- callback = once(callback || noop);
1745
+ callback = once(callback || promiseCallback());
1891
1746
  var _iteratee = wrapAsync(iteratee);
1892
- eachOf(
1747
+ eachOf$1(
1893
1748
  coll,
1894
- function (v, k, cb) {
1749
+ (v, k, cb) => {
1895
1750
  _iteratee(accumulator, v, k, cb);
1896
1751
  },
1897
- function (err) {
1898
- callback(err, accumulator);
1899
- },
1752
+ (err) => callback(err, accumulator),
1900
1753
  );
1754
+ return callback[PROMISE_SYMBOL];
1901
1755
  }
1902
1756
  function tryEach(tasks, callback) {
1903
1757
  var error = null;
1904
1758
  var result;
1905
- callback = callback || noop;
1906
- eachSeries(
1759
+ return eachSeries$1(
1907
1760
  tasks,
1908
- function (task, callback) {
1909
- wrapAsync(task)(function (err, res) {
1910
- if (arguments.length > 2) {
1911
- result = slice(arguments, 1);
1761
+ (task, taskCb) => {
1762
+ wrapAsync(task)((err, ...args) => {
1763
+ if (err === false) return taskCb(err);
1764
+ if (args.length < 2) {
1765
+ [result] = args;
1912
1766
  } else {
1913
- result = res;
1767
+ result = args;
1914
1768
  }
1915
1769
  error = err;
1916
- callback(!err);
1770
+ taskCb(err ? null : {});
1917
1771
  });
1918
1772
  },
1919
- function () {
1920
- callback(error, result);
1921
- },
1773
+ () => callback(error, result),
1922
1774
  );
1923
1775
  }
1776
+ var tryEach$1 = awaitify(tryEach);
1924
1777
  function unmemoize(fn) {
1925
- return function () {
1926
- return (fn.unmemoized || fn).apply(null, arguments);
1927
- };
1778
+ return (...args) => (fn.unmemoized || fn)(...args);
1928
1779
  }
1929
1780
  function whilst(test, iteratee, callback) {
1930
- callback = onlyOnce(callback || noop);
1931
- var _iteratee = wrapAsync(iteratee);
1932
- if (!test()) return callback(null);
1933
- var next = function (err) {
1781
+ callback = onlyOnce(callback);
1782
+ var _fn = wrapAsync(iteratee);
1783
+ var _test = wrapAsync(test);
1784
+ var results = [];
1785
+ function next(err, ...rest) {
1934
1786
  if (err) return callback(err);
1935
- if (test()) return _iteratee(next);
1936
- var args = slice(arguments, 1);
1937
- callback.apply(null, [null].concat(args));
1938
- };
1939
- _iteratee(next);
1787
+ results = rest;
1788
+ if (err === false) return;
1789
+ _test(check);
1790
+ }
1791
+ function check(err, truth) {
1792
+ if (err) return callback(err);
1793
+ if (err === false) return;
1794
+ if (!truth) return callback(null, ...results);
1795
+ _fn(next);
1796
+ }
1797
+ return _test(check);
1940
1798
  }
1799
+ var whilst$1 = awaitify(whilst, 3);
1941
1800
  function until(test, iteratee, callback) {
1942
- whilst(
1943
- function () {
1944
- return !test.apply(this, arguments);
1945
- },
1801
+ const _test = wrapAsync(test);
1802
+ return whilst$1(
1803
+ (cb) => _test((err, truth) => cb(err, !truth)),
1946
1804
  iteratee,
1947
1805
  callback,
1948
1806
  );
1949
1807
  }
1950
- var waterfall = function (tasks, callback) {
1951
- callback = once(callback || noop);
1952
- if (!isArray(tasks))
1808
+ function waterfall(tasks, callback) {
1809
+ callback = once(callback);
1810
+ if (!Array.isArray(tasks))
1953
1811
  return callback(
1954
1812
  new Error(
1955
1813
  "First argument to waterfall must be an array of functions",
@@ -1959,17 +1817,18 @@
1959
1817
  var taskIndex = 0;
1960
1818
  function nextTask(args) {
1961
1819
  var task = wrapAsync(tasks[taskIndex++]);
1962
- args.push(onlyOnce(next));
1963
- task.apply(null, args);
1820
+ task(...args, onlyOnce(next));
1964
1821
  }
1965
- function next(err) {
1822
+ function next(err, ...args) {
1823
+ if (err === false) return;
1966
1824
  if (err || taskIndex === tasks.length) {
1967
- return callback.apply(null, arguments);
1825
+ return callback(err, ...args);
1968
1826
  }
1969
- nextTask(slice(arguments, 1));
1827
+ nextTask(args);
1970
1828
  }
1971
1829
  nextTask([]);
1972
- };
1830
+ }
1831
+ var waterfall$1 = awaitify(waterfall);
1973
1832
  var index = {
1974
1833
  apply,
1975
1834
  applyEach,
@@ -1977,231 +1836,228 @@
1977
1836
  asyncify,
1978
1837
  auto,
1979
1838
  autoInject,
1980
- cargo,
1839
+ cargo: cargo$1,
1840
+ cargoQueue: cargo,
1981
1841
  compose,
1982
- concat,
1983
- concatLimit,
1984
- concatSeries,
1985
- constant,
1986
- detect,
1987
- detectLimit,
1988
- detectSeries,
1842
+ concat: concat$1,
1843
+ concatLimit: concatLimit$1,
1844
+ concatSeries: concatSeries$1,
1845
+ constant: constant$1,
1846
+ detect: detect$1,
1847
+ detectLimit: detectLimit$1,
1848
+ detectSeries: detectSeries$1,
1989
1849
  dir,
1990
- doDuring,
1991
1850
  doUntil,
1992
- doWhilst,
1993
- during,
1994
- each: eachLimit,
1851
+ doWhilst: doWhilst$1,
1852
+ each,
1995
1853
  eachLimit: eachLimit$1,
1996
- eachOf,
1997
- eachOfLimit,
1998
- eachOfSeries,
1999
- eachSeries,
1854
+ eachOf: eachOf$1,
1855
+ eachOfLimit: eachOfLimit$1,
1856
+ eachOfSeries: eachOfSeries$1,
1857
+ eachSeries: eachSeries$1,
2000
1858
  ensureAsync,
2001
- every,
2002
- everyLimit,
2003
- everySeries,
2004
- filter,
2005
- filterLimit,
2006
- filterSeries,
2007
- forever,
1859
+ every: every$1,
1860
+ everyLimit: everyLimit$1,
1861
+ everySeries: everySeries$1,
1862
+ filter: filter$1,
1863
+ filterLimit: filterLimit$1,
1864
+ filterSeries: filterSeries$1,
1865
+ forever: forever$1,
2008
1866
  groupBy,
2009
- groupByLimit,
1867
+ groupByLimit: groupByLimit$1,
2010
1868
  groupBySeries,
2011
1869
  log,
2012
- map,
2013
- mapLimit,
2014
- mapSeries,
1870
+ map: map$1,
1871
+ mapLimit: mapLimit$1,
1872
+ mapSeries: mapSeries$1,
2015
1873
  mapValues,
2016
- mapValuesLimit,
1874
+ mapValuesLimit: mapValuesLimit$1,
2017
1875
  mapValuesSeries,
2018
1876
  memoize,
2019
1877
  nextTick,
2020
- parallel: parallelLimit,
2021
- parallelLimit: parallelLimit$1,
1878
+ parallel,
1879
+ parallelLimit,
2022
1880
  priorityQueue,
2023
- queue: queue$1,
2024
- race,
2025
- reduce,
1881
+ queue,
1882
+ race: race$1,
1883
+ reduce: reduce$1,
2026
1884
  reduceRight,
2027
1885
  reflect,
2028
1886
  reflectAll,
2029
- reject,
2030
- rejectLimit,
2031
- rejectSeries,
1887
+ reject: reject$1,
1888
+ rejectLimit: rejectLimit$1,
1889
+ rejectSeries: rejectSeries$1,
2032
1890
  retry,
2033
1891
  retryable,
2034
1892
  seq,
2035
1893
  series,
2036
1894
  setImmediate: setImmediate$1,
2037
- some,
2038
- someLimit,
2039
- someSeries,
2040
- sortBy,
1895
+ some: some$1,
1896
+ someLimit: someLimit$1,
1897
+ someSeries: someSeries$1,
1898
+ sortBy: sortBy$1,
2041
1899
  timeout,
2042
1900
  times,
2043
- timesLimit: timeLimit,
1901
+ timesLimit,
2044
1902
  timesSeries,
2045
1903
  transform,
2046
- tryEach,
1904
+ tryEach: tryEach$1,
2047
1905
  unmemoize,
2048
1906
  until,
2049
- waterfall,
2050
- whilst,
2051
- all: every,
2052
- allLimit: everyLimit,
2053
- allSeries: everySeries,
2054
- any: some,
2055
- anyLimit: someLimit,
2056
- anySeries: someSeries,
2057
- find: detect,
2058
- findLimit: detectLimit,
2059
- findSeries: detectSeries,
2060
- forEach: eachLimit,
2061
- forEachSeries: eachSeries,
1907
+ waterfall: waterfall$1,
1908
+ whilst: whilst$1,
1909
+ all: every$1,
1910
+ allLimit: everyLimit$1,
1911
+ allSeries: everySeries$1,
1912
+ any: some$1,
1913
+ anyLimit: someLimit$1,
1914
+ anySeries: someSeries$1,
1915
+ find: detect$1,
1916
+ findLimit: detectLimit$1,
1917
+ findSeries: detectSeries$1,
1918
+ flatMap: concat$1,
1919
+ flatMapLimit: concatLimit$1,
1920
+ flatMapSeries: concatSeries$1,
1921
+ forEach: each,
1922
+ forEachSeries: eachSeries$1,
2062
1923
  forEachLimit: eachLimit$1,
2063
- forEachOf: eachOf,
2064
- forEachOfSeries: eachOfSeries,
2065
- forEachOfLimit: eachOfLimit,
2066
- inject: reduce,
2067
- foldl: reduce,
1924
+ forEachOf: eachOf$1,
1925
+ forEachOfSeries: eachOfSeries$1,
1926
+ forEachOfLimit: eachOfLimit$1,
1927
+ inject: reduce$1,
1928
+ foldl: reduce$1,
2068
1929
  foldr: reduceRight,
2069
- select: filter,
2070
- selectLimit: filterLimit,
2071
- selectSeries: filterSeries,
1930
+ select: filter$1,
1931
+ selectLimit: filterLimit$1,
1932
+ selectSeries: filterSeries$1,
2072
1933
  wrapSync: asyncify,
1934
+ during: whilst$1,
1935
+ doDuring: doWhilst$1,
2073
1936
  };
2074
- exports["default"] = index;
1937
+ exports.all = every$1;
1938
+ exports.allLimit = everyLimit$1;
1939
+ exports.allSeries = everySeries$1;
1940
+ exports.any = some$1;
1941
+ exports.anyLimit = someLimit$1;
1942
+ exports.anySeries = someSeries$1;
2075
1943
  exports.apply = apply;
2076
1944
  exports.applyEach = applyEach;
2077
1945
  exports.applyEachSeries = applyEachSeries;
2078
1946
  exports.asyncify = asyncify;
2079
1947
  exports.auto = auto;
2080
1948
  exports.autoInject = autoInject;
2081
- exports.cargo = cargo;
1949
+ exports.cargo = cargo$1;
1950
+ exports.cargoQueue = cargo;
2082
1951
  exports.compose = compose;
2083
- exports.concat = concat;
2084
- exports.concatLimit = concatLimit;
2085
- exports.concatSeries = concatSeries;
2086
- exports.constant = constant;
2087
- exports.detect = detect;
2088
- exports.detectLimit = detectLimit;
2089
- exports.detectSeries = detectSeries;
1952
+ exports.concat = concat$1;
1953
+ exports.concatLimit = concatLimit$1;
1954
+ exports.concatSeries = concatSeries$1;
1955
+ exports.constant = constant$1;
1956
+ exports.default = index;
1957
+ exports.detect = detect$1;
1958
+ exports.detectLimit = detectLimit$1;
1959
+ exports.detectSeries = detectSeries$1;
2090
1960
  exports.dir = dir;
2091
- exports.doDuring = doDuring;
1961
+ exports.doDuring = doWhilst$1;
2092
1962
  exports.doUntil = doUntil;
2093
- exports.doWhilst = doWhilst;
2094
- exports.during = during;
2095
- exports.each = eachLimit;
1963
+ exports.doWhilst = doWhilst$1;
1964
+ exports.during = whilst$1;
1965
+ exports.each = each;
2096
1966
  exports.eachLimit = eachLimit$1;
2097
- exports.eachOf = eachOf;
2098
- exports.eachOfLimit = eachOfLimit;
2099
- exports.eachOfSeries = eachOfSeries;
2100
- exports.eachSeries = eachSeries;
1967
+ exports.eachOf = eachOf$1;
1968
+ exports.eachOfLimit = eachOfLimit$1;
1969
+ exports.eachOfSeries = eachOfSeries$1;
1970
+ exports.eachSeries = eachSeries$1;
2101
1971
  exports.ensureAsync = ensureAsync;
2102
- exports.every = every;
2103
- exports.everyLimit = everyLimit;
2104
- exports.everySeries = everySeries;
2105
- exports.filter = filter;
2106
- exports.filterLimit = filterLimit;
2107
- exports.filterSeries = filterSeries;
2108
- exports.forever = forever;
1972
+ exports.every = every$1;
1973
+ exports.everyLimit = everyLimit$1;
1974
+ exports.everySeries = everySeries$1;
1975
+ exports.filter = filter$1;
1976
+ exports.filterLimit = filterLimit$1;
1977
+ exports.filterSeries = filterSeries$1;
1978
+ exports.find = detect$1;
1979
+ exports.findLimit = detectLimit$1;
1980
+ exports.findSeries = detectSeries$1;
1981
+ exports.flatMap = concat$1;
1982
+ exports.flatMapLimit = concatLimit$1;
1983
+ exports.flatMapSeries = concatSeries$1;
1984
+ exports.foldl = reduce$1;
1985
+ exports.foldr = reduceRight;
1986
+ exports.forEach = each;
1987
+ exports.forEachLimit = eachLimit$1;
1988
+ exports.forEachOf = eachOf$1;
1989
+ exports.forEachOfLimit = eachOfLimit$1;
1990
+ exports.forEachOfSeries = eachOfSeries$1;
1991
+ exports.forEachSeries = eachSeries$1;
1992
+ exports.forever = forever$1;
2109
1993
  exports.groupBy = groupBy;
2110
- exports.groupByLimit = groupByLimit;
1994
+ exports.groupByLimit = groupByLimit$1;
2111
1995
  exports.groupBySeries = groupBySeries;
1996
+ exports.inject = reduce$1;
2112
1997
  exports.log = log;
2113
- exports.map = map;
2114
- exports.mapLimit = mapLimit;
2115
- exports.mapSeries = mapSeries;
1998
+ exports.map = map$1;
1999
+ exports.mapLimit = mapLimit$1;
2000
+ exports.mapSeries = mapSeries$1;
2116
2001
  exports.mapValues = mapValues;
2117
- exports.mapValuesLimit = mapValuesLimit;
2002
+ exports.mapValuesLimit = mapValuesLimit$1;
2118
2003
  exports.mapValuesSeries = mapValuesSeries;
2119
2004
  exports.memoize = memoize;
2120
2005
  exports.nextTick = nextTick;
2121
- exports.parallel = parallelLimit;
2122
- exports.parallelLimit = parallelLimit$1;
2006
+ exports.parallel = parallel;
2007
+ exports.parallelLimit = parallelLimit;
2123
2008
  exports.priorityQueue = priorityQueue;
2124
- exports.queue = queue$1;
2125
- exports.race = race;
2126
- exports.reduce = reduce;
2009
+ exports.queue = queue;
2010
+ exports.race = race$1;
2011
+ exports.reduce = reduce$1;
2127
2012
  exports.reduceRight = reduceRight;
2128
2013
  exports.reflect = reflect;
2129
2014
  exports.reflectAll = reflectAll;
2130
- exports.reject = reject;
2131
- exports.rejectLimit = rejectLimit;
2132
- exports.rejectSeries = rejectSeries;
2015
+ exports.reject = reject$1;
2016
+ exports.rejectLimit = rejectLimit$1;
2017
+ exports.rejectSeries = rejectSeries$1;
2133
2018
  exports.retry = retry;
2134
2019
  exports.retryable = retryable;
2020
+ exports.select = filter$1;
2021
+ exports.selectLimit = filterLimit$1;
2022
+ exports.selectSeries = filterSeries$1;
2135
2023
  exports.seq = seq;
2136
2024
  exports.series = series;
2137
2025
  exports.setImmediate = setImmediate$1;
2138
- exports.some = some;
2139
- exports.someLimit = someLimit;
2140
- exports.someSeries = someSeries;
2141
- exports.sortBy = sortBy;
2026
+ exports.some = some$1;
2027
+ exports.someLimit = someLimit$1;
2028
+ exports.someSeries = someSeries$1;
2029
+ exports.sortBy = sortBy$1;
2142
2030
  exports.timeout = timeout;
2143
2031
  exports.times = times;
2144
- exports.timesLimit = timeLimit;
2032
+ exports.timesLimit = timesLimit;
2145
2033
  exports.timesSeries = timesSeries;
2146
2034
  exports.transform = transform;
2147
- exports.tryEach = tryEach;
2035
+ exports.tryEach = tryEach$1;
2148
2036
  exports.unmemoize = unmemoize;
2149
2037
  exports.until = until;
2150
- exports.waterfall = waterfall;
2151
- exports.whilst = whilst;
2152
- exports.all = every;
2153
- exports.allLimit = everyLimit;
2154
- exports.allSeries = everySeries;
2155
- exports.any = some;
2156
- exports.anyLimit = someLimit;
2157
- exports.anySeries = someSeries;
2158
- exports.find = detect;
2159
- exports.findLimit = detectLimit;
2160
- exports.findSeries = detectSeries;
2161
- exports.forEach = eachLimit;
2162
- exports.forEachSeries = eachSeries;
2163
- exports.forEachLimit = eachLimit$1;
2164
- exports.forEachOf = eachOf;
2165
- exports.forEachOfSeries = eachOfSeries;
2166
- exports.forEachOfLimit = eachOfLimit;
2167
- exports.inject = reduce;
2168
- exports.foldl = reduce;
2169
- exports.foldr = reduceRight;
2170
- exports.select = filter;
2171
- exports.selectLimit = filterLimit;
2172
- exports.selectSeries = filterSeries;
2038
+ exports.waterfall = waterfall$1;
2039
+ exports.whilst = whilst$1;
2173
2040
  exports.wrapSync = asyncify;
2174
2041
  Object.defineProperty(exports, "__esModule", { value: true });
2175
2042
  });
2176
2043
  },
2177
- 327: (module, exports, __nccwpck_require__) => {
2178
- "use strict";
2179
- function _typeof(obj) {
2180
- if (
2181
- typeof Symbol === "function" &&
2182
- typeof Symbol.iterator === "symbol"
2183
- ) {
2184
- _typeof = function _typeof(obj) {
2185
- return typeof obj;
2186
- };
2187
- } else {
2188
- _typeof = function _typeof(obj) {
2189
- return obj &&
2190
- typeof Symbol === "function" &&
2191
- obj.constructor === Symbol &&
2192
- obj !== Symbol.prototype
2193
- ? "symbol"
2194
- : typeof obj;
2195
- };
2196
- }
2197
- return _typeof(obj);
2198
- }
2199
- exports.log = log;
2044
+ 673: (module, exports, __nccwpck_require__) => {
2200
2045
  exports.formatArgs = formatArgs;
2201
2046
  exports.save = save;
2202
2047
  exports.load = load;
2203
2048
  exports.useColors = useColors;
2204
2049
  exports.storage = localstorage();
2050
+ exports.destroy = (() => {
2051
+ let warned = false;
2052
+ return () => {
2053
+ if (!warned) {
2054
+ warned = true;
2055
+ console.warn(
2056
+ "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.",
2057
+ );
2058
+ }
2059
+ };
2060
+ })();
2205
2061
  exports.colors = [
2206
2062
  "#0000CC",
2207
2063
  "#0000FF",
@@ -2295,6 +2151,7 @@
2295
2151
  ) {
2296
2152
  return false;
2297
2153
  }
2154
+ let m;
2298
2155
  return (
2299
2156
  (typeof document !== "undefined" &&
2300
2157
  document.documentElement &&
@@ -2306,8 +2163,8 @@
2306
2163
  (window.console.exception && window.console.table))) ||
2307
2164
  (typeof navigator !== "undefined" &&
2308
2165
  navigator.userAgent &&
2309
- navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) &&
2310
- parseInt(RegExp.$1, 10) >= 31) ||
2166
+ (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) &&
2167
+ parseInt(m[1], 10) >= 31) ||
2311
2168
  (typeof navigator !== "undefined" &&
2312
2169
  navigator.userAgent &&
2313
2170
  navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))
@@ -2325,11 +2182,11 @@
2325
2182
  if (!this.useColors) {
2326
2183
  return;
2327
2184
  }
2328
- var c = "color: " + this.color;
2185
+ const c = "color: " + this.color;
2329
2186
  args.splice(1, 0, c, "color: inherit");
2330
- var index = 0;
2331
- var lastC = 0;
2332
- args[0].replace(/%[a-zA-Z%]/g, function (match) {
2187
+ let index = 0;
2188
+ let lastC = 0;
2189
+ args[0].replace(/%[a-zA-Z%]/g, (match) => {
2333
2190
  if (match === "%%") {
2334
2191
  return;
2335
2192
  }
@@ -2340,15 +2197,7 @@
2340
2197
  });
2341
2198
  args.splice(lastC, 0, c);
2342
2199
  }
2343
- function log() {
2344
- var _console;
2345
- return (
2346
- (typeof console === "undefined" ? "undefined" : _typeof(console)) ===
2347
- "object" &&
2348
- console.log &&
2349
- (_console = console).log.apply(_console, arguments)
2350
- );
2351
- }
2200
+ exports.log = console.debug || console.log || (() => {});
2352
2201
  function save(namespaces) {
2353
2202
  try {
2354
2203
  if (namespaces) {
@@ -2359,7 +2208,7 @@
2359
2208
  } catch (error) {}
2360
2209
  }
2361
2210
  function load() {
2362
- var r;
2211
+ let r;
2363
2212
  try {
2364
2213
  r = exports.storage.getItem("debug");
2365
2214
  } catch (error) {}
@@ -2373,8 +2222,8 @@
2373
2222
  return localStorage;
2374
2223
  } catch (error) {}
2375
2224
  }
2376
- module.exports = __nccwpck_require__(130)(exports);
2377
- var formatters = module.exports.formatters;
2225
+ module.exports = __nccwpck_require__(864)(exports);
2226
+ const { formatters } = module.exports;
2378
2227
  formatters.j = function (v) {
2379
2228
  try {
2380
2229
  return JSON.stringify(v);
@@ -2383,8 +2232,7 @@
2383
2232
  }
2384
2233
  };
2385
2234
  },
2386
- 130: (module, __unused_webpack_exports, __nccwpck_require__) => {
2387
- "use strict";
2235
+ 864: (module, __unused_webpack_exports, __nccwpck_require__) => {
2388
2236
  function setup(env) {
2389
2237
  createDebug.debug = createDebug;
2390
2238
  createDebug.default = createDebug;
@@ -2393,16 +2241,16 @@
2393
2241
  createDebug.enable = enable;
2394
2242
  createDebug.enabled = enabled;
2395
2243
  createDebug.humanize = __nccwpck_require__(258);
2396
- Object.keys(env).forEach(function (key) {
2244
+ createDebug.destroy = destroy;
2245
+ Object.keys(env).forEach((key) => {
2397
2246
  createDebug[key] = env[key];
2398
2247
  });
2399
- createDebug.instances = [];
2400
2248
  createDebug.names = [];
2401
2249
  createDebug.skips = [];
2402
2250
  createDebug.formatters = {};
2403
2251
  function selectColor(namespace) {
2404
- var hash = 0;
2405
- for (var i = 0; i < namespace.length; i++) {
2252
+ let hash = 0;
2253
+ for (let i = 0; i < namespace.length; i++) {
2406
2254
  hash = (hash << 5) - hash + namespace.charCodeAt(i);
2407
2255
  hash |= 0;
2408
2256
  }
@@ -2410,21 +2258,17 @@
2410
2258
  }
2411
2259
  createDebug.selectColor = selectColor;
2412
2260
  function createDebug(namespace) {
2413
- var prevTime;
2414
- function debug() {
2261
+ let prevTime;
2262
+ let enableOverride = null;
2263
+ let namespacesCache;
2264
+ let enabledCache;
2265
+ function debug(...args) {
2415
2266
  if (!debug.enabled) {
2416
2267
  return;
2417
2268
  }
2418
- for (
2419
- var _len = arguments.length, args = new Array(_len), _key = 0;
2420
- _key < _len;
2421
- _key++
2422
- ) {
2423
- args[_key] = arguments[_key];
2424
- }
2425
- var self = debug;
2426
- var curr = Number(new Date());
2427
- var ms = curr - (prevTime || curr);
2269
+ const self = debug;
2270
+ const curr = Number(new Date());
2271
+ const ms = curr - (prevTime || curr);
2428
2272
  self.diff = ms;
2429
2273
  self.prev = prevTime;
2430
2274
  self.curr = curr;
@@ -2433,98 +2277,130 @@
2433
2277
  if (typeof args[0] !== "string") {
2434
2278
  args.unshift("%O");
2435
2279
  }
2436
- var index = 0;
2437
- args[0] = args[0].replace(
2438
- /%([a-zA-Z%])/g,
2439
- function (match, format) {
2440
- if (match === "%%") {
2441
- return match;
2442
- }
2443
- index++;
2444
- var formatter = createDebug.formatters[format];
2445
- if (typeof formatter === "function") {
2446
- var val = args[index];
2447
- match = formatter.call(self, val);
2448
- args.splice(index, 1);
2449
- index--;
2450
- }
2451
- return match;
2452
- },
2453
- );
2280
+ let index = 0;
2281
+ args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
2282
+ if (match === "%%") {
2283
+ return "%";
2284
+ }
2285
+ index++;
2286
+ const formatter = createDebug.formatters[format];
2287
+ if (typeof formatter === "function") {
2288
+ const val = args[index];
2289
+ match = formatter.call(self, val);
2290
+ args.splice(index, 1);
2291
+ index--;
2292
+ }
2293
+ return match;
2294
+ });
2454
2295
  createDebug.formatArgs.call(self, args);
2455
- var logFn = self.log || createDebug.log;
2296
+ const logFn = self.log || createDebug.log;
2456
2297
  logFn.apply(self, args);
2457
2298
  }
2458
2299
  debug.namespace = namespace;
2459
- debug.enabled = createDebug.enabled(namespace);
2460
2300
  debug.useColors = createDebug.useColors();
2461
- debug.color = selectColor(namespace);
2462
- debug.destroy = destroy;
2301
+ debug.color = createDebug.selectColor(namespace);
2463
2302
  debug.extend = extend;
2303
+ debug.destroy = createDebug.destroy;
2304
+ Object.defineProperty(debug, "enabled", {
2305
+ enumerable: true,
2306
+ configurable: false,
2307
+ get: () => {
2308
+ if (enableOverride !== null) {
2309
+ return enableOverride;
2310
+ }
2311
+ if (namespacesCache !== createDebug.namespaces) {
2312
+ namespacesCache = createDebug.namespaces;
2313
+ enabledCache = createDebug.enabled(namespace);
2314
+ }
2315
+ return enabledCache;
2316
+ },
2317
+ set: (v) => {
2318
+ enableOverride = v;
2319
+ },
2320
+ });
2464
2321
  if (typeof createDebug.init === "function") {
2465
2322
  createDebug.init(debug);
2466
2323
  }
2467
- createDebug.instances.push(debug);
2468
2324
  return debug;
2469
2325
  }
2470
- function destroy() {
2471
- var index = createDebug.instances.indexOf(this);
2472
- if (index !== -1) {
2473
- createDebug.instances.splice(index, 1);
2474
- return true;
2475
- }
2476
- return false;
2477
- }
2478
2326
  function extend(namespace, delimiter) {
2479
- return createDebug(
2327
+ const newDebug = createDebug(
2480
2328
  this.namespace +
2481
2329
  (typeof delimiter === "undefined" ? ":" : delimiter) +
2482
2330
  namespace,
2483
2331
  );
2332
+ newDebug.log = this.log;
2333
+ return newDebug;
2484
2334
  }
2485
2335
  function enable(namespaces) {
2486
2336
  createDebug.save(namespaces);
2337
+ createDebug.namespaces = namespaces;
2487
2338
  createDebug.names = [];
2488
2339
  createDebug.skips = [];
2489
- var i;
2490
- var split = (typeof namespaces === "string" ? namespaces : "").split(
2491
- /[\s,]+/,
2492
- );
2493
- var len = split.length;
2494
- for (i = 0; i < len; i++) {
2495
- if (!split[i]) {
2496
- continue;
2340
+ const split = (typeof namespaces === "string" ? namespaces : "")
2341
+ .trim()
2342
+ .replace(" ", ",")
2343
+ .split(",")
2344
+ .filter(Boolean);
2345
+ for (const ns of split) {
2346
+ if (ns[0] === "-") {
2347
+ createDebug.skips.push(ns.slice(1));
2348
+ } else {
2349
+ createDebug.names.push(ns);
2497
2350
  }
2498
- namespaces = split[i].replace(/\*/g, ".*?");
2499
- if (namespaces[0] === "-") {
2500
- createDebug.skips.push(
2501
- new RegExp("^" + namespaces.substr(1) + "$"),
2502
- );
2351
+ }
2352
+ }
2353
+ function matchesTemplate(search, template) {
2354
+ let searchIndex = 0;
2355
+ let templateIndex = 0;
2356
+ let starIndex = -1;
2357
+ let matchIndex = 0;
2358
+ while (searchIndex < search.length) {
2359
+ if (
2360
+ templateIndex < template.length &&
2361
+ (template[templateIndex] === search[searchIndex] ||
2362
+ template[templateIndex] === "*")
2363
+ ) {
2364
+ if (template[templateIndex] === "*") {
2365
+ starIndex = templateIndex;
2366
+ matchIndex = searchIndex;
2367
+ templateIndex++;
2368
+ } else {
2369
+ searchIndex++;
2370
+ templateIndex++;
2371
+ }
2372
+ } else if (starIndex !== -1) {
2373
+ templateIndex = starIndex + 1;
2374
+ matchIndex++;
2375
+ searchIndex = matchIndex;
2503
2376
  } else {
2504
- createDebug.names.push(new RegExp("^" + namespaces + "$"));
2377
+ return false;
2505
2378
  }
2506
2379
  }
2507
- for (i = 0; i < createDebug.instances.length; i++) {
2508
- var instance = createDebug.instances[i];
2509
- instance.enabled = createDebug.enabled(instance.namespace);
2380
+ while (
2381
+ templateIndex < template.length &&
2382
+ template[templateIndex] === "*"
2383
+ ) {
2384
+ templateIndex++;
2510
2385
  }
2386
+ return templateIndex === template.length;
2511
2387
  }
2512
2388
  function disable() {
2389
+ const namespaces = [
2390
+ ...createDebug.names,
2391
+ ...createDebug.skips.map((namespace) => "-" + namespace),
2392
+ ].join(",");
2513
2393
  createDebug.enable("");
2394
+ return namespaces;
2514
2395
  }
2515
2396
  function enabled(name) {
2516
- if (name[name.length - 1] === "*") {
2517
- return true;
2518
- }
2519
- var i;
2520
- var len;
2521
- for (i = 0, len = createDebug.skips.length; i < len; i++) {
2522
- if (createDebug.skips[i].test(name)) {
2397
+ for (const skip of createDebug.skips) {
2398
+ if (matchesTemplate(name, skip)) {
2523
2399
  return false;
2524
2400
  }
2525
2401
  }
2526
- for (i = 0, len = createDebug.names.length; i < len; i++) {
2527
- if (createDebug.names[i].test(name)) {
2402
+ for (const ns of createDebug.names) {
2403
+ if (matchesTemplate(name, ns)) {
2528
2404
  return true;
2529
2405
  }
2530
2406
  }
@@ -2536,37 +2412,44 @@
2536
2412
  }
2537
2413
  return val;
2538
2414
  }
2415
+ function destroy() {
2416
+ console.warn(
2417
+ "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.",
2418
+ );
2419
+ }
2539
2420
  createDebug.enable(createDebug.load());
2540
2421
  return createDebug;
2541
2422
  }
2542
2423
  module.exports = setup;
2543
2424
  },
2544
- 163: (module, __unused_webpack_exports, __nccwpck_require__) => {
2545
- "use strict";
2425
+ 473: (module, __unused_webpack_exports, __nccwpck_require__) => {
2546
2426
  if (
2547
2427
  typeof process === "undefined" ||
2548
2428
  process.type === "renderer" ||
2549
2429
  process.browser === true ||
2550
2430
  process.__nwjs
2551
2431
  ) {
2552
- module.exports = __nccwpck_require__(327);
2432
+ module.exports = __nccwpck_require__(673);
2553
2433
  } else {
2554
- module.exports = __nccwpck_require__(83);
2434
+ module.exports = __nccwpck_require__(873);
2555
2435
  }
2556
2436
  },
2557
- 83: (module, exports, __nccwpck_require__) => {
2558
- "use strict";
2559
- var tty = __nccwpck_require__(18);
2560
- var util = __nccwpck_require__(23);
2437
+ 873: (module, exports, __nccwpck_require__) => {
2438
+ const tty = __nccwpck_require__(18);
2439
+ const util = __nccwpck_require__(23);
2561
2440
  exports.init = init;
2562
2441
  exports.log = log;
2563
2442
  exports.formatArgs = formatArgs;
2564
2443
  exports.save = save;
2565
2444
  exports.load = load;
2566
2445
  exports.useColors = useColors;
2446
+ exports.destroy = util.deprecate(
2447
+ () => {},
2448
+ "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.",
2449
+ );
2567
2450
  exports.colors = [6, 2, 3, 4, 5, 1];
2568
2451
  try {
2569
- var supportsColor = __nccwpck_require__(970);
2452
+ const supportsColor = __nccwpck_require__(970);
2570
2453
  if (
2571
2454
  supportsColor &&
2572
2455
  (supportsColor.stderr || supportsColor).level >= 2
@@ -2582,17 +2465,13 @@
2582
2465
  }
2583
2466
  } catch (error) {}
2584
2467
  exports.inspectOpts = Object.keys(process.env)
2585
- .filter(function (key) {
2586
- return /^debug_/i.test(key);
2587
- })
2588
- .reduce(function (obj, key) {
2589
- var prop = key
2468
+ .filter((key) => /^debug_/i.test(key))
2469
+ .reduce((obj, key) => {
2470
+ const prop = key
2590
2471
  .substring(6)
2591
2472
  .toLowerCase()
2592
- .replace(/_([a-z])/g, function (_, k) {
2593
- return k.toUpperCase();
2594
- });
2595
- var val = process.env[key];
2473
+ .replace(/_([a-z])/g, (_, k) => k.toUpperCase());
2474
+ let val = process.env[key];
2596
2475
  if (/^(yes|on|true|enabled)$/i.test(val)) {
2597
2476
  val = true;
2598
2477
  } else if (/^(no|off|false|disabled)$/i.test(val)) {
@@ -2611,12 +2490,11 @@
2611
2490
  : tty.isatty(process.stderr.fd);
2612
2491
  }
2613
2492
  function formatArgs(args) {
2614
- var name = this.namespace,
2615
- useColors = this.useColors;
2493
+ const { namespace: name, useColors } = this;
2616
2494
  if (useColors) {
2617
- var c = this.color;
2618
- var colorCode = "[3" + (c < 8 ? c : "8;5;" + c);
2619
- var prefix = " ".concat(colorCode, ";1m").concat(name, " ");
2495
+ const c = this.color;
2496
+ const colorCode = "[3" + (c < 8 ? c : "8;5;" + c);
2497
+ const prefix = ` ${colorCode};1m${name} `;
2620
2498
  args[0] = prefix + args[0].split("\n").join("\n" + prefix);
2621
2499
  args.push(
2622
2500
  colorCode + "m+" + module.exports.humanize(this.diff) + "",
@@ -2631,8 +2509,10 @@
2631
2509
  }
2632
2510
  return new Date().toISOString() + " ";
2633
2511
  }
2634
- function log() {
2635
- return process.stderr.write(util.format.apply(util, arguments) + "\n");
2512
+ function log(...args) {
2513
+ return process.stderr.write(
2514
+ util.formatWithOptions(exports.inspectOpts, ...args) + "\n",
2515
+ );
2636
2516
  }
2637
2517
  function save(namespaces) {
2638
2518
  if (namespaces) {
@@ -2646,21 +2526,19 @@
2646
2526
  }
2647
2527
  function init(debug) {
2648
2528
  debug.inspectOpts = {};
2649
- var keys = Object.keys(exports.inspectOpts);
2650
- for (var i = 0; i < keys.length; i++) {
2529
+ const keys = Object.keys(exports.inspectOpts);
2530
+ for (let i = 0; i < keys.length; i++) {
2651
2531
  debug.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];
2652
2532
  }
2653
2533
  }
2654
- module.exports = __nccwpck_require__(130)(exports);
2655
- var formatters = module.exports.formatters;
2534
+ module.exports = __nccwpck_require__(864)(exports);
2535
+ const { formatters } = module.exports;
2656
2536
  formatters.o = function (v) {
2657
2537
  this.inspectOpts.colors = this.useColors;
2658
2538
  return util
2659
2539
  .inspect(v, this.inspectOpts)
2660
2540
  .split("\n")
2661
- .map(function (str) {
2662
- return str.trim();
2663
- })
2541
+ .map((str) => str.trim())
2664
2542
  .join(" ");
2665
2543
  };
2666
2544
  formatters.O = function (v) {
@@ -2874,19 +2752,19 @@
2874
2752
  return Math.round(ms / n) + " " + name + (isPlural ? "s" : "");
2875
2753
  }
2876
2754
  },
2877
- 909: (__unused_webpack_module, exports, __nccwpck_require__) => {
2755
+ 599: (__unused_webpack_module, exports, __nccwpck_require__) => {
2878
2756
  "use strict";
2879
- var fs = __nccwpck_require__(896),
2757
+ const fs = __nccwpck_require__(896),
2880
2758
  os = __nccwpck_require__(857),
2881
2759
  net = __nccwpck_require__(278),
2882
2760
  path = __nccwpck_require__(928),
2883
- _async = __nccwpck_require__(515),
2884
- debug = __nccwpck_require__(163),
2761
+ _async = __nccwpck_require__(594),
2762
+ debug = __nccwpck_require__(473),
2885
2763
  mkdirp = __nccwpck_require__(119).mkdirp;
2886
- var debugTestPort = debug("portfinder:testPort"),
2764
+ const debugTestPort = debug("portfinder:testPort"),
2887
2765
  debugGetPort = debug("portfinder:getPort"),
2888
2766
  debugDefaultHosts = debug("portfinder:defaultHosts");
2889
- var internals = {};
2767
+ const internals = {};
2890
2768
  internals.testPort = function (options, callback) {
2891
2769
  if (!callback) {
2892
2770
  callback = options;
@@ -2907,8 +2785,15 @@
2907
2785
  options.port,
2908
2786
  );
2909
2787
  options.server.removeListener("error", onError);
2910
- options.server.close();
2911
- callback(null, options.port);
2788
+ options.server.close(function () {
2789
+ debugTestPort(
2790
+ "done w/ testPort(): Server closed",
2791
+ options.host,
2792
+ "port",
2793
+ options.port,
2794
+ );
2795
+ callback(null, options.port);
2796
+ });
2912
2797
  }
2913
2798
  function onError(err) {
2914
2799
  debugTestPort(
@@ -2923,7 +2808,7 @@
2923
2808
  if (!(err.code == "EADDRINUSE" || err.code == "EACCES")) {
2924
2809
  return callback(err);
2925
2810
  }
2926
- var nextPort = exports.nextPort(options.port);
2811
+ const nextPort = exports.nextPort(options.port);
2927
2812
  if (nextPort > exports.highestPort) {
2928
2813
  return callback(new Error("No open ports available"));
2929
2814
  }
@@ -2949,6 +2834,9 @@
2949
2834
  exports.highestPort = port;
2950
2835
  };
2951
2836
  exports.basePath = "/tmp/portfinder";
2837
+ exports.setBasePath = function (path) {
2838
+ exports.basePath = path;
2839
+ };
2952
2840
  exports.getPort = function (options, callback) {
2953
2841
  if (!callback) {
2954
2842
  callback = options;
@@ -2977,13 +2865,14 @@
2977
2865
  );
2978
2866
  }
2979
2867
  }
2980
- if (options.host) {
2981
- if (exports._defaultHosts.indexOf(options.host) !== -1) {
2982
- exports._defaultHosts.push(options.host);
2983
- }
2868
+ if (
2869
+ options.host &&
2870
+ exports._defaultHosts.indexOf(options.host) === -1
2871
+ ) {
2872
+ exports._defaultHosts.push(options.host);
2984
2873
  }
2985
- var openPorts = [],
2986
- currentHost;
2874
+ const openPorts = [];
2875
+ let currentHost;
2987
2876
  return _async.eachSeries(
2988
2877
  exports._defaultHosts,
2989
2878
  function (host, next) {
@@ -3016,13 +2905,13 @@
3016
2905
  debugGetPort("in eachSeries() result callback: err is", err);
3017
2906
  if (err.code === "EADDRNOTAVAIL" || err.code === "EINVAL") {
3018
2907
  if (options.host === currentHost) {
3019
- var msg =
2908
+ const msg =
3020
2909
  "Provided host " +
3021
2910
  options.host +
3022
2911
  " could NOT be bound. Please provide a different host address or hostname";
3023
2912
  return callback(Error(msg));
3024
2913
  } else {
3025
- var idx = exports._defaultHosts.indexOf(currentHost);
2914
+ const idx = exports._defaultHosts.indexOf(currentHost);
3026
2915
  exports._defaultHosts.splice(idx, 1);
3027
2916
  return exports.getPort(options, callback);
3028
2917
  }
@@ -3041,7 +2930,7 @@
3041
2930
  if (openPorts[0] <= options.stopPort) {
3042
2931
  return callback(null, openPorts[0]);
3043
2932
  } else {
3044
- var msg =
2933
+ const msg =
3045
2934
  "No open ports found in between " +
3046
2935
  options.startPort +
3047
2936
  " and " +
@@ -3063,12 +2952,6 @@
3063
2952
  );
3064
2953
  };
3065
2954
  exports.getPortPromise = function (options) {
3066
- if (typeof Promise !== "function") {
3067
- throw Error(
3068
- "Native promise support is not available in this version of node." +
3069
- "Please install a polyfill and assign Promise to global.Promise before calling this method",
3070
- );
3071
- }
3072
2955
  if (!options) {
3073
2956
  options = {};
3074
2957
  }
@@ -3086,7 +2969,7 @@
3086
2969
  callback = options;
3087
2970
  options = {};
3088
2971
  }
3089
- var lastPort = null;
2972
+ let lastPort = null;
3090
2973
  _async.timesSeries(
3091
2974
  count,
3092
2975
  function (index, asyncCallback) {
@@ -3105,6 +2988,19 @@
3105
2988
  callback,
3106
2989
  );
3107
2990
  };
2991
+ exports.getPortsPromise = function (count, options) {
2992
+ if (!options) {
2993
+ options = {};
2994
+ }
2995
+ return new Promise(function (resolve, reject) {
2996
+ exports.getPorts(count, options, function (err, ports) {
2997
+ if (err) {
2998
+ return reject(err);
2999
+ }
3000
+ resolve(ports);
3001
+ });
3002
+ });
3003
+ };
3108
3004
  exports.getSocket = function (options, callback) {
3109
3005
  if (!callback) {
3110
3006
  callback = options;
@@ -3136,7 +3032,7 @@
3136
3032
  });
3137
3033
  }
3138
3034
  function checkAndTestSocket() {
3139
- var dir = path.dirname(options.path);
3035
+ const dir = path.dirname(options.path);
3140
3036
  fs.stat(dir, function (err, stats) {
3141
3037
  if (err || !stats.isDirectory()) {
3142
3038
  return createAndTestSocket(dir);
@@ -3151,11 +3047,11 @@
3151
3047
  return port + 1;
3152
3048
  };
3153
3049
  exports.nextSocket = function (socketPath) {
3154
- var dir = path.dirname(socketPath),
3050
+ const dir = path.dirname(socketPath),
3155
3051
  name = path.basename(socketPath, ".sock"),
3156
3052
  match = name.match(/^([a-zA-z]+)(\d*)$/i),
3157
- index = parseInt(match[2]),
3158
3053
  base = match[1];
3054
+ let index = parseInt(match[2]);
3159
3055
  if (isNaN(index)) {
3160
3056
  index = 0;
3161
3057
  }
@@ -3163,7 +3059,7 @@
3163
3059
  return path.join(dir, base + index + ".sock");
3164
3060
  };
3165
3061
  exports._defaultHosts = (function () {
3166
- var interfaces = {};
3062
+ let interfaces = {};
3167
3063
  try {
3168
3064
  interfaces = os.networkInterfaces();
3169
3065
  } catch (e) {
@@ -3172,13 +3068,13 @@
3172
3068
  throw e;
3173
3069
  }
3174
3070
  }
3175
- var interfaceNames = Object.keys(interfaces),
3071
+ const interfaceNames = Object.keys(interfaces),
3176
3072
  hiddenButImportantHost = "0.0.0.0",
3177
3073
  results = [hiddenButImportantHost];
3178
- for (var i = 0; i < interfaceNames.length; i++) {
3179
- var _interface = interfaces[interfaceNames[i]];
3180
- for (var j = 0; j < _interface.length; j++) {
3181
- var curr = _interface[j];
3074
+ for (let i = 0; i < interfaceNames.length; i++) {
3075
+ const _interface = interfaces[interfaceNames[i]];
3076
+ for (let j = 0; j < _interface.length; j++) {
3077
+ const curr = _interface[j];
3182
3078
  results.push(curr.address);
3183
3079
  }
3184
3080
  }
@@ -3367,11 +3263,7 @@
3367
3263
  if (cachedModule !== undefined) {
3368
3264
  return cachedModule.exports;
3369
3265
  }
3370
- var module = (__webpack_module_cache__[moduleId] = {
3371
- id: moduleId,
3372
- loaded: false,
3373
- exports: {},
3374
- });
3266
+ var module = (__webpack_module_cache__[moduleId] = { exports: {} });
3375
3267
  var threw = true;
3376
3268
  try {
3377
3269
  __webpack_modules__[moduleId].call(
@@ -3384,18 +3276,10 @@
3384
3276
  } finally {
3385
3277
  if (threw) delete __webpack_module_cache__[moduleId];
3386
3278
  }
3387
- module.loaded = true;
3388
3279
  return module.exports;
3389
3280
  }
3390
- (() => {
3391
- __nccwpck_require__.nmd = (module) => {
3392
- module.paths = [];
3393
- if (!module.children) module.children = [];
3394
- return module;
3395
- };
3396
- })();
3397
3281
  if (typeof __nccwpck_require__ !== "undefined")
3398
3282
  __nccwpck_require__.ab = __dirname + "/";
3399
- var __webpack_exports__ = __nccwpck_require__(909);
3283
+ var __webpack_exports__ = __nccwpck_require__(599);
3400
3284
  module.exports = __webpack_exports__;
3401
3285
  })();