occam-languages 0.0.66 → 0.0.68

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.
@@ -9,12 +9,18 @@ function _export(target, all) {
9
9
  });
10
10
  }
11
11
  _export(exports, {
12
+ get asyncBackwardsEvery () {
13
+ return asyncBackwardsEvery;
14
+ },
12
15
  get asyncEvery () {
13
16
  return asyncEvery;
14
17
  },
15
18
  get asyncForEach () {
16
19
  return asyncForEach;
17
20
  },
21
+ get asyncForwardsEvery () {
22
+ return asyncForwardsEvery;
23
+ },
18
24
  get asyncReduce () {
19
25
  return asyncReduce;
20
26
  },
@@ -447,12 +453,100 @@ function asyncResolve(arrayA, arrayB, callback) {
447
453
  });
448
454
  })();
449
455
  }
456
+ function asyncForwardsEvery(array, callback) {
457
+ return _async_to_generator(function() {
458
+ var length, index, element, passed;
459
+ return _ts_generator(this, function(_state) {
460
+ switch(_state.label){
461
+ case 0:
462
+ length = array.length;
463
+ index = 0;
464
+ _state.label = 1;
465
+ case 1:
466
+ if (!(index < length)) return [
467
+ 3,
468
+ 4
469
+ ];
470
+ element = array[index];
471
+ return [
472
+ 4,
473
+ callback(element, index)
474
+ ];
475
+ case 2:
476
+ passed = _state.sent();
477
+ if (!passed) {
478
+ return [
479
+ 2,
480
+ false
481
+ ];
482
+ }
483
+ _state.label = 3;
484
+ case 3:
485
+ index++;
486
+ return [
487
+ 3,
488
+ 1
489
+ ];
490
+ case 4:
491
+ return [
492
+ 2,
493
+ true
494
+ ];
495
+ }
496
+ });
497
+ })();
498
+ }
499
+ function asyncBackwardsEvery(array, callback) {
500
+ return _async_to_generator(function() {
501
+ var length, index, element, passed;
502
+ return _ts_generator(this, function(_state) {
503
+ switch(_state.label){
504
+ case 0:
505
+ length = array.length;
506
+ index = length - 1;
507
+ _state.label = 1;
508
+ case 1:
509
+ if (!(index >= 0)) return [
510
+ 3,
511
+ 4
512
+ ];
513
+ element = array[index];
514
+ return [
515
+ 4,
516
+ callback(element, index)
517
+ ];
518
+ case 2:
519
+ passed = _state.sent();
520
+ if (!passed) {
521
+ return [
522
+ 2,
523
+ false
524
+ ];
525
+ }
526
+ _state.label = 3;
527
+ case 3:
528
+ index--;
529
+ return [
530
+ 3,
531
+ 1
532
+ ];
533
+ case 4:
534
+ return [
535
+ 2,
536
+ true
537
+ ];
538
+ }
539
+ });
540
+ })();
541
+ }
450
542
  var _default = {
451
543
  asyncSome: asyncSome,
452
544
  asyncEvery: asyncEvery,
453
545
  asyncReduce: asyncReduce,
454
546
  asyncForEach: asyncForEach,
455
- asyncResolve: asyncResolve
547
+ asyncResolve: asyncResolve,
548
+ asyncForwardsEvery: asyncForwardsEvery,
549
+ asyncBackwardsEvery: asyncBackwardsEvery
456
550
  };
457
551
 
