rubico 2.6.6 → 2.7.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/Transducer.d.ts +1 -1
- package/Transducer.js +65 -16
- package/__.js +10 -1
- package/_internal/mapMapSeries.js +1 -0
- package/_internal/objectMapSeries.js +1 -0
- package/_internal/setMapSeries.js +1 -0
- package/all.d.ts +2 -2
- package/all.js +11 -2
- package/always.js +8 -0
- package/and.js +6 -0
- package/assign.js +9 -0
- package/compose.js +33 -8
- package/curry.js +18 -0
- 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 +5 -1
- package/dist/compose.es.min.js +2 -2
- package/dist/compose.js +5 -1
- package/dist/compose.min.js +2 -2
- package/dist/compose.mjs +5 -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 +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 +5 -1
- package/dist/pipe.es.min.js +2 -2
- package/dist/pipe.js +5 -1
- package/dist/pipe.min.js +2 -2
- package/dist/pipe.mjs +5 -1
- package/dist/reduce.es.js +8 -8
- package/dist/reduce.es.min.js +1 -1
- package/dist/reduce.js +8 -8
- package/dist/reduce.min.js +1 -1
- package/dist/reduce.mjs +8 -8
- package/dist/rubico.es.js +23 -11
- package/dist/rubico.es.min.js +2 -2
- package/dist/rubico.global.js +23 -11
- package/dist/rubico.global.min.js +2 -2
- package/dist/rubico.js +23 -11
- package/dist/rubico.min.js +2 -2
- package/dist/rubico.mjs +23 -11
- 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 +8 -4
- package/dist/thunkify.es.min.js +2 -2
- package/dist/thunkify.js +8 -4
- package/dist/thunkify.min.js +2 -2
- package/dist/thunkify.mjs +8 -4
- 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 +8 -8
- package/dist/x/groupBy.es.min.js +1 -1
- package/dist/x/groupBy.js +8 -8
- package/dist/x/groupBy.min.js +1 -1
- package/dist/x/groupBy.mjs +8 -8
- 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/eq.d.ts +6 -6
- package/eq.js +14 -6
- package/es.js +23 -11
- package/every.js +19 -5
- package/filter.js +59 -15
- package/flatMap.js +32 -23
- package/forEach.js +107 -13
- package/get.js +9 -0
- package/gt.js +9 -0
- package/gte.js +9 -0
- package/index.js +23 -11
- package/lte.js +9 -0
- package/map.js +153 -36
- package/not.js +7 -0
- package/omit.d.ts +2 -2
- package/omit.js +11 -2
- package/or.js +6 -0
- package/package.json +1 -1
- package/pick.js +9 -0
- package/pipe.js +30 -3
- package/reduce.js +111 -30
- package/set.js +9 -0
- package/some.js +17 -3
- package/switchCase.js +6 -0
- package/tap.js +18 -0
- package/thunkify.js +30 -5
- package/transform.js +105 -29
- package/tryCatch.js +5 -0
- package/x/append.js +3 -0
- package/x/callProp.js +5 -0
- package/x/defaultsDeep.d.ts +2 -2
- package/x/defaultsDeep.js +7 -2
- package/x/differenceWith.js +5 -0
- package/x/find.d.ts +2 -2
- package/x/find.js +2 -2
- package/x/groupBy.d.ts +2 -2
- package/x/groupBy.js +2 -2
- package/x/pluck.d.ts +2 -2
- package/x/pluck.js +2 -2
- package/x/unionWith.test.js +3 -3
package/Transducer.d.ts
CHANGED
|
@@ -202,7 +202,7 @@ export function passthrough(reducer: any): any;
|
|
|
202
202
|
*
|
|
203
203
|
* ```javascript [playground]
|
|
204
204
|
* const db = new Map()
|
|
205
|
-
* db.set('a', { id: 'a', name: '
|
|
205
|
+
* db.set('a', { id: 'a', name: 'John' })
|
|
206
206
|
* db.set('b', { id: 'b', name: 'Jane' })
|
|
207
207
|
* db.set('c', { id: 'c', name: 'Jill' })
|
|
208
208
|
* db.set('e', { id: 'e', name: 'Jim' })
|
package/Transducer.js
CHANGED
|
@@ -24,8 +24,6 @@ const Transducer = {}
|
|
|
24
24
|
* type Reducer = (
|
|
25
25
|
* accumulator any,
|
|
26
26
|
* value any,
|
|
27
|
-
* indexOrKey? number|string,
|
|
28
|
-
* collection? Foldable,
|
|
29
27
|
* )=>(nextAccumulator Promise|any)
|
|
30
28
|
*
|
|
31
29
|
* type Transducer = Reducer=>Reducer
|
|
@@ -63,7 +61,16 @@ const Transducer = {}
|
|
|
63
61
|
* ) // [1, 4, 9, 16, 25]
|
|
64
62
|
* ```
|
|
65
63
|
*
|
|
66
|
-
* Read more on transducers
|
|
64
|
+
* Read more on [transducers](/blog/transducers-crash-course-rubico-v2).
|
|
65
|
+
*
|
|
66
|
+
* See also:
|
|
67
|
+
* * [thunkify](/docs/thunkify)
|
|
68
|
+
* * [Transducer.filter](/docs/Transducer.filter)
|
|
69
|
+
* * [Transducer.flatMap](/docs/Transducer.flatMap)
|
|
70
|
+
* * [Transducer.forEach](/docs/Transducer.forEach)
|
|
71
|
+
* * [Transducer.passthrough](/docs/Transducer.passthrough)
|
|
72
|
+
* * [Transducer.tryCatch](/docs/Transducer.tryCatch)
|
|
73
|
+
*
|
|
67
74
|
*/
|
|
68
75
|
Transducer.map = function transducerMap(mapper) {
|
|
69
76
|
return curry2(reducerMap, __, mapper)
|
|
@@ -77,8 +84,6 @@ Transducer.map = function transducerMap(mapper) {
|
|
|
77
84
|
* type Reducer = (
|
|
78
85
|
* accumulator any,
|
|
79
86
|
* value any,
|
|
80
|
-
* indexOrKey? number|string,
|
|
81
|
-
* collection? Foldable,
|
|
82
87
|
* )=>(nextAccumulator Promise|any)
|
|
83
88
|
*
|
|
84
89
|
* type Transducer = Reducer=>Reducer
|
|
@@ -100,6 +105,17 @@ Transducer.map = function transducerMap(mapper) {
|
|
|
100
105
|
* [1, 2, 3, 4, 5].reduce(concatOddNumbers, []),
|
|
101
106
|
* ) // [1, 3, 5]
|
|
102
107
|
* ```
|
|
108
|
+
*
|
|
109
|
+
* Read more on [transducers](/blog/transducers-crash-course-rubico-v2).
|
|
110
|
+
*
|
|
111
|
+
* See also:
|
|
112
|
+
* * [thunkify](/docs/thunkify)
|
|
113
|
+
* * [Transducer.map](/docs/Transducer.map)
|
|
114
|
+
* * [Transducer.flatMap](/docs/Transducer.flatMap)
|
|
115
|
+
* * [Transducer.forEach](/docs/Transducer.forEach)
|
|
116
|
+
* * [Transducer.passthrough](/docs/Transducer.passthrough)
|
|
117
|
+
* * [Transducer.tryCatch](/docs/Transducer.tryCatch)
|
|
118
|
+
*
|
|
103
119
|
*/
|
|
104
120
|
Transducer.filter = function transducerFilter(predicate) {
|
|
105
121
|
return curry2(reducerFilter, __, predicate)
|
|
@@ -113,8 +129,6 @@ Transducer.filter = function transducerFilter(predicate) {
|
|
|
113
129
|
* type Reducer = (
|
|
114
130
|
* accumulator any,
|
|
115
131
|
* value any,
|
|
116
|
-
* indexOrKey? number|string,
|
|
117
|
-
* collection? Foldable,
|
|
118
132
|
* )=>(nextAccumulator Promise|any)
|
|
119
133
|
*
|
|
120
134
|
* type Transducer = Reducer=>Reducer
|
|
@@ -135,7 +149,16 @@ Transducer.filter = function transducerFilter(predicate) {
|
|
|
135
149
|
* ) // [1, 1, 1, 2, 4, 8, 3, 9, 27, 4, 16, 64, 5, 25, 125]
|
|
136
150
|
* ```
|
|
137
151
|
*
|
|
138
|
-
* Read more on transducers
|
|
152
|
+
* Read more on [transducers](/blog/transducers-crash-course-rubico-v2).
|
|
153
|
+
*
|
|
154
|
+
* See also:
|
|
155
|
+
* * [thunkify](/docs/thunkify)
|
|
156
|
+
* * [Transducer.map](/docs/Transducer.map)
|
|
157
|
+
* * [Transducer.filter](/docs/Transducer.filter)
|
|
158
|
+
* * [Transducer.forEach](/docs/Transducer.forEach)
|
|
159
|
+
* * [Transducer.passthrough](/docs/Transducer.passthrough)
|
|
160
|
+
* * [Transducer.tryCatch](/docs/Transducer.tryCatch)
|
|
161
|
+
*
|
|
139
162
|
*/
|
|
140
163
|
Transducer.flatMap = function transducerFlatMap(flatMapper) {
|
|
141
164
|
return curry2(reducerFlatMap, __, flatMapper)
|
|
@@ -149,8 +172,6 @@ Transducer.flatMap = function transducerFlatMap(flatMapper) {
|
|
|
149
172
|
* type Reducer = (
|
|
150
173
|
* accumulator any,
|
|
151
174
|
* value any,
|
|
152
|
-
* indexOrKey? number|string,
|
|
153
|
-
* collection? Foldable,
|
|
154
175
|
* )=>(nextAccumulator Promise|any)
|
|
155
176
|
*
|
|
156
177
|
* type Transducer = Reducer=>Reducer
|
|
@@ -168,6 +189,17 @@ Transducer.flatMap = function transducerFlatMap(flatMapper) {
|
|
|
168
189
|
* Transducer.forEach(console.log), // 1 4 9 16 25
|
|
169
190
|
* ]), null)
|
|
170
191
|
* ```
|
|
192
|
+
*
|
|
193
|
+
* Read more on [transducers](/blog/transducers-crash-course-rubico-v2).
|
|
194
|
+
*
|
|
195
|
+
* See also:
|
|
196
|
+
* * [thunkify](/docs/thunkify)
|
|
197
|
+
* * [Transducer.map](/docs/Transducer.map)
|
|
198
|
+
* * [Transducer.filter](/docs/Transducer.filter)
|
|
199
|
+
* * [Transducer.flatMap](/docs/Transducer.flatMap)
|
|
200
|
+
* * [Transducer.passthrough](/docs/Transducer.passthrough)
|
|
201
|
+
* * [Transducer.tryCatch](/docs/Transducer.tryCatch)
|
|
202
|
+
*
|
|
171
203
|
*/
|
|
172
204
|
Transducer.forEach = function transducerForEach(func) {
|
|
173
205
|
return curry2(reducerForEach, __, func)
|
|
@@ -181,8 +213,6 @@ Transducer.forEach = function transducerForEach(func) {
|
|
|
181
213
|
* type Reducer = (
|
|
182
214
|
* accumulator any,
|
|
183
215
|
* value any,
|
|
184
|
-
* indexOrKey? number|string,
|
|
185
|
-
* collection? Foldable,
|
|
186
216
|
* )=>(nextAccumulator Promise|any)
|
|
187
217
|
*
|
|
188
218
|
* type Transducer = Reducer=>Reducer
|
|
@@ -205,6 +235,17 @@ Transducer.forEach = function transducerForEach(func) {
|
|
|
205
235
|
* transform(createAsyncNumbers(), Transducer.passthrough, [])
|
|
206
236
|
* .then(console.log) // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
|
|
207
237
|
* ```
|
|
238
|
+
*
|
|
239
|
+
* Read more on [transducers](/blog/transducers-crash-course-rubico-v2).
|
|
240
|
+
*
|
|
241
|
+
* See also:
|
|
242
|
+
* * [thunkify](/docs/thunkify)
|
|
243
|
+
* * [Transducer.map](/docs/Transducer.map)
|
|
244
|
+
* * [Transducer.filter](/docs/Transducer.filter)
|
|
245
|
+
* * [Transducer.flatMap](/docs/Transducer.flatMap)
|
|
246
|
+
* * [Transducer.forEach](/docs/Transducer.forEach)
|
|
247
|
+
* * [Transducer.tryCatch](/docs/Transducer.tryCatch)
|
|
248
|
+
*
|
|
208
249
|
*/
|
|
209
250
|
Transducer.passthrough = function transducerPassthrough(reducer) {
|
|
210
251
|
return reducer
|
|
@@ -218,8 +259,6 @@ Transducer.passthrough = function transducerPassthrough(reducer) {
|
|
|
218
259
|
* type Reducer = (
|
|
219
260
|
* accumulator any,
|
|
220
261
|
* item any,
|
|
221
|
-
* indexOrKey? number|string,
|
|
222
|
-
* collection? Foldable,
|
|
223
262
|
* )=>(nextAccumulator Promise|any)
|
|
224
263
|
*
|
|
225
264
|
* type Transducer = Reducer=>Reducer
|
|
@@ -235,7 +274,7 @@ Transducer.passthrough = function transducerPassthrough(reducer) {
|
|
|
235
274
|
*
|
|
236
275
|
* ```javascript [playground]
|
|
237
276
|
* const db = new Map()
|
|
238
|
-
* db.set('a', { id: 'a', name: '
|
|
277
|
+
* db.set('a', { id: 'a', name: 'John' })
|
|
239
278
|
* db.set('b', { id: 'b', name: 'Jane' })
|
|
240
279
|
* db.set('c', { id: 'c', name: 'Jill' })
|
|
241
280
|
* db.set('e', { id: 'e', name: 'Jim' })
|
|
@@ -259,7 +298,17 @@ Transducer.passthrough = function transducerPassthrough(reducer) {
|
|
|
259
298
|
* // original userId for which the error was thrown is provided
|
|
260
299
|
* }), null)
|
|
261
300
|
* ```
|
|
262
|
-
|
|
301
|
+
*
|
|
302
|
+
* Read more on [transducers](/blog/transducers-crash-course-rubico-v2).
|
|
303
|
+
*
|
|
304
|
+
* See also:
|
|
305
|
+
* * [thunkify](/docs/thunkify)
|
|
306
|
+
* * [Transducer.map](/docs/Transducer.map)
|
|
307
|
+
* * [Transducer.filter](/docs/Transducer.filter)
|
|
308
|
+
* * [Transducer.flatMap](/docs/Transducer.flatMap)
|
|
309
|
+
* * [Transducer.forEach](/docs/Transducer.forEach)
|
|
310
|
+
* * [Transducer.passthrough](/docs/Transducer.passthrough)
|
|
311
|
+
*
|
|
263
312
|
*/
|
|
264
313
|
Transducer.tryCatch = function transducerTryCatch(transducerTryer, catcher) {
|
|
265
314
|
return curry3(reducerTryCatch, __, transducerTryer, catcher)
|
package/__.js
CHANGED
|
@@ -5,7 +5,7 @@ const __ = require('./_internal/placeholder')
|
|
|
5
5
|
*
|
|
6
6
|
* @synopsis
|
|
7
7
|
* ```coffeescript [specscript]
|
|
8
|
-
* __
|
|
8
|
+
* __ Symbol
|
|
9
9
|
* ```
|
|
10
10
|
*
|
|
11
11
|
* @description
|
|
@@ -16,6 +16,15 @@ const __ = require('./_internal/placeholder')
|
|
|
16
16
|
* curry.arity(3, Array.of, __, 2, 3)(1),
|
|
17
17
|
* ) // [1, 2, 3]
|
|
18
18
|
* ```
|
|
19
|
+
*
|
|
20
|
+
* See also:
|
|
21
|
+
* * [eq](/docs/eq)
|
|
22
|
+
* * [thunkify](/docs/thunkify)
|
|
23
|
+
* * [always](/docs/always)
|
|
24
|
+
* * [curry](/docs/curry)
|
|
25
|
+
* * [curry.arity](/docs/curry.arity)
|
|
26
|
+
* * [Transducer.map](/docs/Transducer.map)
|
|
27
|
+
*
|
|
19
28
|
*/
|
|
20
29
|
|
|
21
30
|
module.exports = __
|
package/all.d.ts
CHANGED
|
@@ -46,7 +46,7 @@ export = all;
|
|
|
46
46
|
* const identity = value => value
|
|
47
47
|
*
|
|
48
48
|
* const userbase = new Map()
|
|
49
|
-
* userbase.set('1', { _id: 1, name: '
|
|
49
|
+
* userbase.set('1', { _id: 1, name: 'John' })
|
|
50
50
|
*
|
|
51
51
|
* const getUserByID = async id => userbase.get(id)
|
|
52
52
|
*
|
|
@@ -60,7 +60,7 @@ export = all;
|
|
|
60
60
|
* }),
|
|
61
61
|
* ])
|
|
62
62
|
*
|
|
63
|
-
* getAndLogUserById('1') // Got user {"_id":1,"name":"
|
|
63
|
+
* getAndLogUserById('1') // Got user {"_id":1,"name":"John"} by id 1
|
|
64
64
|
* ```
|
|
65
65
|
*
|
|
66
66
|
* @execution concurrent
|
package/all.js
CHANGED
|
@@ -96,7 +96,7 @@ const _allValues = function (values) {
|
|
|
96
96
|
* const identity = value => value
|
|
97
97
|
*
|
|
98
98
|
* const userbase = new Map()
|
|
99
|
-
* userbase.set('1', { _id: 1, name: '
|
|
99
|
+
* userbase.set('1', { _id: 1, name: 'John' })
|
|
100
100
|
*
|
|
101
101
|
* const getUserByID = async id => userbase.get(id)
|
|
102
102
|
*
|
|
@@ -110,7 +110,7 @@ const _allValues = function (values) {
|
|
|
110
110
|
* }),
|
|
111
111
|
* ])
|
|
112
112
|
*
|
|
113
|
-
* getAndLogUserById('1') // Got user {"_id":1,"name":"
|
|
113
|
+
* getAndLogUserById('1') // Got user {"_id":1,"name":"John"} by id 1
|
|
114
114
|
* ```
|
|
115
115
|
*
|
|
116
116
|
* Values may be provided along with functions, in which case they are set on the result object or array directly. If any of these values are promises, they are resolved for their values before being set on the result object or array.
|
|
@@ -141,6 +141,15 @@ const _allValues = function (values) {
|
|
|
141
141
|
* ]).then(console.log) // [2, 3, 4]
|
|
142
142
|
* ```
|
|
143
143
|
*
|
|
144
|
+
* See also:
|
|
145
|
+
* * [pipe](/docs/pipe)
|
|
146
|
+
* * [assign](/docs/assign)
|
|
147
|
+
* * [get](/docs/get)
|
|
148
|
+
* * [set](/docs/set)
|
|
149
|
+
* * [pick](/docs/pick)
|
|
150
|
+
* * [omit](/docs/omit)
|
|
151
|
+
* * [forEach](/docs/forEach)
|
|
152
|
+
*
|
|
144
153
|
* @execution concurrent
|
|
145
154
|
*/
|
|
146
155
|
const all = function (...args) {
|
package/always.js
CHANGED
|
@@ -18,6 +18,14 @@ const always = require('./_internal/always')
|
|
|
18
18
|
* console.log(always5()) // 5
|
|
19
19
|
* console.log(always5()) // 5
|
|
20
20
|
* ```
|
|
21
|
+
*
|
|
22
|
+
* See also:
|
|
23
|
+
* * [eq](/docs/eq)
|
|
24
|
+
* * [thunkify](/docs/thunkify)
|
|
25
|
+
* * [curry](/docs/curry)
|
|
26
|
+
* * [__](/docs/__)
|
|
27
|
+
* * [Transducer.map](/docs/Transducer.map)
|
|
28
|
+
*
|
|
21
29
|
*/
|
|
22
30
|
|
|
23
31
|
module.exports = always
|
package/and.js
CHANGED
|
@@ -140,6 +140,12 @@ const areAllPredicatesTruthy = function (args, predicates) {
|
|
|
140
140
|
* ]).then(console.log) // true
|
|
141
141
|
* ```
|
|
142
142
|
*
|
|
143
|
+
* See also:
|
|
144
|
+
* * [some](/docs/some)
|
|
145
|
+
* * [or](/docs/or)
|
|
146
|
+
* * [not](/docs/not)
|
|
147
|
+
* * [eq](/docs/eq)
|
|
148
|
+
*
|
|
143
149
|
* @execution series
|
|
144
150
|
*
|
|
145
151
|
* @note ...args slows down here by an order of magnitude
|
package/assign.js
CHANGED
|
@@ -84,6 +84,15 @@ const _assign = function (object, funcs) {
|
|
|
84
84
|
* }).then(console.log)
|
|
85
85
|
* ```
|
|
86
86
|
*
|
|
87
|
+
* See also:
|
|
88
|
+
* * [pipe](/docs/pipe)
|
|
89
|
+
* * [all](/docs/all)
|
|
90
|
+
* * [get](/docs/get)
|
|
91
|
+
* * [set](/docs/set)
|
|
92
|
+
* * [pick](/docs/pick)
|
|
93
|
+
* * [omit](/docs/omit)
|
|
94
|
+
* * [forEach](/docs/forEach)
|
|
95
|
+
*
|
|
87
96
|
* @execution concurrent
|
|
88
97
|
*/
|
|
89
98
|
const assign = function (arg0, arg1) {
|
package/compose.js
CHANGED
|
@@ -10,22 +10,37 @@ const funcConcat = require('./_internal/funcConcat')
|
|
|
10
10
|
*
|
|
11
11
|
* @synopsis
|
|
12
12
|
* ```coffeescript [specscript]
|
|
13
|
-
*
|
|
13
|
+
* funcs Array<function>
|
|
14
|
+
* args Array<any>
|
|
15
|
+
* argsWithPromises Array<Promise|any>
|
|
14
16
|
*
|
|
15
|
-
* compose(...args
|
|
17
|
+
* compose(funcs)(...args) -> result Promise|any
|
|
18
|
+
*
|
|
19
|
+
* compose(...argsWithPromises, funcs) -> result Promise|any
|
|
20
|
+
*
|
|
21
|
+
* compose(...funcs)(...args) -> result Promise|any
|
|
16
22
|
* ```
|
|
17
23
|
*
|
|
18
24
|
* @description
|
|
19
|
-
* Creates a function composition from
|
|
25
|
+
* Creates a function composition from multiple functions. Each function in the composition is evaluated starting from the last function in the composition in series, passing its return value as an argument to the previous function. The result of a composition execution is the return value of the first function in the composition. If any function in the composition is asynchronous, the result of the composition execution is a Promise.
|
|
26
|
+
*
|
|
27
|
+
* ```javascript [playground]
|
|
28
|
+
* const f = x => x * 2
|
|
29
|
+
* const g = x => x + 3
|
|
30
|
+
*
|
|
31
|
+
* const result = compose(5, [f, g])
|
|
32
|
+
* console.log(result) // 16
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* `compose` supports a mathematical API.
|
|
20
36
|
*
|
|
21
37
|
* ```javascript [playground]
|
|
22
|
-
* const f =
|
|
38
|
+
* const f = x => x * 2
|
|
39
|
+
* const g = x => x + 1
|
|
23
40
|
*
|
|
24
|
-
* const
|
|
41
|
+
* const composition = compose(f, g)
|
|
25
42
|
*
|
|
26
|
-
* console.log(
|
|
27
|
-
* compose(5, [f, g]),
|
|
28
|
-
* ) // 16
|
|
43
|
+
* console.log(composition(1)) // 4
|
|
29
44
|
* ```
|
|
30
45
|
*
|
|
31
46
|
* Any promises passed in argument position are resolved for their values before further execution. This only applies to the eager version of the API.
|
|
@@ -35,8 +50,18 @@ const funcConcat = require('./_internal/funcConcat')
|
|
|
35
50
|
* console.log, // [1, 2, 3]
|
|
36
51
|
* ])
|
|
37
52
|
* ```
|
|
53
|
+
*
|
|
54
|
+
* See also:
|
|
55
|
+
* * [pipe](/docs/pipe)
|
|
56
|
+
* * [tap](/docs/tap)
|
|
57
|
+
* * [switchCase](/docs/switchCase)
|
|
58
|
+
* * [tryCatch](/docs/tryCatch)
|
|
38
59
|
*/
|
|
39
60
|
const compose = function (...args) {
|
|
61
|
+
if (typeof args[0] == 'function') {
|
|
62
|
+
return args.reduceRight(funcConcat)
|
|
63
|
+
}
|
|
64
|
+
|
|
40
65
|
const funcs = args.pop()
|
|
41
66
|
const composition = funcs.reduceRight(funcConcat)
|
|
42
67
|
|
package/curry.js
CHANGED
|
@@ -35,6 +35,15 @@ const curryArity = require('./_internal/curryArity')
|
|
|
35
35
|
* console.log(curry(add, __, __, 'c')('a', 'b')) // abc
|
|
36
36
|
* console.log(curry(add, __, __, 'c')(__, 'b')('a')) // abc
|
|
37
37
|
* ```
|
|
38
|
+
*
|
|
39
|
+
* See also:
|
|
40
|
+
* * [eq](/docs/eq)
|
|
41
|
+
* * [thunkify](/docs/thunkify)
|
|
42
|
+
* * [always](/docs/always)
|
|
43
|
+
* * [curry.arity](/docs/curry.arity)
|
|
44
|
+
* * [__](/docs/__)
|
|
45
|
+
* * [Transducer.map](/docs/Transducer.map)
|
|
46
|
+
*
|
|
38
47
|
*/
|
|
39
48
|
const curry = (func, ...args) => curryArity(func.length, func, args)
|
|
40
49
|
|
|
@@ -66,6 +75,15 @@ const curry = (func, ...args) => curryArity(func.length, func, args)
|
|
|
66
75
|
*
|
|
67
76
|
* console.log(curry.arity(2, add, 1, 2)) // 3
|
|
68
77
|
* ```
|
|
78
|
+
*
|
|
79
|
+
* See also:
|
|
80
|
+
* * [eq](/docs/eq)
|
|
81
|
+
* * [thunkify](/docs/thunkify)
|
|
82
|
+
* * [always](/docs/always)
|
|
83
|
+
* * [curry](/docs/curry)
|
|
84
|
+
* * [__](/docs/__)
|
|
85
|
+
* * [Transducer.map](/docs/Transducer.map)
|
|
86
|
+
*
|
|
69
87
|
*/
|
|
70
88
|
curry.arity = function curryArity_(arity, func, ...args) {
|
|
71
89
|
return curryArity(arity, func, args)
|
package/dist/Transducer.es.js
CHANGED
package/dist/Transducer.js
CHANGED
package/dist/Transducer.min.js
CHANGED
package/dist/Transducer.mjs
CHANGED
package/dist/__.es.js
CHANGED
package/dist/__.es.min.js
CHANGED
package/dist/__.js
CHANGED
package/dist/__.min.js
CHANGED
package/dist/__.mjs
CHANGED
package/dist/all.es.js
CHANGED
package/dist/all.es.min.js
CHANGED
package/dist/all.js
CHANGED
package/dist/all.min.js
CHANGED
package/dist/all.mjs
CHANGED
package/dist/always.es.js
CHANGED
package/dist/always.es.min.js
CHANGED
package/dist/always.js
CHANGED
package/dist/always.min.js
CHANGED
package/dist/always.mjs
CHANGED
package/dist/and.es.js
CHANGED
package/dist/and.es.min.js
CHANGED
package/dist/and.js
CHANGED
package/dist/and.min.js
CHANGED
package/dist/and.mjs
CHANGED
package/dist/assign.es.js
CHANGED
package/dist/assign.es.min.js
CHANGED
package/dist/assign.js
CHANGED
package/dist/assign.min.js
CHANGED