rubico 2.8.5 → 2.10.0
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/README.md +2 -1
- package/_internal/FlatMappingAsyncIterator.js +41 -30
- package/_internal/LinkedList.js +54 -0
- package/_internal/LinkedList.test.js +34 -0
- package/_internal/MappingAsyncIterator.js +65 -15
- package/_internal/SerialMappingAsyncIterator.js +79 -0
- package/_internal/curryArity.js +3 -3
- package/_internal/iteratorFind.js +0 -2
- package/_internal/iteratorForEachSeries.js +1 -1
- package/_internal/objectFlatten.js +4 -1
- package/all.js +33 -59
- package/and.js +1 -1
- package/assign.js +14 -16
- package/compose.js +12 -13
- package/curry.js +1 -1
- 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 +4 -4
- package/dist/curry.es.min.js +2 -2
- package/dist/curry.js +4 -4
- package/dist/curry.min.js +2 -2
- package/dist/curry.mjs +4 -4
- 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 +4 -4
- package/dist/filter.es.min.js +2 -2
- package/dist/filter.js +4 -4
- package/dist/filter.min.js +2 -2
- package/dist/filter.mjs +4 -4
- package/dist/flatMap.es.js +44 -28
- package/dist/flatMap.es.min.js +2 -2
- package/dist/flatMap.js +44 -28
- package/dist/flatMap.min.js +2 -2
- package/dist/flatMap.mjs +44 -28
- package/dist/forEach.es.js +6 -6
- package/dist/forEach.es.min.js +2 -2
- package/dist/forEach.js +6 -6
- package/dist/forEach.min.js +2 -2
- package/dist/forEach.mjs +6 -6
- package/dist/get.es.js +27 -3
- package/dist/get.es.min.js +2 -2
- package/dist/get.js +27 -3
- package/dist/get.min.js +2 -2
- package/dist/get.mjs +27 -3
- 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 +190 -42
- package/dist/map.es.min.js +2 -2
- package/dist/map.js +190 -42
- package/dist/map.min.js +2 -2
- package/dist/map.mjs +190 -42
- 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 +238 -83
- package/dist/rubico.es.min.js +2 -2
- package/dist/rubico.global.js +238 -83
- package/dist/rubico.global.min.js +2 -2
- package/dist/rubico.js +238 -83
- package/dist/rubico.min.js +2 -2
- package/dist/rubico.mjs +238 -83
- 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 +1 -1
- package/dist/tap.es.min.js +1 -1
- package/dist/tap.js +1 -1
- package/dist/tap.min.js +1 -1
- package/dist/tap.mjs +1 -1
- 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 +4 -4
- package/dist/x/filterOut.es.min.js +2 -2
- package/dist/x/filterOut.js +4 -4
- package/dist/x/filterOut.min.js +2 -2
- package/dist/x/filterOut.mjs +4 -4
- package/dist/x/find.es.js +1 -3
- package/dist/x/find.es.min.js +1 -1
- package/dist/x/find.js +1 -3
- package/dist/x/find.min.js +1 -1
- package/dist/x/find.mjs +1 -3
- 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 +44 -28
- package/dist/x/flatten.es.min.js +2 -2
- package/dist/x/flatten.js +44 -28
- package/dist/x/flatten.min.js +2 -2
- package/dist/x/flatten.mjs +44 -28
- 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 +27 -23
- package/dist/x/maxBy.es.min.js +2 -2
- package/dist/x/maxBy.js +27 -23
- package/dist/x/maxBy.min.js +2 -2
- package/dist/x/maxBy.mjs +27 -23
- 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 +194 -44
- package/dist/x/pluck.es.min.js +2 -2
- package/dist/x/pluck.js +194 -44
- package/dist/x/pluck.min.js +2 -2
- package/dist/x/pluck.mjs +194 -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 +1 -1
- package/dist/x/trace.es.min.js +1 -1
- package/dist/x/trace.js +1 -1
- package/dist/x/trace.min.js +1 -1
- package/dist/x/trace.mjs +1 -1
- 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 +2 -2
- package/es.js +238 -83
- package/every.js +2 -2
- package/filter.js +4 -4
- package/flatMap.js +61 -54
- package/forEach.js +33 -56
- package/get.js +49 -25
- package/gt.js +2 -2
- package/gte.js +2 -2
- package/index.js +238 -83
- package/lt.js +2 -2
- package/lte.js +2 -2
- package/map.js +115 -151
- package/monad/Mux.js +6 -4
- package/monad/PossiblePromise.js +6 -4
- package/monad/README.md +61 -40
- package/monad/Struct.js +6 -4
- package/not.js +1 -1
- package/omit.js +22 -19
- package/or.js +1 -1
- package/package.json +1 -1
- package/pick.js +14 -11
- package/pipe.js +18 -24
- package/reduce.js +1 -1
- package/set.js +17 -18
- package/some.js +2 -2
- package/switchCase.js +51 -43
- package/tap.js +17 -23
- package/transform.js +1 -1
- package/tryCatch.js +16 -24
- package/x/defaultsDeep.js +1 -1
- package/x/defaultsDeep.test.js +1 -1
- package/_internal/NextIteration.js +0 -12
- package/_internal/generatorFunctionFilter.js +0 -28
- package/_internal/iterationMap.js +0 -27
package/compose.js
CHANGED
|
@@ -10,31 +10,30 @@ const funcConcat = require('./_internal/funcConcat')
|
|
|
10
10
|
*
|
|
11
11
|
* @synopsis
|
|
12
12
|
* ```coffeescript [specscript]
|
|
13
|
-
*
|
|
14
|
-
* argsOrPromises Array<Promise|any>
|
|
15
|
-
*
|
|
16
|
-
* type SyncOrAsyncFunction = (...args)=>Promise|any
|
|
13
|
+
* type SyncOrAsyncFunction = (...arguments)=>Promise|any
|
|
17
14
|
* type UnarySyncOrAsyncFunction = any=>Promise|any
|
|
18
15
|
*
|
|
19
16
|
* funcs [SyncOrAsyncFunction, ...Array<UnarySyncOrAsyncFunction>]
|
|
20
17
|
*
|
|
21
|
-
* compose(funcs)(...
|
|
22
|
-
* compose(...
|
|
23
|
-
* compose(...funcs)(...
|
|
18
|
+
* compose(funcs)(...arguments) -> Promise|any
|
|
19
|
+
* compose(...arguments, funcs) -> Promise|any
|
|
20
|
+
* compose(...funcs)(...arguments) -> Promise|any
|
|
24
21
|
* ```
|
|
25
22
|
*
|
|
26
23
|
* @description
|
|
27
|
-
* Creates a function composition from multiple functions. Each function in the composition is evaluated starting from the last function in the composition
|
|
24
|
+
* Creates a function composition from multiple functions. Each function in the function composition is evaluated in series starting from the last function in the function composition, passing its return value as the first and only argument to the previous function in the function composition. The result of the execution of a function composition is the return value of the first function in the function composition. If any function in the function composition is asynchronous, the result of the execution of the function composition is a promise.
|
|
25
|
+
*
|
|
26
|
+
* Multiple arguments may be provided to a function composition, in which case they are passed directly to the last function in the function composition.
|
|
28
27
|
*
|
|
29
28
|
* ```javascript [playground]
|
|
30
29
|
* const f = x => x * 2
|
|
31
30
|
* const g = x => x + 3
|
|
32
31
|
*
|
|
33
32
|
* const result = compose(5, [f, g])
|
|
34
|
-
* console.log(result)
|
|
33
|
+
* console.log(result)
|
|
35
34
|
* ```
|
|
36
35
|
*
|
|
37
|
-
* `compose`
|
|
36
|
+
* Functions may be passed to `compose` as arguments instead of as items of an array.
|
|
38
37
|
*
|
|
39
38
|
* ```javascript [playground]
|
|
40
39
|
* const f = x => x * 2
|
|
@@ -42,14 +41,14 @@ const funcConcat = require('./_internal/funcConcat')
|
|
|
42
41
|
*
|
|
43
42
|
* const composition = compose(f, g)
|
|
44
43
|
*
|
|
45
|
-
* console.log(composition(1))
|
|
44
|
+
* console.log(composition(1))
|
|
46
45
|
* ```
|
|
47
46
|
*
|
|
48
|
-
* Any promises
|
|
47
|
+
* Any promises in `arguments` are resolved for their values before further execution for the eager interface only.
|
|
49
48
|
*
|
|
50
49
|
* ```javascript [playground]
|
|
51
50
|
* compose(Promise.resolve(1), 2, Promise.resolve(3), [
|
|
52
|
-
* console.log,
|
|
51
|
+
* console.log,
|
|
53
52
|
* ])
|
|
54
53
|
* ```
|
|
55
54
|
*
|
package/curry.js
CHANGED
|
@@ -37,7 +37,7 @@ const curryArity = require('./_internal/curryArity')
|
|
|
37
37
|
* console.log(curry(add, __, __, 'c')(__, 'b')('a'))
|
|
38
38
|
* ```
|
|
39
39
|
*
|
|
40
|
-
* Any promises passed in argument position are resolved for their values before further execution.
|
|
40
|
+
* Any promises passed in data argument position are resolved for their values before further execution.
|
|
41
41
|
*
|
|
42
42
|
* ```javascript [playground]
|
|
43
43
|
* const add = (a, b, c) => a + b + c
|
package/dist/Transducer.es.js
CHANGED
package/dist/Transducer.js
CHANGED
package/dist/Transducer.min.js
CHANGED
package/dist/Transducer.mjs
CHANGED
package/dist/__.es.js
CHANGED
package/dist/__.es.min.js
CHANGED
package/dist/__.js
CHANGED
package/dist/__.min.js
CHANGED
package/dist/__.mjs
CHANGED
package/dist/all.es.js
CHANGED
package/dist/all.es.min.js
CHANGED
package/dist/all.js
CHANGED
package/dist/all.min.js
CHANGED
package/dist/all.mjs
CHANGED
package/dist/always.es.js
CHANGED
package/dist/always.es.min.js
CHANGED
package/dist/always.js
CHANGED
package/dist/always.min.js
CHANGED
package/dist/always.mjs
CHANGED
package/dist/and.es.js
CHANGED
package/dist/and.es.min.js
CHANGED
package/dist/and.js
CHANGED
package/dist/and.min.js
CHANGED
package/dist/and.mjs
CHANGED
package/dist/assign.es.js
CHANGED
package/dist/assign.es.min.js
CHANGED
package/dist/assign.js
CHANGED
package/dist/assign.min.js
CHANGED
package/dist/assign.mjs
CHANGED
package/dist/compose.es.js
CHANGED
package/dist/compose.es.min.js
CHANGED
package/dist/compose.js
CHANGED
package/dist/compose.min.js
CHANGED
package/dist/compose.mjs
CHANGED
package/dist/curry.es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Rubico v2.
|
|
2
|
+
* Rubico v2.10.0
|
|
3
3
|
* https://rubico.land/
|
|
4
4
|
*
|
|
5
5
|
* © Richard Yufei Tong, King of Software
|
|
@@ -118,7 +118,7 @@ const _curryArity = (arity, func, context, args) => function curried(...curriedA
|
|
|
118
118
|
curriedArgsIndex = -1,
|
|
119
119
|
numCurriedPlaceholders = 0
|
|
120
120
|
|
|
121
|
-
while (
|
|
121
|
+
while ((argsIndex += 1) < argsLength) {
|
|
122
122
|
const arg = args[argsIndex]
|
|
123
123
|
if (arg == __ && (curriedArgsIndex += 1) < curriedArgsLength) {
|
|
124
124
|
const curriedArg = curriedArgs[curriedArgsIndex]
|
|
@@ -142,7 +142,7 @@ const _curryArity = (arity, func, context, args) => function curried(...curriedA
|
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
144
|
|
|
145
|
-
while (
|
|
145
|
+
while ((curriedArgsIndex += 1) < curriedArgsLength) {
|
|
146
146
|
const curriedArg = curriedArgs[curriedArgsIndex]
|
|
147
147
|
if (curriedArg == __) {
|
|
148
148
|
numCurriedPlaceholders += 1
|
|
@@ -172,7 +172,7 @@ const curryArity = function (arity, func, context, args) {
|
|
|
172
172
|
return _curryArity(arity, func, context, args)
|
|
173
173
|
}
|
|
174
174
|
let argsIndex = -1
|
|
175
|
-
while (
|
|
175
|
+
while ((argsIndex += 1) < argsLength) {
|
|
176
176
|
const arg = args[argsIndex]
|
|
177
177
|
if (arg == __) {
|
|
178
178
|
return _curryArity(arity, func, context, args)
|
package/dist/curry.es.min.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Rubico v2.
|
|
2
|
+
* Rubico v2.10.0
|
|
3
3
|
* https://rubico.land/
|
|
4
4
|
*
|
|
5
5
|
* © Richard Yufei Tong, King of Software
|
|
6
6
|
* Rubico may be freely distributed under the CFOSS license.
|
|
7
7
|
*/
|
|
8
|
-
const isArray=Array.isArray,isPromise=r=>null!=r&&"function"==typeof r.then,areAnyValuesPromises=function(r){if(isArray(r)){const e=r.length;let u=-1;for(;++u<e;){const e=r[u];if(isPromise(e))return!0}return!1}for(const e in r){const u=r[e];if(isPromise(u))return!0}return!1},promiseAll=Promise.all.bind(Promise),__=Symbol.for("placeholder"),curry4ResolveArg0=(r,e,u,n)=>function(t){return r(t,e,u,n)},curry4ResolveArg1=(r,e,u,n)=>function(t){return r(e,t,u,n)},curry4ResolveArg2=(r,e,u,n)=>function(t){return r(e,u,t,n)},curry4ResolveArg3=(r,e,u,n)=>function(t){return r(e,u,n,t)},curry4=function(r,e,u,n,t){return e==__?curry4ResolveArg0(r,u,n,t):u==__?curry4ResolveArg1(r,e,n,t):n==__?curry4ResolveArg2(r,e,u,t):curry4ResolveArg3(r,e,u,n)},curry3ResolveArg0=(r,e,u)=>function(n){return r(n,e,u)},curry3ResolveArg1=(r,e,u)=>function(n){return r(e,n,u)},curry3ResolveArg2=(r,e,u)=>function(n){return r(e,u,n)},curry3=function(r,e,u,n){return e==__?curry3ResolveArg0(r,u,n):u==__?curry3ResolveArg1(r,e,n):curry3ResolveArg2(r,e,u)},funcApply2=(r,e,u)=>r.apply(e,u),_curryArity=(r,e,u,n)=>function(...t){const y=n.length,c=t.length,i=[];let s=-1,l=-1,o=0;for(
|
|
8
|
+
const isArray=Array.isArray,isPromise=r=>null!=r&&"function"==typeof r.then,areAnyValuesPromises=function(r){if(isArray(r)){const e=r.length;let u=-1;for(;++u<e;){const e=r[u];if(isPromise(e))return!0}return!1}for(const e in r){const u=r[e];if(isPromise(u))return!0}return!1},promiseAll=Promise.all.bind(Promise),__=Symbol.for("placeholder"),curry4ResolveArg0=(r,e,u,n)=>function(t){return r(t,e,u,n)},curry4ResolveArg1=(r,e,u,n)=>function(t){return r(e,t,u,n)},curry4ResolveArg2=(r,e,u,n)=>function(t){return r(e,u,t,n)},curry4ResolveArg3=(r,e,u,n)=>function(t){return r(e,u,n,t)},curry4=function(r,e,u,n,t){return e==__?curry4ResolveArg0(r,u,n,t):u==__?curry4ResolveArg1(r,e,n,t):n==__?curry4ResolveArg2(r,e,u,t):curry4ResolveArg3(r,e,u,n)},curry3ResolveArg0=(r,e,u)=>function(n){return r(n,e,u)},curry3ResolveArg1=(r,e,u)=>function(n){return r(e,n,u)},curry3ResolveArg2=(r,e,u)=>function(n){return r(e,u,n)},curry3=function(r,e,u,n){return e==__?curry3ResolveArg0(r,u,n):u==__?curry3ResolveArg1(r,e,n):curry3ResolveArg2(r,e,u)},funcApply2=(r,e,u)=>r.apply(e,u),_curryArity=(r,e,u,n)=>function(...t){const y=n.length,c=t.length,i=[];let s=-1,l=-1,o=0;for(;(s+=1)<y;){const y=n[s];if(y==__&&(l+=1)<c){const r=t[l];r==__&&(o+=1),i.push(r)}else i.push(y);if(i.length==r)return areAnyValuesPromises(i)?0==o?promiseAll(i).then(curry3(funcApply2,e,u,__)):promiseAll(i).then(curry4(curryArity,r,e,u,__)):0==o?e.apply(u,i):curryArity(r,e,u,i)}for(;(l+=1)<c;){const n=t[l];if(n==__&&(o+=1),i.push(n),i.length==r)return areAnyValuesPromises(i)?0==o?promiseAll(i).then(curry3(funcApply2,e,u,__)):promiseAll(i).then(curry4(curryArity,r,e,u,__)):0==o?e.apply(u,i):curryArity(r,e,u,i)}return areAnyValuesPromises(i)?promiseAll(i).then(curry4(curryArity,r,e,u,__)):curryArity(r,e,u,i)},curryArity=function(r,e,u,n){const t=n.length;if(t<r)return _curryArity(r,e,u,n);let y=-1;for(;(y+=1)<t;){if(n[y]==__)return _curryArity(r,e,u,n)}return e.apply(u,n)},curry=(r,...e)=>areAnyValuesPromises(e)?promiseAll(e).then(curry4(curryArity,r.length,r,this,__)):curryArity(r.length,r,this,e);curry.arity=function(r,e,...u){return areAnyValuesPromises(u)?promiseAll(u).then(curry4(curryArity,r,e,this,__)):curryArity(r,e,this,u)},curry.call=function(r,e,...u){return areAnyValuesPromises(u)?promiseAll(u).then(curry4(curryArity,r.length,r,e,__)):curryArity(r.length,r,e,u)};export default curry;
|
package/dist/curry.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Rubico v2.
|
|
2
|
+
* Rubico v2.10.0
|
|
3
3
|
* https://rubico.land/
|
|
4
4
|
*
|
|
5
5
|
* © Richard Yufei Tong, King of Software
|
|
@@ -124,7 +124,7 @@ const _curryArity = (arity, func, context, args) => function curried(...curriedA
|
|
|
124
124
|
curriedArgsIndex = -1,
|
|
125
125
|
numCurriedPlaceholders = 0
|
|
126
126
|
|
|
127
|
-
while (
|
|
127
|
+
while ((argsIndex += 1) < argsLength) {
|
|
128
128
|
const arg = args[argsIndex]
|
|
129
129
|
if (arg == __ && (curriedArgsIndex += 1) < curriedArgsLength) {
|
|
130
130
|
const curriedArg = curriedArgs[curriedArgsIndex]
|
|
@@ -148,7 +148,7 @@ const _curryArity = (arity, func, context, args) => function curried(...curriedA
|
|
|
148
148
|
}
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
-
while (
|
|
151
|
+
while ((curriedArgsIndex += 1) < curriedArgsLength) {
|
|
152
152
|
const curriedArg = curriedArgs[curriedArgsIndex]
|
|
153
153
|
if (curriedArg == __) {
|
|
154
154
|
numCurriedPlaceholders += 1
|
|
@@ -178,7 +178,7 @@ const curryArity = function (arity, func, context, args) {
|
|
|
178
178
|
return _curryArity(arity, func, context, args)
|
|
179
179
|
}
|
|
180
180
|
let argsIndex = -1
|
|
181
|
-
while (
|
|
181
|
+
while ((argsIndex += 1) < argsLength) {
|
|
182
182
|
const arg = args[argsIndex]
|
|
183
183
|
if (arg == __) {
|
|
184
184
|
return _curryArity(arity, func, context, args)
|
package/dist/curry.min.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Rubico v2.
|
|
2
|
+
* Rubico v2.10.0
|
|
3
3
|
* https://rubico.land/
|
|
4
4
|
*
|
|
5
5
|
* © Richard Yufei Tong, King of Software
|
|
6
6
|
* Rubico may be freely distributed under the CFOSS license.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
!function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.curry=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=Array.isArray,t=n=>null!=n&&"function"==typeof n.then,e=function(e){if(n(e)){const n=e.length;let r=-1;for(;++r<n;){const n=e[r];if(t(n))return!0}return!1}for(const n in e){const r=e[n];if(t(r))return!0}return!1},r=Promise.all.bind(Promise),o=Symbol.for("placeholder"),u=function(n,t,e,r,u){return t==o?((n,t,e,r)=>function(o){return n(o,t,e,r)})(n,e,r,u):e==o?((n,t,e,r)=>function(o){return n(t,o,e,r)})(n,t,r,u):r==o?((n,t,e,r)=>function(o){return n(t,e,o,r)})(n,t,e,u):((n,t,e,r)=>function(o){return n(t,e,r,o)})(n,t,e,r)},i=function(n,t,e,r){return t==o?((n,t,e)=>function(r){return n(r,t,e)})(n,e,r):e==o?((n,t,e)=>function(r){return n(t,r,e)})(n,t,r):((n,t,e)=>function(r){return n(t,e,r)})(n,t,e)},f=(n,t,e)=>n.apply(t,e),c=(n,t,c,h)=>function(...s){const p=h.length,y=s.length,a=[];let g=-1,b=-1,d=0;for(
|
|
9
|
+
!function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.curry=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=Array.isArray,t=n=>null!=n&&"function"==typeof n.then,e=function(e){if(n(e)){const n=e.length;let r=-1;for(;++r<n;){const n=e[r];if(t(n))return!0}return!1}for(const n in e){const r=e[n];if(t(r))return!0}return!1},r=Promise.all.bind(Promise),o=Symbol.for("placeholder"),u=function(n,t,e,r,u){return t==o?((n,t,e,r)=>function(o){return n(o,t,e,r)})(n,e,r,u):e==o?((n,t,e,r)=>function(o){return n(t,o,e,r)})(n,t,r,u):r==o?((n,t,e,r)=>function(o){return n(t,e,o,r)})(n,t,e,u):((n,t,e,r)=>function(o){return n(t,e,r,o)})(n,t,e,r)},i=function(n,t,e,r){return t==o?((n,t,e)=>function(r){return n(r,t,e)})(n,e,r):e==o?((n,t,e)=>function(r){return n(t,r,e)})(n,t,r):((n,t,e)=>function(r){return n(t,e,r)})(n,t,e)},f=(n,t,e)=>n.apply(t,e),c=(n,t,c,h)=>function(...s){const p=h.length,y=s.length,a=[];let g=-1,b=-1,d=0;for(;(g+=1)<p;){const p=h[g];if(p==o&&(b+=1)<y){const n=s[b];n==o&&(d+=1),a.push(n)}else a.push(p);if(a.length==n)return e(a)?0==d?r(a).then(i(f,t,c,o)):r(a).then(u(l,n,t,c,o)):0==d?t.apply(c,a):l(n,t,c,a)}for(;(b+=1)<y;){const h=s[b];if(h==o&&(d+=1),a.push(h),a.length==n)return e(a)?0==d?r(a).then(i(f,t,c,o)):r(a).then(u(l,n,t,c,o)):0==d?t.apply(c,a):l(n,t,c,a)}return e(a)?r(a).then(u(l,n,t,c,o)):l(n,t,c,a)},l=function(n,t,e,r){const u=r.length;if(u<n)return c(n,t,e,r);let i=-1;for(;(i+=1)<u;){if(r[i]==o)return c(n,t,e,r)}return t.apply(e,r)},h=(n,...t)=>e(t)?r(t).then(u(l,n.length,n,this,o)):l(n.length,n,this,t);return h.arity=function(n,t,...i){return e(i)?r(i).then(u(l,n,t,this,o)):l(n,t,this,i)},h.call=function(n,t,...i){return e(i)?r(i).then(u(l,n.length,n,t,o)):l(n.length,n,t,i)},h}());
|
package/dist/curry.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Rubico v2.
|
|
2
|
+
* Rubico v2.10.0
|
|
3
3
|
* https://rubico.land/
|
|
4
4
|
*
|
|
5
5
|
* © Richard Yufei Tong, King of Software
|
|
@@ -118,7 +118,7 @@ const _curryArity = (arity, func, context, args) => function curried(...curriedA
|
|
|
118
118
|
curriedArgsIndex = -1,
|
|
119
119
|
numCurriedPlaceholders = 0
|
|
120
120
|
|
|
121
|
-
while (
|
|
121
|
+
while ((argsIndex += 1) < argsLength) {
|
|
122
122
|
const arg = args[argsIndex]
|
|
123
123
|
if (arg == __ && (curriedArgsIndex += 1) < curriedArgsLength) {
|
|
124
124
|
const curriedArg = curriedArgs[curriedArgsIndex]
|
|
@@ -142,7 +142,7 @@ const _curryArity = (arity, func, context, args) => function curried(...curriedA
|
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
144
|
|
|
145
|
-
while (
|
|
145
|
+
while ((curriedArgsIndex += 1) < curriedArgsLength) {
|
|
146
146
|
const curriedArg = curriedArgs[curriedArgsIndex]
|
|
147
147
|
if (curriedArg == __) {
|
|
148
148
|
numCurriedPlaceholders += 1
|
|
@@ -172,7 +172,7 @@ const curryArity = function (arity, func, context, args) {
|
|
|
172
172
|
return _curryArity(arity, func, context, args)
|
|
173
173
|
}
|
|
174
174
|
let argsIndex = -1
|
|
175
|
-
while (
|
|
175
|
+
while ((argsIndex += 1) < argsLength) {
|
|
176
176
|
const arg = args[argsIndex]
|
|
177
177
|
if (arg == __) {
|
|
178
178
|
return _curryArity(arity, func, context, args)
|
package/dist/eq.es.js
CHANGED
package/dist/eq.es.min.js
CHANGED
package/dist/eq.js
CHANGED
package/dist/eq.min.js
CHANGED
package/dist/eq.mjs
CHANGED
package/dist/every.es.js
CHANGED
package/dist/every.es.min.js
CHANGED
package/dist/every.js
CHANGED
package/dist/every.min.js
CHANGED
package/dist/every.mjs
CHANGED
package/dist/filter.es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Rubico v2.
|
|
2
|
+
* Rubico v2.10.0
|
|
3
3
|
* https://rubico.land/
|
|
4
4
|
*
|
|
5
5
|
* © Richard Yufei Tong, King of Software
|
|
@@ -297,15 +297,15 @@ const _filter = function (value, predicate) {
|
|
|
297
297
|
if (value.constructor == Map) {
|
|
298
298
|
return mapFilter(value, predicate)
|
|
299
299
|
}
|
|
300
|
-
if (typeof value.filter == 'function') {
|
|
301
|
-
return value.filter(predicate)
|
|
302
|
-
}
|
|
303
300
|
if (typeof value[symbolIterator] == 'function') {
|
|
304
301
|
return FilteringIterator(value[symbolIterator](), predicate)
|
|
305
302
|
}
|
|
306
303
|
if (typeof value[symbolAsyncIterator] == 'function') {
|
|
307
304
|
return FilteringAsyncIterator(value[symbolAsyncIterator](), predicate)
|
|
308
305
|
}
|
|
306
|
+
if (typeof value.filter == 'function') {
|
|
307
|
+
return value.filter(predicate)
|
|
308
|
+
}
|
|
309
309
|
if (value.constructor == Object) {
|
|
310
310
|
return objectFilter(value, predicate)
|
|
311
311
|
}
|
package/dist/filter.es.min.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Rubico v2.
|
|
2
|
+
* Rubico v2.10.0
|
|
3
3
|
* https://rubico.land/
|
|
4
4
|
*
|
|
5
5
|
* © Richard Yufei Tong, King of Software
|
|
6
6
|
* Rubico may be freely distributed under the CFOSS license.
|
|
7
7
|
*/
|
|
8
|
-
const __=Symbol.for("placeholder"),curry2ResolveArg0=(r,t)=>function(n){return r(n,t)},curry2ResolveArg1=(r,t)=>function(n){return r(t,n)},curry2=function(r,t,n){return t==__?curry2ResolveArg0(r,n):curry2ResolveArg1(r,t)},symbolIterator=Symbol.iterator,FilteringIterator=(r,t)=>({[symbolIterator](){return this},next(){let n=r.next();for(;!n.done;){const{value:e}=n;if(t(e))return{value:e,done:!1};n=r.next()}return n}}),isPromise=r=>null!=r&&"function"==typeof r.then,symbolAsyncIterator=Symbol.asyncIterator,FilteringAsyncIterator=(r,t)=>({isAsyncIteratorDone:!1,[symbolAsyncIterator](){return this},async next(){for(;!this.isAsyncIteratorDone;){const{value:n,done:e}=await r.next();if(e)this.isAsyncIteratorDone=!0;else{const r=t(n);if(isPromise(r)?await r:r)return{value:n,done:!1}}}return{value:void 0,done:!0}}}),isArray=Array.isArray,curry4ResolveArg0=(r,t,n,e)=>function(o){return r(o,t,n,e)},curry4ResolveArg1=(r,t,n,e)=>function(o){return r(t,o,n,e)},curry4ResolveArg2=(r,t,n,e)=>function(o){return r(t,n,o,e)},curry4ResolveArg3=(r,t,n,e)=>function(o){return r(t,n,e,o)},curry4=function(r,t,n,e,o){return t==__?curry4ResolveArg0(r,n,e,o):n==__?curry4ResolveArg1(r,t,e,o):e==__?curry4ResolveArg2(r,t,n,o):curry4ResolveArg3(r,t,n,e)},promiseAll=Promise.all.bind(Promise),arrayExtendMap=function(r,t,n,e){const o=t.length;let i=r.length-1;for(;++e<o;)r[++i]=n(t[e],e,r);return r},arrayFilterByConditions=function(r,t,n,e){const o=r.length;let i=-1;for(;++n<o;)e[++i]&&t.push(r[n]);return t},arrayFilter=function(r,t){const n=r.length,e=[];let o=-1,i=-1;for(;++o<n;){const n=r[o],u=t(n,o,r);if(isPromise(u))return promiseAll(arrayExtendMap([u],r,t,o)).then(curry4(arrayFilterByConditions,r,e,o-1,__));u&&(e[++i]=n)}return e},curry3ResolveArg0=(r,t,n)=>function(e){return r(e,t,n)},curry3ResolveArg1=(r,t,n)=>function(e){return r(t,e,n)},curry3ResolveArg2=(r,t,n)=>function(e){return r(t,n,e)},curry3=function(r,t,n,e){return t==__?curry3ResolveArg0(r,n,e):n==__?curry3ResolveArg1(r,t,e):curry3ResolveArg2(r,t,n)},callPropUnary=(r,t,n)=>r[t](n),stringFilter=function(r,t){const n=arrayFilter(r,t);return isPromise(n)?n.then(curry3(callPropUnary,__,"join","")):n.join("")},always=r=>function(){return r},thunkConditional=(r,t,n)=>r?t():n(),thunkify1=(r,t)=>function(){return r(t)},noop=function(){},setFilter=function(r,t){const n=new Set,e=n.add.bind(n),o=[];for(const i of r){const u=t(i,i,r);isPromise(u)?o.push(u.then(curry3(thunkConditional,__,thunkify1(e,i),noop))):u&&n.add(i)}return 0==o.length?n:promiseAll(o).then(always(n))},thunkify4=(r,t,n,e,o)=>function(){return r(t,n,e,o)},callPropBinary=(r,t,n,e)=>r[t](n,e),mapFilter=function(r,t){const n=new Map,e=[];for(const[o,i]of r){const u=t(i,o,r);isPromise(u)?e.push(u.then(curry3(thunkConditional,__,thunkify4(callPropBinary,n,"set",o,i),noop))):u&&n.set(o,i)}return 0==e.length?n:promiseAll(e).then(always(n))},objectSetIf=function(r,t,n,e){e&&(r[t]=n)},objectFilter=function(r,t){const n={},e=[];for(const o in r){const i=r[o],u=t(i,o,r);isPromise(u)?e.push(u.then(curry4(objectSetIf,n,o,r[o],__))):u&&(n[o]=i)}return 0==e.length?n:promiseAll(e).then(always(n))},_filter=function(r,t){return isArray(r)?arrayFilter(r,t):null==r?r:"string"==typeof r||r.constructor==String?stringFilter(r,t):r.constructor==Set?setFilter(r,t):r.constructor==Map?mapFilter(r,t):"function"==typeof r
|
|
8
|
+
const __=Symbol.for("placeholder"),curry2ResolveArg0=(r,t)=>function(n){return r(n,t)},curry2ResolveArg1=(r,t)=>function(n){return r(t,n)},curry2=function(r,t,n){return t==__?curry2ResolveArg0(r,n):curry2ResolveArg1(r,t)},symbolIterator=Symbol.iterator,FilteringIterator=(r,t)=>({[symbolIterator](){return this},next(){let n=r.next();for(;!n.done;){const{value:e}=n;if(t(e))return{value:e,done:!1};n=r.next()}return n}}),isPromise=r=>null!=r&&"function"==typeof r.then,symbolAsyncIterator=Symbol.asyncIterator,FilteringAsyncIterator=(r,t)=>({isAsyncIteratorDone:!1,[symbolAsyncIterator](){return this},async next(){for(;!this.isAsyncIteratorDone;){const{value:n,done:e}=await r.next();if(e)this.isAsyncIteratorDone=!0;else{const r=t(n);if(isPromise(r)?await r:r)return{value:n,done:!1}}}return{value:void 0,done:!0}}}),isArray=Array.isArray,curry4ResolveArg0=(r,t,n,e)=>function(o){return r(o,t,n,e)},curry4ResolveArg1=(r,t,n,e)=>function(o){return r(t,o,n,e)},curry4ResolveArg2=(r,t,n,e)=>function(o){return r(t,n,o,e)},curry4ResolveArg3=(r,t,n,e)=>function(o){return r(t,n,e,o)},curry4=function(r,t,n,e,o){return t==__?curry4ResolveArg0(r,n,e,o):n==__?curry4ResolveArg1(r,t,e,o):e==__?curry4ResolveArg2(r,t,n,o):curry4ResolveArg3(r,t,n,e)},promiseAll=Promise.all.bind(Promise),arrayExtendMap=function(r,t,n,e){const o=t.length;let i=r.length-1;for(;++e<o;)r[++i]=n(t[e],e,r);return r},arrayFilterByConditions=function(r,t,n,e){const o=r.length;let i=-1;for(;++n<o;)e[++i]&&t.push(r[n]);return t},arrayFilter=function(r,t){const n=r.length,e=[];let o=-1,i=-1;for(;++o<n;){const n=r[o],u=t(n,o,r);if(isPromise(u))return promiseAll(arrayExtendMap([u],r,t,o)).then(curry4(arrayFilterByConditions,r,e,o-1,__));u&&(e[++i]=n)}return e},curry3ResolveArg0=(r,t,n)=>function(e){return r(e,t,n)},curry3ResolveArg1=(r,t,n)=>function(e){return r(t,e,n)},curry3ResolveArg2=(r,t,n)=>function(e){return r(t,n,e)},curry3=function(r,t,n,e){return t==__?curry3ResolveArg0(r,n,e):n==__?curry3ResolveArg1(r,t,e):curry3ResolveArg2(r,t,n)},callPropUnary=(r,t,n)=>r[t](n),stringFilter=function(r,t){const n=arrayFilter(r,t);return isPromise(n)?n.then(curry3(callPropUnary,__,"join","")):n.join("")},always=r=>function(){return r},thunkConditional=(r,t,n)=>r?t():n(),thunkify1=(r,t)=>function(){return r(t)},noop=function(){},setFilter=function(r,t){const n=new Set,e=n.add.bind(n),o=[];for(const i of r){const u=t(i,i,r);isPromise(u)?o.push(u.then(curry3(thunkConditional,__,thunkify1(e,i),noop))):u&&n.add(i)}return 0==o.length?n:promiseAll(o).then(always(n))},thunkify4=(r,t,n,e,o)=>function(){return r(t,n,e,o)},callPropBinary=(r,t,n,e)=>r[t](n,e),mapFilter=function(r,t){const n=new Map,e=[];for(const[o,i]of r){const u=t(i,o,r);isPromise(u)?e.push(u.then(curry3(thunkConditional,__,thunkify4(callPropBinary,n,"set",o,i),noop))):u&&n.set(o,i)}return 0==e.length?n:promiseAll(e).then(always(n))},objectSetIf=function(r,t,n,e){e&&(r[t]=n)},objectFilter=function(r,t){const n={},e=[];for(const o in r){const i=r[o],u=t(i,o,r);isPromise(u)?e.push(u.then(curry4(objectSetIf,n,o,r[o],__))):u&&(n[o]=i)}return 0==e.length?n:promiseAll(e).then(always(n))},_filter=function(r,t){return isArray(r)?arrayFilter(r,t):null==r?r:"string"==typeof r||r.constructor==String?stringFilter(r,t):r.constructor==Set?setFilter(r,t):r.constructor==Map?mapFilter(r,t):"function"==typeof r[symbolIterator]?FilteringIterator(r[symbolIterator](),t):"function"==typeof r[symbolAsyncIterator]?FilteringAsyncIterator(r[symbolAsyncIterator](),t):"function"==typeof r.filter?r.filter(t):r.constructor==Object?objectFilter(r,t):r},filter=function(r,t){return"function"==typeof r?curry2(_filter,__,r):isPromise(r)?r.then(curry2(_filter,__,t)):_filter(r,t)};export default filter;
|