458
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYXN5bmNocm9ub3VzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuY29uc3QgeyBmaWx0ZXIgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXN5bmNTb21lKGFycmF5LCBjYWxsYmFjaykge1xuICBsZXQgcmVzdWx0ID0gZmFsc2U7XG5cbiAgY29uc3QgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuXG4gIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBsZW5ndGg7IGluZGV4ICs9IDEpIHtcbiAgICBjb25zdCBpdGVtID0gYXJyYXlbaW5kZXhdO1xuXG4gICAgcmVzdWx0ID0gYXdhaXQgY2FsbGJhY2soaXRlbSwgaW5kZXgsIGFycmF5KTtcblxuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhc3luY0V2ZXJ5KGFycmF5LCBjYWxsYmFjaykge1xuICBsZXQgcmVzdWx0ID0gdHJ1ZTtcblxuICBjb25zdCBsZW5ndGggPSBhcnJheS5sZW5ndGg7XG5cbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGxlbmd0aDsgaW5kZXggKz0gMSkge1xuICAgIGNvbnN0IGl0ZW0gPSBhcnJheVtpbmRleF07XG5cbiAgICByZXN1bHQgPSBhd2FpdCBjYWxsYmFjayhpdGVtLCBpbmRleCwgYXJyYXkpO1xuXG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhc3luY1JlZHVjZShhcnJheSwgY2FsbGJhY2ssIGluaXRpYWxWYWx1ZSkge1xuICBsZXQgdmFsdWUgPSBpbml0aWFsVmFsdWU7IC8vL1xuXG4gIGNvbnN0IGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCArPSAxKSB7XG4gICAgY29uc3QgaXRlbSA9IGFycmF5W2luZGV4XTtcblxuICAgIHZhbHVlID0gYXdhaXQgY2FsbGJhY2sodmFsdWUsIGl0ZW0sIGluZGV4LCBhcnJheSk7XG4gIH1cblxuICByZXR1cm4gdmFsdWU7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhc3luY0ZvckVhY2goYXJyYXksIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCArPSAxKSB7XG4gICAgY29uc3QgaXRlbSA9IGFycmF5W2luZGV4XTtcblxuICAgIGF3YWl0IGNhbGxiYWNrKGl0ZW0sIGluZGV4LCBhcnJheSk7XG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFzeW5jUmVzb2x2ZShhcnJheUEsIGFycmF5QiwgY2FsbGJhY2spIHtcbiAgbGV0IHJlc29sdmVkO1xuXG4gIGFycmF5QSA9IFsgIC8vL1xuICAgIC4uLmFycmF5QVxuICBdO1xuXG4gIGZvciAoOzspIHtcbiAgICBjb25zdCBhcnJheUFMZW5ndGggPSBhcnJheUEubGVuZ3RoO1xuXG4gICAgaWYgKGFycmF5QUxlbmd0aCA9PT0gMCkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgbGV0IHJlc29sdmVkID0gZmFsc2U7XG5cbiAgICBhd2FpdCBhc3luY0ZvckVhY2goYXJyYXlBLCBhc3luYyAoZWxlbWVudEEpID0+IHtcbiAgICAgIGNvbnN0IHBhc3NlZCA9IGF3YWl0IGNhbGxiYWNrKGVsZW1lbnRBKTtcblxuICAgICAgaWYgKHBhc3NlZCkge1xuICAgICAgICBjb25zdCBlbGVtZW50QiA9IGVsZW1lbnRBOyAgLy8vXG5cbiAgICAgICAgYXJyYXlCLnB1c2goZWxlbWVudEIpO1xuXG4gICAgICAgIHJlc29sdmVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmICghcmVzb2x2ZWQpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGZpbHRlcihhcnJheUEsIChlbGVtZW50QSkgPT4ge1xuICAgICAgY29uc3QgYXJyYXlCSW5jbHVkZXNFbGVtZW50QSA9IGFycmF5Qi5pbmNsdWRlcyhlbGVtZW50QSk7XG5cbiAgICAgIGlmICghYXJyYXlCSW5jbHVkZXNFbGVtZW50QSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGNvbnN0IGFycmF5QUxlbmd0aCA9IGFycmF5QS5sZW5ndGg7XG5cbiAgcmVzb2x2ZWQgPSAoYXJyYXlBTGVuZ3RoID09PSAwKTtcblxuICByZXR1cm4gcmVzb2x2ZWQ7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgYXN5bmNTb21lLFxuICBhc3luY0V2ZXJ5LFxuICBhc3luY1JlZHVjZSxcbiAgYXN5bmNGb3JFYWNoLFxuICBhc3luY1Jlc29sdmVcbn07XG4iXSwibmFtZXMiOlsiYXN5bmNFdmVyeSIsImFzeW5jRm9yRWFjaCIsImFzeW5jUmVkdWNlIiwiYXN5bmNSZXNvbHZlIiwiYXN5bmNTb21lIiwiZmlsdGVyIiwiYXJyYXlVdGlsaXRpZXMiLCJhcnJheSIsImNhbGxiYWNrIiwicmVzdWx0IiwibGVuZ3RoIiwiaW5kZXgiLCJpdGVtIiwiaW5pdGlhbFZhbHVlIiwidmFsdWUiLCJhcnJheUEiLCJhcnJheUIiLCJyZXNvbHZlZCIsImFycmF5QUxlbmd0aCIsImVsZW1lbnRBIiwicGFzc2VkIiwiZWxlbWVudEIiLCJwdXNoIiwiYXJyYXlCSW5jbHVkZXNFbGVtZW50QSIsImluY2x1ZGVzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUF3QnNCQTtlQUFBQTs7UUFnQ0FDO2VBQUFBOztRQWRBQztlQUFBQTs7UUF3QkFDO2VBQUFBOztRQTVEQUM7ZUFBQUE7O1FBNEd0QjtlQUFBOzs7eUJBaEgrQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUUvQixJQUFNLEFBQUVDLFNBQVdDLHlCQUFjLENBQXpCRDtBQUVELFNBQWVELFVBQVVHLEtBQUssRUFBRUMsUUFBUTs7WUFDekNDLFFBRUVDLFFBRUdDLE9BQ0RDOzs7O29CQUxKSCxTQUFTO29CQUVQQyxTQUFTSCxNQUFNRyxNQUFNO29CQUVsQkMsUUFBUTs7O3lCQUFHQSxDQUFBQSxRQUFRRCxNQUFLOzs7O29CQUN6QkUsT0FBT0wsS0FBSyxDQUFDSSxNQUFNO29CQUVoQjs7d0JBQU1ILFNBQVNJLE1BQU1ELE9BQU9KOzs7b0JBQXJDRSxTQUFTO29CQUVULElBQUlBLFFBQVE7d0JBQ1Y7Ozs7b0JBQ0Y7OztvQkFQa0NFLFNBQVM7Ozs7OztvQkFVN0M7O3dCQUFPRjs7OztJQUNUOztBQUVPLFNBQWVULFdBQVdPLEtBQUssRUFBRUMsUUFBUTs7WUFDMUNDLFFBRUVDLFFBRUdDLE9BQ0RDOzs7O29CQUxKSCxTQUFTO29CQUVQQyxTQUFTSCxNQUFNRyxNQUFNO29CQUVsQkMsUUFBUTs7O3lCQUFHQSxDQUFBQSxRQUFRRCxNQUFLOzs7O29CQUN6QkUsT0FBT0wsS0FBSyxDQUFDSSxNQUFNO29CQUVoQjs7d0JBQU1ILFNBQVNJLE1BQU1ELE9BQU9KOzs7b0JBQXJDRSxTQUFTO29CQUVULElBQUksQ0FBQ0EsUUFBUTt3QkFDWDs7OztvQkFDRjs7O29CQVBrQ0UsU0FBUzs7Ozs7O29CQVU3Qzs7d0JBQU9GOzs7O0lBQ1Q7O0FBRU8sU0FBZVAsWUFBWUssS0FBSyxFQUFFQyxRQUFRLEVBQUVLLFlBQVk7O1lBQ3pEQyxPQUVFSixRQUVHQyxPQUNEQzs7OztvQkFMSkUsUUFBUUQsY0FBYyxHQUFHO29CQUV2QkgsU0FBU0gsTUFBTUcsTUFBTTtvQkFFbEJDLFFBQVE7Ozt5QkFBR0EsQ0FBQUEsUUFBUUQsTUFBSzs7OztvQkFDekJFLE9BQU9MLEtBQUssQ0FBQ0ksTUFBTTtvQkFFakI7O3dCQUFNSCxTQUFTTSxPQUFPRixNQUFNRCxPQUFPSjs7O29CQUEzQ08sUUFBUTs7O29CQUgwQkgsU0FBUzs7Ozs7O29CQU03Qzs7d0JBQU9HOzs7O0lBQ1Q7O0FBRU8sU0FBZWIsYUFBYU0sS0FBSyxFQUFFQyxRQUFROztZQUMxQ0UsUUFFR0MsT0FDREM7Ozs7b0JBSEZGLFNBQVNILE1BQU1HLE1BQU07b0JBRWxCQyxRQUFROzs7eUJBQUdBLENBQUFBLFFBQVFELE1BQUs7Ozs7b0JBQ3pCRSxPQUFPTCxLQUFLLENBQUNJLE1BQU07b0JBRXpCOzt3QkFBTUgsU0FBU0ksTUFBTUQsT0FBT0o7OztvQkFBNUI7OztvQkFIa0NJLFNBQVM7Ozs7Ozs7Ozs7O0lBSy9DOztBQUVPLFNBQWVSLGFBQWFZLE1BQU0sRUFBRUMsTUFBTSxFQUFFUixRQUFROzttQkFDckRTLGdCQXdDRUM7Ozs7OzRCQWpDRUEsY0FNRkQ7Ozs7b0NBTkVDLGVBQWVILE9BQU9MLE1BQU07b0NBRWxDLElBQUlRLGlCQUFpQixHQUFHO3dDQUN0Qjs7NENBQUE7O29DQUNGO29DQUVJRCxXQUFXO29DQUVmOzt3Q0FBTWhCLGFBQWFjLFFBQVEsU0FBT0k7O29EQUMxQkMsUUFHRUM7Ozs7NERBSE87O2dFQUFNYixTQUFTVzs7OzREQUF4QkMsU0FBUzs0REFFZixJQUFJQSxRQUFRO2dFQUNKQyxXQUFXRixVQUFXLEdBQUc7Z0VBRS9CSCxPQUFPTSxJQUFJLENBQUNEO2dFQUVaSixXQUFXOzREQUNiOzs7Ozs7NENBQ0Y7Ozs7b0NBVkE7b0NBWUEsSUFBSSxDQUFDQSxVQUFVO3dDQUNiOzs0Q0FBQTs7b0NBQ0Y7b0NBRUFaLE9BQU9VLFFBQVEsU0FBQ0k7d0NBQ2QsSUFBTUkseUJBQXlCUCxPQUFPUSxRQUFRLENBQUNMO3dDQUUvQyxJQUFJLENBQUNJLHdCQUF3Qjs0Q0FDM0IsT0FBTzt3Q0FDVDtvQ0FDRjs7Ozs7O29CQUNGO29CQXBDQVIsU0FDRSxxQkFBR0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O29CQXFDQ0csZUFBZUgsT0FBT0wsTUFBTTtvQkFFbENPLFdBQVlDLGlCQUFpQjtvQkFFN0I7O3dCQUFPRDs7OztJQUNUOztJQUVBLFdBQWU7SUFDYmIsV0FBQUE7SUFDQUosWUFBQUE7SUFDQUUsYUFBQUE7SUFDQUQsY0FBQUE7SUFDQUUsY0FBQUE7QUFDRiJ9
552
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYXN5bmNocm9ub3VzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCJuZWNlc3NhcnlcIjtcblxuY29uc3QgeyBmaWx0ZXIgfSA9IGFycmF5VXRpbGl0aWVzO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXN5bmNTb21lKGFycmF5LCBjYWxsYmFjaykge1xuICBsZXQgcmVzdWx0ID0gZmFsc2U7XG5cbiAgY29uc3QgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuXG4gIGZvciAobGV0IGluZGV4ID0gMDsgaW5kZXggPCBsZW5ndGg7IGluZGV4ICs9IDEpIHtcbiAgICBjb25zdCBpdGVtID0gYXJyYXlbaW5kZXhdO1xuXG4gICAgcmVzdWx0ID0gYXdhaXQgY2FsbGJhY2soaXRlbSwgaW5kZXgsIGFycmF5KTtcblxuICAgIGlmIChyZXN1bHQpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhc3luY0V2ZXJ5KGFycmF5LCBjYWxsYmFjaykge1xuICBsZXQgcmVzdWx0ID0gdHJ1ZTtcblxuICBjb25zdCBsZW5ndGggPSBhcnJheS5sZW5ndGg7XG5cbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGxlbmd0aDsgaW5kZXggKz0gMSkge1xuICAgIGNvbnN0IGl0ZW0gPSBhcnJheVtpbmRleF07XG5cbiAgICByZXN1bHQgPSBhd2FpdCBjYWxsYmFjayhpdGVtLCBpbmRleCwgYXJyYXkpO1xuXG4gICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXN1bHQ7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhc3luY1JlZHVjZShhcnJheSwgY2FsbGJhY2ssIGluaXRpYWxWYWx1ZSkge1xuICBsZXQgdmFsdWUgPSBpbml0aWFsVmFsdWU7IC8vL1xuXG4gIGNvbnN0IGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCArPSAxKSB7XG4gICAgY29uc3QgaXRlbSA9IGFycmF5W2luZGV4XTtcblxuICAgIHZhbHVlID0gYXdhaXQgY2FsbGJhY2sodmFsdWUsIGl0ZW0sIGluZGV4LCBhcnJheSk7XG4gIH1cblxuICByZXR1cm4gdmFsdWU7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhc3luY0ZvckVhY2goYXJyYXksIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCArPSAxKSB7XG4gICAgY29uc3QgaXRlbSA9IGFycmF5W2luZGV4XTtcblxuICAgIGF3YWl0IGNhbGxiYWNrKGl0ZW0sIGluZGV4LCBhcnJheSk7XG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGFzeW5jUmVzb2x2ZShhcnJheUEsIGFycmF5QiwgY2FsbGJhY2spIHtcbiAgbGV0IHJlc29sdmVkO1xuXG4gIGFycmF5QSA9IFsgIC8vL1xuICAgIC4uLmFycmF5QVxuICBdO1xuXG4gIGZvciAoOzspIHtcbiAgICBjb25zdCBhcnJheUFMZW5ndGggPSBhcnJheUEubGVuZ3RoO1xuXG4gICAgaWYgKGFycmF5QUxlbmd0aCA9PT0gMCkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgbGV0IHJlc29sdmVkID0gZmFsc2U7XG5cbiAgICBhd2FpdCBhc3luY0ZvckVhY2goYXJyYXlBLCBhc3luYyAoZWxlbWVudEEpID0+IHtcbiAgICAgIGNvbnN0IHBhc3NlZCA9IGF3YWl0IGNhbGxiYWNrKGVsZW1lbnRBKTtcblxuICAgICAgaWYgKHBhc3NlZCkge1xuICAgICAgICBjb25zdCBlbGVtZW50QiA9IGVsZW1lbnRBOyAgLy8vXG5cbiAgICAgICAgYXJyYXlCLnB1c2goZWxlbWVudEIpO1xuXG4gICAgICAgIHJlc29sdmVkID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmICghcmVzb2x2ZWQpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGZpbHRlcihhcnJheUEsIChlbGVtZW50QSkgPT4ge1xuICAgICAgY29uc3QgYXJyYXlCSW5jbHVkZXNFbGVtZW50QSA9IGFycmF5Qi5pbmNsdWRlcyhlbGVtZW50QSk7XG5cbiAgICAgIGlmICghYXJyYXlCSW5jbHVkZXNFbGVtZW50QSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGNvbnN0IGFycmF5QUxlbmd0aCA9IGFycmF5QS5sZW5ndGg7XG5cbiAgcmVzb2x2ZWQgPSAoYXJyYXlBTGVuZ3RoID09PSAwKTtcblxuICByZXR1cm4gcmVzb2x2ZWQ7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhc3luY0ZvcndhcmRzRXZlcnkoYXJyYXksIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IGFycmF5W2luZGV4XSxcbiAgICAgICAgICBwYXNzZWQgPSBhd2FpdCBjYWxsYmFjayhlbGVtZW50LCBpbmRleCk7XG5cbiAgICBpZiAoIXBhc3NlZCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYXN5bmNCYWNrd2FyZHNFdmVyeShhcnJheSwgY2FsbGJhY2spIHtcbiAgY29uc3QgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuXG4gIGZvciAobGV0IGluZGV4ID0gbGVuZ3RoIC0gMTsgaW5kZXggPj0gMDsgaW5kZXgtLSkge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBhcnJheVtpbmRleF0sXG4gICAgICAgICAgcGFzc2VkID0gYXdhaXQgY2FsbGJhY2soZWxlbWVudCwgaW5kZXgpO1xuXG4gICAgaWYgKCFwYXNzZWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBhc3luY1NvbWUsXG4gIGFzeW5jRXZlcnksXG4gIGFzeW5jUmVkdWNlLFxuICBhc3luY0ZvckVhY2gsXG4gIGFzeW5jUmVzb2x2ZSxcbiAgYXN5bmNGb3J3YXJkc0V2ZXJ5LFxuICBhc3luY0JhY2t3YXJkc0V2ZXJ5XG59O1xuIl0sIm5hbWVzIjpbImFzeW5jQmFja3dhcmRzRXZlcnkiLCJhc3luY0V2ZXJ5IiwiYXN5bmNGb3JFYWNoIiwiYXN5bmNGb3J3YXJkc0V2ZXJ5IiwiYXN5bmNSZWR1Y2UiLCJhc3luY1Jlc29sdmUiLCJhc3luY1NvbWUiLCJmaWx0ZXIiLCJhcnJheVV0aWxpdGllcyIsImFycmF5IiwiY2FsbGJhY2siLCJyZXN1bHQiLCJsZW5ndGgiLCJpbmRleCIsIml0ZW0iLCJpbml0aWFsVmFsdWUiLCJ2YWx1ZSIsImFycmF5QSIsImFycmF5QiIsInJlc29sdmVkIiwiYXJyYXlBTGVuZ3RoIiwiZWxlbWVudEEiLCJwYXNzZWQiLCJlbGVtZW50QiIsInB1c2giLCJhcnJheUJJbmNsdWRlc0VsZW1lbnRBIiwiaW5jbHVkZXMiLCJlbGVtZW50Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUFpSXNCQTtlQUFBQTs7UUF6R0FDO2VBQUFBOztRQWdDQUM7ZUFBQUE7O1FBMERBQztlQUFBQTs7UUF4RUFDO2VBQUFBOztRQXdCQUM7ZUFBQUE7O1FBNURBQztlQUFBQTs7UUEwSXRCO2VBQUE7Ozt5QkE5SStCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "occam-languages",
3
3
  "author": "James Smith",
