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/dist/x/pluck.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
|
|
@@ -33,25 +33,7 @@ const MappingIterator = (iterator, mapper) => ({
|
|
|
33
33
|
},
|
|
34
34
|
})
|
|
35
35
|
|
|
36
|
-
const
|
|
37
|
-
|
|
38
|
-
const symbolAsyncIterator = Symbol.asyncIterator
|
|
39
|
-
|
|
40
|
-
const MappingAsyncIterator = (asyncIterator, mapper) => ({
|
|
41
|
-
[symbolAsyncIterator]() {
|
|
42
|
-
return this
|
|
43
|
-
},
|
|
44
|
-
async next() {
|
|
45
|
-
const iteration = await asyncIterator.next()
|
|
46
|
-
if (iteration.done) {
|
|
47
|
-
return iteration
|
|
48
|
-
}
|
|
49
|
-
const mapped = mapper(iteration.value)
|
|
50
|
-
return isPromise(mapped)
|
|
51
|
-
? mapped.then(NextIteration)
|
|
52
|
-
: { value: mapped, done: false }
|
|
53
|
-
}
|
|
54
|
-
})
|
|
36
|
+
const promiseRace = Promise.race.bind(Promise)
|
|
55
37
|
|
|
56
38
|
const __ = Symbol.for('placeholder')
|
|
57
39
|
|
|
@@ -75,6 +57,165 @@ const curry2 = function (baseFunc, arg0, arg1) {
|
|
|
75
57
|
: curry2ResolveArg1(baseFunc, arg0)
|
|
76
58
|
}
|
|
77
59
|
|
|
60
|
+
class LinkedList {
|
|
61
|
+
constructor() {
|
|
62
|
+
this.first = null
|
|
63
|
+
this.last = null
|
|
64
|
+
this.length = 0
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// popFirst() -> firstValue any
|
|
68
|
+
popFirst() {
|
|
69
|
+
const first = this.first
|
|
70
|
+
|
|
71
|
+
if (first == null) {
|
|
72
|
+
return undefined
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
if (first.next) {
|
|
76
|
+
this.first = first.next
|
|
77
|
+
} else {
|
|
78
|
+
this.first = null
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
this.length -= 1
|
|
82
|
+
|
|
83
|
+
return first.value
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// append(value any) -> undefined
|
|
87
|
+
append(value) {
|
|
88
|
+
const node = { value }
|
|
89
|
+
if (this.first == null) {
|
|
90
|
+
this.first = node
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
if (this.last == null) {
|
|
94
|
+
this.last = node
|
|
95
|
+
} else {
|
|
96
|
+
this.last.next = node
|
|
97
|
+
this.last = node
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
this.length += 1
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
const symbolAsyncIterator = Symbol.asyncIterator
|
|
106
|
+
|
|
107
|
+
const arrayPush = function (array, value) {
|
|
108
|
+
array.push(value)
|
|
109
|
+
return array
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
const sleep = time => new Promise(resolve => {
|
|
113
|
+
setTimeout(resolve, time)
|
|
114
|
+
})
|
|
115
|
+
|
|
116
|
+
const MappingAsyncIterator = (asyncIterator, mapper) => {
|
|
117
|
+
const buffer = new LinkedList()
|
|
118
|
+
|
|
119
|
+
let index = -1
|
|
120
|
+
let consumingAsyncIterator = false
|
|
121
|
+
let isAsyncIteratorDone = false
|
|
122
|
+
|
|
123
|
+
return {
|
|
124
|
+
[symbolAsyncIterator]() {
|
|
125
|
+
return this
|
|
126
|
+
},
|
|
127
|
+
|
|
128
|
+
// _consumeAsyncIterator() -> Promise<>
|
|
129
|
+
async _consumeAsyncIterator() {
|
|
130
|
+
for await (const item of asyncIterator) {
|
|
131
|
+
index += 1
|
|
132
|
+
const mappedItem = mapper(item)
|
|
133
|
+
buffer.append(mappedItem)
|
|
134
|
+
}
|
|
135
|
+
isAsyncIteratorDone = true
|
|
136
|
+
},
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
async next() {
|
|
140
|
+
if (!consumingAsyncIterator) {
|
|
141
|
+
this._consumeAsyncIterator()
|
|
142
|
+
consumingAsyncIterator = true
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
while (!isAsyncIteratorDone) {
|
|
146
|
+
if (buffer.length > 0) {
|
|
147
|
+
let value = buffer.popFirst()
|
|
148
|
+
if (isPromise(value)) {
|
|
149
|
+
value = await value
|
|
150
|
+
}
|
|
151
|
+
return { value, done: false }
|
|
152
|
+
}
|
|
153
|
+
await sleep(10)
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
if (buffer.length > 0) {
|
|
157
|
+
let value = buffer.popFirst()
|
|
158
|
+
if (isPromise(value)) {
|
|
159
|
+
value = await value
|
|
160
|
+
}
|
|
161
|
+
return { value, done: false }
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
return { value: undefined, done: true }
|
|
165
|
+
},
|
|
166
|
+
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
const SerialMappingAsyncIterator = (asyncIterator, mapper) => {
|
|
171
|
+
const buffer = new LinkedList()
|
|
172
|
+
|
|
173
|
+
let index = -1
|
|
174
|
+
let consumingAsyncIterator = false
|
|
175
|
+
let isAsyncIteratorDone = false
|
|
176
|
+
|
|
177
|
+
return {
|
|
178
|
+
[symbolAsyncIterator]() {
|
|
179
|
+
return this
|
|
180
|
+
},
|
|
181
|
+
|
|
182
|
+
// _consumeAsyncIterator() -> Promise<>
|
|
183
|
+
async _consumeAsyncIterator() {
|
|
184
|
+
for await (const item of asyncIterator) {
|
|
185
|
+
index += 1
|
|
186
|
+
let mappedItem = mapper(item)
|
|
187
|
+
if (isPromise(mappedItem)) {
|
|
188
|
+
mappedItem = await mappedItem
|
|
189
|
+
}
|
|
190
|
+
buffer.append(mappedItem)
|
|
191
|
+
}
|
|
192
|
+
isAsyncIteratorDone = true
|
|
193
|
+
},
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
async next() {
|
|
197
|
+
if (!consumingAsyncIterator) {
|
|
198
|
+
this._consumeAsyncIterator()
|
|
199
|
+
consumingAsyncIterator = true
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
while (!isAsyncIteratorDone) {
|
|
203
|
+
if (buffer.length > 0) {
|
|
204
|
+
return { value: buffer.popFirst(), done: false }
|
|
205
|
+
}
|
|
206
|
+
await sleep(10)
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
if (buffer.length > 0) {
|
|
210
|
+
return { value: buffer.popFirst(), done: false }
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
return { value: undefined, done: true }
|
|
214
|
+
},
|
|
215
|
+
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
|
|
78
219
|
// argument resolver for curry3
|
|
79
220
|
const curry3ResolveArg0 = (
|
|
80
221
|
baseFunc, arg1, arg2,
|
|
@@ -432,8 +573,6 @@ const tapSync = func => function tapping(...args) {
|
|
|
432
573
|
return args[0]
|
|
433
574
|
}
|
|
434
575
|
|
|
435
|
-
const promiseRace = Promise.race.bind(Promise)
|
|
436
|
-
|
|
437
576
|
const arrayMapPoolAsync = async function (
|
|
438
577
|
array, f, concurrencyLimit, result, index, promises,
|
|
439
578
|
) {
|
|
@@ -661,7 +800,7 @@ const _curryArity = (arity, func, context, args) => function curried(...curriedA
|
|
|
661
800
|
curriedArgsIndex = -1,
|
|
662
801
|
numCurriedPlaceholders = 0
|
|
663
802
|
|
|
664
|
-
while (
|
|
803
|
+
while ((argsIndex += 1) < argsLength) {
|
|
665
804
|
const arg = args[argsIndex]
|
|
666
805
|
if (arg == __ && (curriedArgsIndex += 1) < curriedArgsLength) {
|
|
667
806
|
const curriedArg = curriedArgs[curriedArgsIndex]
|
|
@@ -685,7 +824,7 @@ const _curryArity = (arity, func, context, args) => function curried(...curriedA
|
|
|
685
824
|
}
|
|
686
825
|
}
|
|
687
826
|
|
|
688
|
-
while (
|
|
827
|
+
while ((curriedArgsIndex += 1) < curriedArgsLength) {
|
|
689
828
|
const curriedArg = curriedArgs[curriedArgsIndex]
|
|
690
829
|
if (curriedArg == __) {
|
|
691
830
|
numCurriedPlaceholders += 1
|
|
@@ -715,7 +854,7 @@ const curryArity = function (arity, func, context, args) {
|
|
|
715
854
|
return _curryArity(arity, func, context, args)
|
|
716
855
|
}
|
|
717
856
|
let argsIndex = -1
|
|
718
|
-
while (
|
|
857
|
+
while ((argsIndex += 1) < argsLength) {
|
|
719
858
|
const arg = args[argsIndex]
|
|
720
859
|
if (arg == __) {
|
|
721
860
|
return _curryArity(arity, func, context, args)
|
|
@@ -778,9 +917,6 @@ const _map = function (value, f) {
|
|
|
778
917
|
if (typeof value.then == 'function') {
|
|
779
918
|
return value.then(f)
|
|
780
919
|
}
|
|
781
|
-
if (typeof value.map == 'function') {
|
|
782
|
-
return value.map(f)
|
|
783
|
-
}
|
|
784
920
|
if (typeof value == 'string' || value.constructor == String) {
|
|
785
921
|
return stringMap(value, f)
|
|
786
922
|
}
|
|
@@ -796,6 +932,9 @@ const _map = function (value, f) {
|
|
|
796
932
|
if (typeof value[symbolAsyncIterator] == 'function') {
|
|
797
933
|
return MappingAsyncIterator(value[symbolAsyncIterator](), f)
|
|
798
934
|
}
|
|
935
|
+
if (typeof value.map == 'function') {
|
|
936
|
+
return value.map(f)
|
|
937
|
+
}
|
|
799
938
|
if (value.constructor == Object) {
|
|
800
939
|
return objectMap(value, f)
|
|
801
940
|
}
|
|
@@ -834,27 +973,36 @@ map.entries = function mapEntries(arg0, arg1) {
|
|
|
834
973
|
: _mapEntries(arg0, arg1)
|
|
835
974
|
}
|
|
836
975
|
|
|
837
|
-
const _mapSeries = function (
|
|
838
|
-
if (isArray(
|
|
839
|
-
return arrayMapSeries(
|
|
976
|
+
const _mapSeries = function (functor, f) {
|
|
977
|
+
if (isArray(functor)) {
|
|
978
|
+
return arrayMapSeries(functor, f)
|
|
840
979
|
}
|
|
841
|
-
if (
|
|
842
|
-
throw new TypeError(`invalid
|
|
980
|
+
if (functor == null) {
|
|
981
|
+
throw new TypeError(`invalid functor ${functor}`)
|
|
843
982
|
}
|
|
844
983
|
|
|
845
|
-
if (typeof
|
|
846
|
-
return stringMapSeries(
|
|
984
|
+
if (typeof functor == 'string' || functor.constructor == String) {
|
|
985
|
+
return stringMapSeries(functor, f)
|
|
847
986
|
}
|
|
848
|
-
if (
|
|
849
|
-
return setMapSeries(
|
|
987
|
+
if (functor.constructor == Set) {
|
|
988
|
+
return setMapSeries(functor, f)
|
|
850
989
|
}
|
|
851
|
-
if (
|
|
852
|
-
return mapMapSeries(
|
|
990
|
+
if (functor.constructor == Map) {
|
|
991
|
+
return mapMapSeries(functor, f)
|
|
853
992
|
}
|
|
854
|
-
if (
|
|
855
|
-
return
|
|
993
|
+
if (typeof functor[symbolIterator] == 'function') {
|
|
994
|
+
return MappingIterator(functor[symbolIterator](), f)
|
|
856
995
|
}
|
|
857
|
-
|
|
996
|
+
if (typeof functor[symbolAsyncIterator] == 'function') {
|
|
997
|
+
return SerialMappingAsyncIterator(functor[symbolAsyncIterator](), f)
|
|
998
|
+
}
|
|
999
|
+
if (typeof functor.map == 'function') {
|
|
1000
|
+
return functor.map(f)
|
|
1001
|
+
}
|
|
1002
|
+
if (functor.constructor == Object) {
|
|
1003
|
+
return objectMapSeries(functor, f)
|
|
1004
|
+
}
|
|
1005
|
+
throw new TypeError(`invalid functor ${functor}`)
|
|
858
1006
|
}
|
|
859
1007
|
|
|
860
1008
|
map.series = function mapSeries(arg0, arg1) {
|
|
@@ -897,6 +1045,8 @@ map.pool = function mapPool(arg0, arg1, arg2) {
|
|
|
897
1045
|
: _mapPool(arg0, arg1, arg2)
|
|
898
1046
|
}
|
|
899
1047
|
|
|
1048
|
+
const funcApply = (func, args) => func(...args)
|
|
1049
|
+
|
|
900
1050
|
const memoizeCappedUnary = function (func, cap) {
|
|
901
1051
|
const cache = new Map(),
|
|
902
1052
|
memoized = function memoized(arg0) {
|
|
@@ -967,8 +1117,8 @@ const get = function (arg0, arg1, arg2) {
|
|
|
967
1117
|
if (typeof arg0 == 'string' || typeof arg0 == 'number' || isArray(arg0)) {
|
|
968
1118
|
return curry3(_get, __, arg0, arg1)
|
|
969
1119
|
}
|
|
970
|
-
if (isPromise(arg0)) {
|
|
971
|
-
return arg0.then(
|
|
1120
|
+
if (isPromise(arg0) || isPromise(arg2)) {
|
|
1121
|
+
return promiseAll([arg0, arg1, arg2]).then(curry2(funcApply, _get, __))
|
|
972
1122
|
}
|
|
973
1123
|
return _get(arg0, arg1, arg2)
|
|
974
1124
|
}
|
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
package/dist/x/trace.es.min.js
CHANGED
package/dist/x/trace.js
CHANGED
package/dist/x/trace.min.js
CHANGED
package/dist/x/trace.mjs
CHANGED
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
|
@@ -61,7 +61,7 @@ const equals = require('./_internal/equals')
|
|
|
61
61
|
* })
|
|
62
62
|
* ```
|
|
63
63
|
*
|
|
64
|
-
* `eq` supports a lazy
|
|
64
|
+
* `eq` supports a lazy interface for composability.
|
|
65
65
|
*
|
|
66
66
|
* ```javascript [playground]
|
|
67
67
|
* pipe({ name: 'John' }, [
|
|
@@ -70,7 +70,7 @@ const equals = require('./_internal/equals')
|
|
|
70
70
|
* ])
|
|
71
71
|
* ```
|
|
72
72
|
*
|
|
73
|
-
* Any promises passed in argument position are resolved for their values before further execution.
|
|
73
|
+
* Any promises passed in data argument position are resolved for their values before further execution.
|
|
74
74
|
*
|
|
75
75
|
* ```javascript [playground]
|
|
76
76
|
* eq(Promise.resolve({ a: 1, b: 1 }), get('a'), get('b')).then(console.log) // true
|