rubico 2.3.5 → 2.3.8
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 -2
- package/_internal/arrayForEachSeries.js +48 -0
- package/_internal/asyncIteratorForEachSeries.js +28 -0
- package/_internal/iteratorForEachSeries.js +46 -0
- package/_internal/objectForEachSeries.js +44 -0
- package/_internal/series.js +4 -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 +140 -9
- package/dist/forEach.es.min.js +2 -2
- package/dist/forEach.js +140 -9
- package/dist/forEach.min.js +2 -2
- package/dist/forEach.mjs +140 -9
- 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 +24 -12
- package/dist/map.es.min.js +2 -2
- package/dist/map.js +24 -12
- package/dist/map.min.js +2 -2
- package/dist/map.mjs +24 -12
- 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 +155 -20
- package/dist/rubico.es.min.js +2 -2
- package/dist/rubico.global.js +155 -20
- package/dist/rubico.global.min.js +2 -2
- package/dist/rubico.js +155 -20
- package/dist/rubico.min.js +2 -2
- package/dist/rubico.mjs +155 -20
- 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 +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 +24 -12
- package/dist/x/pluck.es.min.js +2 -2
- package/dist/x/pluck.js +24 -12
- package/dist/x/pluck.min.js +2 -2
- package/dist/x/pluck.mjs +24 -12
- 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/es.js +155 -20
- package/forEach.js +73 -12
- package/index.js +155 -20
- package/map.js +29 -12
- package/package.json +1 -1
- package/tap.js +1 -1
package/dist/flatMap.es.min.js
CHANGED
package/dist/flatMap.js
CHANGED
package/dist/flatMap.min.js
CHANGED
package/dist/flatMap.mjs
CHANGED
package/dist/forEach.es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.3.
|
|
2
|
+
* rubico v2.3.8
|
|
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,111 @@ const symbolIterator = Symbol.iterator
|
|
|
100
100
|
|
|
101
101
|
const symbolAsyncIterator = Symbol.asyncIterator
|
|
102
102
|
|
|
103
|
+
const thunkify3 = (func, arg0, arg1, arg2) => function thunk() {
|
|
104
|
+
return func(arg0, arg1, arg2)
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
// _arrayForEachSeriesAsync(
|
|
108
|
+
// array Array,
|
|
109
|
+
// callback function,
|
|
110
|
+
// index number
|
|
111
|
+
// ) -> Promise<array>
|
|
112
|
+
const _arrayForEachSeriesAsync = async function (array, callback, index) {
|
|
113
|
+
const length = array.length
|
|
114
|
+
while (++index < length) {
|
|
115
|
+
const operation = callback(array[index])
|
|
116
|
+
if (isPromise(operation)) {
|
|
117
|
+
await operation
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return array
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
const arrayForEachSeries = function (array, callback) {
|
|
124
|
+
const length = array.length
|
|
125
|
+
let index = -1
|
|
126
|
+
while (++index < length) {
|
|
127
|
+
const operation = callback(array[index])
|
|
128
|
+
if (isPromise(operation)) {
|
|
129
|
+
return operation
|
|
130
|
+
.then(thunkify3(_arrayForEachSeriesAsync, array, callback, index))
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return array
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
// _objectForEachSeriesAsync(
|
|
137
|
+
// object Object,
|
|
138
|
+
// callback function,
|
|
139
|
+
// firstKey string
|
|
140
|
+
// ) -> Promise<object>
|
|
141
|
+
const _objectForEachSeriesAsync = async function (object, callback, firstKey) {
|
|
142
|
+
for (const key in object) {
|
|
143
|
+
if (key == firstKey) {
|
|
144
|
+
continue
|
|
145
|
+
}
|
|
146
|
+
const operation = callback(object[key])
|
|
147
|
+
if (isPromise(operation)) {
|
|
148
|
+
await operation
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
return object
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
const objectForEachSeries = function (object, callback) {
|
|
155
|
+
for (const key in object) {
|
|
156
|
+
const operation = callback(object[key])
|
|
157
|
+
if (isPromise(operation)) {
|
|
158
|
+
return operation
|
|
159
|
+
.then(thunkify3(_objectForEachSeriesAsync, object, callback, key))
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
return object
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
const thunkify2 = (func, arg0, arg1) => function thunk() {
|
|
166
|
+
return func(arg0, arg1)
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
// _iteratorForEachSeriesAsync(
|
|
170
|
+
// iterator Iterator,
|
|
171
|
+
// callback function,
|
|
172
|
+
// ) -> Promise<iterator>
|
|
173
|
+
const _iteratorForEachSeriesAsync = async function (iterator, callback) {
|
|
174
|
+
let iteration = iterator.next()
|
|
175
|
+
while (!iteration.done) {
|
|
176
|
+
const operation = callback(iteration.value)
|
|
177
|
+
if (isPromise(operation)) {
|
|
178
|
+
await operation
|
|
179
|
+
}
|
|
180
|
+
iteration = iterator.next()
|
|
181
|
+
}
|
|
182
|
+
return iterator
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
const iteratorForEachSeries = function (iterator, callback) {
|
|
186
|
+
let iteration = iterator.next()
|
|
187
|
+
while (!iterator.done) {
|
|
188
|
+
const operation = callback(iteration.value)
|
|
189
|
+
if (isPromise(operation)) {
|
|
190
|
+
return operation
|
|
191
|
+
.then(thunkify2(_iteratorForEachSeriesAsync, iterator, callback))
|
|
192
|
+
}
|
|
193
|
+
iteration = iterator.next()
|
|
194
|
+
}
|
|
195
|
+
return iterator
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
const asyncIteratorForEachSeries = async function (asyncIterator, callback) {
|
|
199
|
+
for await (const item of asyncIterator) {
|
|
200
|
+
const operation = callback(item)
|
|
201
|
+
if (isPromise(operation)) {
|
|
202
|
+
await operation
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
return asyncIterator
|
|
206
|
+
}
|
|
207
|
+
|
|
103
208
|
// type Collection = Array|Iterable|AsyncIterable|{ forEach: function }|Object
|
|
104
209
|
// _forEach(collection Collection, callback function) -> collection Collection
|
|
105
210
|
const _forEach = function (collection, callback) {
|
|
@@ -124,15 +229,41 @@ const _forEach = function (collection, callback) {
|
|
|
124
229
|
return collection
|
|
125
230
|
}
|
|
126
231
|
|
|
127
|
-
const forEach = function (
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
232
|
+
const forEach = function (arg0, arg1) {
|
|
233
|
+
if (typeof arg0 == 'function') {
|
|
234
|
+
return curry2(_forEach, __, arg0)
|
|
235
|
+
}
|
|
236
|
+
return isPromise(arg0)
|
|
237
|
+
? arg0.then(curry2(_forEach, __, arg1))
|
|
238
|
+
: _forEach(arg0, arg1)
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
const _forEachSeries = function (collection, callback) {
|
|
242
|
+
if (isArray(collection)) {
|
|
243
|
+
return arrayForEachSeries(collection, callback)
|
|
244
|
+
}
|
|
245
|
+
if (collection == null) {
|
|
246
|
+
throw new Error(`invalid collection ${collection}`)
|
|
247
|
+
}
|
|
248
|
+
if (typeof collection[symbolIterator] == 'function') {
|
|
249
|
+
return iteratorForEachSeries(collection[symbolIterator](), callback)
|
|
250
|
+
}
|
|
251
|
+
if (typeof collection[symbolAsyncIterator] == 'function') {
|
|
252
|
+
return asyncIteratorForEachSeries(collection[symbolAsyncIterator](), callback)
|
|
253
|
+
}
|
|
254
|
+
if (collection.constructor == Object) {
|
|
255
|
+
return objectForEachSeries(collection, callback)
|
|
256
|
+
}
|
|
257
|
+
throw new Error(`invalid collection ${collection}`)
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
forEach.series = function forEachSeries(arg0, arg1) {
|
|
261
|
+
if (typeof arg0 == 'function') {
|
|
262
|
+
return curry2(_forEachSeries, __, arg0)
|
|
131
263
|
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
: _forEach(collection, callback)
|
|
264
|
+
return isPromise(arg0)
|
|
265
|
+
? arg0.then(curry2(_forEachSeries, __, arg1))
|
|
266
|
+
: _forEachSeries(arg0, arg1)
|
|
136
267
|
}
|
|
137
268
|
|
|
138
269
|
export default forEach
|
package/dist/forEach.es.min.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.3.
|
|
2
|
+
* rubico v2.3.8
|
|
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,__=Symbol.for("placeholder"),curry2ResolveArg0=(r,o)=>function(t){return r(t,o)},curry2ResolveArg1=(r,o)=>function(t){return r(o,t)},curry2=function(r,o,t){return o==__?curry2ResolveArg0(r,t):curry2ResolveArg1(r,o)},isArray=Array.isArray,objectProto=Object.prototype,nativeObjectToString=objectProto.toString,objectToString=r=>nativeObjectToString.call(r),generatorFunctionTag="[object GeneratorFunction]",isGeneratorFunction=r=>objectToString(r)==generatorFunctionTag,asyncGeneratorFunctionTag="[object AsyncGeneratorFunction]",isAsyncGeneratorFunction=r=>objectToString(r)==asyncGeneratorFunctionTag,promiseAll=Promise.all.bind(Promise),always=r=>function(){return r},arrayForEach=function(r,o){const t=r.length,n=[];let e=-1;for(;++e<t;){const t=o(r[e]);isPromise(t)&&n.push(t)}return 0==n.length?r:promiseAll(n).then(always(r))},objectForEach=function(r,o){const t=[];for(const n in r){const e=o(r[n]);isPromise(e)&&t.push(e)}return 0==t.length?r:promiseAll(t).then(always(r))},iteratorForEach=function(r,o){const t=[];for(const n of r){const r=o(n);isPromise(r)&&t.push(r)}return 0==t.length?r:promiseAll(t).then(always(r))},asyncIteratorForEach=async function(r,o){const t=[];for await(const n of r){const r=o(n);isPromise(r)&&t.push(r)}return 0==t.length?r:promiseAll(t).then(always(r))},symbolIterator=Symbol.iterator,symbolAsyncIterator=Symbol.asyncIterator,_forEach=function(r,o){return isArray(r)?arrayForEach(r,o):null==r?r:"function"==typeof r.forEach?r.forEach(o):"function"==typeof r[symbolIterator]?iteratorForEach(r[symbolIterator](),o):"function"==typeof r[symbolAsyncIterator]?asyncIteratorForEach(r[symbolAsyncIterator](),o):r.constructor==Object?objectForEach(r,o):r},forEach=function(
|
|
7
|
+
const isPromise=r=>null!=r&&"function"==typeof r.then,__=Symbol.for("placeholder"),curry2ResolveArg0=(r,o)=>function(t){return r(t,o)},curry2ResolveArg1=(r,o)=>function(t){return r(o,t)},curry2=function(r,o,t){return o==__?curry2ResolveArg0(r,t):curry2ResolveArg1(r,o)},isArray=Array.isArray,objectProto=Object.prototype,nativeObjectToString=objectProto.toString,objectToString=r=>nativeObjectToString.call(r),generatorFunctionTag="[object GeneratorFunction]",isGeneratorFunction=r=>objectToString(r)==generatorFunctionTag,asyncGeneratorFunctionTag="[object AsyncGeneratorFunction]",isAsyncGeneratorFunction=r=>objectToString(r)==asyncGeneratorFunctionTag,promiseAll=Promise.all.bind(Promise),always=r=>function(){return r},arrayForEach=function(r,o){const t=r.length,n=[];let e=-1;for(;++e<t;){const t=o(r[e]);isPromise(t)&&n.push(t)}return 0==n.length?r:promiseAll(n).then(always(r))},objectForEach=function(r,o){const t=[];for(const n in r){const e=o(r[n]);isPromise(e)&&t.push(e)}return 0==t.length?r:promiseAll(t).then(always(r))},iteratorForEach=function(r,o){const t=[];for(const n of r){const r=o(n);isPromise(r)&&t.push(r)}return 0==t.length?r:promiseAll(t).then(always(r))},asyncIteratorForEach=async function(r,o){const t=[];for await(const n of r){const r=o(n);isPromise(r)&&t.push(r)}return 0==t.length?r:promiseAll(t).then(always(r))},symbolIterator=Symbol.iterator,symbolAsyncIterator=Symbol.asyncIterator,thunkify3=(r,o,t,n)=>function(){return r(o,t,n)},_arrayForEachSeriesAsync=async function(r,o,t){const n=r.length;for(;++t<n;){const n=o(r[t]);isPromise(n)&&await n}return r},arrayForEachSeries=function(r,o){const t=r.length;let n=-1;for(;++n<t;){const t=o(r[n]);if(isPromise(t))return t.then(thunkify3(_arrayForEachSeriesAsync,r,o,n))}return r},_objectForEachSeriesAsync=async function(r,o,t){for(const n in r){if(n==t)continue;const e=o(r[n]);isPromise(e)&&await e}return r},objectForEachSeries=function(r,o){for(const t in r){const n=o(r[t]);if(isPromise(n))return n.then(thunkify3(_objectForEachSeriesAsync,r,o,t))}return r},thunkify2=(r,o,t)=>function(){return r(o,t)},_iteratorForEachSeriesAsync=async function(r,o){let t=r.next();for(;!t.done;){const n=o(t.value);isPromise(n)&&await n,t=r.next()}return r},iteratorForEachSeries=function(r,o){let t=r.next();for(;!r.done;){const n=o(t.value);if(isPromise(n))return n.then(thunkify2(_iteratorForEachSeriesAsync,r,o));t=r.next()}return r},asyncIteratorForEachSeries=async function(r,o){for await(const t of r){const r=o(t);isPromise(r)&&await r}return r},_forEach=function(r,o){return isArray(r)?arrayForEach(r,o):null==r?r:"function"==typeof r.forEach?r.forEach(o):"function"==typeof r[symbolIterator]?iteratorForEach(r[symbolIterator](),o):"function"==typeof r[symbolAsyncIterator]?asyncIteratorForEach(r[symbolAsyncIterator](),o):r.constructor==Object?objectForEach(r,o):r},forEach=function(r,o){return"function"==typeof r?curry2(_forEach,__,r):isPromise(r)?r.then(curry2(_forEach,__,o)):_forEach(r,o)},_forEachSeries=function(r,o){if(isArray(r))return arrayForEachSeries(r,o);if(null==r)throw new Error(`invalid collection ${r}`);if("function"==typeof r[symbolIterator])return iteratorForEachSeries(r[symbolIterator](),o);if("function"==typeof r[symbolAsyncIterator])return asyncIteratorForEachSeries(r[symbolAsyncIterator](),o);if(r.constructor==Object)return objectForEachSeries(r,o);throw new Error(`invalid collection ${r}`)};forEach.series=function(r,o){return"function"==typeof r?curry2(_forEachSeries,__,r):isPromise(r)?r.then(curry2(_forEachSeries,__,o)):_forEachSeries(r,o)};export default forEach;
|
package/dist/forEach.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.3.
|
|
2
|
+
* rubico v2.3.8
|
|
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,111 @@ const symbolIterator = Symbol.iterator
|
|
|
106
106
|
|
|
107
107
|
const symbolAsyncIterator = Symbol.asyncIterator
|
|
108
108
|
|
|
109
|
+
const thunkify3 = (func, arg0, arg1, arg2) => function thunk() {
|
|
110
|
+
return func(arg0, arg1, arg2)
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
// _arrayForEachSeriesAsync(
|
|
114
|
+
// array Array,
|
|
115
|
+
// callback function,
|
|
116
|
+
// index number
|
|
117
|
+
// ) -> Promise<array>
|
|
118
|
+
const _arrayForEachSeriesAsync = async function (array, callback, index) {
|
|
119
|
+
const length = array.length
|
|
120
|
+
while (++index < length) {
|
|
121
|
+
const operation = callback(array[index])
|
|
122
|
+
if (isPromise(operation)) {
|
|
123
|
+
await operation
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return array
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
const arrayForEachSeries = function (array, callback) {
|
|
130
|
+
const length = array.length
|
|
131
|
+
let index = -1
|
|
132
|
+
while (++index < length) {
|
|
133
|
+
const operation = callback(array[index])
|
|
134
|
+
if (isPromise(operation)) {
|
|
135
|
+
return operation
|
|
136
|
+
.then(thunkify3(_arrayForEachSeriesAsync, array, callback, index))
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
return array
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// _objectForEachSeriesAsync(
|
|
143
|
+
// object Object,
|
|
144
|
+
// callback function,
|
|
145
|
+
// firstKey string
|
|
146
|
+
// ) -> Promise<object>
|
|
147
|
+
const _objectForEachSeriesAsync = async function (object, callback, firstKey) {
|
|
148
|
+
for (const key in object) {
|
|
149
|
+
if (key == firstKey) {
|
|
150
|
+
continue
|
|
151
|
+
}
|
|
152
|
+
const operation = callback(object[key])
|
|
153
|
+
if (isPromise(operation)) {
|
|
154
|
+
await operation
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return object
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
const objectForEachSeries = function (object, callback) {
|
|
161
|
+
for (const key in object) {
|
|
162
|
+
const operation = callback(object[key])
|
|
163
|
+
if (isPromise(operation)) {
|
|
164
|
+
return operation
|
|
165
|
+
.then(thunkify3(_objectForEachSeriesAsync, object, callback, key))
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
return object
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
const thunkify2 = (func, arg0, arg1) => function thunk() {
|
|
172
|
+
return func(arg0, arg1)
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
// _iteratorForEachSeriesAsync(
|
|
176
|
+
// iterator Iterator,
|
|
177
|
+
// callback function,
|
|
178
|
+
// ) -> Promise<iterator>
|
|
179
|
+
const _iteratorForEachSeriesAsync = async function (iterator, callback) {
|
|
180
|
+
let iteration = iterator.next()
|
|
181
|
+
while (!iteration.done) {
|
|
182
|
+
const operation = callback(iteration.value)
|
|
183
|
+
if (isPromise(operation)) {
|
|
184
|
+
await operation
|
|
185
|
+
}
|
|
186
|
+
iteration = iterator.next()
|
|
187
|
+
}
|
|
188
|
+
return iterator
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
const iteratorForEachSeries = function (iterator, callback) {
|
|
192
|
+
let iteration = iterator.next()
|
|
193
|
+
while (!iterator.done) {
|
|
194
|
+
const operation = callback(iteration.value)
|
|
195
|
+
if (isPromise(operation)) {
|
|
196
|
+
return operation
|
|
197
|
+
.then(thunkify2(_iteratorForEachSeriesAsync, iterator, callback))
|
|
198
|
+
}
|
|
199
|
+
iteration = iterator.next()
|
|
200
|
+
}
|
|
201
|
+
return iterator
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
const asyncIteratorForEachSeries = async function (asyncIterator, callback) {
|
|
205
|
+
for await (const item of asyncIterator) {
|
|
206
|
+
const operation = callback(item)
|
|
207
|
+
if (isPromise(operation)) {
|
|
208
|
+
await operation
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
return asyncIterator
|
|
212
|
+
}
|
|
213
|
+
|
|
109
214
|
// type Collection = Array|Iterable|AsyncIterable|{ forEach: function }|Object
|
|
110
215
|
// _forEach(collection Collection, callback function) -> collection Collection
|
|
111
216
|
const _forEach = function (collection, callback) {
|
|
@@ -130,15 +235,41 @@ const _forEach = function (collection, callback) {
|
|
|
130
235
|
return collection
|
|
131
236
|
}
|
|
132
237
|
|
|
133
|
-
const forEach = function (
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
238
|
+
const forEach = function (arg0, arg1) {
|
|
239
|
+
if (typeof arg0 == 'function') {
|
|
240
|
+
return curry2(_forEach, __, arg0)
|
|
241
|
+
}
|
|
242
|
+
return isPromise(arg0)
|
|
243
|
+
? arg0.then(curry2(_forEach, __, arg1))
|
|
244
|
+
: _forEach(arg0, arg1)
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
const _forEachSeries = function (collection, callback) {
|
|
248
|
+
if (isArray(collection)) {
|
|
249
|
+
return arrayForEachSeries(collection, callback)
|
|
250
|
+
}
|
|
251
|
+
if (collection == null) {
|
|
252
|
+
throw new Error(`invalid collection ${collection}`)
|
|
253
|
+
}
|
|
254
|
+
if (typeof collection[symbolIterator] == 'function') {
|
|
255
|
+
return iteratorForEachSeries(collection[symbolIterator](), callback)
|
|
256
|
+
}
|
|
257
|
+
if (typeof collection[symbolAsyncIterator] == 'function') {
|
|
258
|
+
return asyncIteratorForEachSeries(collection[symbolAsyncIterator](), callback)
|
|
259
|
+
}
|
|
260
|
+
if (collection.constructor == Object) {
|
|
261
|
+
return objectForEachSeries(collection, callback)
|
|
262
|
+
}
|
|
263
|
+
throw new Error(`invalid collection ${collection}`)
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
forEach.series = function forEachSeries(arg0, arg1) {
|
|
267
|
+
if (typeof arg0 == 'function') {
|
|
268
|
+
return curry2(_forEachSeries, __, arg0)
|
|
137
269
|
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
: _forEach(collection, callback)
|
|
270
|
+
return isPromise(arg0)
|
|
271
|
+
? arg0.then(curry2(_forEachSeries, __, arg1))
|
|
272
|
+
: _forEachSeries(arg0, arg1)
|
|
142
273
|
}
|
|
143
274
|
|
|
144
275
|
return forEach
|
package/dist/forEach.min.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.3.
|
|
2
|
+
* rubico v2.3.8
|
|
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.forEach=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=Symbol.for("placeholder"),o=function(n,o,
|
|
8
|
+
!function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.forEach=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=Symbol.for("placeholder"),o=function(n,o,r){return o==t?((n,t)=>function(o){return n(o,t)})(n,r):((n,t)=>function(o){return n(t,o)})(n,o)},r=Array.isArray,e=(Object.prototype.toString,Promise.all.bind(Promise)),c=n=>function(){return n},u=Symbol.iterator,f=Symbol.asyncIterator,i=(n,t,o,r)=>function(){return n(t,o,r)},s=async function(t,o,r){const e=t.length;for(;++r<e;){const e=o(t[r]);n(e)&&await e}return t},l=async function(t,o,r){for(const e in t){if(e==r)continue;const c=o(t[e]);n(c)&&await c}return t},a=(n,t,o)=>function(){return n(t,o)},h=async function(t,o){let r=t.next();for(;!r.done;){const e=o(r.value);n(e)&&await e,r=t.next()}return t},y=function(t,o){return r(t)?function(t,o){const r=t.length,u=[];let f=-1;for(;++f<r;){const r=o(t[f]);n(r)&&u.push(r)}return 0==u.length?t:e(u).then(c(t))}(t,o):null==t?t:"function"==typeof t.forEach?t.forEach(o):"function"==typeof t[u]?function(t,o){const r=[];for(const e of t){const t=o(e);n(t)&&r.push(t)}return 0==r.length?t:e(r).then(c(t))}(t[u](),o):"function"==typeof t[f]?async function(t,o){const r=[];for await(const e of t){const t=o(e);n(t)&&r.push(t)}return 0==r.length?t:e(r).then(c(t))}(t[f](),o):t.constructor==Object?function(t,o){const r=[];for(const e in t){const c=o(t[e]);n(c)&&r.push(c)}return 0==r.length?t:e(r).then(c(t))}(t,o):t},p=function(r,e){return"function"==typeof r?o(y,t,r):n(r)?r.then(o(y,t,e)):y(r,e)},b=function(t,o){if(r(t))return function(t,o){const r=t.length;let e=-1;for(;++e<r;){const r=o(t[e]);if(n(r))return r.then(i(s,t,o,e))}return t}(t,o);if(null==t)throw new Error(`invalid collection ${t}`);if("function"==typeof t[u])return function(t,o){let r=t.next();for(;!t.done;){const e=o(r.value);if(n(e))return e.then(a(h,t,o));r=t.next()}return t}(t[u](),o);if("function"==typeof t[f])return async function(t,o){for await(const r of t){const t=o(r);n(t)&&await t}return t}(t[f](),o);if(t.constructor==Object)return function(t,o){for(const r in t){const e=o(t[r]);if(n(e))return e.then(i(l,t,o,r))}return t}(t,o);throw new Error(`invalid collection ${t}`)};return p.series=function(r,e){return"function"==typeof r?o(b,t,r):n(r)?r.then(o(b,t,e)):b(r,e)},p}());
|
package/dist/forEach.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.3.
|
|
2
|
+
* rubico v2.3.8
|
|
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,111 @@ const symbolIterator = Symbol.iterator
|
|
|
100
100
|
|
|
101
101
|
const symbolAsyncIterator = Symbol.asyncIterator
|
|
102
102
|
|
|
103
|
+
const thunkify3 = (func, arg0, arg1, arg2) => function thunk() {
|
|
104
|
+
return func(arg0, arg1, arg2)
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
// _arrayForEachSeriesAsync(
|
|
108
|
+
// array Array,
|
|
109
|
+
// callback function,
|
|
110
|
+
// index number
|
|
111
|
+
// ) -> Promise<array>
|
|
112
|
+
const _arrayForEachSeriesAsync = async function (array, callback, index) {
|
|
113
|
+
const length = array.length
|
|
114
|
+
while (++index < length) {
|
|
115
|
+
const operation = callback(array[index])
|
|
116
|
+
if (isPromise(operation)) {
|
|
117
|
+
await operation
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return array
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
const arrayForEachSeries = function (array, callback) {
|
|
124
|
+
const length = array.length
|
|
125
|
+
let index = -1
|
|
126
|
+
while (++index < length) {
|
|
127
|
+
const operation = callback(array[index])
|
|
128
|
+
if (isPromise(operation)) {
|
|
129
|
+
return operation
|
|
130
|
+
.then(thunkify3(_arrayForEachSeriesAsync, array, callback, index))
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return array
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
// _objectForEachSeriesAsync(
|
|
137
|
+
// object Object,
|
|
138
|
+
// callback function,
|
|
139
|
+
// firstKey string
|
|
140
|
+
// ) -> Promise<object>
|
|
141
|
+
const _objectForEachSeriesAsync = async function (object, callback, firstKey) {
|
|
142
|
+
for (const key in object) {
|
|
143
|
+
if (key == firstKey) {
|
|
144
|
+
continue
|
|
145
|
+
}
|
|
146
|
+
const operation = callback(object[key])
|
|
147
|
+
if (isPromise(operation)) {
|
|
148
|
+
await operation
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
return object
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
const objectForEachSeries = function (object, callback) {
|
|
155
|
+
for (const key in object) {
|
|
156
|
+
const operation = callback(object[key])
|
|
157
|
+
if (isPromise(operation)) {
|
|
158
|
+
return operation
|
|
159
|
+
.then(thunkify3(_objectForEachSeriesAsync, object, callback, key))
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
return object
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
const thunkify2 = (func, arg0, arg1) => function thunk() {
|
|
166
|
+
return func(arg0, arg1)
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
// _iteratorForEachSeriesAsync(
|
|
170
|
+
// iterator Iterator,
|
|
171
|
+
// callback function,
|
|
172
|
+
// ) -> Promise<iterator>
|
|
173
|
+
const _iteratorForEachSeriesAsync = async function (iterator, callback) {
|
|
174
|
+
let iteration = iterator.next()
|
|
175
|
+
while (!iteration.done) {
|
|
176
|
+
const operation = callback(iteration.value)
|
|
177
|
+
if (isPromise(operation)) {
|
|
178
|
+
await operation
|
|
179
|
+
}
|
|
180
|
+
iteration = iterator.next()
|
|
181
|
+
}
|
|
182
|
+
return iterator
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
const iteratorForEachSeries = function (iterator, callback) {
|
|
186
|
+
let iteration = iterator.next()
|
|
187
|
+
while (!iterator.done) {
|
|
188
|
+
const operation = callback(iteration.value)
|
|
189
|
+
if (isPromise(operation)) {
|
|
190
|
+
return operation
|
|
191
|
+
.then(thunkify2(_iteratorForEachSeriesAsync, iterator, callback))
|
|
192
|
+
}
|
|
193
|
+
iteration = iterator.next()
|
|
194
|
+
}
|
|
195
|
+
return iterator
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
const asyncIteratorForEachSeries = async function (asyncIterator, callback) {
|
|
199
|
+
for await (const item of asyncIterator) {
|
|
200
|
+
const operation = callback(item)
|
|
201
|
+
if (isPromise(operation)) {
|
|
202
|
+
await operation
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
return asyncIterator
|
|
206
|
+
}
|
|
207
|
+
|
|
103
208
|
// type Collection = Array|Iterable|AsyncIterable|{ forEach: function }|Object
|
|
104
209
|
// _forEach(collection Collection, callback function) -> collection Collection
|
|
105
210
|
const _forEach = function (collection, callback) {
|
|
@@ -124,15 +229,41 @@ const _forEach = function (collection, callback) {
|
|
|
124
229
|
return collection
|
|
125
230
|
}
|
|
126
231
|
|
|
127
|
-
const forEach = function (
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
232
|
+
const forEach = function (arg0, arg1) {
|
|
233
|
+
if (typeof arg0 == 'function') {
|
|
234
|
+
return curry2(_forEach, __, arg0)
|
|
235
|
+
}
|
|
236
|
+
return isPromise(arg0)
|
|
237
|
+
? arg0.then(curry2(_forEach, __, arg1))
|
|
238
|
+
: _forEach(arg0, arg1)
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
const _forEachSeries = function (collection, callback) {
|
|
242
|
+
if (isArray(collection)) {
|
|
243
|
+
return arrayForEachSeries(collection, callback)
|
|
244
|
+
}
|
|
245
|
+
if (collection == null) {
|
|
246
|
+
throw new Error(`invalid collection ${collection}`)
|
|
247
|
+
}
|
|
248
|
+
if (typeof collection[symbolIterator] == 'function') {
|
|
249
|
+
return iteratorForEachSeries(collection[symbolIterator](), callback)
|
|
250
|
+
}
|
|
251
|
+
if (typeof collection[symbolAsyncIterator] == 'function') {
|
|
252
|
+
return asyncIteratorForEachSeries(collection[symbolAsyncIterator](), callback)
|
|
253
|
+
}
|
|
254
|
+
if (collection.constructor == Object) {
|
|
255
|
+
return objectForEachSeries(collection, callback)
|
|
256
|
+
}
|
|
257
|
+
throw new Error(`invalid collection ${collection}`)
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
forEach.series = function forEachSeries(arg0, arg1) {
|
|
261
|
+
if (typeof arg0 == 'function') {
|
|
262
|
+
return curry2(_forEachSeries, __, arg0)
|
|
131
263
|
}
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
: _forEach(collection, callback)
|
|
264
|
+
return isPromise(arg0)
|
|
265
|
+
? arg0.then(curry2(_forEachSeries, __, arg1))
|
|
266
|
+
: _forEachSeries(arg0, arg1)
|
|
136
267
|
}
|
|
137
268
|
|
|
138
269
|
export default forEach
|
package/dist/get.es.js
CHANGED
package/dist/get.es.min.js
CHANGED
package/dist/get.js
CHANGED
package/dist/get.min.js
CHANGED
package/dist/get.mjs
CHANGED
package/dist/gt.es.js
CHANGED
package/dist/gt.es.min.js
CHANGED
package/dist/gt.js
CHANGED
package/dist/gt.min.js
CHANGED
package/dist/gt.mjs
CHANGED
package/dist/gte.es.js
CHANGED
package/dist/gte.es.min.js
CHANGED