rubico 2.7.1 → 2.7.3
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/all.js +29 -30
- package/and.js +25 -14
- package/assign.js +15 -23
- package/compose.js +2 -4
- 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 +1 -1
- package/dist/curry.es.min.js +1 -1
- package/dist/curry.js +1 -1
- package/dist/curry.min.js +1 -1
- package/dist/curry.mjs +1 -1
- 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 +1 -1
- package/dist/map.es.min.js +1 -1
- package/dist/map.js +1 -1
- package/dist/map.min.js +1 -1
- package/dist/map.mjs +1 -1
- package/dist/not.es.js +4 -2
- package/dist/not.es.min.js +2 -2
- package/dist/not.js +4 -2
- package/dist/not.min.js +2 -2
- package/dist/not.mjs +4 -2
- 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 +7 -9
- package/dist/rubico.es.min.js +2 -2
- package/dist/rubico.global.js +7 -9
- package/dist/rubico.global.min.js +2 -2
- package/dist/rubico.js +7 -9
- package/dist/rubico.min.js +2 -2
- package/dist/rubico.mjs +7 -9
- 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 +4 -8
- package/dist/thunkify.es.min.js +2 -2
- package/dist/thunkify.js +4 -8
- package/dist/thunkify.min.js +2 -2
- package/dist/thunkify.mjs +4 -8
- 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 +4 -2
- package/dist/x/filterOut.es.min.js +2 -2
- package/dist/x/filterOut.js +4 -2
- package/dist/x/filterOut.min.js +2 -2
- package/dist/x/filterOut.mjs +4 -2
- 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 +1 -1
- package/dist/x/pluck.es.min.js +1 -1
- package/dist/x/pluck.js +1 -1
- package/dist/x/pluck.min.js +1 -1
- package/dist/x/pluck.mjs +1 -1
- 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 +7 -9
- package/every.js +2 -3
- package/filter.js +3 -3
- package/flatMap.js +5 -3
- package/index.js +7 -9
- package/map.js +3 -3
- package/not.js +11 -4
- package/omit.js +2 -3
- package/or.js +28 -15
- package/package.json +1 -1
- package/pick.js +2 -3
- package/pipe.js +2 -4
- package/reduce.js +6 -11
- package/some.js +2 -3
- package/switchCase.js +9 -11
- package/tap.js +4 -2
- package/thunkify.js +5 -22
- package/transform.js +5 -10
- package/tryCatch.js +35 -8
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.7.
|
|
2
|
+
* rubico v2.7.3
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
4
|
* (c) 2019-2025 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
@@ -2873,7 +2873,9 @@ const not = function (...args) {
|
|
|
2873
2873
|
}
|
|
2874
2874
|
return _not(args, predicateOrValue)
|
|
2875
2875
|
}
|
|
2876
|
-
return
|
|
2876
|
+
return isPromise(predicateOrValue)
|
|
2877
|
+
? predicateOrValue.then(negate)
|
|
2878
|
+
: !predicateOrValue
|
|
2877
2879
|
}
|
|
2878
2880
|
|
|
2879
2881
|
// argument resolver for curryArgs4
|
|
@@ -3276,15 +3278,11 @@ const omit = function (arg0, arg1) {
|
|
|
3276
3278
|
return _omit(arg0, arg1)
|
|
3277
3279
|
}
|
|
3278
3280
|
|
|
3279
|
-
const thunkify =
|
|
3281
|
+
const thunkify = (func, ...args) => function thunk() {
|
|
3280
3282
|
if (areAnyValuesPromises(args)) {
|
|
3281
|
-
return promiseAll(args).then(
|
|
3282
|
-
return func(...resolvedArgs)
|
|
3283
|
-
})
|
|
3284
|
-
}
|
|
3285
|
-
return function thunk() {
|
|
3286
|
-
return func(...args)
|
|
3283
|
+
return promiseAll(args).then(curry2(funcApply, func, __))
|
|
3287
3284
|
}
|
|
3285
|
+
return func(...args)
|
|
3288
3286
|
}
|
|
3289
3287
|
|
|
3290
3288
|
const curry = (func, ...args) => curryArity(func.length, func, args)
|
package/every.js
CHANGED
|
@@ -43,9 +43,8 @@ const _every = function (collection, predicate) {
|
|
|
43
43
|
* ```coffeescript [specscript]
|
|
44
44
|
* type Foldable = Array|Set|Map|Generator|AsyncGenerator|{ reduce: function }|Object
|
|
45
45
|
*
|
|
46
|
-
* every(
|
|
47
|
-
*
|
|
48
|
-
* every(predicate function)(fold Foldable) -> result Promise|boolean
|
|
46
|
+
* every(foldable Foldable, predicate function) -> result Promise|boolean
|
|
47
|
+
* every(predicate function)(foldable Foldable) -> result Promise|boolean
|
|
49
48
|
* ```
|
|
50
49
|
*
|
|
51
50
|
* @description
|
package/filter.js
CHANGED
|
@@ -95,11 +95,11 @@ const _filter = function (value, predicate) {
|
|
|
95
95
|
* type Predicate = (
|
|
96
96
|
* value any,
|
|
97
97
|
* indexOrKey number|string|any,
|
|
98
|
-
*
|
|
98
|
+
* filterable Filterable,
|
|
99
99
|
* )=>boolean
|
|
100
100
|
*
|
|
101
|
-
* filter(
|
|
102
|
-
* filter(predicate Predicate)(
|
|
101
|
+
* filter(filterable Promise|Filterable, predicate Predicate) -> result Promise|Filterable
|
|
102
|
+
* filter(predicate Predicate)(filterable Filterable) -> result Promise|Filterable
|
|
103
103
|
* ```
|
|
104
104
|
*
|
|
105
105
|
* @description
|
package/flatMap.js
CHANGED
|
@@ -69,11 +69,13 @@ const _flatMap = function (value, flatMapper) {
|
|
|
69
69
|
* type FlatMapper = (
|
|
70
70
|
* item any,
|
|
71
71
|
* indexOrKey number|string|any,
|
|
72
|
-
*
|
|
72
|
+
* monad Monad
|
|
73
73
|
* )=>Promise|Monad|any
|
|
74
74
|
*
|
|
75
|
-
*
|
|
76
|
-
*
|
|
75
|
+
* flatMapper FlatMapper
|
|
76
|
+
*
|
|
77
|
+
* flatMap(monad Promise|Monad, flatMapper) -> result Promise|Monad
|
|
78
|
+
* flatMap(flatMapper)(monad Monad) -> result Promise|Monad
|
|
77
79
|
* ```
|
|
78
80
|
*
|
|
79
81
|
* @description
|
package/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.7.
|
|
2
|
+
* rubico v2.7.3
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
4
|
* (c) 2019-2025 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
@@ -2879,7 +2879,9 @@ const not = function (...args) {
|
|
|
2879
2879
|
}
|
|
2880
2880
|
return _not(args, predicateOrValue)
|
|
2881
2881
|
}
|
|
2882
|
-
return
|
|
2882
|
+
return isPromise(predicateOrValue)
|
|
2883
|
+
? predicateOrValue.then(negate)
|
|
2884
|
+
: !predicateOrValue
|
|
2883
2885
|
}
|
|
2884
2886
|
|
|
2885
2887
|
// argument resolver for curryArgs4
|
|
@@ -3282,15 +3284,11 @@ const omit = function (arg0, arg1) {
|
|
|
3282
3284
|
return _omit(arg0, arg1)
|
|
3283
3285
|
}
|
|
3284
3286
|
|
|
3285
|
-
const thunkify =
|
|
3287
|
+
const thunkify = (func, ...args) => function thunk() {
|
|
3286
3288
|
if (areAnyValuesPromises(args)) {
|
|
3287
|
-
return promiseAll(args).then(
|
|
3288
|
-
return func(...resolvedArgs)
|
|
3289
|
-
})
|
|
3290
|
-
}
|
|
3291
|
-
return function thunk() {
|
|
3292
|
-
return func(...args)
|
|
3289
|
+
return promiseAll(args).then(curry2(funcApply, func, __))
|
|
3293
3290
|
}
|
|
3291
|
+
return func(...args)
|
|
3294
3292
|
}
|
|
3295
3293
|
|
|
3296
3294
|
const curry = (func, ...args) => curryArity(func.length, func, args)
|
package/map.js
CHANGED
|
@@ -98,11 +98,11 @@ const _map = function (value, f) {
|
|
|
98
98
|
* type Mapper = (
|
|
99
99
|
* item any,
|
|
100
100
|
* indexOrKey number|string|any,
|
|
101
|
-
*
|
|
101
|
+
* functor Functor
|
|
102
102
|
* )=>(resultItem Promise|any)
|
|
103
103
|
*
|
|
104
|
-
* map(
|
|
105
|
-
* map(mapper Mapper)(
|
|
104
|
+
* map(functor Promise|Functor, mapper Mapper) -> result Promise|Functor
|
|
105
|
+
* map(mapper Mapper)(functor Functor) -> result Promise|Functor
|
|
106
106
|
* ```
|
|
107
107
|
*
|
|
108
108
|
* @description
|
package/not.js
CHANGED
|
@@ -19,11 +19,16 @@ const _not = function (args, predicate) {
|
|
|
19
19
|
*
|
|
20
20
|
* @synopsis
|
|
21
21
|
* ```coffeescript [specscript]
|
|
22
|
-
*
|
|
22
|
+
* args Array<any>
|
|
23
|
+
* argsOrPromises Array<Promise|any>
|
|
24
|
+
*
|
|
25
|
+
* type Predicate = (...args)=>Promise|boolean
|
|
23
26
|
*
|
|
24
|
-
*
|
|
27
|
+
* predicate Predicate
|
|
25
28
|
*
|
|
26
|
-
* not(
|
|
29
|
+
* not(value boolean) -> negated boolean
|
|
30
|
+
* not(...argsOrPromises, predicate) -> negated Promise|boolean
|
|
31
|
+
* not(predicate)(...args) -> negated Promise|boolean
|
|
27
32
|
* ```
|
|
28
33
|
*
|
|
29
34
|
* @description
|
|
@@ -73,7 +78,9 @@ const not = function (...args) {
|
|
|
73
78
|
}
|
|
74
79
|
return _not(args, predicateOrValue)
|
|
75
80
|
}
|
|
76
|
-
return
|
|
81
|
+
return isPromise(predicateOrValue)
|
|
82
|
+
? predicateOrValue.then(negate)
|
|
83
|
+
: !predicateOrValue
|
|
77
84
|
}
|
|
78
85
|
|
|
79
86
|
module.exports = not
|
package/omit.js
CHANGED
|
@@ -20,9 +20,8 @@ const _omit = function (source, paths) {
|
|
|
20
20
|
*
|
|
21
21
|
* @synopsis
|
|
22
22
|
* ```coffeescript [specscript]
|
|
23
|
-
* omit(paths Array<string>)
|
|
24
|
-
*
|
|
25
|
-
* omit(source Object, paths Array<string>) -> omitted Object
|
|
23
|
+
* omit(source Promise|Object, paths Array<string>) -> result Object
|
|
24
|
+
* omit(paths Array<string>)(source Object) -> result Object
|
|
26
25
|
* ```
|
|
27
26
|
*
|
|
28
27
|
* @description
|
package/or.js
CHANGED
|
@@ -97,36 +97,49 @@ const areAnyPredicatesTruthy = function (args, predicates) {
|
|
|
97
97
|
*
|
|
98
98
|
* @synopsis
|
|
99
99
|
* ```coffeescript [specscript]
|
|
100
|
-
*
|
|
100
|
+
* args Array<any>
|
|
101
|
+
* argsOrPromises Array<Promise|any>
|
|
102
|
+
* predicatesOrValues Array<function|boolean|any>
|
|
101
103
|
*
|
|
102
|
-
* or(
|
|
103
|
-
*
|
|
104
|
-
* or(predicatesOrValues
|
|
104
|
+
* or(values Array<boolean|any>) -> result boolean
|
|
105
|
+
* or(...argsOrPromises, predicatesOrValues) -> Promise|boolean
|
|
106
|
+
* or(predicatesOrValues)(...args) -> Promise|boolean
|
|
105
107
|
* ```
|
|
106
108
|
*
|
|
107
109
|
* @description
|
|
108
|
-
*
|
|
110
|
+
* Function equivalent to the [logical OR](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_OR) operator. Tests arrays of predicate functions, promises, values, or a mix thereof.
|
|
111
|
+
*
|
|
112
|
+
* If provided an array of boolean values, `or` returns true if any boolean values are truthy.
|
|
109
113
|
*
|
|
110
114
|
* ```javascript [playground]
|
|
111
115
|
* const oneIsLessThanZero = 1 < 0
|
|
112
116
|
* const oneIsGreaterThanTwo = 1 > 2
|
|
113
117
|
* const threeIsNotEqualToThree = 3 !== 3
|
|
114
118
|
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
117
|
-
*
|
|
119
|
+
* const condition = or([
|
|
120
|
+
* oneIsLessThanZero,
|
|
121
|
+
* oneIsGreaterThanTwo,
|
|
122
|
+
* threeIsNotEqualToThree
|
|
123
|
+
* ])
|
|
124
|
+
* console.log(condition) // false
|
|
118
125
|
* ```
|
|
119
126
|
*
|
|
120
|
-
* If any
|
|
127
|
+
* If any predicate functions are provided in the array, `or` returns an aggregate predicate function that returns true for a given set of arguments if any provided predicate functions test true. If any provided predicate functions are asynchronous, the aggregate predicate function becomes asynchronous.
|
|
121
128
|
*
|
|
122
129
|
* ```javascript [playground]
|
|
123
130
|
* const isOdd = number => number % 2 == 1
|
|
124
|
-
*
|
|
125
|
-
* const
|
|
126
|
-
*
|
|
127
|
-
*
|
|
128
|
-
*
|
|
129
|
-
*
|
|
131
|
+
* const isNegative = number => number < 0
|
|
132
|
+
* const asyncIsGreaterThan3 = async number => number > 3
|
|
133
|
+
*
|
|
134
|
+
* const aggregatePredicate = or([
|
|
135
|
+
* false,
|
|
136
|
+
* isOdd,
|
|
137
|
+
* isNegative,
|
|
138
|
+
* asyncIsGreaterThan3,
|
|
139
|
+
* ])
|
|
140
|
+
*
|
|
141
|
+
* const condition = await aggregatePredicate(2)
|
|
142
|
+
* console.log(condition) // false
|
|
130
143
|
* ```
|
|
131
144
|
*
|
|
132
145
|
* Any promises passed in argument position are resolved for their values before further execution. This only applies to the eager version of the API.
|
package/package.json
CHANGED
package/pick.js
CHANGED
|
@@ -27,9 +27,8 @@ const _pick = function (source, keys) {
|
|
|
27
27
|
*
|
|
28
28
|
* @synopsis
|
|
29
29
|
* ```coffeescript [specscript]
|
|
30
|
-
* pick(
|
|
31
|
-
*
|
|
32
|
-
* pick(keys Array<string>)(object Object) -> result Object
|
|
30
|
+
* pick(source Promise|Object, keys Array<string>) -> result Object
|
|
31
|
+
* pick(keys Array<string>)(source Object) -> result Object
|
|
33
32
|
* ```
|
|
34
33
|
*
|
|
35
34
|
* @description
|
package/pipe.js
CHANGED
|
@@ -12,12 +12,10 @@ const __ = require('./_internal/placeholder')
|
|
|
12
12
|
* ```coffeescript [specscript]
|
|
13
13
|
* funcs Array<function>
|
|
14
14
|
* args Array<any>
|
|
15
|
-
*
|
|
15
|
+
* argsOrPromises Array<Promise|any>
|
|
16
16
|
*
|
|
17
17
|
* pipe(funcs)(...args) -> result Promise|any
|
|
18
|
-
*
|
|
19
|
-
* pipe(...argsWithPromises, funcs Array<function>) -> result Promise|any
|
|
20
|
-
*
|
|
18
|
+
* pipe(...argsOrPromises, funcs Array<function>) -> result Promise|any
|
|
21
19
|
* pipe(...funcs)(...args) -> result Promise|any
|
|
22
20
|
* ```
|
|
23
21
|
*
|
package/reduce.js
CHANGED
|
@@ -27,21 +27,16 @@ const _reduce = function (collection, reducer, initial) {
|
|
|
27
27
|
* accumulator any,
|
|
28
28
|
* item any,
|
|
29
29
|
* indexOrKey number|string|any,
|
|
30
|
-
*
|
|
30
|
+
* foldable Foldable
|
|
31
31
|
* )=>(nextAccumulator Promise|any)
|
|
32
32
|
*
|
|
33
|
-
* type Resolver = (
|
|
33
|
+
* type Resolver = (foldable Foldable)=>Promise|any
|
|
34
34
|
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
* reducer Reducer,
|
|
38
|
-
* initial? Resolver|any
|
|
39
|
-
* ) -> result Promise|any
|
|
35
|
+
* reducer Reducer
|
|
36
|
+
* initial Resolver|any
|
|
40
37
|
*
|
|
41
|
-
* reduce(
|
|
42
|
-
*
|
|
43
|
-
* initial? Resolver|any
|
|
44
|
-
* )(fold Foldable) -> result Promise|any
|
|
38
|
+
* reduce(foldable Promise|Foldable, reducer, initial?) -> result Promise|any
|
|
39
|
+
* reduce(reducer, initial?)(foldable Foldable) -> result Promise|any
|
|
45
40
|
* ```
|
|
46
41
|
*
|
|
47
42
|
* @description
|
package/some.js
CHANGED
|
@@ -42,9 +42,8 @@ const _some = function (collection, predicate) {
|
|
|
42
42
|
* ```coffeescript [specscript]
|
|
43
43
|
* type Foldable = Array|Set|Map|Generator|AsyncGenerator|{ reduce: function }|Object
|
|
44
44
|
*
|
|
45
|
-
* some(
|
|
46
|
-
*
|
|
47
|
-
* some(predicate function)(collection Foldable) -> Promise|boolean
|
|
45
|
+
* some(foldable Foldable, predicate function) -> Promise|boolean
|
|
46
|
+
* some(predicate function)(foldable Foldable) -> Promise|boolean
|
|
48
47
|
* ```
|
|
49
48
|
*
|
|
50
49
|
* @description
|
package/switchCase.js
CHANGED
|
@@ -12,20 +12,18 @@ const curryArgs3 = require('./_internal/curryArgs3')
|
|
|
12
12
|
*
|
|
13
13
|
* @synopsis
|
|
14
14
|
* ```coffeescript [specscript]
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* ) -> Promise|any
|
|
21
|
-
*
|
|
22
|
-
* switchCase(
|
|
23
|
-
* conditionalFuncsOrValues Array<function|boolean|any>
|
|
24
|
-
* )(...args) -> Promise|any
|
|
15
|
+
* args Array<any>
|
|
16
|
+
* argsOrPromises Array<Promise|any>
|
|
17
|
+
* conditionalPromisesOrValues Array<Promise|boolean|any>
|
|
18
|
+
* conditionalFuncsOrPromisesOrValues Array<function|Promise|boolean|any>
|
|
19
|
+
*
|
|
20
|
+
* switchCase(conditionalPromisesOrValues) -> Promise|any
|
|
21
|
+
* switchCase(...argsOrPromises, conditionalFuncsOrPromisesOrValues) -> Promise|any
|
|
22
|
+
* switchCase(conditionalFuncsOrPromisesOrValues)(...args) -> Promise|any
|
|
25
23
|
* ```
|
|
26
24
|
*
|
|
27
25
|
* @description
|
|
28
|
-
*
|
|
26
|
+
* Function equivalent to the [Conditional (ternary) operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Conditional_Operator). Accepts an array of conditional functions that specifies cases as pairings of `predicate` and `resolver` functions with the exception of the last, default resolver. All functions are provided with the same arguments and executed in series. The result of a `switchCase` operation is either the result of the execution the last default resolver, or the result of the execution of the first resolver where the associated predicate tested true.
|
|
29
27
|
*
|
|
30
28
|
* ```javascript [playground]
|
|
31
29
|
* const fruitIsYellow = fruit => fruit.color == 'yellow'
|
package/tap.js
CHANGED
|
@@ -23,8 +23,9 @@ const _tap = function (args, f) {
|
|
|
23
23
|
* @synopsis
|
|
24
24
|
* ```coffeescript [specscript]
|
|
25
25
|
* args Array<any>
|
|
26
|
+
* argsOrPromises Array<Promise|any>
|
|
26
27
|
*
|
|
27
|
-
* tap(...
|
|
28
|
+
* tap(...argsOrPromises, f function) -> Promise|args[0]
|
|
28
29
|
* tap(f function)(...args) -> Promise|args[0]
|
|
29
30
|
* ```
|
|
30
31
|
*
|
|
@@ -104,8 +105,9 @@ const _tapIf = function (predicate, f, args) {
|
|
|
104
105
|
* @synopsis
|
|
105
106
|
* ```coffeescript [specscript]
|
|
106
107
|
* args Array<any>
|
|
108
|
+
* argsOrPromises Array<Promise|any>
|
|
107
109
|
*
|
|
108
|
-
* tap.if(...
|
|
110
|
+
* tap.if(...argsOrPromises, predicate function, f function) -> Promise|args[0]
|
|
109
111
|
* tap.if(predicate function, f function)(...args) -> Promise|args[0]
|
|
110
112
|
* ```
|
|
111
113
|
*
|
package/thunkify.js
CHANGED
|
@@ -9,13 +9,11 @@ const funcApply = require('./_internal/funcApply')
|
|
|
9
9
|
*
|
|
10
10
|
* @synopsis
|
|
11
11
|
* ```coffeescript [specscript]
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* thunkify(func function, ...argsWithPromises) -> thunk function
|
|
12
|
+
* thunkify(func function, ...args) -> thunk ()=>func(...args)
|
|
15
13
|
* ```
|
|
16
14
|
*
|
|
17
15
|
* @description
|
|
18
|
-
* Create a thunk function from
|
|
16
|
+
* Create a thunk function from another function and any number of arguments. The thunk function takes no arguments, and when called, executes the other function with the provided arguments. The other function is said to be "thunkified".
|
|
19
17
|
*
|
|
20
18
|
* ```javascript [playground]
|
|
21
19
|
* const add = (a, b) => a + b
|
|
@@ -25,17 +23,6 @@ const funcApply = require('./_internal/funcApply')
|
|
|
25
23
|
* console.log(thunkAdd12()) // 3
|
|
26
24
|
* ```
|
|
27
25
|
*
|
|
28
|
-
* If any promises are passed as arguments, they are resolved before being applied to the original function, and `thunkify` returns a promise of the thunk function.
|
|
29
|
-
*
|
|
30
|
-
* ```javascript [playground]
|
|
31
|
-
* const add = (a, b) => a + b
|
|
32
|
-
*
|
|
33
|
-
* const promise = thunkify(add, Promise.resolve(1), 2)
|
|
34
|
-
* const thunkAdd12 = await promise
|
|
35
|
-
*
|
|
36
|
-
* console.log(thunkAdd12()) // 3
|
|
37
|
-
* ```
|
|
38
|
-
*
|
|
39
26
|
* See also:
|
|
40
27
|
* * [eq](/docs/eq)
|
|
41
28
|
* * [always](/docs/always)
|
|
@@ -44,15 +31,11 @@ const funcApply = require('./_internal/funcApply')
|
|
|
44
31
|
* * [Transducer.map](/docs/Transducer.map)
|
|
45
32
|
*
|
|
46
33
|
*/
|
|
47
|
-
const thunkify =
|
|
34
|
+
const thunkify = (func, ...args) => function thunk() {
|
|
48
35
|
if (areAnyValuesPromises(args)) {
|
|
49
|
-
return promiseAll(args).then(
|
|
50
|
-
return func(...resolvedArgs)
|
|
51
|
-
})
|
|
52
|
-
}
|
|
53
|
-
return function thunk() {
|
|
54
|
-
return func(...args)
|
|
36
|
+
return promiseAll(args).then(curry2(funcApply, func, __))
|
|
55
37
|
}
|
|
38
|
+
return func(...args)
|
|
56
39
|
}
|
|
57
40
|
|
|
58
41
|
module.exports = thunkify
|
package/transform.js
CHANGED
|
@@ -33,18 +33,13 @@ const _transform = function (collection, transducer, initialValue) {
|
|
|
33
33
|
* type Semigroup =
|
|
34
34
|
* Array|String|Set|TypedArray|{ concat: function }|{ write: function }|Object
|
|
35
35
|
*
|
|
36
|
-
* type SemigroupResolver = (
|
|
36
|
+
* type SemigroupResolver = (foldable Foldable)=>Promise|Semigroup
|
|
37
37
|
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
* transducer Transducer,
|
|
41
|
-
* initial? Semigroup|SemigroupResolver,
|
|
42
|
-
* ) -> result Promise|Semigroup
|
|
38
|
+
* transducer Transducer
|
|
39
|
+
* initial Semigroup|SemigroupResolver
|
|
43
40
|
*
|
|
44
|
-
* transform(
|
|
45
|
-
*
|
|
46
|
-
* initial? Semigroup|SemigroupResolver,
|
|
47
|
-
* )(fold Foldable) -> result Promise|Semigroup
|
|
41
|
+
* transform(foldable Promise|Foldable, transducer, initial?) -> result Promise|Semigroup
|
|
42
|
+
* transform(transducer, initial?)(foldable Foldable) -> result Promise|Semigroup
|
|
48
43
|
* ```
|
|
49
44
|
*
|
|
50
45
|
* @description
|
package/tryCatch.js
CHANGED
|
@@ -22,13 +22,15 @@ const _tryCatch = function (tryer, catcher, args) {
|
|
|
22
22
|
*
|
|
23
23
|
* @synopsis
|
|
24
24
|
* ```coffeescript [specscript]
|
|
25
|
-
*
|
|
25
|
+
* args Array<any>
|
|
26
|
+
* argsOrPromises Array<Promise|any>
|
|
26
27
|
*
|
|
27
|
-
* tryCatch(
|
|
28
|
+
* tryCatch(tryer function, catcher function)(...args) -> Promise|any
|
|
29
|
+
* tryCatch(...argsOrPromises, tryer function, catcher function) -> Promise|any
|
|
28
30
|
* ```
|
|
29
31
|
*
|
|
30
32
|
* @description
|
|
31
|
-
*
|
|
33
|
+
* Function equivalent to the [try...catch](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/try...catch) statement. Accepts two functions: a `tryer` function and a `catcher` function. Calls the `tryer` function and catches any errors thrown by the `tryer` function with the `catcher` function.
|
|
32
34
|
*
|
|
33
35
|
* ```javascript [playground]
|
|
34
36
|
* const throwsIfOdd = number => {
|
|
@@ -38,18 +40,43 @@ const _tryCatch = function (tryer, catcher, args) {
|
|
|
38
40
|
* console.log('did not throw for', number)
|
|
39
41
|
* }
|
|
40
42
|
*
|
|
41
|
-
* const errorHandler =
|
|
43
|
+
* const errorHandler = (error, number) => {
|
|
42
44
|
* console.log('caught error from number', number)
|
|
43
45
|
* console.log(error)
|
|
44
|
-
* }
|
|
46
|
+
* }
|
|
47
|
+
*
|
|
48
|
+
* const handler = tryCatch(throwsIfOdd, errorHandler)
|
|
49
|
+
*
|
|
50
|
+
* handler(2) // did not throw for 2
|
|
51
|
+
* handler(3) // caught error from number 3
|
|
52
|
+
* // Error: 3 is odd
|
|
53
|
+
*
|
|
54
|
+
* ```
|
|
55
|
+
*
|
|
56
|
+
* If the `tryer` function is asynchronous and throws an error, the `catcher` function will catch the rejected promise.
|
|
57
|
+
*
|
|
58
|
+
* ```javascript [playground]
|
|
59
|
+
* const rejectsIfOdd = async number => {
|
|
60
|
+
* if (number % 2 == 1) {
|
|
61
|
+
* throw new Error(`${number} is odd`)
|
|
62
|
+
* }
|
|
63
|
+
* console.log('did not throw for', number)
|
|
64
|
+
* }
|
|
65
|
+
*
|
|
66
|
+
* const errorHandler = (error, number) => {
|
|
67
|
+
* console.log('caught error from number', number)
|
|
68
|
+
* console.log(error)
|
|
69
|
+
* }
|
|
70
|
+
*
|
|
71
|
+
* const asyncHandler = tryCatch(rejectsIfOdd, errorHandler)
|
|
45
72
|
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
73
|
+
* asyncHandler(2) // did not throw for 2
|
|
74
|
+
* asyncHandler(3) // caught error from number 3
|
|
48
75
|
* // Error: 3 is odd
|
|
49
76
|
*
|
|
50
77
|
* ```
|
|
51
78
|
*
|
|
52
|
-
*
|
|
79
|
+
* When provided any number of arguments before the tryer and catcher functions, `tryCatch` executes immediately.
|
|
53
80
|
*
|
|
54
81
|
* ```javascript [playground]
|
|
55
82
|
* const add = (a, b) => a + b
|