@duplojs/lang 0.0.0 → 0.0.1-beta.10
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 +1 -1
- package/dist/array/chunk.d.ts +3 -2
- package/dist/array/concat.d.ts +1 -1
- package/dist/array/copyWithin.d.ts +1 -1
- package/dist/array/fill/all.d.ts +1 -1
- package/dist/array/fill/default.d.ts +3 -3
- package/dist/array/filter.d.ts +1 -1
- package/dist/array/findAndReplace.d.ts +1 -1
- package/dist/array/findAndSplice/delete.d.ts +1 -1
- package/dist/array/findAndSplice/insert.d.ts +1 -1
- package/dist/array/index.cjs +0 -3
- package/dist/array/index.d.ts +0 -1
- package/dist/array/index.mjs +1 -3
- package/dist/array/insert.d.ts +3 -3
- package/dist/array/length.d.ts +1 -1
- package/dist/array/lengthEqual.d.ts +1 -1
- package/dist/array/map.d.ts +1 -1
- package/dist/array/maxElements.d.ts +1 -1
- package/dist/array/minElements.d.ts +1 -1
- package/dist/array/pop.d.ts +1 -1
- package/dist/array/prepend.d.ts +1 -1
- package/dist/array/push.d.ts +3 -3
- package/dist/array/reverse.d.ts +1 -1
- package/dist/array/shift.d.ts +1 -1
- package/dist/array/sort.d.ts +1 -1
- package/dist/array/splice/delete.d.ts +1 -1
- package/dist/array/splice/insert.d.ts +1 -1
- package/dist/array/unshift.d.ts +3 -3
- package/dist/chrono/createDate.cjs +9 -9
- package/dist/chrono/createDate.d.ts +3 -3
- package/dist/chrono/createDate.mjs +9 -9
- package/dist/chrono/createTime.cjs +24 -13
- package/dist/chrono/createTime.mjs +24 -13
- package/dist/chrono/theDate.cjs +15 -16
- package/dist/chrono/theDate.d.ts +15 -15
- package/dist/chrono/theDate.mjs +15 -16
- package/dist/chrono/theTime.cjs +0 -1
- package/dist/chrono/theTime.mjs +0 -1
- package/dist/chrono/types/spoolingTime.d.ts +2 -1
- package/dist/common/constraint/cast/index.d.ts +3 -3
- package/dist/common/constraint/cast/number.d.ts +15 -0
- package/dist/common/constraint/cast/string.d.ts +21 -0
- package/dist/common/constraint/index.d.ts +2 -0
- package/dist/common/constraint/infer/array.d.ts +7 -0
- package/dist/{array/infer.cjs → common/constraint/infer/index.cjs} +1 -1
- package/dist/common/constraint/infer/index.d.ts +26 -0
- package/dist/{string/infer.mjs → common/constraint/infer/index.mjs} +1 -1
- package/dist/common/constraint/infer/number.d.ts +11 -0
- package/dist/common/constraint/infer/string.d.ts +13 -0
- package/dist/common/constraint/remove.cjs +6 -0
- package/dist/common/constraint/remove.d.ts +2 -0
- package/dist/common/constraint/remove.mjs +6 -0
- package/dist/common/formData.cjs +4 -2
- package/dist/common/formData.mjs +4 -2
- package/dist/common/index.cjs +6 -0
- package/dist/common/index.mjs +5 -1
- package/dist/common/isType.d.ts +3 -2
- package/dist/common/queue.cjs +9 -7
- package/dist/common/queue.mjs +9 -7
- package/dist/common/types/forward.d.ts +1 -0
- package/dist/common/types/index.d.ts +3 -0
- package/dist/common/types/isObject.d.ts +8 -0
- package/dist/common/types/json.d.ts +1 -1
- package/dist/common/types/splitPromise.d.ts +1 -0
- package/dist/dataStructure/common/codec/base.cjs +29 -0
- package/dist/dataStructure/common/{codec.d.ts → codec/base.d.ts} +8 -8
- package/dist/dataStructure/common/codec/base.mjs +26 -0
- package/dist/dataStructure/common/codec/defaults/index.d.ts +2 -0
- package/dist/dataStructure/common/codec/defaults/json.cjs +26 -0
- package/dist/dataStructure/common/codec/defaults/json.d.ts +6 -0
- package/dist/dataStructure/common/codec/defaults/json.mjs +26 -0
- package/dist/dataStructure/common/codec/defaults/string.cjs +44 -0
- package/dist/dataStructure/common/codec/defaults/string.d.ts +11 -0
- package/dist/dataStructure/common/codec/defaults/string.mjs +44 -0
- package/dist/dataStructure/common/codec/index.d.ts +2 -0
- package/dist/dataStructure/common/error/base.cjs +73 -0
- package/dist/dataStructure/common/error/base.d.ts +50 -0
- package/dist/dataStructure/common/error/base.mjs +69 -0
- package/dist/dataStructure/common/error/defaultInterpreter.cjs +84 -0
- package/dist/dataStructure/common/error/defaultInterpreter.d.ts +57 -0
- package/dist/dataStructure/common/error/defaultInterpreter.mjs +83 -0
- package/dist/dataStructure/common/error/index.d.ts +3 -0
- package/dist/dataStructure/common/error/interpreter.cjs +45 -0
- package/dist/dataStructure/common/error/interpreter.d.ts +36 -0
- package/dist/dataStructure/common/error/interpreter.mjs +45 -0
- package/dist/dataStructure/constraint/base.cjs +34 -5
- package/dist/dataStructure/constraint/base.d.ts +13 -4
- package/dist/dataStructure/constraint/base.mjs +34 -6
- package/dist/dataStructure/constraint/defaults/absolutePath.cjs +13 -0
- package/dist/dataStructure/constraint/defaults/absolutePath.d.ts +10 -0
- package/dist/dataStructure/constraint/defaults/absolutePath.mjs +12 -0
- package/dist/dataStructure/constraint/defaults/allowedCharacters.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/allowedCharacters.d.ts +1 -3
- package/dist/dataStructure/constraint/defaults/allowedCharacters.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/arrayLengthEqual.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/arrayLengthEqual.d.ts +1 -1
- package/dist/dataStructure/constraint/defaults/arrayLengthEqual.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/betweenThan.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/betweenThan.d.ts +1 -1
- package/dist/dataStructure/constraint/defaults/betweenThan.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/betweenThanOrEqual.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/betweenThanOrEqual.d.ts +1 -1
- package/dist/dataStructure/constraint/defaults/betweenThanOrEqual.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/email.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/email.d.ts +1 -1
- package/dist/dataStructure/constraint/defaults/email.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/even.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/even.d.ts +1 -1
- package/dist/dataStructure/constraint/defaults/even.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/greaterThan.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/greaterThan.d.ts +1 -1
- package/dist/dataStructure/constraint/defaults/greaterThan.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/greaterThanOrEqual.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/greaterThanOrEqual.d.ts +1 -1
- package/dist/dataStructure/constraint/defaults/greaterThanOrEqual.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/index.d.ts +6 -0
- package/dist/dataStructure/constraint/defaults/integer.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/integer.d.ts +1 -1
- package/dist/dataStructure/constraint/defaults/integer.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/lessThan.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/lessThan.d.ts +1 -1
- package/dist/dataStructure/constraint/defaults/lessThan.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/lessThanOrEqual.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/lessThanOrEqual.d.ts +1 -1
- package/dist/dataStructure/constraint/defaults/lessThanOrEqual.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/maxCharacters.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/maxCharacters.d.ts +1 -1
- package/dist/dataStructure/constraint/defaults/maxCharacters.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/maxElements.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/maxElements.d.ts +1 -1
- package/dist/dataStructure/constraint/defaults/maxElements.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/minCharacters.cjs +4 -4
- package/dist/dataStructure/constraint/defaults/minCharacters.d.ts +2 -2
- package/dist/dataStructure/constraint/defaults/minCharacters.mjs +4 -4
- package/dist/dataStructure/constraint/defaults/minElements.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/minElements.d.ts +1 -1
- package/dist/dataStructure/constraint/defaults/minElements.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/multipleOf.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/multipleOf.d.ts +1 -1
- package/dist/dataStructure/constraint/defaults/multipleOf.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/negative.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/negative.d.ts +1 -1
- package/dist/dataStructure/constraint/defaults/negative.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/notEmpty.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/notEmpty.d.ts +1 -1
- package/dist/dataStructure/constraint/defaults/notEmpty.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/notZero.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/notZero.d.ts +1 -1
- package/dist/dataStructure/constraint/defaults/notZero.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/numberInString.cjs +13 -0
- package/dist/dataStructure/constraint/defaults/numberInString.d.ts +10 -0
- package/dist/dataStructure/constraint/defaults/numberInString.mjs +12 -0
- package/dist/dataStructure/constraint/defaults/odd.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/odd.d.ts +1 -1
- package/dist/dataStructure/constraint/defaults/odd.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/path.cjs +13 -0
- package/dist/dataStructure/constraint/defaults/path.d.ts +10 -0
- package/dist/dataStructure/constraint/defaults/path.mjs +12 -0
- package/dist/dataStructure/constraint/defaults/positive.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/positive.d.ts +1 -1
- package/dist/dataStructure/constraint/defaults/positive.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/refine.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/refine.d.ts +1 -1
- package/dist/dataStructure/constraint/defaults/refine.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/regex.cjs +13 -0
- package/dist/dataStructure/constraint/defaults/regex.d.ts +10 -0
- package/dist/dataStructure/constraint/defaults/regex.mjs +12 -0
- package/dist/dataStructure/constraint/defaults/safe.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/safe.d.ts +1 -1
- package/dist/dataStructure/constraint/defaults/safe.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/segmentPath.cjs +13 -0
- package/dist/dataStructure/constraint/defaults/segmentPath.d.ts +10 -0
- package/dist/dataStructure/constraint/defaults/segmentPath.mjs +12 -0
- package/dist/dataStructure/constraint/defaults/strictNegative.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/strictNegative.d.ts +1 -1
- package/dist/dataStructure/constraint/defaults/strictNegative.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/strictPositive.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/strictPositive.d.ts +1 -1
- package/dist/dataStructure/constraint/defaults/strictPositive.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/stringLengthEqual.cjs +1 -1
- package/dist/dataStructure/constraint/defaults/stringLengthEqual.d.ts +1 -1
- package/dist/dataStructure/constraint/defaults/stringLengthEqual.mjs +1 -1
- package/dist/dataStructure/constraint/defaults/trimmed.cjs +13 -0
- package/dist/dataStructure/constraint/defaults/trimmed.d.ts +10 -0
- package/dist/dataStructure/constraint/defaults/trimmed.mjs +12 -0
- package/dist/dataStructure/constraint/defaults/url.cjs +2 -2
- package/dist/dataStructure/constraint/defaults/url.d.ts +2 -3
- package/dist/dataStructure/constraint/defaults/url.mjs +2 -2
- package/dist/dataStructure/constraint/defaults/uuid.cjs +2 -4
- package/dist/dataStructure/constraint/defaults/uuid.d.ts +1 -3
- package/dist/dataStructure/constraint/defaults/uuid.mjs +4 -5
- package/dist/dataStructure/constraint/identifier.d.ts +3 -4
- package/dist/dataStructure/constraint/types/constraints.d.ts +22 -15
- package/dist/dataStructure/fundamentalType/base.cjs +3 -3
- package/dist/dataStructure/fundamentalType/base.d.ts +4 -5
- package/dist/dataStructure/fundamentalType/base.mjs +3 -3
- package/dist/dataStructure/fundamentalType/defaults/bigint.cjs +4 -2
- package/dist/dataStructure/fundamentalType/defaults/bigint.d.ts +4 -4
- package/dist/dataStructure/fundamentalType/defaults/bigint.mjs +5 -2
- package/dist/dataStructure/fundamentalType/defaults/boolean.cjs +4 -2
- package/dist/dataStructure/fundamentalType/defaults/boolean.d.ts +4 -4
- package/dist/dataStructure/fundamentalType/defaults/boolean.mjs +5 -2
- package/dist/dataStructure/fundamentalType/defaults/date.cjs +4 -2
- package/dist/dataStructure/fundamentalType/defaults/date.d.ts +4 -4
- package/dist/dataStructure/fundamentalType/defaults/date.mjs +5 -2
- package/dist/dataStructure/fundamentalType/defaults/null.cjs +4 -2
- package/dist/dataStructure/fundamentalType/defaults/null.d.ts +4 -4
- package/dist/dataStructure/fundamentalType/defaults/null.mjs +5 -2
- package/dist/dataStructure/fundamentalType/defaults/number.cjs +4 -2
- package/dist/dataStructure/fundamentalType/defaults/number.d.ts +4 -4
- package/dist/dataStructure/fundamentalType/defaults/number.mjs +5 -2
- package/dist/dataStructure/fundamentalType/defaults/string.cjs +4 -2
- package/dist/dataStructure/fundamentalType/defaults/string.d.ts +4 -4
- package/dist/dataStructure/fundamentalType/defaults/string.mjs +5 -2
- package/dist/dataStructure/fundamentalType/defaults/time.cjs +4 -2
- package/dist/dataStructure/fundamentalType/defaults/time.d.ts +4 -4
- package/dist/dataStructure/fundamentalType/defaults/time.mjs +5 -2
- package/dist/dataStructure/fundamentalType/defaults/undefined.cjs +4 -2
- package/dist/dataStructure/fundamentalType/defaults/undefined.d.ts +4 -4
- package/dist/dataStructure/fundamentalType/defaults/undefined.mjs +5 -2
- package/dist/dataStructure/fundamentalType/identifier.d.ts +3 -4
- package/dist/dataStructure/helpers/absolutePath.cjs +7 -0
- package/dist/dataStructure/helpers/absolutePath.d.ts +2 -0
- package/dist/dataStructure/helpers/absolutePath.mjs +7 -0
- package/dist/dataStructure/helpers/array.d.ts +1 -1
- package/dist/dataStructure/helpers/bigint.d.ts +1 -1
- package/dist/dataStructure/helpers/boolean.d.ts +1 -1
- package/dist/dataStructure/helpers/date.d.ts +1 -1
- package/dist/dataStructure/helpers/extend.d.ts +1 -1
- package/dist/dataStructure/helpers/index.d.ts +10 -1
- package/dist/dataStructure/helpers/isNullable.cjs +12 -0
- package/dist/dataStructure/helpers/isNullable.d.ts +2 -0
- package/dist/dataStructure/helpers/isNullable.mjs +12 -0
- package/dist/dataStructure/helpers/isOptional.cjs +12 -0
- package/dist/dataStructure/helpers/isOptional.d.ts +2 -0
- package/dist/dataStructure/helpers/isOptional.mjs +12 -0
- package/dist/dataStructure/helpers/lazy.d.ts +1 -1
- package/dist/dataStructure/helpers/null.d.ts +1 -1
- package/dist/dataStructure/helpers/nullable.cjs +5 -2
- package/dist/dataStructure/helpers/nullable.mjs +5 -2
- package/dist/dataStructure/helpers/number.d.ts +1 -1
- package/dist/dataStructure/helpers/numberInString.cjs +7 -0
- package/dist/dataStructure/helpers/numberInString.d.ts +2 -0
- package/dist/dataStructure/helpers/numberInString.mjs +7 -0
- package/dist/dataStructure/helpers/object.d.ts +1 -1
- package/dist/dataStructure/helpers/optional.cjs +5 -2
- package/dist/dataStructure/helpers/optional.mjs +5 -2
- package/dist/dataStructure/helpers/partial.cjs +5 -2
- package/dist/dataStructure/helpers/partial.mjs +5 -2
- package/dist/dataStructure/helpers/path.cjs +7 -0
- package/dist/dataStructure/helpers/path.d.ts +2 -0
- package/dist/dataStructure/helpers/path.mjs +7 -0
- package/dist/dataStructure/helpers/record.d.ts +1 -1
- package/dist/dataStructure/helpers/regex.cjs +7 -0
- package/dist/dataStructure/helpers/regex.d.ts +2 -0
- package/dist/dataStructure/helpers/regex.mjs +7 -0
- package/dist/dataStructure/helpers/required.cjs +6 -3
- package/dist/dataStructure/helpers/required.d.ts +2 -1
- package/dist/dataStructure/helpers/required.mjs +6 -3
- package/dist/dataStructure/helpers/segmentPath.cjs +7 -0
- package/dist/dataStructure/helpers/segmentPath.d.ts +2 -0
- package/dist/dataStructure/helpers/segmentPath.mjs +7 -0
- package/dist/dataStructure/helpers/string.d.ts +1 -1
- package/dist/dataStructure/helpers/time.d.ts +1 -1
- package/dist/dataStructure/helpers/trimmed.cjs +7 -0
- package/dist/dataStructure/helpers/trimmed.d.ts +2 -0
- package/dist/dataStructure/helpers/trimmed.mjs +7 -0
- package/dist/dataStructure/helpers/undefined.d.ts +1 -1
- package/dist/dataStructure/helpers/union.d.ts +1 -1
- package/dist/dataStructure/helpers/unwrapLazy.cjs +9 -0
- package/dist/dataStructure/helpers/unwrapLazy.d.ts +2 -0
- package/dist/dataStructure/helpers/unwrapLazy.mjs +9 -0
- package/dist/dataStructure/helpers/url.cjs +2 -2
- package/dist/dataStructure/helpers/url.d.ts +1 -2
- package/dist/dataStructure/helpers/url.mjs +2 -2
- package/dist/dataStructure/index.cjs +158 -60
- package/dist/dataStructure/index.mjs +80 -21
- package/dist/dataStructure/structure/base.cjs +22 -12
- package/dist/dataStructure/structure/base.d.ts +8 -5
- package/dist/dataStructure/structure/base.mjs +16 -6
- package/dist/dataStructure/structure/defaults/array.d.ts +2 -2
- package/dist/dataStructure/structure/defaults/array.mjs +8 -5
- package/dist/dataStructure/structure/defaults/index.d.ts +1 -0
- package/dist/dataStructure/structure/defaults/lazy.cjs +10 -3
- package/dist/dataStructure/structure/defaults/lazy.d.ts +2 -2
- package/dist/dataStructure/structure/defaults/lazy.mjs +10 -3
- package/dist/dataStructure/structure/defaults/nonEncodableString.cjs +17 -0
- package/dist/dataStructure/structure/defaults/nonEncodableString.d.ts +10 -0
- package/dist/dataStructure/structure/defaults/nonEncodableString.mjs +16 -0
- package/dist/dataStructure/structure/defaults/object.d.ts +2 -2
- package/dist/dataStructure/structure/defaults/object.mjs +8 -5
- package/dist/dataStructure/structure/defaults/record.cjs +7 -7
- package/dist/dataStructure/structure/defaults/record.d.ts +3 -3
- package/dist/dataStructure/structure/defaults/record.mjs +15 -12
- package/dist/dataStructure/structure/defaults/type.cjs +1 -1
- package/dist/dataStructure/structure/defaults/type.d.ts +2 -2
- package/dist/dataStructure/structure/defaults/type.mjs +2 -2
- package/dist/dataStructure/structure/defaults/union.cjs +23 -17
- package/dist/dataStructure/structure/defaults/union.d.ts +3 -3
- package/dist/dataStructure/structure/defaults/union.mjs +27 -18
- package/dist/dataStructure/structure/identifier.d.ts +3 -4
- package/dist/dataStructure/structure/types/constraintsValue.d.ts +1 -1
- package/dist/dataStructure/structure/types/structures.d.ts +2 -1
- package/dist/dataStructure/structure/types/value.d.ts +1 -1
- package/dist/dataStructure/type/base.cjs +17 -4
- package/dist/dataStructure/type/base.d.ts +7 -3
- package/dist/dataStructure/type/base.mjs +17 -4
- package/dist/dataStructure/type/defaults/bigint.d.ts +1 -1
- package/dist/dataStructure/type/defaults/bigintLiteral.cjs +1 -1
- package/dist/dataStructure/type/defaults/bigintLiteral.d.ts +1 -1
- package/dist/dataStructure/type/defaults/bigintLiteral.mjs +1 -1
- package/dist/dataStructure/type/defaults/boolean.d.ts +1 -1
- package/dist/dataStructure/type/defaults/booleanLiteral.cjs +1 -1
- package/dist/dataStructure/type/defaults/booleanLiteral.d.ts +1 -1
- package/dist/dataStructure/type/defaults/booleanLiteral.mjs +1 -1
- package/dist/dataStructure/type/defaults/date.d.ts +1 -1
- package/dist/dataStructure/type/defaults/null.d.ts +1 -1
- package/dist/dataStructure/type/defaults/number.d.ts +1 -1
- package/dist/dataStructure/type/defaults/numberLiteral.cjs +1 -1
- package/dist/dataStructure/type/defaults/numberLiteral.d.ts +1 -1
- package/dist/dataStructure/type/defaults/numberLiteral.mjs +1 -1
- package/dist/dataStructure/type/defaults/string.d.ts +1 -1
- package/dist/dataStructure/type/defaults/stringLiteral.cjs +1 -1
- package/dist/dataStructure/type/defaults/stringLiteral.d.ts +1 -1
- package/dist/dataStructure/type/defaults/stringLiteral.mjs +1 -1
- package/dist/dataStructure/type/defaults/time.d.ts +1 -1
- package/dist/dataStructure/type/defaults/undefined.d.ts +1 -1
- package/dist/dataStructure/type/identifier.d.ts +3 -4
- package/dist/either/index.cjs +30 -8
- package/dist/either/index.d.ts +4 -0
- package/dist/either/index.mjs +23 -9
- package/dist/either/left/index.d.ts +3 -2
- package/dist/either/left/none.cjs +15 -0
- package/dist/either/left/none.d.ts +7 -0
- package/dist/either/left/none.mjs +14 -0
- package/dist/either/matchInformationOtherwise.d.ts +1 -1
- package/dist/either/rewriteInformation.cjs +22 -0
- package/dist/either/rewriteInformation.d.ts +14 -0
- package/dist/either/rewriteInformation.mjs +22 -0
- package/dist/either/right/asyncGroup.cjs +2 -2
- package/dist/either/right/asyncGroup.mjs +2 -2
- package/dist/either/right/group.cjs +1 -1
- package/dist/either/right/group.mjs +1 -1
- package/dist/either/right/index.d.ts +6 -5
- package/dist/either/right/some.cjs +15 -0
- package/dist/either/right/some.d.ts +7 -0
- package/dist/either/right/some.mjs +14 -0
- package/dist/either/toMaybe.cjs +12 -0
- package/dist/either/toMaybe.d.ts +5 -0
- package/dist/either/toMaybe.mjs +12 -0
- package/dist/either/types/mayBe.d.ts +3 -0
- package/dist/either/unwrapOr.cjs +14 -0
- package/dist/either/unwrapOr.d.ts +8 -0
- package/dist/either/unwrapOr.mjs +14 -0
- package/dist/either/unwrapOtherwise.cjs +14 -0
- package/dist/either/unwrapOtherwise.d.ts +8 -0
- package/dist/either/unwrapOtherwise.mjs +14 -0
- package/dist/generator/asyncChunk.d.ts +3 -2
- package/dist/generator/chunk.d.ts +3 -2
- package/dist/generator/reduce.cjs +2 -1
- package/dist/generator/reduce.mjs +1 -1
- package/dist/generator/types/flat.d.ts +2 -2
- package/dist/index.cjs +43 -39
- package/dist/index.mjs +4 -2
- package/dist/invocation/flow/base.d.ts +8 -3
- package/dist/invocation/flow/controller/base.d.ts +1 -0
- package/dist/invocation/flow/controller/defaults/aborter.cjs +38 -0
- package/dist/invocation/flow/controller/defaults/aborter.d.ts +17 -0
- package/dist/invocation/flow/controller/defaults/aborter.mjs +36 -0
- package/dist/invocation/flow/controller/defaults/debounce.d.ts +1 -1
- package/dist/invocation/flow/controller/defaults/filter.cjs +5 -3
- package/dist/invocation/flow/controller/defaults/filter.d.ts +1 -1
- package/dist/invocation/flow/controller/defaults/filter.mjs +5 -3
- package/dist/invocation/flow/controller/defaults/index.d.ts +1 -0
- package/dist/invocation/flow/controller/defaults/retry.d.ts +1 -1
- package/dist/invocation/flow/controller/defaults/throttling.d.ts +1 -1
- package/dist/invocation/flow/controller/defaults/timeout.d.ts +1 -1
- package/dist/invocation/index.cjs +15 -8
- package/dist/invocation/index.d.ts +1 -1
- package/dist/invocation/index.mjs +10 -6
- package/dist/invocation/reader.cjs +26 -0
- package/dist/invocation/reader.d.ts +28 -0
- package/dist/invocation/reader.mjs +25 -0
- package/dist/kind/createIdentifier.d.ts +8 -4
- package/dist/kind/types/getName.d.ts +2 -0
- package/dist/kind/types/getNamespaceName.d.ts +3 -0
- package/dist/kind/types/index.d.ts +2 -0
- package/dist/kind/types/remove.d.ts +2 -2
- package/dist/modeling/entity/base.cjs +38 -11
- package/dist/modeling/entity/base.d.ts +25 -10
- package/dist/modeling/entity/base.mjs +32 -6
- package/dist/modeling/entity/helper.d.ts +1 -1
- package/dist/modeling/entity/index.d.ts +0 -1
- package/dist/modeling/entity/namespace.cjs +2 -2
- package/dist/modeling/entity/namespace.d.ts +1 -1
- package/dist/modeling/entity/namespace.mjs +3 -3
- package/dist/modeling/flag/base.cjs +1 -5
- package/dist/modeling/flag/base.d.ts +6 -7
- package/dist/modeling/flag/base.mjs +1 -5
- package/dist/modeling/index.cjs +45 -28
- package/dist/modeling/index.d.ts +1 -0
- package/dist/modeling/index.mjs +18 -9
- package/dist/modeling/newType/base.cjs +34 -13
- package/dist/modeling/newType/base.d.ts +9 -2
- package/dist/modeling/newType/base.mjs +26 -7
- package/dist/modeling/newType/helper.cjs +2 -2
- package/dist/modeling/newType/helper.d.ts +1 -1
- package/dist/modeling/newType/helper.mjs +2 -2
- package/dist/modeling/taggedObject/base.cjs +113 -0
- package/dist/modeling/taggedObject/base.d.ts +61 -0
- package/dist/modeling/taggedObject/base.mjs +110 -0
- package/dist/modeling/taggedObject/helper.cjs +34 -0
- package/dist/modeling/taggedObject/helper.d.ts +15 -0
- package/dist/modeling/taggedObject/helper.mjs +31 -0
- package/dist/modeling/taggedObject/index.d.ts +2 -0
- package/dist/number/betweenThan.d.ts +2 -2
- package/dist/number/betweenThanOrEqual.d.ts +2 -2
- package/dist/number/greaterThan.d.ts +1 -1
- package/dist/number/greaterThanOrEqual.d.ts +1 -1
- package/dist/number/index.cjs +0 -3
- package/dist/number/index.d.ts +0 -1
- package/dist/number/index.mjs +1 -3
- package/dist/number/lessThan.d.ts +1 -1
- package/dist/number/lessThanOrEqual.d.ts +1 -1
- package/dist/number/sort.d.ts +1 -1
- package/dist/number/types/isGreater.d.ts +5 -5
- package/dist/object/assign.d.ts +3 -3
- package/dist/object/types/assign.d.ts +2 -0
- package/dist/object/types/forbiddenUndefinedProps.d.ts +3 -0
- package/dist/object/types/index.d.ts +4 -2
- package/dist/object/types/override.d.ts +4 -0
- package/dist/object/types/split.d.ts +2 -2
- package/dist/path/computeRelative.cjs +5 -6
- package/dist/path/computeRelative.d.ts +1 -1
- package/dist/path/computeRelative.mjs +5 -6
- package/dist/path/constraints/absolute.d.ts +1 -1
- package/dist/path/constraints/index.d.ts +2 -1
- package/dist/path/constraints/segment.d.ts +3 -0
- package/dist/path/getBaseName.cjs +7 -7
- package/dist/path/getBaseName.d.ts +2 -2
- package/dist/path/getBaseName.mjs +7 -7
- package/dist/path/getExtensionName.cjs +9 -4
- package/dist/path/getExtensionName.d.ts +2 -2
- package/dist/path/getExtensionName.mjs +9 -4
- package/dist/path/getParentFolderPath.cjs +9 -4
- package/dist/path/getParentFolderPath.d.ts +1 -2
- package/dist/path/getParentFolderPath.mjs +9 -4
- package/dist/path/index.cjs +6 -3
- package/dist/path/index.d.ts +3 -2
- package/dist/path/index.mjs +5 -3
- package/dist/path/is.cjs +9 -4
- package/dist/path/is.d.ts +4 -2
- package/dist/path/is.mjs +9 -4
- package/dist/path/isAbsolute.cjs +3 -5
- package/dist/path/isAbsolute.d.ts +4 -2
- package/dist/path/isAbsolute.mjs +3 -5
- package/dist/path/isSegment.cjs +6 -0
- package/dist/path/isSegment.d.ts +4 -0
- package/dist/path/isSegment.mjs +6 -0
- package/dist/path/normalize.cjs +18 -0
- package/dist/path/normalize.d.ts +2 -0
- package/dist/path/normalize.mjs +18 -0
- package/dist/path/resolveFrom.cjs +4 -5
- package/dist/path/resolveFrom.d.ts +10 -2
- package/dist/path/resolveFrom.mjs +4 -5
- package/dist/path/resolveRelative.cjs +17 -20
- package/dist/path/resolveRelative.d.ts +9 -2
- package/dist/path/resolveRelative.mjs +17 -20
- package/dist/path/types/index.d.ts +6 -0
- package/dist/path/types/isLiteralAbsolutePath.d.ts +2 -0
- package/dist/path/types/isLiteralPath.d.ts +20 -0
- package/dist/path/types/isLiteralSegmentPath.d.ts +9 -0
- package/dist/path/types/requireLiteralAbsolutePath.d.ts +3 -0
- package/dist/path/types/requireLiteralPath.d.ts +3 -0
- package/dist/path/types/requireLiteralSegmentPath.d.ts +3 -0
- package/dist/pattern/index.cjs +12 -0
- package/dist/pattern/index.d.ts +4 -0
- package/dist/pattern/index.mjs +9 -1
- package/dist/pattern/matchWithEntity.cjs +12 -0
- package/dist/pattern/matchWithEntity.d.ts +12 -0
- package/dist/pattern/matchWithEntity.mjs +12 -0
- package/dist/pattern/matchWithEntityOtherwise.cjs +13 -0
- package/dist/pattern/matchWithEntityOtherwise.d.ts +14 -0
- package/dist/pattern/matchWithEntityOtherwise.mjs +13 -0
- package/dist/pattern/matchWithNumber.d.ts +4 -4
- package/dist/pattern/matchWithNumberOtherwise.cjs +2 -6
- package/dist/pattern/matchWithNumberOtherwise.d.ts +4 -4
- package/dist/pattern/matchWithNumberOtherwise.mjs +2 -6
- package/dist/pattern/matchWithString.d.ts +4 -4
- package/dist/pattern/matchWithStringOtherwise.cjs +2 -6
- package/dist/pattern/matchWithStringOtherwise.d.ts +5 -5
- package/dist/pattern/matchWithStringOtherwise.mjs +2 -6
- package/dist/pattern/matchWithTaggedObject.cjs +12 -0
- package/dist/pattern/matchWithTaggedObject.d.ts +12 -0
- package/dist/pattern/matchWithTaggedObject.mjs +12 -0
- package/dist/pattern/matchWithTaggedObjectOtherwise.cjs +13 -0
- package/dist/pattern/matchWithTaggedObjectOtherwise.d.ts +14 -0
- package/dist/pattern/matchWithTaggedObjectOtherwise.mjs +13 -0
- package/dist/string/at.d.ts +2 -2
- package/dist/string/constraints/allowedCharacters.d.ts +3 -3
- package/dist/string/constraints/index.d.ts +2 -1
- package/dist/string/constraints/number.d.ts +4 -0
- package/dist/string/first.d.ts +1 -1
- package/dist/string/index.cjs +6 -3
- package/dist/string/index.d.ts +1 -1
- package/dist/string/index.mjs +5 -3
- package/dist/string/isComposedOf.cjs +0 -1
- package/dist/string/isComposedOf.d.ts +5 -8
- package/dist/string/isComposedOf.mjs +0 -1
- package/dist/string/isNumber.cjs +7 -0
- package/dist/string/isNumber.d.ts +5 -0
- package/dist/string/isNumber.mjs +7 -0
- package/dist/string/isUrl.cjs +2 -11
- package/dist/string/isUrl.d.ts +1 -5
- package/dist/string/isUrl.mjs +2 -11
- package/dist/string/last.d.ts +1 -1
- package/dist/string/lengthEqual.d.ts +1 -1
- package/dist/string/maxCharacters.d.ts +1 -1
- package/dist/string/minCharacters.d.ts +1 -1
- package/dist/string/padEnd.d.ts +1 -1
- package/dist/string/padStart.d.ts +1 -1
- package/dist/string/pop.d.ts +1 -1
- package/dist/string/shift.d.ts +1 -1
- package/dist/string/slice.d.ts +1 -1
- package/dist/string/substring.d.ts +1 -1
- package/dist/string/to.d.ts +9 -2
- package/dist/string/trim/default.d.ts +1 -1
- package/dist/string/trim/end.d.ts +1 -1
- package/dist/string/trim/index.d.ts +1 -0
- package/dist/string/trim/is.cjs +6 -0
- package/dist/string/trim/is.d.ts +2 -0
- package/dist/string/trim/is.mjs +6 -0
- package/dist/string/trim/start.d.ts +1 -1
- package/dist/string/types/IsAllowedString.d.ts +5 -0
- package/dist/string/types/index.d.ts +5 -5
- package/dist/string/types/numberInString.d.ts +1 -0
- package/dist/string/types/split.d.ts +1 -1
- package/dist/tuple/from.cjs +6 -0
- package/dist/tuple/from.d.ts +8 -0
- package/dist/tuple/from.mjs +6 -0
- package/dist/tuple/index.cjs +6 -1
- package/dist/tuple/index.d.ts +1 -0
- package/dist/tuple/index.mjs +6 -2
- package/package.json +2 -2
- package/dist/array/infer.d.ts +0 -14
- package/dist/array/infer.mjs +0 -6
- package/dist/dataStructure/common/codec.cjs +0 -28
- package/dist/dataStructure/common/codec.mjs +0 -25
- package/dist/dataStructure/common/error.cjs +0 -53
- package/dist/dataStructure/common/error.d.ts +0 -30
- package/dist/dataStructure/common/error.mjs +0 -52
- package/dist/invocation/useCase.cjs +0 -26
- package/dist/invocation/useCase.d.ts +0 -28
- package/dist/invocation/useCase.mjs +0 -25
- package/dist/modeling/entity/entityName.cjs +0 -13
- package/dist/modeling/entity/entityName.d.ts +0 -13
- package/dist/modeling/entity/entityName.mjs +0 -13
- package/dist/number/infer.cjs +0 -6
- package/dist/number/infer.d.ts +0 -12
- package/dist/number/infer.mjs +0 -6
- package/dist/object/types/assignObjects.d.ts +0 -2
- package/dist/path/fix.cjs +0 -8
- package/dist/path/fix.d.ts +0 -1
- package/dist/path/fix.mjs +0 -8
- package/dist/string/infer.cjs +0 -6
- package/dist/string/infer.d.ts +0 -12
- package/dist/string/types/number.d.ts +0 -1
package/dist/index.mjs
CHANGED
|
@@ -14,6 +14,8 @@ import { callThen } from "./common/callThen.mjs";
|
|
|
14
14
|
import { object_exports } from "./object/index.mjs";
|
|
15
15
|
import { clone } from "./common/clone.mjs";
|
|
16
16
|
import { cast, shameOnYou } from "./common/constraint/cast/index.mjs";
|
|
17
|
+
import { infer } from "./common/constraint/infer/index.mjs";
|
|
18
|
+
import { removeConstraint } from "./common/constraint/remove.mjs";
|
|
17
19
|
import { detachObjectMethod } from "./common/detachObjectMethod.mjs";
|
|
18
20
|
import { createEnum } from "./common/enum.mjs";
|
|
19
21
|
import { equal } from "./common/equal.mjs";
|
|
@@ -59,12 +61,12 @@ import { when } from "./common/when.mjs";
|
|
|
59
61
|
import { whenElse } from "./common/whenElse.mjs";
|
|
60
62
|
import { whenNot } from "./common/whenNot.mjs";
|
|
61
63
|
import { common_exports } from "./common/index.mjs";
|
|
64
|
+
import { path_exports } from "./path/index.mjs";
|
|
62
65
|
import { number_exports } from "./number/index.mjs";
|
|
63
66
|
import { dataStructure_exports } from "./dataStructure/index.mjs";
|
|
64
67
|
import { tuple_exports } from "./tuple/index.mjs";
|
|
65
68
|
import { modeling_exports } from "./modeling/index.mjs";
|
|
66
69
|
import { pattern_exports } from "./pattern/index.mjs";
|
|
67
70
|
import { invocation_exports } from "./invocation/index.mjs";
|
|
68
|
-
import { path_exports } from "./path/index.mjs";
|
|
69
71
|
import { printer_exports } from "./printer/index.mjs";
|
|
70
|
-
export { array_exports as A, AssertsError, chrono_exports as C, array_exports as DArray, chrono_exports as DChrono, common_exports as DCommon, dataStructure_exports as DDataStructure, either_exports as DEither, generator_exports as DGenerator, invocation_exports as DInvocation, kind_exports as DKind, modeling_exports as DModeling, number_exports as DNumber, object_exports as DObject, path_exports as DPath, pattern_exports as DPattern, printer_exports as DPrinter, dataStructure_exports as DS, string_exports as DString, tuple_exports as DTuple, either_exports as E, generator_exports as G, invocation_exports as I, InvalidBytesInStringError, InvalidMillisecondInStringError, modeling_exports as M, MissingBuilderMethodsError, number_exports as N, object_exports as O, pattern_exports as P, string_exports as S, tuple_exports as T, TheFormData, and, asserts, asyncInnerPipe, asyncLoop, asyncPipe, bindPrototypeMethods, builderKind, callThen, cast, clone, createAsyncRetry, createBuilder, createEnum, createExternalPromise, createFormData, createGlobalStore, createInterpolation, createKind, createQueue, createTransformer, detachObjectMethod, equal, escapeRegExp, falsy, forward, forwardAsserts, forwardLog, innerPipe, instanceOf, isType, justExec, justReturn, loop, memo, memoObject, memoPromise, mimeType, or, pipe, pipeCall, prepareAsyncPipe, preparePipe, promiseAll, promiseObject, queueKind, shameOnYou, simpleClone, stringToBytes, stringToMillisecond, timeout, toCurriedPredicate, toJSON, toNative, toRegExp, transformer, truthy, useAsyncRetry, when, whenElse, whenNot };
|
|
72
|
+
export { array_exports as A, AssertsError, chrono_exports as C, array_exports as DArray, chrono_exports as DChrono, common_exports as DCommon, dataStructure_exports as DDataStructure, either_exports as DEither, generator_exports as DGenerator, invocation_exports as DInvocation, kind_exports as DKind, modeling_exports as DModeling, number_exports as DNumber, object_exports as DObject, path_exports as DPath, pattern_exports as DPattern, printer_exports as DPrinter, dataStructure_exports as DS, string_exports as DString, tuple_exports as DTuple, either_exports as E, generator_exports as G, invocation_exports as I, InvalidBytesInStringError, InvalidMillisecondInStringError, modeling_exports as M, MissingBuilderMethodsError, number_exports as N, object_exports as O, pattern_exports as P, string_exports as S, tuple_exports as T, TheFormData, and, asserts, asyncInnerPipe, asyncLoop, asyncPipe, bindPrototypeMethods, builderKind, callThen, cast, clone, createAsyncRetry, createBuilder, createEnum, createExternalPromise, createFormData, createGlobalStore, createInterpolation, createKind, createQueue, createTransformer, detachObjectMethod, equal, escapeRegExp, falsy, forward, forwardAsserts, forwardLog, infer, innerPipe, instanceOf, isType, justExec, justReturn, loop, memo, memoObject, memoPromise, mimeType, or, pipe, pipeCall, prepareAsyncPipe, preparePipe, promiseAll, promiseObject, queueKind, removeConstraint, shameOnYou, simpleClone, stringToBytes, stringToMillisecond, timeout, toCurriedPredicate, toJSON, toNative, toRegExp, transformer, truthy, useAsyncRetry, when, whenElse, whenNot };
|
|
@@ -1,12 +1,17 @@
|
|
|
1
|
-
import { FlowControllerExit, FlowControllerResult, flowControllerExitKind, FlowControllerPreviousFunctionResult } from './controller';
|
|
2
|
-
import { DKind } from '../../index.ts';
|
|
1
|
+
import { FlowControllerExit, FlowControllerResult, flowControllerExitKind, FlowControllerPreviousFunctionResult, UnwrapFlowControllerResult } from './controller';
|
|
3
2
|
import * as DCommon from '../../common';
|
|
3
|
+
import type * as DKind from '../../kind';
|
|
4
4
|
type ComputeLastUsableValue<GenericAccumulator extends DCommon.AnyTuple> = GenericAccumulator extends [
|
|
5
5
|
...infer InferredRest,
|
|
6
6
|
infer InferredLast
|
|
7
7
|
] ? InferredLast extends FlowControllerResult<infer InferredFlowControllerResult> ? Exclude<Awaited<InferredFlowControllerResult>, FlowControllerPreviousFunctionResult | FlowControllerExit> extends infer InferredOutputValue ? DCommon.HasSomething<InferredOutputValue> extends true ? InferredOutputValue : InferredRest extends DCommon.AnyTuple ? ComputeLastUsableValue<InferredRest> : never : never : InferredLast : never;
|
|
8
8
|
type Pipe<GenericAccumulator extends DCommon.AnyTuple, GenericOutput extends unknown> = (this: never, input: Awaited<ComputeLastUsableValue<GenericAccumulator>>) => GenericOutput;
|
|
9
|
-
type
|
|
9
|
+
type IsMaybePromise<GenericAccumulator extends DCommon.AnyTuple> = {
|
|
10
|
+
[Index in keyof GenericAccumulator]: UnwrapFlowControllerResult<GenericAccumulator[Index]> extends infer InferredResult ? DCommon.IsExtends<InferredResult, Promise<unknown>> extends true ? false : DCommon.ContainExtends<InferredResult, Promise<any>> : never;
|
|
11
|
+
}[number] extends false ? false : true;
|
|
12
|
+
type ComputeTypeOutput<GenericAccumulator extends DCommon.AnyTuple> = Extract<(ComputeLastUsableValue<GenericAccumulator> | (UnwrapFlowControllerResult<GenericAccumulator[number]> extends infer InferredResult ? InferredResult extends FlowControllerExit ? DKind.GetValue<typeof flowControllerExitKind, InferredResult> : InferredResult extends Promise<infer InferredExit extends FlowControllerExit> ? Promise<DKind.GetValue<typeof flowControllerExitKind, InferredExit>> : InferredResult extends Promise<unknown> ? Promise<never> : never : never)) extends infer InferredResult ? DCommon.Or<[
|
|
13
|
+
DCommon.ContainExtends<InferredResult, Promise<any>>
|
|
14
|
+
]> extends true ? IsMaybePromise<GenericAccumulator> extends true ? DCommon.MaybePromise<Awaited<InferredResult>> : Promise<Awaited<InferredResult>> : InferredResult : never, any>;
|
|
10
15
|
export declare function flow<const GenericInput extends unknown, const GenericOutput1 extends unknown>(pipe1: Pipe<[
|
|
11
16
|
GenericInput
|
|
12
17
|
], GenericOutput1>): (input: GenericInput) => DCommon.BreakGenericLink<Extract<ComputeTypeOutput<[
|
|
@@ -11,6 +11,7 @@ export type FlowControllerPreviousFunctionResult = DCommon.MaybePromise<(DCommon
|
|
|
11
11
|
export interface FlowControllerResult<GenericResult extends unknown> {
|
|
12
12
|
readonly [FlowControllerResultSymbol]: GenericResult;
|
|
13
13
|
}
|
|
14
|
+
export type UnwrapFlowControllerResult<GenericValue extends unknown> = GenericValue extends FlowControllerResult<infer InferredResult> ? InferredResult : GenericValue;
|
|
14
15
|
export interface FlowController<GenericInput extends unknown = unknown, GenericOutput extends unknown = unknown> extends DKind.Kind<typeof flowControllerKind> {
|
|
15
16
|
(this: never, input: GenericInput): FlowControllerResult<GenericOutput>;
|
|
16
17
|
exec(previousFunction: () => FlowControllerPreviousFunctionResult): (FlowControllerPreviousFunctionResult | GenericOutput | DCommon.MergePromise<FlowControllerPreviousFunctionResult | GenericOutput>);
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
const require_parentClass = require("../../../../kind/parentClass.cjs");
|
|
2
|
+
const require_create = require("../../../../either/left/create.cjs");
|
|
3
|
+
const require_stringToMillisecond = require("../../../../common/stringToMillisecond.cjs");
|
|
4
|
+
const require_kind = require("../../../kind.cjs");
|
|
5
|
+
const require_base = require("../base.cjs");
|
|
6
|
+
//#region scripts/invocation/flow/controller/defaults/aborter.ts
|
|
7
|
+
const flowControllerAborterKind = require_kind.createKind("flow-controller-aborter");
|
|
8
|
+
var AbortErrorFlowController = class extends require_parentClass.parentClass(require_kind.createKind("abort-error-flow-controller"), Error) {
|
|
9
|
+
abortController;
|
|
10
|
+
constructor(abortController) {
|
|
11
|
+
super(null, "Flow is aborted by FlowControllerAborter.");
|
|
12
|
+
this.abortController = abortController;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
const aborter = require_base.createFlowController(flowControllerAborterKind, ({ init, exitFlow }) => (theFunction, params) => {
|
|
16
|
+
let aborter = void 0;
|
|
17
|
+
const formattedTimeout = params?.timeout === void 0 ? void 0 : require_stringToMillisecond.stringToMillisecond(params.timeout);
|
|
18
|
+
return init(async (previousFunction) => {
|
|
19
|
+
const result = previousFunction();
|
|
20
|
+
if (require_base.flowControllerExitKind.has(result)) return result;
|
|
21
|
+
aborter?.abort(new AbortErrorFlowController(aborter));
|
|
22
|
+
const currentAborter = new AbortController();
|
|
23
|
+
aborter = currentAborter;
|
|
24
|
+
if (formattedTimeout !== void 0) setTimeout(() => void currentAborter.abort(new AbortErrorFlowController(currentAborter)), formattedTimeout);
|
|
25
|
+
try {
|
|
26
|
+
const abortResult = await theFunction(result, currentAborter);
|
|
27
|
+
if (currentAborter.signal.aborted === true) return exitFlow(require_create.left("signal-aborted", currentAborter.signal.reason));
|
|
28
|
+
return abortResult;
|
|
29
|
+
} catch (error) {
|
|
30
|
+
if (error instanceof AbortErrorFlowController) return exitFlow(require_create.left("signal-aborted", currentAborter.signal.reason));
|
|
31
|
+
throw error;
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
//#endregion
|
|
36
|
+
exports.AbortErrorFlowController = AbortErrorFlowController;
|
|
37
|
+
exports.aborter = aborter;
|
|
38
|
+
exports.flowControllerAborterKind = flowControllerAborterKind;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { FlowController } from '../base';
|
|
2
|
+
import * as DCommon from '../../../../common';
|
|
3
|
+
import * as DKind from '../../../../kind';
|
|
4
|
+
import * as DEither from '../../../../either';
|
|
5
|
+
export declare const flowControllerAborterKind: DKind.Handler<DKind.Definition<"@DuplojsLangInvocation/flow-controller-aborter", unknown>>;
|
|
6
|
+
export interface FlowControllerAborter<GenericInput extends unknown = unknown, GenericOutput extends unknown = unknown> extends DCommon.Forward<FlowController<GenericInput, Promise<Awaited<GenericOutput> | DEither.Left<"signal-aborted", AbortErrorFlowController>>> & DKind.Kind<typeof flowControllerAborterKind>> {
|
|
7
|
+
}
|
|
8
|
+
declare const AbortErrorFlowController_base: DKind.KindClass<DKind.Handler<DKind.Definition<"@DuplojsLangInvocation/abort-error-flow-controller", unknown>>, ErrorConstructor>;
|
|
9
|
+
export declare class AbortErrorFlowController extends AbortErrorFlowController_base {
|
|
10
|
+
abortController: AbortController;
|
|
11
|
+
constructor(abortController: AbortController);
|
|
12
|
+
}
|
|
13
|
+
export interface FlowControllerAborterParams {
|
|
14
|
+
timeout?: DCommon.TimeInString;
|
|
15
|
+
}
|
|
16
|
+
export declare const aborter: <GenericInput extends unknown, GenericOutput extends unknown>(theFunction: (input: GenericInput, aborter: AbortController) => GenericOutput, params?: FlowControllerAborterParams) => FlowControllerAborter<GenericInput, GenericOutput>;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { parentClass } from "../../../../kind/parentClass.mjs";
|
|
2
|
+
import { left } from "../../../../either/left/create.mjs";
|
|
3
|
+
import { stringToMillisecond } from "../../../../common/stringToMillisecond.mjs";
|
|
4
|
+
import { createKind } from "../../../kind.mjs";
|
|
5
|
+
import { createFlowController, flowControllerExitKind } from "../base.mjs";
|
|
6
|
+
//#region scripts/invocation/flow/controller/defaults/aborter.ts
|
|
7
|
+
const flowControllerAborterKind = createKind("flow-controller-aborter");
|
|
8
|
+
var AbortErrorFlowController = class extends parentClass(createKind("abort-error-flow-controller"), Error) {
|
|
9
|
+
abortController;
|
|
10
|
+
constructor(abortController) {
|
|
11
|
+
super(null, "Flow is aborted by FlowControllerAborter.");
|
|
12
|
+
this.abortController = abortController;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
const aborter = createFlowController(flowControllerAborterKind, ({ init, exitFlow }) => (theFunction, params) => {
|
|
16
|
+
let aborter = void 0;
|
|
17
|
+
const formattedTimeout = params?.timeout === void 0 ? void 0 : stringToMillisecond(params.timeout);
|
|
18
|
+
return init(async (previousFunction) => {
|
|
19
|
+
const result = previousFunction();
|
|
20
|
+
if (flowControllerExitKind.has(result)) return result;
|
|
21
|
+
aborter?.abort(new AbortErrorFlowController(aborter));
|
|
22
|
+
const currentAborter = new AbortController();
|
|
23
|
+
aborter = currentAborter;
|
|
24
|
+
if (formattedTimeout !== void 0) setTimeout(() => void currentAborter.abort(new AbortErrorFlowController(currentAborter)), formattedTimeout);
|
|
25
|
+
try {
|
|
26
|
+
const abortResult = await theFunction(result, currentAborter);
|
|
27
|
+
if (currentAborter.signal.aborted === true) return exitFlow(left("signal-aborted", currentAborter.signal.reason));
|
|
28
|
+
return abortResult;
|
|
29
|
+
} catch (error) {
|
|
30
|
+
if (error instanceof AbortErrorFlowController) return exitFlow(left("signal-aborted", currentAborter.signal.reason));
|
|
31
|
+
throw error;
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
//#endregion
|
|
36
|
+
export { AbortErrorFlowController, aborter, flowControllerAborterKind };
|
|
@@ -3,6 +3,6 @@ import * as DCommon from '../../../../common';
|
|
|
3
3
|
import type * as DKind from '../../../../kind';
|
|
4
4
|
import * as DEither from '../../../../either';
|
|
5
5
|
export declare const flowControllerDebounceKind: DKind.Handler<DKind.Definition<"@DuplojsLangInvocation/flow-controller-debounce", unknown>>;
|
|
6
|
-
export interface FlowControllerDebounce<GenericInput extends unknown = unknown> extends DCommon.
|
|
6
|
+
export interface FlowControllerDebounce<GenericInput extends unknown = unknown> extends DCommon.Forward<FlowController<GenericInput, Promise<FlowControllerExit<DEither.Left<"debounce-reject">>>> & DKind.Kind<typeof flowControllerDebounceKind>> {
|
|
7
7
|
}
|
|
8
8
|
export declare const debounce: <GenericInput extends unknown = unknown>(debounce: DCommon.TimeInString) => FlowControllerDebounce<GenericInput>;
|
|
@@ -7,9 +7,11 @@ const require_base = require("../base.cjs");
|
|
|
7
7
|
const flowControllerFilterKind = require_kind.createKind("flow-controller-filter");
|
|
8
8
|
const filter = require_base.createFlowController(flowControllerFilterKind, ({ init, exitFlow }) => (filterFunction) => init((previousFunction) => require_callThen.callThen(previousFunction(), (result) => {
|
|
9
9
|
if (require_base.flowControllerExitKind.has(result)) return result;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
return require_callThen.callThen(filterFunction(result), (filterResult) => {
|
|
11
|
+
const result = require_unwrap.unwrapRight(filterResult);
|
|
12
|
+
if (require_is.isLeft(result)) return exitFlow(result);
|
|
13
|
+
return result;
|
|
14
|
+
});
|
|
13
15
|
})));
|
|
14
16
|
//#endregion
|
|
15
17
|
exports.filter = filter;
|
|
@@ -3,6 +3,6 @@ import * as DCommon from '../../../../common';
|
|
|
3
3
|
import type * as DKind from '../../../../kind';
|
|
4
4
|
import * as DEither from '../../../../either';
|
|
5
5
|
export declare const flowControllerFilterKind: DKind.Handler<DKind.Definition<"@DuplojsLangInvocation/flow-controller-filter", unknown>>;
|
|
6
|
-
export interface FlowControllerFilter<GenericInput extends unknown = unknown, GenericOutput extends unknown = unknown> extends DCommon.
|
|
6
|
+
export interface FlowControllerFilter<GenericInput extends unknown = unknown, GenericOutput extends unknown = unknown> extends DCommon.Forward<FlowController<GenericInput, DCommon.SplitPromise<GenericOutput> extends infer InferredOutput ? InferredOutput extends unknown ? Awaited<InferredOutput> extends infer InferredAwaited ? (InferredAwaited extends DEither.Left ? FlowControllerExit<InferredAwaited> : InferredAwaited extends DEither.Right ? DEither.GetValue<InferredAwaited> : InferredAwaited) extends infer InferredResult ? InferredOutput extends Promise<unknown> ? Promise<InferredResult> : InferredResult : never : never : never : never> & DKind.Kind<typeof flowControllerFilterKind>> {
|
|
7
7
|
}
|
|
8
8
|
export declare const filter: <GenericInput extends unknown, GenericOutput extends unknown>(filterFunction: (input: GenericInput) => GenericOutput) => FlowControllerFilter<GenericInput, GenericOutput>;
|
|
@@ -7,9 +7,11 @@ import { createFlowController, flowControllerExitKind } from "../base.mjs";
|
|
|
7
7
|
const flowControllerFilterKind = createKind("flow-controller-filter");
|
|
8
8
|
const filter = createFlowController(flowControllerFilterKind, ({ init, exitFlow }) => (filterFunction) => init((previousFunction) => callThen(previousFunction(), (result) => {
|
|
9
9
|
if (flowControllerExitKind.has(result)) return result;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
return callThen(filterFunction(result), (filterResult) => {
|
|
11
|
+
const result = unwrapRight(filterResult);
|
|
12
|
+
if (isLeft(result)) return exitFlow(result);
|
|
13
|
+
return result;
|
|
14
|
+
});
|
|
13
15
|
})));
|
|
14
16
|
//#endregion
|
|
15
17
|
export { filter, flowControllerFilterKind };
|
|
@@ -2,7 +2,7 @@ import { FlowController } from '../base';
|
|
|
2
2
|
import * as DCommon from '../../../../common';
|
|
3
3
|
import type * as DKind from '../../../../kind';
|
|
4
4
|
export declare const flowControllerRetryKind: DKind.Handler<DKind.Definition<"@DuplojsLangInvocation/flow-controller-retry", unknown>>;
|
|
5
|
-
export interface FlowControllerRetry<GenericInput extends unknown = unknown> extends DCommon.
|
|
5
|
+
export interface FlowControllerRetry<GenericInput extends unknown = unknown> extends DCommon.Forward<FlowController<GenericInput, Promise<never>> & DKind.Kind<typeof flowControllerRetryKind>> {
|
|
6
6
|
}
|
|
7
7
|
export interface RetryParams {
|
|
8
8
|
times?: number;
|
|
@@ -3,6 +3,6 @@ import * as DCommon from '../../../../common';
|
|
|
3
3
|
import type * as DKind from '../../../../kind';
|
|
4
4
|
import * as DEither from '../../../../either';
|
|
5
5
|
export declare const flowControllerThrottlingKind: DKind.Handler<DKind.Definition<"@DuplojsLangInvocation/flow-controller-throttling", unknown>>;
|
|
6
|
-
export interface FlowControllerThrottling<GenericInput extends unknown = unknown> extends DCommon.
|
|
6
|
+
export interface FlowControllerThrottling<GenericInput extends unknown = unknown> extends DCommon.Forward<FlowController<GenericInput, Promise<FlowControllerExit<DEither.Left<"throttling-reject">>>> & DKind.Kind<typeof flowControllerThrottlingKind>> {
|
|
7
7
|
}
|
|
8
8
|
export declare const throttling: <GenericInput extends unknown = unknown>(throttling: DCommon.TimeInString) => FlowControllerThrottling<GenericInput>;
|
|
@@ -2,6 +2,6 @@ import { FlowController } from '../base';
|
|
|
2
2
|
import * as DCommon from '../../../../common';
|
|
3
3
|
import type * as DKind from '../../../../kind';
|
|
4
4
|
export declare const flowControllerTimeoutKind: DKind.Handler<DKind.Definition<"@DuplojsLangInvocation/flow-controller-timeout", unknown>>;
|
|
5
|
-
export interface FlowControllerTimeout<GenericInput extends unknown = unknown> extends DCommon.
|
|
5
|
+
export interface FlowControllerTimeout<GenericInput extends unknown = unknown> extends DCommon.Forward<FlowController<GenericInput, Promise<never>> & DKind.Kind<typeof flowControllerTimeoutKind>> {
|
|
6
6
|
}
|
|
7
7
|
export declare const timeout: <GenericInput extends unknown = unknown>(timeout: DCommon.TimeInString) => FlowControllerTimeout<GenericInput>;
|
|
@@ -2,6 +2,7 @@ const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
|
|
|
2
2
|
const require_evidence = require("./evidence.cjs");
|
|
3
3
|
const require_kind = require("./kind.cjs");
|
|
4
4
|
const require_base = require("./flow/controller/base.cjs");
|
|
5
|
+
const require_aborter = require("./flow/controller/defaults/aborter.cjs");
|
|
5
6
|
const require_debounce = require("./flow/controller/defaults/debounce.cjs");
|
|
6
7
|
const require_filter = require("./flow/controller/defaults/filter.cjs");
|
|
7
8
|
const require_retry = require("./flow/controller/defaults/retry.cjs");
|
|
@@ -9,18 +10,21 @@ const require_throttling = require("./flow/controller/defaults/throttling.cjs");
|
|
|
9
10
|
const require_timeout = require("./flow/controller/defaults/timeout.cjs");
|
|
10
11
|
const require_base$1 = require("./flow/base.cjs");
|
|
11
12
|
const require_port = require("./port.cjs");
|
|
12
|
-
const
|
|
13
|
+
const require_reader = require("./reader.cjs");
|
|
13
14
|
//#region scripts/invocation/index.ts
|
|
14
15
|
var invocation_exports = /* @__PURE__ */ require_runtime.__exportAll({
|
|
16
|
+
AbortErrorFlowController: () => require_aborter.AbortErrorFlowController,
|
|
17
|
+
aborter: () => require_aborter.aborter,
|
|
15
18
|
appendEvidence: () => require_evidence.appendEvidence,
|
|
16
19
|
createFlowController: () => require_base.createFlowController,
|
|
17
20
|
createKind: () => require_kind.createKind,
|
|
18
21
|
createPort: () => require_port.createPort,
|
|
19
|
-
|
|
22
|
+
createReader: () => require_reader.createReader,
|
|
20
23
|
debounce: () => require_debounce.debounce,
|
|
21
24
|
evidenceResult: () => require_evidence.evidenceResult,
|
|
22
25
|
filter: () => require_filter.filter,
|
|
23
26
|
flow: () => require_base$1.flow,
|
|
27
|
+
flowControllerAborterKind: () => require_aborter.flowControllerAborterKind,
|
|
24
28
|
flowControllerDebounceKind: () => require_debounce.flowControllerDebounceKind,
|
|
25
29
|
flowControllerExitKind: () => require_base.flowControllerExitKind,
|
|
26
30
|
flowControllerFilterKind: () => require_filter.flowControllerFilterKind,
|
|
@@ -29,22 +33,25 @@ var invocation_exports = /* @__PURE__ */ require_runtime.__exportAll({
|
|
|
29
33
|
flowControllerThrottlingKind: () => require_throttling.flowControllerThrottlingKind,
|
|
30
34
|
flowControllerTimeoutKind: () => require_timeout.flowControllerTimeoutKind,
|
|
31
35
|
portHandlerKind: () => require_port.portHandlerKind,
|
|
36
|
+
readerKind: () => require_reader.readerKind,
|
|
37
|
+
resolveReaders: () => require_reader.resolveReaders,
|
|
32
38
|
retry: () => require_retry.retry,
|
|
33
39
|
throttling: () => require_throttling.throttling,
|
|
34
|
-
timeout: () => require_timeout.timeout
|
|
35
|
-
useCaseHandlerKind: () => require_useCase.useCaseHandlerKind,
|
|
36
|
-
wireUseCases: () => require_useCase.wireUseCases
|
|
40
|
+
timeout: () => require_timeout.timeout
|
|
37
41
|
});
|
|
38
42
|
//#endregion
|
|
43
|
+
exports.AbortErrorFlowController = require_aborter.AbortErrorFlowController;
|
|
44
|
+
exports.aborter = require_aborter.aborter;
|
|
39
45
|
exports.appendEvidence = require_evidence.appendEvidence;
|
|
40
46
|
exports.createFlowController = require_base.createFlowController;
|
|
41
47
|
exports.createKind = require_kind.createKind;
|
|
42
48
|
exports.createPort = require_port.createPort;
|
|
43
|
-
exports.
|
|
49
|
+
exports.createReader = require_reader.createReader;
|
|
44
50
|
exports.debounce = require_debounce.debounce;
|
|
45
51
|
exports.evidenceResult = require_evidence.evidenceResult;
|
|
46
52
|
exports.filter = require_filter.filter;
|
|
47
53
|
exports.flow = require_base$1.flow;
|
|
54
|
+
exports.flowControllerAborterKind = require_aborter.flowControllerAborterKind;
|
|
48
55
|
exports.flowControllerDebounceKind = require_debounce.flowControllerDebounceKind;
|
|
49
56
|
exports.flowControllerExitKind = require_base.flowControllerExitKind;
|
|
50
57
|
exports.flowControllerFilterKind = require_filter.flowControllerFilterKind;
|
|
@@ -59,8 +66,8 @@ Object.defineProperty(exports, "invocation_exports", {
|
|
|
59
66
|
}
|
|
60
67
|
});
|
|
61
68
|
exports.portHandlerKind = require_port.portHandlerKind;
|
|
69
|
+
exports.readerKind = require_reader.readerKind;
|
|
70
|
+
exports.resolveReaders = require_reader.resolveReaders;
|
|
62
71
|
exports.retry = require_retry.retry;
|
|
63
72
|
exports.throttling = require_throttling.throttling;
|
|
64
73
|
exports.timeout = require_timeout.timeout;
|
|
65
|
-
exports.useCaseHandlerKind = require_useCase.useCaseHandlerKind;
|
|
66
|
-
exports.wireUseCases = require_useCase.wireUseCases;
|
|
@@ -2,6 +2,7 @@ import { __exportAll } from "../_virtual/_rolldown/runtime.mjs";
|
|
|
2
2
|
import { appendEvidence, evidenceResult } from "./evidence.mjs";
|
|
3
3
|
import { createKind } from "./kind.mjs";
|
|
4
4
|
import { createFlowController, flowControllerExitKind, flowControllerKind } from "./flow/controller/base.mjs";
|
|
5
|
+
import { AbortErrorFlowController, aborter, flowControllerAborterKind } from "./flow/controller/defaults/aborter.mjs";
|
|
5
6
|
import { debounce, flowControllerDebounceKind } from "./flow/controller/defaults/debounce.mjs";
|
|
6
7
|
import { filter, flowControllerFilterKind } from "./flow/controller/defaults/filter.mjs";
|
|
7
8
|
import { flowControllerRetryKind, retry } from "./flow/controller/defaults/retry.mjs";
|
|
@@ -9,18 +10,21 @@ import { flowControllerThrottlingKind, throttling } from "./flow/controller/defa
|
|
|
9
10
|
import { flowControllerTimeoutKind, timeout } from "./flow/controller/defaults/timeout.mjs";
|
|
10
11
|
import { flow } from "./flow/base.mjs";
|
|
11
12
|
import { createPort, portHandlerKind } from "./port.mjs";
|
|
12
|
-
import {
|
|
13
|
+
import { createReader, readerKind, resolveReaders } from "./reader.mjs";
|
|
13
14
|
//#region scripts/invocation/index.ts
|
|
14
15
|
var invocation_exports = /* @__PURE__ */ __exportAll({
|
|
16
|
+
AbortErrorFlowController: () => AbortErrorFlowController,
|
|
17
|
+
aborter: () => aborter,
|
|
15
18
|
appendEvidence: () => appendEvidence,
|
|
16
19
|
createFlowController: () => createFlowController,
|
|
17
20
|
createKind: () => createKind,
|
|
18
21
|
createPort: () => createPort,
|
|
19
|
-
|
|
22
|
+
createReader: () => createReader,
|
|
20
23
|
debounce: () => debounce,
|
|
21
24
|
evidenceResult: () => evidenceResult,
|
|
22
25
|
filter: () => filter,
|
|
23
26
|
flow: () => flow,
|
|
27
|
+
flowControllerAborterKind: () => flowControllerAborterKind,
|
|
24
28
|
flowControllerDebounceKind: () => flowControllerDebounceKind,
|
|
25
29
|
flowControllerExitKind: () => flowControllerExitKind,
|
|
26
30
|
flowControllerFilterKind: () => flowControllerFilterKind,
|
|
@@ -29,11 +33,11 @@ var invocation_exports = /* @__PURE__ */ __exportAll({
|
|
|
29
33
|
flowControllerThrottlingKind: () => flowControllerThrottlingKind,
|
|
30
34
|
flowControllerTimeoutKind: () => flowControllerTimeoutKind,
|
|
31
35
|
portHandlerKind: () => portHandlerKind,
|
|
36
|
+
readerKind: () => readerKind,
|
|
37
|
+
resolveReaders: () => resolveReaders,
|
|
32
38
|
retry: () => retry,
|
|
33
39
|
throttling: () => throttling,
|
|
34
|
-
timeout: () => timeout
|
|
35
|
-
useCaseHandlerKind: () => useCaseHandlerKind,
|
|
36
|
-
wireUseCases: () => wireUseCases
|
|
40
|
+
timeout: () => timeout
|
|
37
41
|
});
|
|
38
42
|
//#endregion
|
|
39
|
-
export { appendEvidence, createFlowController, createKind, createPort,
|
|
43
|
+
export { AbortErrorFlowController, aborter, appendEvidence, createFlowController, createKind, createPort, createReader, debounce, evidenceResult, filter, flow, flowControllerAborterKind, flowControllerDebounceKind, flowControllerExitKind, flowControllerFilterKind, flowControllerKind, flowControllerRetryKind, flowControllerThrottlingKind, flowControllerTimeoutKind, invocation_exports, portHandlerKind, readerKind, resolveReaders, retry, throttling, timeout };
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
const require_entries = require("../object/entries.cjs");
|
|
2
|
+
const require_entry = require("../object/entry.cjs");
|
|
3
|
+
const require_fromEntries = require("../object/fromEntries.cjs");
|
|
4
|
+
const require_map = require("../array/map.cjs");
|
|
5
|
+
const require_forward = require("../common/forward.cjs");
|
|
6
|
+
const require_pipe = require("../common/pipe.cjs");
|
|
7
|
+
const require_uncapitalize = require("../string/uncapitalize.cjs");
|
|
8
|
+
//#region scripts/invocation/reader.ts
|
|
9
|
+
const readerKind = require("./kind.cjs").createKind("reader");
|
|
10
|
+
function createReader(dependencies, read) {
|
|
11
|
+
return {
|
|
12
|
+
dependencies,
|
|
13
|
+
run: (injectedDependencies) => read(require_pipe.pipe(require_forward.forward(dependencies), require_entries.entries, require_map.map(([key, value]) => {
|
|
14
|
+
const formattedKey = require_uncapitalize.uncapitalize(key);
|
|
15
|
+
return require_entry.entry(formattedKey, readerKind.has(value) && !injectedDependencies[formattedKey] ? value.run(injectedDependencies) : injectedDependencies[formattedKey]);
|
|
16
|
+
}), require_fromEntries.fromEntries)),
|
|
17
|
+
[readerKind.runTimeKey]: null
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
function resolveReaders(readers, ports) {
|
|
21
|
+
return require_pipe.pipe(readers, require_entries.entries, require_map.map(([key, reader]) => require_entry.entry(require_uncapitalize.uncapitalize(key), reader.run(ports))), require_fromEntries.fromEntries);
|
|
22
|
+
}
|
|
23
|
+
//#endregion
|
|
24
|
+
exports.createReader = createReader;
|
|
25
|
+
exports.readerKind = readerKind;
|
|
26
|
+
exports.resolveReaders = resolveReaders;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { PortHandler } from './port';
|
|
2
|
+
import * as DCommon from '../common';
|
|
3
|
+
import type * as DKind from '../kind';
|
|
4
|
+
export type ReaderDependencies = Record<string, Reader | PortHandler>;
|
|
5
|
+
export type ReaderDependenciesValue<GenericDependencies extends ReaderDependencies> = DCommon.SimplifyTopLevel<{
|
|
6
|
+
[Prop in keyof GenericDependencies as Uncapitalize<Extract<Prop, string>>]: GenericDependencies[Prop] extends PortHandler ? ReturnType<GenericDependencies[Prop]["createImplementation"]> : GenericDependencies[Prop] extends Reader ? ReturnType<GenericDependencies[Prop]["run"]> : never;
|
|
7
|
+
}>;
|
|
8
|
+
export type GetAllPorts<GenericDependenciesValue extends ReaderDependencies> = GenericDependenciesValue extends any ? ({
|
|
9
|
+
[Prop in keyof GenericDependenciesValue]: (GenericDependenciesValue[Prop] extends PortHandler ? [
|
|
10
|
+
Uncapitalize<Extract<Prop, string>>,
|
|
11
|
+
ReturnType<GenericDependenciesValue[Prop]["createImplementation"]>
|
|
12
|
+
] : GenericDependenciesValue[Prop] extends Reader ? GetAllPorts<GenericDependenciesValue[Prop]["dependencies"]> : never);
|
|
13
|
+
})[keyof GenericDependenciesValue] : never;
|
|
14
|
+
export declare const readerKind: DKind.Handler<DKind.Definition<"@DuplojsLangInvocation/reader", unknown>>;
|
|
15
|
+
export interface Reader<GenericDependencies extends ReaderDependencies = any, GenericOutput extends unknown = unknown> extends DKind.Kind<typeof readerKind> {
|
|
16
|
+
dependencies: GenericDependencies;
|
|
17
|
+
run(ports: DCommon.SimplifyTopLevel<(GetAllPorts<GenericDependencies> extends infer InferredEntriesDependenciesValue extends DCommon.ObjectEntry ? {
|
|
18
|
+
[Entry in InferredEntriesDependenciesValue as Entry[0]]: Entry[1];
|
|
19
|
+
} : never) & ({
|
|
20
|
+
[Prop in keyof GenericDependencies as GenericDependencies[Prop] extends Reader ? Uncapitalize<Extract<Prop, string>> : never]?: GenericDependencies[Prop] extends Reader ? ReturnType<GenericDependencies[Prop]["run"]> : never;
|
|
21
|
+
})>): GenericOutput;
|
|
22
|
+
}
|
|
23
|
+
export declare function createReader<const GenericDependencies extends ReaderDependencies, GenericOutput extends unknown>(dependencies: GenericDependencies, read: (dependenciesValue: ReaderDependenciesValue<GenericDependencies>) => GenericOutput): Reader<GenericDependencies, GenericOutput>;
|
|
24
|
+
export declare function resolveReaders<GenericReaders extends Record<string, Reader>>(readers: GenericReaders, ports: DCommon.SimplifyTopLevel<DCommon.UnionToIntersection<{
|
|
25
|
+
[Prop in keyof GenericReaders]: GetAllPorts<GenericReaders[Prop]["dependencies"]> extends infer InferredEntriesDependenciesValue extends DCommon.ObjectEntry ? {
|
|
26
|
+
[Entry in InferredEntriesDependenciesValue as Entry[0]]: Entry[1];
|
|
27
|
+
} : never;
|
|
28
|
+
}[keyof GenericReaders]>>): ReaderDependenciesValue<GenericReaders>;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { entries } from "../object/entries.mjs";
|
|
2
|
+
import { entry } from "../object/entry.mjs";
|
|
3
|
+
import { fromEntries } from "../object/fromEntries.mjs";
|
|
4
|
+
import { map } from "../array/map.mjs";
|
|
5
|
+
import { forward } from "../common/forward.mjs";
|
|
6
|
+
import { pipe } from "../common/pipe.mjs";
|
|
7
|
+
import { uncapitalize } from "../string/uncapitalize.mjs";
|
|
8
|
+
import { createKind } from "./kind.mjs";
|
|
9
|
+
//#region scripts/invocation/reader.ts
|
|
10
|
+
const readerKind = createKind("reader");
|
|
11
|
+
function createReader(dependencies, read) {
|
|
12
|
+
return {
|
|
13
|
+
dependencies,
|
|
14
|
+
run: (injectedDependencies) => read(pipe(forward(dependencies), entries, map(([key, value]) => {
|
|
15
|
+
const formattedKey = uncapitalize(key);
|
|
16
|
+
return entry(formattedKey, readerKind.has(value) && !injectedDependencies[formattedKey] ? value.run(injectedDependencies) : injectedDependencies[formattedKey]);
|
|
17
|
+
}), fromEntries)),
|
|
18
|
+
[readerKind.runTimeKey]: null
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
function resolveReaders(readers, ports) {
|
|
22
|
+
return pipe(readers, entries, map(([key, reader]) => entry(uncapitalize(key), reader.run(ports))), fromEntries);
|
|
23
|
+
}
|
|
24
|
+
//#endregion
|
|
25
|
+
export { createReader, readerKind, resolveReaders };
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { Kind, Handler } from './base';
|
|
2
2
|
import { GetHandler } from './types';
|
|
3
3
|
import type * as DCommon from '../common';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
type KindIdentifierHandlers<GenericParent extends Kind<Handler>, GenericChildren extends GenericParent> = GenericChildren extends infer InferredChildren ? InferredChildren extends GenericParent ? GetHandler<InferredChildren> : never : never;
|
|
5
|
+
type KindIdentifierResult<GenericParent extends Kind<Handler>, GenericChildren extends GenericParent, GenericInput extends unknown, GenericGroupedKind extends unknown> = ((GenericInput extends GenericParent ? GenericChildren extends GenericInput ? GenericChildren extends GenericGroupedKind ? GenericChildren : never : never : never) | Extract<GenericInput, GenericGroupedKind>);
|
|
6
|
+
export interface KindIdentifier<GenericParent extends Kind<Handler>, GenericChildren extends GenericParent> {
|
|
7
|
+
<GenericKindHandler extends KindIdentifierHandlers<GenericParent, GenericChildren>, GenericInput extends unknown, GenericGroupedKind extends DCommon.Forward<GenericKindHandler extends Handler ? Kind<GenericKindHandler> : never>>(kind: GenericKindHandler | GenericKindHandler[]): (input: GenericInput) => input is KindIdentifierResult<GenericParent, GenericChildren, GenericInput, GenericGroupedKind>;
|
|
8
|
+
<GenericKindHandler extends KindIdentifierHandlers<GenericParent, GenericChildren>, GenericInput extends unknown, GenericGroupedKind extends DCommon.Forward<GenericKindHandler extends Handler ? Kind<GenericKindHandler> : never>>(input: GenericInput, kind: GenericKindHandler | GenericKindHandler[]): input is KindIdentifierResult<GenericParent, GenericChildren, GenericInput, GenericGroupedKind>;
|
|
9
|
+
}
|
|
10
|
+
export declare function createKindIdentifier<GenericParent extends Kind<Handler>, GenericChildren extends GenericParent>(): KindIdentifier<GenericParent, GenericChildren>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { Definition, Handler } from '../base';
|
|
2
|
+
import { createNamespace } from '../namespace';
|
|
3
|
+
export type GetNamespaceName<GenericKindConstructor extends ReturnType<typeof createNamespace>> = ReturnType<GenericKindConstructor> extends Handler<Definition<`@${infer InferredName}/${string}`>> ? InferredName : never;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export type Remove<GenericObject extends Kind<any
|
|
1
|
+
import { Kind, KeySymbol } from '../base';
|
|
2
|
+
export type Remove<GenericObject extends object> = GenericObject extends Kind<any> ? Omit<GenericObject, KeySymbol> : GenericObject;
|
|
@@ -1,21 +1,34 @@
|
|
|
1
|
+
const require_parentClass = require("../../kind/parentClass.cjs");
|
|
1
2
|
const require_isSimple = require("../../object/isSimple.cjs");
|
|
3
|
+
const require_override = require("../../object/override.cjs");
|
|
2
4
|
const require_create = require("../../either/left/create.cjs");
|
|
5
|
+
const require_is = require("../../either/left/is.cjs");
|
|
3
6
|
const require_create$1 = require("../../either/right/create.cjs");
|
|
7
|
+
const require_unwrap = require("../../either/left/unwrap.cjs");
|
|
8
|
+
const require_unwrap$1 = require("../../either/right/unwrap.cjs");
|
|
4
9
|
const require_justExec = require("../../common/justExec.cjs");
|
|
5
10
|
const require_memo = require("../../common/memo.cjs");
|
|
6
11
|
const require_resultSymbol = require("../../dataStructure/common/resultSymbol.cjs");
|
|
7
|
-
const
|
|
8
|
-
const require_base = require("../../dataStructure/structure/base.cjs");
|
|
12
|
+
const require_base = require("../../dataStructure/common/error/base.cjs");
|
|
13
|
+
const require_base$1 = require("../../dataStructure/structure/base.cjs");
|
|
14
|
+
const require_nonEncodableString = require("../../dataStructure/structure/defaults/nonEncodableString.cjs");
|
|
9
15
|
const require_object = require("../../dataStructure/structure/defaults/object.cjs");
|
|
10
16
|
const require_kind = require("../kind.cjs");
|
|
11
|
-
const
|
|
17
|
+
const require_base$2 = require("../taggedObject/base.cjs");
|
|
12
18
|
//#region scripts/modeling/entity/base.ts
|
|
13
19
|
const entityKind = require_kind.createKind("entity");
|
|
14
20
|
const entityStructureKind = require_kind.createKind("entity-structure");
|
|
15
|
-
|
|
21
|
+
var EncodeEntityError = class extends require_parentClass.parentClass(require_kind.createKind("encode-entity-error"), Error) {
|
|
22
|
+
error;
|
|
23
|
+
constructor(error) {
|
|
24
|
+
super(void 0, "An error occurred while encoding an Entity. This can only happen if you are bypassing the type system.");
|
|
25
|
+
this.error = error;
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const EntityStructure = require_base$1.createStructure(entityStructureKind, ({ init }) => (name, shape) => init({
|
|
16
29
|
inner: require_memo.memo(() => require_object.ObjectStructure({
|
|
17
30
|
...shape(),
|
|
18
|
-
[entityKind.runTimeKey]:
|
|
31
|
+
[entityKind.runTimeKey]: require_nonEncodableString.NonEncodableStringStructure(name)
|
|
19
32
|
}, [])),
|
|
20
33
|
constraints: []
|
|
21
34
|
}, {
|
|
@@ -34,7 +47,7 @@ const EntityStructure = require_base.createStructure(entityStructureKind, ({ ini
|
|
|
34
47
|
const [codecs] = args;
|
|
35
48
|
return (value) => self.decodeMap(codecs, value);
|
|
36
49
|
}
|
|
37
|
-
const errorHandler =
|
|
50
|
+
const errorHandler = require_base.createGetErrorHandler();
|
|
38
51
|
const [codecs, data] = args;
|
|
39
52
|
const result = self.executeDecode(codecs.context.value, require_isSimple.isSimple(data) ? {
|
|
40
53
|
...data,
|
|
@@ -45,7 +58,7 @@ const EntityStructure = require_base.createStructure(entityStructureKind, ({ ini
|
|
|
45
58
|
return require_create$1.right("map-success", result);
|
|
46
59
|
},
|
|
47
60
|
map: (self, data) => {
|
|
48
|
-
const errorHandler =
|
|
61
|
+
const errorHandler = require_base.createGetErrorHandler();
|
|
49
62
|
const formattedData = require_isSimple.isSimple(data) ? {
|
|
50
63
|
...data,
|
|
51
64
|
[entityKind.runTimeKey]: name
|
|
@@ -61,7 +74,7 @@ const EntityStructure = require_base.createStructure(entityStructureKind, ({ ini
|
|
|
61
74
|
return (value) => self.asyncDecodeMap(codecs, value);
|
|
62
75
|
}
|
|
63
76
|
return require_justExec.justExec(async () => {
|
|
64
|
-
const errorHandler =
|
|
77
|
+
const errorHandler = require_base.createGetErrorHandler();
|
|
65
78
|
const [codecs, data] = args;
|
|
66
79
|
const result = await self.executeDecode(codecs.context.value, require_isSimple.isSimple(data) ? {
|
|
67
80
|
...data,
|
|
@@ -71,17 +84,31 @@ const EntityStructure = require_base.createStructure(entityStructureKind, ({ ini
|
|
|
71
84
|
return require_create$1.right("map-success", result);
|
|
72
85
|
});
|
|
73
86
|
},
|
|
74
|
-
asyncMap: (self, data) =>
|
|
75
|
-
const errorHandler =
|
|
87
|
+
asyncMap: async (self, data) => {
|
|
88
|
+
const errorHandler = require_base.createGetErrorHandler();
|
|
76
89
|
const formattedData = require_isSimple.isSimple(data) ? {
|
|
77
90
|
...data,
|
|
78
91
|
[entityKind.runTimeKey]: name
|
|
79
92
|
} : data;
|
|
80
93
|
if (await self.executeCheck(formattedData, errorHandler) === require_resultSymbol.ErrorSymbol) return require_create.left("map-error", errorHandler().createError());
|
|
81
94
|
return require_create$1.right("map-success", formattedData);
|
|
82
|
-
}
|
|
95
|
+
},
|
|
96
|
+
encodeEntity: async (self, codecs, data) => {
|
|
97
|
+
const result = await self.asyncEncode(codecs, data);
|
|
98
|
+
if (require_is.isLeft(result)) throw new EncodeEntityError(require_unwrap.unwrapLeft(result));
|
|
99
|
+
return require_unwrap$1.unwrapRight(result);
|
|
100
|
+
},
|
|
101
|
+
update: (self, ...args) => {
|
|
102
|
+
if (args.length === 1) {
|
|
103
|
+
const [update] = args;
|
|
104
|
+
return (input) => self.update(input, update);
|
|
105
|
+
}
|
|
106
|
+
const [input, { [require_base$2.objectTagKind.runTimeKey]: __, ...update }] = args;
|
|
107
|
+
return require_override.override(input, update);
|
|
108
|
+
}
|
|
83
109
|
}));
|
|
84
110
|
//#endregion
|
|
111
|
+
exports.EncodeEntityError = EncodeEntityError;
|
|
85
112
|
exports.EntityStructure = EntityStructure;
|
|
86
113
|
exports.entityKind = entityKind;
|
|
87
114
|
exports.entityStructureKind = entityStructureKind;
|