4
- "version": "0.0.66",
4
+ "version": "0.0.68",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/occam-languages",
7
7
  "description": "Occam's common language functionality.",
@@ -112,10 +112,42 @@ export async function asyncResolve(arrayA, arrayB, callback) {
112
112
  return resolved;
113
113
  }
114
114
 
115
+ export async function asyncForwardsEvery(array, callback) {
116
+ const length = array.length;
117
+
118
+ for (let index = 0; index < length; index++) {
119
+ const element = array[index],
120
+ passed = await callback(element, index);
121
+
122
+ if (!passed) {
123
+ return false;
124
+ }
125
+ }
126
+
127
+ return true;
128
+ }
129
+
130
+ export async function asyncBackwardsEvery(array, callback) {
131
+ const length = array.length;
132
+
133
+ for (let index = length - 1; index >= 0; index--) {
134
+ const element = array[index],
135
+ passed = await callback(element, index);
136
+
137
+ if (!passed) {
138
+ return false;
139
+ }
140
+ }
141
+
142
+ return true;
143
+ }
144
+
115
145
  export default {
116
146
  asyncSome,
117
147
  asyncEvery,
118
148
  asyncReduce,
119
149
  asyncForEach,
120
- asyncResolve
150
+ asyncResolve,
151
+ asyncForwardsEvery,
152
+ asyncBackwardsEvery
121
153
  };