rubico 2.5.0 → 2.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_internal/arrayMapPool.js +11 -19
- package/_internal/mapMapPool.js +80 -0
- package/_internal/objectMapPool.js +77 -0
- package/_internal/objectMapSeries.js +1 -0
- package/_internal/setMapPool.js +79 -0
- package/_internal/stringMapPool.js +22 -0
- package/all.js +11 -1
- package/and.js +9 -0
- package/assign.js +14 -1
- package/compose.js +8 -0
- package/dist/Transducer.es.js +1 -1
- package/dist/Transducer.es.min.js +1 -1
- package/dist/Transducer.js +1 -1
- package/dist/Transducer.min.js +1 -1
- package/dist/Transducer.mjs +1 -1
- package/dist/__.es.js +1 -1
- package/dist/__.es.min.js +1 -1
- package/dist/__.js +1 -1
- package/dist/__.min.js +1 -1
- package/dist/__.mjs +1 -1
- package/dist/all.es.js +1 -1
- package/dist/all.es.min.js +1 -1
- package/dist/all.js +1 -1
- package/dist/all.min.js +1 -1
- package/dist/all.mjs +1 -1
- package/dist/always.es.js +1 -1
- package/dist/always.es.min.js +1 -1
- package/dist/always.js +1 -1
- package/dist/always.min.js +1 -1
- package/dist/always.mjs +1 -1
- package/dist/and.es.js +1 -1
- package/dist/and.es.min.js +1 -1
- package/dist/and.js +1 -1
- package/dist/and.min.js +1 -1
- package/dist/and.mjs +1 -1
- package/dist/assign.es.js +1 -1
- package/dist/assign.es.min.js +1 -1
- package/dist/assign.js +1 -1
- package/dist/assign.min.js +1 -1
- package/dist/assign.mjs +1 -1
- package/dist/compose.es.js +1 -1
- package/dist/compose.es.min.js +1 -1
- package/dist/compose.js +1 -1
- package/dist/compose.min.js +1 -1
- package/dist/compose.mjs +1 -1
- package/dist/curry.es.js +1 -1
- package/dist/curry.es.min.js +1 -1
- package/dist/curry.js +1 -1
- package/dist/curry.min.js +1 -1
- package/dist/curry.mjs +1 -1
- package/dist/eq.es.js +1 -1
- package/dist/eq.es.min.js +1 -1
- package/dist/eq.js +1 -1
- package/dist/eq.min.js +1 -1
- package/dist/eq.mjs +1 -1
- package/dist/every.es.js +1 -1
- package/dist/every.es.min.js +1 -1
- package/dist/every.js +1 -1
- package/dist/every.min.js +1 -1
- package/dist/every.mjs +1 -1
- package/dist/filter.es.js +1 -1
- package/dist/filter.es.min.js +1 -1
- package/dist/filter.js +1 -1
- package/dist/filter.min.js +1 -1
- package/dist/filter.mjs +1 -1
- package/dist/flatMap.es.js +1 -1
- package/dist/flatMap.es.min.js +1 -1
- package/dist/flatMap.js +1 -1
- package/dist/flatMap.min.js +1 -1
- package/dist/flatMap.mjs +1 -1
- package/dist/forEach.es.js +3 -2
- package/dist/forEach.es.min.js +2 -2
- package/dist/forEach.js +3 -2
- package/dist/forEach.min.js +2 -2
- package/dist/forEach.mjs +3 -2
- package/dist/get.es.js +1 -1
- package/dist/get.es.min.js +1 -1
- package/dist/get.js +1 -1
- package/dist/get.min.js +1 -1
- package/dist/get.mjs +1 -1
- package/dist/gt.es.js +1 -1
- package/dist/gt.es.min.js +1 -1
- package/dist/gt.js +1 -1
- package/dist/gt.min.js +1 -1
- package/dist/gt.mjs +1 -1
- package/dist/gte.es.js +1 -1
- package/dist/gte.es.min.js +1 -1
- package/dist/gte.js +1 -1
- package/dist/gte.min.js +1 -1
- package/dist/gte.mjs +1 -1
- package/dist/lt.es.js +1 -1
- package/dist/lt.es.min.js +1 -1
- package/dist/lt.js +1 -1
- package/dist/lt.min.js +1 -1
- package/dist/lt.mjs +1 -1
- package/dist/lte.es.js +1 -1
- package/dist/lte.es.min.js +1 -1
- package/dist/lte.js +1 -1
- package/dist/lte.min.js +1 -1
- package/dist/lte.mjs +1 -1
- package/dist/map.es.js +221 -44
- package/dist/map.es.min.js +2 -2
- package/dist/map.js +221 -44
- package/dist/map.min.js +2 -2
- package/dist/map.mjs +221 -44
- package/dist/not.es.js +1 -1
- package/dist/not.es.min.js +1 -1
- package/dist/not.js +1 -1
- package/dist/not.min.js +1 -1
- package/dist/not.mjs +1 -1
- package/dist/omit.es.js +1 -1
- package/dist/omit.es.min.js +1 -1
- package/dist/omit.js +1 -1
- package/dist/omit.min.js +1 -1
- package/dist/omit.mjs +1 -1
- package/dist/or.es.js +1 -1
- package/dist/or.es.min.js +1 -1
- package/dist/or.js +1 -1
- package/dist/or.min.js +1 -1
- package/dist/or.mjs +1 -1
- package/dist/pick.es.js +1 -1
- package/dist/pick.es.min.js +1 -1
- package/dist/pick.js +1 -1
- package/dist/pick.min.js +1 -1
- package/dist/pick.mjs +1 -1
- package/dist/pipe.es.js +1 -1
- package/dist/pipe.es.min.js +1 -1
- package/dist/pipe.js +1 -1
- package/dist/pipe.min.js +1 -1
- package/dist/pipe.mjs +1 -1
- package/dist/reduce.es.js +1 -1
- package/dist/reduce.es.min.js +1 -1
- package/dist/reduce.js +1 -1
- package/dist/reduce.min.js +1 -1
- package/dist/reduce.mjs +1 -1
- package/dist/rubico.es.js +259 -60
- package/dist/rubico.es.min.js +2 -2
- package/dist/rubico.global.js +259 -60
- package/dist/rubico.global.min.js +2 -2
- package/dist/rubico.js +259 -60
- package/dist/rubico.min.js +2 -2
- package/dist/rubico.mjs +259 -60
- package/dist/set.es.js +1 -1
- package/dist/set.es.min.js +1 -1
- package/dist/set.js +1 -1
- package/dist/set.min.js +1 -1
- package/dist/set.mjs +1 -1
- package/dist/some.es.js +1 -1
- package/dist/some.es.min.js +1 -1
- package/dist/some.js +1 -1
- package/dist/some.min.js +1 -1
- package/dist/some.mjs +1 -1
- package/dist/switchCase.es.js +1 -1
- package/dist/switchCase.es.min.js +1 -1
- package/dist/switchCase.js +1 -1
- package/dist/switchCase.min.js +1 -1
- package/dist/switchCase.mjs +1 -1
- package/dist/tap.es.js +100 -14
- package/dist/tap.es.min.js +2 -2
- package/dist/tap.js +100 -14
- package/dist/tap.min.js +2 -2
- package/dist/tap.mjs +100 -14
- package/dist/thunkify.es.js +1 -1
- package/dist/thunkify.es.min.js +1 -1
- package/dist/thunkify.js +1 -1
- package/dist/thunkify.min.js +1 -1
- package/dist/thunkify.mjs +1 -1
- package/dist/transform.es.js +1 -1
- package/dist/transform.es.min.js +1 -1
- package/dist/transform.js +1 -1
- package/dist/transform.min.js +1 -1
- package/dist/transform.mjs +1 -1
- package/dist/tryCatch.es.js +1 -1
- package/dist/tryCatch.es.min.js +1 -1
- package/dist/tryCatch.js +1 -1
- package/dist/tryCatch.min.js +1 -1
- package/dist/tryCatch.mjs +1 -1
- package/dist/x/append.es.js +1 -1
- package/dist/x/append.es.min.js +1 -1
- package/dist/x/append.js +1 -1
- package/dist/x/append.min.js +1 -1
- package/dist/x/append.mjs +1 -1
- package/dist/x/callProp.es.js +1 -1
- package/dist/x/callProp.es.min.js +1 -1
- package/dist/x/callProp.js +1 -1
- package/dist/x/callProp.min.js +1 -1
- package/dist/x/callProp.mjs +1 -1
- package/dist/x/defaultsDeep.es.js +1 -1
- package/dist/x/defaultsDeep.es.min.js +1 -1
- package/dist/x/defaultsDeep.js +1 -1
- package/dist/x/defaultsDeep.min.js +1 -1
- package/dist/x/defaultsDeep.mjs +1 -1
- package/dist/x/differenceWith.es.js +1 -1
- package/dist/x/differenceWith.es.min.js +1 -1
- package/dist/x/differenceWith.js +1 -1
- package/dist/x/differenceWith.min.js +1 -1
- package/dist/x/differenceWith.mjs +1 -1
- package/dist/x/filterOut.es.js +1 -1
- package/dist/x/filterOut.es.min.js +1 -1
- package/dist/x/filterOut.js +1 -1
- package/dist/x/filterOut.min.js +1 -1
- package/dist/x/filterOut.mjs +1 -1
- package/dist/x/find.es.js +1 -1
- package/dist/x/find.es.min.js +1 -1
- package/dist/x/find.js +1 -1
- package/dist/x/find.min.js +1 -1
- package/dist/x/find.mjs +1 -1
- package/dist/x/findIndex.es.js +1 -1
- package/dist/x/findIndex.es.min.js +1 -1
- package/dist/x/findIndex.js +1 -1
- package/dist/x/findIndex.min.js +1 -1
- package/dist/x/findIndex.mjs +1 -1
- package/dist/x/first.es.js +1 -1
- package/dist/x/first.es.min.js +1 -1
- package/dist/x/first.js +1 -1
- package/dist/x/first.min.js +1 -1
- package/dist/x/first.mjs +1 -1
- package/dist/x/flatten.es.js +1 -1
- package/dist/x/flatten.es.min.js +1 -1
- package/dist/x/flatten.js +1 -1
- package/dist/x/flatten.min.js +1 -1
- package/dist/x/flatten.mjs +1 -1
- package/dist/x/groupBy.es.js +1 -1
- package/dist/x/groupBy.es.min.js +1 -1
- package/dist/x/groupBy.js +1 -1
- package/dist/x/groupBy.min.js +1 -1
- package/dist/x/groupBy.mjs +1 -1
- package/dist/x/has.es.js +1 -1
- package/dist/x/has.es.min.js +1 -1
- package/dist/x/has.js +1 -1
- package/dist/x/has.min.js +1 -1
- package/dist/x/has.mjs +1 -1
- package/dist/x/identity.es.js +1 -1
- package/dist/x/identity.es.min.js +1 -1
- package/dist/x/identity.js +1 -1
- package/dist/x/identity.min.js +1 -1
- package/dist/x/identity.mjs +1 -1
- package/dist/x/includes.es.js +1 -1
- package/dist/x/includes.es.min.js +1 -1
- package/dist/x/includes.js +1 -1
- package/dist/x/includes.min.js +1 -1
- package/dist/x/includes.mjs +1 -1
- package/dist/x/isDeepEqual.es.js +1 -1
- package/dist/x/isDeepEqual.es.min.js +1 -1
- package/dist/x/isDeepEqual.js +1 -1
- package/dist/x/isDeepEqual.min.js +1 -1
- package/dist/x/isDeepEqual.mjs +1 -1
- package/dist/x/isEmpty.es.js +1 -1
- package/dist/x/isEmpty.es.min.js +1 -1
- package/dist/x/isEmpty.js +1 -1
- package/dist/x/isEmpty.min.js +1 -1
- package/dist/x/isEmpty.mjs +1 -1
- package/dist/x/isEqual.es.js +1 -1
- package/dist/x/isEqual.es.min.js +1 -1
- package/dist/x/isEqual.js +1 -1
- package/dist/x/isEqual.min.js +1 -1
- package/dist/x/isEqual.mjs +1 -1
- package/dist/x/isFunction.es.js +1 -1
- package/dist/x/isFunction.es.min.js +1 -1
- package/dist/x/isFunction.js +1 -1
- package/dist/x/isFunction.min.js +1 -1
- package/dist/x/isFunction.mjs +1 -1
- package/dist/x/isIn.es.js +1 -1
- package/dist/x/isIn.es.min.js +1 -1
- package/dist/x/isIn.js +1 -1
- package/dist/x/isIn.min.js +1 -1
- package/dist/x/isIn.mjs +1 -1
- package/dist/x/isObject.es.js +1 -1
- package/dist/x/isObject.es.min.js +1 -1
- package/dist/x/isObject.js +1 -1
- package/dist/x/isObject.min.js +1 -1
- package/dist/x/isObject.mjs +1 -1
- package/dist/x/isString.es.js +1 -1
- package/dist/x/isString.es.min.js +1 -1
- package/dist/x/isString.js +1 -1
- package/dist/x/isString.min.js +1 -1
- package/dist/x/isString.mjs +1 -1
- package/dist/x/keys.es.js +1 -1
- package/dist/x/keys.es.min.js +1 -1
- package/dist/x/keys.js +1 -1
- package/dist/x/keys.min.js +1 -1
- package/dist/x/keys.mjs +1 -1
- package/dist/x/last.es.js +1 -1
- package/dist/x/last.es.min.js +1 -1
- package/dist/x/last.js +1 -1
- package/dist/x/last.min.js +1 -1
- package/dist/x/last.mjs +1 -1
- package/dist/x/maxBy.es.js +1 -1
- package/dist/x/maxBy.es.min.js +1 -1
- package/dist/x/maxBy.js +1 -1
- package/dist/x/maxBy.min.js +1 -1
- package/dist/x/maxBy.mjs +1 -1
- package/dist/x/noop.es.js +1 -1
- package/dist/x/noop.es.min.js +1 -1
- package/dist/x/noop.js +1 -1
- package/dist/x/noop.min.js +1 -1
- package/dist/x/noop.mjs +1 -1
- package/dist/x/pluck.es.js +221 -44
- package/dist/x/pluck.es.min.js +2 -2
- package/dist/x/pluck.js +221 -44
- package/dist/x/pluck.min.js +2 -2
- package/dist/x/pluck.mjs +221 -44
- package/dist/x/prepend.es.js +1 -1
- package/dist/x/prepend.es.min.js +1 -1
- package/dist/x/prepend.js +1 -1
- package/dist/x/prepend.min.js +1 -1
- package/dist/x/prepend.mjs +1 -1
- package/dist/x/size.es.js +1 -1
- package/dist/x/size.es.min.js +1 -1
- package/dist/x/size.js +1 -1
- package/dist/x/size.min.js +1 -1
- package/dist/x/size.mjs +1 -1
- package/dist/x/trace.es.js +100 -14
- package/dist/x/trace.es.min.js +2 -2
- package/dist/x/trace.js +100 -14
- package/dist/x/trace.min.js +2 -2
- package/dist/x/trace.mjs +100 -14
- package/dist/x/unionWith.es.js +1 -1
- package/dist/x/unionWith.es.min.js +1 -1
- package/dist/x/unionWith.js +1 -1
- package/dist/x/unionWith.min.js +1 -1
- package/dist/x/unionWith.mjs +1 -1
- package/dist/x/uniq.es.js +1 -1
- package/dist/x/uniq.es.min.js +1 -1
- package/dist/x/uniq.js +1 -1
- package/dist/x/uniq.min.js +1 -1
- package/dist/x/uniq.mjs +1 -1
- package/dist/x/unless.es.js +1 -1
- package/dist/x/unless.es.min.js +1 -1
- package/dist/x/unless.js +1 -1
- package/dist/x/unless.min.js +1 -1
- package/dist/x/unless.mjs +1 -1
- package/dist/x/values.es.js +1 -1
- package/dist/x/values.es.min.js +1 -1
- package/dist/x/values.js +1 -1
- package/dist/x/values.min.js +1 -1
- package/dist/x/values.mjs +1 -1
- package/dist/x/when.es.js +1 -1
- package/dist/x/when.es.min.js +1 -1
- package/dist/x/when.js +1 -1
- package/dist/x/when.min.js +1 -1
- package/dist/x/when.mjs +1 -1
- package/eq.js +6 -0
- package/es.js +259 -60
- package/every.js +6 -0
- package/filter.js +9 -0
- package/flatMap.js +7 -0
- package/forEach.js +20 -1
- package/get.js +6 -0
- package/gt.js +6 -0
- package/gte.js +6 -0
- package/index.js +259 -60
- package/lt.js +6 -0
- package/lte.js +6 -0
- package/map.js +118 -45
- package/not.js +8 -0
- package/omit.js +7 -0
- package/or.js +9 -0
- package/package.json +1 -1
- package/pick.js +7 -0
- package/pipe.js +8 -0
- package/reduce.js +8 -0
- package/set.js +6 -0
- package/some.js +6 -0
- package/switchCase.js +12 -0
- package/tap.js +75 -26
- package/transform.js +38 -10
- package/tryCatch.js +14 -0
package/dist/x/pluck.es.min.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.
|
|
2
|
+
* rubico v2.6.1
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
4
|
* (c) 2019-2024 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
6
6
|
*/
|
|
7
|
-
const isPromise=r=>null!=r&&"function"==typeof r.then,funcConcat=(r,t)=>function(...e){const n=r(...e);return isPromise(n)?n.then(t):t(n)},symbolIterator=Symbol.iterator,MappingIterator=(r,t)=>({toString:()=>"[object MappingIterator]",[symbolIterator](){return this},next(){const e=r.next();return e.done?e:{value:t(e.value),done:!1}}}),NextIteration=r=>({value:r,done:!1}),symbolAsyncIterator=Symbol.asyncIterator,MappingAsyncIterator=(r,t)=>({[symbolAsyncIterator](){return this},async next(){const e=await r.next();if(e.done)return e;const n=t(e.value);return isPromise(n)?n.then(NextIteration):{value:n,done:!1}}}),__=Symbol.for("placeholder"),curry2ResolveArg0=(r,t)=>function(e){return r(e,t)},curry2ResolveArg1=(r,t)=>function(e){return r(t,e)},curry2=function(r,t,e){return t==__?curry2ResolveArg0(r,e):curry2ResolveArg1(r,t)},isArray=Array.isArray,isObject=r=>{if(null==r)return!1;const t=typeof r;return"object"==t||"function"==t},promiseAll=Promise.all.bind(Promise),arrayMap=function(r,t){const e=r.length,n=Array(e);let o=-1,s=!1;for(;++o<e;){const e=t(r[o],o,r);isPromise(e)&&(s=!0),n[o]=e}return s?promiseAll(n):n},curry3ResolveArg0=(r,t,e)=>function(n){return r(n,t,e)},curry3ResolveArg1=(r,t,e)=>function(n){return r(t,n,e)},curry3ResolveArg2=(r,t,e)=>function(n){return r(t,e,n)},curry3=function(r,t,e,n){return t==__?curry3ResolveArg0(r,e,n):e==__?curry3ResolveArg1(r,t,n):curry3ResolveArg2(r,t,e)},callPropUnary=(r,t,e)=>r[t](e),stringMap=function(r,t){const e=arrayMap(r,t);return isPromise(e)?e.then(curry3(callPropUnary,__,"join","")):e.join("")},always=r=>function(){return r},setMap=function(r,t){const e=new Set,n=[];for(const o of r){const s=t(o,o,r);isPromise(s)?n.push(s.then(curry3(callPropUnary,e,"add",__))):e.add(s)}return 0==n.length?e:promiseAll(n).then(always(e))},curry4ResolveArg0=(r,t,e,n)=>function(o){return r(o,t,e,n)},curry4ResolveArg1=(r,t,e,n)=>function(o){return r(t,o,e,n)},curry4ResolveArg2=(r,t,e,n)=>function(o){return r(t,e,o,n)},curry4ResolveArg3=(r,t,e,n)=>function(o){return r(t,e,n,o)},curry4=function(r,t,e,n,o){return t==__?curry4ResolveArg0(r,e,n,o):e==__?curry4ResolveArg1(r,t,n,o):n==__?curry4ResolveArg2(r,t,e,o):curry4ResolveArg3(r,t,e,n)},callPropBinary=(r,t,e,n)=>r[t](e,n),mapMap=function(r,t){const e=new Map,n=[];for(const[o,s]of r){const i=t(s,o,r);isPromise(i)?n.push(i.then(curry4(callPropBinary,e,"set",o,__))):e.set(o,i)}return 0==n.length?e:promiseAll(n).then(always(e))},promiseObjectAllExecutor=r=>function(t){const e={};let n=0;for(const o in r){const s=r[o];isPromise(s)?(n+=1,s.then((r=>function(o){e[r]=o,n-=1,0==n&&t(e)})(o))):e[o]=s}0==n&&t(e)},promiseObjectAll=r=>new Promise(promiseObjectAllExecutor(r)),objectMap=function(r,t){const e={};let n=!1;for(const o in r){const s=t(r[o],o,r);isPromise(s)&&(n=!0),e[o]=s}return n?promiseObjectAll(e):e},objectSet=function(r,t,e){return r[t]=e,r},arrayMapSeriesAsync=async function(r,t,e,n){const o=r.length;for(;++n<o;){const o=t(r[n],n);e[n]=isPromise(o)?await o:o}return e},arrayMapSeries=function(r,t){const e=r.length,n=Array(e);let o=-1;for(;++o<e;){const e=t(r[o],o);if(isPromise(e))return e.then(funcConcat(curry3(objectSet,n,o,__),curry4(arrayMapSeriesAsync,r,t,__,o)));n[o]=e}return n},stringMapSeries=function(r,t){const e=arrayMapSeries(r,t);return isPromise(e)?e.then(curry3(callPropUnary,__,"join","")):e.join("")},thunkify4=(r,t,e,n,o)=>function(){return r(t,e,n,o)},_objectMapSeriesAsync=async function(r,t,e,n){for(const o in r){if(o in n)continue;let s=t(r[o]);isPromise(s)&&(s=await s),e[o]=s}return e},objectMapSeries=function(r,t){const e={},n={};for(const o in r){n[o]=!0;const s=t(r[o],o,r);if(isPromise(s))return s.then(funcConcat(curry3(objectSet,e,o,__),thunkify4(_objectMapSeriesAsync,r,t,e,n)))}return e},thunkify3=(r,t,e,n)=>function(){return r(t,e,n)},setAdd=function(r,t){return r.add(t),r},_setMapSeriesAsync=async function(r,t,e){let n=r.next();for(;!n.done;){let o=t(n.value);isPromise(o)&&(o=await o),e.add(o),n=r.next()}return e},setMapSeries=function(r,t){const e=new Set,n=r[symbolIterator]();let o=n.next();for(;!o.done;){const r=t(o.value);if(isPromise(r))return r.then(funcConcat(curry2(setAdd,e,__),thunkify3(_setMapSeriesAsync,n,t,e)));e.add(r),o=n.next()}return e},mapSet=function(r,t,e){return r.set(t,e)},_mapMapSeriesAsync=async function(r,t,e){let n=r.next();for(;!n.done;){let o=t(n.value[1]);isPromise(o)&&(o=await o),e.set(n.value[0],o),n=r.next()}return e},mapMapSeries=function(r,t){const e=new Map,n=r[symbolIterator]();let o=n.next();for(;!o.done;){const r=o.value[0],s=t(o.value[1]);if(isPromise(s))return s.then(funcConcat(curry3(mapSet,e,r,__),thunkify3(_mapMapSeriesAsync,n,t,e)));e.set(r,s),o=n.next()}return e},tapSync=r=>function(...t){return r(...t),t[0]},promiseRace=Promise.race.bind(Promise),arrayMapPoolAsync=async function(r,t,e,n,o,s){const i=r.length;for(;++o<i;){s.size>=e&&await promiseRace(s);const i=t(r[o]);if(isPromise(i)){const r=i.then(tapSync((()=>s.delete(r))));s.add(r),n[o]=r}else n[o]=i}return promiseAll(n)},arrayMapPool=function(r,t,e){const n=r.length,o=Array(n);let s=-1;for(;++s<n;){const n=t(r[s]);if(isPromise(n)){const i=new Set,c=n.then(tapSync((()=>i.delete(c))));return i.add(c),o[s]=c,arrayMapPoolAsync(r,t,e,o,s,i)}o[s]=n}return o},_curryArity=(r,t,e)=>function(...n){const o=e.length,s=n.length,i=[];let c=-1,a=-1,u=0;for(;++c<o;){const o=e[c];if(o==__&&(a+=1)<s){const r=n[a];r==__&&(u+=1),i.push(r)}else i.push(o);if(i.length==r)return 0==u?t(...i):curryArity(r,t,i)}for(;++a<s;){const e=n[a];if(e==__&&(u+=1),i.push(e),i.length==r)return 0==u?t(...i):curryArity(r,t,i)}return curryArity(r,t,i)},curryArity=function(r,t,e){const n=e.length;if(n<r)return _curryArity(r,t,e);let o=-1;for(;++o<n;){if(e[o]==__)return _curryArity(r,t,e)}return t(...e)},spread2=r=>function([t,e]){return r(t,e)},objectMapEntries=function(r,t){const e={},n=[];for(const o in r){const s=t([o,r[o]]);isPromise(s)?n.push(s.then(spread2(curryArity(3,objectSet,[e])))):e[s[0]]=s[1]}return 0==n.length?e:promiseAll(n).then(always(e))},mapMapEntriesForEachCallback=(r,t,e)=>function(n,o){const s=r([o,n]);isPromise(s)?e.push(s.then(spread2(curryArity(3,mapSet,[t])))):t.set(s[0],s[1])},mapMapEntries=function(r,t){const e=new Map,n=[];return r.forEach(mapMapEntriesForEachCallback(t,e,n)),0==n.length?e:promiseAll(n).then(always(e))},_map=function(r,t){return isArray(r)?arrayMap(r,t):null==r?r:"function"==typeof r.then?r.then(t):"function"==typeof r.map?r.map(t):"string"==typeof r||r.constructor==String?stringMap(r,t):r.constructor==Set?setMap(r,t):r.constructor==Map?mapMap(r,t):"function"==typeof r[symbolIterator]?MappingIterator(r[symbolIterator](),t):"function"==typeof r[symbolAsyncIterator]?MappingAsyncIterator(r[symbolAsyncIterator](),t):r.constructor==Object?objectMap(r,t):t(r)},map=function(r,t){return"function"==typeof r?curry2(_map,__,r):isPromise(r)?r.then(curry2(_map,__,t)):_map(r,t)},_mapEntries=(r,t)=>{if(null==r)throw new TypeError("value is not an Object or Map");if(r.constructor==Object)return objectMapEntries(r,t);if(r.constructor==Map)return mapMapEntries(r,t);throw new TypeError("value is not an Object or Map")};map.entries=function(r,t){return"function"==typeof r?curry2(_mapEntries,__,r):isPromise(r)?r.then(curry2(_mapEntries,__,t)):_mapEntries(r,t)};const _mapSeries=function(r,t){if(isArray(r))return arrayMapSeries(r,t);if(null==r)throw new TypeError(`invalid collection ${r}`);if("string"==typeof r||r.constructor==String)return stringMapSeries(r,t);if(r.constructor==Set)return setMapSeries(r,t);if(r.constructor==Map)return mapMapSeries(r,t);if(r.constructor==Object)return objectMapSeries(r,t);throw new TypeError(`invalid collection ${r}`)};map.series=function(r,t){return"function"==typeof r?curry2(_mapSeries,__,r):isPromise(r)?r.then(curry2(_mapSeries,__,t)):_mapSeries(r,t)},map.pool=(r,t)=>function(e){if(isArray(e))return arrayMapPool(e,t,r);throw new TypeError(`${e} is not an Array`)};const memoizeCappedUnary=function(r,t){const e=new Map,n=function(n){if(e.has(n))return e.get(n);const o=r(n);return e.set(n,o),e.size>t&&e.clear(),o};return n.cache=e,n},pathDelimiters=/[.|[|\]]+/,parsePropertyPath=function(r){const t=r.length-1,e="["==r[0],n="]"==r[t];return e&&n?r.slice(1,t).split(pathDelimiters):e?r.slice(1).split(pathDelimiters):n?r.slice(0,t).split(pathDelimiters):r.split(pathDelimiters)},memoizedCappedParsePropertyPath=memoizeCappedUnary(parsePropertyPath,500),propertyPathToArray=r=>isArray(r)?r:"string"==typeof r?memoizedCappedParsePropertyPath(r):[r],getByPath=function(r,t){const e=propertyPathToArray(t),n=e.length;let o=-1,s=r;for(;++o<n;)if(s=s[e[o]],null==s)return;return s},_get=function(r,t,e){const n=null==r?void 0:getByPath(r,t);return void 0===n?"function"==typeof e?e(r):e:n},get=function(r,t,e){return"string"==typeof r||"number"==typeof r||isArray(r)?curry3(_get,__,r,t):isPromise(r)?r.then(curry3(_get,__,t,e)):_get(r,t,e)},pluck=function(...r){const t=r.pop(),e=get(t);return 0==r.length?map(e):map(r[0],e)};export default pluck;
|
|
7
|
+
const isPromise=r=>null!=r&&"function"==typeof r.then,funcConcat=(r,t)=>function(...e){const n=r(...e);return isPromise(n)?n.then(t):t(n)},symbolIterator=Symbol.iterator,MappingIterator=(r,t)=>({toString:()=>"[object MappingIterator]",[symbolIterator](){return this},next(){const e=r.next();return e.done?e:{value:t(e.value),done:!1}}}),NextIteration=r=>({value:r,done:!1}),symbolAsyncIterator=Symbol.asyncIterator,MappingAsyncIterator=(r,t)=>({[symbolAsyncIterator](){return this},async next(){const e=await r.next();if(e.done)return e;const n=t(e.value);return isPromise(n)?n.then(NextIteration):{value:n,done:!1}}}),__=Symbol.for("placeholder"),curry2ResolveArg0=(r,t)=>function(e){return r(e,t)},curry2ResolveArg1=(r,t)=>function(e){return r(t,e)},curry2=function(r,t,e){return t==__?curry2ResolveArg0(r,e):curry2ResolveArg1(r,t)},curry3ResolveArg0=(r,t,e)=>function(n){return r(n,t,e)},curry3ResolveArg1=(r,t,e)=>function(n){return r(t,n,e)},curry3ResolveArg2=(r,t,e)=>function(n){return r(t,e,n)},curry3=function(r,t,e,n){return t==__?curry3ResolveArg0(r,e,n):e==__?curry3ResolveArg1(r,t,n):curry3ResolveArg2(r,t,e)},isArray=Array.isArray,isObject=r=>{if(null==r)return!1;const t=typeof r;return"object"==t||"function"==t},promiseAll=Promise.all.bind(Promise),arrayMap=function(r,t){const e=r.length,n=Array(e);let o=-1,s=!1;for(;++o<e;){const e=t(r[o],o,r);isPromise(e)&&(s=!0),n[o]=e}return s?promiseAll(n):n},callPropUnary=(r,t,e)=>r[t](e),stringMap=function(r,t){const e=arrayMap(r,t);return isPromise(e)?e.then(curry3(callPropUnary,__,"join","")):e.join("")},always=r=>function(){return r},setMap=function(r,t){const e=new Set,n=[];for(const o of r){const s=t(o,o,r);isPromise(s)?n.push(s.then(curry3(callPropUnary,e,"add",__))):e.add(s)}return 0==n.length?e:promiseAll(n).then(always(e))},curry4ResolveArg0=(r,t,e,n)=>function(o){return r(o,t,e,n)},curry4ResolveArg1=(r,t,e,n)=>function(o){return r(t,o,e,n)},curry4ResolveArg2=(r,t,e,n)=>function(o){return r(t,e,o,n)},curry4ResolveArg3=(r,t,e,n)=>function(o){return r(t,e,n,o)},curry4=function(r,t,e,n,o){return t==__?curry4ResolveArg0(r,e,n,o):e==__?curry4ResolveArg1(r,t,n,o):n==__?curry4ResolveArg2(r,t,e,o):curry4ResolveArg3(r,t,e,n)},callPropBinary=(r,t,e,n)=>r[t](e,n),mapMap=function(r,t){const e=new Map,n=[];for(const[o,s]of r){const i=t(s,o,r);isPromise(i)?n.push(i.then(curry4(callPropBinary,e,"set",o,__))):e.set(o,i)}return 0==n.length?e:promiseAll(n).then(always(e))},promiseObjectAllExecutor=r=>function(t){const e={};let n=0;for(const o in r){const s=r[o];isPromise(s)?(n+=1,s.then((r=>function(o){e[r]=o,n-=1,0==n&&t(e)})(o))):e[o]=s}0==n&&t(e)},promiseObjectAll=r=>new Promise(promiseObjectAllExecutor(r)),objectMap=function(r,t){const e={};let n=!1;for(const o in r){const s=t(r[o],o,r);isPromise(s)&&(n=!0),e[o]=s}return n?promiseObjectAll(e):e},objectSet=function(r,t,e){return r[t]=e,r},arrayMapSeriesAsync=async function(r,t,e,n){const o=r.length;for(;++n<o;){const o=t(r[n],n);e[n]=isPromise(o)?await o:o}return e},arrayMapSeries=function(r,t){const e=r.length,n=Array(e);let o=-1;for(;++o<e;){const e=t(r[o],o);if(isPromise(e))return e.then(funcConcat(curry3(objectSet,n,o,__),curry4(arrayMapSeriesAsync,r,t,__,o)));n[o]=e}return n},stringMapSeries=function(r,t){const e=arrayMapSeries(r,t);return isPromise(e)?e.then(curry3(callPropUnary,__,"join","")):e.join("")},thunkify4=(r,t,e,n,o)=>function(){return r(t,e,n,o)},_objectMapSeriesAsync=async function(r,t,e,n){for(const o in r){if(o in n)continue;let s=t(r[o]);isPromise(s)&&(s=await s),e[o]=s}return e},objectMapSeries=function(r,t){const e={},n={};for(const o in r){n[o]=!0;const s=t(r[o],o,r);if(isPromise(s))return s.then(funcConcat(curry3(objectSet,e,o,__),thunkify4(_objectMapSeriesAsync,r,t,e,n)));e[o]=s}return e},thunkify3=(r,t,e,n)=>function(){return r(t,e,n)},setAdd=function(r,t){return r.add(t),r},_setMapSeriesAsync=async function(r,t,e){let n=r.next();for(;!n.done;){let o=t(n.value);isPromise(o)&&(o=await o),e.add(o),n=r.next()}return e},setMapSeries=function(r,t){const e=new Set,n=r[symbolIterator]();let o=n.next();for(;!o.done;){const r=t(o.value);if(isPromise(r))return r.then(funcConcat(curry2(setAdd,e,__),thunkify3(_setMapSeriesAsync,n,t,e)));e.add(r),o=n.next()}return e},mapSet=function(r,t,e){return r.set(t,e)},_mapMapSeriesAsync=async function(r,t,e){let n=r.next();for(;!n.done;){let o=t(n.value[1]);isPromise(o)&&(o=await o),e.set(n.value[0],o),n=r.next()}return e},mapMapSeries=function(r,t){const e=new Map,n=r[symbolIterator]();let o=n.next();for(;!o.done;){const r=o.value[0],s=t(o.value[1]);if(isPromise(s))return s.then(funcConcat(curry3(mapSet,e,r,__),thunkify3(_mapMapSeriesAsync,n,t,e)));e.set(r,s),o=n.next()}return e},tapSync=r=>function(...t){return r(...t),t[0]},promiseRace=Promise.race.bind(Promise),arrayMapPoolAsync=async function(r,t,e,n,o,s){const i=r.length;for(;++o<i;){s.size>=e&&await promiseRace(s);const i=t(r[o]);if(isPromise(i)){const r=i.then(tapSync((()=>s.delete(r))));s.add(r),n[o]=r}else n[o]=i}return promiseAll(n)},arrayMapPool=function(r,t,e){const n=r.length,o=Array(n);let s=-1;for(;++s<n;){const n=e(r[s]);if(isPromise(n)){const i=new Set,c=n.then(tapSync((()=>i.delete(c))));return i.add(c),o[s]=c,arrayMapPoolAsync(r,e,t,o,s,i)}o[s]=n}return o},stringMapPool=function(r,t,e){const n=arrayMapPool(r,t,e);return isPromise(n)?n.then(curry3(callPropUnary,__,"join","")):n.join("")},_setMapPoolAsync=async function(r,t,e,n,o,s){let i=t.next();for(;!i.done;){s.size>=e&&await promiseRace(s);const c=n(i.value,i.value,r);if(isPromise(c)){const r=c.then((t=>{s.delete(r),o.add(t)}));s.add(r)}else o.add(c);i=t.next()}return s.size>0&&await promiseAll(s),o},setMapPool=function(r,t,e){const n=new Set,o=r[symbolIterator]();let s=o.next();for(;!s.done;){const i=e(s.value,s.value,r);if(isPromise(i)){const s=new Set,c=i.then((r=>{s.delete(c),n.add(r)}));return s.add(c),_setMapPoolAsync(r,o,t,e,n,s)}n.add(i),s=o.next()}return n},_mapMapPoolAsync=async function(r,t,e,n,o,s){let i=t.next();for(;!i.done;){s.size>=e&&await promiseRace(s);const c=i.value[0],a=n(i.value[1],c,r);if(isPromise(a)){o.set(c,a);const r=a.then((t=>{s.delete(r),o.set(c,t)}));s.add(r)}else o.set(c,a);i=t.next()}return s.size>0&&await promiseAll(s),o},mapMapPool=function(r,t,e){const n=new Map,o=r[symbolIterator]();let s=o.next();for(;!s.done;){const i=s.value[0],c=e(s.value[1],i,r);if(isPromise(c)){const s=new Set;n.set(i,c);const a=c.then((r=>{s.delete(a),n.set(i,r)}));return s.add(a),_mapMapPoolAsync(r,o,t,e,n,s)}n.set(i,c),s=o.next()}return n},_objectMapPoolAsync=async function(r,t,e,n,o,s){for(const i in r){if(i in o)continue;s.size>=t&&await promiseRace(s);const c=e(r[i],i,r);if(isPromise(c)){n[i]=c;const r=c.then((t=>{s.delete(r),n[i]=t}));s.add(r)}else n[i]=c}return s.size>0&&await promiseAll(s),n},objectMapPool=function(r,t,e){const n={},o={};for(const s in r){o[s]=!0;const i=e(r[s],s,r);if(isPromise(i)){const c=new Set;n[s]=i;const a=i.then((r=>{c.delete(a),n[s]=r}));return c.add(a),_objectMapPoolAsync(r,t,e,n,o,c)}n[s]=i}return n},_curryArity=(r,t,e)=>function(...n){const o=e.length,s=n.length,i=[];let c=-1,a=-1,u=0;for(;++c<o;){const o=e[c];if(o==__&&(a+=1)<s){const r=n[a];r==__&&(u+=1),i.push(r)}else i.push(o);if(i.length==r)return 0==u?t(...i):curryArity(r,t,i)}for(;++a<s;){const e=n[a];if(e==__&&(u+=1),i.push(e),i.length==r)return 0==u?t(...i):curryArity(r,t,i)}return curryArity(r,t,i)},curryArity=function(r,t,e){const n=e.length;if(n<r)return _curryArity(r,t,e);let o=-1;for(;++o<n;){if(e[o]==__)return _curryArity(r,t,e)}return t(...e)},spread2=r=>function([t,e]){return r(t,e)},objectMapEntries=function(r,t){const e={},n=[];for(const o in r){const s=t([o,r[o]]);isPromise(s)?n.push(s.then(spread2(curryArity(3,objectSet,[e])))):e[s[0]]=s[1]}return 0==n.length?e:promiseAll(n).then(always(e))},mapMapEntriesForEachCallback=(r,t,e)=>function(n,o){const s=r([o,n]);isPromise(s)?e.push(s.then(spread2(curryArity(3,mapSet,[t])))):t.set(s[0],s[1])},mapMapEntries=function(r,t){const e=new Map,n=[];return r.forEach(mapMapEntriesForEachCallback(t,e,n)),0==n.length?e:promiseAll(n).then(always(e))},_map=function(r,t){return isArray(r)?arrayMap(r,t):null==r?r:"function"==typeof r.then?r.then(t):"function"==typeof r.map?r.map(t):"string"==typeof r||r.constructor==String?stringMap(r,t):r.constructor==Set?setMap(r,t):r.constructor==Map?mapMap(r,t):"function"==typeof r[symbolIterator]?MappingIterator(r[symbolIterator](),t):"function"==typeof r[symbolAsyncIterator]?MappingAsyncIterator(r[symbolAsyncIterator](),t):r.constructor==Object?objectMap(r,t):t(r)},map=function(r,t){return null==t?curry2(_map,__,r):isPromise(r)?r.then(curry2(_map,__,t)):_map(r,t)},_mapEntries=(r,t)=>{if(null==r)throw new TypeError("value is not an Object or Map");if(r.constructor==Object)return objectMapEntries(r,t);if(r.constructor==Map)return mapMapEntries(r,t);throw new TypeError("value is not an Object or Map")};map.entries=function(r,t){return null==t?curry2(_mapEntries,__,r):isPromise(r)?r.then(curry2(_mapEntries,__,t)):_mapEntries(r,t)};const _mapSeries=function(r,t){if(isArray(r))return arrayMapSeries(r,t);if(null==r)throw new TypeError(`invalid collection ${r}`);if("string"==typeof r||r.constructor==String)return stringMapSeries(r,t);if(r.constructor==Set)return setMapSeries(r,t);if(r.constructor==Map)return mapMapSeries(r,t);if(r.constructor==Object)return objectMapSeries(r,t);throw new TypeError(`invalid collection ${r}`)};map.series=function(r,t){return null==t?curry2(_mapSeries,__,r):isPromise(r)?r.then(curry2(_mapSeries,__,t)):_mapSeries(r,t)};const _mapPool=function(r,t,e){if(isArray(r))return arrayMapPool(r,t,e);if(null==r)throw new TypeError(`invalid collection ${r}`);if("string"==typeof r||r.constructor==String)return stringMapPool(r,t,e);if(r.constructor==Set)return setMapPool(r,t,e);if(r.constructor==Map)return mapMapPool(r,t,e);if(r.constructor==Object)return objectMapPool(r,t,e);throw new TypeError(`invalid collection ${r}`)};map.pool=function(r,t,e){return null==e?curry3(_mapPool,__,r,t):isPromise(r)?r.then(curry3(_mapPool,__,t,e)):_mapPool(r,t,e)};const memoizeCappedUnary=function(r,t){const e=new Map,n=function(n){if(e.has(n))return e.get(n);const o=r(n);return e.set(n,o),e.size>t&&e.clear(),o};return n.cache=e,n},pathDelimiters=/[.|[|\]]+/,parsePropertyPath=function(r){const t=r.length-1,e="["==r[0],n="]"==r[t];return e&&n?r.slice(1,t).split(pathDelimiters):e?r.slice(1).split(pathDelimiters):n?r.slice(0,t).split(pathDelimiters):r.split(pathDelimiters)},memoizedCappedParsePropertyPath=memoizeCappedUnary(parsePropertyPath,500),propertyPathToArray=r=>isArray(r)?r:"string"==typeof r?memoizedCappedParsePropertyPath(r):[r],getByPath=function(r,t){const e=propertyPathToArray(t),n=e.length;let o=-1,s=r;for(;++o<n;)if(s=s[e[o]],null==s)return;return s},_get=function(r,t,e){const n=null==r?void 0:getByPath(r,t);return void 0===n?"function"==typeof e?e(r):e:n},get=function(r,t,e){return"string"==typeof r||"number"==typeof r||isArray(r)?curry3(_get,__,r,t):isPromise(r)?r.then(curry3(_get,__,t,e)):_get(r,t,e)},pluck=function(...r){const t=r.pop(),e=get(t);return 0==r.length?map(e):map(r[0],e)};export default pluck;
|
package/dist/x/pluck.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.
|
|
2
|
+
* rubico v2.6.1
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
4
|
* (c) 2019-2024 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
@@ -80,35 +80,6 @@ const curry2 = function (baseFunc, arg0, arg1) {
|
|
|
80
80
|
: curry2ResolveArg1(baseFunc, arg0)
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
const isArray = Array.isArray
|
|
84
|
-
|
|
85
|
-
const isObject = value => {
|
|
86
|
-
if (value == null) {
|
|
87
|
-
return false
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
const typeofValue = typeof value
|
|
91
|
-
return (typeofValue == 'object') || (typeofValue == 'function')
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
const promiseAll = Promise.all.bind(Promise)
|
|
95
|
-
|
|
96
|
-
const arrayMap = function (array, mapper) {
|
|
97
|
-
const arrayLength = array.length,
|
|
98
|
-
result = Array(arrayLength)
|
|
99
|
-
let index = -1,
|
|
100
|
-
isAsync = false
|
|
101
|
-
|
|
102
|
-
while (++index < arrayLength) {
|
|
103
|
-
const resultItem = mapper(array[index], index, array)
|
|
104
|
-
if (isPromise(resultItem)) {
|
|
105
|
-
isAsync = true
|
|
106
|
-
}
|
|
107
|
-
result[index] = resultItem
|
|
108
|
-
}
|
|
109
|
-
return isAsync ? promiseAll(result) : result
|
|
110
|
-
}
|
|
111
|
-
|
|
112
83
|
// argument resolver for curry3
|
|
113
84
|
const curry3ResolveArg0 = (
|
|
114
85
|
baseFunc, arg1, arg2,
|
|
@@ -140,6 +111,35 @@ const curry3 = function (baseFunc, arg0, arg1, arg2) {
|
|
|
140
111
|
return curry3ResolveArg2(baseFunc, arg0, arg1)
|
|
141
112
|
}
|
|
142
113
|
|
|
114
|
+
const isArray = Array.isArray
|
|
115
|
+
|
|
116
|
+
const isObject = value => {
|
|
117
|
+
if (value == null) {
|
|
118
|
+
return false
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
const typeofValue = typeof value
|
|
122
|
+
return (typeofValue == 'object') || (typeofValue == 'function')
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
const promiseAll = Promise.all.bind(Promise)
|
|
126
|
+
|
|
127
|
+
const arrayMap = function (array, mapper) {
|
|
128
|
+
const arrayLength = array.length,
|
|
129
|
+
result = Array(arrayLength)
|
|
130
|
+
let index = -1,
|
|
131
|
+
isAsync = false
|
|
132
|
+
|
|
133
|
+
while (++index < arrayLength) {
|
|
134
|
+
const resultItem = mapper(array[index], index, array)
|
|
135
|
+
if (isPromise(resultItem)) {
|
|
136
|
+
isAsync = true
|
|
137
|
+
}
|
|
138
|
+
result[index] = resultItem
|
|
139
|
+
}
|
|
140
|
+
return isAsync ? promiseAll(result) : result
|
|
141
|
+
}
|
|
142
|
+
|
|
143
143
|
const callPropUnary = (value, property, arg0) => value[property](arg0)
|
|
144
144
|
|
|
145
145
|
const stringMap = function (string, mapper) {
|
|
@@ -341,6 +341,7 @@ const objectMapSeries = function (object, f) {
|
|
|
341
341
|
thunkify4(_objectMapSeriesAsync, object, f, result, doneKeys),
|
|
342
342
|
))
|
|
343
343
|
}
|
|
344
|
+
result[key] = resultItem
|
|
344
345
|
}
|
|
345
346
|
return result
|
|
346
347
|
}
|
|
@@ -439,15 +440,14 @@ const tapSync = func => function tapping(...args) {
|
|
|
439
440
|
const promiseRace = Promise.race.bind(Promise)
|
|
440
441
|
|
|
441
442
|
const arrayMapPoolAsync = async function (
|
|
442
|
-
array,
|
|
443
|
+
array, f, concurrencyLimit, result, index, promises,
|
|
443
444
|
) {
|
|
444
445
|
const arrayLength = array.length
|
|
445
446
|
while (++index < arrayLength) {
|
|
446
447
|
if (promises.size >= concurrencyLimit) {
|
|
447
448
|
await promiseRace(promises)
|
|
448
449
|
}
|
|
449
|
-
|
|
450
|
-
const resultItem = mapper(array[index])
|
|
450
|
+
const resultItem = f(array[index])
|
|
451
451
|
if (isPromise(resultItem)) {
|
|
452
452
|
const selfDeletingPromise = resultItem.then(
|
|
453
453
|
tapSync(() => promises.delete(selfDeletingPromise)))
|
|
@@ -460,13 +460,12 @@ const arrayMapPoolAsync = async function (
|
|
|
460
460
|
return promiseAll(result)
|
|
461
461
|
}
|
|
462
462
|
|
|
463
|
-
const arrayMapPool = function (array,
|
|
463
|
+
const arrayMapPool = function (array, concurrency, f) {
|
|
464
464
|
const arrayLength = array.length,
|
|
465
465
|
result = Array(arrayLength)
|
|
466
466
|
let index = -1
|
|
467
467
|
while (++index < arrayLength) {
|
|
468
|
-
|
|
469
|
-
const resultItem = mapper(array[index])
|
|
468
|
+
const resultItem = f(array[index])
|
|
470
469
|
if (isPromise(resultItem)) {
|
|
471
470
|
const promises = new Set(),
|
|
472
471
|
selfDeletingPromise = resultItem.then(
|
|
@@ -474,13 +473,167 @@ const arrayMapPool = function (array, mapper, concurrentLimit) {
|
|
|
474
473
|
promises.add(selfDeletingPromise)
|
|
475
474
|
result[index] = selfDeletingPromise
|
|
476
475
|
return arrayMapPoolAsync(
|
|
477
|
-
array,
|
|
476
|
+
array, f, concurrency, result, index, promises)
|
|
478
477
|
}
|
|
479
478
|
result[index] = resultItem
|
|
480
479
|
}
|
|
481
480
|
return result
|
|
482
481
|
}
|
|
483
482
|
|
|
483
|
+
const stringMapPool = function (s, concurrency, f) {
|
|
484
|
+
const result = arrayMapPool(s, concurrency, f)
|
|
485
|
+
return isPromise(result)
|
|
486
|
+
? result.then(curry3(callPropUnary, __, 'join', ''))
|
|
487
|
+
: result.join('')
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
const _setMapPoolAsync = async function (
|
|
491
|
+
s, iterator, concurrency, f, result, promises,
|
|
492
|
+
) {
|
|
493
|
+
let iteration = iterator.next()
|
|
494
|
+
while (!iteration.done) {
|
|
495
|
+
if (promises.size >= concurrency) {
|
|
496
|
+
await promiseRace(promises)
|
|
497
|
+
}
|
|
498
|
+
const resultItem = f(iteration.value, iteration.value, s)
|
|
499
|
+
if (isPromise(resultItem)) {
|
|
500
|
+
const selfDeletingPromise = resultItem.then(resolvedValue => {
|
|
501
|
+
promises.delete(selfDeletingPromise)
|
|
502
|
+
result.add(resolvedValue)
|
|
503
|
+
})
|
|
504
|
+
promises.add(selfDeletingPromise)
|
|
505
|
+
} else {
|
|
506
|
+
result.add(resultItem)
|
|
507
|
+
}
|
|
508
|
+
iteration = iterator.next()
|
|
509
|
+
}
|
|
510
|
+
if (promises.size > 0) {
|
|
511
|
+
await promiseAll(promises)
|
|
512
|
+
}
|
|
513
|
+
return result
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
const setMapPool = function (s, concurrency, f) {
|
|
517
|
+
const result = new Set()
|
|
518
|
+
const iterator = s[symbolIterator]()
|
|
519
|
+
let iteration = iterator.next()
|
|
520
|
+
while (!iteration.done) {
|
|
521
|
+
const resultItem = f(iteration.value, iteration.value, s)
|
|
522
|
+
if (isPromise(resultItem)) {
|
|
523
|
+
const promises = new Set()
|
|
524
|
+
const selfDeletingPromise = resultItem.then(resolvedValue => {
|
|
525
|
+
promises.delete(selfDeletingPromise)
|
|
526
|
+
result.add(resolvedValue)
|
|
527
|
+
})
|
|
528
|
+
promises.add(selfDeletingPromise)
|
|
529
|
+
return _setMapPoolAsync(s, iterator, concurrency, f, result, promises)
|
|
530
|
+
}
|
|
531
|
+
result.add(resultItem)
|
|
532
|
+
iteration = iterator.next()
|
|
533
|
+
}
|
|
534
|
+
return result
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
const _mapMapPoolAsync = async function (
|
|
538
|
+
m, iterator, concurrency, f, result, promises,
|
|
539
|
+
) {
|
|
540
|
+
let iteration = iterator.next()
|
|
541
|
+
while (!iteration.done) {
|
|
542
|
+
if (promises.size >= concurrency) {
|
|
543
|
+
await promiseRace(promises)
|
|
544
|
+
}
|
|
545
|
+
const key = iteration.value[0]
|
|
546
|
+
const resultItem = f(iteration.value[1], key, m)
|
|
547
|
+
if (isPromise(resultItem)) {
|
|
548
|
+
result.set(key, resultItem)
|
|
549
|
+
const selfDeletingPromise = resultItem.then(resolvedValue => {
|
|
550
|
+
promises.delete(selfDeletingPromise)
|
|
551
|
+
result.set(key, resolvedValue)
|
|
552
|
+
})
|
|
553
|
+
promises.add(selfDeletingPromise)
|
|
554
|
+
} else {
|
|
555
|
+
result.set(key, resultItem)
|
|
556
|
+
}
|
|
557
|
+
iteration = iterator.next()
|
|
558
|
+
}
|
|
559
|
+
if (promises.size > 0) {
|
|
560
|
+
await promiseAll(promises)
|
|
561
|
+
}
|
|
562
|
+
return result
|
|
563
|
+
}
|
|
564
|
+
|
|
565
|
+
const mapMapPool = function (m, concurrency, f) {
|
|
566
|
+
const result = new Map()
|
|
567
|
+
const iterator = m[symbolIterator]()
|
|
568
|
+
let iteration = iterator.next()
|
|
569
|
+
while (!iteration.done) {
|
|
570
|
+
const key = iteration.value[0]
|
|
571
|
+
const resultItem = f(iteration.value[1], key, m)
|
|
572
|
+
if (isPromise(resultItem)) {
|
|
573
|
+
const promises = new Set()
|
|
574
|
+
result.set(key, resultItem)
|
|
575
|
+
const selfDeletingPromise = resultItem.then(resolvedValue => {
|
|
576
|
+
promises.delete(selfDeletingPromise)
|
|
577
|
+
result.set(key, resolvedValue)
|
|
578
|
+
})
|
|
579
|
+
promises.add(selfDeletingPromise)
|
|
580
|
+
return _mapMapPoolAsync(m, iterator, concurrency, f, result, promises)
|
|
581
|
+
}
|
|
582
|
+
result.set(key, resultItem)
|
|
583
|
+
iteration = iterator.next()
|
|
584
|
+
}
|
|
585
|
+
return result
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
const _objectMapPoolAsync = async function (
|
|
589
|
+
o, concurrency, f, result, doneKeys, promises,
|
|
590
|
+
) {
|
|
591
|
+
for (const key in o) {
|
|
592
|
+
if (key in doneKeys) {
|
|
593
|
+
continue
|
|
594
|
+
}
|
|
595
|
+
if (promises.size >= concurrency) {
|
|
596
|
+
await promiseRace(promises)
|
|
597
|
+
}
|
|
598
|
+
const resultItem = f(o[key], key, o)
|
|
599
|
+
if (isPromise(resultItem)) {
|
|
600
|
+
result[key] = resultItem
|
|
601
|
+
const selfDeletingPromise = resultItem.then(resolvedValue => {
|
|
602
|
+
promises.delete(selfDeletingPromise)
|
|
603
|
+
result[key] = resolvedValue
|
|
604
|
+
})
|
|
605
|
+
promises.add(selfDeletingPromise)
|
|
606
|
+
} else {
|
|
607
|
+
result[key] = resultItem
|
|
608
|
+
}
|
|
609
|
+
}
|
|
610
|
+
if (promises.size > 0) {
|
|
611
|
+
await promiseAll(promises)
|
|
612
|
+
}
|
|
613
|
+
return result
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
const objectMapPool = function (o, concurrency, f) {
|
|
617
|
+
const result = {}
|
|
618
|
+
const doneKeys = {}
|
|
619
|
+
for (const key in o) {
|
|
620
|
+
doneKeys[key] = true
|
|
621
|
+
const resultItem = f(o[key], key, o)
|
|
622
|
+
if (isPromise(resultItem)) {
|
|
623
|
+
const promises = new Set()
|
|
624
|
+
result[key] = resultItem
|
|
625
|
+
const selfDeletingPromise = resultItem.then(resolvedValue => {
|
|
626
|
+
promises.delete(selfDeletingPromise)
|
|
627
|
+
result[key] = resolvedValue
|
|
628
|
+
})
|
|
629
|
+
promises.add(selfDeletingPromise)
|
|
630
|
+
return _objectMapPoolAsync(o, concurrency, f, result, doneKeys, promises)
|
|
631
|
+
}
|
|
632
|
+
result[key] = resultItem
|
|
633
|
+
}
|
|
634
|
+
return result
|
|
635
|
+
}
|
|
636
|
+
|
|
484
637
|
const _curryArity = (arity, func, args) => function curried(...curriedArgs) {
|
|
485
638
|
const argsLength = args.length,
|
|
486
639
|
curriedArgsLength = curriedArgs.length,
|
|
@@ -616,7 +769,7 @@ const _map = function (value, mapper) {
|
|
|
616
769
|
}
|
|
617
770
|
|
|
618
771
|
const map = function (arg0, arg1) {
|
|
619
|
-
if (
|
|
772
|
+
if (arg1 == null) {
|
|
620
773
|
return curry2(_map, __, arg0)
|
|
621
774
|
}
|
|
622
775
|
return isPromise(arg0)
|
|
@@ -639,7 +792,7 @@ const _mapEntries = (value, mapper) => {
|
|
|
639
792
|
}
|
|
640
793
|
|
|
641
794
|
map.entries = function mapEntries(arg0, arg1) {
|
|
642
|
-
if (
|
|
795
|
+
if (arg1 == null) {
|
|
643
796
|
return curry2(_mapEntries, __, arg0)
|
|
644
797
|
}
|
|
645
798
|
return isPromise(arg0)
|
|
@@ -671,7 +824,7 @@ const _mapSeries = function (collection, f) {
|
|
|
671
824
|
}
|
|
672
825
|
|
|
673
826
|
map.series = function mapSeries(arg0, arg1) {
|
|
674
|
-
if (
|
|
827
|
+
if (arg1 == null) {
|
|
675
828
|
return curry2(_mapSeries, __, arg0)
|
|
676
829
|
}
|
|
677
830
|
return isPromise(arg0)
|
|
@@ -679,11 +832,35 @@ map.series = function mapSeries(arg0, arg1) {
|
|
|
679
832
|
: _mapSeries(arg0, arg1)
|
|
680
833
|
}
|
|
681
834
|
|
|
682
|
-
|
|
683
|
-
if (isArray(
|
|
684
|
-
return arrayMapPool(
|
|
835
|
+
const _mapPool = function (collection, concurrency, f) {
|
|
836
|
+
if (isArray(collection)) {
|
|
837
|
+
return arrayMapPool(collection, concurrency, f)
|
|
685
838
|
}
|
|
686
|
-
|
|
839
|
+
if (collection == null) {
|
|
840
|
+
throw new TypeError(`invalid collection ${collection}`)
|
|
841
|
+
}
|
|
842
|
+
if (typeof collection == 'string' || collection.constructor == String) {
|
|
843
|
+
return stringMapPool(collection, concurrency, f)
|
|
844
|
+
}
|
|
845
|
+
if (collection.constructor == Set) {
|
|
846
|
+
return setMapPool(collection, concurrency, f)
|
|
847
|
+
}
|
|
848
|
+
if (collection.constructor == Map) {
|
|
849
|
+
return mapMapPool(collection, concurrency, f)
|
|
850
|
+
}
|
|
851
|
+
if (collection.constructor == Object) {
|
|
852
|
+
return objectMapPool(collection, concurrency, f)
|
|
853
|
+
}
|
|
854
|
+
throw new TypeError(`invalid collection ${collection}`)
|
|
855
|
+
}
|
|
856
|
+
|
|
857
|
+
map.pool = function mapPool(arg0, arg1, arg2) {
|
|
858
|
+
if (arg2 == null) {
|
|
859
|
+
return curry3(_mapPool, __, arg0, arg1)
|
|
860
|
+
}
|
|
861
|
+
return isPromise(arg0)
|
|
862
|
+
? arg0.then(curry3(_mapPool, __, arg1, arg2))
|
|
863
|
+
: _mapPool(arg0, arg1, arg2)
|
|
687
864
|
}
|
|
688
865
|
|
|
689
866
|
const memoizeCappedUnary = function (func, cap) {
|
package/dist/x/pluck.min.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* rubico v2.
|
|
2
|
+
* rubico v2.6.1
|
|
3
3
|
* https://github.com/a-synchronous/rubico
|
|
4
4
|
* (c) 2019-2024 Richard Tong
|
|
5
5
|
* rubico may be freely distributed under the MIT license.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
-
!function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.pluck=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=(t,e)=>function(...r){const o=t(...r);return n(o)?o.then(e):e(o)},e=Symbol.iterator,r=(n,t)=>({toString:()=>"[object MappingIterator]",[e](){return this},next(){const e=n.next();return e.done?e:{value:t(e.value),done:!1}}}),o=n=>({value:n,done:!1}),u=Symbol.asyncIterator,c=(t,e)=>({[u](){return this},async next(){const r=await t.next();if(r.done)return r;const u=e(r.value);return n(u)?u.then(o):{value:u,done:!1}}}),i=Symbol.for("placeholder"),
|
|
8
|
+
!function(n,t){"object"==typeof module?module.exports=t:"function"==typeof define?define((()=>t)):n.pluck=t}("object"==typeof globalThis?globalThis:this,function(){"use strict";const n=n=>null!=n&&"function"==typeof n.then,t=(t,e)=>function(...r){const o=t(...r);return n(o)?o.then(e):e(o)},e=Symbol.iterator,r=(n,t)=>({toString:()=>"[object MappingIterator]",[e](){return this},next(){const e=n.next();return e.done?e:{value:t(e.value),done:!1}}}),o=n=>({value:n,done:!1}),u=Symbol.asyncIterator,c=(t,e)=>({[u](){return this},async next(){const r=await t.next();if(r.done)return r;const u=e(r.value);return n(u)?u.then(o):{value:u,done:!1}}}),i=Symbol.for("placeholder"),s=function(n,t,e){return t==i?((n,t)=>function(e){return n(e,t)})(n,e):((n,t)=>function(e){return n(t,e)})(n,t)},f=function(n,t,e,r){return t==i?((n,t,e)=>function(r){return n(r,t,e)})(n,e,r):e==i?((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)},l=Array.isArray,a=Promise.all.bind(Promise),h=function(t,e){const r=t.length,o=Array(r);let u=-1,c=!1;for(;++u<r;){const r=e(t[u],u,t);n(r)&&(c=!0),o[u]=r}return c?a(o):o},d=(n,t,e)=>n[t](e),p=n=>function(){return n},y=function(n,t,e,r,o){return t==i?((n,t,e,r)=>function(o){return n(o,t,e,r)})(n,e,r,o):e==i?((n,t,e,r)=>function(o){return n(t,o,e,r)})(n,t,r,o):r==i?((n,t,e,r)=>function(o){return n(t,e,o,r)})(n,t,e,o):((n,t,e,r)=>function(o){return n(t,e,r,o)})(n,t,e,r)},w=(n,t,e,r)=>n[t](e,r),g=t=>new Promise((t=>function(e){const r={};let o=0;for(const u in t){const c=t[u];n(c)?(o+=1,c.then((n=>function(t){r[n]=t,o-=1,0==o&&e(r)})(u))):r[u]=c}0==o&&e(r)})(t)),v=function(n,t,e){return n[t]=e,n},x=async function(t,e,r,o){const u=t.length;for(;++o<u;){const u=e(t[o],o);r[o]=n(u)?await u:u}return r},b=function(e,r){const o=e.length,u=Array(o);let c=-1;for(;++c<o;){const o=r(e[c],c);if(n(o))return o.then(t(f(v,u,c,i),y(x,e,r,i,c)));u[c]=o}return u},S=(n,t,e,r,o)=>function(){return n(t,e,r,o)},j=async function(t,e,r,o){for(const u in t){if(u in o)continue;let c=e(t[u]);n(c)&&(c=await c),r[u]=c}return r},m=(n,t,e,r)=>function(){return n(t,e,r)},M=function(n,t){return n.add(t),n},z=async function(t,e,r){let o=t.next();for(;!o.done;){let u=e(o.value);n(u)&&(u=await u),r.add(u),o=t.next()}return r},T=function(n,t,e){return n.set(t,e)},E=async function(t,e,r){let o=t.next();for(;!o.done;){let u=e(o.value[1]);n(u)&&(u=await u),r.set(o.value[0],u),o=t.next()}return r},O=n=>function(...t){return n(...t),t[0]},A=Promise.race.bind(Promise),P=async function(t,e,r,o,u,c){const i=t.length;for(;++u<i;){c.size>=r&&await A(c);const i=e(t[u]);if(n(i)){const n=i.then(O((()=>c.delete(n))));c.add(n),o[u]=n}else o[u]=i}return a(o)},$=function(t,e,r){const o=t.length,u=Array(o);let c=-1;for(;++c<o;){const o=r(t[c]);if(n(o)){const n=new Set,i=o.then(O((()=>n.delete(i))));return n.add(i),u[c]=i,P(t,r,e,u,c,n)}u[c]=o}return u},I=async function(t,e,r,o,u,c){let i=e.next();for(;!i.done;){c.size>=r&&await A(c);const s=o(i.value,i.value,t);if(n(s)){const n=s.then((t=>{c.delete(n),u.add(t)}));c.add(n)}else u.add(s);i=e.next()}return c.size>0&&await a(c),u},k=async function(t,e,r,o,u,c){let i=e.next();for(;!i.done;){c.size>=r&&await A(c);const s=i.value[0],f=o(i.value[1],s,t);if(n(f)){u.set(s,f);const n=f.then((t=>{c.delete(n),u.set(s,t)}));c.add(n)}else u.set(s,f);i=e.next()}return c.size>0&&await a(c),u},q=async function(t,e,r,o,u,c){for(const i in t){if(i in u)continue;c.size>=e&&await A(c);const s=r(t[i],i,t);if(n(s)){o[i]=s;const n=s.then((t=>{c.delete(n),o[i]=t}));c.add(n)}else o[i]=s}return c.size>0&&await a(c),o},B=(n,t,e)=>function(...r){const o=e.length,u=r.length,c=[];let s=-1,f=-1,l=0;for(;++s<o;){const o=e[s];if(o==i&&(f+=1)<u){const n=r[f];n==i&&(l+=1),c.push(n)}else c.push(o);if(c.length==n)return 0==l?t(...c):C(n,t,c)}for(;++f<u;){const e=r[f];if(e==i&&(l+=1),c.push(e),c.length==n)return 0==l?t(...c):C(n,t,c)}return C(n,t,c)},C=function(n,t,e){const r=e.length;if(r<n)return B(n,t,e);let o=-1;for(;++o<r;){if(e[o]==i)return B(n,t,e)}return t(...e)},D=n=>function([t,e]){return n(t,e)},F=function(t,e){const r=new Map,o=[];return t.forEach(((t,e,r)=>function(o,u){const c=t([u,o]);n(c)?r.push(c.then(D(C(3,T,[e])))):e.set(c[0],c[1])})(e,r,o)),0==o.length?r:a(o).then(p(r))},G=function(t,o){return l(t)?h(t,o):null==t?t:"function"==typeof t.then?t.then(o):"function"==typeof t.map?t.map(o):"string"==typeof t||t.constructor==String?function(t,e){const r=h(t,e);return n(r)?r.then(f(d,i,"join","")):r.join("")}(t,o):t.constructor==Set?function(t,e){const r=new Set,o=[];for(const u of t){const c=e(u,u,t);n(c)?o.push(c.then(f(d,r,"add",i))):r.add(c)}return 0==o.length?r:a(o).then(p(r))}(t,o):t.constructor==Map?function(t,e){const r=new Map,o=[];for(const[u,c]of t){const s=e(c,u,t);n(s)?o.push(s.then(y(w,r,"set",u,i))):r.set(u,s)}return 0==o.length?r:a(o).then(p(r))}(t,o):"function"==typeof t[e]?r(t[e](),o):"function"==typeof t[u]?c(t[u](),o):t.constructor==Object?function(t,e){const r={};let o=!1;for(const u in t){const c=e(t[u],u,t);n(c)&&(o=!0),r[u]=c}return o?g(r):r}(t,o):o(t)},H=function(t,e){return null==e?s(G,i,t):n(t)?t.then(s(G,i,e)):G(t,e)},J=(t,e)=>{if(null==t)throw new TypeError("value is not an Object or Map");if(t.constructor==Object)return function(t,e){const r={},o=[];for(const u in t){const c=e([u,t[u]]);n(c)?o.push(c.then(D(C(3,v,[r])))):r[c[0]]=c[1]}return 0==o.length?r:a(o).then(p(r))}(t,e);if(t.constructor==Map)return F(t,e);throw new TypeError("value is not an Object or Map")};H.entries=function(t,e){return null==e?s(J,i,t):n(t)?t.then(s(J,i,e)):J(t,e)};const K=function(r,o){if(l(r))return b(r,o);if(null==r)throw new TypeError(`invalid collection ${r}`);if("string"==typeof r||r.constructor==String)return function(t,e){const r=b(t,e);return n(r)?r.then(f(d,i,"join","")):r.join("")}(r,o);if(r.constructor==Set)return function(r,o){const u=new Set,c=r[e]();let f=c.next();for(;!f.done;){const e=o(f.value);if(n(e))return e.then(t(s(M,u,i),m(z,c,o,u)));u.add(e),f=c.next()}return u}(r,o);if(r.constructor==Map)return function(r,o){const u=new Map,c=r[e]();let s=c.next();for(;!s.done;){const e=s.value[0],r=o(s.value[1]);if(n(r))return r.then(t(f(T,u,e,i),m(E,c,o,u)));u.set(e,r),s=c.next()}return u}(r,o);if(r.constructor==Object)return function(e,r){const o={},u={};for(const c in e){u[c]=!0;const s=r(e[c],c,e);if(n(s))return s.then(t(f(v,o,c,i),S(j,e,r,o,u)));o[c]=s}return o}(r,o);throw new TypeError(`invalid collection ${r}`)};H.series=function(t,e){return null==e?s(K,i,t):n(t)?t.then(s(K,i,e)):K(t,e)};const L=function(t,r,o){if(l(t))return $(t,r,o);if(null==t)throw new TypeError(`invalid collection ${t}`);if("string"==typeof t||t.constructor==String)return function(t,e,r){const o=$(t,e,r);return n(o)?o.then(f(d,i,"join","")):o.join("")}(t,r,o);if(t.constructor==Set)return function(t,r,o){const u=new Set,c=t[e]();let i=c.next();for(;!i.done;){const e=o(i.value,i.value,t);if(n(e)){const n=new Set,i=e.then((t=>{n.delete(i),u.add(t)}));return n.add(i),I(t,c,r,o,u,n)}u.add(e),i=c.next()}return u}(t,r,o);if(t.constructor==Map)return function(t,r,o){const u=new Map,c=t[e]();let i=c.next();for(;!i.done;){const e=i.value[0],s=o(i.value[1],e,t);if(n(s)){const n=new Set;u.set(e,s);const i=s.then((t=>{n.delete(i),u.set(e,t)}));return n.add(i),k(t,c,r,o,u,n)}u.set(e,s),i=c.next()}return u}(t,r,o);if(t.constructor==Object)return function(t,e,r){const o={},u={};for(const c in t){u[c]=!0;const i=r(t[c],c,t);if(n(i)){const n=new Set;o[c]=i;const s=i.then((t=>{n.delete(s),o[c]=t}));return n.add(s),q(t,e,r,o,u,n)}o[c]=i}return o}(t,r,o);throw new TypeError(`invalid collection ${t}`)};H.pool=function(t,e,r){return null==r?f(L,i,t,e):n(t)?t.then(f(L,i,e,r)):L(t,e,r)};const N=/[.|[|\]]+/,Q=function(n,t){const e=new Map,r=function(r){if(e.has(r))return e.get(r);const o=n(r);return e.set(r,o),e.size>t&&e.clear(),o};return r.cache=e,r}((function(n){const t=n.length-1,e="["==n[0],r="]"==n[t];return e&&r?n.slice(1,t).split(N):e?n.slice(1).split(N):r?n.slice(0,t).split(N):n.split(N)}),500),R=function(n,t){const e=(n=>l(n)?n:"string"==typeof n?Q(n):[n])(t),r=e.length;let o=-1,u=n;for(;++o<r;)if(u=u[e[o]],null==u)return;return u},U=function(n,t,e){const r=null==n?void 0:R(n,t);return void 0===r?"function"==typeof e?e(n):e:r};return function(...t){const e=t.pop(),r="string"==typeof(o=e)||"number"==typeof o||l(o)?f(U,i,o,u):n(o)?o.then(f(U,i,u,c)):U(o,u,c);var o,u,c;return 0==t.length?H(r):H(t[0],r)}}());
|