@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
|
@@ -4,4 +4,16 @@ export interface GlobalStoreHandler<GenericValue extends unknown> {
|
|
|
4
4
|
readonly value: GenericValue;
|
|
5
5
|
set(value: GenericValue): void;
|
|
6
6
|
}
|
|
7
|
+
/**
|
|
8
|
+
* The createGlobalStore() function lets you create a global store (singleton) shared across the entire process. It is useful for storing a mutable value accessible from any module without passing it as a parameter.
|
|
9
|
+
*
|
|
10
|
+
* Signature: `createGlobalStore(storeName, defaultValue)` → returns a value
|
|
11
|
+
*
|
|
12
|
+
* The input value is not mutated.
|
|
13
|
+
*
|
|
14
|
+
* @see https://utils.duplojs.dev/en/v1/api/common/globalStore
|
|
15
|
+
*
|
|
16
|
+
* @namespace C
|
|
17
|
+
*
|
|
18
|
+
*/
|
|
7
19
|
export declare function createGlobalStore<GenericStoreName extends keyof GlobalStore>(storeName: GenericStoreName, defaultValue: GlobalStore[GenericStoreName]): GlobalStoreHandler<GlobalStore[GenericStoreName]>;
|
|
@@ -2,6 +2,9 @@ const SymbolGlobalStore = Symbol.for("@duplojs/utils/global-store");
|
|
|
2
2
|
const globalVar = Object;
|
|
3
3
|
Object.defineProperty(globalVar, SymbolGlobalStore, { value: globalVar[SymbolGlobalStore] ?? {} });
|
|
4
4
|
const store = globalVar[SymbolGlobalStore];
|
|
5
|
+
/**
|
|
6
|
+
* {@include common/globalStore/index.md}
|
|
7
|
+
*/
|
|
5
8
|
function createGlobalStore(storeName, defaultValue) {
|
|
6
9
|
if (store[storeName] === undefined) {
|
|
7
10
|
store[storeName] = defaultValue;
|
|
@@ -1,4 +1,43 @@
|
|
|
1
1
|
import { type Kind, type KindHandler } from "./kind";
|
|
2
2
|
import { type AnyTuple, type UnionToIntersection } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* The hasKinds() function checks that a value carries all requested kinds and acts as a type guard toward their intersection.
|
|
5
|
+
*
|
|
6
|
+
* **Supported call styles:**
|
|
7
|
+
* - Classic: `hasKinds(input, kinds)` → returns a value
|
|
8
|
+
* - Curried: `hasKinds(kinds)` → returns a function waiting for the input
|
|
9
|
+
* - Classic predicate: `hasKinds(input, kinds)` → narrows the input type
|
|
10
|
+
* - Curried predicate: `hasKinds(kinds)` → narrows the input type
|
|
11
|
+
*
|
|
12
|
+
* Predicate overloads (type guards) narrow the output type.
|
|
13
|
+
*
|
|
14
|
+
* ```ts
|
|
15
|
+
* const input = E.ok() as E.EitherOk | E.EitherError;
|
|
16
|
+
*
|
|
17
|
+
* if (hasKinds(input, [
|
|
18
|
+
* E.eitherOkKind,
|
|
19
|
+
* E.eitherRightKind,
|
|
20
|
+
* ])) {
|
|
21
|
+
* // type: E.EitherOk
|
|
22
|
+
* }
|
|
23
|
+
*
|
|
24
|
+
* const result = pipe(
|
|
25
|
+
* input,
|
|
26
|
+
* when(
|
|
27
|
+
* hasKinds([
|
|
28
|
+
* E.eitherOkKind,
|
|
29
|
+
* E.eitherRightKind,
|
|
30
|
+
* ]),
|
|
31
|
+
* () => "ok",
|
|
32
|
+
* ),
|
|
33
|
+
* );
|
|
34
|
+
* // result: "ok" | E.EitherError<unknown>
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* @see https://utils.duplojs.dev/en/v1/api/common/hasKinds
|
|
38
|
+
*
|
|
39
|
+
* @namespace C
|
|
40
|
+
*
|
|
41
|
+
*/
|
|
3
42
|
export declare function hasKinds<GenericInput extends unknown, const GenericKindHandlers extends AnyTuple<KindHandler>, GenericKindHandler extends GenericKindHandlers[number]>(kinds: GenericKindHandlers): (input: GenericInput) => input is Extract<GenericInput, UnionToIntersection<GenericKindHandler extends any ? Kind<GenericKindHandler["definition"]> : never>>;
|
|
4
43
|
export declare function hasKinds<GenericInput extends unknown, const GenericKindHandlers extends AnyTuple<KindHandler>, GenericKindHandler extends GenericKindHandlers[number]>(input: GenericInput, kinds: GenericKindHandlers): input is Extract<GenericInput, UnionToIntersection<GenericKindHandler extends any ? Kind<GenericKindHandler["definition"]> : never>>;
|
|
@@ -1,4 +1,43 @@
|
|
|
1
1
|
import { type Kind, type KindHandler } from "./kind";
|
|
2
2
|
import { type AnyTuple } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* The hasSomeKinds() function checks that a value carries at least one of the requested kinds and acts as a type guard toward their union.
|
|
5
|
+
*
|
|
6
|
+
* **Supported call styles:**
|
|
7
|
+
* - Classic: `hasSomeKinds(input, kinds)` → returns a value
|
|
8
|
+
* - Curried: `hasSomeKinds(kinds)` → returns a function waiting for the input
|
|
9
|
+
* - Classic predicate: `hasSomeKinds(input, kinds)` → narrows the input type
|
|
10
|
+
* - Curried predicate: `hasSomeKinds(kinds)` → narrows the input type
|
|
11
|
+
*
|
|
12
|
+
* Predicate overloads (type guards) narrow the output type.
|
|
13
|
+
*
|
|
14
|
+
* ```ts
|
|
15
|
+
* const input = E.ok() as E.EitherOk | E.EitherError;
|
|
16
|
+
*
|
|
17
|
+
* if (hasSomeKinds(input, [
|
|
18
|
+
* E.eitherOkKind,
|
|
19
|
+
* E.eitherErrorKind,
|
|
20
|
+
* ])) {
|
|
21
|
+
* // type: E.EitherOk | E.EitherError
|
|
22
|
+
* }
|
|
23
|
+
*
|
|
24
|
+
* const result = pipe(
|
|
25
|
+
* input,
|
|
26
|
+
* when(
|
|
27
|
+
* hasSomeKinds([
|
|
28
|
+
* E.eitherOkKind,
|
|
29
|
+
* E.eitherErrorKind,
|
|
30
|
+
* ]),
|
|
31
|
+
* () => "known",
|
|
32
|
+
* ),
|
|
33
|
+
* );
|
|
34
|
+
* // result: "known" | E.EitherError<unknown>
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* @see https://utils.duplojs.dev/en/v1/api/common/hasSomeKinds
|
|
38
|
+
*
|
|
39
|
+
* @namespace C
|
|
40
|
+
*
|
|
41
|
+
*/
|
|
3
42
|
export declare function hasSomeKinds<GenericInput extends unknown, const GenericKindHandlers extends AnyTuple<KindHandler>, GenericKindHandler extends GenericKindHandlers[number]>(kinds: GenericKindHandlers): (input: GenericInput) => input is Extract<GenericInput, GenericKindHandler extends any ? Kind<GenericKindHandler["definition"]> : never>;
|
|
4
43
|
export declare function hasSomeKinds<GenericInput extends unknown, const GenericKindHandlers extends AnyTuple<KindHandler>, GenericKindHandler extends GenericKindHandlers[number]>(input: GenericInput, kinds: GenericKindHandlers): input is Extract<GenericInput, GenericKindHandler extends any ? Kind<GenericKindHandler["definition"]> : never>;
|
package/dist/common/index.d.ts
CHANGED
|
@@ -1,3 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cross-cutting utilities to compose functions, handle promises, manipulate wrappers/kinds, and apply runtime conversions shared by the whole library.
|
|
3
|
+
*
|
|
4
|
+
* **How to import:**
|
|
5
|
+
* - From the main entry (namespace style or direct named imports)
|
|
6
|
+
* - Via direct import for tree-shaking
|
|
7
|
+
*
|
|
8
|
+
* ```ts
|
|
9
|
+
* import { pipe, when, clone } from "@duplojs/utils";
|
|
10
|
+
* import * as DCommon from "@duplojs/utils/common";
|
|
11
|
+
* import * as C from "@duplojs/utils/common";
|
|
12
|
+
* import { pipe, when, clone } from "@duplojs/utils/common";
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* What you will find in this namespace:
|
|
16
|
+
* - composition helpers (`pipe`, `innerPipe`, `asyncPipe`, `asyncInnerPipe`, `forward`)
|
|
17
|
+
* - predicates and guards (`when`, `whenNot`, `whenElse`, `and`, `or`, `isType`, `instanceOf`)
|
|
18
|
+
* - control flow (`loop`, `asyncLoop`, `asyncRetry`, `sleep`, `memo`)
|
|
19
|
+
* - promise utilities (`externalPromise`, `promiseObject`)
|
|
20
|
+
* - string and value conversions (`toString`, `stringToMillisecond`, `stringToBytes`, `escapeRegExp`)
|
|
21
|
+
* - wrappers and kinds (`wrapValue`, `unwrap`, `toWrappedValue`, `hasKinds`, `hasSomeKinds`)
|
|
22
|
+
*
|
|
23
|
+
* @see https://utils.duplojs.dev/en/v1/api/common
|
|
24
|
+
*
|
|
25
|
+
* @namespace C
|
|
26
|
+
*
|
|
27
|
+
*/
|
|
1
28
|
export * from "./types";
|
|
2
29
|
export * from "./addWrappedProperties";
|
|
3
30
|
export * from "./asyncPipe";
|
|
@@ -1,5 +1,40 @@
|
|
|
1
1
|
import { type BreakGenericLink, type EscapeVoid } from "./types";
|
|
2
2
|
import { type AnyValue } from "./types/anyValue";
|
|
3
|
+
/**
|
|
4
|
+
* The innerPipe() method prepares a reusable synchronous pipeline: it returns a function that will apply the chain of transformations to any compatible input.
|
|
5
|
+
*
|
|
6
|
+
* Signature: `innerPipe(pipe1, pipe2)` → returns a value
|
|
7
|
+
*
|
|
8
|
+
* The input value is not mutated.
|
|
9
|
+
*
|
|
10
|
+
* ```ts
|
|
11
|
+
* const tvaRate = 1.2;
|
|
12
|
+
* const digit = 2;
|
|
13
|
+
* const input = [
|
|
14
|
+
* 10,
|
|
15
|
+
* 15,
|
|
16
|
+
* 23,
|
|
17
|
+
* 30.4,
|
|
18
|
+
* ];
|
|
19
|
+
*
|
|
20
|
+
* const result = pipe(
|
|
21
|
+
* input,
|
|
22
|
+
* A.map(
|
|
23
|
+
* innerPipe(
|
|
24
|
+
* N.multiply(tvaRate),
|
|
25
|
+
* N.toFixed(digit),
|
|
26
|
+
* S.concat("€"),
|
|
27
|
+
* ),
|
|
28
|
+
* ),
|
|
29
|
+
* );
|
|
30
|
+
* // result ["12€", "18€", "27.6€", "36.48€"]
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* @see https://utils.duplojs.dev/en/v1/api/common/innerPipe
|
|
34
|
+
*
|
|
35
|
+
* @namespace C
|
|
36
|
+
*
|
|
37
|
+
*/
|
|
3
38
|
export declare function innerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid>(pipe1: (input: GenericInput) => GenericOutputPipe1): (input: GenericInput) => BreakGenericLink<GenericOutputPipe1>;
|
|
4
39
|
export declare function innerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid>(pipe1: (input: GenericInput) => GenericOutputPipe1, pipe2: (input: GenericOutputPipe1) => GenericOutputPipe2): (input: GenericInput) => BreakGenericLink<GenericOutputPipe2>;
|
|
5
40
|
export declare function innerPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue | EscapeVoid, GenericOutputPipe2 extends AnyValue | EscapeVoid, GenericOutputPipe3 extends AnyValue | EscapeVoid>(pipe1: (input: GenericInput) => GenericOutputPipe1, pipe2: (input: GenericOutputPipe1) => GenericOutputPipe2, pipe3: (input: GenericOutputPipe2) => GenericOutputPipe3): (input: GenericInput) => BreakGenericLink<GenericOutputPipe3>;
|
|
@@ -1,3 +1,36 @@
|
|
|
1
1
|
import { type AnyConstructor } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* The instanceOf() function creates a type guard based on one or several constructors. It checks instanceof while keeping precise typing.
|
|
4
|
+
*
|
|
5
|
+
* **Supported call styles:**
|
|
6
|
+
* - Classic: `instanceOf(input, constructor)` → returns a value
|
|
7
|
+
* - Curried: `instanceOf(constructor)` → returns a function waiting for the input
|
|
8
|
+
* - Classic predicate: `instanceOf(input, constructor)` → narrows the input type
|
|
9
|
+
* - Curried predicate: `instanceOf(constructor)` → narrows the input type
|
|
10
|
+
*
|
|
11
|
+
* Predicate overloads (type guards) narrow the output type.
|
|
12
|
+
*
|
|
13
|
+
* ```ts
|
|
14
|
+
* const input = new Date();
|
|
15
|
+
*
|
|
16
|
+
* if (instanceOf(input, Date)) {
|
|
17
|
+
* // type: Date
|
|
18
|
+
* }
|
|
19
|
+
*
|
|
20
|
+
* const result = pipe(
|
|
21
|
+
* input,
|
|
22
|
+
* when(
|
|
23
|
+
* instanceOf(Date),
|
|
24
|
+
* (value) => value.toISOString(),
|
|
25
|
+
* ),
|
|
26
|
+
* );
|
|
27
|
+
* // result: "..."
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* @see https://utils.duplojs.dev/en/v1/api/common/instanceOf
|
|
31
|
+
*
|
|
32
|
+
* @namespace C
|
|
33
|
+
*
|
|
34
|
+
*/
|
|
2
35
|
export declare function instanceOf<GenericInput extends unknown, GenericConstructor extends AnyConstructor>(constructor: GenericConstructor | GenericConstructor[]): (input: GenericInput) => input is Extract<GenericInput, InstanceType<GenericConstructor>>;
|
|
3
36
|
export declare function instanceOf<GenericInput extends unknown, GenericConstructor extends AnyConstructor>(input: GenericInput, constructor: GenericConstructor | GenericConstructor[]): input is Extract<GenericInput, InstanceType<GenericConstructor>>;
|
package/dist/common/isType.d.ts
CHANGED
|
@@ -17,6 +17,41 @@ type ComputeResult<GenericInput extends unknown, GenericTypeEntry extends Type[k
|
|
|
17
17
|
type EligibleType<GenericInput extends unknown> = {
|
|
18
18
|
[Prop in keyof Type]: IsEqual<ComputeResult<GenericInput, Type[Prop]>, never> extends true ? never : Prop;
|
|
19
19
|
}[keyof Type];
|
|
20
|
+
/**
|
|
21
|
+
* The isType() function creates a type guard based on typeof, Array.isArray, iterables, functions, etc. It allows narrowing a union to the checked type.
|
|
22
|
+
*
|
|
23
|
+
* **Supported call styles:**
|
|
24
|
+
* - Classic: `isType(input, type)` → returns a value
|
|
25
|
+
* - Curried: `isType(type)` → returns a function waiting for the input
|
|
26
|
+
* - Classic predicate: `isType(input, type)` → narrows the input type
|
|
27
|
+
* - Curried predicate: `isType(type)` → narrows the input type
|
|
28
|
+
*
|
|
29
|
+
* Predicate overloads (type guards) narrow the output type.
|
|
30
|
+
*
|
|
31
|
+
* ```ts
|
|
32
|
+
* type Input = string | number;
|
|
33
|
+
*
|
|
34
|
+
* const input = 3 as Input;
|
|
35
|
+
*
|
|
36
|
+
* if (isType(input, "number")) {
|
|
37
|
+
* // type: number
|
|
38
|
+
* }
|
|
39
|
+
*
|
|
40
|
+
* const result = pipe(
|
|
41
|
+
* input,
|
|
42
|
+
* when(
|
|
43
|
+
* isType("number"),
|
|
44
|
+
* (value) => value + 1,
|
|
45
|
+
* ),
|
|
46
|
+
* );
|
|
47
|
+
* // result: 4
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* @see https://utils.duplojs.dev/en/v1/api/common/isType
|
|
51
|
+
*
|
|
52
|
+
* @namespace C
|
|
53
|
+
*
|
|
54
|
+
*/
|
|
20
55
|
export declare function isType<GenericInput extends unknown, GenericType extends EligibleType<GenericInput>>(type: GenericType): (input: GenericInput) => input is ComputeResult<GenericInput, Type[GenericType]>;
|
|
21
56
|
export declare function isType<GenericInput extends unknown, GenericType extends EligibleType<GenericInput>>(input: GenericInput, type: GenericType): input is ComputeResult<GenericInput, Type[GenericType]>;
|
|
22
57
|
export {};
|
|
@@ -1,3 +1,46 @@
|
|
|
1
1
|
import { type AnyValue } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* The justReturn() function builds a constant function: it ignores its argument and always returns the same value. It also exists in direct form to immediately return that value.
|
|
4
|
+
*
|
|
5
|
+
* Signature: `justReturn(value)` → returns a value
|
|
6
|
+
*
|
|
7
|
+
* The input value is not mutated.
|
|
8
|
+
*
|
|
9
|
+
* ```ts
|
|
10
|
+
* type Input =
|
|
11
|
+
* | {
|
|
12
|
+
* kind: "ok";
|
|
13
|
+
* value: number;
|
|
14
|
+
* } | {
|
|
15
|
+
* kind: "healt";
|
|
16
|
+
* info: string;
|
|
17
|
+
* } | {
|
|
18
|
+
* kind: "error";
|
|
19
|
+
* message: string;
|
|
20
|
+
* };
|
|
21
|
+
*
|
|
22
|
+
* const input = {
|
|
23
|
+
* kind: "ok",
|
|
24
|
+
* value: 4,
|
|
25
|
+
* } as Input;
|
|
26
|
+
*
|
|
27
|
+
* const result = pipe(
|
|
28
|
+
* input,
|
|
29
|
+
* P.match(
|
|
30
|
+
* { kind: "ok" },
|
|
31
|
+
* O.getProperty("value"),
|
|
32
|
+
* ),
|
|
33
|
+
* // whatever else happens, we return "error"
|
|
34
|
+
* P.otherwise(justReturn("error")),
|
|
35
|
+
* );
|
|
36
|
+
*
|
|
37
|
+
* // type: number | "error"
|
|
38
|
+
* ```
|
|
39
|
+
*
|
|
40
|
+
* @see https://utils.duplojs.dev/en/v1/api/common/justReturn
|
|
41
|
+
*
|
|
42
|
+
* @namespace C
|
|
43
|
+
*
|
|
44
|
+
*/
|
|
2
45
|
export declare function justReturn<GenericInput extends unknown, GenericValue extends AnyValue>(value: GenericValue): (input: GenericInput) => GenericValue;
|
|
3
46
|
export declare function justReturn<GenericInput extends unknown, GenericValue extends AnyValue>(input: GenericInput, value: GenericValue): GenericValue;
|
package/dist/common/kind.cjs
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
const keyKindPrefix = "@duplojs/utils/kind/";
|
|
4
|
+
/**
|
|
5
|
+
* {@include common/kind/index.md}
|
|
6
|
+
*/
|
|
4
7
|
function createKind(name) {
|
|
5
8
|
const runTimeKey = `${keyKindPrefix}${name}`;
|
|
6
9
|
return {
|
|
@@ -29,6 +32,9 @@ function createKind(name) {
|
|
|
29
32
|
},
|
|
30
33
|
};
|
|
31
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* {@include common/kind/index.md}
|
|
37
|
+
*/
|
|
32
38
|
function createKindNamespace(namespace) {
|
|
33
39
|
return (name) => {
|
|
34
40
|
const kindHandler = createKind(`@${namespace}/${name}`);
|
package/dist/common/kind.d.ts
CHANGED
|
@@ -38,6 +38,53 @@ export type GetKindHandler<GenericObject extends Kind<any>> = {
|
|
|
38
38
|
}[keyof GenericObject[SymbolKind]];
|
|
39
39
|
export declare const keyKindPrefix = "@duplojs/utils/kind/";
|
|
40
40
|
type ForbiddenKindCharacters<GenericValue extends string> = ForbiddenString<GenericValue, "@" | "/">;
|
|
41
|
+
/**
|
|
42
|
+
* Kinds are a discrimination (type narrowing) mechanism based on adding a marker to an object, but with a few constraints we wanted in our projects:
|
|
43
|
+
*
|
|
44
|
+
* Signature: `createKind(name)` and `createKindNamespace(namespace)` → returns a value
|
|
45
|
+
*
|
|
46
|
+
* ```ts
|
|
47
|
+
* const userKind = createKind<"user", { id: string }>("user");
|
|
48
|
+
*
|
|
49
|
+
* interface User extends Kind<typeof userKind.definition> {
|
|
50
|
+
* name: string;
|
|
51
|
+
* }
|
|
52
|
+
*
|
|
53
|
+
* const User = {
|
|
54
|
+
* new(params: {
|
|
55
|
+
* id: string;
|
|
56
|
+
* name: string;
|
|
57
|
+
* }): User {
|
|
58
|
+
* return userKind.addTo(
|
|
59
|
+
* { name: params.name },
|
|
60
|
+
* { id: params.id },
|
|
61
|
+
* );
|
|
62
|
+
* },
|
|
63
|
+
* is(input: unknown): input is User {
|
|
64
|
+
* return userKind.has(input);
|
|
65
|
+
* },
|
|
66
|
+
* };
|
|
67
|
+
*
|
|
68
|
+
* const user = User.new({
|
|
69
|
+
* id: "u_1",
|
|
70
|
+
* name: "Ada",
|
|
71
|
+
* });
|
|
72
|
+
*
|
|
73
|
+
* if (User.is(user)) {
|
|
74
|
+
* const userId = userKind.getValue(user).id;
|
|
75
|
+
* }
|
|
76
|
+
*
|
|
77
|
+
* const received: unknown = JSON.parse(JSON.stringify(user));
|
|
78
|
+
* if (User.is(received)) {
|
|
79
|
+
* const userId = userKind.getValue(received).id;
|
|
80
|
+
* }
|
|
81
|
+
* ```
|
|
82
|
+
*
|
|
83
|
+
* @see https://utils.duplojs.dev/en/v1/api/common/kind
|
|
84
|
+
*
|
|
85
|
+
* @namespace C
|
|
86
|
+
*
|
|
87
|
+
*/
|
|
41
88
|
export declare function createKind<GenericName extends string, GenericKindValue extends unknown = unknown>(name: GenericName & ForbiddenKindCharacters<GenericName>): KindHandler<KindDefinition<GenericName, GenericKindValue>>;
|
|
42
89
|
export interface ReservedKindNamespace {
|
|
43
90
|
DuplojsUtilsEither: true;
|
|
@@ -47,6 +94,53 @@ export interface ReservedKindNamespace {
|
|
|
47
94
|
DuplojsUtilsClean: true;
|
|
48
95
|
}
|
|
49
96
|
type ForbiddenKindNamespace<GenericValue extends string> = (ForbiddenKindCharacters<GenericValue> & ForbiddenString<GenericValue, GetPropsWithValue<ReservedKindNamespace, true>>);
|
|
97
|
+
/**
|
|
98
|
+
* Kinds are a discrimination (type narrowing) mechanism based on adding a marker to an object, but with a few constraints we wanted in our projects:
|
|
99
|
+
*
|
|
100
|
+
* Signature: `createKind(name)` and `createKindNamespace(namespace)` → returns a value
|
|
101
|
+
*
|
|
102
|
+
* ```ts
|
|
103
|
+
* const userKind = createKind<"user", { id: string }>("user");
|
|
104
|
+
*
|
|
105
|
+
* interface User extends Kind<typeof userKind.definition> {
|
|
106
|
+
* name: string;
|
|
107
|
+
* }
|
|
108
|
+
*
|
|
109
|
+
* const User = {
|
|
110
|
+
* new(params: {
|
|
111
|
+
* id: string;
|
|
112
|
+
* name: string;
|
|
113
|
+
* }): User {
|
|
114
|
+
* return userKind.addTo(
|
|
115
|
+
* { name: params.name },
|
|
116
|
+
* { id: params.id },
|
|
117
|
+
* );
|
|
118
|
+
* },
|
|
119
|
+
* is(input: unknown): input is User {
|
|
120
|
+
* return userKind.has(input);
|
|
121
|
+
* },
|
|
122
|
+
* };
|
|
123
|
+
*
|
|
124
|
+
* const user = User.new({
|
|
125
|
+
* id: "u_1",
|
|
126
|
+
* name: "Ada",
|
|
127
|
+
* });
|
|
128
|
+
*
|
|
129
|
+
* if (User.is(user)) {
|
|
130
|
+
* const userId = userKind.getValue(user).id;
|
|
131
|
+
* }
|
|
132
|
+
*
|
|
133
|
+
* const received: unknown = JSON.parse(JSON.stringify(user));
|
|
134
|
+
* if (User.is(received)) {
|
|
135
|
+
* const userId = userKind.getValue(received).id;
|
|
136
|
+
* }
|
|
137
|
+
* ```
|
|
138
|
+
*
|
|
139
|
+
* @see https://utils.duplojs.dev/en/v1/api/common/kind
|
|
140
|
+
*
|
|
141
|
+
* @namespace C
|
|
142
|
+
*
|
|
143
|
+
*/
|
|
50
144
|
export declare function createKindNamespace<GenericNamespace extends string>(namespace: GenericNamespace & ForbiddenKindNamespace<GenericNamespace>): <GenericName extends string, GenericKindValue extends unknown = unknown>(name: GenericName & ForbiddenKindCharacters<GenericName>) => KindHandler<KindDefinition<`@${GenericNamespace}/${GenericName}`, GenericKindValue>>;
|
|
51
145
|
export type KindHeritageConstructorParams<GenericKindHandler extends KindHandler> = {
|
|
52
146
|
[KindHandler in GenericKindHandler as KindHandler["definition"]["name"]]: KindHandler["definition"]["value"];
|
package/dist/common/kind.mjs
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
const keyKindPrefix = "@duplojs/utils/kind/";
|
|
2
|
+
/**
|
|
3
|
+
* {@include common/kind/index.md}
|
|
4
|
+
*/
|
|
2
5
|
function createKind(name) {
|
|
3
6
|
const runTimeKey = `${keyKindPrefix}${name}`;
|
|
4
7
|
return {
|
|
@@ -27,6 +30,9 @@ function createKind(name) {
|
|
|
27
30
|
},
|
|
28
31
|
};
|
|
29
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* {@include common/kind/index.md}
|
|
35
|
+
*/
|
|
30
36
|
function createKindNamespace(namespace) {
|
|
31
37
|
return (name) => {
|
|
32
38
|
const kindHandler = createKind(`@${namespace}/${name}`);
|
package/dist/common/loop.cjs
CHANGED
package/dist/common/loop.d.ts
CHANGED
|
@@ -11,5 +11,31 @@ export interface LoopParams<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
|
+
* The loop() function runs a loop controlled via the next and exit callbacks. Each iteration receives the counter and the previous output to drive the flow.
|
|
16
|
+
*
|
|
17
|
+
* Signature: `loop(from, theFunction)` → returns a value
|
|
18
|
+
*
|
|
19
|
+
* The input value is not mutated.
|
|
20
|
+
*
|
|
21
|
+
* ```ts
|
|
22
|
+
* const result = loop<number, number>(
|
|
23
|
+
* ({ previousOutput, next, exit }) => {
|
|
24
|
+
* const current = (previousOutput ?? 0) + 1;
|
|
25
|
+
* if (current >= 5) {
|
|
26
|
+
* return exit(current);
|
|
27
|
+
* }
|
|
28
|
+
*
|
|
29
|
+
* return next(current);
|
|
30
|
+
* },
|
|
31
|
+
* );
|
|
32
|
+
* // result: 5
|
|
33
|
+
* ```
|
|
34
|
+
*
|
|
35
|
+
* @see https://utils.duplojs.dev/en/v1/api/common/loop
|
|
36
|
+
*
|
|
37
|
+
* @namespace C
|
|
38
|
+
*
|
|
39
|
+
*/
|
|
14
40
|
export declare function loop<GenericRawExitOutput extends AnyValue = undefined, GenericRawNextOutput extends AnyValue = undefined>(loop: (params: LoopParams<GenericRawNextOutput>) => LoopOutputNextResult<GenericRawNextOutput> | LoopOutputExistResult<GenericRawExitOutput>): GenericRawExitOutput;
|
|
15
41
|
export {};
|
package/dist/common/loop.mjs
CHANGED
package/dist/common/memo.cjs
CHANGED
package/dist/common/memo.d.ts
CHANGED
|
@@ -2,4 +2,29 @@ import { type AnyValue } from "./types";
|
|
|
2
2
|
export interface Memoized<GenericValue extends unknown> {
|
|
3
3
|
readonly value: GenericValue;
|
|
4
4
|
}
|
|
5
|
+
/**
|
|
6
|
+
* The memo() function evaluates a function only once then memorizes the result. Subsequent calls return the same value without recalculation.
|
|
7
|
+
*
|
|
8
|
+
* Signature: `memo(theFunction)` → returns a value
|
|
9
|
+
*
|
|
10
|
+
* The input value is not mutated.
|
|
11
|
+
*
|
|
12
|
+
* ```ts
|
|
13
|
+
* let calls = 0;
|
|
14
|
+
* const expensive = memo(() => {
|
|
15
|
+
* calls += 1;
|
|
16
|
+
* return "cached";
|
|
17
|
+
* });
|
|
18
|
+
*
|
|
19
|
+
* const first = expensive.value;
|
|
20
|
+
* // "cached", calls = 1
|
|
21
|
+
* const second = expensive.value;
|
|
22
|
+
* // "cached", calls = 1 (no recompute)
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* @see https://utils.duplojs.dev/en/v1/api/common/memo
|
|
26
|
+
*
|
|
27
|
+
* @namespace C
|
|
28
|
+
*
|
|
29
|
+
*/
|
|
5
30
|
export declare function memo<GenericOutput extends AnyValue>(theFunction: () => GenericOutput): Memoized<GenericOutput>;
|
package/dist/common/memo.mjs
CHANGED
package/dist/common/or.d.ts
CHANGED
|
@@ -3,6 +3,47 @@ type ExtractPredicate<GenericPredicatedInput extends readonly AnyFunction<any[],
|
|
|
3
3
|
(input: any, ...args: any[]) => input is infer InferredPredicate,
|
|
4
4
|
...infer InferredRest extends readonly AnyPredicate[]
|
|
5
5
|
] ? InferredRest extends readonly [] ? InferredPredicate : ExtractPredicate<InferredRest> extends infer InferredResult ? IsEqual<InferredResult, never> extends true ? never : InferredPredicate | InferredResult : never : never;
|
|
6
|
+
/**
|
|
7
|
+
* The or() function combines several predicates or type guards: if at least one passes, the result is true and the type is narrowed to the union of accepted cases.
|
|
8
|
+
*
|
|
9
|
+
* **Supported call styles:**
|
|
10
|
+
* - Classic: `or(input, predicates)` → returns a value
|
|
11
|
+
* - Curried: `or(predicates)` → returns a function waiting for the input
|
|
12
|
+
* - Classic predicate: `or(input, predicates)` → narrows the input type
|
|
13
|
+
* - Curried predicate: `or(predicates)` → narrows the input type
|
|
14
|
+
*
|
|
15
|
+
* Predicate overloads (type guards) narrow the output type.
|
|
16
|
+
*
|
|
17
|
+
* ```ts
|
|
18
|
+
* type Input = "click" | "hover" | "keydown";
|
|
19
|
+
*
|
|
20
|
+
* const input = "hover" as Input;
|
|
21
|
+
*
|
|
22
|
+
* if (or(input, [
|
|
23
|
+
* equal("click"),
|
|
24
|
+
* equal("hover"),
|
|
25
|
+
* ])) {
|
|
26
|
+
* // type: "click" | "hover"
|
|
27
|
+
* }
|
|
28
|
+
*
|
|
29
|
+
* const result = pipe(
|
|
30
|
+
* input,
|
|
31
|
+
* when(
|
|
32
|
+
* or([
|
|
33
|
+
* equal("click"),
|
|
34
|
+
* equal("hover"),
|
|
35
|
+
* ]),
|
|
36
|
+
* () => "handled",
|
|
37
|
+
* ),
|
|
38
|
+
* );
|
|
39
|
+
* // result: "handled"
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* @see https://utils.duplojs.dev/en/v1/api/common/or
|
|
43
|
+
*
|
|
44
|
+
* @namespace C
|
|
45
|
+
*
|
|
46
|
+
*/
|
|
6
47
|
export declare function or<GenericInput extends unknown, const GenericArrayPredicatedInput extends readonly [
|
|
7
48
|
(input: GenericInput) => input is any,
|
|
8
49
|
(input: GenericInput) => input is any,
|
package/dist/common/override.cjs
CHANGED
|
@@ -4,6 +4,9 @@ var globalStore = require('./globalStore.cjs');
|
|
|
4
4
|
|
|
5
5
|
const SymbolOverrideStore = Symbol.for("@duplojs/utils/override");
|
|
6
6
|
const overrideStore = globalStore.createGlobalStore(SymbolOverrideStore, {});
|
|
7
|
+
/**
|
|
8
|
+
* {@include common/override/index.md}
|
|
9
|
+
*/
|
|
7
10
|
function createOverride(overrideName) {
|
|
8
11
|
const overridePropertiesStore = overrideStore.value[overrideName] ?? {};
|
|
9
12
|
overrideStore.value[overrideName] ||= overridePropertiesStore;
|
|
@@ -11,5 +11,50 @@ export interface OverrideHandler<GenericInterface extends object> {
|
|
|
11
11
|
setPropertyDefaultValue<GenericProperty extends Exclude<keyof GenericInterface, DObject.GetPropsWithValueExtends<GenericInterface, AnyFunction>>>(prop: GenericProperty, value: Adaptor<GenericInterface[GenericProperty], AnyValue>): void;
|
|
12
12
|
apply(overrideInterface: GenericInterface): GenericInterface;
|
|
13
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* The createOverride() function lets you register changes (default values and/or methods) that will be applied when creating an object.
|
|
16
|
+
*
|
|
17
|
+
* Signature: `createOverride(overrideName)` → returns a value
|
|
18
|
+
*
|
|
19
|
+
* The input value is not mutated.
|
|
20
|
+
*
|
|
21
|
+
* ```ts
|
|
22
|
+
* interface Service {
|
|
23
|
+
* readonly prefix: string;
|
|
24
|
+
* greet(name: string): string;
|
|
25
|
+
* }
|
|
26
|
+
*
|
|
27
|
+
* function createService(prefix: string): Service {
|
|
28
|
+
* const self: Service = {
|
|
29
|
+
* prefix,
|
|
30
|
+
* greet: (name) => `${prefix} ${name}`,
|
|
31
|
+
* };
|
|
32
|
+
*
|
|
33
|
+
* return createService.overrideHandler.apply(self);
|
|
34
|
+
* }
|
|
35
|
+
*
|
|
36
|
+
* createService.overrideHandler = createOverride<Service>(
|
|
37
|
+
* "@duplojs/utils/docs/service",
|
|
38
|
+
* );
|
|
39
|
+
*
|
|
40
|
+
* const base = createService("Hello");
|
|
41
|
+
* base.greet("Ada");
|
|
42
|
+
* // "Hello Ada"
|
|
43
|
+
*
|
|
44
|
+
* // "Plugin": modifie ce qui sera appliqué à la création
|
|
45
|
+
* createService.overrideHandler.setPropertyDefaultValue("prefix", "Hi");
|
|
46
|
+
* createService.overrideHandler.setMethod("greet", (self, name) => `${self.prefix} ${name.toUpperCase()}`);
|
|
47
|
+
*
|
|
48
|
+
* const overridden = createService("Hello");
|
|
49
|
+
* // prefix override + greet override
|
|
50
|
+
* overridden.greet("Ada");
|
|
51
|
+
* // "Hi ADA"
|
|
52
|
+
* ```
|
|
53
|
+
*
|
|
54
|
+
* @see https://utils.duplojs.dev/en/v1/api/common/override
|
|
55
|
+
*
|
|
56
|
+
* @namespace C
|
|
57
|
+
*
|
|
58
|
+
*/
|
|
14
59
|
export declare function createOverride<GenericInterface extends object>(overrideName: string): OverrideHandler<GenericInterface>;
|
|
15
60
|
export {};
|