rubico 2.5.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/_internal/arrayMapPool.js +11 -19
- package/_internal/mapMapPool.js +80 -0
- package/_internal/objectMapPool.js +77 -0
- package/_internal/objectMapSeries.js +1 -0
- package/_internal/setMapPool.js +79 -0
- package/_internal/stringMapPool.js +22 -0
- package/all.js +11 -1
- package/and.js +9 -0
- package/assign.js +14 -1
- package/compose.js +8 -0
- package/dist/Transducer.es.js +1 -1
- package/dist/Transducer.es.min.js +1 -1
- package/dist/Transducer.js +1 -1
- package/dist/Transducer.min.js +1 -1
- package/dist/Transducer.mjs +1 -1
- package/dist/__.es.js +1 -1
- package/dist/__.es.min.js +1 -1
- package/dist/__.js +1 -1
- package/dist/__.min.js +1 -1
- package/dist/__.mjs +1 -1
- package/dist/all.es.js +1 -1
- package/dist/all.es.min.js +1 -1
- package/dist/all.js +1 -1
- package/dist/all.min.js +1 -1
- package/dist/all.mjs +1 -1
- package/dist/always.es.js +1 -1
- package/dist/always.es.min.js +1 -1
- package/dist/always.js +1 -1
- package/dist/always.min.js +1 -1
- package/dist/always.mjs +1 -1
- package/dist/and.es.js +1 -1
- package/dist/and.es.min.js +1 -1
- package/dist/and.js +1 -1
- package/dist/and.min.js +1 -1
- package/dist/and.mjs +1 -1
- package/dist/assign.es.js +1 -1
- package/dist/assign.es.min.js +1 -1
- package/dist/assign.js +1 -1
- package/dist/assign.min.js +1 -1
- package/dist/assign.mjs +1 -1
- package/dist/compose.es.js +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 +3 -2
- package/dist/forEach.es.min.js +2 -2
- package/dist/forEach.js +3 -2
- package/dist/forEach.min.js +2 -2
- package/dist/forEach.mjs +3 -2
- 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 +221 -44
- package/dist/map.es.min.js +2 -2
- package/dist/map.js +221 -44
- package/dist/map.min.js +2 -2
- package/dist/map.mjs +221 -44
- 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 +259 -60
- package/dist/rubico.es.min.js +2 -2
- package/dist/rubico.global.js +259 -60
- package/dist/rubico.global.min.js +2 -2
- package/dist/rubico.js +259 -60
- package/dist/rubico.min.js +2 -2
- package/dist/rubico.mjs +259 -60
- 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 +100 -14
- package/dist/tap.es.min.js +2 -2
- package/dist/tap.js +100 -14
- package/dist/tap.min.js +2 -2
- package/dist/tap.mjs +100 -14
- 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 +221 -44
- package/dist/x/pluck.es.min.js +2 -2
- package/dist/x/pluck.js +221 -44
- package/dist/x/pluck.min.js +2 -2
- package/dist/x/pluck.mjs +221 -44
- 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 +100 -14
- package/dist/x/trace.es.min.js +2 -2
- package/dist/x/trace.js +100 -14
- package/dist/x/trace.min.js +2 -2
- package/dist/x/trace.mjs +100 -14
- package/dist/x/unionWith.es.js +1 -1
- package/dist/x/unionWith.es.min.js +1 -1
- package/dist/x/unionWith.js +1 -1
- package/dist/x/unionWith.min.js +1 -1
- package/dist/x/unionWith.mjs +1 -1
- package/dist/x/uniq.es.js +1 -1
- package/dist/x/uniq.es.min.js +1 -1
- package/dist/x/uniq.js +1 -1
- package/dist/x/uniq.min.js +1 -1
- package/dist/x/uniq.mjs +1 -1
- package/dist/x/unless.es.js +1 -1
- package/dist/x/unless.es.min.js +1 -1
- package/dist/x/unless.js +1 -1
- package/dist/x/unless.min.js +1 -1
- package/dist/x/unless.mjs +1 -1
- package/dist/x/values.es.js +1 -1
- package/dist/x/values.es.min.js +1 -1
- package/dist/x/values.js +1 -1
- package/dist/x/values.min.js +1 -1
- package/dist/x/values.mjs +1 -1
- package/dist/x/when.es.js +1 -1
- package/dist/x/when.es.min.js +1 -1
- package/dist/x/when.js +1 -1
- package/dist/x/when.min.js +1 -1
- package/dist/x/when.mjs +1 -1
- package/eq.js +6 -0
- package/es.js +259 -60
- package/every.js +6 -0
- package/filter.js +9 -0
- package/flatMap.js +7 -0
- package/forEach.js +20 -1
- package/get.js +6 -0
- package/gt.js +6 -0
- package/gte.js +6 -0
- package/index.js +259 -60
- package/lt.js +6 -0
- package/lte.js +6 -0
- package/map.js +118 -45
- package/not.js +8 -0
- package/omit.js +7 -0
- package/or.js +9 -0
- package/package.json +1 -1
- package/pick.js +7 -0
- package/pipe.js +8 -0
- package/reduce.js +8 -0
- package/set.js +6 -0
- package/some.js +6 -0
- package/switchCase.js +12 -0
- package/tap.js +75 -26
- package/transform.js +38 -10
- package/tryCatch.js +14 -0
package/dist/x/trace.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.
|
|
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.
|
|
@@ -34,6 +34,26 @@ const thunkConditional = (
|
|
|
34
34
|
|
|
35
35
|
const __ = Symbol.for('placeholder')
|
|
36
36
|
|
|
37
|
+
// argument resolver for curry2
|
|
38
|
+
const curry2ResolveArg0 = (
|
|
39
|
+
baseFunc, arg1,
|
|
40
|
+
) => function arg0Resolver(arg0) {
|
|
41
|
+
return baseFunc(arg0, arg1)
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
// argument resolver for curry2
|
|
45
|
+
const curry2ResolveArg1 = (
|
|
46
|
+
baseFunc, arg0,
|
|
47
|
+
) => function arg1Resolver(arg1) {
|
|
48
|
+
return baseFunc(arg0, arg1)
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
const curry2 = function (baseFunc, arg0, arg1) {
|
|
52
|
+
return arg0 == __
|
|
53
|
+
? curry2ResolveArg0(baseFunc, arg1)
|
|
54
|
+
: curry2ResolveArg1(baseFunc, arg0)
|
|
55
|
+
}
|
|
56
|
+
|
|
37
57
|
// argument resolver for curry3
|
|
38
58
|
const curry3ResolveArg0 = (
|
|
39
59
|
baseFunc, arg1, arg2,
|
|
@@ -86,29 +106,81 @@ const curryArgs2 = function (baseFunc, arg0, arg1) {
|
|
|
86
106
|
return curryArgs2ResolveArgs1(baseFunc, arg0)
|
|
87
107
|
}
|
|
88
108
|
|
|
89
|
-
//
|
|
90
|
-
const
|
|
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 areAnyValuesPromises = function (values) {
|
|
141
|
+
const length = values.length
|
|
142
|
+
let index = -1
|
|
143
|
+
while (++index < length) {
|
|
144
|
+
const value = values[index]
|
|
145
|
+
if (isPromise(value)) {
|
|
146
|
+
return true
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return false
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
const promiseAll = Promise.all.bind(Promise)
|
|
153
|
+
|
|
154
|
+
// _tap(args Array, f function) -> Promise|any
|
|
155
|
+
const _tap = function (args, f) {
|
|
91
156
|
const result = args[0],
|
|
92
|
-
call =
|
|
157
|
+
call = f(...args)
|
|
93
158
|
return isPromise(call) ? call.then(always(result)) : result
|
|
94
159
|
}
|
|
95
160
|
|
|
96
161
|
const tap = function (...args) {
|
|
97
|
-
const
|
|
162
|
+
const f = args.pop()
|
|
98
163
|
if (args.length == 0) {
|
|
99
|
-
return curryArgs2(_tap, __,
|
|
164
|
+
return curryArgs2(_tap, __, f)
|
|
165
|
+
}
|
|
166
|
+
if (areAnyValuesPromises(args)) {
|
|
167
|
+
return promiseAll(args).then(curry2(_tap, __, f))
|
|
100
168
|
}
|
|
101
|
-
return _tap(args,
|
|
169
|
+
return _tap(args, f)
|
|
102
170
|
}
|
|
103
171
|
|
|
104
|
-
|
|
105
|
-
const
|
|
106
|
-
if (isPromise(
|
|
107
|
-
return
|
|
108
|
-
thunkConditional,
|
|
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
|
+
))
|
|
109
181
|
}
|
|
110
|
-
if (
|
|
111
|
-
const execution =
|
|
182
|
+
if (b) {
|
|
183
|
+
const execution = f(...args)
|
|
112
184
|
if (isPromise(execution)) {
|
|
113
185
|
return execution.then(always(args[0]))
|
|
114
186
|
}
|
|
@@ -116,6 +188,20 @@ tap.if = (predicate, func) => function tappingIf(...args) {
|
|
|
116
188
|
return args[0]
|
|
117
189
|
}
|
|
118
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
|
+
|
|
119
205
|
// ...any => ()
|
|
120
206
|
const consoleLog = console.log
|
|
121
207
|
|
package/dist/x/trace.min.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.
|
|
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}}());
|
package/dist/x/trace.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.
|
|
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.
|
|
@@ -28,6 +28,26 @@ const thunkConditional = (
|
|
|
28
28
|
|
|
29
29
|
const __ = Symbol.for('placeholder')
|
|
30
30
|
|
|
31
|
+
// argument resolver for curry2
|
|
32
|
+
const curry2ResolveArg0 = (
|
|
33
|
+
baseFunc, arg1,
|
|
34
|
+
) => function arg0Resolver(arg0) {
|
|
35
|
+
return baseFunc(arg0, arg1)
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// argument resolver for curry2
|
|
39
|
+
const curry2ResolveArg1 = (
|
|
40
|
+
baseFunc, arg0,
|
|
41
|
+
) => function arg1Resolver(arg1) {
|
|
42
|
+
return baseFunc(arg0, arg1)
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const curry2 = function (baseFunc, arg0, arg1) {
|
|
46
|
+
return arg0 == __
|
|
47
|
+
? curry2ResolveArg0(baseFunc, arg1)
|
|
48
|
+
: curry2ResolveArg1(baseFunc, arg0)
|
|
49
|
+
}
|
|
50
|
+
|
|
31
51
|
// argument resolver for curry3
|
|
32
52
|
const curry3ResolveArg0 = (
|
|
33
53
|
baseFunc, arg1, arg2,
|
|
@@ -80,29 +100,81 @@ const curryArgs2 = function (baseFunc, arg0, arg1) {
|
|
|
80
100
|
return curryArgs2ResolveArgs1(baseFunc, arg0)
|
|
81
101
|
}
|
|
82
102
|
|
|
83
|
-
//
|
|
84
|
-
const
|
|
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 areAnyValuesPromises = function (values) {
|
|
135
|
+
const length = values.length
|
|
136
|
+
let index = -1
|
|
137
|
+
while (++index < length) {
|
|
138
|
+
const value = values[index]
|
|
139
|
+
if (isPromise(value)) {
|
|
140
|
+
return true
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
return false
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
const promiseAll = Promise.all.bind(Promise)
|
|
147
|
+
|
|
148
|
+
// _tap(args Array, f function) -> Promise|any
|
|
149
|
+
const _tap = function (args, f) {
|
|
85
150
|
const result = args[0],
|
|
86
|
-
call =
|
|
151
|
+
call = f(...args)
|
|
87
152
|
return isPromise(call) ? call.then(always(result)) : result
|
|
88
153
|
}
|
|
89
154
|
|
|
90
155
|
const tap = function (...args) {
|
|
91
|
-
const
|
|
156
|
+
const f = args.pop()
|
|
92
157
|
if (args.length == 0) {
|
|
93
|
-
return curryArgs2(_tap, __,
|
|
158
|
+
return curryArgs2(_tap, __, f)
|
|
159
|
+
}
|
|
160
|
+
if (areAnyValuesPromises(args)) {
|
|
161
|
+
return promiseAll(args).then(curry2(_tap, __, f))
|
|
94
162
|
}
|
|
95
|
-
return _tap(args,
|
|
163
|
+
return _tap(args, f)
|
|
96
164
|
}
|
|
97
165
|
|
|
98
|
-
|
|
99
|
-
const
|
|
100
|
-
if (isPromise(
|
|
101
|
-
return
|
|
102
|
-
thunkConditional,
|
|
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
|
+
))
|
|
103
175
|
}
|
|
104
|
-
if (
|
|
105
|
-
const execution =
|
|
176
|
+
if (b) {
|
|
177
|
+
const execution = f(...args)
|
|
106
178
|
if (isPromise(execution)) {
|
|
107
179
|
return execution.then(always(args[0]))
|
|
108
180
|
}
|
|
@@ -110,6 +182,20 @@ tap.if = (predicate, func) => function tappingIf(...args) {
|
|
|
110
182
|
return args[0]
|
|
111
183
|
}
|
|
112
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
|
+
|
|
113
199
|
// ...any => ()
|
|
114
200
|
const consoleLog = console.log
|
|
115
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/eq.js
CHANGED
|
@@ -48,6 +48,12 @@ const equals = require('./_internal/equals')
|
|
|
48
48
|
* ])
|
|
49
49
|
* ```
|
|
50
50
|
*
|
|
51
|
+
* Any promises passed in argument position are resolved for their values before further execution. This only applies to the eager version of the API.
|
|
52
|
+
*
|
|
53
|
+
* ```javascript [playground]
|
|
54
|
+
* eq(Promise.resolve({ a: 1, b: 1 }), get('a'), get('b')).then(console.log) // true
|
|
55
|
+
* ```
|
|
56
|
+
*
|
|
51
57
|
* @execution concurrent
|
|
52
58
|
*/
|
|
53
59
|
|