rubico 2.6.0 → 2.6.2
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/_internal/areAllValuesNonfunctions.js +16 -4
- package/_internal/areAnyValuesPromises.js +16 -4
- package/_internal/functionArrayAll.js +2 -1
- package/_internal/functionObjectAll.js +2 -1
- package/all.js +101 -22
- package/assign.js +19 -3
- 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 +107 -8
- package/dist/all.es.min.js +2 -2
- package/dist/all.js +107 -8
- package/dist/all.min.js +2 -2
- package/dist/all.mjs +107 -8
- 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 +30 -9
- package/dist/and.es.min.js +2 -2
- package/dist/and.js +30 -9
- package/dist/and.min.js +2 -2
- package/dist/and.mjs +30 -9
- package/dist/assign.es.js +3 -2
- package/dist/assign.es.min.js +2 -2
- package/dist/assign.js +3 -2
- package/dist/assign.min.js +2 -2
- package/dist/assign.mjs +3 -2
- package/dist/compose.es.js +17 -5
- package/dist/compose.es.min.js +2 -2
- package/dist/compose.js +17 -5
- package/dist/compose.min.js +2 -2
- package/dist/compose.mjs +17 -5
- 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 +17 -5
- package/dist/eq.es.min.js +2 -2
- package/dist/eq.js +17 -5
- package/dist/eq.min.js +2 -2
- package/dist/eq.mjs +17 -5
- 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 +17 -5
- package/dist/gt.es.min.js +2 -2
- package/dist/gt.js +17 -5
- package/dist/gt.min.js +2 -2
- package/dist/gt.mjs +17 -5
- package/dist/gte.es.js +17 -5
- package/dist/gte.es.min.js +2 -2
- package/dist/gte.js +17 -5
- package/dist/gte.min.js +2 -2
- package/dist/gte.mjs +17 -5
- package/dist/lt.es.js +17 -5
- package/dist/lt.es.min.js +2 -2
- package/dist/lt.js +17 -5
- package/dist/lt.min.js +2 -2
- package/dist/lt.mjs +17 -5
- package/dist/lte.es.js +17 -5
- package/dist/lte.es.min.js +2 -2
- package/dist/lte.js +17 -5
- package/dist/lte.min.js +2 -2
- package/dist/lte.mjs +17 -5
- 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 +17 -5
- package/dist/not.es.min.js +2 -2
- package/dist/not.js +17 -5
- package/dist/not.min.js +2 -2
- package/dist/not.mjs +17 -5
- 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 +30 -9
- package/dist/or.es.min.js +2 -2
- package/dist/or.js +30 -9
- package/dist/or.min.js +2 -2
- package/dist/or.mjs +30 -9
- 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 +17 -5
- package/dist/pipe.es.min.js +2 -2
- package/dist/pipe.js +17 -5
- package/dist/pipe.min.js +2 -2
- package/dist/pipe.mjs +17 -5
- 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 +170 -89
- package/dist/rubico.es.min.js +2 -2
- package/dist/rubico.global.js +170 -89
- package/dist/rubico.global.min.js +2 -2
- package/dist/rubico.js +170 -89
- package/dist/rubico.min.js +2 -2
- package/dist/rubico.mjs +170 -89
- 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 +30 -9
- package/dist/switchCase.es.min.js +2 -2
- package/dist/switchCase.js +30 -9
- package/dist/switchCase.min.js +2 -2
- package/dist/switchCase.mjs +30 -9
- package/dist/tap.es.js +80 -19
- package/dist/tap.es.min.js +2 -2
- package/dist/tap.js +80 -19
- package/dist/tap.min.js +2 -2
- package/dist/tap.mjs +80 -19
- package/dist/thunkify.es.js +17 -5
- package/dist/thunkify.es.min.js +2 -2
- package/dist/thunkify.js +17 -5
- package/dist/thunkify.min.js +2 -2
- package/dist/thunkify.mjs +17 -5
- 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 +17 -5
- package/dist/tryCatch.es.min.js +2 -2
- package/dist/tryCatch.js +17 -5
- package/dist/tryCatch.min.js +2 -2
- package/dist/tryCatch.mjs +17 -5
- 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 +15 -5
- package/dist/x/filterOut.es.min.js +2 -2
- package/dist/x/filterOut.js +15 -5
- package/dist/x/filterOut.min.js +2 -2
- package/dist/x/filterOut.mjs +15 -5
- 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 +82 -21
- package/dist/x/trace.es.min.js +2 -2
- package/dist/x/trace.js +82 -21
- package/dist/x/trace.min.js +2 -2
- package/dist/x/trace.mjs +82 -21
- 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 +170 -89
- package/index.js +170 -89
- package/package.json +1 -1
- package/tap.js +66 -28
package/dist/x/prepend.mjs
CHANGED
package/dist/x/size.es.js
CHANGED
package/dist/x/size.es.min.js
CHANGED
package/dist/x/size.js
CHANGED
package/dist/x/size.min.js
CHANGED
package/dist/x/size.mjs
CHANGED
package/dist/x/trace.es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.6.
|
|
2
|
+
* rubico v2.6.2
|
|
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,11 +100,54 @@ 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
|
+
|
|
134
|
+
const isArray = Array.isArray
|
|
135
|
+
|
|
103
136
|
const areAnyValuesPromises = function (values) {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
137
|
+
if (isArray(values)) {
|
|
138
|
+
const length = values.length
|
|
139
|
+
let index = -1
|
|
140
|
+
while (++index < length) {
|
|
141
|
+
const value = values[index]
|
|
142
|
+
if (isPromise(value)) {
|
|
143
|
+
return true
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
return false
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
for (const key in values) {
|
|
150
|
+
const value = values[key]
|
|
108
151
|
if (isPromise(value)) {
|
|
109
152
|
return true
|
|
110
153
|
}
|
|
@@ -114,32 +157,36 @@ const areAnyValuesPromises = function (values) {
|
|
|
114
157
|
|
|
115
158
|
const promiseAll = Promise.all.bind(Promise)
|
|
116
159
|
|
|
117
|
-
// _tap(args Array,
|
|
118
|
-
const _tap = function (args,
|
|
160
|
+
// _tap(args Array, f function) -> Promise|any
|
|
161
|
+
const _tap = function (args, f) {
|
|
119
162
|
const result = args[0],
|
|
120
|
-
call =
|
|
163
|
+
call = f(...args)
|
|
121
164
|
return isPromise(call) ? call.then(always(result)) : result
|
|
122
165
|
}
|
|
123
166
|
|
|
124
167
|
const tap = function (...args) {
|
|
125
|
-
const
|
|
168
|
+
const f = args.pop()
|
|
126
169
|
if (args.length == 0) {
|
|
127
|
-
return curryArgs2(_tap, __,
|
|
170
|
+
return curryArgs2(_tap, __, f)
|
|
128
171
|
}
|
|
129
172
|
if (areAnyValuesPromises(args)) {
|
|
130
|
-
return promiseAll(args).then(curry2(_tap, __,
|
|
173
|
+
return promiseAll(args).then(curry2(_tap, __, f))
|
|
131
174
|
}
|
|
132
|
-
return _tap(args,
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
const
|
|
137
|
-
if (isPromise(
|
|
138
|
-
return
|
|
139
|
-
thunkConditional,
|
|
175
|
+
return _tap(args, f)
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
const _tapIf = function (predicate, f, args) {
|
|
179
|
+
const b = predicate(...args)
|
|
180
|
+
if (isPromise(b)) {
|
|
181
|
+
return b.then(curry3(
|
|
182
|
+
thunkConditional,
|
|
183
|
+
__,
|
|
184
|
+
thunkifyArgs(tap(f), args),
|
|
185
|
+
always(args[0]),
|
|
186
|
+
))
|
|
140
187
|
}
|
|
141
|
-
if (
|
|
142
|
-
const execution =
|
|
188
|
+
if (b) {
|
|
189
|
+
const execution = f(...args)
|
|
143
190
|
if (isPromise(execution)) {
|
|
144
191
|
return execution.then(always(args[0]))
|
|
145
192
|
}
|
|
@@ -147,6 +194,20 @@ tap.if = (predicate, func) => function tappingIf(...args) {
|
|
|
147
194
|
return args[0]
|
|
148
195
|
}
|
|
149
196
|
|
|
197
|
+
tap.if = function (...args) {
|
|
198
|
+
if (args.length == 2) {
|
|
199
|
+
return curryArgs3(_tapIf, args[0], args[1], __)
|
|
200
|
+
}
|
|
201
|
+
const argsLength = args.length
|
|
202
|
+
const f = args[argsLength - 1]
|
|
203
|
+
const predicate = args[argsLength - 2]
|
|
204
|
+
const argValues = args.slice(0, -2)
|
|
205
|
+
if (areAnyValuesPromises(argValues)) {
|
|
206
|
+
return promiseAll(argValues).then(curry3(_tapIf, predicate, f, __))
|
|
207
|
+
}
|
|
208
|
+
return _tapIf(predicate, f, args)
|
|
209
|
+
}
|
|
210
|
+
|
|
150
211
|
// ...any => ()
|
|
151
212
|
const consoleLog = console.log
|
|
152
213
|
|
package/dist/x/trace.es.min.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.6.
|
|
2
|
+
* rubico v2.6.2
|
|
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.
|
|
6
6
|
*/
|
|
7
|
-
const isPromise=r=>null!=r&&"function"==typeof r.then,funcConcat=(r,n)=>function(...e){const t=r(...e);return isPromise(t)?t.then(n):n(t)},always=r=>function(){return r},thunkifyArgs=(r,n)=>function(){return r(...n)},thunkConditional=(r,n,e)=>r?n():e(),__=Symbol.for("placeholder"),curry2ResolveArg0=(r,n)=>function(e){return r(e,n)},curry2ResolveArg1=(r,n)=>function(e){return r(n,e)},curry2=function(r,n,e){return n==__?curry2ResolveArg0(r,e):curry2ResolveArg1(r,n)},curry3ResolveArg0=(r,n,e)=>function(t){return r(t,n,e)},curry3ResolveArg1=(r,n,e)=>function(t){return r(n,t,e)},curry3ResolveArg2=(r,n,e)=>function(t){return r(n,e,t)},curry3=function(r,n,e,t){return n==__?curry3ResolveArg0(r,e,t):e==__?curry3ResolveArg1(r,n,t):curry3ResolveArg2(r,n,e)},curryArgs2ResolveArgs0=(r,n,e)=>function(...e){return r(e,n)},curryArgs2ResolveArgs1=(r,n,e)=>function(...e){return r(n,e)},curryArgs2=function(r,n,e){return n==__?curryArgs2ResolveArgs0(r,e):curryArgs2ResolveArgs1(r,n)},areAnyValuesPromises=function(r){const n=r.length;let e=-1;for(;++e<n;){const n=r[e];if(isPromise(n))return!0}return!1},promiseAll=Promise.all.bind(Promise),_tap=function(r,n){const e=r[0],t=n(...r);return isPromise(t)?t.then(always(e)):e},tap=function(...r){const n=r.pop();return 0==r.length?curryArgs2(_tap,__,n):areAnyValuesPromises(r)?promiseAll(r).then(curry2(_tap,__,n)):_tap(r,n)}
|
|
7
|
+
const isPromise=r=>null!=r&&"function"==typeof r.then,funcConcat=(r,n)=>function(...e){const t=r(...e);return isPromise(t)?t.then(n):n(t)},always=r=>function(){return r},thunkifyArgs=(r,n)=>function(){return r(...n)},thunkConditional=(r,n,e)=>r?n():e(),__=Symbol.for("placeholder"),curry2ResolveArg0=(r,n)=>function(e){return r(e,n)},curry2ResolveArg1=(r,n)=>function(e){return r(n,e)},curry2=function(r,n,e){return n==__?curry2ResolveArg0(r,e):curry2ResolveArg1(r,n)},curry3ResolveArg0=(r,n,e)=>function(t){return r(t,n,e)},curry3ResolveArg1=(r,n,e)=>function(t){return r(n,t,e)},curry3ResolveArg2=(r,n,e)=>function(t){return r(n,e,t)},curry3=function(r,n,e,t){return n==__?curry3ResolveArg0(r,e,t):e==__?curry3ResolveArg1(r,n,t):curry3ResolveArg2(r,n,e)},curryArgs2ResolveArgs0=(r,n,e)=>function(...e){return r(e,n)},curryArgs2ResolveArgs1=(r,n,e)=>function(...e){return r(n,e)},curryArgs2=function(r,n,e){return n==__?curryArgs2ResolveArgs0(r,e):curryArgs2ResolveArgs1(r,n)},curryArgs3ResolveArgs0=(r,n,e)=>function(...t){return r(t,n,e)},curryArgs3ResolveArgs1=(r,n,e)=>function(...t){return r(n,t,e)},curryArgs3ResolveArgs2=(r,n,e)=>function(...t){return r(n,e,t)},curryArgs3=function(r,n,e,t){return n==__?curryArgs3ResolveArgs0(r,e,t):e==__?curryArgs3ResolveArgs1(r,n,t):curryArgs3ResolveArgs2(r,n,e)},isArray=Array.isArray,areAnyValuesPromises=function(r){if(isArray(r)){const n=r.length;let e=-1;for(;++e<n;){const n=r[e];if(isPromise(n))return!0}return!1}for(const n in r){const e=r[n];if(isPromise(e))return!0}return!1},promiseAll=Promise.all.bind(Promise),_tap=function(r,n){const e=r[0],t=n(...r);return isPromise(t)?t.then(always(e)):e},tap=function(...r){const n=r.pop();return 0==r.length?curryArgs2(_tap,__,n):areAnyValuesPromises(r)?promiseAll(r).then(curry2(_tap,__,n)):_tap(r,n)},_tapIf=function(r,n,e){const t=r(...e);if(isPromise(t))return t.then(curry3(thunkConditional,__,thunkifyArgs(tap(n),e),always(e[0])));if(t){const r=n(...e);if(isPromise(r))return r.then(always(e[0]))}return e[0]};tap.if=function(...r){if(2==r.length)return curryArgs3(_tapIf,r[0],r[1],__);const n=r.length,e=r[n-1],t=r[n-2],o=r.slice(0,-2);return areAnyValuesPromises(o)?promiseAll(o).then(curry3(_tapIf,t,e,__)):_tapIf(t,e,r)};const consoleLog=console.log,trace=function(...r){const n=r[0];return"function"==typeof n?tap(funcConcat(n,consoleLog)):tap(consoleLog)(...r)};export default trace;
|
package/dist/x/trace.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.6.
|
|
2
|
+
* rubico v2.6.2
|
|
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.
|
|
@@ -106,11 +106,54 @@ const curryArgs2 = function (baseFunc, arg0, arg1) {
|
|
|
106
106
|
return curryArgs2ResolveArgs1(baseFunc, arg0)
|
|
107
107
|
}
|
|
108
108
|
|
|
109
|
+
// argument resolver for curryArgs3
|
|
110
|
+
const curryArgs3ResolveArgs0 = (
|
|
111
|
+
baseFunc, arg1, arg2,
|
|
112
|
+
) => function args0Resolver(...args) {
|
|
113
|
+
return baseFunc(args, arg1, arg2)
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
// argument resolver for curryArgs3
|
|
117
|
+
const curryArgs3ResolveArgs1 = (
|
|
118
|
+
baseFunc, arg0, arg2,
|
|
119
|
+
) => function arg1Resolver(...args) {
|
|
120
|
+
return baseFunc(arg0, args, arg2)
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
// argument resolver for curryArgs3
|
|
124
|
+
const curryArgs3ResolveArgs2 = (
|
|
125
|
+
baseFunc, arg0, arg1,
|
|
126
|
+
) => function arg2Resolver(...args) {
|
|
127
|
+
return baseFunc(arg0, arg1, args)
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
const curryArgs3 = function (baseFunc, arg0, arg1, arg2) {
|
|
131
|
+
if (arg0 == __) {
|
|
132
|
+
return curryArgs3ResolveArgs0(baseFunc, arg1, arg2)
|
|
133
|
+
}
|
|
134
|
+
if (arg1 == __) {
|
|
135
|
+
return curryArgs3ResolveArgs1(baseFunc, arg0, arg2)
|
|
136
|
+
}
|
|
137
|
+
return curryArgs3ResolveArgs2(baseFunc, arg0, arg1)
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
const isArray = Array.isArray
|
|
141
|
+
|
|
109
142
|
const areAnyValuesPromises = function (values) {
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
143
|
+
if (isArray(values)) {
|
|
144
|
+
const length = values.length
|
|
145
|
+
let index = -1
|
|
146
|
+
while (++index < length) {
|
|
147
|
+
const value = values[index]
|
|
148
|
+
if (isPromise(value)) {
|
|
149
|
+
return true
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
return false
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
for (const key in values) {
|
|
156
|
+
const value = values[key]
|
|
114
157
|
if (isPromise(value)) {
|
|
115
158
|
return true
|
|
116
159
|
}
|
|
@@ -120,32 +163,36 @@ const areAnyValuesPromises = function (values) {
|
|
|
120
163
|
|
|
121
164
|
const promiseAll = Promise.all.bind(Promise)
|
|
122
165
|
|
|
123
|
-
// _tap(args Array,
|
|
124
|
-
const _tap = function (args,
|
|
166
|
+
// _tap(args Array, f function) -> Promise|any
|
|
167
|
+
const _tap = function (args, f) {
|
|
125
168
|
const result = args[0],
|
|
126
|
-
call =
|
|
169
|
+
call = f(...args)
|
|
127
170
|
return isPromise(call) ? call.then(always(result)) : result
|
|
128
171
|
}
|
|
129
172
|
|
|
130
173
|
const tap = function (...args) {
|
|
131
|
-
const
|
|
174
|
+
const f = args.pop()
|
|
132
175
|
if (args.length == 0) {
|
|
133
|
-
return curryArgs2(_tap, __,
|
|
176
|
+
return curryArgs2(_tap, __, f)
|
|
134
177
|
}
|
|
135
178
|
if (areAnyValuesPromises(args)) {
|
|
136
|
-
return promiseAll(args).then(curry2(_tap, __,
|
|
179
|
+
return promiseAll(args).then(curry2(_tap, __, f))
|
|
137
180
|
}
|
|
138
|
-
return _tap(args,
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
const
|
|
143
|
-
if (isPromise(
|
|
144
|
-
return
|
|
145
|
-
thunkConditional,
|
|
181
|
+
return _tap(args, f)
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
const _tapIf = function (predicate, f, args) {
|
|
185
|
+
const b = predicate(...args)
|
|
186
|
+
if (isPromise(b)) {
|
|
187
|
+
return b.then(curry3(
|
|
188
|
+
thunkConditional,
|
|
189
|
+
__,
|
|
190
|
+
thunkifyArgs(tap(f), args),
|
|
191
|
+
always(args[0]),
|
|
192
|
+
))
|
|
146
193
|
}
|
|
147
|
-
if (
|
|
148
|
-
const execution =
|
|
194
|
+
if (b) {
|
|
195
|
+
const execution = f(...args)
|
|
149
196
|
if (isPromise(execution)) {
|
|
150
197
|
return execution.then(always(args[0]))
|
|
151
198
|
}
|
|
@@ -153,6 +200,20 @@ tap.if = (predicate, func) => function tappingIf(...args) {
|
|
|
153
200
|
return args[0]
|
|
154
201
|
}
|
|
155
202
|
|
|
203
|
+
tap.if = function (...args) {
|
|
204
|
+
if (args.length == 2) {
|
|
205
|
+
return curryArgs3(_tapIf, args[0], args[1], __)
|
|
206
|
+
}
|
|
207
|
+
const argsLength = args.length
|
|
208
|
+
const f = args[argsLength - 1]
|
|
209
|
+
const predicate = args[argsLength - 2]
|
|
210
|
+
const argValues = args.slice(0, -2)
|
|
211
|
+
if (areAnyValuesPromises(argValues)) {
|
|
212
|
+
return promiseAll(argValues).then(curry3(_tapIf, predicate, f, __))
|
|
213
|
+
}
|
|
214
|
+
return _tapIf(predicate, f, args)
|
|
215
|
+
}
|
|
216
|
+
|
|
156
217
|
// ...any => ()
|
|
157
218
|
const consoleLog = console.log
|
|
158
219
|
|
package/dist/x/trace.min.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.6.
|
|
2
|
+
* rubico v2.6.2
|
|
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.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
!function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.trace=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=n=>function(){return n},
|
|
8
|
+
!function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.trace=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=n=>function(){return n},r=(n,t,r)=>n?t():r(),e=Symbol.for("placeholder"),o=function(n,t,r,o){return t==e?((n,t,r)=>function(e){return n(e,t,r)})(n,r,o):r==e?((n,t,r)=>function(e){return n(t,e,r)})(n,t,o):((n,t,r)=>function(e){return n(t,r,e)})(n,t,r)},u=Array.isArray,c=function(t){if(u(t)){const r=t.length;let e=-1;for(;++e<r;){const r=t[e];if(n(r))return!0}return!1}for(const r in t){const e=t[r];if(n(e))return!0}return!1},i=Promise.all.bind(Promise),f=function(r,e){const o=r[0],u=e(...r);return n(u)?u.then(t(o)):o},s=function(...n){const t=n.pop();return 0==n.length?(r=f,u=t,(o=e)==e?((n,t)=>function(...r){return n(r,t)})(r,u):((n,t)=>function(...r){return n(t,r)})(r,o)):c(n)?i(n).then(function(n,t,r){return t==e?((n,t)=>function(r){return n(r,t)})(n,r):((n,t)=>function(r){return n(t,r)})(n,t)}(f,e,t)):f(n,t);var r,o,u},l=function(u,c,i){const f=u(...i);if(n(f))return f.then(o(r,e,((n,t)=>function(){return n(...t)})(s(c),i),t(i[0])));if(f){const r=c(...i);if(n(r))return r.then(t(i[0]))}return i[0]};s.if=function(...n){if(2==n.length)return t=l,r=n[0],u=n[1],f=e,r==e?((n,t,r)=>function(...e){return n(e,t,r)})(t,u,f):u==e?((n,t,r)=>function(...e){return n(t,e,r)})(t,r,f):((n,t,r)=>function(...e){return n(t,r,e)})(t,r,u);var t,r,u,f;const s=n.length,h=n[s-1],a=n[s-2],p=n.slice(0,-2);return c(p)?i(p).then(o(l,a,h,e)):l(a,h,n)};const h=console.log;return function(...t){const r=t[0];return"function"==typeof r?s((e=r,o=h,function(...t){const r=e(...t);return n(r)?r.then(o):o(r)})):s(h)(...t);var e,o}}());
|
package/dist/x/trace.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.6.
|
|
2
|
+
* rubico v2.6.2
|
|
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,11 +100,54 @@ 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
|
+
|
|
134
|
+
const isArray = Array.isArray
|
|
135
|
+
|
|
103
136
|
const areAnyValuesPromises = function (values) {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
137
|
+
if (isArray(values)) {
|
|
138
|
+
const length = values.length
|
|
139
|
+
let index = -1
|
|
140
|
+
while (++index < length) {
|
|
141
|
+
const value = values[index]
|
|
142
|
+
if (isPromise(value)) {
|
|
143
|
+
return true
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
return false
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
for (const key in values) {
|
|
150
|
+
const value = values[key]
|
|
108
151
|
if (isPromise(value)) {
|
|
109
152
|
return true
|
|
110
153
|
}
|
|
@@ -114,32 +157,36 @@ const areAnyValuesPromises = function (values) {
|
|
|
114
157
|
|
|
115
158
|
const promiseAll = Promise.all.bind(Promise)
|
|
116
159
|
|
|
117
|
-
// _tap(args Array,
|
|
118
|
-
const _tap = function (args,
|
|
160
|
+
// _tap(args Array, f function) -> Promise|any
|
|
161
|
+
const _tap = function (args, f) {
|
|
119
162
|
const result = args[0],
|
|
120
|
-
call =
|
|
163
|
+
call = f(...args)
|
|
121
164
|
return isPromise(call) ? call.then(always(result)) : result
|
|
122
165
|
}
|
|
123
166
|
|
|
124
167
|
const tap = function (...args) {
|
|
125
|
-
const
|
|
168
|
+
const f = args.pop()
|
|
126
169
|
if (args.length == 0) {
|
|
127
|
-
return curryArgs2(_tap, __,
|
|
170
|
+
return curryArgs2(_tap, __, f)
|
|
128
171
|
}
|
|
129
172
|
if (areAnyValuesPromises(args)) {
|
|
130
|
-
return promiseAll(args).then(curry2(_tap, __,
|
|
173
|
+
return promiseAll(args).then(curry2(_tap, __, f))
|
|
131
174
|
}
|
|
132
|
-
return _tap(args,
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
const
|
|
137
|
-
if (isPromise(
|
|
138
|
-
return
|
|
139
|
-
thunkConditional,
|
|
175
|
+
return _tap(args, f)
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
const _tapIf = function (predicate, f, args) {
|
|
179
|
+
const b = predicate(...args)
|
|
180
|
+
if (isPromise(b)) {
|
|
181
|
+
return b.then(curry3(
|
|
182
|
+
thunkConditional,
|
|
183
|
+
__,
|
|
184
|
+
thunkifyArgs(tap(f), args),
|
|
185
|
+
always(args[0]),
|
|
186
|
+
))
|
|
140
187
|
}
|
|
141
|
-
if (
|
|
142
|
-
const execution =
|
|
188
|
+
if (b) {
|
|
189
|
+
const execution = f(...args)
|
|
143
190
|
if (isPromise(execution)) {
|
|
144
191
|
return execution.then(always(args[0]))
|
|
145
192
|
}
|
|
@@ -147,6 +194,20 @@ tap.if = (predicate, func) => function tappingIf(...args) {
|
|
|
147
194
|
return args[0]
|
|
148
195
|
}
|
|
149
196
|
|
|
197
|
+
tap.if = function (...args) {
|
|
198
|
+
if (args.length == 2) {
|
|
199
|
+
return curryArgs3(_tapIf, args[0], args[1], __)
|
|
200
|
+
}
|
|
201
|
+
const argsLength = args.length
|
|
202
|
+
const f = args[argsLength - 1]
|
|
203
|
+
const predicate = args[argsLength - 2]
|
|
204
|
+
const argValues = args.slice(0, -2)
|
|
205
|
+
if (areAnyValuesPromises(argValues)) {
|
|
206
|
+
return promiseAll(argValues).then(curry3(_tapIf, predicate, f, __))
|
|
207
|
+
}
|
|
208
|
+
return _tapIf(predicate, f, args)
|
|
209
|
+
}
|
|
210
|
+
|
|
150
211
|
// ...any => ()
|
|
151
212
|
const consoleLog = console.log
|
|
152
213
|
|
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