@duplojs/utils 1.4.32 → 1.4.33
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/dist/array/at/default.d.ts +32 -0
- package/dist/array/at/first.cjs +3 -0
- package/dist/array/at/first.d.ts +25 -0
- package/dist/array/at/first.mjs +3 -0
- package/dist/array/at/last.cjs +3 -0
- package/dist/array/at/last.d.ts +25 -0
- package/dist/array/at/last.mjs +3 -0
- package/dist/array/chunk.d.ts +27 -0
- package/dist/array/coalescing.cjs +3 -0
- package/dist/array/coalescing.d.ts +22 -0
- package/dist/array/coalescing.mjs +3 -0
- package/dist/array/concat.d.ts +28 -0
- package/dist/array/copyWithin.d.ts +31 -0
- package/dist/array/every.d.ts +37 -0
- package/dist/array/fill/all.d.ts +36 -0
- package/dist/array/fill/default.d.ts +36 -0
- package/dist/array/filter.d.ts +33 -0
- package/dist/array/find.d.ts +34 -0
- package/dist/array/findAndReplace.d.ts +40 -0
- package/dist/array/findAndSplice/delete.d.ts +40 -0
- package/dist/array/findAndSplice/insert.d.ts +40 -0
- package/dist/array/findAndSplice/replace.d.ts +40 -0
- package/dist/array/findIndex.d.ts +37 -0
- package/dist/array/findLast.d.ts +39 -0
- package/dist/array/findLastIndex.d.ts +37 -0
- package/dist/array/flat.d.ts +32 -0
- package/dist/array/flatMap.d.ts +37 -0
- package/dist/array/from.cjs +3 -0
- package/dist/array/from.d.ts +33 -0
- package/dist/array/from.mjs +3 -0
- package/dist/array/group.d.ts +67 -0
- package/dist/array/includes.d.ts +40 -0
- package/dist/array/index.cjs +3 -1
- package/dist/array/index.d.ts +27 -0
- package/dist/array/index.mjs +4 -0
- package/dist/array/indexOf.d.ts +38 -0
- package/dist/array/insert.d.ts +34 -0
- package/dist/array/is.cjs +3 -0
- package/dist/array/is.d.ts +25 -0
- package/dist/array/is.mjs +3 -0
- package/dist/array/isLastIndex.d.ts +28 -0
- package/dist/array/join.d.ts +35 -0
- package/dist/array/lastIndexOf.d.ts +37 -0
- package/dist/array/length.cjs +3 -0
- package/dist/array/length.d.ts +24 -0
- package/dist/array/length.mjs +3 -0
- package/dist/array/lengthEqual.d.ts +44 -0
- package/dist/array/map.d.ts +33 -0
- package/dist/array/maxElements.d.ts +33 -0
- package/dist/array/maxOf.cjs +3 -0
- package/dist/array/maxOf.d.ts +28 -0
- package/dist/array/maxOf.mjs +3 -0
- package/dist/array/minElements.d.ts +47 -0
- package/dist/array/minOf.cjs +3 -0
- package/dist/array/minOf.d.ts +28 -0
- package/dist/array/minOf.mjs +3 -0
- package/dist/array/notIncludes.d.ts +41 -0
- package/dist/array/pop.cjs +3 -0
- package/dist/array/pop.d.ts +31 -0
- package/dist/array/pop.mjs +3 -0
- package/dist/array/push.d.ts +38 -0
- package/dist/array/reduce.cjs +3 -0
- package/dist/array/reduce.d.ts +74 -0
- package/dist/array/reduce.mjs +3 -0
- package/dist/array/reduceRight.d.ts +39 -0
- package/dist/array/reverse.cjs +3 -0
- package/dist/array/reverse.d.ts +31 -0
- package/dist/array/reverse.mjs +3 -0
- package/dist/array/select.d.ts +39 -0
- package/dist/array/set.d.ts +39 -0
- package/dist/array/shift.cjs +3 -0
- package/dist/array/shift.d.ts +31 -0
- package/dist/array/shift.mjs +3 -0
- package/dist/array/slice.d.ts +36 -0
- package/dist/array/some.d.ts +44 -0
- package/dist/array/sort.d.ts +29 -0
- package/dist/array/splice/delete.d.ts +32 -0
- package/dist/array/splice/insert.d.ts +39 -0
- package/dist/array/splice/replace.d.ts +39 -0
- package/dist/array/sum.cjs +3 -0
- package/dist/array/sum.d.ts +22 -0
- package/dist/array/sum.mjs +3 -0
- package/dist/array/toTuple.d.ts +33 -0
- package/dist/array/unshift.d.ts +38 -0
- package/dist/clean/constraint/base.cjs +3 -0
- package/dist/clean/constraint/base.d.ts +106 -0
- package/dist/clean/constraint/base.mjs +3 -0
- package/dist/clean/constraint/defaultConstraint/number.cjs +9 -0
- package/dist/clean/constraint/defaultConstraint/number.d.ts +81 -0
- package/dist/clean/constraint/defaultConstraint/number.mjs +9 -0
- package/dist/clean/constraint/defaultConstraint/string.cjs +6 -0
- package/dist/clean/constraint/defaultConstraint/string.d.ts +54 -0
- package/dist/clean/constraint/defaultConstraint/string.mjs +6 -0
- package/dist/clean/entity.cjs +3 -0
- package/dist/clean/entity.d.ts +141 -0
- package/dist/clean/entity.mjs +3 -0
- package/dist/clean/flag.cjs +3 -0
- package/dist/clean/flag.d.ts +96 -0
- package/dist/clean/flag.mjs +3 -0
- package/dist/clean/index.cjs +3 -1
- package/dist/clean/index.d.ts +25 -0
- package/dist/clean/index.mjs +4 -0
- package/dist/clean/kind.cjs +3 -0
- package/dist/clean/kind.d.ts +33 -0
- package/dist/clean/kind.mjs +3 -0
- package/dist/clean/newType.cjs +3 -0
- package/dist/clean/newType.d.ts +106 -0
- package/dist/clean/newType.mjs +3 -0
- package/dist/clean/primitive/base.cjs +18 -0
- package/dist/clean/primitive/base.d.ts +242 -0
- package/dist/clean/primitive/base.mjs +18 -0
- package/dist/clean/primitive/operations/date/dateAddTime.d.ts +35 -0
- package/dist/clean/primitive/operations/date/dateGreaterThan.d.ts +24 -0
- package/dist/clean/primitive/operations/date/dateLessThan.d.ts +24 -0
- package/dist/clean/primitive/operations/date/dateMax.cjs +3 -0
- package/dist/clean/primitive/operations/date/dateMax.d.ts +36 -0
- package/dist/clean/primitive/operations/date/dateMax.mjs +3 -0
- package/dist/clean/primitive/operations/date/dateMin.cjs +3 -0
- package/dist/clean/primitive/operations/date/dateMin.d.ts +36 -0
- package/dist/clean/primitive/operations/date/dateMin.mjs +3 -0
- package/dist/clean/primitive/operations/date/dateSubtractTime.d.ts +35 -0
- package/dist/clean/primitive/operations/equal.d.ts +34 -0
- package/dist/clean/primitive/operations/number/add.d.ts +34 -0
- package/dist/clean/primitive/operations/number/divide.d.ts +34 -0
- package/dist/clean/primitive/operations/number/greaterThan.d.ts +25 -0
- package/dist/clean/primitive/operations/number/lessThan.d.ts +25 -0
- package/dist/clean/primitive/operations/number/max.cjs +3 -0
- package/dist/clean/primitive/operations/number/max.d.ts +33 -0
- package/dist/clean/primitive/operations/number/max.mjs +3 -0
- package/dist/clean/primitive/operations/number/min.cjs +3 -0
- package/dist/clean/primitive/operations/number/min.d.ts +33 -0
- package/dist/clean/primitive/operations/number/min.mjs +3 -0
- package/dist/clean/primitive/operations/number/multiply.d.ts +34 -0
- package/dist/clean/primitive/operations/number/subtract.d.ts +34 -0
- package/dist/clean/primitive/operations/sort.d.ts +38 -0
- package/dist/clean/primitive/operations/string/concat.d.ts +35 -0
- package/dist/clean/primitive/operations/string/length.cjs +3 -0
- package/dist/clean/primitive/operations/string/length.d.ts +27 -0
- package/dist/clean/primitive/operations/string/length.mjs +3 -0
- package/dist/clean/primitive/operations/string/lengthEqual.d.ts +25 -0
- package/dist/clean/primitive/operations/string/lengthGreaterThan.d.ts +25 -0
- package/dist/clean/primitive/operations/string/lengthLessThan.d.ts +25 -0
- package/dist/clean/primitive/operations/time/timeGreaterThan.d.ts +24 -0
- package/dist/clean/primitive/operations/time/timeLessThan.d.ts +24 -0
- package/dist/clean/primitive/operations/time/timeMax.cjs +3 -0
- package/dist/clean/primitive/operations/time/timeMax.d.ts +36 -0
- package/dist/clean/primitive/operations/time/timeMax.mjs +3 -0
- package/dist/clean/primitive/operations/time/timeMin.cjs +3 -0
- package/dist/clean/primitive/operations/time/timeMin.d.ts +36 -0
- package/dist/clean/primitive/operations/time/timeMin.mjs +3 -0
- package/dist/clean/repository.cjs +3 -0
- package/dist/clean/repository.d.ts +87 -0
- package/dist/clean/repository.mjs +3 -0
- package/dist/clean/useCase.cjs +6 -0
- package/dist/clean/useCase.d.ts +140 -0
- package/dist/clean/useCase.mjs +6 -0
- package/dist/common/addWrappedProperties.cjs +3 -0
- package/dist/common/addWrappedProperties.d.ts +12 -0
- package/dist/common/addWrappedProperties.mjs +3 -0
- package/dist/common/and.d.ts +53 -0
- package/dist/common/asyncInnerPipe.d.ts +49 -0
- package/dist/common/asyncLoop.cjs +3 -0
- package/dist/common/asyncLoop.d.ts +29 -0
- package/dist/common/asyncLoop.mjs +3 -0
- package/dist/common/asyncPipe.cjs +3 -0
- package/dist/common/asyncPipe.d.ts +35 -0
- package/dist/common/asyncPipe.mjs +3 -0
- package/dist/common/asyncRetry.cjs +6 -0
- package/dist/common/asyncRetry.d.ts +64 -0
- package/dist/common/asyncRetry.mjs +6 -0
- package/dist/common/builder.cjs +3 -0
- package/dist/common/builder.d.ts +88 -0
- package/dist/common/builder.mjs +3 -0
- package/dist/common/clone.cjs +3 -0
- package/dist/common/clone.d.ts +12 -0
- package/dist/common/clone.mjs +3 -0
- package/dist/common/enum.cjs +3 -0
- package/dist/common/enum.d.ts +34 -0
- package/dist/common/enum.mjs +3 -0
- package/dist/common/equal.d.ts +38 -0
- package/dist/common/escapeRegExp.cjs +3 -0
- package/dist/common/escapeRegExp.d.ts +20 -0
- package/dist/common/escapeRegExp.mjs +3 -0
- package/dist/common/externalPromise.cjs +3 -0
- package/dist/common/externalPromise.d.ts +20 -0
- package/dist/common/externalPromise.mjs +3 -0
- package/dist/common/falsy.cjs +3 -0
- package/dist/common/falsy.d.ts +27 -0
- package/dist/common/falsy.mjs +3 -0
- package/dist/common/forward.cjs +3 -0
- package/dist/common/forward.d.ts +23 -0
- package/dist/common/forward.mjs +3 -0
- package/dist/common/forwardLog.cjs +3 -0
- package/dist/common/forwardLog.d.ts +28 -0
- package/dist/common/forwardLog.mjs +3 -0
- package/dist/common/globalStore.cjs +3 -0
- package/dist/common/globalStore.d.ts +12 -0
- package/dist/common/globalStore.mjs +3 -0
- package/dist/common/hasKinds.d.ts +39 -0
- package/dist/common/hasSomeKinds.d.ts +39 -0
- package/dist/common/index.d.ts +27 -0
- package/dist/common/innerPipe.d.ts +35 -0
- package/dist/common/instanceOf.d.ts +33 -0
- package/dist/common/isType.d.ts +35 -0
- package/dist/common/justReturn.d.ts +43 -0
- package/dist/common/kind.cjs +6 -0
- package/dist/common/kind.d.ts +94 -0
- package/dist/common/kind.mjs +6 -0
- package/dist/common/loop.cjs +3 -0
- package/dist/common/loop.d.ts +26 -0
- package/dist/common/loop.mjs +3 -0
- package/dist/common/memo.cjs +3 -0
- package/dist/common/memo.d.ts +25 -0
- package/dist/common/memo.mjs +3 -0
- package/dist/common/or.d.ts +41 -0
- package/dist/common/override.cjs +3 -0
- package/dist/common/override.d.ts +45 -0
- package/dist/common/override.mjs +3 -0
- package/dist/common/pipe.d.ts +29 -0
- package/dist/common/promiseObject.cjs +3 -0
- package/dist/common/promiseObject.d.ts +26 -0
- package/dist/common/promiseObject.mjs +3 -0
- package/dist/common/simpleClone.cjs +3 -0
- package/dist/common/simpleClone.d.ts +23 -0
- package/dist/common/simpleClone.mjs +3 -0
- package/dist/common/sleep.cjs +3 -0
- package/dist/common/sleep.d.ts +21 -0
- package/dist/common/sleep.mjs +3 -0
- package/dist/common/stringToBytes.cjs +3 -0
- package/dist/common/stringToBytes.d.ts +17 -0
- package/dist/common/stringToBytes.mjs +3 -0
- package/dist/common/stringToMillisecond.cjs +3 -0
- package/dist/common/stringToMillisecond.d.ts +17 -0
- package/dist/common/stringToMillisecond.mjs +3 -0
- package/dist/common/toJSON.cjs +3 -0
- package/dist/common/toJSON.d.ts +35 -0
- package/dist/common/toJSON.mjs +3 -0
- package/dist/common/toString.cjs +3 -0
- package/dist/common/toString.d.ts +18 -0
- package/dist/common/toString.mjs +3 -0
- package/dist/common/toTransform.cjs +3 -0
- package/dist/common/toTransform.d.ts +41 -0
- package/dist/common/toTransform.mjs +3 -0
- package/dist/common/toWrappedValue.cjs +3 -0
- package/dist/common/toWrappedValue.d.ts +22 -0
- package/dist/common/toWrappedValue.mjs +3 -0
- package/dist/common/truthy.cjs +3 -0
- package/dist/common/truthy.d.ts +27 -0
- package/dist/common/truthy.mjs +3 -0
- package/dist/common/unwrap.d.ts +22 -0
- package/dist/common/when.d.ts +40 -0
- package/dist/common/whenElse.d.ts +42 -0
- package/dist/common/whenNot.d.ts +40 -0
- package/dist/common/wrapValue.cjs +9 -0
- package/dist/common/wrapValue.d.ts +55 -0
- package/dist/common/wrapValue.mjs +9 -0
- package/dist/dataParser/base.d.ts +104 -0
- package/dist/dataParser/baseExtended.d.ts +333 -0
- package/dist/dataParser/extended/array.cjs +3 -0
- package/dist/dataParser/extended/array.d.ts +84 -0
- package/dist/dataParser/extended/array.mjs +3 -0
- package/dist/dataParser/extended/bigint.cjs +3 -0
- package/dist/dataParser/extended/bigint.d.ts +84 -0
- package/dist/dataParser/extended/bigint.mjs +3 -0
- package/dist/dataParser/extended/boolean.cjs +3 -0
- package/dist/dataParser/extended/boolean.d.ts +28 -0
- package/dist/dataParser/extended/boolean.mjs +3 -0
- package/dist/dataParser/extended/date.cjs +3 -0
- package/dist/dataParser/extended/date.d.ts +28 -0
- package/dist/dataParser/extended/date.mjs +3 -0
- package/dist/dataParser/extended/empty.cjs +3 -0
- package/dist/dataParser/extended/empty.d.ts +27 -0
- package/dist/dataParser/extended/empty.mjs +3 -0
- package/dist/dataParser/extended/lazy.cjs +3 -0
- package/dist/dataParser/extended/lazy.d.ts +38 -0
- package/dist/dataParser/extended/lazy.mjs +3 -0
- package/dist/dataParser/extended/literal.cjs +3 -0
- package/dist/dataParser/extended/literal.d.ts +28 -0
- package/dist/dataParser/extended/literal.mjs +3 -0
- package/dist/dataParser/extended/nil.cjs +3 -0
- package/dist/dataParser/extended/nil.d.ts +28 -0
- package/dist/dataParser/extended/nil.mjs +3 -0
- package/dist/dataParser/extended/nullable.cjs +3 -0
- package/dist/dataParser/extended/nullable.d.ts +28 -0
- package/dist/dataParser/extended/nullable.mjs +3 -0
- package/dist/dataParser/extended/number.cjs +6 -0
- package/dist/dataParser/extended/number.d.ts +143 -0
- package/dist/dataParser/extended/number.mjs +6 -0
- package/dist/dataParser/extended/object.cjs +3 -0
- package/dist/dataParser/extended/object.d.ts +243 -0
- package/dist/dataParser/extended/object.mjs +3 -0
- package/dist/dataParser/extended/optional.cjs +3 -0
- package/dist/dataParser/extended/optional.d.ts +28 -0
- package/dist/dataParser/extended/optional.mjs +3 -0
- package/dist/dataParser/extended/pipe.cjs +3 -0
- package/dist/dataParser/extended/pipe.d.ts +28 -0
- package/dist/dataParser/extended/pipe.mjs +3 -0
- package/dist/dataParser/extended/record.cjs +3 -0
- package/dist/dataParser/extended/record.d.ts +38 -0
- package/dist/dataParser/extended/record.mjs +3 -0
- package/dist/dataParser/extended/recover.cjs +3 -0
- package/dist/dataParser/extended/recover.d.ts +27 -0
- package/dist/dataParser/extended/recover.mjs +3 -0
- package/dist/dataParser/extended/string.cjs +9 -0
- package/dist/dataParser/extended/string.d.ts +162 -0
- package/dist/dataParser/extended/string.mjs +9 -0
- package/dist/dataParser/extended/templateLiteral.cjs +3 -0
- package/dist/dataParser/extended/templateLiteral.d.ts +28 -0
- package/dist/dataParser/extended/templateLiteral.mjs +3 -0
- package/dist/dataParser/extended/time.cjs +3 -0
- package/dist/dataParser/extended/time.d.ts +84 -0
- package/dist/dataParser/extended/time.mjs +3 -0
- package/dist/dataParser/extended/transform.cjs +3 -0
- package/dist/dataParser/extended/transform.d.ts +28 -0
- package/dist/dataParser/extended/transform.mjs +3 -0
- package/dist/dataParser/extended/tuple.cjs +3 -0
- package/dist/dataParser/extended/tuple.d.ts +28 -0
- package/dist/dataParser/extended/tuple.mjs +3 -0
- package/dist/dataParser/extended/union.cjs +3 -0
- package/dist/dataParser/extended/union.d.ts +28 -0
- package/dist/dataParser/extended/union.mjs +3 -0
- package/dist/dataParser/extended/unknown.cjs +3 -0
- package/dist/dataParser/extended/unknown.d.ts +26 -0
- package/dist/dataParser/extended/unknown.mjs +3 -0
- package/dist/dataParser/parsers/array/index.cjs +3 -0
- package/dist/dataParser/parsers/array/index.d.ts +30 -0
- package/dist/dataParser/parsers/array/index.mjs +3 -0
- package/dist/dataParser/parsers/bigint/index.cjs +3 -0
- package/dist/dataParser/parsers/bigint/index.d.ts +30 -0
- package/dist/dataParser/parsers/bigint/index.mjs +3 -0
- package/dist/dataParser/parsers/boolean.cjs +3 -0
- package/dist/dataParser/parsers/boolean.d.ts +30 -0
- package/dist/dataParser/parsers/boolean.mjs +3 -0
- package/dist/dataParser/parsers/date.cjs +3 -0
- package/dist/dataParser/parsers/date.d.ts +30 -0
- package/dist/dataParser/parsers/date.mjs +3 -0
- package/dist/dataParser/parsers/empty.cjs +3 -0
- package/dist/dataParser/parsers/empty.d.ts +29 -0
- package/dist/dataParser/parsers/empty.mjs +3 -0
- package/dist/dataParser/parsers/lazy.cjs +3 -0
- package/dist/dataParser/parsers/lazy.d.ts +39 -0
- package/dist/dataParser/parsers/lazy.mjs +3 -0
- package/dist/dataParser/parsers/literal.cjs +3 -0
- package/dist/dataParser/parsers/literal.d.ts +29 -0
- package/dist/dataParser/parsers/literal.mjs +3 -0
- package/dist/dataParser/parsers/nil.cjs +3 -0
- package/dist/dataParser/parsers/nil.d.ts +30 -0
- package/dist/dataParser/parsers/nil.mjs +3 -0
- package/dist/dataParser/parsers/nullable.cjs +3 -0
- package/dist/dataParser/parsers/nullable.d.ts +30 -0
- package/dist/dataParser/parsers/nullable.mjs +3 -0
- package/dist/dataParser/parsers/number/index.cjs +3 -0
- package/dist/dataParser/parsers/number/index.d.ts +30 -0
- package/dist/dataParser/parsers/number/index.mjs +3 -0
- package/dist/dataParser/parsers/object/extends.cjs +3 -0
- package/dist/dataParser/parsers/object/extends.d.ts +50 -0
- package/dist/dataParser/parsers/object/extends.mjs +3 -0
- package/dist/dataParser/parsers/object/index.cjs +3 -0
- package/dist/dataParser/parsers/object/index.d.ts +39 -0
- package/dist/dataParser/parsers/object/index.mjs +3 -0
- package/dist/dataParser/parsers/object/omit.cjs +3 -0
- package/dist/dataParser/parsers/object/omit.d.ts +38 -0
- package/dist/dataParser/parsers/object/omit.mjs +3 -0
- package/dist/dataParser/parsers/object/partial.cjs +3 -0
- package/dist/dataParser/parsers/object/partial.d.ts +28 -0
- package/dist/dataParser/parsers/object/partial.mjs +3 -0
- package/dist/dataParser/parsers/object/pick.cjs +3 -0
- package/dist/dataParser/parsers/object/pick.d.ts +35 -0
- package/dist/dataParser/parsers/object/pick.mjs +3 -0
- package/dist/dataParser/parsers/object/required.cjs +3 -0
- package/dist/dataParser/parsers/object/required.d.ts +37 -0
- package/dist/dataParser/parsers/object/required.mjs +3 -0
- package/dist/dataParser/parsers/optional.cjs +3 -0
- package/dist/dataParser/parsers/optional.d.ts +30 -0
- package/dist/dataParser/parsers/optional.mjs +3 -0
- package/dist/dataParser/parsers/pipe.cjs +3 -0
- package/dist/dataParser/parsers/pipe.d.ts +31 -0
- package/dist/dataParser/parsers/pipe.mjs +3 -0
- package/dist/dataParser/parsers/record/index.cjs +3 -0
- package/dist/dataParser/parsers/record/index.d.ts +37 -0
- package/dist/dataParser/parsers/record/index.mjs +3 -0
- package/dist/dataParser/parsers/recover.cjs +3 -0
- package/dist/dataParser/parsers/recover.d.ts +30 -0
- package/dist/dataParser/parsers/recover.mjs +3 -0
- package/dist/dataParser/parsers/string/index.cjs +3 -0
- package/dist/dataParser/parsers/string/index.d.ts +30 -0
- package/dist/dataParser/parsers/string/index.mjs +3 -0
- package/dist/dataParser/parsers/templateLiteral/index.cjs +3 -0
- package/dist/dataParser/parsers/templateLiteral/index.d.ts +30 -0
- package/dist/dataParser/parsers/templateLiteral/index.mjs +3 -0
- package/dist/dataParser/parsers/time/index.cjs +3 -0
- package/dist/dataParser/parsers/time/index.d.ts +30 -0
- package/dist/dataParser/parsers/time/index.mjs +3 -0
- package/dist/dataParser/parsers/transform.cjs +3 -0
- package/dist/dataParser/parsers/transform.d.ts +29 -0
- package/dist/dataParser/parsers/transform.mjs +3 -0
- package/dist/dataParser/parsers/tuple.cjs +3 -0
- package/dist/dataParser/parsers/tuple.d.ts +26 -0
- package/dist/dataParser/parsers/tuple.mjs +3 -0
- package/dist/dataParser/parsers/union.cjs +3 -0
- package/dist/dataParser/parsers/union.d.ts +31 -0
- package/dist/dataParser/parsers/union.mjs +3 -0
- package/dist/dataParser/parsers/unknown.cjs +3 -0
- package/dist/dataParser/parsers/unknown.d.ts +30 -0
- package/dist/dataParser/parsers/unknown.mjs +3 -0
- package/dist/date/applyTimezone.d.ts +29 -0
- package/dist/date/closestTo.d.ts +35 -0
- package/dist/date/create.d.ts +52 -0
- package/dist/date/createOrThrow.d.ts +35 -0
- package/dist/date/createTheDate.cjs +3 -0
- package/dist/date/createTheDate.d.ts +26 -0
- package/dist/date/createTheDate.mjs +3 -0
- package/dist/date/createTheTime.cjs +3 -0
- package/dist/date/createTheTime.d.ts +23 -0
- package/dist/date/createTheTime.mjs +3 -0
- package/dist/date/createTime.d.ts +37 -0
- package/dist/date/createTimeOrThrow.cjs +3 -0
- package/dist/date/createTimeOrThrow.d.ts +35 -0
- package/dist/date/createTimeOrThrow.mjs +3 -0
- package/dist/date/each.cjs +3 -0
- package/dist/date/each.d.ts +32 -0
- package/dist/date/each.mjs +3 -0
- package/dist/date/format.cjs +2 -1
- package/dist/date/format.d.ts +29 -0
- package/dist/date/format.mjs +2 -1
- package/dist/date/formatTime.cjs +38 -0
- package/dist/date/formatTime.d.ts +35 -0
- package/dist/date/formatTime.mjs +36 -0
- package/dist/date/getTimezoneOffset.d.ts +29 -0
- package/dist/date/getters/getDayOfMonth.cjs +3 -0
- package/dist/date/getters/getDayOfMonth.d.ts +29 -0
- package/dist/date/getters/getDayOfMonth.mjs +3 -0
- package/dist/date/getters/getDayOfWeek.cjs +3 -0
- package/dist/date/getters/getDayOfWeek.d.ts +29 -0
- package/dist/date/getters/getDayOfWeek.mjs +3 -0
- package/dist/date/getters/getDayOfYear.cjs +3 -0
- package/dist/date/getters/getDayOfYear.d.ts +26 -0
- package/dist/date/getters/getDayOfYear.mjs +3 -0
- package/dist/date/getters/getFirstDayOfMonth.cjs +3 -0
- package/dist/date/getters/getFirstDayOfMonth.d.ts +24 -0
- package/dist/date/getters/getFirstDayOfMonth.mjs +3 -0
- package/dist/date/getters/getFirstDayOfWeek.cjs +3 -0
- package/dist/date/getters/getFirstDayOfWeek.d.ts +24 -0
- package/dist/date/getters/getFirstDayOfWeek.mjs +3 -0
- package/dist/date/getters/getHour.cjs +3 -0
- package/dist/date/getters/getHour.d.ts +29 -0
- package/dist/date/getters/getHour.mjs +3 -0
- package/dist/date/getters/getLastDayOfMonth.cjs +3 -0
- package/dist/date/getters/getLastDayOfMonth.d.ts +24 -0
- package/dist/date/getters/getLastDayOfMonth.mjs +3 -0
- package/dist/date/getters/getLastDayOfWeek.cjs +3 -0
- package/dist/date/getters/getLastDayOfWeek.d.ts +24 -0
- package/dist/date/getters/getLastDayOfWeek.mjs +3 -0
- package/dist/date/getters/getMilliseconds.cjs +3 -0
- package/dist/date/getters/getMilliseconds.d.ts +29 -0
- package/dist/date/getters/getMilliseconds.mjs +3 -0
- package/dist/date/getters/getMinute.cjs +3 -0
- package/dist/date/getters/getMinute.d.ts +29 -0
- package/dist/date/getters/getMinute.mjs +3 -0
- package/dist/date/getters/getMonth.cjs +3 -0
- package/dist/date/getters/getMonth.d.ts +29 -0
- package/dist/date/getters/getMonth.mjs +3 -0
- package/dist/date/getters/getSecond.cjs +3 -0
- package/dist/date/getters/getSecond.d.ts +29 -0
- package/dist/date/getters/getSecond.mjs +3 -0
- package/dist/date/getters/getWeekOfYear.cjs +3 -0
- package/dist/date/getters/getWeekOfYear.d.ts +26 -0
- package/dist/date/getters/getWeekOfYear.mjs +3 -0
- package/dist/date/getters/getYear.cjs +3 -0
- package/dist/date/getters/getYear.d.ts +29 -0
- package/dist/date/getters/getYear.mjs +3 -0
- package/dist/date/index.cjs +7 -1
- package/dist/date/index.d.ts +34 -0
- package/dist/date/index.mjs +6 -0
- package/dist/date/is.cjs +3 -0
- package/dist/date/is.d.ts +30 -0
- package/dist/date/is.mjs +3 -0
- package/dist/date/isSafeTimeValue.cjs +3 -0
- package/dist/date/isSafeTimeValue.d.ts +26 -0
- package/dist/date/isSafeTimeValue.mjs +3 -0
- package/dist/date/isSafeTimestamp.cjs +3 -0
- package/dist/date/isSafeTimestamp.d.ts +31 -0
- package/dist/date/isSafeTimestamp.mjs +3 -0
- package/dist/date/isTime.cjs +3 -0
- package/dist/date/isTime.d.ts +29 -0
- package/dist/date/isTime.mjs +3 -0
- package/dist/date/makeSafeTimeValue.cjs +3 -0
- package/dist/date/makeSafeTimeValue.d.ts +26 -0
- package/dist/date/makeSafeTimeValue.mjs +3 -0
- package/dist/date/makeSafeTimestamp.cjs +3 -0
- package/dist/date/makeSafeTimestamp.d.ts +26 -0
- package/dist/date/makeSafeTimestamp.mjs +3 -0
- package/dist/date/max.cjs +3 -0
- package/dist/date/max.d.ts +24 -0
- package/dist/date/max.mjs +3 -0
- package/dist/date/maxTime.cjs +3 -0
- package/dist/date/maxTime.d.ts +33 -0
- package/dist/date/maxTime.mjs +3 -0
- package/dist/date/min.cjs +3 -0
- package/dist/date/min.d.ts +24 -0
- package/dist/date/min.mjs +3 -0
- package/dist/date/minTime.cjs +3 -0
- package/dist/date/minTime.d.ts +33 -0
- package/dist/date/minTime.mjs +3 -0
- package/dist/date/now.cjs +3 -0
- package/dist/date/now.d.ts +18 -0
- package/dist/date/now.mjs +3 -0
- package/dist/date/operators/addDays.d.ts +26 -0
- package/dist/date/operators/addHours.d.ts +26 -0
- package/dist/date/operators/addMilliseconds.d.ts +26 -0
- package/dist/date/operators/addMinutes.d.ts +26 -0
- package/dist/date/operators/addMonths.d.ts +30 -0
- package/dist/date/operators/addSeconds.d.ts +26 -0
- package/dist/date/operators/addTime.d.ts +31 -0
- package/dist/date/operators/addWeeks.d.ts +26 -0
- package/dist/date/operators/addYears.d.ts +30 -0
- package/dist/date/operators/between.d.ts +32 -0
- package/dist/date/operators/betweenThan.d.ts +32 -0
- package/dist/date/operators/betweenThanTime.d.ts +36 -0
- package/dist/date/operators/betweenTime.d.ts +36 -0
- package/dist/date/operators/greater.d.ts +28 -0
- package/dist/date/operators/greaterThan.d.ts +28 -0
- package/dist/date/operators/greaterThanTime.d.ts +35 -0
- package/dist/date/operators/greaterTime.d.ts +35 -0
- package/dist/date/operators/less.d.ts +28 -0
- package/dist/date/operators/lessThan.d.ts +28 -0
- package/dist/date/operators/lessThanTime.d.ts +35 -0
- package/dist/date/operators/lessTime.d.ts +35 -0
- package/dist/date/operators/subtractDays.d.ts +26 -0
- package/dist/date/operators/subtractHours.d.ts +26 -0
- package/dist/date/operators/subtractMilliseconds.d.ts +26 -0
- package/dist/date/operators/subtractMinutes.d.ts +26 -0
- package/dist/date/operators/subtractMonths.d.ts +26 -0
- package/dist/date/operators/subtractSeconds.d.ts +26 -0
- package/dist/date/operators/subtractTime.d.ts +31 -0
- package/dist/date/operators/subtractWeeks.d.ts +26 -0
- package/dist/date/operators/subtractYears.d.ts +26 -0
- package/dist/date/round.cjs +3 -0
- package/dist/date/round.d.ts +35 -0
- package/dist/date/round.mjs +3 -0
- package/dist/date/sort.d.ts +29 -0
- package/dist/date/sortTimes.d.ts +36 -0
- package/dist/date/toISOString.cjs +3 -0
- package/dist/date/toISOString.d.ts +24 -0
- package/dist/date/toISOString.mjs +3 -0
- package/dist/date/toNative.cjs +3 -0
- package/dist/date/toNative.d.ts +24 -0
- package/dist/date/toNative.mjs +3 -0
- package/dist/date/toTimeValue.cjs +3 -0
- package/dist/date/toTimeValue.d.ts +24 -0
- package/dist/date/toTimeValue.mjs +3 -0
- package/dist/date/toTimestamp.cjs +3 -0
- package/dist/date/toTimestamp.d.ts +24 -0
- package/dist/date/toTimestamp.mjs +3 -0
- package/dist/date/today.cjs +3 -0
- package/dist/date/today.d.ts +18 -0
- package/dist/date/today.mjs +3 -0
- package/dist/date/tomorrow.cjs +3 -0
- package/dist/date/tomorrow.d.ts +18 -0
- package/dist/date/tomorrow.mjs +3 -0
- package/dist/date/types/isLeapYear.d.ts +8 -0
- package/dist/date/types/isSafeYear.d.ts +8 -0
- package/dist/date/types/theDate.d.ts +10 -0
- package/dist/date/types/theTime.d.ts +9 -0
- package/dist/date/yesterday.cjs +3 -0
- package/dist/date/yesterday.d.ts +18 -0
- package/dist/date/yesterday.mjs +3 -0
- package/dist/either/bool/create.d.ts +22 -0
- package/dist/either/bool/falsy.cjs +9 -0
- package/dist/either/bool/falsy.d.ts +69 -0
- package/dist/either/bool/falsy.mjs +9 -0
- package/dist/either/bool/truthy.cjs +9 -0
- package/dist/either/bool/truthy.d.ts +69 -0
- package/dist/either/bool/truthy.mjs +9 -0
- package/dist/either/future/create.cjs +3 -0
- package/dist/either/future/create.d.ts +23 -0
- package/dist/either/future/create.mjs +3 -0
- package/dist/either/future/error.cjs +3 -0
- package/dist/either/future/error.d.ts +18 -0
- package/dist/either/future/error.mjs +3 -0
- package/dist/either/future/success.cjs +3 -0
- package/dist/either/future/success.d.ts +18 -0
- package/dist/either/future/success.mjs +3 -0
- package/dist/either/hasInformation.d.ts +30 -0
- package/dist/either/index.cjs +3 -1
- package/dist/either/index.d.ts +24 -0
- package/dist/either/index.mjs +4 -0
- package/dist/either/left/create.cjs +3 -0
- package/dist/either/left/create.d.ts +29 -0
- package/dist/either/left/create.mjs +3 -0
- package/dist/either/left/error.cjs +3 -0
- package/dist/either/left/error.d.ts +28 -0
- package/dist/either/left/error.mjs +3 -0
- package/dist/either/left/fail.cjs +3 -0
- package/dist/either/left/fail.d.ts +29 -0
- package/dist/either/left/fail.mjs +3 -0
- package/dist/either/left/is.cjs +3 -0
- package/dist/either/left/is.d.ts +22 -0
- package/dist/either/left/is.mjs +3 -0
- package/dist/either/left/when.d.ts +26 -0
- package/dist/either/nullable/create.d.ts +18 -0
- package/dist/either/nullable/empty.cjs +9 -0
- package/dist/either/nullable/empty.d.ts +59 -0
- package/dist/either/nullable/empty.mjs +9 -0
- package/dist/either/nullable/filled.cjs +9 -0
- package/dist/either/nullable/filled.d.ts +61 -0
- package/dist/either/nullable/filled.mjs +9 -0
- package/dist/either/nullish/create.d.ts +20 -0
- package/dist/either/nullish/empty.cjs +9 -0
- package/dist/either/nullish/empty.d.ts +61 -0
- package/dist/either/nullish/empty.mjs +9 -0
- package/dist/either/nullish/filled.cjs +9 -0
- package/dist/either/nullish/filled.d.ts +61 -0
- package/dist/either/nullish/filled.mjs +9 -0
- package/dist/either/optional/create.d.ts +18 -0
- package/dist/either/optional/empty.cjs +9 -0
- package/dist/either/optional/empty.d.ts +59 -0
- package/dist/either/optional/empty.mjs +9 -0
- package/dist/either/optional/filled.cjs +9 -0
- package/dist/either/optional/filled.d.ts +61 -0
- package/dist/either/optional/filled.mjs +9 -0
- package/dist/either/right/asyncGroup.cjs +3 -0
- package/dist/either/right/asyncGroup.d.ts +29 -0
- package/dist/either/right/asyncGroup.mjs +3 -0
- package/dist/either/right/asyncPipe.d.ts +37 -0
- package/dist/either/right/create.cjs +3 -0
- package/dist/either/right/create.d.ts +36 -0
- package/dist/either/right/create.mjs +3 -0
- package/dist/either/right/group.cjs +3 -0
- package/dist/either/right/group.d.ts +26 -0
- package/dist/either/right/group.mjs +3 -0
- package/dist/either/right/is.cjs +3 -0
- package/dist/either/right/is.d.ts +22 -0
- package/dist/either/right/is.mjs +3 -0
- package/dist/either/right/ok.cjs +3 -0
- package/dist/either/right/ok.d.ts +25 -0
- package/dist/either/right/ok.mjs +3 -0
- package/dist/either/right/pipe.d.ts +33 -0
- package/dist/either/right/success.cjs +3 -0
- package/dist/either/right/success.d.ts +28 -0
- package/dist/either/right/success.mjs +3 -0
- package/dist/either/right/when.d.ts +26 -0
- package/dist/either/safeCallback.cjs +3 -0
- package/dist/either/safeCallback.d.ts +26 -0
- package/dist/either/safeCallback.mjs +3 -0
- package/dist/either/whenHasInformation.d.ts +36 -0
- package/dist/generator/asyncChunk.d.ts +34 -0
- package/dist/generator/asyncFilter.d.ts +50 -0
- package/dist/generator/asyncLoop.cjs +3 -0
- package/dist/generator/asyncLoop.d.ts +43 -0
- package/dist/generator/asyncLoop.mjs +3 -0
- package/dist/generator/asyncMap.d.ts +38 -0
- package/dist/generator/asyncReduce.d.ts +34 -0
- package/dist/generator/chunk.d.ts +27 -0
- package/dist/generator/execute.d.ts +33 -0
- package/dist/generator/filter.d.ts +40 -0
- package/dist/generator/index.cjs +3 -1
- package/dist/generator/index.d.ts +26 -0
- package/dist/generator/index.mjs +4 -0
- package/dist/generator/loop.cjs +3 -0
- package/dist/generator/loop.d.ts +35 -0
- package/dist/generator/loop.mjs +3 -0
- package/dist/generator/map.d.ts +35 -0
- package/dist/generator/reduce.cjs +3 -0
- package/dist/generator/reduce.d.ts +60 -0
- package/dist/generator/reduce.mjs +3 -0
- package/dist/metadata.json +9 -0
- package/dist/number/abs.cjs +3 -0
- package/dist/number/abs.d.ts +27 -0
- package/dist/number/abs.mjs +3 -0
- package/dist/number/acos.cjs +3 -0
- package/dist/number/acos.d.ts +27 -0
- package/dist/number/acos.mjs +3 -0
- package/dist/number/add.d.ts +24 -0
- package/dist/number/asin.cjs +3 -0
- package/dist/number/asin.d.ts +27 -0
- package/dist/number/asin.mjs +3 -0
- package/dist/number/atan.cjs +3 -0
- package/dist/number/atan.d.ts +27 -0
- package/dist/number/atan.mjs +3 -0
- package/dist/number/atan2.d.ts +3 -0
- package/dist/number/between.d.ts +33 -0
- package/dist/number/betweenThan.d.ts +33 -0
- package/dist/number/ceil.cjs +3 -0
- package/dist/number/ceil.d.ts +27 -0
- package/dist/number/ceil.mjs +3 -0
- package/dist/number/clamp.d.ts +32 -0
- package/dist/number/cos.cjs +3 -0
- package/dist/number/cos.d.ts +27 -0
- package/dist/number/cos.mjs +3 -0
- package/dist/number/divide.d.ts +30 -0
- package/dist/number/floor.cjs +3 -0
- package/dist/number/floor.d.ts +27 -0
- package/dist/number/floor.mjs +3 -0
- package/dist/number/greater.d.ts +30 -0
- package/dist/number/greaterThan.d.ts +30 -0
- package/dist/number/index.cjs +3 -1
- package/dist/number/index.d.ts +25 -0
- package/dist/number/index.mjs +4 -0
- package/dist/number/less.d.ts +30 -0
- package/dist/number/lessThan.d.ts +30 -0
- package/dist/number/max.cjs +3 -0
- package/dist/number/max.d.ts +26 -0
- package/dist/number/max.mjs +3 -0
- package/dist/number/min.cjs +3 -0
- package/dist/number/min.d.ts +26 -0
- package/dist/number/min.mjs +3 -0
- package/dist/number/modulo.d.ts +30 -0
- package/dist/number/multiply.d.ts +30 -0
- package/dist/number/negate.cjs +3 -0
- package/dist/number/negate.d.ts +25 -0
- package/dist/number/negate.mjs +3 -0
- package/dist/number/power.d.ts +30 -0
- package/dist/number/round.cjs +3 -0
- package/dist/number/round.d.ts +27 -0
- package/dist/number/round.mjs +3 -0
- package/dist/number/sin.cjs +3 -0
- package/dist/number/sin.d.ts +27 -0
- package/dist/number/sin.mjs +3 -0
- package/dist/number/sort.d.ts +32 -0
- package/dist/number/sqrt.cjs +3 -0
- package/dist/number/sqrt.d.ts +27 -0
- package/dist/number/sqrt.mjs +3 -0
- package/dist/number/subtract.d.ts +30 -0
- package/dist/number/tan.cjs +3 -0
- package/dist/number/tan.d.ts +27 -0
- package/dist/number/tan.mjs +3 -0
- package/dist/number/toFixed.d.ts +33 -0
- package/dist/number/trunc.cjs +3 -0
- package/dist/number/trunc.d.ts +27 -0
- package/dist/number/trunc.mjs +3 -0
- package/dist/object/assign.d.ts +40 -0
- package/dist/object/deepDiscriminate.d.ts +54 -0
- package/dist/object/discriminate.d.ts +53 -0
- package/dist/object/entries.cjs +3 -0
- package/dist/object/entries.d.ts +31 -0
- package/dist/object/entries.mjs +3 -0
- package/dist/object/entry.cjs +3 -0
- package/dist/object/entry.d.ts +29 -0
- package/dist/object/entry.mjs +3 -0
- package/dist/object/fromEntries.cjs +3 -0
- package/dist/object/fromEntries.d.ts +39 -0
- package/dist/object/fromEntries.mjs +3 -0
- package/dist/object/getDeepProperty.d.ts +46 -0
- package/dist/object/getProperty.d.ts +39 -0
- package/dist/object/hasKeys.d.ts +48 -0
- package/dist/object/index.cjs +3 -1
- package/dist/object/index.d.ts +25 -0
- package/dist/object/index.mjs +4 -0
- package/dist/object/keys.cjs +3 -0
- package/dist/object/keys.d.ts +33 -0
- package/dist/object/keys.mjs +3 -0
- package/dist/object/omit.d.ts +46 -0
- package/dist/object/override.d.ts +49 -0
- package/dist/object/pick.d.ts +47 -0
- package/dist/object/to.d.ts +43 -0
- package/dist/object/transformProperties.d.ts +46 -0
- package/dist/object/transformProperty.d.ts +41 -0
- package/dist/object/values.cjs +3 -0
- package/dist/object/values.d.ts +33 -0
- package/dist/object/values.mjs +3 -0
- package/dist/pattern/exhaustive.cjs +3 -0
- package/dist/pattern/exhaustive.d.ts +51 -0
- package/dist/pattern/exhaustive.mjs +3 -0
- package/dist/pattern/index.cjs +3 -1
- package/dist/pattern/index.d.ts +24 -0
- package/dist/pattern/index.mjs +4 -0
- package/dist/pattern/isMatch.d.ts +36 -0
- package/dist/pattern/match/index.d.ts +58 -0
- package/dist/pattern/otherwise.d.ts +56 -0
- package/dist/pattern/union.cjs +3 -0
- package/dist/pattern/union.d.ts +37 -0
- package/dist/pattern/union.mjs +3 -0
- package/dist/pattern/when.d.ts +43 -0
- package/dist/string/at/default.d.ts +30 -0
- package/dist/string/capitalize.cjs +3 -0
- package/dist/string/capitalize.d.ts +27 -0
- package/dist/string/capitalize.mjs +3 -0
- package/dist/string/charAt.d.ts +29 -0
- package/dist/string/concat.d.ts +31 -0
- package/dist/string/endsWith.d.ts +41 -0
- package/dist/string/includes.d.ts +41 -0
- package/dist/string/index.cjs +3 -1
- package/dist/string/index.d.ts +27 -0
- package/dist/string/index.mjs +4 -0
- package/dist/string/indexOf.d.ts +30 -0
- package/dist/string/isIn.d.ts +45 -0
- package/dist/string/isKeyof.d.ts +45 -0
- package/dist/string/lastIndexOf.d.ts +30 -0
- package/dist/string/length.cjs +3 -0
- package/dist/string/length.d.ts +24 -0
- package/dist/string/length.mjs +3 -0
- package/dist/string/match.d.ts +29 -0
- package/dist/string/matchAll.d.ts +36 -0
- package/dist/string/normalize.d.ts +29 -0
- package/dist/string/padEnd.d.ts +29 -0
- package/dist/string/padStart.d.ts +29 -0
- package/dist/string/repeat.d.ts +29 -0
- package/dist/string/replace.d.ts +30 -0
- package/dist/string/replaceAll.d.ts +29 -0
- package/dist/string/search.d.ts +30 -0
- package/dist/string/slice.d.ts +29 -0
- package/dist/string/sort.d.ts +42 -0
- package/dist/string/sortCompare.d.ts +33 -0
- package/dist/string/split.d.ts +29 -0
- package/dist/string/startsWith.d.ts +41 -0
- package/dist/string/substring.d.ts +29 -0
- package/dist/string/test.d.ts +29 -0
- package/dist/string/toLowerCase.cjs +3 -0
- package/dist/string/toLowerCase.d.ts +27 -0
- package/dist/string/toLowerCase.mjs +3 -0
- package/dist/string/toUpperCase.cjs +3 -0
- package/dist/string/toUpperCase.d.ts +27 -0
- package/dist/string/toUpperCase.mjs +3 -0
- package/dist/string/trim/default.cjs +3 -0
- package/dist/string/trim/default.d.ts +27 -0
- package/dist/string/trim/default.mjs +3 -0
- package/dist/string/trim/end.cjs +3 -0
- package/dist/string/trim/end.d.ts +27 -0
- package/dist/string/trim/end.mjs +3 -0
- package/dist/string/trim/start.cjs +3 -0
- package/dist/string/trim/start.d.ts +27 -0
- package/dist/string/trim/start.mjs +3 -0
- package/dist/string/uncapitalize.cjs +3 -0
- package/dist/string/uncapitalize.d.ts +27 -0
- package/dist/string/uncapitalize.mjs +3 -0
- package/package.json +1 -1
|
@@ -1,2 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Splits an async iterable into fixed-size chunks.
|
|
3
|
+
*
|
|
4
|
+
* **Supported call styles:**
|
|
5
|
+
* - Classic: `asyncChunk(iterator, size)` → returns an async generator of arrays
|
|
6
|
+
* - Curried: `asyncChunk(size)` → returns a function waiting for the iterator
|
|
7
|
+
*
|
|
8
|
+
* The last chunk may be smaller than the size.
|
|
9
|
+
* The input iterator is not mutated.
|
|
10
|
+
*
|
|
11
|
+
* ```ts
|
|
12
|
+
* const input = [1, 2, 3, 4];
|
|
13
|
+
*
|
|
14
|
+
* const iterator = G.asyncMap(
|
|
15
|
+
* input,
|
|
16
|
+
* async(value) => Promise.resolve(value * 2),
|
|
17
|
+
* );
|
|
18
|
+
*
|
|
19
|
+
* const result = await pipe(
|
|
20
|
+
* G.asyncChunk(
|
|
21
|
+
* iterator,
|
|
22
|
+
* 2,
|
|
23
|
+
* ),
|
|
24
|
+
* A.from,
|
|
25
|
+
* );
|
|
26
|
+
* // number[][]
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* @see [`G.chunk`](https://utils.duplojs.dev/en/v1/api/generator/chunk) For sync iterables
|
|
30
|
+
* @see https://utils.duplojs.dev/en/v1/api/generator/asyncChunk
|
|
31
|
+
*
|
|
32
|
+
* @namespace G
|
|
33
|
+
*
|
|
34
|
+
*/
|
|
1
35
|
export declare function asyncChunk<const GenericElement extends unknown>(size: number): (input: AsyncIterable<GenericElement>) => AsyncGenerator<GenericElement[], unknown, unknown>;
|
|
2
36
|
export declare function asyncChunk<const GenericElement extends unknown>(input: AsyncIterable<GenericElement>, size: number): AsyncGenerator<GenericElement[], unknown, unknown>;
|
|
@@ -1,6 +1,56 @@
|
|
|
1
1
|
interface AsyncGeneratorFilterParams {
|
|
2
2
|
index: number;
|
|
3
3
|
}
|
|
4
|
+
/**
|
|
5
|
+
* Filters values from an iterable with async support.
|
|
6
|
+
*
|
|
7
|
+
* **Supported call styles:**
|
|
8
|
+
* - Classic: `asyncFilter(iterator, predicate)` → returns an async generator
|
|
9
|
+
* - Curried: `asyncFilter(predicate)` → returns a function waiting for the iterator
|
|
10
|
+
* - Classic predicate: `asyncFilter(iterator, isType)` → narrows item types
|
|
11
|
+
* - Curried predicate: `asyncFilter(isType)` → narrows item types
|
|
12
|
+
*
|
|
13
|
+
* The predicate receives `(item, { index })`.
|
|
14
|
+
* The input iterator is not mutated.
|
|
15
|
+
*
|
|
16
|
+
* ```ts
|
|
17
|
+
* const ids = [201, 202, 203, 204];
|
|
18
|
+
*
|
|
19
|
+
* const response = await fetch("https://api.example.com/orders/status");
|
|
20
|
+
* const { statuses } = await response.json() as {
|
|
21
|
+
* statuses: {
|
|
22
|
+
* id: number;
|
|
23
|
+
* status: string;
|
|
24
|
+
* }[];
|
|
25
|
+
* };
|
|
26
|
+
* const statusById = new Map(statuses.map(({ id: orderId, status }) => [
|
|
27
|
+
* orderId,
|
|
28
|
+
* status,
|
|
29
|
+
* ]));
|
|
30
|
+
*
|
|
31
|
+
* const iterator = G.asyncFilter(ids, (orderId) => statusById.get(orderId) === "paid");
|
|
32
|
+
*
|
|
33
|
+
* const result = await G.asyncReduce(
|
|
34
|
+
* iterator,
|
|
35
|
+
* G.reduceFrom<number[]>([]),
|
|
36
|
+
* ({ element, lastValue, next }) => next([
|
|
37
|
+
* ...lastValue,
|
|
38
|
+
* element,
|
|
39
|
+
* ]),
|
|
40
|
+
* );
|
|
41
|
+
*
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* @remarks
|
|
45
|
+
* - Predicate overloads (type guards) narrow the output type
|
|
46
|
+
*
|
|
47
|
+
* @see [`G.filter`](https://utils.duplojs.dev/en/v1/api/generator/filter) For sync iterables
|
|
48
|
+
* @see [`G.asyncMap`](https://utils.duplojs.dev/en/v1/api/generator/asyncMap) For mapping values
|
|
49
|
+
* @see https://utils.duplojs.dev/en/v1/api/generator/asyncFilter
|
|
50
|
+
*
|
|
51
|
+
* @namespace G
|
|
52
|
+
*
|
|
53
|
+
*/
|
|
4
54
|
export declare function asyncFilter<GenericElement extends unknown, GenericOutput extends GenericElement>(predicate: (item: GenericElement, params: AsyncGeneratorFilterParams) => item is GenericOutput): (iterator: Iterable<GenericElement> | AsyncIterable<GenericElement>) => AsyncGenerator<GenericOutput, unknown, unknown>;
|
|
5
55
|
export declare function asyncFilter<GenericElement extends unknown, GenericOutput extends GenericElement>(iterator: Iterable<GenericElement> | AsyncIterable<GenericElement>, predicate: (item: GenericElement, params: AsyncGeneratorFilterParams) => item is GenericOutput): AsyncGenerator<GenericOutput, unknown, unknown>;
|
|
6
56
|
export declare function asyncFilter<GenericElement extends unknown>(predicate: (item: GenericElement, params: AsyncGeneratorFilterParams) => boolean): (iterator: Iterable<GenericElement> | AsyncIterable<GenericElement>) => AsyncGenerator<GenericElement, unknown, unknown>;
|
|
@@ -1,3 +1,46 @@
|
|
|
1
1
|
import { type MaybePromise } from "../common";
|
|
2
2
|
import { type LoopOutputExistResult, type LoopOutputNextResult, type GeneratorLoopParams } from "./loop";
|
|
3
|
+
/**
|
|
4
|
+
* Creates an async generator from a loop function.
|
|
5
|
+
*
|
|
6
|
+
* Signature: `asyncLoop(loopFunction)` → returns an async generator
|
|
7
|
+
*
|
|
8
|
+
* The loop receives `{ count, previousOutput, next, exit }`.
|
|
9
|
+
* The generator ends when `exit` is returned.
|
|
10
|
+
*
|
|
11
|
+
* ```ts
|
|
12
|
+
* const limit = 3;
|
|
13
|
+
*
|
|
14
|
+
* const iterator = G.asyncLoop(async(
|
|
15
|
+
* {
|
|
16
|
+
* count,
|
|
17
|
+
* next,
|
|
18
|
+
* exit,
|
|
19
|
+
* }: G.GeneratorLoopParams<number>,
|
|
20
|
+
* ) => {
|
|
21
|
+
* if (count === limit) {
|
|
22
|
+
* return exit();
|
|
23
|
+
* }
|
|
24
|
+
* const response = await fetch(`https://api.example.com/pages/${count + 1}`);
|
|
25
|
+
* const { id: pageId } = await response.json() as { id: number };
|
|
26
|
+
* return next(pageId);
|
|
27
|
+
* });
|
|
28
|
+
*
|
|
29
|
+
* const result = await G.asyncReduce(
|
|
30
|
+
* iterator,
|
|
31
|
+
* G.reduceFrom<number[]>([]),
|
|
32
|
+
* ({ element, lastValue, next }) => next([
|
|
33
|
+
* ...lastValue,
|
|
34
|
+
* element,
|
|
35
|
+
* ]),
|
|
36
|
+
* );
|
|
37
|
+
*
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* @see [`G.loop`](https://utils.duplojs.dev/en/v1/api/generator/loop) For sync loops
|
|
41
|
+
* @see https://utils.duplojs.dev/en/v1/api/generator/asyncLoop
|
|
42
|
+
*
|
|
43
|
+
* @namespace G
|
|
44
|
+
*
|
|
45
|
+
*/
|
|
3
46
|
export declare function asyncLoop<GenericRawNextOutput extends unknown, GenericOutput extends MaybePromise<LoopOutputNextResult<GenericRawNextOutput> | LoopOutputExistResult<unknown> | LoopOutputNextResult<undefined> | LoopOutputExistResult<undefined>>>(loop: (params: GeneratorLoopParams<GenericRawNextOutput>) => GenericOutput): AsyncGenerator<Exclude<Awaited<GenericOutput> extends infer InferredOutput ? InferredOutput extends LoopOutputNextResult ? InferredOutput["-nextData"] : InferredOutput extends LoopOutputExistResult ? InferredOutput["-exitData"] : never : never, undefined>, unknown, unknown>;
|
|
@@ -1,6 +1,44 @@
|
|
|
1
1
|
interface AsyncGeneratorMapParams {
|
|
2
2
|
index: number;
|
|
3
3
|
}
|
|
4
|
+
/**
|
|
5
|
+
* Maps values from an iterable to an async generator.
|
|
6
|
+
*
|
|
7
|
+
* **Supported call styles:**
|
|
8
|
+
* - Classic: `asyncMap(iterator, theFunction)` → returns an async generator
|
|
9
|
+
* - Curried: `asyncMap(theFunction)` → returns a function waiting for the iterator
|
|
10
|
+
*
|
|
11
|
+
* The function receives `(item, { index })`.
|
|
12
|
+
* The input iterator is not mutated.
|
|
13
|
+
*
|
|
14
|
+
* ```ts
|
|
15
|
+
* const ids = [1, 2, 3];
|
|
16
|
+
*
|
|
17
|
+
* const result = await pipe(
|
|
18
|
+
* ids,
|
|
19
|
+
* G.asyncMap(async(itemId) => {
|
|
20
|
+
* const response = await fetch(`https://api.example.com/items/${itemId}`);
|
|
21
|
+
* const { price } = await response.json() as { price: number };
|
|
22
|
+
* return price;
|
|
23
|
+
* }),
|
|
24
|
+
* G.asyncReduce(
|
|
25
|
+
* G.reduceFrom<number[]>([]),
|
|
26
|
+
* ({ element, lastValue, next }) => next([
|
|
27
|
+
* ...lastValue,
|
|
28
|
+
* element,
|
|
29
|
+
* ]),
|
|
30
|
+
* ),
|
|
31
|
+
* );
|
|
32
|
+
*
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* @see [`G.map`](https://utils.duplojs.dev/en/v1/api/generator/map) For sync iterables
|
|
36
|
+
* @see [`G.asyncFilter`](https://utils.duplojs.dev/en/v1/api/generator/asyncFilter) For filtering values
|
|
37
|
+
* @see https://utils.duplojs.dev/en/v1/api/generator/asyncMap
|
|
38
|
+
*
|
|
39
|
+
* @namespace G
|
|
40
|
+
*
|
|
41
|
+
*/
|
|
4
42
|
export declare function asyncMap<const GenericInput extends unknown, const GenericOutput extends unknown>(theFunction: (arg: GenericInput, params: AsyncGeneratorMapParams) => GenericOutput): (iterator: AsyncIterable<GenericInput> | Iterable<GenericInput>) => AsyncGenerator<Awaited<GenericOutput>, unknown, unknown>;
|
|
5
43
|
export declare function asyncMap<const GenericInput extends unknown, const GenericOutput extends unknown>(iterator: AsyncIterable<GenericInput> | Iterable<GenericInput>, theFunction: (arg: GenericInput, params: AsyncGeneratorMapParams) => GenericOutput): AsyncGenerator<Awaited<GenericOutput>, unknown, unknown>;
|
|
6
44
|
export {};
|
|
@@ -1,4 +1,38 @@
|
|
|
1
1
|
import { type GeneratorReduceFromValue, type GeneratorEligibleReduceFromValue, type GeneratorReduceFunctionParams, type GeneratorReduceExit, type GeneratorReduceNext } from "./reduce";
|
|
2
2
|
import { type IsEqual, type MaybePromise } from "../common";
|
|
3
|
+
/**
|
|
4
|
+
* Reduces an iterable to a single value with async support.
|
|
5
|
+
*
|
|
6
|
+
* **Supported call styles:**
|
|
7
|
+
* - Classic: `asyncReduce(iterator, startValue, theFunction)` → returns a promise
|
|
8
|
+
* - Curried: `asyncReduce(startValue, theFunction)` → returns a function waiting for the iterator
|
|
9
|
+
*
|
|
10
|
+
* The function receives `{ element, index, lastValue, next, exit, nextWithObject }`.
|
|
11
|
+
* The input iterator is not mutated.
|
|
12
|
+
*
|
|
13
|
+
* ```ts
|
|
14
|
+
* const values = [10, 20, 30];
|
|
15
|
+
*
|
|
16
|
+
* const result = await G.asyncReduce(
|
|
17
|
+
* values,
|
|
18
|
+
* G.reduceFrom(0),
|
|
19
|
+
* async({ element, lastValue, next }) => {
|
|
20
|
+
* const response = await fetch("https://api.example.com/tax");
|
|
21
|
+
* const { rate } = await response.json() as { rate: number };
|
|
22
|
+
* return next(N.add(lastValue, N.multiply(element, rate)));
|
|
23
|
+
* },
|
|
24
|
+
* );
|
|
25
|
+
*
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* @remarks
|
|
29
|
+
* - `exit` stops the reduction early
|
|
30
|
+
*
|
|
31
|
+
* @see [`G.reduce`](https://utils.duplojs.dev/en/v1/api/generator/reduce) For sync iterables
|
|
32
|
+
* @see https://utils.duplojs.dev/en/v1/api/generator/asyncReduce
|
|
33
|
+
*
|
|
34
|
+
* @namespace G
|
|
35
|
+
*
|
|
36
|
+
*/
|
|
3
37
|
export declare function asyncReduce<GenericElement extends unknown, GenericReduceFrom extends GeneratorEligibleReduceFromValue, GenericExit extends GeneratorReduceExit = GeneratorReduceExit<never>>(startValue: GenericReduceFrom, theFunction: (params: GeneratorReduceFunctionParams<GenericElement, GeneratorReduceFromValue<GenericReduceFrom>>) => MaybePromise<GeneratorReduceNext<GeneratorReduceFromValue<GenericReduceFrom>> | GenericExit>): (iterator: Iterable<GenericElement> | AsyncIterable<GenericElement>) => Promise<GeneratorReduceFromValue<GenericReduceFrom> | (IsEqual<GenericExit, GeneratorReduceExit> extends true ? never : GenericExit["-exit"])>;
|
|
4
38
|
export declare function asyncReduce<GenericElement extends unknown, GenericReduceFrom extends GeneratorEligibleReduceFromValue, GenericExit extends GeneratorReduceExit = GeneratorReduceExit<never>>(iterator: Iterable<GenericElement> | AsyncIterable<GenericElement>, startValue: GenericReduceFrom, theFunction: (params: GeneratorReduceFunctionParams<GenericElement, GeneratorReduceFromValue<GenericReduceFrom>>) => MaybePromise<GeneratorReduceNext<GeneratorReduceFromValue<GenericReduceFrom>> | GenericExit>): Promise<GeneratorReduceFromValue<GenericReduceFrom> | (IsEqual<GenericExit, GeneratorReduceExit> extends true ? never : GenericExit["-exit"])>;
|
|
@@ -1,2 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Splits an iterable into fixed-size chunks.
|
|
3
|
+
*
|
|
4
|
+
* **Supported call styles:**
|
|
5
|
+
* - Classic: `chunk(iterator, size)` → returns a generator of arrays
|
|
6
|
+
* - Curried: `chunk(size)` → returns a function waiting for the iterator
|
|
7
|
+
*
|
|
8
|
+
* The last chunk may be smaller than the size.
|
|
9
|
+
* The input iterator is not mutated.
|
|
10
|
+
*
|
|
11
|
+
* ```ts
|
|
12
|
+
* const input = G.loop(
|
|
13
|
+
* ({ count, next, exit }: G.GeneratorLoopParams<number>) => N.greater(count, 7)
|
|
14
|
+
* ? exit()
|
|
15
|
+
* : next(count),
|
|
16
|
+
* );
|
|
17
|
+
*
|
|
18
|
+
* const result = G.chunk(input, 3);
|
|
19
|
+
* // Generator<number[], unknown, unknown>
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* @see [`G.asyncChunk`](https://utils.duplojs.dev/en/v1/api/generator/asyncChunk) For async iterables
|
|
23
|
+
* @see https://utils.duplojs.dev/en/v1/api/generator/chunk
|
|
24
|
+
*
|
|
25
|
+
* @namespace G
|
|
26
|
+
*
|
|
27
|
+
*/
|
|
1
28
|
export declare function chunk<const GenericElement extends unknown>(size: number): (input: Iterable<GenericElement>) => Generator<GenericElement[], unknown, unknown>;
|
|
2
29
|
export declare function chunk<const GenericElement extends unknown>(input: Iterable<GenericElement>, size: number): Generator<GenericElement[], unknown, unknown>;
|
|
@@ -1,2 +1,35 @@
|
|
|
1
1
|
import { type EscapeVoid } from "../common";
|
|
2
|
+
/**
|
|
3
|
+
* Consumes an iterable or async iterable.
|
|
4
|
+
*
|
|
5
|
+
* Signature: `execute(iterator)` → returns `void` or `Promise<void>`
|
|
6
|
+
*
|
|
7
|
+
* This is useful for running generators with side effects.
|
|
8
|
+
*
|
|
9
|
+
* ```ts
|
|
10
|
+
* const source = [5, 10, 15, 20];
|
|
11
|
+
*
|
|
12
|
+
* const iterator = G.asyncMap(
|
|
13
|
+
* source,
|
|
14
|
+
* async(value) => {
|
|
15
|
+
* if (N.modulo(value, 2) === 0) {
|
|
16
|
+
* await fetch("https://api.example.com/collect", {
|
|
17
|
+
* method: "POST",
|
|
18
|
+
* body: JSON.stringify({ value }),
|
|
19
|
+
* });
|
|
20
|
+
* }
|
|
21
|
+
* return value;
|
|
22
|
+
* },
|
|
23
|
+
* );
|
|
24
|
+
*
|
|
25
|
+
* await G.execute(iterator);
|
|
26
|
+
*
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* @see [`G.loop`](https://utils.duplojs.dev/en/v1/api/generator/loop) For generating values
|
|
30
|
+
* @see https://utils.duplojs.dev/en/v1/api/generator/execute
|
|
31
|
+
*
|
|
32
|
+
* @namespace G
|
|
33
|
+
*
|
|
34
|
+
*/
|
|
2
35
|
export declare function execute<GenericIterator extends AsyncIterable<unknown> | Iterable<unknown>>(iterator: GenericIterator): GenericIterator extends AsyncIterable<unknown> ? Promise<void> : EscapeVoid;
|
|
@@ -1,6 +1,46 @@
|
|
|
1
1
|
interface GeneratorFilterParams {
|
|
2
2
|
index: number;
|
|
3
3
|
}
|
|
4
|
+
/**
|
|
5
|
+
* Filters values from an iterable.
|
|
6
|
+
*
|
|
7
|
+
* **Supported call styles:**
|
|
8
|
+
* - Classic: `filter(iterator, predicate)` → returns a generator
|
|
9
|
+
* - Curried: `filter(predicate)` → returns a function waiting for the iterator
|
|
10
|
+
* - Classic predicate: `filter(iterator, isType)` → narrows item types
|
|
11
|
+
* - Curried predicate: `filter(isType)` → narrows item types
|
|
12
|
+
*
|
|
13
|
+
* The predicate receives `(item, { index })`.
|
|
14
|
+
* The input iterator is not mutated.
|
|
15
|
+
*
|
|
16
|
+
* ```ts
|
|
17
|
+
* const values = [9, 12, 15, 18, 21];
|
|
18
|
+
* const threshold = 15;
|
|
19
|
+
*
|
|
20
|
+
* const result = pipe(
|
|
21
|
+
* values,
|
|
22
|
+
* G.filter((value) => value >= threshold && value % 3 === 0),
|
|
23
|
+
* G.reduce(
|
|
24
|
+
* G.reduceFrom<number[]>([]),
|
|
25
|
+
* ({ element, lastValue, next }) => next([
|
|
26
|
+
* ...lastValue,
|
|
27
|
+
* element,
|
|
28
|
+
* ]),
|
|
29
|
+
* ),
|
|
30
|
+
* );
|
|
31
|
+
*
|
|
32
|
+
* ```
|
|
33
|
+
*
|
|
34
|
+
* @remarks
|
|
35
|
+
* - Predicate overloads (type guards) narrow the output type
|
|
36
|
+
*
|
|
37
|
+
* @see [`G.map`](https://utils.duplojs.dev/en/v1/api/generator/map) For mapping values
|
|
38
|
+
* @see [`G.asyncFilter`](https://utils.duplojs.dev/en/v1/api/generator/asyncFilter) For async iterables
|
|
39
|
+
* @see https://utils.duplojs.dev/en/v1/api/generator/filter
|
|
40
|
+
*
|
|
41
|
+
* @namespace G
|
|
42
|
+
*
|
|
43
|
+
*/
|
|
4
44
|
export declare function filter<GenericElement extends unknown, GenericOutput extends GenericElement>(predicate: (item: GenericElement, params: GeneratorFilterParams) => item is GenericOutput): (iterator: Iterable<GenericElement>) => Generator<GenericOutput, unknown, unknown>;
|
|
5
45
|
export declare function filter<GenericElement extends unknown, GenericOutput extends GenericElement>(iterator: Iterable<GenericElement>, predicate: (item: GenericElement, params: GeneratorFilterParams) => item is GenericOutput): Generator<GenericOutput, unknown, unknown>;
|
|
6
46
|
export declare function filter<GenericElement extends unknown>(predicate: (item: GenericElement, params: GeneratorFilterParams) => boolean): (iterator: Iterable<GenericElement>) => Generator<GenericElement, unknown, unknown>;
|
package/dist/generator/index.cjs
CHANGED
|
@@ -1,3 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generator utilities for iterable and async iterable processing. Functions preserve
|
|
3
|
+
* inputs and return new values or iterables.
|
|
4
|
+
*
|
|
5
|
+
* **How to import:**
|
|
6
|
+
* - From the main entry (namespace style)
|
|
7
|
+
* - Via direct import for tree-shaking
|
|
8
|
+
*
|
|
9
|
+
* ```ts
|
|
10
|
+
* import { DGenerator, G } from "@duplojs/utils";
|
|
11
|
+
* import * as DGenerator from "@duplojs/utils/generator";
|
|
12
|
+
* import * as G from "@duplojs/utils/generator";
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* What you will find in this namespace:
|
|
16
|
+
* - iteration and transforms (`G.map`, `G.filter`, `G.reduce`)
|
|
17
|
+
* - reduce helpers (`G.reduceFrom`)
|
|
18
|
+
* - control and execution (`G.loop`, `G.execute`)
|
|
19
|
+
* - batching (`G.chunk`)
|
|
20
|
+
* - async variants (`G.asyncMap`, `G.asyncFilter`, `G.asyncReduce`, `G.asyncLoop`, `G.asyncChunk`)
|
|
21
|
+
*
|
|
22
|
+
* @see https://utils.duplojs.dev/en/v1/api/generator
|
|
23
|
+
*
|
|
24
|
+
* @namespace G
|
|
25
|
+
*
|
|
26
|
+
*/
|
|
1
27
|
export * from "./map";
|
|
2
28
|
export * from "./execute";
|
|
3
29
|
export * from "./asyncMap";
|
package/dist/generator/index.mjs
CHANGED
package/dist/generator/loop.cjs
CHANGED
package/dist/generator/loop.d.ts
CHANGED
|
@@ -11,4 +11,39 @@ export interface GeneratorLoopParams<GenericRawNextOutput extends any> {
|
|
|
11
11
|
next<GenericValue extends GenericRawNextOutput | undefined = undefined>(output?: GenericValue): LoopOutputNextResult<GenericValue>;
|
|
12
12
|
exit<GenericOutput extends AnyValue = undefined>(output?: GenericOutput): LoopOutputExistResult<GenericOutput>;
|
|
13
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Creates a generator from a loop function.
|
|
16
|
+
*
|
|
17
|
+
* Signature: `loop(loopFunction)` → returns a generator
|
|
18
|
+
*
|
|
19
|
+
* The loop receives `{ count, previousOutput, next, exit }`.
|
|
20
|
+
* The generator ends when `exit` is returned.
|
|
21
|
+
*
|
|
22
|
+
* ```ts
|
|
23
|
+
* const limit = 4;
|
|
24
|
+
*
|
|
25
|
+
* const result = pipe(
|
|
26
|
+
* G.loop(({ count, next, exit }: G.GeneratorLoopParams<number>) => {
|
|
27
|
+
* if (count > limit) {
|
|
28
|
+
* return exit();
|
|
29
|
+
* }
|
|
30
|
+
* return next(count * 2);
|
|
31
|
+
* }),
|
|
32
|
+
* G.reduce(
|
|
33
|
+
* G.reduceFrom<number[]>([]),
|
|
34
|
+
* ({ element, lastValue, next }) => next([
|
|
35
|
+
* ...lastValue,
|
|
36
|
+
* element,
|
|
37
|
+
* ]),
|
|
38
|
+
* ),
|
|
39
|
+
* );
|
|
40
|
+
*
|
|
41
|
+
* ```
|
|
42
|
+
*
|
|
43
|
+
* @see [`G.asyncLoop`](https://utils.duplojs.dev/en/v1/api/generator/asyncLoop) For async loops
|
|
44
|
+
* @see https://utils.duplojs.dev/en/v1/api/generator/loop
|
|
45
|
+
*
|
|
46
|
+
* @namespace G
|
|
47
|
+
*
|
|
48
|
+
*/
|
|
14
49
|
export declare function loop<GenericRawExitOutput extends AnyValue = undefined, GenericRawNextOutput extends AnyValue = undefined>(loop: (params: GeneratorLoopParams<GenericRawNextOutput>) => LoopOutputNextResult<GenericRawNextOutput> | LoopOutputNextResult<undefined> | LoopOutputExistResult<GenericRawExitOutput> | LoopOutputExistResult<undefined>): Generator<Exclude<GenericRawExitOutput | GenericRawNextOutput, undefined>, unknown, unknown>;
|
package/dist/generator/loop.mjs
CHANGED
package/dist/generator/map.d.ts
CHANGED
|
@@ -1,6 +1,41 @@
|
|
|
1
1
|
interface GeneratorMapParams {
|
|
2
2
|
index: number;
|
|
3
3
|
}
|
|
4
|
+
/**
|
|
5
|
+
* Maps values from an iterable to a new generator.
|
|
6
|
+
*
|
|
7
|
+
* **Supported call styles:**
|
|
8
|
+
* - Classic: `map(iterator, theFunction)` → returns a generator
|
|
9
|
+
* - Curried: `map(theFunction)` → returns a function waiting for the iterator
|
|
10
|
+
*
|
|
11
|
+
* The function receives `(item, { index })`.
|
|
12
|
+
* The input iterator is not mutated.
|
|
13
|
+
*
|
|
14
|
+
* ```ts
|
|
15
|
+
* const values = [8, 12, 20];
|
|
16
|
+
* const rate = 1.1;
|
|
17
|
+
*
|
|
18
|
+
* const result = pipe(
|
|
19
|
+
* values,
|
|
20
|
+
* G.map((value) => N.multiply(value, rate)),
|
|
21
|
+
* G.reduce(
|
|
22
|
+
* G.reduceFrom<number[]>([]),
|
|
23
|
+
* ({ element, lastValue, next }) => next([
|
|
24
|
+
* ...lastValue,
|
|
25
|
+
* element,
|
|
26
|
+
* ]),
|
|
27
|
+
* ),
|
|
28
|
+
* );
|
|
29
|
+
*
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* @see [`G.filter`](https://utils.duplojs.dev/en/v1/api/generator/filter) For filtering values
|
|
33
|
+
* @see [`G.asyncMap`](https://utils.duplojs.dev/en/v1/api/generator/asyncMap) For async iterables
|
|
34
|
+
* @see https://utils.duplojs.dev/en/v1/api/generator/map
|
|
35
|
+
*
|
|
36
|
+
* @namespace G
|
|
37
|
+
*
|
|
38
|
+
*/
|
|
4
39
|
export declare function map<const GenericInput extends unknown, const GenericOutput extends unknown>(theFunction: (arg: GenericInput, params: GeneratorMapParams) => GenericOutput): (iterator: Iterable<GenericInput>) => Generator<GenericOutput, unknown, unknown>;
|
|
5
40
|
export declare function map<const GenericInput extends unknown, const GenericOutput extends unknown>(iterator: Iterable<GenericInput>, theFunction: (arg: GenericInput, params: GeneratorMapParams) => GenericOutput): Generator<GenericOutput, unknown, unknown>;
|
|
6
41
|
export {};
|
|
@@ -6,6 +6,9 @@ var unwrap = require('../common/unwrap.cjs');
|
|
|
6
6
|
var reduce$1 = require('../array/reduce.cjs');
|
|
7
7
|
|
|
8
8
|
const generatorReduceFromKind = kind.createKind("generator-reduce-from");
|
|
9
|
+
/**
|
|
10
|
+
* {@include generator/reduceFrom/index.md}
|
|
11
|
+
*/
|
|
9
12
|
function reduceFrom(value) {
|
|
10
13
|
return generatorReduceFromKind.setTo(wrapValue.wrapValue(value));
|
|
11
14
|
}
|
|
@@ -20,9 +20,69 @@ export interface GeneratorReduceFunctionParams<GenericElement extends unknown =
|
|
|
20
20
|
declare const generatorReduceFromKind: import("../common").KindHandler<import("../common").KindDefinition<"generator-reduce-from", unknown>>;
|
|
21
21
|
export interface GeneratorReduceFromResult<GenericValue extends unknown = unknown> extends Kind<typeof generatorReduceFromKind.definition>, WrappedValue<GenericValue> {
|
|
22
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* Creates a typed start value for `reduce`.
|
|
25
|
+
*
|
|
26
|
+
* Signature: `reduceFrom(value)` → returns a reduce start wrapper
|
|
27
|
+
*
|
|
28
|
+
* This is useful for preserving object and array types in reductions.
|
|
29
|
+
*
|
|
30
|
+
* ```ts
|
|
31
|
+
* const result = G.reduce(
|
|
32
|
+
* [1, 2],
|
|
33
|
+
* G.reduceFrom(0),
|
|
34
|
+
* ({ element, lastValue, next }) => next(lastValue + element),
|
|
35
|
+
* );
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* @see [`G.reduce`](https://utils.duplojs.dev/en/v1/api/generator/reduce) For reducing iterables
|
|
39
|
+
* @see https://utils.duplojs.dev/en/v1/api/generator/reduceFrom
|
|
40
|
+
*
|
|
41
|
+
* @namespace G
|
|
42
|
+
*
|
|
43
|
+
*/
|
|
23
44
|
export declare function reduceFrom<GenericValue extends unknown>(value: GenericValue): GeneratorReduceFromResult<GenericValue>;
|
|
24
45
|
export type GeneratorEligibleReduceFromValue = number | string | bigint | boolean | GeneratorReduceFromResult;
|
|
25
46
|
export type GeneratorReduceFromValue<GenericValue extends GeneratorEligibleReduceFromValue> = GenericValue extends GeneratorReduceFromResult ? Unwrap<GenericValue> : ToLargeEnsemble<GenericValue>;
|
|
47
|
+
/**
|
|
48
|
+
* Reduces an iterable to a single value.
|
|
49
|
+
*
|
|
50
|
+
* **Supported call styles:**
|
|
51
|
+
* - Classic: `reduce(iterator, startValue, theFunction)` → returns the reduced value
|
|
52
|
+
* - Curried: `reduce(startValue, theFunction)` → returns a function waiting for the iterator
|
|
53
|
+
*
|
|
54
|
+
* The function receives `{ element, index, lastValue, next, exit, nextWithObject, nextPush }`.
|
|
55
|
+
* The input iterator is not mutated.
|
|
56
|
+
*
|
|
57
|
+
* ```ts
|
|
58
|
+
* const values = [4, 8, 12];
|
|
59
|
+
*
|
|
60
|
+
* const result = pipe(
|
|
61
|
+
* values,
|
|
62
|
+
* G.reduce(
|
|
63
|
+
* G.reduceFrom({
|
|
64
|
+
* total: 0,
|
|
65
|
+
* count: 0,
|
|
66
|
+
* }),
|
|
67
|
+
* ({ element, lastValue, next }) => next({
|
|
68
|
+
* total: N.add(lastValue.total, element),
|
|
69
|
+
* count: N.add(lastValue.count, 1),
|
|
70
|
+
* }),
|
|
71
|
+
* ),
|
|
72
|
+
* );
|
|
73
|
+
*
|
|
74
|
+
* ```
|
|
75
|
+
*
|
|
76
|
+
* @remarks
|
|
77
|
+
* - `exit` stops the reduction early
|
|
78
|
+
*
|
|
79
|
+
* @see [`G.reduceFrom`](https://utils.duplojs.dev/en/v1/api/generator/reduceFrom) For typed start values
|
|
80
|
+
* @see [`G.asyncReduce`](https://utils.duplojs.dev/en/v1/api/generator/asyncReduce) For async iterables
|
|
81
|
+
* @see https://utils.duplojs.dev/en/v1/api/generator/reduce
|
|
82
|
+
*
|
|
83
|
+
* @namespace G
|
|
84
|
+
*
|
|
85
|
+
*/
|
|
26
86
|
export declare function reduce<GenericElement extends unknown, GenericReduceFrom extends GeneratorEligibleReduceFromValue, GenericExit extends GeneratorReduceExit = GeneratorReduceExit<never>>(startValue: GenericReduceFrom, theFunction: (params: GeneratorReduceFunctionParams<GenericElement, GeneratorReduceFromValue<GenericReduceFrom>>) => GeneratorReduceNext<GeneratorReduceFromValue<GenericReduceFrom>> | GenericExit): (iterator: Iterable<GenericElement>) => GeneratorReduceFromValue<GenericReduceFrom> | (IsEqual<GenericExit, GeneratorReduceExit> extends true ? never : GenericExit["-exit"]);
|
|
27
87
|
export declare function reduce<GenericElement extends unknown, GenericReduceFrom extends GeneratorEligibleReduceFromValue, GenericExit extends GeneratorReduceExit = GeneratorReduceExit<never>>(iterator: Iterable<GenericElement>, startValue: GenericReduceFrom, theFunction: (params: GeneratorReduceFunctionParams<GenericElement, GeneratorReduceFromValue<GenericReduceFrom>>) => GeneratorReduceNext<GeneratorReduceFromValue<GenericReduceFrom>> | GenericExit): GeneratorReduceFromValue<GenericReduceFrom> | (IsEqual<GenericExit, GeneratorReduceExit> extends true ? never : GenericExit["-exit"]);
|
|
28
88
|
export {};
|
|
@@ -4,6 +4,9 @@ import { unwrap } from '../common/unwrap.mjs';
|
|
|
4
4
|
import { reduceTools } from '../array/reduce.mjs';
|
|
5
5
|
|
|
6
6
|
const generatorReduceFromKind = createKind("generator-reduce-from");
|
|
7
|
+
/**
|
|
8
|
+
* {@include generator/reduceFrom/index.md}
|
|
9
|
+
*/
|
|
7
10
|
function reduceFrom(value) {
|
|
8
11
|
return generatorReduceFromKind.setTo(wrapValue(value));
|
|
9
12
|
}
|
package/dist/metadata.json
CHANGED
package/dist/number/abs.cjs
CHANGED
package/dist/number/abs.d.ts
CHANGED
|
@@ -1 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the absolute value of a number.
|
|
3
|
+
*
|
|
4
|
+
* Signature: `abs(value)` → returns a number
|
|
5
|
+
*
|
|
6
|
+
* ```ts
|
|
7
|
+
* N.abs(-5); // 5
|
|
8
|
+
*
|
|
9
|
+
* pipe(
|
|
10
|
+
* -5,
|
|
11
|
+
* N.abs,
|
|
12
|
+
* ); // 5
|
|
13
|
+
*
|
|
14
|
+
* N.abs(0); // 0
|
|
15
|
+
*
|
|
16
|
+
* N.abs(3); // 3
|
|
17
|
+
*
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* @remarks
|
|
21
|
+
* - Uses the same semantics as [`Math.abs`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/abs)
|
|
22
|
+
*
|
|
23
|
+
* @see https://utils.duplojs.dev/en/v1/api/number/abs
|
|
24
|
+
*
|
|
25
|
+
* @namespace N
|
|
26
|
+
*
|
|
27
|
+
*/
|
|
1
28
|
export declare function abs<GenericValue extends number>(value: GenericValue): number;
|