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/isString.js
CHANGED
package/dist/x/isString.min.js
CHANGED
package/dist/x/isString.mjs
CHANGED
package/dist/x/keys.es.js
CHANGED
package/dist/x/keys.es.min.js
CHANGED
package/dist/x/keys.js
CHANGED
package/dist/x/keys.min.js
CHANGED
package/dist/x/keys.mjs
CHANGED
package/dist/x/last.es.js
CHANGED
package/dist/x/last.es.min.js
CHANGED
package/dist/x/last.js
CHANGED
package/dist/x/last.min.js
CHANGED
package/dist/x/last.mjs
CHANGED
package/dist/x/maxBy.es.js
CHANGED
package/dist/x/maxBy.es.min.js
CHANGED
package/dist/x/maxBy.js
CHANGED
package/dist/x/maxBy.min.js
CHANGED
package/dist/x/maxBy.mjs
CHANGED
package/dist/x/noop.es.js
CHANGED
package/dist/x/noop.es.min.js
CHANGED
package/dist/x/noop.js
CHANGED
package/dist/x/noop.min.js
CHANGED
package/dist/x/noop.mjs
CHANGED
package/dist/x/pluck.es.js
CHANGED
package/dist/x/pluck.es.min.js
CHANGED
package/dist/x/pluck.js
CHANGED
package/dist/x/pluck.min.js
CHANGED
package/dist/x/pluck.mjs
CHANGED
package/dist/x/prepend.es.js
CHANGED
package/dist/x/prepend.es.min.js
CHANGED
package/dist/x/prepend.js
CHANGED
package/dist/x/prepend.min.js
CHANGED
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.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/trace.es.min.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
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.
|
|
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)},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)},_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.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.
|
|
@@ -106,6 +106,37 @@ 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
|
+
|
|
109
140
|
const areAnyValuesPromises = function (values) {
|
|
110
141
|
const length = values.length
|
|
111
142
|
let index = -1
|
|
@@ -120,32 +151,36 @@ const areAnyValuesPromises = function (values) {
|
|
|
120
151
|
|
|
121
152
|
const promiseAll = Promise.all.bind(Promise)
|
|
122
153
|
|
|
123
|
-
// _tap(args Array,
|
|
124
|
-
const _tap = function (args,
|
|
154
|
+
// _tap(args Array, f function) -> Promise|any
|
|
155
|
+
const _tap = function (args, f) {
|
|
125
156
|
const result = args[0],
|
|
126
|
-
call =
|
|
157
|
+
call = f(...args)
|
|
127
158
|
return isPromise(call) ? call.then(always(result)) : result
|
|
128
159
|
}
|
|
129
160
|
|
|
130
161
|
const tap = function (...args) {
|
|
131
|
-
const
|
|
162
|
+
const f = args.pop()
|
|
132
163
|
if (args.length == 0) {
|
|
133
|
-
return curryArgs2(_tap, __,
|
|
164
|
+
return curryArgs2(_tap, __, f)
|
|
134
165
|
}
|
|
135
166
|
if (areAnyValuesPromises(args)) {
|
|
136
|
-
return promiseAll(args).then(curry2(_tap, __,
|
|
167
|
+
return promiseAll(args).then(curry2(_tap, __, f))
|
|
137
168
|
}
|
|
138
|
-
return _tap(args,
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
const
|
|
143
|
-
if (isPromise(
|
|
144
|
-
return
|
|
145
|
-
thunkConditional,
|
|
169
|
+
return _tap(args, f)
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
const _tapIf = function (predicate, f, args) {
|
|
173
|
+
const b = predicate(...args)
|
|
174
|
+
if (isPromise(b)) {
|
|
175
|
+
return b.then(curry3(
|
|
176
|
+
thunkConditional,
|
|
177
|
+
__,
|
|
178
|
+
thunkifyArgs(tap(f), args),
|
|
179
|
+
always(args[0]),
|
|
180
|
+
))
|
|
146
181
|
}
|
|
147
|
-
if (
|
|
148
|
-
const execution =
|
|
182
|
+
if (b) {
|
|
183
|
+
const execution = f(...args)
|
|
149
184
|
if (isPromise(execution)) {
|
|
150
185
|
return execution.then(always(args[0]))
|
|
151
186
|
}
|
|
@@ -153,6 +188,20 @@ tap.if = (predicate, func) => function tappingIf(...args) {
|
|
|
153
188
|
return args[0]
|
|
154
189
|
}
|
|
155
190
|
|
|
191
|
+
tap.if = function (...args) {
|
|
192
|
+
if (args.length == 2) {
|
|
193
|
+
return curryArgs3(_tapIf, args[0], args[1], __)
|
|
194
|
+
}
|
|
195
|
+
const argsLength = args.length
|
|
196
|
+
const f = args[argsLength - 1]
|
|
197
|
+
const predicate = args[argsLength - 2]
|
|
198
|
+
const argValues = args.slice(0, -2)
|
|
199
|
+
if (areAnyValuesPromises(argValues)) {
|
|
200
|
+
return promiseAll(argValues).then(curry3(_tapIf, predicate, f, __))
|
|
201
|
+
}
|
|
202
|
+
return _tapIf(predicate, f, args)
|
|
203
|
+
}
|
|
204
|
+
|
|
156
205
|
// ...any => ()
|
|
157
206
|
const consoleLog = console.log
|
|
158
207
|
|
package/dist/x/trace.min.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
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.
|
|
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=function(t){const r=t.length;let e=-1;for(;++e<r;){const r=t[e];if(n(r))return!0}return!1},c=Promise.all.bind(Promise),i=function(r,e){const o=r[0],u=e(...r);return n(u)?u.then(t(o)):o},f=function(...n){const t=n.pop();return 0==n.length?(r=i,f=t,(o=e)==e?((n,t)=>function(...r){return n(r,t)})(r,f):((n,t)=>function(...r){return n(t,r)})(r,o)):u(n)?c(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)}(i,e,t)):i(n,t);var r,o,f},l=function(u,c,i){const l=u(...i);if(n(l))return l.then(o(r,e,((n,t)=>function(){return n(...t)})(f(c),i),t(i[0])));if(l){const r=c(...i);if(n(r))return r.then(t(i[0]))}return i[0]};f.if=function(...n){if(2==n.length)return t=l,r=n[0],i=n[1],f=e,r==e?((n,t,r)=>function(...e){return n(e,t,r)})(t,i,f):i==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,i);var t,r,i,f;const s=n.length,h=n[s-1],p=n[s-2],a=n.slice(0,-2);return u(a)?c(a).then(o(l,p,h,e)):l(p,h,n)};const s=console.log;return function(...t){const r=t[0];return"function"==typeof r?f((e=r,o=s,function(...t){const r=e(...t);return n(r)?r.then(o):o(r)})):f(s)(...t);var e,o}}());
|