rubico 2.6.0 → 2.6.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/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 +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 +64 -46
- package/dist/rubico.es.min.js +2 -2
- package/dist/rubico.global.js +64 -46
- package/dist/rubico.global.min.js +2 -2
- package/dist/rubico.js +64 -46
- package/dist/rubico.min.js +2 -2
- package/dist/rubico.mjs +64 -46
- 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 +64 -15
- package/dist/tap.es.min.js +2 -2
- package/dist/tap.js +64 -15
- package/dist/tap.min.js +2 -2
- package/dist/tap.mjs +64 -15
- package/dist/thunkify.es.js +1 -1
- package/dist/thunkify.es.min.js +1 -1
- package/dist/thunkify.js +1 -1
- package/dist/thunkify.min.js +1 -1
- package/dist/thunkify.mjs +1 -1
- 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 +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 +66 -17
- package/dist/x/trace.es.min.js +2 -2
- package/dist/x/trace.js +66 -17
- package/dist/x/trace.min.js +2 -2
- package/dist/x/trace.mjs +66 -17
- 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 +64 -46
- package/index.js +64 -46
- package/package.json +1 -1
- package/tap.js +66 -28
package/tap.js
CHANGED
|
@@ -5,14 +5,15 @@ const thunkConditional = require('./_internal/thunkConditional')
|
|
|
5
5
|
const curry2 = require('./_internal/curry2')
|
|
6
6
|
const curry3 = require('./_internal/curry3')
|
|
7
7
|
const curryArgs2 = require('./_internal/curryArgs2')
|
|
8
|
+
const curryArgs3 = require('./_internal/curryArgs3')
|
|
8
9
|
const __ = require('./_internal/placeholder')
|
|
9
10
|
const areAnyValuesPromises = require('./_internal/areAnyValuesPromises')
|
|
10
11
|
const promiseAll = require('./_internal/promiseAll')
|
|
11
12
|
|
|
12
|
-
// _tap(args Array,
|
|
13
|
-
const _tap = function (args,
|
|
13
|
+
// _tap(args Array, f function) -> Promise|any
|
|
14
|
+
const _tap = function (args, f) {
|
|
14
15
|
const result = args[0],
|
|
15
|
-
call =
|
|
16
|
+
call = f(...args)
|
|
16
17
|
return isPromise(call) ? call.then(always(result)) : result
|
|
17
18
|
}
|
|
18
19
|
|
|
@@ -21,8 +22,8 @@ const _tap = function (args, func) {
|
|
|
21
22
|
*
|
|
22
23
|
* @synopsis
|
|
23
24
|
* ```coffeescript [specscript]
|
|
24
|
-
* tap(...args,
|
|
25
|
-
* tap(
|
|
25
|
+
* tap(...args, f function) -> Promise|args[0]
|
|
26
|
+
* tap(f function)(...args) -> Promise|args[0]
|
|
26
27
|
* ```
|
|
27
28
|
*
|
|
28
29
|
* @description
|
|
@@ -41,19 +42,51 @@ const _tap = function (args, func) {
|
|
|
41
42
|
* ```
|
|
42
43
|
*
|
|
43
44
|
* Any promises passed in argument position are resolved for their values before further execution. This only applies to the eager version of the API.
|
|
45
|
+
*
|
|
44
46
|
* ```javascript [playground]
|
|
45
|
-
* tap(Promise.resolve(1), Promise.resolve(2), 3, console.log) // 1
|
|
47
|
+
* tap(Promise.resolve(1), Promise.resolve(2), 3, console.log) // 1 2 3
|
|
46
48
|
* ```
|
|
47
49
|
*/
|
|
48
50
|
const tap = function (...args) {
|
|
49
|
-
const
|
|
51
|
+
const f = args.pop()
|
|
50
52
|
if (args.length == 0) {
|
|
51
|
-
return curryArgs2(_tap, __,
|
|
53
|
+
return curryArgs2(_tap, __, f)
|
|
52
54
|
}
|
|
53
55
|
if (areAnyValuesPromises(args)) {
|
|
54
|
-
return promiseAll(args).then(curry2(_tap, __,
|
|
56
|
+
return promiseAll(args).then(curry2(_tap, __, f))
|
|
55
57
|
}
|
|
56
|
-
return _tap(args,
|
|
58
|
+
return _tap(args, f)
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* @name _tapIf
|
|
63
|
+
*
|
|
64
|
+
* @synopsis
|
|
65
|
+
* ```coffeescript [specscript]
|
|
66
|
+
* _tapIf(
|
|
67
|
+
* predicate function,
|
|
68
|
+
* f function,
|
|
69
|
+
* args Array,
|
|
70
|
+
* ) -> Promise|args[0]
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
const _tapIf = function (predicate, f, args) {
|
|
74
|
+
const b = predicate(...args)
|
|
75
|
+
if (isPromise(b)) {
|
|
76
|
+
return b.then(curry3(
|
|
77
|
+
thunkConditional,
|
|
78
|
+
__,
|
|
79
|
+
thunkifyArgs(tap(f), args),
|
|
80
|
+
always(args[0]),
|
|
81
|
+
))
|
|
82
|
+
}
|
|
83
|
+
if (b) {
|
|
84
|
+
const execution = f(...args)
|
|
85
|
+
if (isPromise(execution)) {
|
|
86
|
+
return execution.then(always(args[0]))
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return args[0]
|
|
57
90
|
}
|
|
58
91
|
|
|
59
92
|
/**
|
|
@@ -61,37 +94,42 @@ const tap = function (...args) {
|
|
|
61
94
|
*
|
|
62
95
|
* @synopsis
|
|
63
96
|
* ```coffeescript [specscript]
|
|
64
|
-
* tap.if(predicate function,
|
|
97
|
+
* tap.if(...args, predicate function, f function) -> Promise|args[0]
|
|
98
|
+
* tap.if(predicate function, f function)(...args) -> Promise|args[0]
|
|
65
99
|
* ```
|
|
66
100
|
*
|
|
67
101
|
* @description
|
|
68
|
-
* A version of `tap` that accepts a predicate function (a function that returns a boolean value) before the function to execute. Only executes
|
|
102
|
+
* A version of `tap` that accepts a predicate function (a function that returns a boolean value) before the function `f` to execute. Only executes `f` if the predicate function tests true. The arguments are the same to both the predicate function and the function to execute `f`.
|
|
69
103
|
*
|
|
70
104
|
* ```javascript [playground]
|
|
71
105
|
* const isOdd = number => number % 2 == 1
|
|
72
106
|
*
|
|
73
|
-
* const logIfOdd = tap.if(
|
|
74
|
-
* isOdd,
|
|
75
|
-
* number => console.log(number, 'is an odd number')
|
|
76
|
-
* )
|
|
107
|
+
* const logIfOdd = tap.if(isOdd, console.log)
|
|
77
108
|
*
|
|
78
109
|
* logIfOdd(2)
|
|
79
|
-
* logIfOdd(3) // 3
|
|
110
|
+
* logIfOdd(3) // 3
|
|
111
|
+
* ```
|
|
112
|
+
*
|
|
113
|
+
* Any promises passed in argument position are resolved for their values before further execution. This only applies to the eager version of the API.
|
|
114
|
+
*
|
|
115
|
+
* ```javascript [playground]
|
|
116
|
+
* tap.if(Promise.resolve(1), n => n < 5, console.log) // 1
|
|
117
|
+
* tap.if(Promise.resolve(6), n => n < 5, console.log)
|
|
80
118
|
* ```
|
|
81
119
|
*/
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
if (
|
|
85
|
-
return
|
|
86
|
-
thunkConditional, __, thunkifyArgs(tap(func), args), always(args[0])))
|
|
120
|
+
|
|
121
|
+
tap.if = function (...args) {
|
|
122
|
+
if (args.length == 2) {
|
|
123
|
+
return curryArgs3(_tapIf, args[0], args[1], __)
|
|
87
124
|
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
125
|
+
const argsLength = args.length
|
|
126
|
+
const f = args[argsLength - 1]
|
|
127
|
+
const predicate = args[argsLength - 2]
|
|
128
|
+
const argValues = args.slice(0, -2)
|
|
129
|
+
if (areAnyValuesPromises(argValues)) {
|
|
130
|
+
return promiseAll(argValues).then(curry3(_tapIf, predicate, f, __))
|
|
93
131
|
}
|
|
94
|
-
return args
|
|
132
|
+
return _tapIf(predicate, f, args)
|
|
95
133
|
}
|
|
96
134
|
|
|
97
135
|
module.exports = tap
|