@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
|
@@ -9,6 +9,67 @@ type _EitherOptionalFilled<GenericValue extends unknown = unknown> = (EitherRigh
|
|
|
9
9
|
export interface EitherOptionalFilled<GenericValue extends unknown = unknown> extends _EitherOptionalFilled<GenericValue> {
|
|
10
10
|
}
|
|
11
11
|
type Either = EitherRight | EitherLeft;
|
|
12
|
+
/**
|
|
13
|
+
* Type guard that checks that an optional contains a value.
|
|
14
|
+
*
|
|
15
|
+
* Signature: `isOptionalFilled(input)` → returns a value
|
|
16
|
+
*
|
|
17
|
+
* Acts as a type guard and narrows the input type when true.
|
|
18
|
+
*
|
|
19
|
+
* ```ts
|
|
20
|
+
* const maybeValue = E.optional(true ? "value" : undefined);
|
|
21
|
+
*
|
|
22
|
+
* if (E.isOptionalFilled(maybeValue)) {
|
|
23
|
+
* // type: E.EitherOptionalFilled<"value">
|
|
24
|
+
* }
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* @see https://utils.duplojs.dev/en/v1/api/either/isOptionalFilled
|
|
28
|
+
*
|
|
29
|
+
* @namespace E
|
|
30
|
+
*
|
|
31
|
+
*/
|
|
32
|
+
/**
|
|
33
|
+
* Builds an EitherRight<"optional"> when the value is defined.
|
|
34
|
+
*
|
|
35
|
+
* Signature: `optionalFilled(value)` → returns a value
|
|
36
|
+
*
|
|
37
|
+
* The input value is not mutated.
|
|
38
|
+
*
|
|
39
|
+
* ```ts
|
|
40
|
+
* const result = E.optionalFilled("value");
|
|
41
|
+
*
|
|
42
|
+
* // type: E.EitherOptionalFilled<"value">
|
|
43
|
+
* ```
|
|
44
|
+
*
|
|
45
|
+
* @see https://utils.duplojs.dev/en/v1/api/either/optionalFilled
|
|
46
|
+
*
|
|
47
|
+
* @namespace E
|
|
48
|
+
*
|
|
49
|
+
*/
|
|
50
|
+
/**
|
|
51
|
+
* Applies a callback only when the optional Either contains a value (OptionalFilled).
|
|
52
|
+
*
|
|
53
|
+
* **Supported call styles:**
|
|
54
|
+
* - Classic: `whenIsOptionalFilled(input, theFunction)` → returns a value
|
|
55
|
+
* - Curried: `whenIsOptionalFilled(theFunction)` → returns a function waiting for the input
|
|
56
|
+
*
|
|
57
|
+
* If the condition matches, the callback runs; otherwise the original value is returned.
|
|
58
|
+
*
|
|
59
|
+
* ```ts
|
|
60
|
+
* const result = pipe(
|
|
61
|
+
* E.optional(true ? "value" : undefined),
|
|
62
|
+
* E.whenIsOptionalFilled(S.capitalize),
|
|
63
|
+
* );
|
|
64
|
+
*
|
|
65
|
+
* // type: E.EitherOptionalEmpty | "Value"
|
|
66
|
+
* ```
|
|
67
|
+
*
|
|
68
|
+
* @see https://utils.duplojs.dev/en/v1/api/either/whenIsOptionalFilled
|
|
69
|
+
*
|
|
70
|
+
* @namespace E
|
|
71
|
+
*
|
|
72
|
+
*/
|
|
12
73
|
export declare function optionalFilled<const GenericValue extends unknown>(value: GenericValue): EitherOptionalFilled<GenericValue>;
|
|
13
74
|
export declare function isOptionalFilled<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, EitherOptionalFilled>;
|
|
14
75
|
type ToOptionalEither<GenericValue extends unknown> = GenericValue extends Either ? GenericValue : ReturnType<typeof optional<GenericValue>>;
|
|
@@ -7,6 +7,15 @@ import { isLeft } from '../left/is.mjs';
|
|
|
7
7
|
import { unwrap } from '../../common/unwrap.mjs';
|
|
8
8
|
|
|
9
9
|
const eitherOptionalFilledKind = createEitherKind("optional-filled");
|
|
10
|
+
/**
|
|
11
|
+
* {@include either/isOptionalFilled/index.md}
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* {@include either/optionalFilled/index.md}
|
|
15
|
+
*/
|
|
16
|
+
/**
|
|
17
|
+
* {@include either/whenIsOptionalFilled/index.md}
|
|
18
|
+
*/
|
|
10
19
|
function optionalFilled(value) {
|
|
11
20
|
return eitherOptionalKind.setTo(eitherOptionalFilledKind.setTo(right("optional", value)));
|
|
12
21
|
}
|
|
@@ -11,6 +11,9 @@ var when = require('../../common/when.cjs');
|
|
|
11
11
|
var isType = require('../../common/isType.cjs');
|
|
12
12
|
var when$1 = require('./when.cjs');
|
|
13
13
|
|
|
14
|
+
/**
|
|
15
|
+
* {@include either/asyncGroup/index.md}
|
|
16
|
+
*/
|
|
14
17
|
function asyncGroup(group) {
|
|
15
18
|
return asyncPipe.asyncPipe(group, entries.entries, asyncReduce.asyncReduce(reduce.reduceFrom({}), ({ element: [key, value], lastValue, nextWithObject, exit }) => asyncPipe.asyncPipe(value, when.when(isType.isType("function"), (getter) => getter()), when.when(is.isLeft, exit), when$1.whenIsRight((data) => nextWithObject(lastValue, { [key]: data })))), whenNot.whenNot(is.isLeft, success.success));
|
|
16
19
|
}
|
|
@@ -8,5 +8,34 @@ type ComputeResult<GenericGroup extends Record<string, MayBeGetter<Either>>> = P
|
|
|
8
8
|
}>> | {
|
|
9
9
|
[Prop in keyof GenericGroup]: GenericGroup[Prop] extends AnyFunction ? Extract<Awaited<ReturnType<GenericGroup[Prop]>>, EitherLeft> : Extract<Awaited<GenericGroup[Prop]>, EitherLeft>;
|
|
10
10
|
}[keyof GenericGroup]>;
|
|
11
|
+
/**
|
|
12
|
+
* The asyncGroup() function runs synchronous or asynchronous Either values in parallel (promises, Future) and returns the first Left encountered. If all are Right, it aggregates their values into a typed object.
|
|
13
|
+
*
|
|
14
|
+
* Signature: `asyncGroup(group)` → returns a value
|
|
15
|
+
*
|
|
16
|
+
* The input value is not mutated.
|
|
17
|
+
*
|
|
18
|
+
* ```ts
|
|
19
|
+
* const asyncLoad = E.future(Promise.resolve(E.right("user.loaded", { id: 1 })));
|
|
20
|
+
* const callbackRights = () => E.right("rights.loaded", ["read"]);
|
|
21
|
+
* const promiseProfile = Promise.resolve(E.right("profile.loaded", { name: "Ada" }));
|
|
22
|
+
*
|
|
23
|
+
* const result = await E.asyncGroup({
|
|
24
|
+
* user: asyncLoad,
|
|
25
|
+
* rights: callbackRights,
|
|
26
|
+
* profile: promiseProfile,
|
|
27
|
+
* });
|
|
28
|
+
*
|
|
29
|
+
* // type: E.EitherFutureError
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* @remarks
|
|
33
|
+
* - Stops at the first Left and forwards it as-is.
|
|
34
|
+
*
|
|
35
|
+
* @see https://utils.duplojs.dev/en/v1/api/either/asyncGroup
|
|
36
|
+
*
|
|
37
|
+
* @namespace E
|
|
38
|
+
*
|
|
39
|
+
*/
|
|
11
40
|
export declare function asyncGroup<GenericGroup extends Record<string, MayBeGetter<Either>>>(group: GenericGroup): Extract<ComputeResult<GenericGroup>, any>;
|
|
12
41
|
export {};
|
|
@@ -9,6 +9,9 @@ import { when } from '../../common/when.mjs';
|
|
|
9
9
|
import { isType } from '../../common/isType.mjs';
|
|
10
10
|
import { whenIsRight } from './when.mjs';
|
|
11
11
|
|
|
12
|
+
/**
|
|
13
|
+
* {@include either/asyncGroup/index.md}
|
|
14
|
+
*/
|
|
12
15
|
function asyncGroup(group) {
|
|
13
16
|
return asyncPipe(group, entries, asyncReduce(reduceFrom({}), ({ element: [key, value], lastValue, nextWithObject, exit }) => asyncPipe(value, when(isType("function"), (getter) => getter()), when(isLeft, exit), whenIsRight((data) => nextWithObject(lastValue, { [key]: data })))), whenNot(isLeft, success));
|
|
14
17
|
}
|
|
@@ -7,6 +7,43 @@ import { type AnyValue, type Unwrap } from "../../common";
|
|
|
7
7
|
type Either = EitherRight | EitherLeft;
|
|
8
8
|
export type EitherRightAsyncPipeFunction<GenericInput extends AnyValue = AnyValue, GenericOutput extends MaybeFutureEither<AnyValue> = MaybeFutureEither<AnyValue>> = (input: Awaited<GenericInput> extends infer InferredInput ? InferredInput extends Either ? Unwrap<Exclude<InferredInput, EitherLeft>> : InferredInput : never) => GenericOutput;
|
|
9
9
|
export type EitherRightAsyncPipeResult<GenericPipeOutputs extends AnyValue, GenericLastPipeOutput extends AnyValue> = Extract<Awaited<GenericPipeOutputs>, EitherLeft> | (Awaited<GenericLastPipeOutput> extends infer InferredLastResult ? Exclude<InferredLastResult extends Either ? InferredLastResult : EitherSuccess<InferredLastResult>, EitherLeft> : never);
|
|
10
|
+
/**
|
|
11
|
+
* Asynchronous version of rightPipe. Automatically handles promises, Future, and Either, and short-circuits on the first Left.
|
|
12
|
+
*
|
|
13
|
+
* Signature: `rightAsyncPipe(input, pipe1, pipe2)` → returns a value
|
|
14
|
+
*
|
|
15
|
+
* The input value is not mutated.
|
|
16
|
+
*
|
|
17
|
+
* ```ts
|
|
18
|
+
* const input = E.future(
|
|
19
|
+
* Promise.resolve(
|
|
20
|
+
* true
|
|
21
|
+
* ? false
|
|
22
|
+
* ? true
|
|
23
|
+
* ? E.right("right-1", 1)
|
|
24
|
+
* : E.left("left-1", null)
|
|
25
|
+
* : E.right("right-2", 2)
|
|
26
|
+
* : E.left("left-2", 2),
|
|
27
|
+
* ),
|
|
28
|
+
* );
|
|
29
|
+
*
|
|
30
|
+
* const result = E.rightAsyncPipe(
|
|
31
|
+
* input,
|
|
32
|
+
* (value) => {
|
|
33
|
+
* // type: 1 | 2
|
|
34
|
+
* return value;
|
|
35
|
+
* },
|
|
36
|
+
* );
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* @remarks
|
|
40
|
+
* - Stops at the first Left and forwards it as-is.
|
|
41
|
+
*
|
|
42
|
+
* @see https://utils.duplojs.dev/en/v1/api/either/rightAsyncPipe
|
|
43
|
+
*
|
|
44
|
+
* @namespace E
|
|
45
|
+
*
|
|
46
|
+
*/
|
|
10
47
|
export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends MaybeFutureEither<AnyValue>>(input: GenericInput, pipe1: EitherRightAsyncPipeFunction<GenericInput, GenericOutputPipe1>): Future<Extract<EitherRightAsyncPipeResult<GenericInput | GenericOutputPipe1, GenericOutputPipe1>, any>>;
|
|
11
48
|
export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends MaybeFutureEither<AnyValue>, GenericOutputPipe2 extends MaybeFutureEither<AnyValue>>(input: GenericInput, pipe1: EitherRightAsyncPipeFunction<GenericInput, GenericOutputPipe1>, pipe2: EitherRightAsyncPipeFunction<GenericOutputPipe1, GenericOutputPipe2>): Future<Extract<EitherRightAsyncPipeResult<GenericInput | GenericOutputPipe1 | GenericOutputPipe2, GenericOutputPipe2>, any>>;
|
|
12
49
|
export declare function rightAsyncPipe<GenericInput extends MaybeFutureEither<AnyValue>, GenericOutputPipe1 extends MaybeFutureEither<AnyValue>, GenericOutputPipe2 extends MaybeFutureEither<AnyValue>, GenericOutputPipe3 extends MaybeFutureEither<AnyValue>>(input: GenericInput, pipe1: EitherRightAsyncPipeFunction<GenericInput, GenericOutputPipe1>, pipe2: EitherRightAsyncPipeFunction<GenericOutputPipe1, GenericOutputPipe2>, pipe3: EitherRightAsyncPipeFunction<GenericOutputPipe2, GenericOutputPipe3>): Future<Extract<EitherRightAsyncPipeResult<GenericInput | GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3, GenericOutputPipe3>, any>>;
|
|
@@ -4,6 +4,9 @@ var wrapValue = require('../../common/wrapValue.cjs');
|
|
|
4
4
|
var kind = require('../kind.cjs');
|
|
5
5
|
|
|
6
6
|
const eitherRightKind = kind.createEitherKind("right");
|
|
7
|
+
/**
|
|
8
|
+
* {@include either/right/index.md}
|
|
9
|
+
*/
|
|
7
10
|
function right(information, value = undefined) {
|
|
8
11
|
return eitherRightKind.setTo(kind.eitherInformationKind.setTo(wrapValue.wrapValue(value), information));
|
|
9
12
|
}
|
|
@@ -5,5 +5,41 @@ export declare const eitherRightKind: import("../../common/kind").KindHandler<im
|
|
|
5
5
|
type _EitherRight<GenericInformation extends string = string, GenericValue extends unknown = unknown> = (Kind<typeof eitherRightKind.definition> & Kind<typeof eitherInformationKind.definition, GenericInformation> & WrappedValue<GenericValue>);
|
|
6
6
|
export interface EitherRight<GenericInformation extends string = string, GenericValue extends unknown = unknown> extends _EitherRight<GenericInformation, GenericValue> {
|
|
7
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* Builds an EitherRight by associating mandatory business information (literal string) and an optional payload. This is the basic brick to signal a contextualized success.
|
|
10
|
+
*
|
|
11
|
+
* Signature: `right(information, value)` → returns a value
|
|
12
|
+
*
|
|
13
|
+
* The input value is not mutated.
|
|
14
|
+
*
|
|
15
|
+
* ```ts
|
|
16
|
+
* const input = "SAVE-15" as string;
|
|
17
|
+
*
|
|
18
|
+
* const result = pipe(
|
|
19
|
+
* input,
|
|
20
|
+
* P.when(
|
|
21
|
+
* S.startsWith("SAVE"),
|
|
22
|
+
* (code) => E.right(
|
|
23
|
+
* "coupon.applied",
|
|
24
|
+
* {
|
|
25
|
+
* code,
|
|
26
|
+
* percent: 15,
|
|
27
|
+
* },
|
|
28
|
+
* ),
|
|
29
|
+
* ),
|
|
30
|
+
* P.otherwise(
|
|
31
|
+
* (value) => E.left("coupon.invalid", value),
|
|
32
|
+
* ),
|
|
33
|
+
* );
|
|
34
|
+
*
|
|
35
|
+
* // type: E.EitherRight< "coupon.applied", { readonly code: `SAVE${string}`; readonly percent: 15; } >
|
|
36
|
+
* // | E.EitherLeft< "coupon.invalid", string >
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* @see https://utils.duplojs.dev/en/v1/api/either/right
|
|
40
|
+
*
|
|
41
|
+
* @namespace E
|
|
42
|
+
*
|
|
43
|
+
*/
|
|
8
44
|
export declare function right<GenericInformation extends string, const GenericValue extends unknown = undefined>(information: GenericInformation, value?: GenericValue): EitherRight<GenericInformation, GenericValue>;
|
|
9
45
|
export {};
|
|
@@ -2,6 +2,9 @@ import { wrapValue } from '../../common/wrapValue.mjs';
|
|
|
2
2
|
import { createEitherKind, eitherInformationKind } from '../kind.mjs';
|
|
3
3
|
|
|
4
4
|
const eitherRightKind = createEitherKind("right");
|
|
5
|
+
/**
|
|
6
|
+
* {@include either/right/index.md}
|
|
7
|
+
*/
|
|
5
8
|
function right(information, value = undefined) {
|
|
6
9
|
return eitherRightKind.setTo(eitherInformationKind.setTo(wrapValue(value), information));
|
|
7
10
|
}
|
|
@@ -10,6 +10,9 @@ var entries = require('../../object/entries.cjs');
|
|
|
10
10
|
var success = require('./success.cjs');
|
|
11
11
|
var is = require('../left/is.cjs');
|
|
12
12
|
|
|
13
|
+
/**
|
|
14
|
+
* {@include either/group/index.md}
|
|
15
|
+
*/
|
|
13
16
|
function group(group) {
|
|
14
17
|
return pipe.pipe(group, entries.entries, reduce.reduce(reduce.reduceFrom({}), ({ element: [key, value], lastValue, nextWithObject, exit }) => pipe.pipe(value, when.when(isType.isType("function"), (getter) => getter()), when.when(is.isLeft, exit), when$1.whenIsRight((data) => nextWithObject(lastValue, { [key]: data })))), whenNot.whenNot(is.isLeft, success.success));
|
|
15
18
|
}
|
|
@@ -8,5 +8,31 @@ type ComputeResult<GenericGroup extends Record<string, MayBeGetter<Either>>> = (
|
|
|
8
8
|
}>> | {
|
|
9
9
|
[Prop in keyof GenericGroup]: GenericGroup[Prop] extends AnyFunction ? Extract<ReturnType<GenericGroup[Prop]>, EitherLeft> : Extract<GenericGroup[Prop], EitherLeft>;
|
|
10
10
|
}[keyof GenericGroup]);
|
|
11
|
+
/**
|
|
12
|
+
* The group() function runs several Either values (or functions returning an Either) and returns the first Left encountered. If all are Right, it aggregates their values into a typed object.
|
|
13
|
+
*
|
|
14
|
+
* Signature: `group(group)` → returns a value
|
|
15
|
+
*
|
|
16
|
+
* The input value is not mutated.
|
|
17
|
+
*
|
|
18
|
+
* ```ts
|
|
19
|
+
* const result = E.group({
|
|
20
|
+
* user: E.right("user.loaded", { id: 1 }),
|
|
21
|
+
* rights: E.right("rights.loaded", ["read", "write"]),
|
|
22
|
+
* profile: E.left("profile.missing", null),
|
|
23
|
+
* });
|
|
24
|
+
*
|
|
25
|
+
* // type: E.EitherLeft<"profile.missing", null>
|
|
26
|
+
* // | E.EitherSuccess<{ user: { readonly id: 1; }; rights: readonly ["read", "write"]; profile: never; }>
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* @remarks
|
|
30
|
+
* - Stops at the first Left and forwards it as-is.
|
|
31
|
+
*
|
|
32
|
+
* @see https://utils.duplojs.dev/en/v1/api/either/group
|
|
33
|
+
*
|
|
34
|
+
* @namespace E
|
|
35
|
+
*
|
|
36
|
+
*/
|
|
11
37
|
export declare function group<GenericGroup extends Record<string, MayBeGetter<Either>>>(group: GenericGroup): Extract<ComputeResult<GenericGroup>, any>;
|
|
12
38
|
export {};
|
|
@@ -8,6 +8,9 @@ import { entries } from '../../object/entries.mjs';
|
|
|
8
8
|
import { success } from './success.mjs';
|
|
9
9
|
import { isLeft } from '../left/is.mjs';
|
|
10
10
|
|
|
11
|
+
/**
|
|
12
|
+
* {@include either/group/index.md}
|
|
13
|
+
*/
|
|
11
14
|
function group(group) {
|
|
12
15
|
return pipe(group, entries, reduce(reduceFrom({}), ({ element: [key, value], lastValue, nextWithObject, exit }) => pipe(value, when(isType("function"), (getter) => getter()), when(isLeft, exit), whenIsRight((data) => nextWithObject(lastValue, { [key]: data })))), whenNot(isLeft, success));
|
|
13
16
|
}
|
package/dist/either/right/is.cjs
CHANGED
|
@@ -4,6 +4,9 @@ var kind = require('../kind.cjs');
|
|
|
4
4
|
var create = require('./create.cjs');
|
|
5
5
|
var wrapValue = require('../../common/wrapValue.cjs');
|
|
6
6
|
|
|
7
|
+
/**
|
|
8
|
+
* {@include either/isRight/index.md}
|
|
9
|
+
*/
|
|
7
10
|
function isRight(input) {
|
|
8
11
|
return create.eitherRightKind.has(input)
|
|
9
12
|
&& kind.eitherInformationKind.has(input)
|
|
@@ -1,2 +1,24 @@
|
|
|
1
1
|
import { type EitherRight } from "./create";
|
|
2
|
+
/**
|
|
3
|
+
* Type guard that checks whether a value is an EitherRight. Allows accessing the payload without explicit conversion.
|
|
4
|
+
*
|
|
5
|
+
* Signature: `isRight(input)` → returns a value
|
|
6
|
+
*
|
|
7
|
+
* Acts as a type guard and narrows the input type when true.
|
|
8
|
+
*
|
|
9
|
+
* ```ts
|
|
10
|
+
* const result = true
|
|
11
|
+
* ? E.ok()
|
|
12
|
+
* : E.fail();
|
|
13
|
+
*
|
|
14
|
+
* if (E.isRight(result)) {
|
|
15
|
+
* // type: E.EitherOk
|
|
16
|
+
* }
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* @see https://utils.duplojs.dev/en/v1/api/either/isRight
|
|
20
|
+
*
|
|
21
|
+
* @namespace E
|
|
22
|
+
*
|
|
23
|
+
*/
|
|
2
24
|
export declare function isRight<GenericInput extends unknown>(input: GenericInput): input is Extract<GenericInput, EitherRight>;
|
package/dist/either/right/is.mjs
CHANGED
|
@@ -2,6 +2,9 @@ import { eitherInformationKind } from '../kind.mjs';
|
|
|
2
2
|
import { eitherRightKind } from './create.mjs';
|
|
3
3
|
import { isWrappedValue } from '../../common/wrapValue.mjs';
|
|
4
4
|
|
|
5
|
+
/**
|
|
6
|
+
* {@include either/isRight/index.md}
|
|
7
|
+
*/
|
|
5
8
|
function isRight(input) {
|
|
6
9
|
return eitherRightKind.has(input)
|
|
7
10
|
&& eitherInformationKind.has(input)
|
package/dist/either/right/ok.cjs
CHANGED
|
@@ -4,5 +4,30 @@ export declare const eitherOkKind: import("../../common/kind").KindHandler<impor
|
|
|
4
4
|
type _EitherOk = (EitherRight<"ok", never> & Kind<typeof eitherOkKind.definition>);
|
|
5
5
|
export interface EitherOk extends _EitherOk {
|
|
6
6
|
}
|
|
7
|
+
/**
|
|
8
|
+
* Returns an EitherRight<"ok", never>: an empty success that confirms an operation went fine without extra data.
|
|
9
|
+
*
|
|
10
|
+
* Signature: `ok()` → returns a value
|
|
11
|
+
*
|
|
12
|
+
* ```ts
|
|
13
|
+
* const input = "hello@duplo.dev" as string;
|
|
14
|
+
*
|
|
15
|
+
* const result = pipe(
|
|
16
|
+
* input,
|
|
17
|
+
* whenElse(
|
|
18
|
+
* S.includes("@"),
|
|
19
|
+
* E.ok,
|
|
20
|
+
* E.fail,
|
|
21
|
+
* ),
|
|
22
|
+
* );
|
|
23
|
+
*
|
|
24
|
+
* // type: E.EitherOk | E.EitherFail
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* @see https://utils.duplojs.dev/en/v1/api/either/ok
|
|
28
|
+
*
|
|
29
|
+
* @namespace E
|
|
30
|
+
*
|
|
31
|
+
*/
|
|
7
32
|
export declare function ok(): EitherOk;
|
|
8
33
|
export {};
|
package/dist/either/right/ok.mjs
CHANGED
|
@@ -5,6 +5,39 @@ import { type AnyValue, type Unwrap } from "../../common";
|
|
|
5
5
|
type Either = EitherRight | EitherLeft;
|
|
6
6
|
export type EitherRightPipeFunction<GenericInput extends AnyValue = AnyValue, GenericOutput extends AnyValue = AnyValue> = (input: GenericInput extends Either ? Unwrap<Exclude<GenericInput, EitherLeft>> : GenericInput) => GenericOutput;
|
|
7
7
|
export type EitherRightPipeResult<GenericPipeOutputs extends AnyValue, GenericLastPipeOutput extends AnyValue> = Extract<GenericPipeOutputs, EitherLeft> | Exclude<GenericLastPipeOutput extends Either ? GenericLastPipeOutput : EitherSuccess<GenericLastPipeOutput>, EitherLeft>;
|
|
8
|
+
/**
|
|
9
|
+
* Chains synchronous transformations on an Either as long as it remains Right. The pipeline stops as soon as a Left is returned.
|
|
10
|
+
*
|
|
11
|
+
* Signature: `rightPipe(input, pipe1, pipe2)` → returns a value
|
|
12
|
+
*
|
|
13
|
+
* The input value is not mutated.
|
|
14
|
+
*
|
|
15
|
+
* ```ts
|
|
16
|
+
* const input = true
|
|
17
|
+
* ? false
|
|
18
|
+
* ? true
|
|
19
|
+
* ? E.right("right-1", 1)
|
|
20
|
+
* : E.left("left-1", null)
|
|
21
|
+
* : E.right("right-2", 2)
|
|
22
|
+
* : E.left("left-2", 2);
|
|
23
|
+
*
|
|
24
|
+
* const result = E.rightPipe(
|
|
25
|
+
* input,
|
|
26
|
+
* (value) => {
|
|
27
|
+
* // type: 1 | 2
|
|
28
|
+
* return value;
|
|
29
|
+
* },
|
|
30
|
+
* );
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* @remarks
|
|
34
|
+
* - Stops at the first Left and forwards it as-is.
|
|
35
|
+
*
|
|
36
|
+
* @see https://utils.duplojs.dev/en/v1/api/either/rightPipe
|
|
37
|
+
*
|
|
38
|
+
* @namespace E
|
|
39
|
+
*
|
|
40
|
+
*/
|
|
8
41
|
export declare function rightPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue>(input: GenericInput, pipe1: EitherRightPipeFunction<GenericInput, GenericOutputPipe1>): Extract<EitherRightPipeResult<GenericInput | GenericOutputPipe1, GenericOutputPipe1>, any>;
|
|
9
42
|
export declare function rightPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue, GenericOutputPipe2 extends AnyValue>(input: GenericInput, pipe1: EitherRightPipeFunction<GenericInput, GenericOutputPipe1>, pipe2: EitherRightPipeFunction<GenericOutputPipe1, GenericOutputPipe2>): Extract<EitherRightPipeResult<GenericInput | GenericOutputPipe1 | GenericOutputPipe2, GenericOutputPipe2>, any>;
|
|
10
43
|
export declare function rightPipe<GenericInput extends AnyValue, GenericOutputPipe1 extends AnyValue, GenericOutputPipe2 extends AnyValue, GenericOutputPipe3 extends AnyValue>(input: GenericInput, pipe1: EitherRightPipeFunction<GenericInput, GenericOutputPipe1>, pipe2: EitherRightPipeFunction<GenericOutputPipe1, GenericOutputPipe2>, pipe3: EitherRightPipeFunction<GenericOutputPipe2, GenericOutputPipe3>): Extract<EitherRightPipeResult<GenericInput | GenericOutputPipe1 | GenericOutputPipe2 | GenericOutputPipe3, GenericOutputPipe3>, any>;
|
|
@@ -4,6 +4,9 @@ var kind = require('../kind.cjs');
|
|
|
4
4
|
var create = require('./create.cjs');
|
|
5
5
|
|
|
6
6
|
const eitherSuccessKind = kind.createEitherKind("success");
|
|
7
|
+
/**
|
|
8
|
+
* {@include either/success/index.md}
|
|
9
|
+
*/
|
|
7
10
|
function success(value) {
|
|
8
11
|
return eitherSuccessKind.setTo(create.right("success", value));
|
|
9
12
|
}
|
|
@@ -4,5 +4,33 @@ export declare const eitherSuccessKind: import("../../common/kind").KindHandler<
|
|
|
4
4
|
type _EitherSuccess<GenericValue extends unknown = unknown> = (EitherRight<"success", GenericValue> & Kind<typeof eitherSuccessKind.definition>);
|
|
5
5
|
export interface EitherSuccess<GenericValue extends unknown = unknown> extends _EitherSuccess<GenericValue> {
|
|
6
6
|
}
|
|
7
|
+
/**
|
|
8
|
+
* Readable shortcut to create an EitherRight with the literal info "success". Ideal for functions that return only one type of success.
|
|
9
|
+
*
|
|
10
|
+
* Signature: `success(value)` → returns a value
|
|
11
|
+
*
|
|
12
|
+
* The input value is not mutated.
|
|
13
|
+
*
|
|
14
|
+
* ```ts
|
|
15
|
+
* const input = " duplo ";
|
|
16
|
+
*
|
|
17
|
+
* const result = pipe(
|
|
18
|
+
* input,
|
|
19
|
+
* S.trim,
|
|
20
|
+
* whenElse(
|
|
21
|
+
* (value) => equal(S.length(value), 0),
|
|
22
|
+
* E.error,
|
|
23
|
+
* E.success,
|
|
24
|
+
* ),
|
|
25
|
+
* );
|
|
26
|
+
*
|
|
27
|
+
* // type: E.EitherError<string> | E.EitherSuccess<string>
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* @see https://utils.duplojs.dev/en/v1/api/either/success
|
|
31
|
+
*
|
|
32
|
+
* @namespace E
|
|
33
|
+
*
|
|
34
|
+
*/
|
|
7
35
|
export declare function success<const GenericValue extends unknown>(value: GenericValue): EitherSuccess<GenericValue>;
|
|
8
36
|
export {};
|
|
@@ -2,6 +2,9 @@ import { createEitherKind } from '../kind.mjs';
|
|
|
2
2
|
import { right } from './create.mjs';
|
|
3
3
|
|
|
4
4
|
const eitherSuccessKind = createEitherKind("success");
|
|
5
|
+
/**
|
|
6
|
+
* {@include either/success/index.md}
|
|
7
|
+
*/
|
|
5
8
|
function success(value) {
|
|
6
9
|
return eitherSuccessKind.setTo(right("success", value));
|
|
7
10
|
}
|
|
@@ -1,4 +1,30 @@
|
|
|
1
1
|
import { type EscapeVoid, type AnyValue, type Unwrap, type BreakGenericLink } from "../../common";
|
|
2
2
|
import { type EitherRight } from "./create";
|
|
3
|
+
/**
|
|
4
|
+
* Applies a function only when the input is an EitherRight. Otherwise, the original value is returned as-is.
|
|
5
|
+
*
|
|
6
|
+
* **Supported call styles:**
|
|
7
|
+
* - Classic: `whenIsRight(input, theFunction)` → returns a value
|
|
8
|
+
* - Curried: `whenIsRight(theFunction)` → returns a function waiting for the input
|
|
9
|
+
*
|
|
10
|
+
* If the condition matches, the callback runs; otherwise the original value is returned.
|
|
11
|
+
*
|
|
12
|
+
* ```ts
|
|
13
|
+
* pipe(
|
|
14
|
+
* true
|
|
15
|
+
* ? E.success("true")
|
|
16
|
+
* : E.error("false"),
|
|
17
|
+
*
|
|
18
|
+
* E.whenIsRight((value) => {
|
|
19
|
+
* // type: "true"
|
|
20
|
+
* }),
|
|
21
|
+
* );
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* @see https://utils.duplojs.dev/en/v1/api/either/whenIsRight
|
|
25
|
+
*
|
|
26
|
+
* @namespace E
|
|
27
|
+
*
|
|
28
|
+
*/
|
|
3
29
|
export declare function whenIsRight<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(theFunction: (eitherValue: Unwrap<Extract<BreakGenericLink<GenericInput>, EitherRight>>) => GenericOutput): (input: GenericInput) => Exclude<BreakGenericLink<GenericInput>, EitherRight> | GenericOutput;
|
|
4
30
|
export declare function whenIsRight<const GenericInput extends unknown, const GenericOutput extends AnyValue | EscapeVoid>(input: GenericInput, theFunction: (eitherValue: Unwrap<Extract<BreakGenericLink<GenericInput>, EitherRight>>) => GenericOutput): Exclude<GenericInput, EitherRight> | GenericOutput;
|
|
@@ -4,6 +4,9 @@ var kind = require('./kind.cjs');
|
|
|
4
4
|
var create = require('./left/create.cjs');
|
|
5
5
|
|
|
6
6
|
const eitherCallbackErrorKind = kind.createEitherKind("callback-error");
|
|
7
|
+
/**
|
|
8
|
+
* {@include either/safeCallback/index.md}
|
|
9
|
+
*/
|
|
7
10
|
function callbackError(value) {
|
|
8
11
|
return eitherCallbackErrorKind.setTo(create.left("callback", value));
|
|
9
12
|
}
|
|
@@ -4,6 +4,32 @@ export declare const eitherCallbackErrorKind: import("../common").KindHandler<im
|
|
|
4
4
|
type _EitherCallbackError = (EitherLeft<"callback", unknown> & Kind<typeof eitherCallbackErrorKind.definition>);
|
|
5
5
|
export interface EitherCallbackError extends _EitherCallbackError {
|
|
6
6
|
}
|
|
7
|
+
/**
|
|
8
|
+
* Runs a callback in a safe block. If the callback throws, the function returns a "callback" typed EitherLeft instead of propagating the exception.
|
|
9
|
+
*
|
|
10
|
+
* Signature: `safeCallback(theFunction)` → returns a value
|
|
11
|
+
*
|
|
12
|
+
* The input value is not mutated.
|
|
13
|
+
*
|
|
14
|
+
* ```ts
|
|
15
|
+
* const success = E.safeCallback(() => 42);
|
|
16
|
+
*
|
|
17
|
+
* const failure = E.safeCallback(() => {
|
|
18
|
+
* throw new Error("boom");
|
|
19
|
+
* });
|
|
20
|
+
*
|
|
21
|
+
* const isFailure = E.isLeft(failure);
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* @remarks
|
|
25
|
+
* - Catches exceptions thrown by the callback and wraps them in an `EitherLeft<"callback">`
|
|
26
|
+
* - Useful for working in an unsafe environment (3rd party libraries, user code, etc.)
|
|
27
|
+
*
|
|
28
|
+
* @see https://utils.duplojs.dev/en/v1/api/either/safeCallback
|
|
29
|
+
*
|
|
30
|
+
* @namespace E
|
|
31
|
+
*
|
|
32
|
+
*/
|
|
7
33
|
export declare function callbackError(value: unknown): EitherCallbackError;
|
|
8
34
|
export declare function safeCallback<GenericOutput extends unknown>(theFunction: () => GenericOutput): GenericOutput | EitherCallbackError;
|
|
9
35
|
export {};
|
|
@@ -2,6 +2,9 @@ import { createEitherKind } from './kind.mjs';
|
|
|
2
2
|
import { left } from './left/create.mjs';
|
|
3
3
|
|
|
4
4
|
const eitherCallbackErrorKind = createEitherKind("callback-error");
|
|
5
|
+
/**
|
|
6
|
+
* {@include either/safeCallback/index.md}
|
|
7
|
+
*/
|
|
5
8
|
function callbackError(value) {
|
|
6
9
|
return eitherCallbackErrorKind.setTo(left("callback", value));
|
|
7
10
|
}
|
|
@@ -3,6 +3,42 @@ import { type EitherRight } from "./right";
|
|
|
3
3
|
import { type EitherLeft } from "./left";
|
|
4
4
|
import { eitherInformationKind } from "./kind";
|
|
5
5
|
type Either = EitherRight | EitherLeft;
|
|
6
|
+
/**
|
|
7
|
+
* Functional pattern matching based on the literal information of an Either. The function is executed only when the information (or one of the informations) matches.
|
|
8
|
+
*
|
|
9
|
+
* **Supported call styles:**
|
|
10
|
+
* - Classic: `whenHasInformation(input, information, theFunction)` → returns a value
|
|
11
|
+
* - Curried: `whenHasInformation(information, theFunction)` → returns a function waiting for the input
|
|
12
|
+
*
|
|
13
|
+
* If the condition matches, the callback runs; otherwise the original value is returned.
|
|
14
|
+
*
|
|
15
|
+
* ```ts
|
|
16
|
+
* const input = true
|
|
17
|
+
* ? false
|
|
18
|
+
* ? E.right("right-1", 1)
|
|
19
|
+
* : E.left("left-2", 2)
|
|
20
|
+
* : E.left("left-3", 3);
|
|
21
|
+
*
|
|
22
|
+
* const result = pipe(
|
|
23
|
+
* input,
|
|
24
|
+
* E.whenHasInformation("right-1", (value) => {
|
|
25
|
+
* // type: 1
|
|
26
|
+
* return value;
|
|
27
|
+
* }),
|
|
28
|
+
* E.whenHasInformation("left-2", (value) => {
|
|
29
|
+
* // type: 2
|
|
30
|
+
* return value;
|
|
31
|
+
* }),
|
|
32
|
+
* );
|
|
33
|
+
*
|
|
34
|
+
* // type: 1 | 2 | E.EitherLeft<"left-3", 3>
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* @see https://utils.duplojs.dev/en/v1/api/either/whenHasInformation
|
|
38
|
+
*
|
|
39
|
+
* @namespace E
|
|
40
|
+
*
|
|
41
|
+
*/
|
|
6
42
|
export declare function whenHasInformation<const GenericInput extends unknown, GenericInformation extends (GenericInput extends Either ? ReturnType<typeof eitherInformationKind.getValue<GenericInput>> : never), const GenericOutput extends AnyValue>(information: GenericInformation | GenericInformation[], theFunction: (value: Unwrap<Extract<BreakGenericLink<GenericInput>, Kind<typeof eitherInformationKind.definition, GenericInformation> & WrappedValue>>) => GenericOutput): (input: GenericInput) => GenericOutput | Exclude<BreakGenericLink<GenericInput>, Kind<typeof eitherInformationKind.definition, GenericInformation>>;
|
|
7
43
|
export declare function whenHasInformation<const GenericInput extends unknown, GenericInformation extends (GenericInput extends Either ? ReturnType<typeof eitherInformationKind.getValue<GenericInput>> : never), const GenericOutput extends AnyValue>(input: GenericInput, information: GenericInformation | GenericInformation[], theFunction: (value: Unwrap<Extract<BreakGenericLink<GenericInput>, Kind<typeof eitherInformationKind.definition, GenericInformation> & WrappedValue>>) => GenericOutput): GenericOutput | Exclude<GenericInput, Kind<typeof eitherInformationKind.definition, GenericInformation>>;
|
|
8
44
|
export {};
|