rubico 2.7.10 → 2.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +5 -17
- package/README.md +1 -1
- package/_internal/curryArity.js +34 -12
- package/_internal/funcApply2.js +18 -0
- package/_internal/mapMapEntries.js +1 -1
- package/_internal/objectMapEntries.js +1 -1
- package/curry.js +95 -12
- package/dist/Transducer.es.js +1 -1
- package/dist/Transducer.es.min.js +1 -1
- package/dist/Transducer.js +1 -1
- package/dist/Transducer.min.js +1 -1
- package/dist/Transducer.mjs +1 -1
- package/dist/__.es.js +1 -1
- package/dist/__.es.min.js +1 -1
- package/dist/__.js +1 -1
- package/dist/__.min.js +1 -1
- package/dist/__.mjs +1 -1
- package/dist/all.es.js +1 -1
- package/dist/all.es.min.js +1 -1
- package/dist/all.js +1 -1
- package/dist/all.min.js +1 -1
- package/dist/all.mjs +1 -1
- package/dist/always.es.js +1 -1
- package/dist/always.es.min.js +1 -1
- package/dist/always.js +1 -1
- package/dist/always.min.js +1 -1
- package/dist/always.mjs +1 -1
- package/dist/and.es.js +1 -1
- package/dist/and.es.min.js +1 -1
- package/dist/and.js +1 -1
- package/dist/and.min.js +1 -1
- package/dist/and.mjs +1 -1
- package/dist/assign.es.js +1 -1
- package/dist/assign.es.min.js +1 -1
- package/dist/assign.js +1 -1
- package/dist/assign.min.js +1 -1
- package/dist/assign.mjs +1 -1
- package/dist/compose.es.js +1 -1
- package/dist/compose.es.min.js +1 -1
- package/dist/compose.js +1 -1
- package/dist/compose.min.js +1 -1
- package/dist/compose.mjs +1 -1
- package/dist/curry.es.js +146 -13
- package/dist/curry.es.min.js +2 -2
- package/dist/curry.js +146 -13
- package/dist/curry.min.js +2 -2
- package/dist/curry.mjs +146 -13
- package/dist/eq.es.js +1 -1
- package/dist/eq.es.min.js +1 -1
- package/dist/eq.js +1 -1
- package/dist/eq.min.js +1 -1
- package/dist/eq.mjs +1 -1
- package/dist/every.es.js +1 -1
- package/dist/every.es.min.js +1 -1
- package/dist/every.js +1 -1
- package/dist/every.min.js +1 -1
- package/dist/every.mjs +1 -1
- package/dist/filter.es.js +1 -1
- package/dist/filter.es.min.js +1 -1
- package/dist/filter.js +1 -1
- package/dist/filter.min.js +1 -1
- package/dist/filter.mjs +1 -1
- package/dist/flatMap.es.js +1 -1
- package/dist/flatMap.es.min.js +1 -1
- package/dist/flatMap.js +1 -1
- package/dist/flatMap.min.js +1 -1
- package/dist/flatMap.mjs +1 -1
- package/dist/forEach.es.js +1 -1
- package/dist/forEach.es.min.js +1 -1
- package/dist/forEach.js +1 -1
- package/dist/forEach.min.js +1 -1
- package/dist/forEach.mjs +1 -1
- package/dist/get.es.js +1 -1
- package/dist/get.es.min.js +1 -1
- package/dist/get.js +1 -1
- package/dist/get.min.js +1 -1
- package/dist/get.mjs +1 -1
- package/dist/gt.es.js +1 -1
- package/dist/gt.es.min.js +1 -1
- package/dist/gt.js +1 -1
- package/dist/gt.min.js +1 -1
- package/dist/gt.mjs +1 -1
- package/dist/gte.es.js +1 -1
- package/dist/gte.es.min.js +1 -1
- package/dist/gte.js +1 -1
- package/dist/gte.min.js +1 -1
- package/dist/gte.mjs +1 -1
- package/dist/lt.es.js +1 -1
- package/dist/lt.es.min.js +1 -1
- package/dist/lt.js +1 -1
- package/dist/lt.min.js +1 -1
- package/dist/lt.mjs +1 -1
- package/dist/lte.es.js +1 -1
- package/dist/lte.es.min.js +1 -1
- package/dist/lte.js +1 -1
- package/dist/lte.min.js +1 -1
- package/dist/lte.mjs +1 -1
- package/dist/map.es.js +52 -13
- package/dist/map.es.min.js +2 -2
- package/dist/map.js +52 -13
- package/dist/map.min.js +2 -2
- package/dist/map.mjs +52 -13
- package/dist/not.es.js +1 -1
- package/dist/not.es.min.js +1 -1
- package/dist/not.js +1 -1
- package/dist/not.min.js +1 -1
- package/dist/not.mjs +1 -1
- package/dist/omit.es.js +1 -1
- package/dist/omit.es.min.js +1 -1
- package/dist/omit.js +1 -1
- package/dist/omit.min.js +1 -1
- package/dist/omit.mjs +1 -1
- package/dist/or.es.js +1 -1
- package/dist/or.es.min.js +1 -1
- package/dist/or.js +1 -1
- package/dist/or.min.js +1 -1
- package/dist/or.mjs +1 -1
- package/dist/pick.es.js +1 -1
- package/dist/pick.es.min.js +1 -1
- package/dist/pick.js +1 -1
- package/dist/pick.min.js +1 -1
- package/dist/pick.mjs +1 -1
- package/dist/pipe.es.js +1 -1
- package/dist/pipe.es.min.js +1 -1
- package/dist/pipe.js +1 -1
- package/dist/pipe.min.js +1 -1
- package/dist/pipe.mjs +1 -1
- package/dist/reduce.es.js +1 -1
- package/dist/reduce.es.min.js +1 -1
- package/dist/reduce.js +1 -1
- package/dist/reduce.min.js +1 -1
- package/dist/reduce.mjs +1 -1
- package/dist/rubico.es.js +63 -18
- package/dist/rubico.es.min.js +2 -2
- package/dist/rubico.global.js +63 -18
- package/dist/rubico.global.min.js +2 -2
- package/dist/rubico.js +63 -18
- package/dist/rubico.min.js +2 -2
- package/dist/rubico.mjs +63 -18
- package/dist/set.es.js +1 -1
- package/dist/set.es.min.js +1 -1
- package/dist/set.js +1 -1
- package/dist/set.min.js +1 -1
- package/dist/set.mjs +1 -1
- package/dist/some.es.js +1 -1
- package/dist/some.es.min.js +1 -1
- package/dist/some.js +1 -1
- package/dist/some.min.js +1 -1
- package/dist/some.mjs +1 -1
- package/dist/switchCase.es.js +1 -1
- package/dist/switchCase.es.min.js +1 -1
- package/dist/switchCase.js +1 -1
- package/dist/switchCase.min.js +1 -1
- package/dist/switchCase.mjs +1 -1
- package/dist/tap.es.js +1 -1
- package/dist/tap.es.min.js +1 -1
- package/dist/tap.js +1 -1
- package/dist/tap.min.js +1 -1
- package/dist/tap.mjs +1 -1
- package/dist/thunkify.es.js +41 -17
- package/dist/thunkify.es.min.js +2 -2
- package/dist/thunkify.js +41 -17
- package/dist/thunkify.min.js +2 -2
- package/dist/thunkify.mjs +41 -17
- package/dist/transform.es.js +1 -1
- package/dist/transform.es.min.js +1 -1
- package/dist/transform.js +1 -1
- package/dist/transform.min.js +1 -1
- package/dist/transform.mjs +1 -1
- package/dist/tryCatch.es.js +1 -1
- package/dist/tryCatch.es.min.js +1 -1
- package/dist/tryCatch.js +1 -1
- package/dist/tryCatch.min.js +1 -1
- package/dist/tryCatch.mjs +1 -1
- package/dist/x/append.es.js +1 -1
- package/dist/x/append.es.min.js +1 -1
- package/dist/x/append.js +1 -1
- package/dist/x/append.min.js +1 -1
- package/dist/x/append.mjs +1 -1
- package/dist/x/callProp.es.js +1 -1
- package/dist/x/callProp.es.min.js +1 -1
- package/dist/x/callProp.js +1 -1
- package/dist/x/callProp.min.js +1 -1
- package/dist/x/callProp.mjs +1 -1
- package/dist/x/defaultsDeep.es.js +1 -1
- package/dist/x/defaultsDeep.es.min.js +1 -1
- package/dist/x/defaultsDeep.js +1 -1
- package/dist/x/defaultsDeep.min.js +1 -1
- package/dist/x/defaultsDeep.mjs +1 -1
- package/dist/x/differenceWith.es.js +1 -1
- package/dist/x/differenceWith.es.min.js +1 -1
- package/dist/x/differenceWith.js +1 -1
- package/dist/x/differenceWith.min.js +1 -1
- package/dist/x/differenceWith.mjs +1 -1
- package/dist/x/filterOut.es.js +1 -1
- package/dist/x/filterOut.es.min.js +1 -1
- package/dist/x/filterOut.js +1 -1
- package/dist/x/filterOut.min.js +1 -1
- package/dist/x/filterOut.mjs +1 -1
- package/dist/x/find.es.js +1 -1
- package/dist/x/find.es.min.js +1 -1
- package/dist/x/find.js +1 -1
- package/dist/x/find.min.js +1 -1
- package/dist/x/find.mjs +1 -1
- package/dist/x/findIndex.es.js +1 -1
- package/dist/x/findIndex.es.min.js +1 -1
- package/dist/x/findIndex.js +1 -1
- package/dist/x/findIndex.min.js +1 -1
- package/dist/x/findIndex.mjs +1 -1
- package/dist/x/first.es.js +1 -1
- package/dist/x/first.es.min.js +1 -1
- package/dist/x/first.js +1 -1
- package/dist/x/first.min.js +1 -1
- package/dist/x/first.mjs +1 -1
- package/dist/x/flatten.es.js +1 -1
- package/dist/x/flatten.es.min.js +1 -1
- package/dist/x/flatten.js +1 -1
- package/dist/x/flatten.min.js +1 -1
- package/dist/x/flatten.mjs +1 -1
- package/dist/x/groupBy.es.js +1 -1
- package/dist/x/groupBy.es.min.js +1 -1
- package/dist/x/groupBy.js +1 -1
- package/dist/x/groupBy.min.js +1 -1
- package/dist/x/groupBy.mjs +1 -1
- package/dist/x/has.es.js +1 -1
- package/dist/x/has.es.min.js +1 -1
- package/dist/x/has.js +1 -1
- package/dist/x/has.min.js +1 -1
- package/dist/x/has.mjs +1 -1
- package/dist/x/identity.es.js +1 -1
- package/dist/x/identity.es.min.js +1 -1
- package/dist/x/identity.js +1 -1
- package/dist/x/identity.min.js +1 -1
- package/dist/x/identity.mjs +1 -1
- package/dist/x/includes.es.js +1 -1
- package/dist/x/includes.es.min.js +1 -1
- package/dist/x/includes.js +1 -1
- package/dist/x/includes.min.js +1 -1
- package/dist/x/includes.mjs +1 -1
- package/dist/x/isDeepEqual.es.js +1 -1
- package/dist/x/isDeepEqual.es.min.js +1 -1
- package/dist/x/isDeepEqual.js +1 -1
- package/dist/x/isDeepEqual.min.js +1 -1
- package/dist/x/isDeepEqual.mjs +1 -1
- package/dist/x/isEmpty.es.js +1 -1
- package/dist/x/isEmpty.es.min.js +1 -1
- package/dist/x/isEmpty.js +1 -1
- package/dist/x/isEmpty.min.js +1 -1
- package/dist/x/isEmpty.mjs +1 -1
- package/dist/x/isEqual.es.js +1 -1
- package/dist/x/isEqual.es.min.js +1 -1
- package/dist/x/isEqual.js +1 -1
- package/dist/x/isEqual.min.js +1 -1
- package/dist/x/isEqual.mjs +1 -1
- package/dist/x/isFunction.es.js +1 -1
- package/dist/x/isFunction.es.min.js +1 -1
- package/dist/x/isFunction.js +1 -1
- package/dist/x/isFunction.min.js +1 -1
- package/dist/x/isFunction.mjs +1 -1
- package/dist/x/isIn.es.js +1 -1
- package/dist/x/isIn.es.min.js +1 -1
- package/dist/x/isIn.js +1 -1
- package/dist/x/isIn.min.js +1 -1
- package/dist/x/isIn.mjs +1 -1
- package/dist/x/isObject.es.js +1 -1
- package/dist/x/isObject.es.min.js +1 -1
- package/dist/x/isObject.js +1 -1
- package/dist/x/isObject.min.js +1 -1
- package/dist/x/isObject.mjs +1 -1
- package/dist/x/isString.es.js +1 -1
- package/dist/x/isString.es.min.js +1 -1
- package/dist/x/isString.js +1 -1
- package/dist/x/isString.min.js +1 -1
- package/dist/x/isString.mjs +1 -1
- package/dist/x/keys.es.js +1 -1
- package/dist/x/keys.es.min.js +1 -1
- package/dist/x/keys.js +1 -1
- package/dist/x/keys.min.js +1 -1
- package/dist/x/keys.mjs +1 -1
- package/dist/x/last.es.js +1 -1
- package/dist/x/last.es.min.js +1 -1
- package/dist/x/last.js +1 -1
- package/dist/x/last.min.js +1 -1
- package/dist/x/last.mjs +1 -1
- package/dist/x/maxBy.es.js +1 -1
- package/dist/x/maxBy.es.min.js +1 -1
- package/dist/x/maxBy.js +1 -1
- package/dist/x/maxBy.min.js +1 -1
- package/dist/x/maxBy.mjs +1 -1
- package/dist/x/noop.es.js +1 -1
- package/dist/x/noop.es.min.js +1 -1
- package/dist/x/noop.js +1 -1
- package/dist/x/noop.min.js +1 -1
- package/dist/x/noop.mjs +1 -1
- package/dist/x/pluck.es.js +52 -13
- package/dist/x/pluck.es.min.js +2 -2
- package/dist/x/pluck.js +52 -13
- package/dist/x/pluck.min.js +2 -2
- package/dist/x/pluck.mjs +52 -13
- package/dist/x/prepend.es.js +1 -1
- package/dist/x/prepend.es.min.js +1 -1
- package/dist/x/prepend.js +1 -1
- package/dist/x/prepend.min.js +1 -1
- package/dist/x/prepend.mjs +1 -1
- package/dist/x/size.es.js +1 -1
- package/dist/x/size.es.min.js +1 -1
- package/dist/x/size.js +1 -1
- package/dist/x/size.min.js +1 -1
- package/dist/x/size.mjs +1 -1
- package/dist/x/trace.es.js +1 -1
- package/dist/x/trace.es.min.js +1 -1
- package/dist/x/trace.js +1 -1
- package/dist/x/trace.min.js +1 -1
- package/dist/x/trace.mjs +1 -1
- package/dist/x/unionWith.es.js +1 -1
- package/dist/x/unionWith.es.min.js +1 -1
- package/dist/x/unionWith.js +1 -1
- package/dist/x/unionWith.min.js +1 -1
- package/dist/x/unionWith.mjs +1 -1
- package/dist/x/uniq.es.js +1 -1
- package/dist/x/uniq.es.min.js +1 -1
- package/dist/x/uniq.js +1 -1
- package/dist/x/uniq.min.js +1 -1
- package/dist/x/uniq.mjs +1 -1
- package/dist/x/unless.es.js +1 -1
- package/dist/x/unless.es.min.js +1 -1
- package/dist/x/unless.js +1 -1
- package/dist/x/unless.min.js +1 -1
- package/dist/x/unless.mjs +1 -1
- package/dist/x/values.es.js +1 -1
- package/dist/x/values.es.min.js +1 -1
- package/dist/x/values.js +1 -1
- package/dist/x/values.min.js +1 -1
- package/dist/x/values.mjs +1 -1
- package/dist/x/when.es.js +1 -1
- package/dist/x/when.es.min.js +1 -1
- package/dist/x/when.js +1 -1
- package/dist/x/when.min.js +1 -1
- package/dist/x/when.mjs +1 -1
- package/es.js +63 -18
- package/index.js +63 -18
- package/package.json +1 -1
- package/thunkify.js +66 -6
package/dist/x/pluck.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.
|
|
2
|
+
* rubico v2.8.1
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
4
|
* (c) 2019-2026 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
@@ -628,7 +628,31 @@ const objectMapPool = function (o, concurrency, f) {
|
|
|
628
628
|
return result
|
|
629
629
|
}
|
|
630
630
|
|
|
631
|
-
const
|
|
631
|
+
const areAnyValuesPromises = function (values) {
|
|
632
|
+
if (isArray(values)) {
|
|
633
|
+
const length = values.length
|
|
634
|
+
let index = -1
|
|
635
|
+
while (++index < length) {
|
|
636
|
+
const value = values[index]
|
|
637
|
+
if (isPromise(value)) {
|
|
638
|
+
return true
|
|
639
|
+
}
|
|
640
|
+
}
|
|
641
|
+
return false
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
for (const key in values) {
|
|
645
|
+
const value = values[key]
|
|
646
|
+
if (isPromise(value)) {
|
|
647
|
+
return true
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
return false
|
|
651
|
+
}
|
|
652
|
+
|
|
653
|
+
const funcApply2 = (func, context, args) => func.apply(context, args)
|
|
654
|
+
|
|
655
|
+
const _curryArity = (arity, func, context, args) => function curried(...curriedArgs) {
|
|
632
656
|
const argsLength = args.length,
|
|
633
657
|
curriedArgsLength = curriedArgs.length,
|
|
634
658
|
nextArgs = []
|
|
@@ -647,10 +671,16 @@ const _curryArity = (arity, func, args) => function curried(...curriedArgs) {
|
|
|
647
671
|
} else {
|
|
648
672
|
nextArgs.push(arg)
|
|
649
673
|
}
|
|
674
|
+
|
|
650
675
|
if (nextArgs.length == arity) {
|
|
676
|
+
if (areAnyValuesPromises(nextArgs)) {
|
|
677
|
+
return numCurriedPlaceholders == 0
|
|
678
|
+
? promiseAll(nextArgs).then(curry3(funcApply2, func, context, __))
|
|
679
|
+
: promiseAll(nextArgs).then(curry4(curryArity, arity, func, context, __))
|
|
680
|
+
}
|
|
651
681
|
return numCurriedPlaceholders == 0
|
|
652
|
-
? func(
|
|
653
|
-
: curryArity(arity, func, nextArgs)
|
|
682
|
+
? func.apply(context, nextArgs)
|
|
683
|
+
: curryArity(arity, func, context, nextArgs)
|
|
654
684
|
}
|
|
655
685
|
}
|
|
656
686
|
|
|
@@ -660,28 +690,37 @@ const _curryArity = (arity, func, args) => function curried(...curriedArgs) {
|
|
|
660
690
|
numCurriedPlaceholders += 1
|
|
661
691
|
}
|
|
662
692
|
nextArgs.push(curriedArg)
|
|
693
|
+
|
|
663
694
|
if (nextArgs.length == arity) {
|
|
695
|
+
if (areAnyValuesPromises(nextArgs)) {
|
|
696
|
+
return numCurriedPlaceholders == 0
|
|
697
|
+
? promiseAll(nextArgs).then(curry3(funcApply2, func, context, __))
|
|
698
|
+
: promiseAll(nextArgs).then(curry4(curryArity, arity, func, context, __))
|
|
699
|
+
}
|
|
664
700
|
return numCurriedPlaceholders == 0
|
|
665
|
-
? func(
|
|
666
|
-
: curryArity(arity, func, nextArgs)
|
|
701
|
+
? func.apply(context, nextArgs)
|
|
702
|
+
: curryArity(arity, func, context, nextArgs)
|
|
667
703
|
}
|
|
668
704
|
}
|
|
669
|
-
|
|
705
|
+
|
|
706
|
+
return areAnyValuesPromises(nextArgs)
|
|
707
|
+
? promiseAll(nextArgs).then(curry4(curryArity, arity, func, context, __))
|
|
708
|
+
: curryArity(arity, func, context, nextArgs)
|
|
670
709
|
}
|
|
671
710
|
|
|
672
|
-
const curryArity = function (arity, func, args) {
|
|
711
|
+
const curryArity = function (arity, func, context, args) {
|
|
673
712
|
const argsLength = args.length
|
|
674
713
|
if (argsLength < arity) {
|
|
675
|
-
return _curryArity(arity, func, args)
|
|
714
|
+
return _curryArity(arity, func, context, args)
|
|
676
715
|
}
|
|
677
716
|
let argsIndex = -1
|
|
678
717
|
while (++argsIndex < argsLength) {
|
|
679
718
|
const arg = args[argsIndex]
|
|
680
719
|
if (arg == __) {
|
|
681
|
-
return _curryArity(arity, func, args)
|
|
720
|
+
return _curryArity(arity, func, context, args)
|
|
682
721
|
}
|
|
683
722
|
}
|
|
684
|
-
return func(
|
|
723
|
+
return func.apply(context, args)
|
|
685
724
|
}
|
|
686
725
|
|
|
687
726
|
const spread2 = func => function spreading2([arg0, arg1]) {
|
|
@@ -696,7 +735,7 @@ const objectMapEntries = function (object, mapper) {
|
|
|
696
735
|
mapping = mapper([key, value])
|
|
697
736
|
if (isPromise(mapping)) {
|
|
698
737
|
promises.push(mapping.then(
|
|
699
|
-
spread2(curryArity(3, objectSet, [result]))))
|
|
738
|
+
spread2(curryArity(3, objectSet, this, [result]))))
|
|
700
739
|
} else {
|
|
701
740
|
result[mapping[0]] = mapping[1]
|
|
702
741
|
}
|
|
@@ -712,7 +751,7 @@ const mapMapEntriesForEachCallback = (
|
|
|
712
751
|
) => function callback(value, key) {
|
|
713
752
|
const mapping = mapper([key, value])
|
|
714
753
|
if (isPromise(mapping)) {
|
|
715
|
-
promises.push(mapping.then(spread2(curryArity(3, mapSet, [result]))))
|
|
754
|
+
promises.push(mapping.then(spread2(curryArity(3, mapSet, this, [result]))))
|
|
716
755
|
} else {
|
|
717
756
|
result.set(mapping[0], mapping[1])
|
|
718
757
|
}
|
package/dist/x/prepend.es.js
CHANGED
package/dist/x/prepend.es.min.js
CHANGED
package/dist/x/prepend.js
CHANGED
package/dist/x/prepend.min.js
CHANGED
package/dist/x/prepend.mjs
CHANGED
package/dist/x/size.es.js
CHANGED
package/dist/x/size.es.min.js
CHANGED
package/dist/x/size.js
CHANGED
package/dist/x/size.min.js
CHANGED
package/dist/x/size.mjs
CHANGED
package/dist/x/trace.es.js
CHANGED
package/dist/x/trace.es.min.js
CHANGED
package/dist/x/trace.js
CHANGED
package/dist/x/trace.min.js
CHANGED
package/dist/x/trace.mjs
CHANGED
package/dist/x/unionWith.es.js
CHANGED
package/dist/x/unionWith.js
CHANGED
package/dist/x/unionWith.min.js
CHANGED
package/dist/x/unionWith.mjs
CHANGED
package/dist/x/uniq.es.js
CHANGED
package/dist/x/uniq.es.min.js
CHANGED
package/dist/x/uniq.js
CHANGED
package/dist/x/uniq.min.js
CHANGED
package/dist/x/uniq.mjs
CHANGED
package/dist/x/unless.es.js
CHANGED
package/dist/x/unless.es.min.js
CHANGED
package/dist/x/unless.js
CHANGED
package/dist/x/unless.min.js
CHANGED
package/dist/x/unless.mjs
CHANGED
package/dist/x/values.es.js
CHANGED
package/dist/x/values.es.min.js
CHANGED
package/dist/x/values.js
CHANGED
package/dist/x/values.min.js
CHANGED
package/dist/x/values.mjs
CHANGED
package/dist/x/when.es.js
CHANGED
package/dist/x/when.es.min.js
CHANGED
package/dist/x/when.js
CHANGED
package/dist/x/when.min.js
CHANGED
package/dist/x/when.mjs
CHANGED
package/es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.
|
|
2
|
+
* rubico v2.8.1
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
4
|
* (c) 2019-2026 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
@@ -1062,7 +1062,9 @@ const objectMapPool = function (o, concurrency, f) {
|
|
|
1062
1062
|
return result
|
|
1063
1063
|
}
|
|
1064
1064
|
|
|
1065
|
-
const
|
|
1065
|
+
const funcApply2 = (func, context, args) => func.apply(context, args)
|
|
1066
|
+
|
|
1067
|
+
const _curryArity = (arity, func, context, args) => function curried(...curriedArgs) {
|
|
1066
1068
|
const argsLength = args.length,
|
|
1067
1069
|
curriedArgsLength = curriedArgs.length,
|
|
1068
1070
|
nextArgs = []
|
|
@@ -1081,10 +1083,16 @@ const _curryArity = (arity, func, args) => function curried(...curriedArgs) {
|
|
|
1081
1083
|
} else {
|
|
1082
1084
|
nextArgs.push(arg)
|
|
1083
1085
|
}
|
|
1086
|
+
|
|
1084
1087
|
if (nextArgs.length == arity) {
|
|
1088
|
+
if (areAnyValuesPromises(nextArgs)) {
|
|
1089
|
+
return numCurriedPlaceholders == 0
|
|
1090
|
+
? promiseAll(nextArgs).then(curry3(funcApply2, func, context, __))
|
|
1091
|
+
: promiseAll(nextArgs).then(curry4(curryArity, arity, func, context, __))
|
|
1092
|
+
}
|
|
1085
1093
|
return numCurriedPlaceholders == 0
|
|
1086
|
-
? func(
|
|
1087
|
-
: curryArity(arity, func, nextArgs)
|
|
1094
|
+
? func.apply(context, nextArgs)
|
|
1095
|
+
: curryArity(arity, func, context, nextArgs)
|
|
1088
1096
|
}
|
|
1089
1097
|
}
|
|
1090
1098
|
|
|
@@ -1094,28 +1102,37 @@ const _curryArity = (arity, func, args) => function curried(...curriedArgs) {
|
|
|
1094
1102
|
numCurriedPlaceholders += 1
|
|
1095
1103
|
}
|
|
1096
1104
|
nextArgs.push(curriedArg)
|
|
1105
|
+
|
|
1097
1106
|
if (nextArgs.length == arity) {
|
|
1107
|
+
if (areAnyValuesPromises(nextArgs)) {
|
|
1108
|
+
return numCurriedPlaceholders == 0
|
|
1109
|
+
? promiseAll(nextArgs).then(curry3(funcApply2, func, context, __))
|
|
1110
|
+
: promiseAll(nextArgs).then(curry4(curryArity, arity, func, context, __))
|
|
1111
|
+
}
|
|
1098
1112
|
return numCurriedPlaceholders == 0
|
|
1099
|
-
? func(
|
|
1100
|
-
: curryArity(arity, func, nextArgs)
|
|
1113
|
+
? func.apply(context, nextArgs)
|
|
1114
|
+
: curryArity(arity, func, context, nextArgs)
|
|
1101
1115
|
}
|
|
1102
1116
|
}
|
|
1103
|
-
|
|
1117
|
+
|
|
1118
|
+
return areAnyValuesPromises(nextArgs)
|
|
1119
|
+
? promiseAll(nextArgs).then(curry4(curryArity, arity, func, context, __))
|
|
1120
|
+
: curryArity(arity, func, context, nextArgs)
|
|
1104
1121
|
}
|
|
1105
1122
|
|
|
1106
|
-
const curryArity = function (arity, func, args) {
|
|
1123
|
+
const curryArity = function (arity, func, context, args) {
|
|
1107
1124
|
const argsLength = args.length
|
|
1108
1125
|
if (argsLength < arity) {
|
|
1109
|
-
return _curryArity(arity, func, args)
|
|
1126
|
+
return _curryArity(arity, func, context, args)
|
|
1110
1127
|
}
|
|
1111
1128
|
let argsIndex = -1
|
|
1112
1129
|
while (++argsIndex < argsLength) {
|
|
1113
1130
|
const arg = args[argsIndex]
|
|
1114
1131
|
if (arg == __) {
|
|
1115
|
-
return _curryArity(arity, func, args)
|
|
1132
|
+
return _curryArity(arity, func, context, args)
|
|
1116
1133
|
}
|
|
1117
1134
|
}
|
|
1118
|
-
return func(
|
|
1135
|
+
return func.apply(context, args)
|
|
1119
1136
|
}
|
|
1120
1137
|
|
|
1121
1138
|
const spread2 = func => function spreading2([arg0, arg1]) {
|
|
@@ -1130,7 +1147,7 @@ const objectMapEntries = function (object, mapper) {
|
|
|
1130
1147
|
mapping = mapper([key, value])
|
|
1131
1148
|
if (isPromise(mapping)) {
|
|
1132
1149
|
promises.push(mapping.then(
|
|
1133
|
-
spread2(curryArity(3, objectSet, [result]))))
|
|
1150
|
+
spread2(curryArity(3, objectSet, this, [result]))))
|
|
1134
1151
|
} else {
|
|
1135
1152
|
result[mapping[0]] = mapping[1]
|
|
1136
1153
|
}
|
|
@@ -1146,7 +1163,7 @@ const mapMapEntriesForEachCallback = (
|
|
|
1146
1163
|
) => function callback(value, key) {
|
|
1147
1164
|
const mapping = mapper([key, value])
|
|
1148
1165
|
if (isPromise(mapping)) {
|
|
1149
|
-
promises.push(mapping.then(spread2(curryArity(3, mapSet, [result]))))
|
|
1166
|
+
promises.push(mapping.then(spread2(curryArity(3, mapSet, this, [result]))))
|
|
1150
1167
|
} else {
|
|
1151
1168
|
result.set(mapping[0], mapping[1])
|
|
1152
1169
|
}
|
|
@@ -3278,17 +3295,45 @@ const omit = function (arg0, arg1) {
|
|
|
3278
3295
|
return _omit(arg0, arg1)
|
|
3279
3296
|
}
|
|
3280
3297
|
|
|
3281
|
-
|
|
3298
|
+
function _thunkifyArgs(func, context, args) {
|
|
3299
|
+
return function thunk() {
|
|
3300
|
+
return func.apply(context, args)
|
|
3301
|
+
}
|
|
3302
|
+
}
|
|
3303
|
+
|
|
3304
|
+
const thunkify = function thunkify(func, ...args) {
|
|
3282
3305
|
if (areAnyValuesPromises(args)) {
|
|
3283
|
-
return promiseAll(args).then(
|
|
3306
|
+
return promiseAll(args).then(curry3(_thunkifyArgs, func, this, __))
|
|
3284
3307
|
}
|
|
3285
|
-
return func
|
|
3308
|
+
return _thunkifyArgs(func, this, args)
|
|
3309
|
+
}
|
|
3310
|
+
|
|
3311
|
+
thunkify.call = function thunkifyCall(func, context, ...args) {
|
|
3312
|
+
if (areAnyValuesPromises(args)) {
|
|
3313
|
+
return promiseAll(args).then(curry3(_thunkifyArgs, func, context, __))
|
|
3314
|
+
}
|
|
3315
|
+
return _thunkifyArgs(func, context, args)
|
|
3286
3316
|
}
|
|
3287
3317
|
|
|
3288
|
-
const curry = (func, ...args) =>
|
|
3318
|
+
const curry = (func, ...args) => {
|
|
3319
|
+
if (areAnyValuesPromises(args)) {
|
|
3320
|
+
return promiseAll(args).then(curry4(curryArity, func.length, func, this, __))
|
|
3321
|
+
}
|
|
3322
|
+
return curryArity(func.length, func, this, args)
|
|
3323
|
+
}
|
|
3289
3324
|
|
|
3290
3325
|
curry.arity = function curryArity_(arity, func, ...args) {
|
|
3291
|
-
|
|
3326
|
+
if (areAnyValuesPromises(args)) {
|
|
3327
|
+
return promiseAll(args).then(curry4(curryArity, arity, func, this, __))
|
|
3328
|
+
}
|
|
3329
|
+
return curryArity(arity, func, this, args)
|
|
3330
|
+
}
|
|
3331
|
+
|
|
3332
|
+
curry.call = function call(func, context, ...args) {
|
|
3333
|
+
if (areAnyValuesPromises(args)) {
|
|
3334
|
+
return promiseAll(args).then(curry4(curryArity, func.length, func, context, __))
|
|
3335
|
+
}
|
|
3336
|
+
return curryArity(func.length, func, context, args)
|
|
3292
3337
|
}
|
|
3293
3338
|
|
|
3294
3339
|
const rubico = {
|