rubico 2.2.3 → 2.3.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/AggregateReducer.d.ts +10 -0
- package/README.md +0 -1
- package/Transducer.d.ts +231 -0
- package/Transducer.js +121 -43
- package/__.d.ts +2 -0
- package/_internal/ComparisonOperator.d.ts +2 -0
- package/_internal/EmptyMap.d.ts +2 -0
- package/_internal/FilteringAsyncIterator.d.ts +29 -0
- package/_internal/FilteringIterator.d.ts +25 -0
- package/_internal/FlatMappingAsyncIterator.d.ts +34 -0
- package/_internal/FlatMappingIterator.d.ts +15 -0
- package/_internal/MappingAsyncIterator.d.ts +21 -0
- package/_internal/MappingIterator.d.ts +29 -0
- package/_internal/NextIteration.d.ts +14 -0
- package/_internal/SelfReferencingPromise.d.ts +10 -0
- package/_internal/add.d.ts +11 -0
- package/_internal/always.d.ts +13 -0
- package/_internal/areAllValuesNonfunctions.d.ts +10 -0
- package/_internal/areAnyValuesPromises.d.ts +10 -0
- package/_internal/arrayConditional.d.ts +20 -0
- package/_internal/arrayEvery.d.ts +10 -0
- package/_internal/arrayExtend.d.ts +13 -0
- package/_internal/arrayExtendMap.d.ts +20 -0
- package/_internal/arrayFilter.d.ts +16 -0
- package/_internal/arrayFilterByConditions.d.ts +20 -0
- package/_internal/arrayFind.d.ts +15 -0
- package/_internal/arrayFlatMap.d.ts +20 -0
- package/_internal/arrayFlatten.d.ts +20 -0
- package/_internal/arrayForEach.d.ts +19 -0
- package/_internal/arrayJoin.d.ts +13 -0
- package/_internal/arrayMap.d.ts +16 -0
- package/_internal/arrayMapPool.d.ts +19 -0
- package/_internal/arrayMapSeries.d.ts +17 -0
- package/_internal/arrayPush.d.ts +11 -0
- package/_internal/arrayReduce.d.ts +14 -0
- package/_internal/arraySome.d.ts +13 -0
- package/_internal/asyncIteratorEvery.d.ts +16 -0
- package/_internal/asyncIteratorFind.d.ts +12 -0
- package/_internal/asyncIteratorForEach.d.ts +17 -0
- package/_internal/asyncIteratorReduce.d.ts +14 -0
- package/_internal/asyncIteratorSome.d.ts +16 -0
- package/_internal/binaryExtend.d.ts +16 -0
- package/_internal/bufferAlloc.d.ts +8 -0
- package/_internal/callConcat.d.ts +8 -0
- package/_internal/callPropBinary.d.ts +18 -0
- package/_internal/callPropUnary.d.ts +17 -0
- package/_internal/catcherApply.d.ts +17 -0
- package/_internal/copyDeep.d.ts +13 -0
- package/_internal/curry2.d.ts +21 -0
- package/_internal/curry3.d.ts +22 -0
- package/_internal/curry4.d.ts +23 -0
- package/_internal/curry5.d.ts +24 -0
- package/_internal/curryArgs2.d.ts +21 -0
- package/_internal/curryArgs3.d.ts +22 -0
- package/_internal/curryArgs4.d.ts +23 -0
- package/_internal/curryArity.d.ts +20 -0
- package/_internal/deleteByPath.d.ts +13 -0
- package/_internal/equals.d.ts +10 -0
- package/_internal/funcApply.d.ts +16 -0
- package/_internal/funcConcat.d.ts +17 -0
- package/_internal/funcConcatSync.d.ts +17 -0
- package/_internal/functionArrayAll.d.ts +10 -0
- package/_internal/functionArrayAllSeries.d.ts +10 -0
- package/_internal/functionObjectAll.d.ts +13 -0
- package/_internal/genericReduce.d.ts +26 -0
- package/_internal/genericTransform.d.ts +18 -0
- package/_internal/getArg1.d.ts +8 -0
- package/_internal/getByPath.d.ts +13 -0
- package/_internal/globalThisHasBuffer.d.ts +11 -0
- package/_internal/greaterThan.d.ts +10 -0
- package/_internal/greaterThanOrEqual.d.ts +10 -0
- package/_internal/identity.d.ts +11 -0
- package/_internal/isArray.d.ts +11 -0
- package/_internal/isAsyncGeneratorFunction.d.ts +11 -0
- package/_internal/isBinary.d.ts +11 -0
- package/_internal/isGeneratorFunction.d.ts +11 -0
- package/_internal/isNodeReadStream.d.ts +11 -0
- package/_internal/isObject.d.ts +11 -0
- package/_internal/isPromise.d.ts +11 -0
- package/_internal/iteratorEvery.d.ts +12 -0
- package/_internal/iteratorFind.d.ts +12 -0
- package/_internal/iteratorForEach.d.ts +19 -0
- package/_internal/iteratorReduce.d.ts +18 -0
- package/_internal/iteratorSome.d.ts +13 -0
- package/_internal/leftResolverRightResolverCompare.d.ts +2 -0
- package/_internal/leftResolverRightValueCompare.d.ts +2 -0
- package/_internal/leftValueRightResolverCompare.d.ts +2 -0
- package/_internal/lessThan.d.ts +10 -0
- package/_internal/lessThanOrEqual.d.ts +10 -0
- package/_internal/mapFilter.d.ts +21 -0
- package/_internal/mapFrom.d.ts +13 -0
- package/_internal/mapMap.d.ts +16 -0
- package/_internal/mapMapEntries.d.ts +13 -0
- package/_internal/mapReduce.d.ts +14 -0
- package/_internal/mapSet.d.ts +10 -0
- package/_internal/memoizeCappedUnary.d.ts +18 -0
- package/_internal/nonfunctionsConditional.d.ts +10 -0
- package/_internal/noop.d.ts +11 -0
- package/_internal/objectAssign.d.ts +15 -0
- package/_internal/objectFilter.d.ts +13 -0
- package/_internal/objectFlatMap.d.ts +26 -0
- package/_internal/objectFlatten.d.ts +21 -0
- package/_internal/objectForEach.d.ts +17 -0
- package/_internal/objectKeys.d.ts +11 -0
- package/_internal/objectKeysLength.d.ts +10 -0
- package/_internal/objectMap.d.ts +17 -0
- package/_internal/objectMapEntries.d.ts +13 -0
- package/_internal/objectReduce.d.ts +14 -0
- package/_internal/objectSet.d.ts +14 -0
- package/_internal/objectSetIf.d.ts +15 -0
- package/_internal/objectToString.d.ts +11 -0
- package/_internal/objectValues.d.ts +11 -0
- package/_internal/placeholder.d.ts +2 -0
- package/_internal/promiseAll.d.ts +11 -0
- package/_internal/promiseObjectAll.d.ts +13 -0
- package/_internal/promiseRace.d.ts +11 -0
- package/_internal/propertyPathToArray.d.ts +10 -0
- package/_internal/reducerAllSync.d.ts +10 -0
- package/_internal/reducerAnySync.d.ts +10 -0
- package/_internal/reducerConcat.d.ts +15 -0
- package/_internal/reducerEvery.d.ts +12 -0
- package/_internal/reducerFilter.d.ts +19 -0
- package/_internal/reducerFlatMap.d.ts +20 -0
- package/_internal/reducerForEach.d.ts +18 -0
- package/_internal/reducerMap.d.ts +19 -0
- package/_internal/reducerSome.d.ts +16 -0
- package/_internal/reducerTryCatch.d.ts +15 -0
- package/_internal/sameValueZero.d.ts +13 -0
- package/_internal/setByPath.d.ts +14 -0
- package/_internal/setExtend.d.ts +12 -0
- package/_internal/setFilter.d.ts +16 -0
- package/_internal/setFlatMap.d.ts +21 -0
- package/_internal/setFlatten.d.ts +19 -0
- package/_internal/setMap.d.ts +17 -0
- package/_internal/sha256.d.ts +2 -0
- package/_internal/sleep.d.ts +10 -0
- package/_internal/spread2.d.ts +14 -0
- package/_internal/streamExtend.d.ts +17 -0
- package/_internal/stringFilter.d.ts +17 -0
- package/_internal/stringFlatMap.d.ts +22 -0
- package/_internal/stringMap.d.ts +19 -0
- package/_internal/symbolAsyncIterator.d.ts +11 -0
- package/_internal/symbolIterator.d.ts +11 -0
- package/_internal/tapSync.d.ts +16 -0
- package/_internal/thunkConditional.d.ts +17 -0
- package/_internal/thunkify1.d.ts +16 -0
- package/_internal/thunkify2.d.ts +17 -0
- package/_internal/thunkify3.d.ts +18 -0
- package/_internal/thunkify4.d.ts +19 -0
- package/_internal/thunkify5.d.ts +20 -0
- package/_internal/thunkifyArgs.d.ts +13 -0
- package/_internal/timeInLoop.d.ts +25 -0
- package/_internal/timeInLoopAsync.d.ts +23 -0
- package/all.d.ts +100 -0
- package/always.d.ts +2 -0
- package/and.d.ts +45 -0
- package/assign.d.ts +46 -0
- package/compose.d.ts +25 -0
- package/curry.d.ts +70 -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 +1 -1
- package/dist/forEach.es.min.js +1 -1
- package/dist/forEach.js +1 -1
- package/dist/forEach.min.js +1 -1
- package/dist/forEach.mjs +1 -1
- 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 +1 -1
- package/dist/map.es.min.js +1 -1
- package/dist/map.js +1 -1
- package/dist/map.min.js +1 -1
- package/dist/map.mjs +1 -1
- 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 +1 -1
- package/dist/rubico.es.min.js +1 -1
- package/dist/rubico.global.js +1 -1
- package/dist/rubico.global.min.js +1 -1
- package/dist/rubico.js +1 -1
- package/dist/rubico.min.js +1 -1
- package/dist/rubico.mjs +1 -1
- 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 +1 -1
- package/dist/x/pluck.es.min.js +1 -1
- package/dist/x/pluck.js +1 -1
- package/dist/x/pluck.min.js +1 -1
- package/dist/x/pluck.mjs +1 -1
- package/dist/x/prepend.es.js +1 -1
- package/dist/x/prepend.es.min.js +1 -1
- package/dist/x/prepend.js +1 -1
- package/dist/x/prepend.min.js +1 -1
- package/dist/x/prepend.mjs +1 -1
- package/dist/x/size.es.js +1 -1
- package/dist/x/size.es.min.js +1 -1
- package/dist/x/size.js +1 -1
- package/dist/x/size.min.js +1 -1
- package/dist/x/size.mjs +1 -1
- package/dist/x/trace.es.js +1 -1
- package/dist/x/trace.es.min.js +1 -1
- package/dist/x/trace.js +1 -1
- package/dist/x/trace.min.js +1 -1
- package/dist/x/trace.mjs +1 -1
- package/dist/x/unionWith.es.js +1 -1
- package/dist/x/unionWith.es.min.js +1 -1
- package/dist/x/unionWith.js +1 -1
- package/dist/x/unionWith.min.js +1 -1
- package/dist/x/unionWith.mjs +1 -1
- package/dist/x/uniq.es.js +1 -1
- package/dist/x/uniq.es.min.js +1 -1
- package/dist/x/uniq.js +1 -1
- package/dist/x/uniq.min.js +1 -1
- package/dist/x/uniq.mjs +1 -1
- package/dist/x/unless.es.js +1 -1
- package/dist/x/unless.es.min.js +1 -1
- package/dist/x/unless.js +1 -1
- package/dist/x/unless.min.js +1 -1
- package/dist/x/unless.mjs +1 -1
- package/dist/x/values.es.js +1 -1
- package/dist/x/values.es.min.js +1 -1
- package/dist/x/values.js +1 -1
- package/dist/x/values.min.js +1 -1
- package/dist/x/values.mjs +1 -1
- package/dist/x/when.es.js +1 -1
- package/dist/x/when.es.min.js +1 -1
- package/dist/x/when.js +1 -1
- package/dist/x/when.min.js +1 -1
- package/dist/x/when.mjs +1 -1
- package/eq.d.ts +51 -0
- package/es.d.ts +80 -0
- package/es.js +1 -1
- package/every.d.ts +52 -0
- package/filter.d.ts +148 -0
- package/flatMap.d.ts +109 -0
- package/forEach.d.ts +35 -0
- package/get.d.ts +70 -0
- package/global.d.ts +1 -0
- package/gt.d.ts +49 -0
- package/gte.d.ts +51 -0
- package/index.d.ts +1 -0
- package/index.js +1 -1
- package/lt.d.ts +49 -0
- package/lte.d.ts +49 -0
- package/map.d.ts +246 -0
- package/monad/Instance.d.ts +246 -0
- package/monad/Instance.js +188 -206
- package/not.d.ts +34 -0
- package/omit.d.ts +50 -0
- package/or.d.ts +43 -0
- package/package.json +43 -4
- package/pick.d.ts +43 -0
- package/pipe.d.ts +49 -0
- package/reduce.d.ts +166 -0
- package/set.d.ts +61 -0
- package/some.d.ts +65 -0
- package/switchCase.d.ts +76 -0
- package/tap.d.ts +53 -0
- package/thunkify.d.ts +21 -0
- package/transform.d.ts +131 -0
- package/tryCatch.d.ts +47 -0
- package/x/append.d.ts +38 -0
- package/x/callProp.d.ts +20 -0
- package/x/defaultsDeep.d.ts +42 -0
- package/x/differenceWith.d.ts +25 -0
- package/x/filterOut.d.ts +39 -0
- package/x/find.d.ts +34 -0
- package/x/findIndex.d.ts +25 -0
- package/x/first.d.ts +23 -0
- package/x/flatten.d.ts +57 -0
- package/x/groupBy.d.ts +50 -0
- package/x/has.d.ts +25 -0
- package/x/heapUsedInLoop.d.ts +53 -0
- package/x/identity.d.ts +21 -0
- package/x/includes.d.ts +25 -0
- package/x/index.d.ts +34 -0
- package/x/is.d.ts +2 -0
- package/x/isDeepEqual.d.ts +42 -0
- package/x/isEmpty.d.ts +24 -0
- package/x/isEqual.d.ts +2 -0
- package/x/isFunction.d.ts +23 -0
- package/x/isIn.d.ts +61 -0
- package/x/isObject.d.ts +2 -0
- package/x/isString.benchmarks.d.ts +1 -0
- package/x/isString.d.ts +21 -0
- package/x/keys.d.ts +23 -0
- package/x/last.d.ts +22 -0
- package/x/maxBy.d.ts +41 -0
- package/x/noop.d.ts +21 -0
- package/x/pluck.d.ts +35 -0
- package/x/prepend.d.ts +38 -0
- package/x/size.d.ts +21 -0
- package/x/test.d.ts +1 -0
- package/x/timeInLoop.d.ts +21 -0
- package/x/trace.d.ts +30 -0
- package/x/tracef.d.ts +7 -0
- package/x/unionWith.d.ts +31 -0
- package/x/uniq.d.ts +24 -0
- package/x/unless.d.ts +28 -0
- package/x/values.d.ts +23 -0
- package/x/when.d.ts +28 -0
package/dist/x/unless.es.min.js
CHANGED
package/dist/x/unless.js
CHANGED
package/dist/x/unless.min.js
CHANGED
package/dist/x/unless.mjs
CHANGED
package/dist/x/values.es.js
CHANGED
package/dist/x/values.es.min.js
CHANGED
package/dist/x/values.js
CHANGED
package/dist/x/values.min.js
CHANGED
package/dist/x/values.mjs
CHANGED
package/dist/x/when.es.js
CHANGED
package/dist/x/when.es.min.js
CHANGED
package/dist/x/when.js
CHANGED
package/dist/x/when.min.js
CHANGED
package/dist/x/when.mjs
CHANGED
package/eq.d.ts
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export = eq;
|
|
2
|
+
/**
|
|
3
|
+
* @name eq
|
|
4
|
+
*
|
|
5
|
+
* @synopsis
|
|
6
|
+
* ```coffeescript [specscript]
|
|
7
|
+
* eq(leftValue Promise|any, rightValue Promise|any) -> boolean
|
|
8
|
+
*
|
|
9
|
+
* eq(leftValue Promise|any, right function)(...args) -> Promise|boolean
|
|
10
|
+
* eq(...args, leftValue Promise|any, right function) -> Promise|boolean
|
|
11
|
+
*
|
|
12
|
+
* eq(left function, rightValue Promise|any)(...args) -> Promise|boolean
|
|
13
|
+
* eq(...args, left function, rightValue Promise|any) -> Promise|boolean
|
|
14
|
+
*
|
|
15
|
+
* eq(left function, right function)(...args) -> Promise|boolean
|
|
16
|
+
* eq(...args, left function, right function) -> Promise|boolean
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @description
|
|
20
|
+
* Test for [equality (`==`)](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Equality) between two values.
|
|
21
|
+
*
|
|
22
|
+
* ```javascript [playground]
|
|
23
|
+
* const areNamesEqual = eq('Ted', 'George')
|
|
24
|
+
*
|
|
25
|
+
* console.log(areNamesEqual) // false
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* If either of the two values are resolver functions, `eq` returns a function that resolves the values to compare from its arguments.
|
|
29
|
+
*
|
|
30
|
+
* ```javascript [playground]
|
|
31
|
+
* const personIsGeorge = eq(get('name'), 'George')
|
|
32
|
+
*
|
|
33
|
+
* const person = { name: 'George', likes: 'bananas' }
|
|
34
|
+
*
|
|
35
|
+
* if (personIsGeorge(person)) {
|
|
36
|
+
* console.log('The person is george')
|
|
37
|
+
* }
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* `eq` supports a tacit API for composability.
|
|
41
|
+
*
|
|
42
|
+
* ```javascript [playground]
|
|
43
|
+
* pipe({ name: 'George' }, [
|
|
44
|
+
* eq('George', get('name')),
|
|
45
|
+
* console.log, // true
|
|
46
|
+
* ])
|
|
47
|
+
* ```
|
|
48
|
+
*
|
|
49
|
+
* @execution concurrent
|
|
50
|
+
*/
|
|
51
|
+
declare const eq: (...args: any[]) => any;
|
package/es.d.ts
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
export default rubico;
|
|
2
|
+
declare namespace rubico {
|
|
3
|
+
export { pipe };
|
|
4
|
+
export { compose };
|
|
5
|
+
export { tap };
|
|
6
|
+
export { forEach };
|
|
7
|
+
export { switchCase };
|
|
8
|
+
export { tryCatch };
|
|
9
|
+
export { all };
|
|
10
|
+
export { assign };
|
|
11
|
+
export { get };
|
|
12
|
+
export { set };
|
|
13
|
+
export { pick };
|
|
14
|
+
export { omit };
|
|
15
|
+
export { map };
|
|
16
|
+
export { filter };
|
|
17
|
+
export { flatMap };
|
|
18
|
+
export { reduce };
|
|
19
|
+
export { transform };
|
|
20
|
+
export { and };
|
|
21
|
+
export { or };
|
|
22
|
+
export { not };
|
|
23
|
+
export { some };
|
|
24
|
+
export { every };
|
|
25
|
+
export { eq };
|
|
26
|
+
export { gt };
|
|
27
|
+
export { lt };
|
|
28
|
+
export { gte };
|
|
29
|
+
export { lte };
|
|
30
|
+
export { thunkify };
|
|
31
|
+
export { always };
|
|
32
|
+
export { curry };
|
|
33
|
+
export { __ };
|
|
34
|
+
}
|
|
35
|
+
declare function pipe(...args: any[]): any;
|
|
36
|
+
declare function compose(...args: any[]): any;
|
|
37
|
+
declare function tap(...args: any[]): any;
|
|
38
|
+
declare namespace tap {
|
|
39
|
+
function _if(predicate: any, func: any): (...args: any[]) => any;
|
|
40
|
+
export { _if as if };
|
|
41
|
+
}
|
|
42
|
+
declare function forEach(...args: any[]): any;
|
|
43
|
+
declare function switchCase(...args: any[]): any;
|
|
44
|
+
declare function tryCatch(...args: any[]): any;
|
|
45
|
+
declare function all(...args: any[]): any;
|
|
46
|
+
declare namespace all {
|
|
47
|
+
function series(...args: any[]): any;
|
|
48
|
+
}
|
|
49
|
+
declare function assign(arg0: any, arg1: any): any;
|
|
50
|
+
declare function get(arg0: any, arg1: any, arg2: any): any;
|
|
51
|
+
declare function set(arg0: any, arg1: any, arg2: any): any;
|
|
52
|
+
declare function pick(arg0: any, arg1: any): any;
|
|
53
|
+
declare function omit(arg0: any, arg1: any): any;
|
|
54
|
+
declare function map(...args: any[]): any;
|
|
55
|
+
declare namespace map {
|
|
56
|
+
function entries(mapper: any): (value: any) => any;
|
|
57
|
+
function series(mapper: any): (value: any) => any;
|
|
58
|
+
function pool(concurrencyLimit: any, mapper: any): (value: any) => any[] | Promise<any>;
|
|
59
|
+
}
|
|
60
|
+
declare function filter(...args: any[]): any;
|
|
61
|
+
declare function flatMap(...args: any[]): any;
|
|
62
|
+
declare function reduce(...args: any[]): any;
|
|
63
|
+
declare function transform(...args: any[]): any;
|
|
64
|
+
declare function and(...args: any[]): any;
|
|
65
|
+
declare function or(...args: any[]): any;
|
|
66
|
+
declare function not(...args: any[]): any;
|
|
67
|
+
declare function some(...args: any[]): any;
|
|
68
|
+
declare function every(...args: any[]): any;
|
|
69
|
+
declare function eq(...args: any[]): any;
|
|
70
|
+
declare function gt(...args: any[]): any;
|
|
71
|
+
declare function lt(...args: any[]): any;
|
|
72
|
+
declare function gte(...args: any[]): any;
|
|
73
|
+
declare function lte(...args: any[]): any;
|
|
74
|
+
declare function thunkify(func: any, ...args: any[]): () => any;
|
|
75
|
+
declare function always(value: any): () => any;
|
|
76
|
+
declare function curry(func: any, ...args: any[]): any;
|
|
77
|
+
declare namespace curry {
|
|
78
|
+
function arity(arity: any, func: any, ...args: any[]): any;
|
|
79
|
+
}
|
|
80
|
+
declare const __: any;
|
package/es.js
CHANGED
package/every.d.ts
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export = every;
|
|
2
|
+
/**
|
|
3
|
+
* @name every
|
|
4
|
+
*
|
|
5
|
+
* @synopsis
|
|
6
|
+
* ```coffeescript [specscript]
|
|
7
|
+
* type Foldable = Array|Iterable|AsyncIterable|{ reduce: function }|Object
|
|
8
|
+
*
|
|
9
|
+
* every(collection Foldable, predicate function) -> result Promise|boolean
|
|
10
|
+
*
|
|
11
|
+
* every(predicate function)(collection Foldable) -> result Promise|boolean
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* @description
|
|
15
|
+
* Test a predicate concurrently across all items of a collection, returning true if all predications are truthy.
|
|
16
|
+
*
|
|
17
|
+
* ```javascript [playground]
|
|
18
|
+
* const isOdd = number => number % 2 == 1
|
|
19
|
+
*
|
|
20
|
+
* console.log(
|
|
21
|
+
* every([1, 2, 3, 4, 5], isOdd),
|
|
22
|
+
* ) // false
|
|
23
|
+
*
|
|
24
|
+
* console.log(
|
|
25
|
+
* every([1, 3, 5], isOdd),
|
|
26
|
+
* ) // true
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* The collection can be any iterable, async iterable, or object values iterable collection. Below is an example of `every` accepting an async generator as the collection.
|
|
30
|
+
*
|
|
31
|
+
* ```javascript [playground]
|
|
32
|
+
* const asyncNumbers = async function* () {
|
|
33
|
+
* yield 1; yield 2; yield 3; yield 4; yield 5
|
|
34
|
+
* }
|
|
35
|
+
*
|
|
36
|
+
* every(asyncNumbers(), async number => number < 6).then(console.log) // true
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* `every` supports a tacit API for composability.
|
|
40
|
+
*
|
|
41
|
+
* ```javascript [playground]
|
|
42
|
+
* pipe([1, 2, 3], [
|
|
43
|
+
* every(number => number < 5),
|
|
44
|
+
* console.log, // true
|
|
45
|
+
* ])
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* @execution concurrent
|
|
49
|
+
*
|
|
50
|
+
* @muxing
|
|
51
|
+
*/
|
|
52
|
+
declare function every(...args: any[]): any;
|
package/filter.d.ts
ADDED
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
export = filter;
|
|
2
|
+
/**
|
|
3
|
+
* @name filter
|
|
4
|
+
*
|
|
5
|
+
* @synopsis
|
|
6
|
+
* ```coffeescript [specscript]
|
|
7
|
+
* type Filterable = Array|Object|Set|Map|Iterator|AsyncIterator
|
|
8
|
+
*
|
|
9
|
+
* type Predicate = (
|
|
10
|
+
* value any,
|
|
11
|
+
* indexOrKey number|string,
|
|
12
|
+
* collection Filterable,
|
|
13
|
+
* )=>boolean
|
|
14
|
+
*
|
|
15
|
+
* filter(collection Filterable, predicate Predicate) -> result Promise|Filterable
|
|
16
|
+
* filter(predicate Predicate)(collection Filterable) -> result Promise|Filterable
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @description
|
|
20
|
+
* Filter out items from a collection based on the results of their concurrent executions with a synchronous or asynchronous predicate function. `filter` accepts the following collections:
|
|
21
|
+
*
|
|
22
|
+
* * `Array`
|
|
23
|
+
* * `Object`
|
|
24
|
+
* * `Set`
|
|
25
|
+
* * `Map`
|
|
26
|
+
* * `Iterator`/`Generator`
|
|
27
|
+
* * `AsyncIterator`/`AsyncGenerator`
|
|
28
|
+
*
|
|
29
|
+
* For arrays (type `Array`), `filter` applies the predicate function to each item of the array, returning a new array containing only the items that tested truthy by the predicate. The order of the items is preserved. On each iteration, the predicate is passed the item, the index of the item, and a reference to the array.
|
|
30
|
+
*
|
|
31
|
+
* ```javascript [playground]
|
|
32
|
+
* const isOdd = number => number % 2 == 1
|
|
33
|
+
*
|
|
34
|
+
* const array = [1, 2, 3, 4, 5]
|
|
35
|
+
*
|
|
36
|
+
* console.log(filter(isOdd)(array)) // [1, 3, 5]
|
|
37
|
+
* console.log(filter(array, isOdd)) // [1, 3, 5]
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* For objects (type `Object`), `filter` applies the predicate function to each value of the object, returning a new object containing only the values that tested truthy by the predicate. On each iteration, the predicate is passed the object value, the key of the object value, and a reference to the object.
|
|
41
|
+
*
|
|
42
|
+
* ```javascript [playground]
|
|
43
|
+
* const isOdd = number => number % 2 == 1
|
|
44
|
+
*
|
|
45
|
+
* const obj = { a: 1, b: 2, c: 3, d: 4, e: 5 }
|
|
46
|
+
*
|
|
47
|
+
* console.log(filter(isOdd)(obj)) // { a: 1, c: 3, e: 5 }
|
|
48
|
+
* console.log(filter(obj, isOdd)) // { a: 1, c: 3, e: 5 }
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* For sets (type `Set`), `filter` applies the predicate function to each item in the set, returning a new set containing only the items that tested truthy by the predicate. On each iteration, the predicate is passed the item, the same item as the key argument, and a reference to the set.
|
|
52
|
+
*
|
|
53
|
+
* ```javascript [playground]
|
|
54
|
+
* const isOdd = number => number % 2 == 1
|
|
55
|
+
*
|
|
56
|
+
* const set = new Set([1, 2, 3, 4, 5])
|
|
57
|
+
*
|
|
58
|
+
* console.log(filter(isOdd)(set)) // Set { 1, 3, 5 }
|
|
59
|
+
* console.log(filter(set, isOdd)) // Set { 1, 3, 5 }
|
|
60
|
+
* ```
|
|
61
|
+
*
|
|
62
|
+
* For maps (type `Map`), `filter` applies the predicate function to the value of each entry of the map, returning a new map containing only the entries where the values tested truthy by the predicate. The order of the entries are preserved. On each iteration, the predicate is passed the map value, the key of the value, and a reference to the map.
|
|
63
|
+
*
|
|
64
|
+
* ```javascript [playground]
|
|
65
|
+
* const isOdd = number => number % 2 == 1
|
|
66
|
+
*
|
|
67
|
+
* const obj = { a: 1, b: 2, c: 3, d: 4, e: 5 }
|
|
68
|
+
* const m = new Map([['a', 1], ['b', 2], ['c', 3], ['d', 4], ['e', 5]])
|
|
69
|
+
*
|
|
70
|
+
* console.log(filter(isOdd)(m)) // Map(3) { 'a' => 1, 'c' => 3, 'e' => 5 }
|
|
71
|
+
* console.log(filter(m, isOdd)) // Map(3) { 'a' => 1, 'c' => 3, 'e' => 5 }
|
|
72
|
+
* ```
|
|
73
|
+
*
|
|
74
|
+
* For iterators (type `Iterator`) or generators (type `Generator`), `filter` returns a lazily filtered iterator/generator; all values that are normally yielded by the iterator/generator that test falsy by the predicate function are skipped by the lazily filtered iterator/generator. On each iteration, the predicate is passed the iteration value only.
|
|
75
|
+
*
|
|
76
|
+
* ```javascript [playground]
|
|
77
|
+
* const isOdd = number => number % 2 == 1
|
|
78
|
+
*
|
|
79
|
+
* const numbersGeneratorFunction = function* () {
|
|
80
|
+
* yield 1; yield 2; yield 3; yield 4; yield 5
|
|
81
|
+
* }
|
|
82
|
+
*
|
|
83
|
+
* const numbersGenerator = numbersGeneratorFunction()
|
|
84
|
+
* const oddNumbersGenerator = filter(numbersGeneratorFunction(), isOdd)
|
|
85
|
+
* const oddNumbersGenerator2 = filter(isOdd)(numbersGeneratorFunction())
|
|
86
|
+
*
|
|
87
|
+
* for (const number of numbersGenerator) {
|
|
88
|
+
* console.log(number) // 1
|
|
89
|
+
* // 2
|
|
90
|
+
* // 3
|
|
91
|
+
* // 4
|
|
92
|
+
* // 5
|
|
93
|
+
* }
|
|
94
|
+
*
|
|
95
|
+
* for (const number of oddNumbersGenerator) {
|
|
96
|
+
* console.log(number) // 1
|
|
97
|
+
* // 3
|
|
98
|
+
* // 5
|
|
99
|
+
* }
|
|
100
|
+
*
|
|
101
|
+
* for (const number of oddNumbersGenerator2) {
|
|
102
|
+
* console.log(number) // 1
|
|
103
|
+
* // 3
|
|
104
|
+
* // 5
|
|
105
|
+
* }
|
|
106
|
+
* ```
|
|
107
|
+
*
|
|
108
|
+
* With asyncIterators (type `AsyncIterator`) or asyncGenerators (type `AsyncGenerator`), `filter` returns a lazily filtered asyncIterator/asyncGenerator; all values that are normally yielded by the asyncIterator/asyncGenerator that test falsy by the predicate function are skipped by the lazily filtered asyncIterator/asyncGenerator. On each iteration, the predicate is passed the iteration value only.
|
|
109
|
+
*
|
|
110
|
+
* ```javascript [playground]
|
|
111
|
+
* const asyncIsOdd = async number => number % 2 == 1
|
|
112
|
+
*
|
|
113
|
+
* const asyncNumbersGeneratorFunction = async function* () {
|
|
114
|
+
* yield 1; yield 2; yield 3; yield 4; yield 5
|
|
115
|
+
* }
|
|
116
|
+
*
|
|
117
|
+
* const asyncNumbersGenerator = asyncNumbersGeneratorFunction()
|
|
118
|
+
*
|
|
119
|
+
* const asyncOddNumbersGenerator = filter(asyncNumbersGeneratorFunction(), asyncIsOdd)
|
|
120
|
+
*
|
|
121
|
+
* const asyncOddNumbersGenerator2 = filter(asyncIsOdd)(asyncNumbersGeneratorFunction())
|
|
122
|
+
*
|
|
123
|
+
* for await (const number of asyncNumbersGenerator) {
|
|
124
|
+
* console.log(number) // 1
|
|
125
|
+
* // 2
|
|
126
|
+
* // 3
|
|
127
|
+
* // 4
|
|
128
|
+
* // 5
|
|
129
|
+
* }
|
|
130
|
+
*
|
|
131
|
+
* for await (const number of asyncOddNumbersGenerator) {
|
|
132
|
+
* console.log(number) // 1
|
|
133
|
+
* // 3
|
|
134
|
+
* // 5
|
|
135
|
+
* }
|
|
136
|
+
*
|
|
137
|
+
* for await (const number of asyncOddNumbersGenerator2) {
|
|
138
|
+
* console.log(number) // 1
|
|
139
|
+
* // 3
|
|
140
|
+
* // 5
|
|
141
|
+
* }
|
|
142
|
+
* ```
|
|
143
|
+
*
|
|
144
|
+
* @execution concurrent
|
|
145
|
+
*
|
|
146
|
+
* @transducing
|
|
147
|
+
*/
|
|
148
|
+
declare function filter(...args: any[]): any;
|
package/flatMap.d.ts
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
export = flatMap;
|
|
2
|
+
/**
|
|
3
|
+
* @name flatMap
|
|
4
|
+
*
|
|
5
|
+
* @synopsis
|
|
6
|
+
* ```coffeescript [specscript]
|
|
7
|
+
* type FlatMappable = Array|String|Set|Iterator|AsyncIterator
|
|
8
|
+
*
|
|
9
|
+
* type Iterable = Iterable|AsyncIterable|Object<value any>
|
|
10
|
+
*
|
|
11
|
+
* type FlatMapper = (
|
|
12
|
+
* item any,
|
|
13
|
+
* indexOrKey string,
|
|
14
|
+
* collection FlatMappable
|
|
15
|
+
* )=>Promise|FlatMappable
|
|
16
|
+
*
|
|
17
|
+
* flatMap(collection FlatMappable, flatMapper FlatMapper) -> result Promise|FlatMappable
|
|
18
|
+
* flatMap(flatMapper FlatMapper)(collection FlatMappable) -> result Promise|FlatMappable
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* @description
|
|
22
|
+
* Applies a flatMapper function concurrently to each item of a collection, creating a new collection of the same type. A flatMapping operation iterates through each item of a collection and applies the flatMapper function to each item, flattening the result of the execution into the result collection. The result of an individual execution can be any iterable, async iterable, or object values iterable collection. The flatMapper function may be asynchronous.
|
|
23
|
+
*
|
|
24
|
+
* * `Iterable` - the execution result is iterated and each item is added to the result collection
|
|
25
|
+
* * `AsyncIterable` - the execution result is asynchronously iterated and each item is added to the result collection
|
|
26
|
+
* * `Object` - the execution result values are added to the result collection
|
|
27
|
+
*
|
|
28
|
+
* The following example demonstrates various execution results being flattened into the same array.
|
|
29
|
+
*
|
|
30
|
+
* ```javascript [playground]
|
|
31
|
+
* const identity = value => value
|
|
32
|
+
*
|
|
33
|
+
* flatMap(identity)([
|
|
34
|
+
* [1, 1], // array
|
|
35
|
+
* new Set([2, 2]), // set
|
|
36
|
+
* (function* () { yield 3; yield 3 })(), // generator
|
|
37
|
+
* (async function* () { yield 7; yield 7 })(), // asyncGenerator
|
|
38
|
+
* { a: 5, b: 5 }, // object
|
|
39
|
+
* new Uint8Array([8]), // typedArray
|
|
40
|
+
* ]).then(console.log)
|
|
41
|
+
* // [1, 1, 2, 3, 3, 5, 5, 8, 7, 7]
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* A flatMapping operation concatenates onto the resulting collection synchronous values and muxes any asynchronous values. Muxing, or asynchronously "mixing", is the process of combining multiple asynchronous sources into one source, with order determined by the asynchronous resolution of the individual items.
|
|
45
|
+
*
|
|
46
|
+
* ```javascript [playground]
|
|
47
|
+
* const sleep = ms => new Promise(resolve => setTimeout(resolve, ms))
|
|
48
|
+
*
|
|
49
|
+
* const repeat3 = function* (message) {
|
|
50
|
+
* yield message; yield message; yield message
|
|
51
|
+
* }
|
|
52
|
+
*
|
|
53
|
+
* console.log( // sync is concatenated
|
|
54
|
+
* flatMap(['foo', 'bar', 'baz'], repeat3),
|
|
55
|
+
* ) // ['foo', 'foo', 'foo', 'bar', 'bar', 'bar', 'baz', 'baz', 'baz']
|
|
56
|
+
*
|
|
57
|
+
* const asyncRepeat3 = async function* (message) {
|
|
58
|
+
* yield message
|
|
59
|
+
* await sleep(100)
|
|
60
|
+
* yield message
|
|
61
|
+
* await sleep(1000)
|
|
62
|
+
* yield message
|
|
63
|
+
* }
|
|
64
|
+
*
|
|
65
|
+
* // async is muxed
|
|
66
|
+
* flatMap(['foo', 'bar', 'baz'], asyncRepeat3).then(console.log)
|
|
67
|
+
* // ['foo', 'bar', 'baz', 'foo', 'bar', 'baz', 'foo', 'bar', 'baz']
|
|
68
|
+
* ```
|
|
69
|
+
*
|
|
70
|
+
* For arrays (type `Array`), `flatMap` applies the flatMapper function to each item, pushing (`.push`) the items of each execution into a new array.
|
|
71
|
+
*
|
|
72
|
+
* ```javascript [playground]
|
|
73
|
+
* const duplicate = value => [value, value]
|
|
74
|
+
*
|
|
75
|
+
* console.log(
|
|
76
|
+
* flatMap([1, 2, 3, 4, 5], duplicate)
|
|
77
|
+
* ) // [1, 1, 2, 2, 3, 3, 4, 4, 5, 5]
|
|
78
|
+
* ```
|
|
79
|
+
*
|
|
80
|
+
* For strings (type `String`), `flatMap` applies the flatMapper function to each character, adding (`+`) the items of each execution into a new string
|
|
81
|
+
*
|
|
82
|
+
* ```javascript [playground]
|
|
83
|
+
* const duplicate = value => [value, value]
|
|
84
|
+
*
|
|
85
|
+
* console.log(
|
|
86
|
+
* flatMap('12345', duplicate)
|
|
87
|
+
* ) // 1122334455
|
|
88
|
+
* ```
|
|
89
|
+
*
|
|
90
|
+
* For sets (type `Set`), `flatMap` applies the flatMapper function to each item, adding (`.add`) the items of each execution into a new set
|
|
91
|
+
*
|
|
92
|
+
* ```javascript [playground]
|
|
93
|
+
* const pairPlus100 = value => [value, value + 100]
|
|
94
|
+
*
|
|
95
|
+
* console.log(
|
|
96
|
+
* flatMap(new Set([1, 2, 3, 4, 5]), pairPlus100)
|
|
97
|
+
* ) // Set(10) { 1, 101, 2, 102, 3, 103, 4, 104, 5, 105 }
|
|
98
|
+
* ```
|
|
99
|
+
*
|
|
100
|
+
* @execution concurrent
|
|
101
|
+
*
|
|
102
|
+
* @transducing
|
|
103
|
+
*
|
|
104
|
+
* @archive
|
|
105
|
+
* * For typed arrays (type [`TypedArray`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray#typedarray_objects)) and Node.js buffers (type [`Buffer`](https://nodejs.org/api/buffer.html)), `flatMap` applies a flatMapper function to each value of the typed array/buffer, joining the result of each execution with `.set` into the resulting typed array
|
|
106
|
+
*
|
|
107
|
+
* * For Node.js duplex streams (type [Stream](https://nodejs.org/api/stream.html#class-streamduplex)), `flatMap` applies a flatMapper function to each item of the stream, writing (`.write`) each item of each execution into the duplex stream
|
|
108
|
+
*/
|
|
109
|
+
declare function flatMap(...args: any[]): any;
|
package/forEach.d.ts
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export = forEach;
|
|
2
|
+
/**
|
|
3
|
+
* @name forEach
|
|
4
|
+
*
|
|
5
|
+
* @synopsis
|
|
6
|
+
* ```coffeescript [specscript]
|
|
7
|
+
* type Collection = Array|Iterable|AsyncIterable|{ forEach: function }|Object
|
|
8
|
+
*
|
|
9
|
+
* forEach(collection Collection, callback function) -> collection Collection
|
|
10
|
+
*
|
|
11
|
+
* forEach(callback function)(collection Collection) -> collection Collection
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* @description
|
|
15
|
+
* Execute a callback for each item of a collection, returning a Promise if the execution is asynchronous.
|
|
16
|
+
*
|
|
17
|
+
* ```javascript [playground]
|
|
18
|
+
* forEach([1, 2, 3, 4, 5l], console.log) // 1 2 3 4 5
|
|
19
|
+
*
|
|
20
|
+
* forEach({ a: 1, b: 2, c: 3 }, console.log) // 1 2 3
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* Omit the data argument for a composable API
|
|
24
|
+
*
|
|
25
|
+
* ```javascript [playground]
|
|
26
|
+
* pipe([1, 2, 3, 4, 5], [
|
|
27
|
+
* filter(number => number % 2 == 1),
|
|
28
|
+
* map(number => number ** 2),
|
|
29
|
+
* forEach(console.log), // 1
|
|
30
|
+
* // 9
|
|
31
|
+
* // 25
|
|
32
|
+
* ])
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
declare function forEach(...args: any[]): any;
|
package/get.d.ts
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
export = get;
|
|
2
|
+
/**
|
|
3
|
+
* @name get
|
|
4
|
+
*
|
|
5
|
+
* @synopsis
|
|
6
|
+
* ```coffeescript [specscript]
|
|
7
|
+
* get(
|
|
8
|
+
* object Promise|Object,
|
|
9
|
+
* path string|number|Array<string|number>,
|
|
10
|
+
* defaultValue? function|any
|
|
11
|
+
* ) -> result Promise|Object
|
|
12
|
+
*
|
|
13
|
+
* get(
|
|
14
|
+
* path string|number|Array<string|number>,
|
|
15
|
+
* defaultValue? function|any
|
|
16
|
+
* )(object Object) -> result Promise|Object
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @description
|
|
20
|
+
* Accesses a property of an object given a path denoted by a string, number, or an array of string or numbers.
|
|
21
|
+
*
|
|
22
|
+
* ```javascript [playground]
|
|
23
|
+
* const obj = { hello: 'world' }
|
|
24
|
+
*
|
|
25
|
+
* console.log(get(obj, 'hello')) // world
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* `get` supports a tacit API for composability
|
|
29
|
+
*
|
|
30
|
+
* ```javascript [playground]
|
|
31
|
+
* const obj = { hello: 'world' }
|
|
32
|
+
*
|
|
33
|
+
* const getHello = get('hello')
|
|
34
|
+
*
|
|
35
|
+
* console.log(getHello({ hello: 'world' })) // world
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* If the value at the end of the path is not found on the object, returns an optional default value. The default value can be a function resolver that takes the object as an argument. If no default value is provided, returns `undefined`. The function resolver may be asynchronous (returns a promise).
|
|
39
|
+
*
|
|
40
|
+
* ```javascript [playground]
|
|
41
|
+
* const getHelloWithDefaultValue = get('hello', 'default')
|
|
42
|
+
*
|
|
43
|
+
* console.log(getHelloWithDefaultValue({ foo: 'bar' })) // default
|
|
44
|
+
*
|
|
45
|
+
* const getHelloWithDefaultResolver = get('hello', object => object.foo)
|
|
46
|
+
*
|
|
47
|
+
* console.log(getHelloWithDefaultResolver({ foo: 'bar' })) // bar
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* `get` supports three types of path patterns for nested property access.
|
|
51
|
+
*
|
|
52
|
+
* * dot delimited - `'a.b.c'`
|
|
53
|
+
* * bracket notation - `'a[0].value'`
|
|
54
|
+
* * an array of keys or indices - `['a', 0, 'value']`
|
|
55
|
+
*
|
|
56
|
+
* ```javascript [playground]
|
|
57
|
+
* const getABC0 = get('a.b.c[0]')
|
|
58
|
+
*
|
|
59
|
+
* console.log(getABC0({ a: { b: { c: ['hello'] } } })) // hello
|
|
60
|
+
*
|
|
61
|
+
* const get00000DotNotation = get('0.0.0.0.0')
|
|
62
|
+
* const get00000BracketNotation = get('[0][0][0][0][0]')
|
|
63
|
+
* const get00000ArrayNotation = get([0, 0, 0, 0, 0])
|
|
64
|
+
*
|
|
65
|
+
* console.log(get00000DotNotation([[[[['foo']]]]])) // foo
|
|
66
|
+
* console.log(get00000BracketNotation([[[[['foo']]]]])) // foo
|
|
67
|
+
* console.log(get00000ArrayNotation([[[[['foo']]]]])) // foo
|
|
68
|
+
* ```
|
|
69
|
+
*/
|
|
70
|
+
declare function get(arg0: any, arg1: any, arg2: any): any;
|
package/global.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|