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/dist/x/trace.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.6.
|
|
2
|
+
* rubico v2.6.1
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
4
|
* (c) 2019-2024 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
@@ -100,6 +100,37 @@ const curryArgs2 = function (baseFunc, arg0, arg1) {
|
|
|
100
100
|
return curryArgs2ResolveArgs1(baseFunc, arg0)
|
|
101
101
|
}
|
|
102
102
|
|
|
103
|
+
// argument resolver for curryArgs3
|
|
104
|
+
const curryArgs3ResolveArgs0 = (
|
|
105
|
+
baseFunc, arg1, arg2,
|
|
106
|
+
) => function args0Resolver(...args) {
|
|
107
|
+
return baseFunc(args, arg1, arg2)
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
// argument resolver for curryArgs3
|
|
111
|
+
const curryArgs3ResolveArgs1 = (
|
|
112
|
+
baseFunc, arg0, arg2,
|
|
113
|
+
) => function arg1Resolver(...args) {
|
|
114
|
+
return baseFunc(arg0, args, arg2)
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
// argument resolver for curryArgs3
|
|
118
|
+
const curryArgs3ResolveArgs2 = (
|
|
119
|
+
baseFunc, arg0, arg1,
|
|
120
|
+
) => function arg2Resolver(...args) {
|
|
121
|
+
return baseFunc(arg0, arg1, args)
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
const curryArgs3 = function (baseFunc, arg0, arg1, arg2) {
|
|
125
|
+
if (arg0 == __) {
|
|
126
|
+
return curryArgs3ResolveArgs0(baseFunc, arg1, arg2)
|
|
127
|
+
}
|
|
128
|
+
if (arg1 == __) {
|
|
129
|
+
return curryArgs3ResolveArgs1(baseFunc, arg0, arg2)
|
|
130
|
+
}
|
|
131
|
+
return curryArgs3ResolveArgs2(baseFunc, arg0, arg1)
|
|
132
|
+
}
|
|
133
|
+
|
|
103
134
|
const areAnyValuesPromises = function (values) {
|
|
104
135
|
const length = values.length
|
|
105
136
|
let index = -1
|
|
@@ -114,32 +145,36 @@ const areAnyValuesPromises = function (values) {
|
|
|
114
145
|
|
|
115
146
|
const promiseAll = Promise.all.bind(Promise)
|
|
116
147
|
|
|
117
|
-
// _tap(args Array,
|
|
118
|
-
const _tap = function (args,
|
|
148
|
+
// _tap(args Array, f function) -> Promise|any
|
|
149
|
+
const _tap = function (args, f) {
|
|
119
150
|
const result = args[0],
|
|
120
|
-
call =
|
|
151
|
+
call = f(...args)
|
|
121
152
|
return isPromise(call) ? call.then(always(result)) : result
|
|
122
153
|
}
|
|
123
154
|
|
|
124
155
|
const tap = function (...args) {
|
|
125
|
-
const
|
|
156
|
+
const f = args.pop()
|
|
126
157
|
if (args.length == 0) {
|
|
127
|
-
return curryArgs2(_tap, __,
|
|
158
|
+
return curryArgs2(_tap, __, f)
|
|
128
159
|
}
|
|
129
160
|
if (areAnyValuesPromises(args)) {
|
|
130
|
-
return promiseAll(args).then(curry2(_tap, __,
|
|
161
|
+
return promiseAll(args).then(curry2(_tap, __, f))
|
|
131
162
|
}
|
|
132
|
-
return _tap(args,
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
const
|
|
137
|
-
if (isPromise(
|
|
138
|
-
return
|
|
139
|
-
thunkConditional,
|
|
163
|
+
return _tap(args, f)
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
const _tapIf = function (predicate, f, args) {
|
|
167
|
+
const b = predicate(...args)
|
|
168
|
+
if (isPromise(b)) {
|
|
169
|
+
return b.then(curry3(
|
|
170
|
+
thunkConditional,
|
|
171
|
+
__,
|
|
172
|
+
thunkifyArgs(tap(f), args),
|
|
173
|
+
always(args[0]),
|
|
174
|
+
))
|
|
140
175
|
}
|
|
141
|
-
if (
|
|
142
|
-
const execution =
|
|
176
|
+
if (b) {
|
|
177
|
+
const execution = f(...args)
|
|
143
178
|
if (isPromise(execution)) {
|
|
144
179
|
return execution.then(always(args[0]))
|
|
145
180
|
}
|
|
@@ -147,6 +182,20 @@ tap.if = (predicate, func) => function tappingIf(...args) {
|
|
|
147
182
|
return args[0]
|
|
148
183
|
}
|
|
149
184
|
|
|
185
|
+
tap.if = function (...args) {
|
|
186
|
+
if (args.length == 2) {
|
|
187
|
+
return curryArgs3(_tapIf, args[0], args[1], __)
|
|
188
|
+
}
|
|
189
|
+
const argsLength = args.length
|
|
190
|
+
const f = args[argsLength - 1]
|
|
191
|
+
const predicate = args[argsLength - 2]
|
|
192
|
+
const argValues = args.slice(0, -2)
|
|
193
|
+
if (areAnyValuesPromises(argValues)) {
|
|
194
|
+
return promiseAll(argValues).then(curry3(_tapIf, predicate, f, __))
|
|
195
|
+
}
|
|
196
|
+
return _tapIf(predicate, f, args)
|
|
197
|
+
}
|
|
198
|
+
|
|
150
199
|
// ...any => ()
|
|
151
200
|
const consoleLog = console.log
|
|
152
201
|
|
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.6.
|
|
2
|
+
* rubico v2.6.1
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
4
|
* (c) 2019-2024 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
@@ -146,32 +146,67 @@ const curryArgs2 = function (baseFunc, arg0, arg1) {
|
|
|
146
146
|
return curryArgs2ResolveArgs1(baseFunc, arg0)
|
|
147
147
|
}
|
|
148
148
|
|
|
149
|
-
//
|
|
150
|
-
const
|
|
149
|
+
// argument resolver for curryArgs3
|
|
150
|
+
const curryArgs3ResolveArgs0 = (
|
|
151
|
+
baseFunc, arg1, arg2,
|
|
152
|
+
) => function args0Resolver(...args) {
|
|
153
|
+
return baseFunc(args, arg1, arg2)
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
// argument resolver for curryArgs3
|
|
157
|
+
const curryArgs3ResolveArgs1 = (
|
|
158
|
+
baseFunc, arg0, arg2,
|
|
159
|
+
) => function arg1Resolver(...args) {
|
|
160
|
+
return baseFunc(arg0, args, arg2)
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
// argument resolver for curryArgs3
|
|
164
|
+
const curryArgs3ResolveArgs2 = (
|
|
165
|
+
baseFunc, arg0, arg1,
|
|
166
|
+
) => function arg2Resolver(...args) {
|
|
167
|
+
return baseFunc(arg0, arg1, args)
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
const curryArgs3 = function (baseFunc, arg0, arg1, arg2) {
|
|
171
|
+
if (arg0 == __) {
|
|
172
|
+
return curryArgs3ResolveArgs0(baseFunc, arg1, arg2)
|
|
173
|
+
}
|
|
174
|
+
if (arg1 == __) {
|
|
175
|
+
return curryArgs3ResolveArgs1(baseFunc, arg0, arg2)
|
|
176
|
+
}
|
|
177
|
+
return curryArgs3ResolveArgs2(baseFunc, arg0, arg1)
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
// _tap(args Array, f function) -> Promise|any
|
|
181
|
+
const _tap = function (args, f) {
|
|
151
182
|
const result = args[0],
|
|
152
|
-
call =
|
|
183
|
+
call = f(...args)
|
|
153
184
|
return isPromise(call) ? call.then(always(result)) : result
|
|
154
185
|
}
|
|
155
186
|
|
|
156
187
|
const tap = function (...args) {
|
|
157
|
-
const
|
|
188
|
+
const f = args.pop()
|
|
158
189
|
if (args.length == 0) {
|
|
159
|
-
return curryArgs2(_tap, __,
|
|
190
|
+
return curryArgs2(_tap, __, f)
|
|
160
191
|
}
|
|
161
192
|
if (areAnyValuesPromises(args)) {
|
|
162
|
-
return promiseAll(args).then(curry2(_tap, __,
|
|
193
|
+
return promiseAll(args).then(curry2(_tap, __, f))
|
|
163
194
|
}
|
|
164
|
-
return _tap(args,
|
|
195
|
+
return _tap(args, f)
|
|
165
196
|
}
|
|
166
197
|
|
|
167
|
-
|
|
168
|
-
const
|
|
169
|
-
if (isPromise(
|
|
170
|
-
return
|
|
171
|
-
thunkConditional,
|
|
198
|
+
const _tapIf = function (predicate, f, args) {
|
|
199
|
+
const b = predicate(...args)
|
|
200
|
+
if (isPromise(b)) {
|
|
201
|
+
return b.then(curry3(
|
|
202
|
+
thunkConditional,
|
|
203
|
+
__,
|
|
204
|
+
thunkifyArgs(tap(f), args),
|
|
205
|
+
always(args[0]),
|
|
206
|
+
))
|
|
172
207
|
}
|
|
173
|
-
if (
|
|
174
|
-
const execution =
|
|
208
|
+
if (b) {
|
|
209
|
+
const execution = f(...args)
|
|
175
210
|
if (isPromise(execution)) {
|
|
176
211
|
return execution.then(always(args[0]))
|
|
177
212
|
}
|
|
@@ -179,6 +214,20 @@ tap.if = (predicate, func) => function tappingIf(...args) {
|
|
|
179
214
|
return args[0]
|
|
180
215
|
}
|
|
181
216
|
|
|
217
|
+
tap.if = function (...args) {
|
|
218
|
+
if (args.length == 2) {
|
|
219
|
+
return curryArgs3(_tapIf, args[0], args[1], __)
|
|
220
|
+
}
|
|
221
|
+
const argsLength = args.length
|
|
222
|
+
const f = args[argsLength - 1]
|
|
223
|
+
const predicate = args[argsLength - 2]
|
|
224
|
+
const argValues = args.slice(0, -2)
|
|
225
|
+
if (areAnyValuesPromises(argValues)) {
|
|
226
|
+
return promiseAll(argValues).then(curry3(_tapIf, predicate, f, __))
|
|
227
|
+
}
|
|
228
|
+
return _tapIf(predicate, f, args)
|
|
229
|
+
}
|
|
230
|
+
|
|
182
231
|
const isArray = Array.isArray
|
|
183
232
|
|
|
184
233
|
const functionArrayAll = function (funcs, args) {
|
|
@@ -445,37 +494,6 @@ const nonfunctionsConditional = function (array, index) {
|
|
|
445
494
|
return array[index]
|
|
446
495
|
}
|
|
447
496
|
|
|
448
|
-
// argument resolver for curryArgs3
|
|
449
|
-
const curryArgs3ResolveArgs0 = (
|
|
450
|
-
baseFunc, arg1, arg2,
|
|
451
|
-
) => function args0Resolver(...args) {
|
|
452
|
-
return baseFunc(args, arg1, arg2)
|
|
453
|
-
}
|
|
454
|
-
|
|
455
|
-
// argument resolver for curryArgs3
|
|
456
|
-
const curryArgs3ResolveArgs1 = (
|
|
457
|
-
baseFunc, arg0, arg2,
|
|
458
|
-
) => function arg1Resolver(...args) {
|
|
459
|
-
return baseFunc(arg0, args, arg2)
|
|
460
|
-
}
|
|
461
|
-
|
|
462
|
-
// argument resolver for curryArgs3
|
|
463
|
-
const curryArgs3ResolveArgs2 = (
|
|
464
|
-
baseFunc, arg0, arg1,
|
|
465
|
-
) => function arg2Resolver(...args) {
|
|
466
|
-
return baseFunc(arg0, arg1, args)
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
const curryArgs3 = function (baseFunc, arg0, arg1, arg2) {
|
|
470
|
-
if (arg0 == __) {
|
|
471
|
-
return curryArgs3ResolveArgs0(baseFunc, arg1, arg2)
|
|
472
|
-
}
|
|
473
|
-
if (arg1 == __) {
|
|
474
|
-
return curryArgs3ResolveArgs1(baseFunc, arg0, arg2)
|
|
475
|
-
}
|
|
476
|
-
return curryArgs3ResolveArgs2(baseFunc, arg0, arg1)
|
|
477
|
-
}
|
|
478
|
-
|
|
479
497
|
const switchCase = (...args) => {
|
|
480
498
|
const values = args.pop()
|
|
481
499
|
if (areAllValuesNonfunctions(values)) {
|
package/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.6.
|
|
2
|
+
* rubico v2.6.1
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
4
|
* (c) 2019-2024 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
@@ -152,32 +152,67 @@ const curryArgs2 = function (baseFunc, arg0, arg1) {
|
|
|
152
152
|
return curryArgs2ResolveArgs1(baseFunc, arg0)
|
|
153
153
|
}
|
|
154
154
|
|
|
155
|
-
//
|
|
156
|
-
const
|
|
155
|
+
// argument resolver for curryArgs3
|
|
156
|
+
const curryArgs3ResolveArgs0 = (
|
|
157
|
+
baseFunc, arg1, arg2,
|
|
158
|
+
) => function args0Resolver(...args) {
|
|
159
|
+
return baseFunc(args, arg1, arg2)
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
// argument resolver for curryArgs3
|
|
163
|
+
const curryArgs3ResolveArgs1 = (
|
|
164
|
+
baseFunc, arg0, arg2,
|
|
165
|
+
) => function arg1Resolver(...args) {
|
|
166
|
+
return baseFunc(arg0, args, arg2)
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
// argument resolver for curryArgs3
|
|
170
|
+
const curryArgs3ResolveArgs2 = (
|
|
171
|
+
baseFunc, arg0, arg1,
|
|
172
|
+
) => function arg2Resolver(...args) {
|
|
173
|
+
return baseFunc(arg0, arg1, args)
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
const curryArgs3 = function (baseFunc, arg0, arg1, arg2) {
|
|
177
|
+
if (arg0 == __) {
|
|
178
|
+
return curryArgs3ResolveArgs0(baseFunc, arg1, arg2)
|
|
179
|
+
}
|
|
180
|
+
if (arg1 == __) {
|
|
181
|
+
return curryArgs3ResolveArgs1(baseFunc, arg0, arg2)
|
|
182
|
+
}
|
|
183
|
+
return curryArgs3ResolveArgs2(baseFunc, arg0, arg1)
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
// _tap(args Array, f function) -> Promise|any
|
|
187
|
+
const _tap = function (args, f) {
|
|
157
188
|
const result = args[0],
|
|
158
|
-
call =
|
|
189
|
+
call = f(...args)
|
|
159
190
|
return isPromise(call) ? call.then(always(result)) : result
|
|
160
191
|
}
|
|
161
192
|
|
|
162
193
|
const tap = function (...args) {
|
|
163
|
-
const
|
|
194
|
+
const f = args.pop()
|
|
164
195
|
if (args.length == 0) {
|
|
165
|
-
return curryArgs2(_tap, __,
|
|
196
|
+
return curryArgs2(_tap, __, f)
|
|
166
197
|
}
|
|
167
198
|
if (areAnyValuesPromises(args)) {
|
|
168
|
-
return promiseAll(args).then(curry2(_tap, __,
|
|
199
|
+
return promiseAll(args).then(curry2(_tap, __, f))
|
|
169
200
|
}
|
|
170
|
-
return _tap(args,
|
|
201
|
+
return _tap(args, f)
|
|
171
202
|
}
|
|
172
203
|
|
|
173
|
-
|
|
174
|
-
const
|
|
175
|
-
if (isPromise(
|
|
176
|
-
return
|
|
177
|
-
thunkConditional,
|
|
204
|
+
const _tapIf = function (predicate, f, args) {
|
|
205
|
+
const b = predicate(...args)
|
|
206
|
+
if (isPromise(b)) {
|
|
207
|
+
return b.then(curry3(
|
|
208
|
+
thunkConditional,
|
|
209
|
+
__,
|
|
210
|
+
thunkifyArgs(tap(f), args),
|
|
211
|
+
always(args[0]),
|
|
212
|
+
))
|
|
178
213
|
}
|
|
179
|
-
if (
|
|
180
|
-
const execution =
|
|
214
|
+
if (b) {
|
|
215
|
+
const execution = f(...args)
|
|
181
216
|
if (isPromise(execution)) {
|
|
182
217
|
return execution.then(always(args[0]))
|
|
183
218
|
}
|
|
@@ -185,6 +220,20 @@ tap.if = (predicate, func) => function tappingIf(...args) {
|
|
|
185
220
|
return args[0]
|
|
186
221
|
}
|
|
187
222
|
|
|
223
|
+
tap.if = function (...args) {
|
|
224
|
+
if (args.length == 2) {
|
|
225
|
+
return curryArgs3(_tapIf, args[0], args[1], __)
|
|
226
|
+
}
|
|
227
|
+
const argsLength = args.length
|
|
228
|
+
const f = args[argsLength - 1]
|
|
229
|
+
const predicate = args[argsLength - 2]
|
|
230
|
+
const argValues = args.slice(0, -2)
|
|
231
|
+
if (areAnyValuesPromises(argValues)) {
|
|
232
|
+
return promiseAll(argValues).then(curry3(_tapIf, predicate, f, __))
|
|
233
|
+
}
|
|
234
|
+
return _tapIf(predicate, f, args)
|
|
235
|
+
}
|
|
236
|
+
|
|
188
237
|
const isArray = Array.isArray
|
|
189
238
|
|
|
190
239
|
const functionArrayAll = function (funcs, args) {
|
|
@@ -451,37 +500,6 @@ const nonfunctionsConditional = function (array, index) {
|
|
|
451
500
|
return array[index]
|
|
452
501
|
}
|
|
453
502
|
|
|
454
|
-
// argument resolver for curryArgs3
|
|
455
|
-
const curryArgs3ResolveArgs0 = (
|
|
456
|
-
baseFunc, arg1, arg2,
|
|
457
|
-
) => function args0Resolver(...args) {
|
|
458
|
-
return baseFunc(args, arg1, arg2)
|
|
459
|
-
}
|
|
460
|
-
|
|
461
|
-
// argument resolver for curryArgs3
|
|
462
|
-
const curryArgs3ResolveArgs1 = (
|
|
463
|
-
baseFunc, arg0, arg2,
|
|
464
|
-
) => function arg1Resolver(...args) {
|
|
465
|
-
return baseFunc(arg0, args, arg2)
|
|
466
|
-
}
|
|
467
|
-
|
|
468
|
-
// argument resolver for curryArgs3
|
|
469
|
-
const curryArgs3ResolveArgs2 = (
|
|
470
|
-
baseFunc, arg0, arg1,
|
|
471
|
-
) => function arg2Resolver(...args) {
|
|
472
|
-
return baseFunc(arg0, arg1, args)
|
|
473
|
-
}
|
|
474
|
-
|
|
475
|
-
const curryArgs3 = function (baseFunc, arg0, arg1, arg2) {
|
|
476
|
-
if (arg0 == __) {
|
|
477
|
-
return curryArgs3ResolveArgs0(baseFunc, arg1, arg2)
|
|
478
|
-
}
|
|
479
|
-
if (arg1 == __) {
|
|
480
|
-
return curryArgs3ResolveArgs1(baseFunc, arg0, arg2)
|
|
481
|
-
}
|
|
482
|
-
return curryArgs3ResolveArgs2(baseFunc, arg0, arg1)
|
|
483
|
-
}
|
|
484
|
-
|
|
485
503
|
const switchCase = (...args) => {
|
|
486
504
|
const values = args.pop()
|
|
487
505
|
if (areAllValuesNonfunctions(values)) {
|