@duplojs/utils 1.4.32 → 1.4.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/array/at/default.d.ts +32 -0
- package/dist/array/at/first.cjs +3 -0
- package/dist/array/at/first.d.ts +25 -0
- package/dist/array/at/first.mjs +3 -0
- package/dist/array/at/last.cjs +3 -0
- package/dist/array/at/last.d.ts +25 -0
- package/dist/array/at/last.mjs +3 -0
- package/dist/array/chunk.d.ts +27 -0
- package/dist/array/coalescing.cjs +3 -0
- package/dist/array/coalescing.d.ts +22 -0
- package/dist/array/coalescing.mjs +3 -0
- package/dist/array/concat.d.ts +28 -0
- package/dist/array/copyWithin.d.ts +31 -0
- package/dist/array/every.d.ts +37 -0
- package/dist/array/fill/all.d.ts +36 -0
- package/dist/array/fill/default.d.ts +36 -0
- package/dist/array/filter.d.ts +33 -0
- package/dist/array/find.d.ts +34 -0
- package/dist/array/findAndReplace.d.ts +40 -0
- package/dist/array/findAndSplice/delete.d.ts +40 -0
- package/dist/array/findAndSplice/insert.d.ts +40 -0
- package/dist/array/findAndSplice/replace.d.ts +40 -0
- package/dist/array/findIndex.d.ts +37 -0
- package/dist/array/findLast.d.ts +39 -0
- package/dist/array/findLastIndex.d.ts +37 -0
- package/dist/array/flat.d.ts +32 -0
- package/dist/array/flatMap.d.ts +37 -0
- package/dist/array/from.cjs +3 -0
- package/dist/array/from.d.ts +33 -0
- package/dist/array/from.mjs +3 -0
- package/dist/array/group.d.ts +67 -0
- package/dist/array/includes.d.ts +40 -0
- package/dist/array/index.cjs +3 -1
- package/dist/array/index.d.ts +27 -0
- package/dist/array/index.mjs +4 -0
- package/dist/array/indexOf.d.ts +38 -0
- package/dist/array/insert.d.ts +34 -0
- package/dist/array/is.cjs +3 -0
- package/dist/array/is.d.ts +25 -0
- package/dist/array/is.mjs +3 -0
- package/dist/array/isLastIndex.d.ts +28 -0
- package/dist/array/join.d.ts +35 -0
- package/dist/array/lastIndexOf.d.ts +37 -0
- package/dist/array/length.cjs +3 -0
- package/dist/array/length.d.ts +24 -0
- package/dist/array/length.mjs +3 -0
- package/dist/array/lengthEqual.d.ts +44 -0
- package/dist/array/map.d.ts +33 -0
- package/dist/array/maxElements.d.ts +33 -0
- package/dist/array/maxOf.cjs +3 -0
- package/dist/array/maxOf.d.ts +28 -0
- package/dist/array/maxOf.mjs +3 -0
- package/dist/array/minElements.d.ts +47 -0
- package/dist/array/minOf.cjs +3 -0
- package/dist/array/minOf.d.ts +28 -0
- package/dist/array/minOf.mjs +3 -0
- package/dist/array/notIncludes.d.ts +41 -0
- package/dist/array/pop.cjs +3 -0
- package/dist/array/pop.d.ts +31 -0
- package/dist/array/pop.mjs +3 -0
- package/dist/array/push.d.ts +38 -0
- package/dist/array/reduce.cjs +3 -0
- package/dist/array/reduce.d.ts +74 -0
- package/dist/array/reduce.mjs +3 -0
- package/dist/array/reduceRight.d.ts +39 -0
- package/dist/array/reverse.cjs +3 -0
- package/dist/array/reverse.d.ts +31 -0
- package/dist/array/reverse.mjs +3 -0
- package/dist/array/select.d.ts +39 -0
- package/dist/array/set.d.ts +39 -0
- package/dist/array/shift.cjs +3 -0
- package/dist/array/shift.d.ts +31 -0
- package/dist/array/shift.mjs +3 -0
- package/dist/array/slice.d.ts +36 -0
- package/dist/array/some.d.ts +44 -0
- package/dist/array/sort.d.ts +29 -0
- package/dist/array/splice/delete.d.ts +32 -0
- package/dist/array/splice/insert.d.ts +39 -0
- package/dist/array/splice/replace.d.ts +39 -0
- package/dist/array/sum.cjs +3 -0
- package/dist/array/sum.d.ts +22 -0
- package/dist/array/sum.mjs +3 -0
- package/dist/array/toTuple.d.ts +33 -0
- package/dist/array/unshift.d.ts +38 -0
- package/dist/clean/constraint/base.cjs +3 -0
- package/dist/clean/constraint/base.d.ts +106 -0
- package/dist/clean/constraint/base.mjs +3 -0
- package/dist/clean/constraint/defaultConstraint/number.cjs +9 -0
- package/dist/clean/constraint/defaultConstraint/number.d.ts +81 -0
- package/dist/clean/constraint/defaultConstraint/number.mjs +9 -0
- package/dist/clean/constraint/defaultConstraint/string.cjs +6 -0
- package/dist/clean/constraint/defaultConstraint/string.d.ts +54 -0
- package/dist/clean/constraint/defaultConstraint/string.mjs +6 -0
- package/dist/clean/entity.cjs +3 -0
- package/dist/clean/entity.d.ts +141 -0
- package/dist/clean/entity.mjs +3 -0
- package/dist/clean/flag.cjs +3 -0
- package/dist/clean/flag.d.ts +96 -0
- package/dist/clean/flag.mjs +3 -0
- package/dist/clean/index.cjs +3 -1
- package/dist/clean/index.d.ts +25 -0
- package/dist/clean/index.mjs +4 -0
- package/dist/clean/kind.cjs +3 -0
- package/dist/clean/kind.d.ts +33 -0
- package/dist/clean/kind.mjs +3 -0
- package/dist/clean/newType.cjs +3 -0
- package/dist/clean/newType.d.ts +106 -0
- package/dist/clean/newType.mjs +3 -0
- package/dist/clean/primitive/base.cjs +18 -0
- package/dist/clean/primitive/base.d.ts +242 -0
- package/dist/clean/primitive/base.mjs +18 -0
- package/dist/clean/primitive/operations/date/dateAddTime.d.ts +35 -0
- package/dist/clean/primitive/operations/date/dateGreaterThan.d.ts +24 -0
- package/dist/clean/primitive/operations/date/dateLessThan.d.ts +24 -0
- package/dist/clean/primitive/operations/date/dateMax.cjs +3 -0
- package/dist/clean/primitive/operations/date/dateMax.d.ts +36 -0
- package/dist/clean/primitive/operations/date/dateMax.mjs +3 -0
- package/dist/clean/primitive/operations/date/dateMin.cjs +3 -0
- package/dist/clean/primitive/operations/date/dateMin.d.ts +36 -0
- package/dist/clean/primitive/operations/date/dateMin.mjs +3 -0
- package/dist/clean/primitive/operations/date/dateSubtractTime.d.ts +35 -0
- package/dist/clean/primitive/operations/equal.d.ts +34 -0
- package/dist/clean/primitive/operations/number/add.d.ts +34 -0
- package/dist/clean/primitive/operations/number/divide.d.ts +34 -0
- package/dist/clean/primitive/operations/number/greaterThan.d.ts +25 -0
- package/dist/clean/primitive/operations/number/lessThan.d.ts +25 -0
- package/dist/clean/primitive/operations/number/max.cjs +3 -0
- package/dist/clean/primitive/operations/number/max.d.ts +33 -0
- package/dist/clean/primitive/operations/number/max.mjs +3 -0
- package/dist/clean/primitive/operations/number/min.cjs +3 -0
- package/dist/clean/primitive/operations/number/min.d.ts +33 -0
- package/dist/clean/primitive/operations/number/min.mjs +3 -0
- package/dist/clean/primitive/operations/number/multiply.d.ts +34 -0
- package/dist/clean/primitive/operations/number/subtract.d.ts +34 -0
- package/dist/clean/primitive/operations/sort.d.ts +38 -0
- package/dist/clean/primitive/operations/string/concat.d.ts +35 -0
- package/dist/clean/primitive/operations/string/length.cjs +3 -0
- package/dist/clean/primitive/operations/string/length.d.ts +27 -0
- package/dist/clean/primitive/operations/string/length.mjs +3 -0
- package/dist/clean/primitive/operations/string/lengthEqual.d.ts +25 -0
- package/dist/clean/primitive/operations/string/lengthGreaterThan.d.ts +25 -0
- package/dist/clean/primitive/operations/string/lengthLessThan.d.ts +25 -0
- package/dist/clean/primitive/operations/time/timeGreaterThan.d.ts +24 -0
- package/dist/clean/primitive/operations/time/timeLessThan.d.ts +24 -0
- package/dist/clean/primitive/operations/time/timeMax.cjs +3 -0
- package/dist/clean/primitive/operations/time/timeMax.d.ts +36 -0
- package/dist/clean/primitive/operations/time/timeMax.mjs +3 -0
- package/dist/clean/primitive/operations/time/timeMin.cjs +3 -0
- package/dist/clean/primitive/operations/time/timeMin.d.ts +36 -0
- package/dist/clean/primitive/operations/time/timeMin.mjs +3 -0
- package/dist/clean/repository.cjs +3 -0
- package/dist/clean/repository.d.ts +87 -0
- package/dist/clean/repository.mjs +3 -0
- package/dist/clean/useCase.cjs +6 -0
- package/dist/clean/useCase.d.ts +140 -0
- package/dist/clean/useCase.mjs +6 -0
- package/dist/common/addWrappedProperties.cjs +3 -0
- package/dist/common/addWrappedProperties.d.ts +12 -0
- package/dist/common/addWrappedProperties.mjs +3 -0
- package/dist/common/and.d.ts +53 -0
- package/dist/common/asyncInnerPipe.d.ts +49 -0
- package/dist/common/asyncLoop.cjs +3 -0
- package/dist/common/asyncLoop.d.ts +29 -0
- package/dist/common/asyncLoop.mjs +3 -0
- package/dist/common/asyncPipe.cjs +3 -0
- package/dist/common/asyncPipe.d.ts +35 -0
- package/dist/common/asyncPipe.mjs +3 -0
- package/dist/common/asyncRetry.cjs +6 -0
- package/dist/common/asyncRetry.d.ts +64 -0
- package/dist/common/asyncRetry.mjs +6 -0
- package/dist/common/builder.cjs +3 -0
- package/dist/common/builder.d.ts +88 -0
- package/dist/common/builder.mjs +3 -0
- package/dist/common/clone.cjs +3 -0
- package/dist/common/clone.d.ts +12 -0
- package/dist/common/clone.mjs +3 -0
- package/dist/common/enum.cjs +3 -0
- package/dist/common/enum.d.ts +34 -0
- package/dist/common/enum.mjs +3 -0
- package/dist/common/equal.d.ts +38 -0
- package/dist/common/escapeRegExp.cjs +3 -0
- package/dist/common/escapeRegExp.d.ts +20 -0
- package/dist/common/escapeRegExp.mjs +3 -0
- package/dist/common/externalPromise.cjs +3 -0
- package/dist/common/externalPromise.d.ts +20 -0
- package/dist/common/externalPromise.mjs +3 -0
- package/dist/common/falsy.cjs +3 -0
- package/dist/common/falsy.d.ts +27 -0
- package/dist/common/falsy.mjs +3 -0
- package/dist/common/forward.cjs +3 -0
- package/dist/common/forward.d.ts +23 -0
- package/dist/common/forward.mjs +3 -0
- package/dist/common/forwardLog.cjs +3 -0
- package/dist/common/forwardLog.d.ts +28 -0
- package/dist/common/forwardLog.mjs +3 -0
- package/dist/common/globalStore.cjs +3 -0
- package/dist/common/globalStore.d.ts +12 -0
- package/dist/common/globalStore.mjs +3 -0
- package/dist/common/hasKinds.d.ts +39 -0
- package/dist/common/hasSomeKinds.d.ts +39 -0
- package/dist/common/index.d.ts +27 -0
- package/dist/common/innerPipe.d.ts +35 -0
- package/dist/common/instanceOf.d.ts +33 -0
- package/dist/common/isType.d.ts +35 -0
- package/dist/common/justReturn.d.ts +43 -0
- package/dist/common/kind.cjs +6 -0
- package/dist/common/kind.d.ts +94 -0
- package/dist/common/kind.mjs +6 -0
- package/dist/common/loop.cjs +3 -0
- package/dist/common/loop.d.ts +26 -0
- package/dist/common/loop.mjs +3 -0
- package/dist/common/memo.cjs +3 -0
- package/dist/common/memo.d.ts +25 -0
- package/dist/common/memo.mjs +3 -0
- package/dist/common/or.d.ts +41 -0
- package/dist/common/override.cjs +3 -0
- package/dist/common/override.d.ts +45 -0
- package/dist/common/override.mjs +3 -0
- package/dist/common/pipe.d.ts +29 -0
- package/dist/common/promiseObject.cjs +3 -0
- package/dist/common/promiseObject.d.ts +26 -0
- package/dist/common/promiseObject.mjs +3 -0
- package/dist/common/simpleClone.cjs +3 -0
- package/dist/common/simpleClone.d.ts +23 -0
- package/dist/common/simpleClone.mjs +3 -0
- package/dist/common/sleep.cjs +3 -0
- package/dist/common/sleep.d.ts +21 -0
- package/dist/common/sleep.mjs +3 -0
- package/dist/common/stringToBytes.cjs +3 -0
- package/dist/common/stringToBytes.d.ts +17 -0
- package/dist/common/stringToBytes.mjs +3 -0
- package/dist/common/stringToMillisecond.cjs +3 -0
- package/dist/common/stringToMillisecond.d.ts +17 -0
- package/dist/common/stringToMillisecond.mjs +3 -0
- package/dist/common/toJSON.cjs +3 -0
- package/dist/common/toJSON.d.ts +35 -0
- package/dist/common/toJSON.mjs +3 -0
- package/dist/common/toString.cjs +3 -0
- package/dist/common/toString.d.ts +18 -0
- package/dist/common/toString.mjs +3 -0
- package/dist/common/toTransform.cjs +3 -0
- package/dist/common/toTransform.d.ts +41 -0
- package/dist/common/toTransform.mjs +3 -0
- package/dist/common/toWrappedValue.cjs +3 -0
- package/dist/common/toWrappedValue.d.ts +22 -0
- package/dist/common/toWrappedValue.mjs +3 -0
- package/dist/common/truthy.cjs +3 -0
- package/dist/common/truthy.d.ts +27 -0
- package/dist/common/truthy.mjs +3 -0
- package/dist/common/unwrap.d.ts +22 -0
- package/dist/common/when.d.ts +40 -0
- package/dist/common/whenElse.d.ts +42 -0
- package/dist/common/whenNot.d.ts +40 -0
- package/dist/common/wrapValue.cjs +9 -0
- package/dist/common/wrapValue.d.ts +55 -0
- package/dist/common/wrapValue.mjs +9 -0
- package/dist/dataParser/base.d.ts +104 -0
- package/dist/dataParser/baseExtended.d.ts +333 -0
- package/dist/dataParser/extended/array.cjs +3 -0
- package/dist/dataParser/extended/array.d.ts +84 -0
- package/dist/dataParser/extended/array.mjs +3 -0
- package/dist/dataParser/extended/bigint.cjs +3 -0
- package/dist/dataParser/extended/bigint.d.ts +84 -0
- package/dist/dataParser/extended/bigint.mjs +3 -0
- package/dist/dataParser/extended/boolean.cjs +3 -0
- package/dist/dataParser/extended/boolean.d.ts +28 -0
- package/dist/dataParser/extended/boolean.mjs +3 -0
- package/dist/dataParser/extended/date.cjs +3 -0
- package/dist/dataParser/extended/date.d.ts +28 -0
- package/dist/dataParser/extended/date.mjs +3 -0
- package/dist/dataParser/extended/empty.cjs +3 -0
- package/dist/dataParser/extended/empty.d.ts +27 -0
- package/dist/dataParser/extended/empty.mjs +3 -0
- package/dist/dataParser/extended/lazy.cjs +3 -0
- package/dist/dataParser/extended/lazy.d.ts +38 -0
- package/dist/dataParser/extended/lazy.mjs +3 -0
- package/dist/dataParser/extended/literal.cjs +3 -0
- package/dist/dataParser/extended/literal.d.ts +28 -0
- package/dist/dataParser/extended/literal.mjs +3 -0
- package/dist/dataParser/extended/nil.cjs +3 -0
- package/dist/dataParser/extended/nil.d.ts +28 -0
- package/dist/dataParser/extended/nil.mjs +3 -0
- package/dist/dataParser/extended/nullable.cjs +3 -0
- package/dist/dataParser/extended/nullable.d.ts +28 -0
- package/dist/dataParser/extended/nullable.mjs +3 -0
- package/dist/dataParser/extended/number.cjs +6 -0
- package/dist/dataParser/extended/number.d.ts +143 -0
- package/dist/dataParser/extended/number.mjs +6 -0
- package/dist/dataParser/extended/object.cjs +3 -0
- package/dist/dataParser/extended/object.d.ts +243 -0
- package/dist/dataParser/extended/object.mjs +3 -0
- package/dist/dataParser/extended/optional.cjs +3 -0
- package/dist/dataParser/extended/optional.d.ts +28 -0
- package/dist/dataParser/extended/optional.mjs +3 -0
- package/dist/dataParser/extended/pipe.cjs +3 -0
- package/dist/dataParser/extended/pipe.d.ts +28 -0
- package/dist/dataParser/extended/pipe.mjs +3 -0
- package/dist/dataParser/extended/record.cjs +3 -0
- package/dist/dataParser/extended/record.d.ts +38 -0
- package/dist/dataParser/extended/record.mjs +3 -0
- package/dist/dataParser/extended/recover.cjs +3 -0
- package/dist/dataParser/extended/recover.d.ts +27 -0
- package/dist/dataParser/extended/recover.mjs +3 -0
- package/dist/dataParser/extended/string.cjs +9 -0
- package/dist/dataParser/extended/string.d.ts +162 -0
- package/dist/dataParser/extended/string.mjs +9 -0
- package/dist/dataParser/extended/templateLiteral.cjs +3 -0
- package/dist/dataParser/extended/templateLiteral.d.ts +28 -0
- package/dist/dataParser/extended/templateLiteral.mjs +3 -0
- package/dist/dataParser/extended/time.cjs +3 -0
- package/dist/dataParser/extended/time.d.ts +84 -0
- package/dist/dataParser/extended/time.mjs +3 -0
- package/dist/dataParser/extended/transform.cjs +3 -0
- package/dist/dataParser/extended/transform.d.ts +28 -0
- package/dist/dataParser/extended/transform.mjs +3 -0
- package/dist/dataParser/extended/tuple.cjs +3 -0
- package/dist/dataParser/extended/tuple.d.ts +28 -0
- package/dist/dataParser/extended/tuple.mjs +3 -0
- package/dist/dataParser/extended/union.cjs +3 -0
- package/dist/dataParser/extended/union.d.ts +28 -0
- package/dist/dataParser/extended/union.mjs +3 -0
- package/dist/dataParser/extended/unknown.cjs +3 -0
- package/dist/dataParser/extended/unknown.d.ts +26 -0
- package/dist/dataParser/extended/unknown.mjs +3 -0
- package/dist/dataParser/parsers/array/index.cjs +3 -0
- package/dist/dataParser/parsers/array/index.d.ts +30 -0
- package/dist/dataParser/parsers/array/index.mjs +3 -0
- package/dist/dataParser/parsers/bigint/index.cjs +3 -0
- package/dist/dataParser/parsers/bigint/index.d.ts +30 -0
- package/dist/dataParser/parsers/bigint/index.mjs +3 -0
- package/dist/dataParser/parsers/boolean.cjs +3 -0
- package/dist/dataParser/parsers/boolean.d.ts +30 -0
- package/dist/dataParser/parsers/boolean.mjs +3 -0
- package/dist/dataParser/parsers/date.cjs +3 -0
- package/dist/dataParser/parsers/date.d.ts +30 -0
- package/dist/dataParser/parsers/date.mjs +3 -0
- package/dist/dataParser/parsers/empty.cjs +3 -0
- package/dist/dataParser/parsers/empty.d.ts +29 -0
- package/dist/dataParser/parsers/empty.mjs +3 -0
- package/dist/dataParser/parsers/lazy.cjs +3 -0
- package/dist/dataParser/parsers/lazy.d.ts +39 -0
- package/dist/dataParser/parsers/lazy.mjs +3 -0
- package/dist/dataParser/parsers/literal.cjs +3 -0
- package/dist/dataParser/parsers/literal.d.ts +29 -0
- package/dist/dataParser/parsers/literal.mjs +3 -0
- package/dist/dataParser/parsers/nil.cjs +3 -0
- package/dist/dataParser/parsers/nil.d.ts +30 -0
- package/dist/dataParser/parsers/nil.mjs +3 -0
- package/dist/dataParser/parsers/nullable.cjs +3 -0
- package/dist/dataParser/parsers/nullable.d.ts +30 -0
- package/dist/dataParser/parsers/nullable.mjs +3 -0
- package/dist/dataParser/parsers/number/index.cjs +3 -0
- package/dist/dataParser/parsers/number/index.d.ts +30 -0
- package/dist/dataParser/parsers/number/index.mjs +3 -0
- package/dist/dataParser/parsers/object/extends.cjs +3 -0
- package/dist/dataParser/parsers/object/extends.d.ts +50 -0
- package/dist/dataParser/parsers/object/extends.mjs +3 -0
- package/dist/dataParser/parsers/object/index.cjs +3 -0
- package/dist/dataParser/parsers/object/index.d.ts +39 -0
- package/dist/dataParser/parsers/object/index.mjs +3 -0
- package/dist/dataParser/parsers/object/omit.cjs +3 -0
- package/dist/dataParser/parsers/object/omit.d.ts +38 -0
- package/dist/dataParser/parsers/object/omit.mjs +3 -0
- package/dist/dataParser/parsers/object/partial.cjs +3 -0
- package/dist/dataParser/parsers/object/partial.d.ts +28 -0
- package/dist/dataParser/parsers/object/partial.mjs +3 -0
- package/dist/dataParser/parsers/object/pick.cjs +3 -0
- package/dist/dataParser/parsers/object/pick.d.ts +35 -0
- package/dist/dataParser/parsers/object/pick.mjs +3 -0
- package/dist/dataParser/parsers/object/required.cjs +3 -0
- package/dist/dataParser/parsers/object/required.d.ts +37 -0
- package/dist/dataParser/parsers/object/required.mjs +3 -0
- package/dist/dataParser/parsers/optional.cjs +3 -0
- package/dist/dataParser/parsers/optional.d.ts +30 -0
- package/dist/dataParser/parsers/optional.mjs +3 -0
- package/dist/dataParser/parsers/pipe.cjs +3 -0
- package/dist/dataParser/parsers/pipe.d.ts +31 -0
- package/dist/dataParser/parsers/pipe.mjs +3 -0
- package/dist/dataParser/parsers/record/index.cjs +3 -0
- package/dist/dataParser/parsers/record/index.d.ts +37 -0
- package/dist/dataParser/parsers/record/index.mjs +3 -0
- package/dist/dataParser/parsers/recover.cjs +3 -0
- package/dist/dataParser/parsers/recover.d.ts +30 -0
- package/dist/dataParser/parsers/recover.mjs +3 -0
- package/dist/dataParser/parsers/string/index.cjs +3 -0
- package/dist/dataParser/parsers/string/index.d.ts +30 -0
- package/dist/dataParser/parsers/string/index.mjs +3 -0
- package/dist/dataParser/parsers/templateLiteral/index.cjs +3 -0
- package/dist/dataParser/parsers/templateLiteral/index.d.ts +30 -0
- package/dist/dataParser/parsers/templateLiteral/index.mjs +3 -0
- package/dist/dataParser/parsers/time/index.cjs +3 -0
- package/dist/dataParser/parsers/time/index.d.ts +30 -0
- package/dist/dataParser/parsers/time/index.mjs +3 -0
- package/dist/dataParser/parsers/transform.cjs +3 -0
- package/dist/dataParser/parsers/transform.d.ts +29 -0
- package/dist/dataParser/parsers/transform.mjs +3 -0
- package/dist/dataParser/parsers/tuple.cjs +3 -0
- package/dist/dataParser/parsers/tuple.d.ts +26 -0
- package/dist/dataParser/parsers/tuple.mjs +3 -0
- package/dist/dataParser/parsers/union.cjs +3 -0
- package/dist/dataParser/parsers/union.d.ts +31 -0
- package/dist/dataParser/parsers/union.mjs +3 -0
- package/dist/dataParser/parsers/unknown.cjs +3 -0
- package/dist/dataParser/parsers/unknown.d.ts +30 -0
- package/dist/dataParser/parsers/unknown.mjs +3 -0
- package/dist/date/applyTimezone.d.ts +29 -0
- package/dist/date/closestTo.d.ts +35 -0
- package/dist/date/create.d.ts +52 -0
- package/dist/date/createOrThrow.d.ts +35 -0
- package/dist/date/createTheDate.cjs +3 -0
- package/dist/date/createTheDate.d.ts +26 -0
- package/dist/date/createTheDate.mjs +3 -0
- package/dist/date/createTheTime.cjs +3 -0
- package/dist/date/createTheTime.d.ts +23 -0
- package/dist/date/createTheTime.mjs +3 -0
- package/dist/date/createTime.d.ts +37 -0
- package/dist/date/createTimeOrThrow.cjs +3 -0
- package/dist/date/createTimeOrThrow.d.ts +35 -0
- package/dist/date/createTimeOrThrow.mjs +3 -0
- package/dist/date/each.cjs +3 -0
- package/dist/date/each.d.ts +32 -0
- package/dist/date/each.mjs +3 -0
- package/dist/date/format.cjs +2 -1
- package/dist/date/format.d.ts +29 -0
- package/dist/date/format.mjs +2 -1
- package/dist/date/formatTime.cjs +38 -0
- package/dist/date/formatTime.d.ts +35 -0
- package/dist/date/formatTime.mjs +36 -0
- package/dist/date/getTimezoneOffset.d.ts +29 -0
- package/dist/date/getters/getDayOfMonth.cjs +3 -0
- package/dist/date/getters/getDayOfMonth.d.ts +29 -0
- package/dist/date/getters/getDayOfMonth.mjs +3 -0
- package/dist/date/getters/getDayOfWeek.cjs +3 -0
- package/dist/date/getters/getDayOfWeek.d.ts +29 -0
- package/dist/date/getters/getDayOfWeek.mjs +3 -0
- package/dist/date/getters/getDayOfYear.cjs +3 -0
- package/dist/date/getters/getDayOfYear.d.ts +26 -0
- package/dist/date/getters/getDayOfYear.mjs +3 -0
- package/dist/date/getters/getFirstDayOfMonth.cjs +3 -0
- package/dist/date/getters/getFirstDayOfMonth.d.ts +24 -0
- package/dist/date/getters/getFirstDayOfMonth.mjs +3 -0
- package/dist/date/getters/getFirstDayOfWeek.cjs +3 -0
- package/dist/date/getters/getFirstDayOfWeek.d.ts +24 -0
- package/dist/date/getters/getFirstDayOfWeek.mjs +3 -0
- package/dist/date/getters/getHour.cjs +3 -0
- package/dist/date/getters/getHour.d.ts +29 -0
- package/dist/date/getters/getHour.mjs +3 -0
- package/dist/date/getters/getLastDayOfMonth.cjs +3 -0
- package/dist/date/getters/getLastDayOfMonth.d.ts +24 -0
- package/dist/date/getters/getLastDayOfMonth.mjs +3 -0
- package/dist/date/getters/getLastDayOfWeek.cjs +3 -0
- package/dist/date/getters/getLastDayOfWeek.d.ts +24 -0
- package/dist/date/getters/getLastDayOfWeek.mjs +3 -0
- package/dist/date/getters/getMilliseconds.cjs +3 -0
- package/dist/date/getters/getMilliseconds.d.ts +29 -0
- package/dist/date/getters/getMilliseconds.mjs +3 -0
- package/dist/date/getters/getMinute.cjs +3 -0
- package/dist/date/getters/getMinute.d.ts +29 -0
- package/dist/date/getters/getMinute.mjs +3 -0
- package/dist/date/getters/getMonth.cjs +3 -0
- package/dist/date/getters/getMonth.d.ts +29 -0
- package/dist/date/getters/getMonth.mjs +3 -0
- package/dist/date/getters/getSecond.cjs +3 -0
- package/dist/date/getters/getSecond.d.ts +29 -0
- package/dist/date/getters/getSecond.mjs +3 -0
- package/dist/date/getters/getWeekOfYear.cjs +3 -0
- package/dist/date/getters/getWeekOfYear.d.ts +26 -0
- package/dist/date/getters/getWeekOfYear.mjs +3 -0
- package/dist/date/getters/getYear.cjs +3 -0
- package/dist/date/getters/getYear.d.ts +29 -0
- package/dist/date/getters/getYear.mjs +3 -0
- package/dist/date/index.cjs +7 -1
- package/dist/date/index.d.ts +34 -0
- package/dist/date/index.mjs +6 -0
- package/dist/date/is.cjs +3 -0
- package/dist/date/is.d.ts +30 -0
- package/dist/date/is.mjs +3 -0
- package/dist/date/isSafeTimeValue.cjs +3 -0
- package/dist/date/isSafeTimeValue.d.ts +26 -0
- package/dist/date/isSafeTimeValue.mjs +3 -0
- package/dist/date/isSafeTimestamp.cjs +3 -0
- package/dist/date/isSafeTimestamp.d.ts +31 -0
- package/dist/date/isSafeTimestamp.mjs +3 -0
- package/dist/date/isTime.cjs +3 -0
- package/dist/date/isTime.d.ts +29 -0
- package/dist/date/isTime.mjs +3 -0
- package/dist/date/makeSafeTimeValue.cjs +3 -0
- package/dist/date/makeSafeTimeValue.d.ts +26 -0
- package/dist/date/makeSafeTimeValue.mjs +3 -0
- package/dist/date/makeSafeTimestamp.cjs +3 -0
- package/dist/date/makeSafeTimestamp.d.ts +26 -0
- package/dist/date/makeSafeTimestamp.mjs +3 -0
- package/dist/date/max.cjs +3 -0
- package/dist/date/max.d.ts +24 -0
- package/dist/date/max.mjs +3 -0
- package/dist/date/maxTime.cjs +3 -0
- package/dist/date/maxTime.d.ts +33 -0
- package/dist/date/maxTime.mjs +3 -0
- package/dist/date/min.cjs +3 -0
- package/dist/date/min.d.ts +24 -0
- package/dist/date/min.mjs +3 -0
- package/dist/date/minTime.cjs +3 -0
- package/dist/date/minTime.d.ts +33 -0
- package/dist/date/minTime.mjs +3 -0
- package/dist/date/now.cjs +3 -0
- package/dist/date/now.d.ts +18 -0
- package/dist/date/now.mjs +3 -0
- package/dist/date/operators/addDays.d.ts +26 -0
- package/dist/date/operators/addHours.d.ts +26 -0
- package/dist/date/operators/addMilliseconds.d.ts +26 -0
- package/dist/date/operators/addMinutes.d.ts +26 -0
- package/dist/date/operators/addMonths.d.ts +30 -0
- package/dist/date/operators/addSeconds.d.ts +26 -0
- package/dist/date/operators/addTime.d.ts +31 -0
- package/dist/date/operators/addWeeks.d.ts +26 -0
- package/dist/date/operators/addYears.d.ts +30 -0
- package/dist/date/operators/between.d.ts +32 -0
- package/dist/date/operators/betweenThan.d.ts +32 -0
- package/dist/date/operators/betweenThanTime.d.ts +36 -0
- package/dist/date/operators/betweenTime.d.ts +36 -0
- package/dist/date/operators/greater.d.ts +28 -0
- package/dist/date/operators/greaterThan.d.ts +28 -0
- package/dist/date/operators/greaterThanTime.d.ts +35 -0
- package/dist/date/operators/greaterTime.d.ts +35 -0
- package/dist/date/operators/less.d.ts +28 -0
- package/dist/date/operators/lessThan.d.ts +28 -0
- package/dist/date/operators/lessThanTime.d.ts +35 -0
- package/dist/date/operators/lessTime.d.ts +35 -0
- package/dist/date/operators/subtractDays.d.ts +26 -0
- package/dist/date/operators/subtractHours.d.ts +26 -0
- package/dist/date/operators/subtractMilliseconds.d.ts +26 -0
- package/dist/date/operators/subtractMinutes.d.ts +26 -0
- package/dist/date/operators/subtractMonths.d.ts +26 -0
- package/dist/date/operators/subtractSeconds.d.ts +26 -0
- package/dist/date/operators/subtractTime.d.ts +31 -0
- package/dist/date/operators/subtractWeeks.d.ts +26 -0
- package/dist/date/operators/subtractYears.d.ts +26 -0
- package/dist/date/round.cjs +3 -0
- package/dist/date/round.d.ts +35 -0
- package/dist/date/round.mjs +3 -0
- package/dist/date/sort.d.ts +29 -0
- package/dist/date/sortTimes.d.ts +36 -0
- package/dist/date/toISOString.cjs +3 -0
- package/dist/date/toISOString.d.ts +24 -0
- package/dist/date/toISOString.mjs +3 -0
- package/dist/date/toNative.cjs +3 -0
- package/dist/date/toNative.d.ts +24 -0
- package/dist/date/toNative.mjs +3 -0
- package/dist/date/toTimeValue.cjs +3 -0
- package/dist/date/toTimeValue.d.ts +24 -0
- package/dist/date/toTimeValue.mjs +3 -0
- package/dist/date/toTimestamp.cjs +3 -0
- package/dist/date/toTimestamp.d.ts +24 -0
- package/dist/date/toTimestamp.mjs +3 -0
- package/dist/date/today.cjs +3 -0
- package/dist/date/today.d.ts +18 -0
- package/dist/date/today.mjs +3 -0
- package/dist/date/tomorrow.cjs +3 -0
- package/dist/date/tomorrow.d.ts +18 -0
- package/dist/date/tomorrow.mjs +3 -0
- package/dist/date/types/isLeapYear.d.ts +8 -0
- package/dist/date/types/isSafeYear.d.ts +8 -0
- package/dist/date/types/theDate.d.ts +10 -0
- package/dist/date/types/theTime.d.ts +9 -0
- package/dist/date/yesterday.cjs +3 -0
- package/dist/date/yesterday.d.ts +18 -0
- package/dist/date/yesterday.mjs +3 -0
- package/dist/either/bool/create.d.ts +22 -0
- package/dist/either/bool/falsy.cjs +9 -0
- package/dist/either/bool/falsy.d.ts +69 -0
- package/dist/either/bool/falsy.mjs +9 -0
- package/dist/either/bool/truthy.cjs +9 -0
- package/dist/either/bool/truthy.d.ts +69 -0
- package/dist/either/bool/truthy.mjs +9 -0
- package/dist/either/future/create.cjs +3 -0
- package/dist/either/future/create.d.ts +23 -0
- package/dist/either/future/create.mjs +3 -0
- package/dist/either/future/error.cjs +3 -0
- package/dist/either/future/error.d.ts +18 -0
- package/dist/either/future/error.mjs +3 -0
- package/dist/either/future/success.cjs +3 -0
- package/dist/either/future/success.d.ts +18 -0
- package/dist/either/future/success.mjs +3 -0
- package/dist/either/hasInformation.d.ts +30 -0
- package/dist/either/index.cjs +3 -1
- package/dist/either/index.d.ts +24 -0
- package/dist/either/index.mjs +4 -0
- package/dist/either/left/create.cjs +3 -0
- package/dist/either/left/create.d.ts +29 -0
- package/dist/either/left/create.mjs +3 -0
- package/dist/either/left/error.cjs +3 -0
- package/dist/either/left/error.d.ts +28 -0
- package/dist/either/left/error.mjs +3 -0
- package/dist/either/left/fail.cjs +3 -0
- package/dist/either/left/fail.d.ts +29 -0
- package/dist/either/left/fail.mjs +3 -0
- package/dist/either/left/is.cjs +3 -0
- package/dist/either/left/is.d.ts +22 -0
- package/dist/either/left/is.mjs +3 -0
- package/dist/either/left/when.d.ts +26 -0
- package/dist/either/nullable/create.d.ts +18 -0
- package/dist/either/nullable/empty.cjs +9 -0
- package/dist/either/nullable/empty.d.ts +59 -0
- package/dist/either/nullable/empty.mjs +9 -0
- package/dist/either/nullable/filled.cjs +9 -0
- package/dist/either/nullable/filled.d.ts +61 -0
- package/dist/either/nullable/filled.mjs +9 -0
- package/dist/either/nullish/create.d.ts +20 -0
- package/dist/either/nullish/empty.cjs +9 -0
- package/dist/either/nullish/empty.d.ts +61 -0
- package/dist/either/nullish/empty.mjs +9 -0
- package/dist/either/nullish/filled.cjs +9 -0
- package/dist/either/nullish/filled.d.ts +61 -0
- package/dist/either/nullish/filled.mjs +9 -0
- package/dist/either/optional/create.d.ts +18 -0
- package/dist/either/optional/empty.cjs +9 -0
- package/dist/either/optional/empty.d.ts +59 -0
- package/dist/either/optional/empty.mjs +9 -0
- package/dist/either/optional/filled.cjs +9 -0
- package/dist/either/optional/filled.d.ts +61 -0
- package/dist/either/optional/filled.mjs +9 -0
- package/dist/either/right/asyncGroup.cjs +3 -0
- package/dist/either/right/asyncGroup.d.ts +29 -0
- package/dist/either/right/asyncGroup.mjs +3 -0
- package/dist/either/right/asyncPipe.d.ts +37 -0
- package/dist/either/right/create.cjs +3 -0
- package/dist/either/right/create.d.ts +36 -0
- package/dist/either/right/create.mjs +3 -0
- package/dist/either/right/group.cjs +3 -0
- package/dist/either/right/group.d.ts +26 -0
- package/dist/either/right/group.mjs +3 -0
- package/dist/either/right/is.cjs +3 -0
- package/dist/either/right/is.d.ts +22 -0
- package/dist/either/right/is.mjs +3 -0
- package/dist/either/right/ok.cjs +3 -0
- package/dist/either/right/ok.d.ts +25 -0
- package/dist/either/right/ok.mjs +3 -0
- package/dist/either/right/pipe.d.ts +33 -0
- package/dist/either/right/success.cjs +3 -0
- package/dist/either/right/success.d.ts +28 -0
- package/dist/either/right/success.mjs +3 -0
- package/dist/either/right/when.d.ts +26 -0
- package/dist/either/safeCallback.cjs +3 -0
- package/dist/either/safeCallback.d.ts +26 -0
- package/dist/either/safeCallback.mjs +3 -0
- package/dist/either/whenHasInformation.d.ts +36 -0
- package/dist/generator/asyncChunk.d.ts +34 -0
- package/dist/generator/asyncFilter.d.ts +50 -0
- package/dist/generator/asyncLoop.cjs +3 -0
- package/dist/generator/asyncLoop.d.ts +43 -0
- package/dist/generator/asyncLoop.mjs +3 -0
- package/dist/generator/asyncMap.d.ts +38 -0
- package/dist/generator/asyncReduce.d.ts +34 -0
- package/dist/generator/chunk.d.ts +27 -0
- package/dist/generator/execute.d.ts +33 -0
- package/dist/generator/filter.d.ts +40 -0
- package/dist/generator/index.cjs +3 -1
- package/dist/generator/index.d.ts +26 -0
- package/dist/generator/index.mjs +4 -0
- package/dist/generator/loop.cjs +3 -0
- package/dist/generator/loop.d.ts +35 -0
- package/dist/generator/loop.mjs +3 -0
- package/dist/generator/map.d.ts +35 -0
- package/dist/generator/reduce.cjs +3 -0
- package/dist/generator/reduce.d.ts +60 -0
- package/dist/generator/reduce.mjs +3 -0
- package/dist/metadata.json +9 -0
- package/dist/number/abs.cjs +3 -0
- package/dist/number/abs.d.ts +27 -0
- package/dist/number/abs.mjs +3 -0
- package/dist/number/acos.cjs +3 -0
- package/dist/number/acos.d.ts +27 -0
- package/dist/number/acos.mjs +3 -0
- package/dist/number/add.d.ts +24 -0
- package/dist/number/asin.cjs +3 -0
- package/dist/number/asin.d.ts +27 -0
- package/dist/number/asin.mjs +3 -0
- package/dist/number/atan.cjs +3 -0
- package/dist/number/atan.d.ts +27 -0
- package/dist/number/atan.mjs +3 -0
- package/dist/number/atan2.d.ts +3 -0
- package/dist/number/between.d.ts +33 -0
- package/dist/number/betweenThan.d.ts +33 -0
- package/dist/number/ceil.cjs +3 -0
- package/dist/number/ceil.d.ts +27 -0
- package/dist/number/ceil.mjs +3 -0
- package/dist/number/clamp.d.ts +32 -0
- package/dist/number/cos.cjs +3 -0
- package/dist/number/cos.d.ts +27 -0
- package/dist/number/cos.mjs +3 -0
- package/dist/number/divide.d.ts +30 -0
- package/dist/number/floor.cjs +3 -0
- package/dist/number/floor.d.ts +27 -0
- package/dist/number/floor.mjs +3 -0
- package/dist/number/greater.d.ts +30 -0
- package/dist/number/greaterThan.d.ts +30 -0
- package/dist/number/index.cjs +3 -1
- package/dist/number/index.d.ts +25 -0
- package/dist/number/index.mjs +4 -0
- package/dist/number/less.d.ts +30 -0
- package/dist/number/lessThan.d.ts +30 -0
- package/dist/number/max.cjs +3 -0
- package/dist/number/max.d.ts +26 -0
- package/dist/number/max.mjs +3 -0
- package/dist/number/min.cjs +3 -0
- package/dist/number/min.d.ts +26 -0
- package/dist/number/min.mjs +3 -0
- package/dist/number/modulo.d.ts +30 -0
- package/dist/number/multiply.d.ts +30 -0
- package/dist/number/negate.cjs +3 -0
- package/dist/number/negate.d.ts +25 -0
- package/dist/number/negate.mjs +3 -0
- package/dist/number/power.d.ts +30 -0
- package/dist/number/round.cjs +3 -0
- package/dist/number/round.d.ts +27 -0
- package/dist/number/round.mjs +3 -0
- package/dist/number/sin.cjs +3 -0
- package/dist/number/sin.d.ts +27 -0
- package/dist/number/sin.mjs +3 -0
- package/dist/number/sort.d.ts +32 -0
- package/dist/number/sqrt.cjs +3 -0
- package/dist/number/sqrt.d.ts +27 -0
- package/dist/number/sqrt.mjs +3 -0
- package/dist/number/subtract.d.ts +30 -0
- package/dist/number/tan.cjs +3 -0
- package/dist/number/tan.d.ts +27 -0
- package/dist/number/tan.mjs +3 -0
- package/dist/number/toFixed.d.ts +33 -0
- package/dist/number/trunc.cjs +3 -0
- package/dist/number/trunc.d.ts +27 -0
- package/dist/number/trunc.mjs +3 -0
- package/dist/object/assign.d.ts +40 -0
- package/dist/object/deepDiscriminate.d.ts +54 -0
- package/dist/object/discriminate.d.ts +53 -0
- package/dist/object/entries.cjs +3 -0
- package/dist/object/entries.d.ts +31 -0
- package/dist/object/entries.mjs +3 -0
- package/dist/object/entry.cjs +3 -0
- package/dist/object/entry.d.ts +29 -0
- package/dist/object/entry.mjs +3 -0
- package/dist/object/fromEntries.cjs +3 -0
- package/dist/object/fromEntries.d.ts +39 -0
- package/dist/object/fromEntries.mjs +3 -0
- package/dist/object/getDeepProperty.d.ts +46 -0
- package/dist/object/getProperty.d.ts +39 -0
- package/dist/object/hasKeys.d.ts +48 -0
- package/dist/object/index.cjs +3 -1
- package/dist/object/index.d.ts +25 -0
- package/dist/object/index.mjs +4 -0
- package/dist/object/keys.cjs +3 -0
- package/dist/object/keys.d.ts +33 -0
- package/dist/object/keys.mjs +3 -0
- package/dist/object/omit.d.ts +46 -0
- package/dist/object/override.d.ts +49 -0
- package/dist/object/pick.d.ts +47 -0
- package/dist/object/to.d.ts +43 -0
- package/dist/object/transformProperties.d.ts +46 -0
- package/dist/object/transformProperty.d.ts +41 -0
- package/dist/object/values.cjs +3 -0
- package/dist/object/values.d.ts +33 -0
- package/dist/object/values.mjs +3 -0
- package/dist/pattern/exhaustive.cjs +3 -0
- package/dist/pattern/exhaustive.d.ts +51 -0
- package/dist/pattern/exhaustive.mjs +3 -0
- package/dist/pattern/index.cjs +3 -1
- package/dist/pattern/index.d.ts +24 -0
- package/dist/pattern/index.mjs +4 -0
- package/dist/pattern/isMatch.d.ts +36 -0
- package/dist/pattern/match/index.d.ts +58 -0
- package/dist/pattern/otherwise.d.ts +56 -0
- package/dist/pattern/union.cjs +3 -0
- package/dist/pattern/union.d.ts +37 -0
- package/dist/pattern/union.mjs +3 -0
- package/dist/pattern/when.d.ts +43 -0
- package/dist/string/at/default.d.ts +30 -0
- package/dist/string/capitalize.cjs +3 -0
- package/dist/string/capitalize.d.ts +27 -0
- package/dist/string/capitalize.mjs +3 -0
- package/dist/string/charAt.d.ts +29 -0
- package/dist/string/concat.d.ts +31 -0
- package/dist/string/endsWith.d.ts +41 -0
- package/dist/string/includes.d.ts +41 -0
- package/dist/string/index.cjs +3 -1
- package/dist/string/index.d.ts +27 -0
- package/dist/string/index.mjs +4 -0
- package/dist/string/indexOf.d.ts +30 -0
- package/dist/string/isIn.d.ts +45 -0
- package/dist/string/isKeyof.d.ts +45 -0
- package/dist/string/lastIndexOf.d.ts +30 -0
- package/dist/string/length.cjs +3 -0
- package/dist/string/length.d.ts +24 -0
- package/dist/string/length.mjs +3 -0
- package/dist/string/match.d.ts +29 -0
- package/dist/string/matchAll.d.ts +36 -0
- package/dist/string/normalize.d.ts +29 -0
- package/dist/string/padEnd.d.ts +29 -0
- package/dist/string/padStart.d.ts +29 -0
- package/dist/string/repeat.d.ts +29 -0
- package/dist/string/replace.d.ts +30 -0
- package/dist/string/replaceAll.d.ts +29 -0
- package/dist/string/search.d.ts +30 -0
- package/dist/string/slice.d.ts +29 -0
- package/dist/string/sort.d.ts +42 -0
- package/dist/string/sortCompare.d.ts +33 -0
- package/dist/string/split.d.ts +29 -0
- package/dist/string/startsWith.d.ts +41 -0
- package/dist/string/substring.d.ts +29 -0
- package/dist/string/test.d.ts +29 -0
- package/dist/string/toLowerCase.cjs +3 -0
- package/dist/string/toLowerCase.d.ts +27 -0
- package/dist/string/toLowerCase.mjs +3 -0
- package/dist/string/toUpperCase.cjs +3 -0
- package/dist/string/toUpperCase.d.ts +27 -0
- package/dist/string/toUpperCase.mjs +3 -0
- package/dist/string/trim/default.cjs +3 -0
- package/dist/string/trim/default.d.ts +27 -0
- package/dist/string/trim/default.mjs +3 -0
- package/dist/string/trim/end.cjs +3 -0
- package/dist/string/trim/end.d.ts +27 -0
- package/dist/string/trim/end.mjs +3 -0
- package/dist/string/trim/start.cjs +3 -0
- package/dist/string/trim/start.d.ts +27 -0
- package/dist/string/trim/start.mjs +3 -0
- package/dist/string/uncapitalize.cjs +3 -0
- package/dist/string/uncapitalize.d.ts +27 -0
- package/dist/string/uncapitalize.mjs +3 -0
- package/package.json +1 -1
|
@@ -1,8 +1,89 @@
|
|
|
1
1
|
import { type GetConstraint } from "../base";
|
|
2
2
|
import * as DDataParser from "../../../dataParser";
|
|
3
|
+
/**
|
|
4
|
+
* Constraint handler that validates integer numbers.
|
|
5
|
+
*
|
|
6
|
+
* **Supported call styles:**
|
|
7
|
+
* - Classic: `Int.create(value)` -> returns Either
|
|
8
|
+
*
|
|
9
|
+
* Use it as a reusable rule to validate inputs and to constrain NewTypes to integers.
|
|
10
|
+
*
|
|
11
|
+
* ```ts
|
|
12
|
+
* const result = C.Int.create(12);
|
|
13
|
+
*
|
|
14
|
+
* if (E.isRight(result)) {
|
|
15
|
+
* // result: E.EitherRight<"createConstrainedType", C.ConstrainedType<"int", 12>>
|
|
16
|
+
* }
|
|
17
|
+
*
|
|
18
|
+
* const value = C.Int.createOrThrow(7);
|
|
19
|
+
* // value: C.ConstrainedType<"int", 7>
|
|
20
|
+
*
|
|
21
|
+
* C.Int.is(value); // type guard
|
|
22
|
+
*
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* @see https://utils.duplojs.dev/en/v1/api/clean/constraints
|
|
26
|
+
*
|
|
27
|
+
* @namespace C
|
|
28
|
+
*
|
|
29
|
+
*/
|
|
3
30
|
export declare const Int: import("..").ConstraintHandler<"int", number, readonly [DDataParser.DataParserCheckerInt]>;
|
|
4
31
|
export type Int = GetConstraint<typeof Int>;
|
|
32
|
+
/**
|
|
33
|
+
* Constraint handler that validates strictly positive numbers (>= 1).
|
|
34
|
+
*
|
|
35
|
+
* **Supported call styles:**
|
|
36
|
+
* - Classic: `Positive.create(value)` -> returns Either
|
|
37
|
+
*
|
|
38
|
+
* Use it as a reusable rule to validate inputs and to constrain NewTypes to positive numbers.
|
|
39
|
+
*
|
|
40
|
+
* ```ts
|
|
41
|
+
* const result = C.Positive.create(4);
|
|
42
|
+
*
|
|
43
|
+
* if (E.isRight(result)) {
|
|
44
|
+
* // result: E.EitherRight<"createConstrainedType", C.ConstrainedType<"positive", 4>>
|
|
45
|
+
* }
|
|
46
|
+
*
|
|
47
|
+
* const value = C.Positive.createOrThrow(10);
|
|
48
|
+
* // value: C.ConstrainedType<"positive", 10>
|
|
49
|
+
*
|
|
50
|
+
* C.Positive.is(value); // type guard
|
|
51
|
+
*
|
|
52
|
+
* ```
|
|
53
|
+
*
|
|
54
|
+
* @see https://utils.duplojs.dev/en/v1/api/clean/constraints
|
|
55
|
+
*
|
|
56
|
+
* @namespace C
|
|
57
|
+
*
|
|
58
|
+
*/
|
|
5
59
|
export declare const Positive: import("..").ConstraintHandler<"positive", number, readonly [DDataParser.DataParserCheckerNumberMin]>;
|
|
6
60
|
export type Positive = GetConstraint<typeof Positive>;
|
|
61
|
+
/**
|
|
62
|
+
* Constraint handler that validates strictly negative numbers (<= -1).
|
|
63
|
+
*
|
|
64
|
+
* **Supported call styles:**
|
|
65
|
+
* - Classic: `Negative.create(value)` -> returns Either
|
|
66
|
+
*
|
|
67
|
+
* Use it as a reusable rule to validate inputs and to constrain NewTypes to negative numbers.
|
|
68
|
+
*
|
|
69
|
+
* ```ts
|
|
70
|
+
* const result = C.Negative.create(-4);
|
|
71
|
+
*
|
|
72
|
+
* if (E.isRight(result)) {
|
|
73
|
+
* // result: E.EitherRight<"createConstrainedType", C.ConstrainedType<"negative", -4>>
|
|
74
|
+
* }
|
|
75
|
+
*
|
|
76
|
+
* const value = C.Negative.createOrThrow(-10);
|
|
77
|
+
* // value: C.ConstrainedType<"negative", -10>
|
|
78
|
+
*
|
|
79
|
+
* C.Negative.is(value); // type guard
|
|
80
|
+
*
|
|
81
|
+
* ```
|
|
82
|
+
*
|
|
83
|
+
* @see https://utils.duplojs.dev/en/v1/api/clean/constraints
|
|
84
|
+
*
|
|
85
|
+
* @namespace C
|
|
86
|
+
*
|
|
87
|
+
*/
|
|
7
88
|
export declare const Negative: import("..").ConstraintHandler<"negative", number, readonly [DDataParser.DataParserCheckerNumberMax]>;
|
|
8
89
|
export type Negative = GetConstraint<typeof Negative>;
|
|
@@ -4,8 +4,17 @@ import { checkerInt } from '../../../dataParser/parsers/number/checkers/int.mjs'
|
|
|
4
4
|
import { checkerNumberMin } from '../../../dataParser/parsers/number/checkers/min.mjs';
|
|
5
5
|
import { checkerNumberMax } from '../../../dataParser/parsers/number/checkers/max.mjs';
|
|
6
6
|
|
|
7
|
+
/**
|
|
8
|
+
* {@include clean/Int/index.md}
|
|
9
|
+
*/
|
|
7
10
|
const Int = createConstraint("int", Number, checkerInt());
|
|
11
|
+
/**
|
|
12
|
+
* {@include clean/Positive/index.md}
|
|
13
|
+
*/
|
|
8
14
|
const Positive = createConstraint("positive", Number, checkerNumberMin(1));
|
|
15
|
+
/**
|
|
16
|
+
* {@include clean/Negative/index.md}
|
|
17
|
+
*/
|
|
9
18
|
const Negative = createConstraint("negative", Number, checkerNumberMax(-1));
|
|
10
19
|
|
|
11
20
|
export { Int, Negative, Positive };
|
|
@@ -5,7 +5,13 @@ var base$1 = require('../../primitive/base.cjs');
|
|
|
5
5
|
var email = require('../../../dataParser/parsers/string/checkers/email.cjs');
|
|
6
6
|
var url = require('../../../dataParser/parsers/string/checkers/url.cjs');
|
|
7
7
|
|
|
8
|
+
/**
|
|
9
|
+
* {@include clean/Email/index.md}
|
|
10
|
+
*/
|
|
8
11
|
const Email = base.createConstraint("email", base$1.String, email.checkerEmail());
|
|
12
|
+
/**
|
|
13
|
+
* {@include clean/Url/index.md}
|
|
14
|
+
*/
|
|
9
15
|
const Url = base.createConstraint("url", base$1.String, url.checkerUrl());
|
|
10
16
|
|
|
11
17
|
exports.Email = Email;
|
|
@@ -1,6 +1,60 @@
|
|
|
1
1
|
import { type GetConstraint } from "../base";
|
|
2
2
|
import * as DDataParser from "../../../dataParser";
|
|
3
|
+
/**
|
|
4
|
+
* Constraint handler that validates an email string.
|
|
5
|
+
*
|
|
6
|
+
* **Supported call styles:**
|
|
7
|
+
* - Classic: `Email.create(value)` -> returns Either
|
|
8
|
+
*
|
|
9
|
+
* Use it as a reusable rule to validate inputs and to constrain NewTypes with an email format.
|
|
10
|
+
*
|
|
11
|
+
* ```ts
|
|
12
|
+
* const result = C.Email.create("hello@duplojs.dev");
|
|
13
|
+
*
|
|
14
|
+
* if (E.isRight(result)) {
|
|
15
|
+
* // result: E.EitherRight<"createConstrainedType", C.ConstrainedType<"email", "hello@duplojs.dev">>
|
|
16
|
+
* }
|
|
17
|
+
*
|
|
18
|
+
* const email = C.Email.createOrThrow("a@b.com");
|
|
19
|
+
* // email: C.ConstrainedType<"email", "a@b.com">
|
|
20
|
+
*
|
|
21
|
+
* C.Email.is(email); // type guard
|
|
22
|
+
*
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* @see https://utils.duplojs.dev/en/v1/api/clean/constraints
|
|
26
|
+
*
|
|
27
|
+
* @namespace C
|
|
28
|
+
*
|
|
29
|
+
*/
|
|
3
30
|
export declare const Email: import("..").ConstraintHandler<"email", string, readonly [DDataParser.DataParserCheckerEmail]>;
|
|
4
31
|
export type Email = GetConstraint<typeof Email>;
|
|
32
|
+
/**
|
|
33
|
+
* Constraint handler that validates a URL string.
|
|
34
|
+
*
|
|
35
|
+
* **Supported call styles:**
|
|
36
|
+
* - Classic: `Url.create(value)` -> returns Either
|
|
37
|
+
*
|
|
38
|
+
* Use it as a reusable rule to validate inputs and to constrain NewTypes with a URL format.
|
|
39
|
+
*
|
|
40
|
+
* ```ts
|
|
41
|
+
* const result = C.Url.create("https://duplojs.dev");
|
|
42
|
+
*
|
|
43
|
+
* if (E.isRight(result)) {
|
|
44
|
+
* // result: E.EitherRight<"createConstrainedType", C.ConstrainedType<"url", "https://duplojs.dev">>
|
|
45
|
+
* }
|
|
46
|
+
*
|
|
47
|
+
* const url = C.Url.createOrThrow("https://example.com");
|
|
48
|
+
* // url: C.ConstrainedType<"url", "https://example.com">
|
|
49
|
+
*
|
|
50
|
+
* C.Url.is(url); // type guard
|
|
51
|
+
*
|
|
52
|
+
* ```
|
|
53
|
+
*
|
|
54
|
+
* @see https://utils.duplojs.dev/en/v1/api/clean/constraints
|
|
55
|
+
*
|
|
56
|
+
* @namespace C
|
|
57
|
+
*
|
|
58
|
+
*/
|
|
5
59
|
export declare const Url: import("..").ConstraintHandler<"url", string, readonly [DDataParser.DataParserCheckerUrl]>;
|
|
6
60
|
export type Url = GetConstraint<typeof Url>;
|
|
@@ -3,7 +3,13 @@ import { String } from '../../primitive/base.mjs';
|
|
|
3
3
|
import { checkerEmail } from '../../../dataParser/parsers/string/checkers/email.mjs';
|
|
4
4
|
import { checkerUrl } from '../../../dataParser/parsers/string/checkers/url.mjs';
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* {@include clean/Email/index.md}
|
|
8
|
+
*/
|
|
6
9
|
const Email = createConstraint("email", String, checkerEmail());
|
|
10
|
+
/**
|
|
11
|
+
* {@include clean/Url/index.md}
|
|
12
|
+
*/
|
|
7
13
|
const Url = createConstraint("url", String, checkerUrl());
|
|
8
14
|
|
|
9
15
|
export { Email, Url };
|
package/dist/clean/entity.cjs
CHANGED
|
@@ -48,6 +48,9 @@ class CreateEntityError extends kind$1.kindHeritage("create-entity-error", error
|
|
|
48
48
|
this.dataParserError = dataParserError;
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
+
/**
|
|
52
|
+
* {@include clean/createEntity/index.md}
|
|
53
|
+
*/
|
|
51
54
|
function createEntity(name, getPropertiesDefinition) {
|
|
52
55
|
function theNew(properties) {
|
|
53
56
|
return entityKind.addTo(properties, name);
|
package/dist/clean/entity.d.ts
CHANGED
|
@@ -37,12 +37,80 @@ export interface Entity<GenericName extends string = string> extends Kind<typeof
|
|
|
37
37
|
}
|
|
38
38
|
declare const entityHandlerKind: import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsClean/entity-handler", unknown>>;
|
|
39
39
|
export interface EntityHandler<GenericName extends string = string, GenericPropertiesDefinition extends EntityPropertiesDefinition = EntityPropertiesDefinition> extends Kind<typeof entityHandlerKind.definition> {
|
|
40
|
+
/**
|
|
41
|
+
* The entity name used as a runtime identifier (for example "User").
|
|
42
|
+
*
|
|
43
|
+
*/
|
|
40
44
|
readonly name: GenericName;
|
|
45
|
+
/**
|
|
46
|
+
* The properties schema returned by the definition callback.
|
|
47
|
+
*
|
|
48
|
+
*/
|
|
41
49
|
readonly propertiesDefinition: GenericPropertiesDefinition;
|
|
50
|
+
/**
|
|
51
|
+
* The DataParser derived from the properties definition. Useful to reuse validation outside entity creation.
|
|
52
|
+
*
|
|
53
|
+
*/
|
|
42
54
|
readonly mapDataParser: DDataParser.Contract<EntityProperties<GenericPropertiesDefinition>, EntityRawProperties<GenericPropertiesDefinition>>;
|
|
55
|
+
/**
|
|
56
|
+
* Builds an entity from already typed properties.
|
|
57
|
+
*
|
|
58
|
+
* ```ts
|
|
59
|
+
* export function create(params: {
|
|
60
|
+
* id: Id;
|
|
61
|
+
* name: Name;
|
|
62
|
+
* }) {
|
|
63
|
+
* return Entity.new({
|
|
64
|
+
* ...params,
|
|
65
|
+
* nick: null,
|
|
66
|
+
* roles: [defaultRole],
|
|
67
|
+
* });
|
|
68
|
+
* ```
|
|
69
|
+
*
|
|
70
|
+
*/
|
|
43
71
|
"new"<const GenericProperties extends EntityProperties<GenericPropertiesDefinition>>(properties: GenericProperties): Entity<GenericName> & GenericProperties;
|
|
72
|
+
/**
|
|
73
|
+
* Validates raw properties and returns an Either with the typed entity.
|
|
74
|
+
*
|
|
75
|
+
* ```ts
|
|
76
|
+
* if (User.Entity.is(result)) {
|
|
77
|
+
* // result: C.Entity<"User">
|
|
78
|
+
* }
|
|
79
|
+
*
|
|
80
|
+
* const mappedResult = User.Entity.map({
|
|
81
|
+
* id: 3,
|
|
82
|
+
* name: "Eve",
|
|
83
|
+
* roles: ["manager"],
|
|
84
|
+
* nick: null,
|
|
85
|
+
* ```
|
|
86
|
+
*
|
|
87
|
+
*/
|
|
44
88
|
map(rawProperties: EntityRawProperties<GenericPropertiesDefinition>): (DEither.EitherRight<"createEntity", Entity<GenericName> & EntityProperties<GenericPropertiesDefinition>> | DEither.EitherLeft<"createEntityError", DDataParser.DataParserError>);
|
|
89
|
+
/**
|
|
90
|
+
* Validates raw properties and throws on error.
|
|
91
|
+
*
|
|
92
|
+
* ```ts
|
|
93
|
+
* const mapped = User.Entity.mapOrThrow({
|
|
94
|
+
* id: 2,
|
|
95
|
+
* name: "Bob",
|
|
96
|
+
* roles: ["client"],
|
|
97
|
+
* nick: "Bobby",
|
|
98
|
+
* });
|
|
99
|
+
* ```
|
|
100
|
+
*
|
|
101
|
+
*/
|
|
45
102
|
mapOrThrow(rawProperties: EntityRawProperties<GenericPropertiesDefinition>): Entity<GenericName> & EntityProperties<GenericPropertiesDefinition>;
|
|
103
|
+
/**
|
|
104
|
+
* Checks if a value is an entity of this handler (type guard).
|
|
105
|
+
*
|
|
106
|
+
* ```ts
|
|
107
|
+
* const result = true ? mapped : null;
|
|
108
|
+
*
|
|
109
|
+
* if (User.Entity.is(result)) {
|
|
110
|
+
* // result: C.Entity<"User">
|
|
111
|
+
* ```
|
|
112
|
+
*
|
|
113
|
+
*/
|
|
46
114
|
is<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, Entity<GenericName>>;
|
|
47
115
|
}
|
|
48
116
|
declare const CreateEntityError_base: new (params: {
|
|
@@ -70,6 +138,79 @@ export interface PropertiesDefinitionParams {
|
|
|
70
138
|
inArray: NeverCoalescing<GenericAdvancedArrayPropertyDefinition, true>;
|
|
71
139
|
};
|
|
72
140
|
}
|
|
141
|
+
/**
|
|
142
|
+
* Creates an entity handler from a property definition.
|
|
143
|
+
*
|
|
144
|
+
* **Supported call styles:**
|
|
145
|
+
* - Classic: `createEntity(name, getPropertiesDefinition)` -> returns a handler
|
|
146
|
+
*
|
|
147
|
+
* Entities model business structures by composing NewTypes. The handler builds entities from typed properties or from raw inputs with validation.
|
|
148
|
+
*
|
|
149
|
+
* ```ts
|
|
150
|
+
* namespace User {
|
|
151
|
+
* export const Id = C.createNewType("user-id", DP.number(), C.Positive);
|
|
152
|
+
* export type Id = C.GetNewType<typeof Id>;
|
|
153
|
+
* export const Name = C.createNewType("user-name", DP.string());
|
|
154
|
+
* export type Name = C.GetNewType<typeof Name>;
|
|
155
|
+
* export const Role = C.createNewType("UserRole", DP.literal(["admin", "client", "manager"]));
|
|
156
|
+
*
|
|
157
|
+
* export const Entity = C.createEntity("User", ({ array, nullable }) => ({
|
|
158
|
+
* id: Id,
|
|
159
|
+
* name: Name,
|
|
160
|
+
* roles: array(Role, { min: 1 }),
|
|
161
|
+
* nick: nullable(Name),
|
|
162
|
+
* }));
|
|
163
|
+
* export type Entity = C.GetEntity<typeof Entity>;
|
|
164
|
+
*
|
|
165
|
+
* const defaultRole = Role.createOrThrow("client");
|
|
166
|
+
*
|
|
167
|
+
* export function create(params: {
|
|
168
|
+
* id: Id;
|
|
169
|
+
* name: Name;
|
|
170
|
+
* }) {
|
|
171
|
+
* return Entity.new({
|
|
172
|
+
* ...params,
|
|
173
|
+
* nick: null,
|
|
174
|
+
* roles: [defaultRole],
|
|
175
|
+
* });
|
|
176
|
+
* }
|
|
177
|
+
* }
|
|
178
|
+
*
|
|
179
|
+
* const mapped = User.Entity.mapOrThrow({
|
|
180
|
+
* id: 2,
|
|
181
|
+
* name: "Bob",
|
|
182
|
+
* roles: ["client"],
|
|
183
|
+
* nick: "Bobby",
|
|
184
|
+
* });
|
|
185
|
+
*
|
|
186
|
+
* const result = true ? mapped : null;
|
|
187
|
+
*
|
|
188
|
+
* if (User.Entity.is(result)) {
|
|
189
|
+
* // result: C.Entity<"User">
|
|
190
|
+
* }
|
|
191
|
+
*
|
|
192
|
+
* const mappedResult = User.Entity.map({
|
|
193
|
+
* id: 3,
|
|
194
|
+
* name: "Eve",
|
|
195
|
+
* roles: ["manager"],
|
|
196
|
+
* nick: null,
|
|
197
|
+
* });
|
|
198
|
+
*
|
|
199
|
+
* if (E.isRight(mappedResult)) {
|
|
200
|
+
* // mappedResult: E.EitherRight<"createEntity", C.Entity<"User">>
|
|
201
|
+
* }
|
|
202
|
+
*
|
|
203
|
+
* ```
|
|
204
|
+
*
|
|
205
|
+
* @remarks
|
|
206
|
+
* - The definition callback can use helpers like `array`, `nullable`, and `union` to enrich properties.
|
|
207
|
+
* - Use `map`/`mapOrThrow` to build from raw inputs; `new` expects already typed values.
|
|
208
|
+
*
|
|
209
|
+
* @see https://utils.duplojs.dev/en/v1/api/clean/entity
|
|
210
|
+
*
|
|
211
|
+
* @namespace C
|
|
212
|
+
*
|
|
213
|
+
*/
|
|
73
214
|
export declare function createEntity<GenericName extends string, const GenericPropertiesDefinition extends EntityPropertiesDefinition>(name: GenericName, getPropertiesDefinition: (params: PropertiesDefinitionParams) => GenericPropertiesDefinition & DObject.ForbiddenKey<GenericPropertiesDefinition, "_entityName" | "_flags">): EntityHandler<GenericName, GenericPropertiesDefinition>;
|
|
74
215
|
export type GetEntity<GenericEntityHandler extends EntityHandler<string, any>> = Extract<ReturnType<GenericEntityHandler["new"]>, any>;
|
|
75
216
|
export {};
|
package/dist/clean/entity.mjs
CHANGED
|
@@ -46,6 +46,9 @@ class CreateEntityError extends kindHeritage("create-entity-error", createErrorK
|
|
|
46
46
|
this.dataParserError = dataParserError;
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* {@include clean/createEntity/index.md}
|
|
51
|
+
*/
|
|
49
52
|
function createEntity(name, getPropertiesDefinition) {
|
|
50
53
|
function theNew(properties) {
|
|
51
54
|
return entityKind.addTo(properties, name);
|
package/dist/clean/flag.cjs
CHANGED
|
@@ -4,6 +4,9 @@ var kind = require('./kind.cjs');
|
|
|
4
4
|
|
|
5
5
|
const flagHandlerKind = kind.createCleanKind("flag-handler");
|
|
6
6
|
const flagKind = kind.createCleanKind("flag");
|
|
7
|
+
/**
|
|
8
|
+
* {@include clean/createFlag/index.md}
|
|
9
|
+
*/
|
|
7
10
|
function createFlag(name) {
|
|
8
11
|
return flagHandlerKind.setTo({
|
|
9
12
|
name,
|
package/dist/clean/flag.d.ts
CHANGED
|
@@ -3,13 +3,109 @@ import { type Entity } from "./entity";
|
|
|
3
3
|
declare const flagHandlerKind: import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsClean/flag-handler", unknown>>;
|
|
4
4
|
export declare const flagKind: import("../common").KindHandler<import("../common").KindDefinition<"@DuplojsUtilsClean/flag", Record<string, unknown>>>;
|
|
5
5
|
export interface FlagHandler<GenericEntity extends Entity = Entity, GenericName extends string = string, GenericValue extends unknown = never> extends Kind<typeof flagHandlerKind.definition> {
|
|
6
|
+
/**
|
|
7
|
+
* The flag name stored as the key on the entity.
|
|
8
|
+
*
|
|
9
|
+
*/
|
|
6
10
|
readonly name: GenericName;
|
|
11
|
+
/**
|
|
12
|
+
* Adds the flag to an entity and returns the enriched entity.
|
|
13
|
+
*
|
|
14
|
+
* ```ts
|
|
15
|
+
* export function isMajor(entity: Entity) {
|
|
16
|
+
* if (C.greaterThan(entity.age, 18)) {
|
|
17
|
+
* return E.success(
|
|
18
|
+
* MajorFlag.append(entity, entity.age),
|
|
19
|
+
* );
|
|
20
|
+
* ```
|
|
21
|
+
*
|
|
22
|
+
*/
|
|
7
23
|
append<GenericInputEntity extends GenericEntity, GenericInputValue extends GenericValue>(entity: GenericInputEntity, ...args: IsEqual<GenericValue, never> extends true ? [] : [GenericInputValue]): (GenericInputEntity & Flag<GenericName, GenericInputValue>);
|
|
24
|
+
/**
|
|
25
|
+
* Retrieves the value carried by the flag.
|
|
26
|
+
*
|
|
27
|
+
* ```ts
|
|
28
|
+
* const flagged = User.MajorFlag.append(user, user.age);
|
|
29
|
+
* const value = User.MajorFlag.getValue(flagged);
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
*/
|
|
8
33
|
getValue<GenericInputEntity extends GenericEntity & Flag<GenericName, GenericValue>>(entity: GenericInputEntity): GetKindValue<typeof flagKind, GenericInputEntity>[GenericName];
|
|
9
34
|
has<GenericInputEntity extends GenericEntity>(entity: GenericInputEntity): Extract<GenericInputEntity, Flag<GenericName, any>>;
|
|
10
35
|
}
|
|
11
36
|
export interface Flag<GenericName extends string = string, GenericValue extends unknown = never> extends Kind<typeof flagKind.definition, Record<GenericName, GenericValue>> {
|
|
12
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Creates a flag handler that can attach typed metadata to an entity.
|
|
40
|
+
*
|
|
41
|
+
* **Supported call styles:**
|
|
42
|
+
* - Classic: `createFlag(name)` -> returns a handler
|
|
43
|
+
*
|
|
44
|
+
* Flags let you mark an entity after creation without changing its shape. The mark can optionally carry a value.
|
|
45
|
+
*
|
|
46
|
+
* ```ts
|
|
47
|
+
* namespace User {
|
|
48
|
+
* export const Name = C.createNewType("UserName", DP.string());
|
|
49
|
+
* export type Name = C.GetNewType<typeof Name>;
|
|
50
|
+
*
|
|
51
|
+
* export const Age = C.createNewType("UserAge", DP.number(), C.Positive);
|
|
52
|
+
* export type Age = C.GetNewType<typeof Age>;
|
|
53
|
+
*
|
|
54
|
+
* export const Entity = C.createEntity("UserEntity", () => ({
|
|
55
|
+
* name: Name,
|
|
56
|
+
* age: Age,
|
|
57
|
+
* }));
|
|
58
|
+
* export type Entity = C.GetEntity<typeof Entity>;
|
|
59
|
+
*
|
|
60
|
+
* export const MajorFlag = C.createFlag<
|
|
61
|
+
* Entity, // mandatory
|
|
62
|
+
* "majorUser", // mandatory
|
|
63
|
+
* Age // optional
|
|
64
|
+
* >("majorUser");
|
|
65
|
+
* export type MajorFlag = C.GetFlag<typeof MajorFlag>;
|
|
66
|
+
*
|
|
67
|
+
* export function isMajor(entity: Entity) {
|
|
68
|
+
* if (C.greaterThan(entity.age, 18)) {
|
|
69
|
+
* return E.success(
|
|
70
|
+
* MajorFlag.append(entity, entity.age),
|
|
71
|
+
* );
|
|
72
|
+
* }
|
|
73
|
+
* return E.left("not-major");
|
|
74
|
+
* }
|
|
75
|
+
* }
|
|
76
|
+
*
|
|
77
|
+
* function drinkAlcohol(userEntity: User.Entity & User.MajorFlag) {
|
|
78
|
+
* // ...
|
|
79
|
+
* return E.right("not-thirsty-anymore");
|
|
80
|
+
* }
|
|
81
|
+
*
|
|
82
|
+
* const user = User.Entity.new({
|
|
83
|
+
* name: User.Name.createOrThrow("Julie"),
|
|
84
|
+
* age: User.Age.createOrThrow(35),
|
|
85
|
+
* });
|
|
86
|
+
*
|
|
87
|
+
* const result = pipe(
|
|
88
|
+
* user,
|
|
89
|
+
* User.isMajor,
|
|
90
|
+
* E.whenIsRight(
|
|
91
|
+
* drinkAlcohol,
|
|
92
|
+
* ),
|
|
93
|
+
* );
|
|
94
|
+
* // E.EitherLeft<"not-major", undefined> | E.EitherRight<"not-thirsty-anymore", undefined>
|
|
95
|
+
*
|
|
96
|
+
* const flagged = User.MajorFlag.append(user, user.age);
|
|
97
|
+
* const value = User.MajorFlag.getValue(flagged);
|
|
98
|
+
*
|
|
99
|
+
* ```
|
|
100
|
+
*
|
|
101
|
+
* @remarks
|
|
102
|
+
* A flag lets you add a marker on an entity after its creation. Its purpose is to indicate that a verification has taken place, or that a particular operation has been performed, without modifying the structure of the entity. If the flag carries a value, `append` requires it and `getValue` retrieves it.
|
|
103
|
+
*
|
|
104
|
+
* @see https://utils.duplojs.dev/en/v1/api/clean/flag
|
|
105
|
+
*
|
|
106
|
+
* @namespace C
|
|
107
|
+
*
|
|
108
|
+
*/
|
|
13
109
|
export declare function createFlag<GenericEntity extends Entity = never, GenericName extends string = never, GenericValue extends unknown = never>(name: Or<[
|
|
14
110
|
IsEqual<GenericEntity, never>,
|
|
15
111
|
IsEqual<GenericName, never>
|
package/dist/clean/flag.mjs
CHANGED
|
@@ -2,6 +2,9 @@ import { createCleanKind } from './kind.mjs';
|
|
|
2
2
|
|
|
3
3
|
const flagHandlerKind = createCleanKind("flag-handler");
|
|
4
4
|
const flagKind = createCleanKind("flag");
|
|
5
|
+
/**
|
|
6
|
+
* {@include clean/createFlag/index.md}
|
|
7
|
+
*/
|
|
5
8
|
function createFlag(name) {
|
|
6
9
|
return flagHandlerKind.setTo({
|
|
7
10
|
name,
|
package/dist/clean/index.cjs
CHANGED
|
@@ -37,7 +37,9 @@ var timeLessThan = require('./primitive/operations/time/timeLessThan.cjs');
|
|
|
37
37
|
var timeMin = require('./primitive/operations/time/timeMin.cjs');
|
|
38
38
|
var timeMax = require('./primitive/operations/time/timeMax.cjs');
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
/**
|
|
41
|
+
* {@include clean/index.md}
|
|
42
|
+
*/
|
|
41
43
|
|
|
42
44
|
exports.createCleanKind = kind.createCleanKind;
|
|
43
45
|
exports.CreateNewTypeError = newType.CreateNewTypeError;
|
package/dist/clean/index.d.ts
CHANGED
|
@@ -1,3 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Clean Architecture building blocks for the domain layer: primitives, constraints, NewTypes, entities, flags, repositories, and use cases. The goal is explicit business types with runtime validation and predictable composition.
|
|
3
|
+
*
|
|
4
|
+
* **How to import:**
|
|
5
|
+
* - From the main entry (namespace style)
|
|
6
|
+
* - Via direct import for tree-shaking
|
|
7
|
+
*
|
|
8
|
+
* ```ts
|
|
9
|
+
* import { DClean, C } from "@duplojs/utils";
|
|
10
|
+
* import * as DClean from "@duplojs/utils/clean";
|
|
11
|
+
* import * as C from "@duplojs/utils/clean";
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* What you will find in this namespace:
|
|
15
|
+
* - primitives (`C.String`, `C.Number`, `C.Date`, `C.Time`)
|
|
16
|
+
* - constraints (`C.Email`, `C.Int`, `C.Positive`, `C.Negative`)
|
|
17
|
+
* - NewTypes and entities (`C.createNewType`, `C.createEntity`)
|
|
18
|
+
* - flags, repositories, and use cases (`C.createFlag`, `C.createRepository`, `C.createUseCase`)
|
|
19
|
+
* - primitive operators (`C.equal`, `C.add`, `C.length`, `C.dateGreaterThan`, `C.timeLessThan`)
|
|
20
|
+
*
|
|
21
|
+
* @see https://utils.duplojs.dev/en/v1/api/clean
|
|
22
|
+
*
|
|
23
|
+
* @namespace C
|
|
24
|
+
*
|
|
25
|
+
*/
|
|
1
26
|
export * from "./types";
|
|
2
27
|
export * from "./kind";
|
|
3
28
|
export * from "./newType";
|
package/dist/clean/index.mjs
CHANGED
|
@@ -34,3 +34,7 @@ export { timeGreaterThan } from './primitive/operations/time/timeGreaterThan.mjs
|
|
|
34
34
|
export { timeLessThan } from './primitive/operations/time/timeLessThan.mjs';
|
|
35
35
|
export { timeMin } from './primitive/operations/time/timeMin.mjs';
|
|
36
36
|
export { timeMax } from './primitive/operations/time/timeMax.mjs';
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* {@include clean/index.md}
|
|
40
|
+
*/
|
package/dist/clean/kind.cjs
CHANGED
package/dist/clean/kind.d.ts
CHANGED
|
@@ -1 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates a kind namespace scoped to the Clean domain.
|
|
3
|
+
*
|
|
4
|
+
* **Supported call styles:**
|
|
5
|
+
* - Classic: `createCleanKind(name)` -> returns a kind handler
|
|
6
|
+
*
|
|
7
|
+
* Use it to define Clean-specific kinds so domain tags do not collide with other namespaces.
|
|
8
|
+
*
|
|
9
|
+
* ```ts
|
|
10
|
+
* const customKind = C.createCleanKind("my-kind");
|
|
11
|
+
*
|
|
12
|
+
* const holder = customKind.setTo({
|
|
13
|
+
* value: 123,
|
|
14
|
+
* });
|
|
15
|
+
*
|
|
16
|
+
* customKind.has(holder); // true
|
|
17
|
+
*
|
|
18
|
+
* const tagged = customKind.addTo(
|
|
19
|
+
* { name: "Ada" },
|
|
20
|
+
* "my-kind",
|
|
21
|
+
* );
|
|
22
|
+
* customKind.has(tagged); // true
|
|
23
|
+
*
|
|
24
|
+
* const secondKind = C.createCleanKind("other-kind");
|
|
25
|
+
* secondKind.has(holder); // false
|
|
26
|
+
*
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* @see https://utils.duplojs.dev/en/v1/api/clean/createCleanKind
|
|
30
|
+
*
|
|
31
|
+
* @namespace C
|
|
32
|
+
*
|
|
33
|
+
*/
|
|
1
34
|
export declare const createCleanKind: <GenericName extends string, GenericKindValue extends unknown = unknown>(name: GenericName & import("../string").ForbiddenString<GenericName, "@" | "/">) => import("../common").KindHandler<import("../common").KindDefinition<`@DuplojsUtilsClean/${GenericName}`, GenericKindValue>>;
|
package/dist/clean/kind.mjs
CHANGED
package/dist/clean/newType.cjs
CHANGED
|
@@ -29,6 +29,9 @@ class CreateNewTypeError extends kind$1.kindHeritage("create-new-type-error", er
|
|
|
29
29
|
this.dataParserError = dataParserError;
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
+
/**
|
|
33
|
+
* {@include clean/createNewType/index.md}
|
|
34
|
+
*/
|
|
32
35
|
function createNewType(name, dataParser, constraint) {
|
|
33
36
|
const constrains = coalescing.coalescing(constraint ?? []);
|
|
34
37
|
const checkers = flatMap.flatMap(constrains, ({ checkers }) => checkers);
|