@duplojs/utils 1.3.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,4 +1,28 @@
|
|
|
1
1
|
import { type Time } from "../../base";
|
|
2
2
|
import { type TheTime } from "../../../../date";
|
|
3
|
+
/**
|
|
4
|
+
* Checks whether a Time is less than a threshold.
|
|
5
|
+
*
|
|
6
|
+
* **Supported call styles:**
|
|
7
|
+
* - Classic: `timeLessThan(time, threshold)` -> returns a boolean
|
|
8
|
+
* - Curried: `timeLessThan(threshold)` -> returns a function waiting for the time
|
|
9
|
+
*
|
|
10
|
+
* Use it to compare wrapped durations or raw TheTime values.
|
|
11
|
+
*
|
|
12
|
+
* ```ts
|
|
13
|
+
* const duration = C.Time.createOrThrow(D.createTheTime(3_600_000));
|
|
14
|
+
* const threshold = D.createTheTime(7_200_000);
|
|
15
|
+
*
|
|
16
|
+
* if (C.timeLessThan(duration, threshold)) {
|
|
17
|
+
* // duration is less than threshold
|
|
18
|
+
* }
|
|
19
|
+
*
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
* @see https://utils.duplojs.dev/en/v1/api/clean/primitives/operators/timeLessThan
|
|
23
|
+
*
|
|
24
|
+
* @namespace C
|
|
25
|
+
*
|
|
26
|
+
*/
|
|
3
27
|
export declare function timeLessThan(threshold: Time | TheTime): (primitive: Time) => boolean;
|
|
4
28
|
export declare function timeLessThan(primitive: Time, threshold: Time | TheTime): boolean;
|
|
@@ -5,6 +5,9 @@ var createTheTime = require('../../../../date/createTheTime.cjs');
|
|
|
5
5
|
var unwrap = require('../../../../common/unwrap.cjs');
|
|
6
6
|
var toTimeValue = require('../../../../date/toTimeValue.cjs');
|
|
7
7
|
|
|
8
|
+
/**
|
|
9
|
+
* {@include clean/timeMax/index.md}
|
|
10
|
+
*/
|
|
8
11
|
function timeMax(input) {
|
|
9
12
|
return wrapValue.wrapValue(createTheTime.createTheTime(Math.max(...input.map(unwrap.unwrap).map(toTimeValue.toTimeValue))));
|
|
10
13
|
}
|
|
@@ -1,4 +1,40 @@
|
|
|
1
1
|
import { type TheTime } from "../../../../date";
|
|
2
2
|
import { type Time } from "../../base";
|
|
3
3
|
import { type AnyTuple } from "../../../../common";
|
|
4
|
+
/**
|
|
5
|
+
* Returns the largest duration from a tuple of Time values.
|
|
6
|
+
*
|
|
7
|
+
* **Supported call styles:**
|
|
8
|
+
* - Classic: `timeMax(input)` -> returns a Time
|
|
9
|
+
*
|
|
10
|
+
* The input can mix wrapped Times and raw TheTime values.
|
|
11
|
+
*
|
|
12
|
+
* ```ts
|
|
13
|
+
* const largest = C.timeMax([
|
|
14
|
+
* C.Time.createOrThrow(D.createTheTime(1_000)),
|
|
15
|
+
* D.createTheTime(500),
|
|
16
|
+
* D.createTheTime(2_000),
|
|
17
|
+
* ]);
|
|
18
|
+
* // largest: C.Time
|
|
19
|
+
*
|
|
20
|
+
* const fromRaw = C.timeMax([
|
|
21
|
+
* D.createTheTime(10),
|
|
22
|
+
* D.createTheTime(5),
|
|
23
|
+
* D.createTheTime(20),
|
|
24
|
+
* ]);
|
|
25
|
+
* // fromRaw: C.Time
|
|
26
|
+
*
|
|
27
|
+
* const mixed = C.timeMax([
|
|
28
|
+
* C.Time.createOrThrow(D.createTheTime(100)),
|
|
29
|
+
* D.createTheTime(50),
|
|
30
|
+
* ]);
|
|
31
|
+
* // mixed: C.Time
|
|
32
|
+
*
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* @see https://utils.duplojs.dev/en/v1/api/clean/primitives/operators/timeMax
|
|
36
|
+
*
|
|
37
|
+
* @namespace C
|
|
38
|
+
*
|
|
39
|
+
*/
|
|
4
40
|
export declare function timeMax(input: AnyTuple<Time | TheTime>): Time;
|
|
@@ -3,6 +3,9 @@ import { createTheTime } from '../../../../date/createTheTime.mjs';
|
|
|
3
3
|
import { unwrap } from '../../../../common/unwrap.mjs';
|
|
4
4
|
import { toTimeValue } from '../../../../date/toTimeValue.mjs';
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* {@include clean/timeMax/index.md}
|
|
8
|
+
*/
|
|
6
9
|
function timeMax(input) {
|
|
7
10
|
return wrapValue(createTheTime(Math.max(...input.map(unwrap).map(toTimeValue))));
|
|
8
11
|
}
|
|
@@ -5,6 +5,9 @@ var wrapValue = require('../../../../common/wrapValue.cjs');
|
|
|
5
5
|
var createTheTime = require('../../../../date/createTheTime.cjs');
|
|
6
6
|
var unwrap = require('../../../../common/unwrap.cjs');
|
|
7
7
|
|
|
8
|
+
/**
|
|
9
|
+
* {@include clean/timeMin/index.md}
|
|
10
|
+
*/
|
|
8
11
|
function timeMin(input) {
|
|
9
12
|
return wrapValue.wrapValue(createTheTime.createTheTime(Math.min(...input.map(unwrap.unwrap).map(toTimeValue.toTimeValue))));
|
|
10
13
|
}
|
|
@@ -1,4 +1,40 @@
|
|
|
1
1
|
import { type TheTime } from "../../../../date";
|
|
2
2
|
import { type Time } from "../../base";
|
|
3
3
|
import { type AnyTuple } from "../../../../common";
|
|
4
|
+
/**
|
|
5
|
+
* Returns the smallest duration from a tuple of Time values.
|
|
6
|
+
*
|
|
7
|
+
* **Supported call styles:**
|
|
8
|
+
* - Classic: `timeMin(input)` -> returns a Time
|
|
9
|
+
*
|
|
10
|
+
* The input can mix wrapped Times and raw TheTime values.
|
|
11
|
+
*
|
|
12
|
+
* ```ts
|
|
13
|
+
* const smallest = C.timeMin([
|
|
14
|
+
* C.Time.createOrThrow(D.createTheTime(1_000)),
|
|
15
|
+
* D.createTheTime(500),
|
|
16
|
+
* D.createTheTime(2_000),
|
|
17
|
+
* ]);
|
|
18
|
+
* // smallest: C.Time
|
|
19
|
+
*
|
|
20
|
+
* const fromRaw = C.timeMin([
|
|
21
|
+
* D.createTheTime(10),
|
|
22
|
+
* D.createTheTime(5),
|
|
23
|
+
* D.createTheTime(20),
|
|
24
|
+
* ]);
|
|
25
|
+
* // fromRaw: C.Time
|
|
26
|
+
*
|
|
27
|
+
* const mixed = C.timeMin([
|
|
28
|
+
* C.Time.createOrThrow(D.createTheTime(100)),
|
|
29
|
+
* D.createTheTime(50),
|
|
30
|
+
* ]);
|
|
31
|
+
* // mixed: C.Time
|
|
32
|
+
*
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* @see https://utils.duplojs.dev/en/v1/api/clean/primitives/operators/timeMin
|
|
36
|
+
*
|
|
37
|
+
* @namespace C
|
|
38
|
+
*
|
|
39
|
+
*/
|
|
4
40
|
export declare function timeMin(input: AnyTuple<Time | TheTime>): Time;
|
|
@@ -3,6 +3,9 @@ import { wrapValue } from '../../../../common/wrapValue.mjs';
|
|
|
3
3
|
import { createTheTime } from '../../../../date/createTheTime.mjs';
|
|
4
4
|
import { unwrap } from '../../../../common/unwrap.mjs';
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* {@include clean/timeMin/index.md}
|
|
8
|
+
*/
|
|
6
9
|
function timeMin(input) {
|
|
7
10
|
return wrapValue(createTheTime(Math.min(...input.map(unwrap).map(toTimeValue))));
|
|
8
11
|
}
|
|
@@ -3,6 +3,9 @@
|
|
|
3
3
|
var kind = require('./kind.cjs');
|
|
4
4
|
|
|
5
5
|
const repositoryHandlerKind = kind.createCleanKind("repository-handler");
|
|
6
|
+
/**
|
|
7
|
+
* {@include clean/createRepository/index.md}
|
|
8
|
+
*/
|
|
6
9
|
function createRepository() {
|
|
7
10
|
return repositoryHandlerKind.setTo({
|
|
8
11
|
createImplementation(implementation) {
|
|
@@ -1,8 +1,95 @@
|
|
|
1
1
|
import { type SimplifyTopLevel, type AnyFunction, type Kind } from "../common";
|
|
2
2
|
export declare const repositoryHandlerKind: import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsClean/repository-handler", unknown>>;
|
|
3
3
|
export interface RepositoryHandler<GenericRepository extends object = object> extends Kind<typeof repositoryHandlerKind.definition> {
|
|
4
|
+
/**
|
|
5
|
+
* Returns the implementation after verifying it matches the repository contract.
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* // Infrastructure Layer
|
|
9
|
+
* const userRepository = UserRepository.createImplementation({
|
|
10
|
+
* findById(userId) {
|
|
11
|
+
* // database call
|
|
12
|
+
* const user = User.Entity.mapOrThrow({
|
|
13
|
+
* id: unwrap(userId),
|
|
14
|
+
* nickname: "Daniel",
|
|
15
|
+
* roles: ["manager"],
|
|
16
|
+
* });
|
|
17
|
+
*
|
|
18
|
+
* return Promise.resolve(E.success(user));
|
|
19
|
+
* },
|
|
20
|
+
* });
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
*/
|
|
4
24
|
createImplementation(implementation: SimplifyTopLevel<{
|
|
5
25
|
[Prop in keyof GenericRepository]: GenericRepository[Prop] extends AnyFunction ? (...args: Parameters<GenericRepository[Prop]>) => ReturnType<GenericRepository[Prop]> : GenericRepository[Prop];
|
|
6
26
|
}>): GenericRepository;
|
|
7
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Creates a repository handler for a contract interface.
|
|
30
|
+
*
|
|
31
|
+
* **Supported call styles:**
|
|
32
|
+
* - Classic: `createRepository<Repository>()` -> returns a handler
|
|
33
|
+
*
|
|
34
|
+
* The handler enforces the repository contract at compile time and stays runtime-free. It is meant to be composed with use cases.
|
|
35
|
+
*
|
|
36
|
+
* ```ts
|
|
37
|
+
* // Domain Layer
|
|
38
|
+
* export namespace User {
|
|
39
|
+
* export const Id = C.createNewType("UserId", DP.number(), C.Positive);
|
|
40
|
+
* export type Id = C.GetNewType<typeof Id>;
|
|
41
|
+
*
|
|
42
|
+
* export const Nickname = C.createNewType("UserNickname", DP.string());
|
|
43
|
+
* export type Nickname = C.GetNewType<typeof Nickname>;
|
|
44
|
+
*
|
|
45
|
+
* export const Role = C.createNewType("UserRole", DP.literal(["admin", "client", "manager"]));
|
|
46
|
+
* export type Role = C.GetNewType<typeof Role>;
|
|
47
|
+
*
|
|
48
|
+
* export const Entity = C.createEntity("User", ({ array }) => ({
|
|
49
|
+
* id: Id,
|
|
50
|
+
* nickname: Nickname,
|
|
51
|
+
* roles: array(Role, { min: 1 }),
|
|
52
|
+
* }));
|
|
53
|
+
* export type Entity = C.GetEntity<typeof Entity>;
|
|
54
|
+
* }
|
|
55
|
+
*
|
|
56
|
+
* // Application Layer
|
|
57
|
+
* interface UserRepository {
|
|
58
|
+
* findById(id: User.Id): Promise<E.EitherSuccess<User.Entity> | E.EitherFail>;
|
|
59
|
+
* }
|
|
60
|
+
*
|
|
61
|
+
* const UserRepository = C.createRepository<UserRepository>();
|
|
62
|
+
*
|
|
63
|
+
* const FindUserUseCase = C.createUseCase(
|
|
64
|
+
* { UserRepository },
|
|
65
|
+
* (
|
|
66
|
+
* { userRepository },
|
|
67
|
+
* ) => (userId: User.Id) => userRepository.findById(userId),
|
|
68
|
+
* );
|
|
69
|
+
*
|
|
70
|
+
* // Infrastructure Layer
|
|
71
|
+
* const userRepository = UserRepository.createImplementation({
|
|
72
|
+
* findById(userId) {
|
|
73
|
+
* // database call
|
|
74
|
+
* const user = User.Entity.mapOrThrow({
|
|
75
|
+
* id: unwrap(userId),
|
|
76
|
+
* nickname: "Daniel",
|
|
77
|
+
* roles: ["manager"],
|
|
78
|
+
* });
|
|
79
|
+
*
|
|
80
|
+
* return Promise.resolve(E.success(user));
|
|
81
|
+
* },
|
|
82
|
+
* });
|
|
83
|
+
*
|
|
84
|
+
*
|
|
85
|
+
* ```
|
|
86
|
+
*
|
|
87
|
+
* @remarks
|
|
88
|
+
* - This helper adds no runtime logic; it only validates the contract at compile time.
|
|
89
|
+
*
|
|
90
|
+
* @see https://utils.duplojs.dev/en/v1/api/clean/repository
|
|
91
|
+
*
|
|
92
|
+
* @namespace C
|
|
93
|
+
*
|
|
94
|
+
*/
|
|
8
95
|
export declare function createRepository<GenericRepository extends object>(): RepositoryHandler<GenericRepository>;
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { createCleanKind } from './kind.mjs';
|
|
2
2
|
|
|
3
3
|
const repositoryHandlerKind = createCleanKind("repository-handler");
|
|
4
|
+
/**
|
|
5
|
+
* {@include clean/createRepository/index.md}
|
|
6
|
+
*/
|
|
4
7
|
function createRepository() {
|
|
5
8
|
return repositoryHandlerKind.setTo({
|
|
6
9
|
createImplementation(implementation) {
|
package/dist/clean/useCase.cjs
CHANGED
|
@@ -9,6 +9,9 @@ var entries = require('../object/entries.cjs');
|
|
|
9
9
|
var fromEntries = require('../object/fromEntries.cjs');
|
|
10
10
|
|
|
11
11
|
const useCaseHandlerKind = kind.createCleanKind("use-case-handler");
|
|
12
|
+
/**
|
|
13
|
+
* {@include clean/createUseCase/index.md}
|
|
14
|
+
*/
|
|
12
15
|
function createUseCase(dependencies, getUseCase) {
|
|
13
16
|
return useCaseHandlerKind.setTo({
|
|
14
17
|
dependencies,
|
|
@@ -17,6 +20,9 @@ function createUseCase(dependencies, getUseCase) {
|
|
|
17
20
|
: repositories[uncapitalize.uncapitalize(key)])), fromEntries.fromEntries)),
|
|
18
21
|
});
|
|
19
22
|
}
|
|
23
|
+
/**
|
|
24
|
+
* {@include clean/useCaseInstances/index.md}
|
|
25
|
+
*/
|
|
20
26
|
function useCaseInstances(useCases, repositories) {
|
|
21
27
|
return pipe.pipe(useCases, entries.entries, map.map(([key, useCase]) => entry.entry(uncapitalize.uncapitalize(key), useCase.getUseCase(repositories))), fromEntries.fromEntries);
|
|
22
28
|
}
|
package/dist/clean/useCase.d.ts
CHANGED
|
@@ -12,12 +12,152 @@ export type GetAllRepositories<GenericDependenciesValue extends UseCaseDependenc
|
|
|
12
12
|
})[keyof GenericDependenciesValue] : never;
|
|
13
13
|
export declare const useCaseHandlerKind: import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsClean/use-case-handler", unknown>>;
|
|
14
14
|
export interface UseCaseHandler<GenericDependencies extends UseCaseDependencies = any, GenericUseCase extends (input: any) => any = any> extends Kind<typeof useCaseHandlerKind.definition> {
|
|
15
|
+
/**
|
|
16
|
+
* The dependency definition (repository handlers and/or use case handlers).
|
|
17
|
+
*
|
|
18
|
+
*/
|
|
15
19
|
dependencies: GenericDependencies;
|
|
20
|
+
/**
|
|
21
|
+
* Instantiates the use case with repository implementations.
|
|
22
|
+
*
|
|
23
|
+
* ```ts
|
|
24
|
+
* // instance one use case
|
|
25
|
+
* const findUserUseCase = FindUserUseCase.getUseCase({ userRepository });
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
*/
|
|
16
29
|
getUseCase(repositories: (GetAllRepositories<GenericDependencies> extends infer InferredEntriesDependenciesValue extends ObjectEntry ? {
|
|
17
30
|
[Entry in InferredEntriesDependenciesValue as InferredEntriesDependenciesValue[0]]: InferredEntriesDependenciesValue[1];
|
|
18
31
|
} : never)): GenericUseCase;
|
|
19
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Creates a use case handler with explicit dependencies.
|
|
35
|
+
*
|
|
36
|
+
* **Supported call styles:**
|
|
37
|
+
* - Classic: `createUseCase(dependencies, getUseCase)` -> returns a handler
|
|
38
|
+
*
|
|
39
|
+
* This separates declaration (dependencies + factory) from instantiation (repositories). Sub-use-cases are resolved automatically during instantiation.
|
|
40
|
+
*
|
|
41
|
+
* ```ts
|
|
42
|
+
* // Domain Layer
|
|
43
|
+
* export namespace User {
|
|
44
|
+
* export const Id = C.createNewType("UserId", DP.number(), C.Positive);
|
|
45
|
+
* export type Id = C.GetNewType<typeof Id>;
|
|
46
|
+
*
|
|
47
|
+
* export const Nickname = C.createNewType("UserNickname", DP.string());
|
|
48
|
+
* export type Nickname = C.GetNewType<typeof Nickname>;
|
|
49
|
+
*
|
|
50
|
+
* export const Role = C.createNewType("UserRole", DP.literal(["admin", "client", "manager"]));
|
|
51
|
+
* export type Role = C.GetNewType<typeof Role>;
|
|
52
|
+
*
|
|
53
|
+
* export const Entity = C.createEntity("User", ({ array }) => ({
|
|
54
|
+
* id: Id,
|
|
55
|
+
* nickname: Nickname,
|
|
56
|
+
* roles: array(Role, { min: 1 }),
|
|
57
|
+
* }));
|
|
58
|
+
* export type Entity = C.GetEntity<typeof Entity>;
|
|
59
|
+
* }
|
|
60
|
+
*
|
|
61
|
+
* // Application Layer
|
|
62
|
+
* interface UserRepository {
|
|
63
|
+
* findById(id: User.Id): Promise<E.EitherSuccess<User.Entity> | E.EitherFail>;
|
|
64
|
+
* }
|
|
65
|
+
*
|
|
66
|
+
* const UserRepository = C.createRepository<UserRepository>();
|
|
67
|
+
*
|
|
68
|
+
* const FindUserUseCase = C.createUseCase(
|
|
69
|
+
* { UserRepository },
|
|
70
|
+
* (
|
|
71
|
+
* { userRepository },
|
|
72
|
+
* ) => (userId: User.Id) => userRepository.findById(userId),
|
|
73
|
+
* );
|
|
74
|
+
*
|
|
75
|
+
* // Infrastructure Layer
|
|
76
|
+
* const userRepository = UserRepository.createImplementation({
|
|
77
|
+
* findById(userId) {
|
|
78
|
+
* // database call
|
|
79
|
+
* const user = User.Entity.mapOrThrow({
|
|
80
|
+
* id: unwrap(userId),
|
|
81
|
+
* nickname: "Daniel",
|
|
82
|
+
* roles: ["manager"],
|
|
83
|
+
* });
|
|
84
|
+
*
|
|
85
|
+
* return Promise.resolve(E.success(user));
|
|
86
|
+
* },
|
|
87
|
+
* });
|
|
88
|
+
*
|
|
89
|
+
* // instance one use case
|
|
90
|
+
* const findUserUseCase = FindUserUseCase.getUseCase({ userRepository });
|
|
91
|
+
*
|
|
92
|
+
* // instance many use cases
|
|
93
|
+
* const useCases = C.useCaseInstances(
|
|
94
|
+
* {
|
|
95
|
+
* FindUserUseCase,
|
|
96
|
+
* //...
|
|
97
|
+
* },
|
|
98
|
+
* {
|
|
99
|
+
* userRepository,
|
|
100
|
+
* //...
|
|
101
|
+
* },
|
|
102
|
+
* );
|
|
103
|
+
*
|
|
104
|
+
* ```
|
|
105
|
+
*
|
|
106
|
+
* @see https://utils.duplojs.dev/en/v1/api/clean/useCase
|
|
107
|
+
*
|
|
108
|
+
* @namespace C
|
|
109
|
+
*
|
|
110
|
+
*/
|
|
20
111
|
export declare function createUseCase<const GenericDependencies extends UseCaseDependencies, GenericUseCase extends (input: any) => any>(dependencies: GenericDependencies, getUseCase: (dependenciesValue: UseCaseDependenciesValue<GenericDependencies>) => GenericUseCase): UseCaseHandler<GenericDependencies, GenericUseCase>;
|
|
112
|
+
/**
|
|
113
|
+
* Instantiates multiple use cases at once.
|
|
114
|
+
*
|
|
115
|
+
* **Supported call styles:**
|
|
116
|
+
* - Classic: `useCaseInstances(useCases, repositories)` -> returns use case functions
|
|
117
|
+
*
|
|
118
|
+
* It maps dependency handlers to their implementations and returns an object of executable use cases with matching keys.
|
|
119
|
+
*
|
|
120
|
+
* ```ts
|
|
121
|
+
* interface UserRepository {
|
|
122
|
+
* findById(id: number): Promise<string | null>;
|
|
123
|
+
* }
|
|
124
|
+
*
|
|
125
|
+
* const UserRepository = C.createRepository<UserRepository>();
|
|
126
|
+
*
|
|
127
|
+
* const FindUser = C.createUseCase(
|
|
128
|
+
* { UserRepository },
|
|
129
|
+
* ({ userRepository }) => async(id: number) => userRepository.findById(id),
|
|
130
|
+
* );
|
|
131
|
+
*
|
|
132
|
+
* const CountUser = C.createUseCase(
|
|
133
|
+
* { UserRepository },
|
|
134
|
+
* ({ userRepository }) => async() => (await userRepository.findById(1) ? 1 : 0),
|
|
135
|
+
* );
|
|
136
|
+
*
|
|
137
|
+
* const repository = UserRepository.createImplementation({
|
|
138
|
+
* findById(id) {
|
|
139
|
+
* return Promise.resolve(id === 1 ? "Ada" : null);
|
|
140
|
+
* },
|
|
141
|
+
* });
|
|
142
|
+
*
|
|
143
|
+
* const useCases = C.useCaseInstances(
|
|
144
|
+
* {
|
|
145
|
+
* FindUser,
|
|
146
|
+
* CountUser,
|
|
147
|
+
* },
|
|
148
|
+
* { userRepository: repository },
|
|
149
|
+
* );
|
|
150
|
+
*
|
|
151
|
+
* ```
|
|
152
|
+
*
|
|
153
|
+
* @remarks
|
|
154
|
+
* - Returned keys are the uncapitalized version of the handler keys.
|
|
155
|
+
*
|
|
156
|
+
* @see https://utils.duplojs.dev/en/v1/api/clean/useCase
|
|
157
|
+
*
|
|
158
|
+
* @namespace C
|
|
159
|
+
*
|
|
160
|
+
*/
|
|
21
161
|
export declare function useCaseInstances<GenericUseCases extends Record<string, UseCaseHandler>>(useCases: GenericUseCases, repositories: SimplifyTopLevel<UnionToIntersection<{
|
|
22
162
|
[Prop in keyof GenericUseCases]: Parameters<GenericUseCases[Prop]["getUseCase"]>[0];
|
|
23
163
|
}[keyof GenericUseCases]>>): UseCaseDependenciesValue<GenericUseCases>;
|
package/dist/clean/useCase.mjs
CHANGED
|
@@ -7,6 +7,9 @@ import { entries } from '../object/entries.mjs';
|
|
|
7
7
|
import { fromEntries } from '../object/fromEntries.mjs';
|
|
8
8
|
|
|
9
9
|
const useCaseHandlerKind = createCleanKind("use-case-handler");
|
|
10
|
+
/**
|
|
11
|
+
* {@include clean/createUseCase/index.md}
|
|
12
|
+
*/
|
|
10
13
|
function createUseCase(dependencies, getUseCase) {
|
|
11
14
|
return useCaseHandlerKind.setTo({
|
|
12
15
|
dependencies,
|
|
@@ -15,6 +18,9 @@ function createUseCase(dependencies, getUseCase) {
|
|
|
15
18
|
: repositories[uncapitalize(key)])), fromEntries)),
|
|
16
19
|
});
|
|
17
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* {@include clean/useCaseInstances/index.md}
|
|
23
|
+
*/
|
|
18
24
|
function useCaseInstances(useCases, repositories) {
|
|
19
25
|
return pipe(useCases, entries, map(([key, useCase]) => entry(uncapitalize(key), useCase.getUseCase(repositories))), fromEntries);
|
|
20
26
|
}
|
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
export type GetWrappedProperties<GenericWrappedValue extends object = object, GenericProperties extends object = object> = (params: {
|
|
2
2
|
wrappedValue: GenericWrappedValue;
|
|
3
3
|
}) => GenericProperties;
|
|
4
|
+
/**
|
|
5
|
+
* The addWrappedProperties() function dynamically adds derived properties to a wrapped value while keeping the original type and extending the new type.
|
|
6
|
+
*
|
|
7
|
+
* Signature: `addWrappedProperties(input, properties)` → returns a value
|
|
8
|
+
*
|
|
9
|
+
* The input value is not mutated.
|
|
10
|
+
*
|
|
11
|
+
* @see https://utils.duplojs.dev/en/v1/api/common/addWrappedProperties
|
|
12
|
+
*
|
|
13
|
+
* @namespace C
|
|
14
|
+
*
|
|
15
|
+
*/
|
|
4
16
|
export declare function addWrappedProperties<GenericWrappedValue extends object, GenericGetWrappedProperties extends GetWrappedProperties<GenericWrappedValue>>(wrappedValue: GenericWrappedValue, getProperties: GenericGetWrappedProperties): GenericWrappedValue & ReturnType<GenericGetWrappedProperties>;
|
package/dist/common/and.d.ts
CHANGED
|
@@ -8,6 +8,59 @@ type ExtractPredicate<GenericInput extends unknown, GenericPredicatedInput exten
|
|
|
8
8
|
...infer InferredRest extends AnyFunction<any[], boolean>[]
|
|
9
9
|
] ? InferredRest extends readonly [] ? InferredPredicate : InferredPredicate | ExtractPredicate<GenericInput, InferredRest> : GenericInput;
|
|
10
10
|
type ComputeResult<GenericInput extends unknown, GenericPredicatedInput extends AnyFunction<any[], boolean>[]> = ExtractIntersection<GenericInput, GenericPredicatedInput> extends infer InferredResult extends GenericInput ? IsEqual<InferredResult, never> extends true ? GenericInput & UnionToIntersection<ExtractPredicate<GenericInput, GenericPredicatedInput>> : InferredResult : never;
|
|
11
|
+
/**
|
|
12
|
+
* The and() function combines several predicates or type guards. All must succeed for the result to be true and the type to be narrowed to the intersection.
|
|
13
|
+
*
|
|
14
|
+
* **Supported call styles:**
|
|
15
|
+
* - Classic: `and(input, predicates)` → returns a value
|
|
16
|
+
* - Curried: `and(predicates)` → returns a function waiting for the input
|
|
17
|
+
* - Classic predicate: `and(input, predicates)` → narrows the input type
|
|
18
|
+
* - Curried predicate: `and(predicates)` → narrows the input type
|
|
19
|
+
*
|
|
20
|
+
* Predicate overloads (type guards) narrow the output type.
|
|
21
|
+
*
|
|
22
|
+
* ```ts
|
|
23
|
+
* interface Admin {
|
|
24
|
+
* type: "admin";
|
|
25
|
+
* status: "active";
|
|
26
|
+
* meta: {
|
|
27
|
+
* role: "super";
|
|
28
|
+
* };
|
|
29
|
+
* }
|
|
30
|
+
*
|
|
31
|
+
* interface Viewer {
|
|
32
|
+
* type: "viewer";
|
|
33
|
+
* status: "active";
|
|
34
|
+
* meta: {
|
|
35
|
+
* role: "reader";
|
|
36
|
+
* };
|
|
37
|
+
* }
|
|
38
|
+
*
|
|
39
|
+
* const result = pipe(
|
|
40
|
+
* {
|
|
41
|
+
* type: "admin",
|
|
42
|
+
* status: "active",
|
|
43
|
+
* meta: {
|
|
44
|
+
* role: "super",
|
|
45
|
+
* },
|
|
46
|
+
* } as Admin | Viewer,
|
|
47
|
+
* when(
|
|
48
|
+
* and([
|
|
49
|
+
* DObject.discriminate("type", "admin"),
|
|
50
|
+
* DObject.discriminate("status", "active"),
|
|
51
|
+
* ]),
|
|
52
|
+
* (value) => {
|
|
53
|
+
* // type: Admin
|
|
54
|
+
* },
|
|
55
|
+
* ),
|
|
56
|
+
* );
|
|
57
|
+
* ```
|
|
58
|
+
*
|
|
59
|
+
* @see https://utils.duplojs.dev/en/v1/api/common/and
|
|
60
|
+
*
|
|
61
|
+
* @namespace C
|
|
62
|
+
*
|
|
63
|
+
*/
|
|
11
64
|
export declare function and<GenericInput extends unknown, GenericArrayPredicatedInput extends [
|
|
12
65
|
(input: GenericInput) => input is any,
|
|
13
66
|
(input: GenericInput) => input is any,
|
|
@@ -2,6 +2,55 @@ import { type MaybeFutureEither } from "../either/future/maybeFutureEither";
|
|
|
2
2
|
import { type MaybePromise, type EscapeVoid, type BreakGenericLink } from "./types";
|
|
3
3
|
import { type AnyValue } from "./types/anyValue";
|
|
4
4
|
type MaybePromiseLike<GenericValue extends unknown> = MaybePromise<GenericValue> | MaybeFutureEither<GenericValue>;
|
|
5
|
+
/**
|
|
6
|
+
* The asyncInnerPipe() method builds a reusable asynchronous pipeline. It returns a function that accepts a value or a promise, runs each step while waiting for the previous one, then returns a promise of the final result.
|
|
7
|
+
*
|
|
8
|
+
* Signature: `asyncInnerPipe(pipe1, pipe2)` → returns a value
|
|
9
|
+
*
|
|
10
|
+
* The input value is not mutated.
|
|
11
|
+
*
|
|
12
|
+
* ```ts
|
|
13
|
+
* const input = [
|
|
14
|
+
* {
|
|
15
|
+
* host: "api.local",
|
|
16
|
+
* retries: 1,
|
|
17
|
+
* },
|
|
18
|
+
* {
|
|
19
|
+
* host: "api.external",
|
|
20
|
+
* retries: 2,
|
|
21
|
+
* },
|
|
22
|
+
* ];
|
|
23
|
+
*
|
|
24
|
+
* const result = await asyncPipe(
|
|
25
|
+
* input,
|
|
26
|
+
* A.map(
|
|
27
|
+
* asyncInnerPipe(
|
|
28
|
+
* ({ host, retries }) => ({
|
|
29
|
+
* url: `https://${host}/health`,
|
|
30
|
+
* retries,
|
|
31
|
+
* }),
|
|
32
|
+
* // fake HTTP request
|
|
33
|
+
* async({ url, retries }) => Promise.resolve({
|
|
34
|
+
* url,
|
|
35
|
+
* status: 200,
|
|
36
|
+
* retries,
|
|
37
|
+
* }),
|
|
38
|
+
* ({ status, url, retries }) => `${status} on ${url} (retries: ${retries})`,
|
|
39
|
+
* ),
|
|
40
|
+
* ),
|
|
41
|
+
* );
|
|
42
|
+
* // result: [
|
|
43
|
+
* // "result: "200 on https://api.local/health (retries: 1)",
|
|
44
|
+
* // "result: "200 on https://api.external/health (retries: 2)"
|
|
45
|
+
* // ]
|
|
46
|
+
*
|
|
47
|
+
* ```
|
|
48
|
+
*
|
|
49
|
+
* @see https://utils.duplojs.dev/en/v1/api/common/asyncInnerPipe
|
|
50
|
+
*
|
|
51
|
+
* @namespace C
|
|
52
|
+
*
|
|
53
|
+
*/
|
|
5
54
|
export declare function asyncInnerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid>(pipe1: (input: GenericInput) => MaybePromiseLike<GenericOutputPipe1>): (input: MaybePromiseLike<GenericInput>) => Promise<Awaited<BreakGenericLink<GenericOutputPipe1>>>;
|
|
6
55
|
export declare function asyncInnerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid>(pipe1: (input: GenericInput) => MaybePromiseLike<GenericOutputPipe1>, pipe2: (input: GenericOutputPipe1) => MaybePromiseLike<GenericOutputPipe2>): (input: MaybePromiseLike<GenericInput>) => Promise<Awaited<BreakGenericLink<GenericOutputPipe2>>>;
|
|
7
56
|
export declare function asyncInnerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid>(pipe1: (input: GenericInput) => MaybePromiseLike<GenericOutputPipe1>, pipe2: (input: GenericOutputPipe1) => MaybePromiseLike<GenericOutputPipe2>, pipe3: (input: GenericOutputPipe2) => MaybePromiseLike<GenericOutputPipe3>): (input: MaybePromiseLike<GenericInput>) => Promise<Awaited<BreakGenericLink<GenericOutputPipe3>>>;
|
|
@@ -6,5 +6,34 @@ interface LoopOutputExistResult<GenericOutput extends any> {
|
|
|
6
6
|
interface LoopOutputNextResult<GenericOutput extends any> {
|
|
7
7
|
"-nextData": GenericOutput;
|
|
8
8
|
}
|
|
9
|
+
/**
|
|
10
|
+
* The asyncLoop() function is the asynchronous variant of loop. Each iteration can return a promise before deciding to continue (next) or exit (exit).
|
|
11
|
+
*
|
|
12
|
+
* Signature: `asyncLoop(from, theFunction)` → returns a value
|
|
13
|
+
*
|
|
14
|
+
* The input value is not mutated.
|
|
15
|
+
*
|
|
16
|
+
* ```ts
|
|
17
|
+
* const result = await asyncLoop<number, number>(
|
|
18
|
+
* async({ count, previousOutput, next, exit }) => {
|
|
19
|
+
* const current = (previousOutput ?? 0) + 1;
|
|
20
|
+
*
|
|
21
|
+
* await Promise.resolve();
|
|
22
|
+
*
|
|
23
|
+
* if (count >= 2) {
|
|
24
|
+
* return exit(current);
|
|
25
|
+
* }
|
|
26
|
+
*
|
|
27
|
+
* return next(current);
|
|
28
|
+
* },
|
|
29
|
+
* );
|
|
30
|
+
* // result: 3
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* @see https://utils.duplojs.dev/en/v1/api/common/asyncLoop
|
|
34
|
+
*
|
|
35
|
+
* @namespace C
|
|
36
|
+
*
|
|
37
|
+
*/
|
|
9
38
|
export declare function asyncLoop<GenericRawExitOutput extends AnyValue = undefined, GenericRawNextOutput extends AnyValue = undefined>(loop: (params: LoopParams<GenericRawNextOutput>) => Promise<LoopOutputNextResult<GenericRawNextOutput | undefined> | LoopOutputExistResult<GenericRawExitOutput>>): Promise<GenericRawExitOutput>;
|
|
10
39
|
export {};
|