@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
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { NewType, NewTypeMap } from '../newType';
|
|
2
|
-
import
|
|
2
|
+
import * as DKind from '../../kind';
|
|
3
3
|
import * as DCommon from '../../common';
|
|
4
4
|
import * as DDataStructure from '../../dataStructure';
|
|
5
5
|
import * as DEither from '../../either';
|
|
@@ -7,6 +7,8 @@ declare module '../../dataStructure' {
|
|
|
7
7
|
interface StructuresStore {
|
|
8
8
|
entity: EntityStructure;
|
|
9
9
|
}
|
|
10
|
+
}
|
|
11
|
+
declare module '../../dataStructure/common' {
|
|
10
12
|
interface EncodeStructure<GenericValue extends unknown, GenericCodecs extends DDataStructure.Codecs> {
|
|
11
13
|
entity: GenericValue extends Entity<infer InferredName> ? (Entity<InferredName> & {
|
|
12
14
|
[Prop in Exclude<keyof GenericValue, DKind.KeySymbol>]: DDataStructure.EncodedValue<GenericValue[Prop], GenericCodecs>;
|
|
@@ -17,6 +19,7 @@ export declare const entityKind: DKind.Handler<DKind.Definition<"@DuplojsLangMod
|
|
|
17
19
|
export interface Entity<GenericName extends string = string> extends DKind.Kind<typeof entityKind, GenericName> {
|
|
18
20
|
}
|
|
19
21
|
export type GetEntityName<GenericEntity extends Entity> = GenericEntity extends Entity<infer InferredName> ? InferredName : never;
|
|
22
|
+
export type ExtractByEntityName<GenericValue extends unknown, GenericEntityName extends string> = GenericValue extends Entity<GenericEntityName> ? GenericValue : never;
|
|
20
23
|
export declare const entityStructureKind: DKind.Handler<DKind.Definition<"@DuplojsLangModeling/entity-structure", unknown>>;
|
|
21
24
|
export interface EntityStructureDefinition extends DDataStructure.StructureDefinition<readonly []> {
|
|
22
25
|
readonly inner: DCommon.Memoized<DDataStructure.ObjectStructure>;
|
|
@@ -28,16 +31,28 @@ export type EntityMap<GenericValue extends unknown, GenericRawValue = DCommon.Re
|
|
|
28
31
|
DCommon.Not<DCommon.IsExtends<DCommon.AnyFunction, GenericRawValue[keyof GenericRawValue]>>
|
|
29
32
|
]>
|
|
30
33
|
]> extends true ? {
|
|
31
|
-
[Prop in keyof GenericRawValue]:
|
|
32
|
-
} : GenericRawValue
|
|
33
|
-
export
|
|
34
|
+
[Prop in keyof GenericRawValue]: EntityMap<GenericRawValue[Prop]>;
|
|
35
|
+
} : GenericRawValue : GenericRawValue;
|
|
36
|
+
export type EntityUpdate<GenericEntity extends Entity, GenericNewProperties extends object> = Extract<(Entity<GetEntityName<GenericEntity>> & DCommon.SimplifyTopLevel<DKind.Remove<GenericEntity> extends infer InferredProperties ? {
|
|
37
|
+
[Prop in keyof InferredProperties]: Prop extends keyof GenericNewProperties ? GenericNewProperties[Prop] extends infer InferredNewValue ? InferredNewValue extends undefined ? InferredProperties[Prop] : InferredNewValue : never : InferredProperties[Prop];
|
|
38
|
+
} : never>), any>;
|
|
39
|
+
export interface EntityStructure<out GenericName extends string = string, out GenericProperties extends Record<string, unknown> = Record<string, unknown>> extends DCommon.Forward<DDataStructure.Structure<Entity<GenericName> & GenericProperties, EntityStructureDefinition> & DKind.Kind<typeof entityStructureKind>> {
|
|
34
40
|
readonly name: GenericName;
|
|
35
41
|
"new"<GenericNewProperties extends GenericProperties>(properties: GenericNewProperties): (Entity<GenericName> & GenericNewProperties);
|
|
36
|
-
decodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs): (data: DDataStructure.EncodedValue<EntityMap<DDataStructure.StructureValue<this
|
|
37
|
-
decodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs, data: DDataStructure.EncodedValue<EntityMap<DDataStructure.StructureValue<this
|
|
38
|
-
map(data: EntityMap<DDataStructure.StructureValue<this
|
|
39
|
-
asyncDecodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs): (data: DDataStructure.EncodedValue<EntityMap<DDataStructure.StructureValue<this
|
|
40
|
-
asyncDecodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs, data: DDataStructure.EncodedValue<EntityMap<DDataStructure.StructureValue<this
|
|
41
|
-
asyncMap(data: EntityMap<DDataStructure.StructureValue<this
|
|
42
|
+
decodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs): (data: DDataStructure.EncodedValue<EntityMap<DKind.Remove<DDataStructure.StructureValue<this>>>, GenericCodecs>) => (DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"async-error", undefined> | DEither.Left<"map-error", DDataStructure.Error>);
|
|
43
|
+
decodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs, data: DDataStructure.EncodedValue<EntityMap<DKind.Remove<DDataStructure.StructureValue<this>>>, GenericCodecs>): (DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"async-error", undefined> | DEither.Left<"map-error", DDataStructure.Error>);
|
|
44
|
+
map(data: EntityMap<DKind.Remove<DDataStructure.StructureValue<this>>>): (DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"async-error", undefined> | DEither.Left<"map-error", DDataStructure.Error>);
|
|
45
|
+
asyncDecodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs): (data: DDataStructure.EncodedValue<EntityMap<DKind.Remove<DDataStructure.StructureValue<this>>>, GenericCodecs>) => Promise<DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"map-error", DDataStructure.Error>>;
|
|
46
|
+
asyncDecodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs, data: DDataStructure.EncodedValue<EntityMap<DKind.Remove<DDataStructure.StructureValue<this>>>, GenericCodecs>): Promise<DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"map-error", DDataStructure.Error>>;
|
|
47
|
+
asyncMap(data: EntityMap<DKind.Remove<DDataStructure.StructureValue<this>>>): Promise<DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"map-error", DDataStructure.Error>>;
|
|
48
|
+
encodeEntity<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs, data: DDataStructure.StructureValue<this>): Promise<DDataStructure.EncodedValue<EntityMap<DKind.Remove<DDataStructure.StructureValue<this>>>, GenericCodecs>>;
|
|
49
|
+
update<GenericInputEntity extends (Entity<GenericName> & GenericProperties), const GenericPayload extends Partial<GenericProperties>>(update: GenericPayload): (input: GenericInputEntity) => EntityUpdate<GenericInputEntity, GenericPayload>;
|
|
50
|
+
update<GenericInputEntity extends (Entity<GenericName> & GenericProperties), const GenericPayload extends Partial<GenericProperties>>(input: GenericInputEntity, update: GenericPayload): EntityUpdate<GenericInputEntity, GenericPayload>;
|
|
51
|
+
}
|
|
52
|
+
declare const EncodeEntityError_base: DKind.KindClass<DKind.Handler<DKind.Definition<"@DuplojsLangModeling/encode-entity-error", unknown>>, ErrorConstructor>;
|
|
53
|
+
export declare class EncodeEntityError extends EncodeEntityError_base {
|
|
54
|
+
error: DDataStructure.Error;
|
|
55
|
+
constructor(error: DDataStructure.Error);
|
|
42
56
|
}
|
|
43
57
|
export declare const EntityStructure: <GenericName extends string, GenericShape extends DDataStructure.ShapeObjectStructure, const GenericProperties extends DDataStructure.ShapeObjectStructureValue<GenericShape>>(name: GenericName, shape: () => GenericShape) => EntityStructure<GenericName, GenericProperties>;
|
|
58
|
+
export {};
|
|
@@ -1,21 +1,34 @@
|
|
|
1
|
+
import { parentClass } from "../../kind/parentClass.mjs";
|
|
1
2
|
import { isSimple } from "../../object/isSimple.mjs";
|
|
3
|
+
import { override } from "../../object/override.mjs";
|
|
2
4
|
import { left } from "../../either/left/create.mjs";
|
|
5
|
+
import { isLeft } from "../../either/left/is.mjs";
|
|
3
6
|
import { right } from "../../either/right/create.mjs";
|
|
7
|
+
import { unwrapLeft } from "../../either/left/unwrap.mjs";
|
|
8
|
+
import { unwrapRight } from "../../either/right/unwrap.mjs";
|
|
4
9
|
import { justExec } from "../../common/justExec.mjs";
|
|
5
10
|
import { memo } from "../../common/memo.mjs";
|
|
6
11
|
import { ErrorSymbol } from "../../dataStructure/common/resultSymbol.mjs";
|
|
7
|
-
import { createGetErrorHandler } from "../../dataStructure/common/error.mjs";
|
|
12
|
+
import { createGetErrorHandler } from "../../dataStructure/common/error/base.mjs";
|
|
8
13
|
import { createStructure } from "../../dataStructure/structure/base.mjs";
|
|
14
|
+
import { NonEncodableStringStructure } from "../../dataStructure/structure/defaults/nonEncodableString.mjs";
|
|
9
15
|
import { ObjectStructure } from "../../dataStructure/structure/defaults/object.mjs";
|
|
10
16
|
import { createKind } from "../kind.mjs";
|
|
11
|
-
import {
|
|
17
|
+
import { objectTagKind } from "../taggedObject/base.mjs";
|
|
12
18
|
//#region scripts/modeling/entity/base.ts
|
|
13
19
|
const entityKind = createKind("entity");
|
|
14
20
|
const entityStructureKind = createKind("entity-structure");
|
|
21
|
+
var EncodeEntityError = class extends parentClass(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
|
+
};
|
|
15
28
|
const EntityStructure = createStructure(entityStructureKind, ({ init }) => (name, shape) => init({
|
|
16
29
|
inner: memo(() => ObjectStructure({
|
|
17
30
|
...shape(),
|
|
18
|
-
[entityKind.runTimeKey]:
|
|
31
|
+
[entityKind.runTimeKey]: NonEncodableStringStructure(name)
|
|
19
32
|
}, [])),
|
|
20
33
|
constraints: []
|
|
21
34
|
}, {
|
|
@@ -71,7 +84,7 @@ const EntityStructure = createStructure(entityStructureKind, ({ init }) => (name
|
|
|
71
84
|
return right("map-success", result);
|
|
72
85
|
});
|
|
73
86
|
},
|
|
74
|
-
asyncMap: (self, data) =>
|
|
87
|
+
asyncMap: async (self, data) => {
|
|
75
88
|
const errorHandler = createGetErrorHandler();
|
|
76
89
|
const formattedData = isSimple(data) ? {
|
|
77
90
|
...data,
|
|
@@ -79,7 +92,20 @@ const EntityStructure = createStructure(entityStructureKind, ({ init }) => (name
|
|
|
79
92
|
} : data;
|
|
80
93
|
if (await self.executeCheck(formattedData, errorHandler) === ErrorSymbol) return left("map-error", errorHandler().createError());
|
|
81
94
|
return right("map-success", formattedData);
|
|
82
|
-
}
|
|
95
|
+
},
|
|
96
|
+
encodeEntity: async (self, codecs, data) => {
|
|
97
|
+
const result = await self.asyncEncode(codecs, data);
|
|
98
|
+
if (isLeft(result)) throw new EncodeEntityError(unwrapLeft(result));
|
|
99
|
+
return 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, { [objectTagKind.runTimeKey]: __, ...update }] = args;
|
|
107
|
+
return override(input, update);
|
|
108
|
+
}
|
|
83
109
|
}));
|
|
84
110
|
//#endregion
|
|
85
|
-
export { EntityStructure, entityKind, entityStructureKind };
|
|
111
|
+
export { EncodeEntityError, EntityStructure, entityKind, entityStructureKind };
|
|
@@ -3,7 +3,7 @@ import { NewType } from '../newType';
|
|
|
3
3
|
import type * as DCommon from '../../common';
|
|
4
4
|
import type * as DDataStructure from '../../dataStructure';
|
|
5
5
|
import type * as DString from '../../string';
|
|
6
|
-
export type ForbiddenMissingNewTypeInEntityShape<GenericValue extends unknown, GenericPath extends readonly string[] = readonly []> = GenericValue extends NewType ? never : GenericValue extends object ? DCommon.Or<[
|
|
6
|
+
export type ForbiddenMissingNewTypeInEntityShape<GenericValue extends unknown, GenericPath extends readonly string[] = readonly []> = GenericValue extends NewType | null ? never : GenericValue extends object ? DCommon.Or<[
|
|
7
7
|
DCommon.IsExtends<GenericValue, readonly any[]>,
|
|
8
8
|
DCommon.And<[
|
|
9
9
|
DCommon.IsExtends<keyof GenericValue, string>,
|
|
@@ -7,9 +7,9 @@ const namespaceKind = require_kind.createKind("namespace");
|
|
|
7
7
|
function createEntityNamespace(entityName) {
|
|
8
8
|
return {
|
|
9
9
|
name: entityName,
|
|
10
|
-
createNewType: (name, structure, newTypeConstraints = []) => require_helper$1.
|
|
10
|
+
createNewType: (name, structure, newTypeConstraints = []) => require_helper$1.createNewType(`${entityName}${name}`, structure, newTypeConstraints),
|
|
11
11
|
createEntity: (shape) => require_helper.createEntity(entityName, shape),
|
|
12
|
-
createFlag: (
|
|
12
|
+
createFlag: (name) => require_base.createFlag(`${entityName}${name}`),
|
|
13
13
|
[namespaceKind.runTimeKey]: null
|
|
14
14
|
};
|
|
15
15
|
}
|
|
@@ -10,6 +10,6 @@ export interface EntityNamespace<GenericEntityName extends Capitalize<string> =
|
|
|
10
10
|
readonly name: GenericEntityName;
|
|
11
11
|
createNewType<GenericName extends Capitalize<string>, GenericStructure extends DDataStructure.Structure, const GenericNewTypeConstraint extends readonly DDataStructure.Constraint<DDataStructure.StructureValue<GenericStructure>>[] = readonly []>(name: (GenericName & DCommon.NeverCoalescing<ForbiddenTopLevelNewType<DDataStructure.StructureValue<GenericStructure>>, unknown>), structure: GenericStructure, newTypeConstraints?: GenericNewTypeConstraint): NewTypeStructure<`${GenericEntityName}${GenericName}`, DDataStructure.StructureValue<GenericStructure>, GenericNewTypeConstraint>;
|
|
12
12
|
createEntity<GenericShape extends DDataStructure.ShapeObjectStructure>(shape: () => (GenericShape & DCommon.NeverCoalescing<ForbiddenMissingNewTypeInEntityShape<DDataStructure.ShapeObjectStructureValue<GenericShape>>, unknown>)): EntityStructure<GenericEntityName, DDataStructure.ShapeObjectStructureValue<GenericShape>>;
|
|
13
|
-
createFlag<
|
|
13
|
+
createFlag<GenericName extends Capitalize<string>, GenericEntityStructure extends EntityStructure<GenericEntityName>, GenericPayload extends unknown = {}>(name: DCommon.IsEqual<GenericName, Capitalize<string>> extends true ? never : NoInfer<GenericName>): FlagHandler<`${GenericEntityName}${GenericName}`, DDataStructure.StructureValue<GenericEntityStructure>, GenericPayload>;
|
|
14
14
|
}
|
|
15
15
|
export declare function createEntityNamespace<GenericName extends Capitalize<string>>(entityName: GenericName): EntityNamespace<GenericName>;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { createKind } from "../kind.mjs";
|
|
2
2
|
import { createEntity } from "./helper.mjs";
|
|
3
|
-
import {
|
|
3
|
+
import { createNewType } from "../newType/helper.mjs";
|
|
4
4
|
import { createFlag } from "../flag/base.mjs";
|
|
5
5
|
//#region scripts/modeling/entity/namespace.ts
|
|
6
6
|
const namespaceKind = createKind("namespace");
|
|
7
7
|
function createEntityNamespace(entityName) {
|
|
8
8
|
return {
|
|
9
9
|
name: entityName,
|
|
10
|
-
createNewType: (name, structure, newTypeConstraints = []) =>
|
|
10
|
+
createNewType: (name, structure, newTypeConstraints = []) => createNewType(`${entityName}${name}`, structure, newTypeConstraints),
|
|
11
11
|
createEntity: (shape) => createEntity(entityName, shape),
|
|
12
|
-
createFlag: (
|
|
12
|
+
createFlag: (name) => createFlag(`${entityName}${name}`),
|
|
13
13
|
[namespaceKind.runTimeKey]: null
|
|
14
14
|
};
|
|
15
15
|
}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
const require_type = require("../../dataStructure/structure/defaults/type.cjs");
|
|
2
|
-
const require_null = require("../../dataStructure/type/defaults/null.cjs");
|
|
3
1
|
const require_kind = require("../kind.cjs");
|
|
4
2
|
//#region scripts/modeling/flag/base.ts
|
|
5
3
|
const flagKind = require_kind.createKind("flag");
|
|
6
4
|
const flagHandlerKind = require_kind.createKind("flag-handler");
|
|
7
|
-
function createFlag(
|
|
5
|
+
function createFlag(name) {
|
|
8
6
|
function append(...args) {
|
|
9
7
|
if (args.length === 1) {
|
|
10
8
|
const [value] = args;
|
|
@@ -19,8 +17,6 @@ function createFlag(entityStructure, name, valueStructure = require_type.TypeStr
|
|
|
19
17
|
}
|
|
20
18
|
return {
|
|
21
19
|
name,
|
|
22
|
-
entityStructure,
|
|
23
|
-
valueStructure,
|
|
24
20
|
append,
|
|
25
21
|
getValue(entity) {
|
|
26
22
|
return flagKind.getValue(entity)[name];
|
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
import { EntityStructure, Entity
|
|
1
|
+
import { EntityStructure, Entity } from '../entity';
|
|
2
|
+
import type * as DCommon from '../../common';
|
|
2
3
|
import type * as DKind from '../../kind';
|
|
3
|
-
import * as DDataStructure from '../../dataStructure';
|
|
4
|
+
import type * as DDataStructure from '../../dataStructure';
|
|
4
5
|
export declare const flagKind: DKind.Handler<DKind.Definition<"@DuplojsLangModeling/flag", Record<string, unknown>>>;
|
|
5
6
|
export interface Flag<GenericName extends string = string, GenericValue extends unknown = never> extends DKind.Kind<typeof flagKind, Record<GenericName, GenericValue>> {
|
|
6
7
|
}
|
|
7
8
|
declare const flagHandlerKind: DKind.Handler<DKind.Definition<"@DuplojsLangModeling/flag-handler", unknown>>;
|
|
8
|
-
export interface FlagHandler<
|
|
9
|
+
export interface FlagHandler<GenericName extends string = string, GenericEntity extends Entity = Entity, GenericValue extends unknown = unknown> extends DKind.Kind<typeof flagHandlerKind> {
|
|
9
10
|
readonly name: GenericName;
|
|
10
|
-
readonly entityStructure: EntityStructure<GetEntityName<GenericEntity>, Omit<GenericEntity, DKind.KeySymbol>>;
|
|
11
|
-
readonly valueStructure: DDataStructure.Structure<GenericValue>;
|
|
12
11
|
append<GenericInputEntity extends GenericEntity, const GenericInputValue extends GenericValue>(value: GenericInputValue): (entity: GenericInputEntity) => (GenericInputEntity & Flag<GenericName, GenericInputValue>);
|
|
13
12
|
append<GenericInputEntity extends GenericEntity, const GenericInputValue extends GenericValue>(entity: GenericInputEntity, value: GenericInputValue): (GenericInputEntity & Flag<GenericName, GenericInputValue>);
|
|
14
13
|
getValue<GenericInputEntity extends GenericEntity & Flag<GenericName, GenericValue>>(entity: GenericInputEntity): DKind.GetValue<typeof flagKind, GenericInputEntity>[GenericName];
|
|
15
14
|
has<GenericInputEntity extends GenericEntity>(entity: GenericInputEntity): entity is Extract<GenericInputEntity, Flag<GenericName, any>>;
|
|
16
15
|
}
|
|
17
|
-
export declare function createFlag<
|
|
18
|
-
export type GetFlag<GenericHandler extends FlagHandler<any, any, any>> = GenericHandler extends FlagHandler<
|
|
16
|
+
export declare function createFlag<GenericName extends Capitalize<string>, GenericEntityStructure extends EntityStructure, GenericPayload extends unknown = {}>(name: DCommon.IsEqual<GenericName, Capitalize<string>> extends true ? never : NoInfer<GenericName>): FlagHandler<GenericName, DDataStructure.StructureValue<GenericEntityStructure>, GenericPayload>;
|
|
17
|
+
export type GetFlag<GenericHandler extends FlagHandler<any, any, any>> = GenericHandler extends FlagHandler<infer InferredName, any, infer InferredValue> ? Flag<InferredName, InferredValue> : never;
|
|
19
18
|
export {};
|
|
@@ -1,10 +1,8 @@
|
|
|
1
|
-
import { TypeStructure } from "../../dataStructure/structure/defaults/type.mjs";
|
|
2
|
-
import { NullType } from "../../dataStructure/type/defaults/null.mjs";
|
|
3
1
|
import { createKind } from "../kind.mjs";
|
|
4
2
|
//#region scripts/modeling/flag/base.ts
|
|
5
3
|
const flagKind = createKind("flag");
|
|
6
4
|
const flagHandlerKind = createKind("flag-handler");
|
|
7
|
-
function createFlag(
|
|
5
|
+
function createFlag(name) {
|
|
8
6
|
function append(...args) {
|
|
9
7
|
if (args.length === 1) {
|
|
10
8
|
const [value] = args;
|
|
@@ -19,8 +17,6 @@ function createFlag(entityStructure, name, valueStructure = TypeStructure(NullTy
|
|
|
19
17
|
}
|
|
20
18
|
return {
|
|
21
19
|
name,
|
|
22
|
-
entityStructure,
|
|
23
|
-
valueStructure,
|
|
24
20
|
append,
|
|
25
21
|
getValue(entity) {
|
|
26
22
|
return flagKind.getValue(entity)[name];
|
package/dist/modeling/index.cjs
CHANGED
|
@@ -1,42 +1,56 @@
|
|
|
1
1
|
const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
|
|
2
2
|
const require_kind = require("./kind.cjs");
|
|
3
|
-
const
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
3
|
+
const require_base = require("./taggedObject/base.cjs");
|
|
4
|
+
const require_helper = require("./taggedObject/helper.cjs");
|
|
5
|
+
const require_base$1 = require("./entity/base.cjs");
|
|
6
|
+
const require_helper$1 = require("./entity/helper.cjs");
|
|
7
|
+
const require_base$2 = require("./newType/base.cjs");
|
|
8
|
+
const require_helper$2 = require("./newType/helper.cjs");
|
|
9
|
+
const require_base$3 = require("./flag/base.cjs");
|
|
9
10
|
const require_namespace = require("./entity/namespace.cjs");
|
|
10
11
|
//#region scripts/modeling/index.ts
|
|
11
12
|
var modeling_exports = /* @__PURE__ */ require_runtime.__exportAll({
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
EncodeEntityError: () => require_base$1.EncodeEntityError,
|
|
14
|
+
EncodeNewTypeError: () => require_base$2.EncodeNewTypeError,
|
|
15
|
+
EncodeTaggedObjectError: () => require_base.EncodeTaggedObjectError,
|
|
16
|
+
EntityStructure: () => require_base$1.EntityStructure,
|
|
17
|
+
NewTypeStructure: () => require_base$2.NewTypeStructure,
|
|
18
|
+
TaggedObjectStructure: () => require_base.TaggedObjectStructure,
|
|
19
|
+
createEntity: () => require_helper$1.createEntity,
|
|
16
20
|
createEntityNamespace: () => require_namespace.createEntityNamespace,
|
|
17
|
-
createFlag: () => require_base$
|
|
21
|
+
createFlag: () => require_base$3.createFlag,
|
|
18
22
|
createKind: () => require_kind.createKind,
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
entityStructureKind: () => require_base.entityStructureKind,
|
|
23
|
-
flagKind: () => require_base$
|
|
23
|
+
createNewType: () => require_helper$2.createNewType,
|
|
24
|
+
createTaggedObject: () => require_helper.createTaggedObject,
|
|
25
|
+
entityKind: () => require_base$1.entityKind,
|
|
26
|
+
entityStructureKind: () => require_base$1.entityStructureKind,
|
|
27
|
+
flagKind: () => require_base$3.flagKind,
|
|
28
|
+
getTagValue: () => require_helper.getTagValue,
|
|
29
|
+
hasTagValue: () => require_helper.hasTagValue,
|
|
24
30
|
namespaceKind: () => require_namespace.namespaceKind,
|
|
25
|
-
newTypeStructureKind: () => require_base$
|
|
31
|
+
newTypeStructureKind: () => require_base$2.newTypeStructureKind,
|
|
32
|
+
objectTagKind: () => require_base.objectTagKind,
|
|
33
|
+
taggedObject: () => require_helper.taggedObject,
|
|
34
|
+
taggedObjectStructureKind: () => require_base.taggedObjectStructureKind
|
|
26
35
|
});
|
|
27
36
|
//#endregion
|
|
28
|
-
exports.
|
|
29
|
-
exports.
|
|
30
|
-
exports.
|
|
31
|
-
exports.
|
|
37
|
+
exports.EncodeEntityError = require_base$1.EncodeEntityError;
|
|
38
|
+
exports.EncodeNewTypeError = require_base$2.EncodeNewTypeError;
|
|
39
|
+
exports.EncodeTaggedObjectError = require_base.EncodeTaggedObjectError;
|
|
40
|
+
exports.EntityStructure = require_base$1.EntityStructure;
|
|
41
|
+
exports.NewTypeStructure = require_base$2.NewTypeStructure;
|
|
42
|
+
exports.TaggedObjectStructure = require_base.TaggedObjectStructure;
|
|
43
|
+
exports.createEntity = require_helper$1.createEntity;
|
|
32
44
|
exports.createEntityNamespace = require_namespace.createEntityNamespace;
|
|
33
|
-
exports.createFlag = require_base$
|
|
45
|
+
exports.createFlag = require_base$3.createFlag;
|
|
34
46
|
exports.createKind = require_kind.createKind;
|
|
35
|
-
exports.
|
|
36
|
-
exports.
|
|
37
|
-
exports.
|
|
38
|
-
exports.entityStructureKind = require_base.entityStructureKind;
|
|
39
|
-
exports.flagKind = require_base$
|
|
47
|
+
exports.createNewType = require_helper$2.createNewType;
|
|
48
|
+
exports.createTaggedObject = require_helper.createTaggedObject;
|
|
49
|
+
exports.entityKind = require_base$1.entityKind;
|
|
50
|
+
exports.entityStructureKind = require_base$1.entityStructureKind;
|
|
51
|
+
exports.flagKind = require_base$3.flagKind;
|
|
52
|
+
exports.getTagValue = require_helper.getTagValue;
|
|
53
|
+
exports.hasTagValue = require_helper.hasTagValue;
|
|
40
54
|
Object.defineProperty(exports, "modeling_exports", {
|
|
41
55
|
enumerable: true,
|
|
42
56
|
get: function() {
|
|
@@ -44,4 +58,7 @@ Object.defineProperty(exports, "modeling_exports", {
|
|
|
44
58
|
}
|
|
45
59
|
});
|
|
46
60
|
exports.namespaceKind = require_namespace.namespaceKind;
|
|
47
|
-
exports.newTypeStructureKind = require_base$
|
|
61
|
+
exports.newTypeStructureKind = require_base$2.newTypeStructureKind;
|
|
62
|
+
exports.objectTagKind = require_base.objectTagKind;
|
|
63
|
+
exports.taggedObject = require_helper.taggedObject;
|
|
64
|
+
exports.taggedObjectStructureKind = require_base.taggedObjectStructureKind;
|
package/dist/modeling/index.d.ts
CHANGED
package/dist/modeling/index.mjs
CHANGED
|
@@ -1,28 +1,37 @@
|
|
|
1
1
|
import { __exportAll } from "../_virtual/_rolldown/runtime.mjs";
|
|
2
2
|
import { createKind } from "./kind.mjs";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { EncodeTaggedObjectError, TaggedObjectStructure, objectTagKind, taggedObjectStructureKind } from "./taggedObject/base.mjs";
|
|
4
|
+
import { createTaggedObject, getTagValue, hasTagValue, taggedObject } from "./taggedObject/helper.mjs";
|
|
5
|
+
import { EncodeEntityError, EntityStructure, entityKind, entityStructureKind } from "./entity/base.mjs";
|
|
5
6
|
import { createEntity } from "./entity/helper.mjs";
|
|
6
|
-
import { NewTypeStructure, newTypeStructureKind } from "./newType/base.mjs";
|
|
7
|
-
import {
|
|
7
|
+
import { EncodeNewTypeError, NewTypeStructure, newTypeStructureKind } from "./newType/base.mjs";
|
|
8
|
+
import { createNewType } from "./newType/helper.mjs";
|
|
8
9
|
import { createFlag, flagKind } from "./flag/base.mjs";
|
|
9
10
|
import { createEntityNamespace, namespaceKind } from "./entity/namespace.mjs";
|
|
10
11
|
//#region scripts/modeling/index.ts
|
|
11
12
|
var modeling_exports = /* @__PURE__ */ __exportAll({
|
|
12
|
-
|
|
13
|
+
EncodeEntityError: () => EncodeEntityError,
|
|
14
|
+
EncodeNewTypeError: () => EncodeNewTypeError,
|
|
15
|
+
EncodeTaggedObjectError: () => EncodeTaggedObjectError,
|
|
13
16
|
EntityStructure: () => EntityStructure,
|
|
14
17
|
NewTypeStructure: () => NewTypeStructure,
|
|
18
|
+
TaggedObjectStructure: () => TaggedObjectStructure,
|
|
15
19
|
createEntity: () => createEntity,
|
|
16
20
|
createEntityNamespace: () => createEntityNamespace,
|
|
17
21
|
createFlag: () => createFlag,
|
|
18
22
|
createKind: () => createKind,
|
|
19
|
-
|
|
23
|
+
createNewType: () => createNewType,
|
|
24
|
+
createTaggedObject: () => createTaggedObject,
|
|
20
25
|
entityKind: () => entityKind,
|
|
21
|
-
entityNameStructureKind: () => entityNameStructureKind,
|
|
22
26
|
entityStructureKind: () => entityStructureKind,
|
|
23
27
|
flagKind: () => flagKind,
|
|
28
|
+
getTagValue: () => getTagValue,
|
|
29
|
+
hasTagValue: () => hasTagValue,
|
|
24
30
|
namespaceKind: () => namespaceKind,
|
|
25
|
-
newTypeStructureKind: () => newTypeStructureKind
|
|
31
|
+
newTypeStructureKind: () => newTypeStructureKind,
|
|
32
|
+
objectTagKind: () => objectTagKind,
|
|
33
|
+
taggedObject: () => taggedObject,
|
|
34
|
+
taggedObjectStructureKind: () => taggedObjectStructureKind
|
|
26
35
|
});
|
|
27
36
|
//#endregion
|
|
28
|
-
export {
|
|
37
|
+
export { EncodeEntityError, EncodeNewTypeError, EncodeTaggedObjectError, EntityStructure, NewTypeStructure, TaggedObjectStructure, createEntity, createEntityNamespace, createFlag, createKind, createNewType, createTaggedObject, entityKind, entityStructureKind, flagKind, getTagValue, hasTagValue, modeling_exports, namespaceKind, newTypeStructureKind, objectTagKind, taggedObject, taggedObjectStructureKind };
|
|
@@ -1,20 +1,35 @@
|
|
|
1
|
+
const require_parentClass = require("../../kind/parentClass.cjs");
|
|
1
2
|
const require_callThen = require("../../common/callThen.cjs");
|
|
2
3
|
const require_create = require("../../either/left/create.cjs");
|
|
4
|
+
const require_is = require("../../either/left/is.cjs");
|
|
3
5
|
const require_create$1 = require("../../either/right/create.cjs");
|
|
6
|
+
const require_unwrap = require("../../either/left/unwrap.cjs");
|
|
7
|
+
const require_unwrap$1 = require("../../either/right/unwrap.cjs");
|
|
4
8
|
const require_justExec = require("../../common/justExec.cjs");
|
|
5
9
|
const require_resultSymbol = require("../../dataStructure/common/resultSymbol.cjs");
|
|
6
|
-
const
|
|
7
|
-
const require_base = require("../../dataStructure/structure/base.cjs");
|
|
10
|
+
const require_base = require("../../dataStructure/common/error/base.cjs");
|
|
11
|
+
const require_base$1 = require("../../dataStructure/structure/base.cjs");
|
|
12
|
+
const require_kind = require("../kind.cjs");
|
|
8
13
|
//#region scripts/modeling/newType/base.ts
|
|
9
|
-
const newTypeStructureKind =
|
|
10
|
-
|
|
14
|
+
const newTypeStructureKind = require_kind.createKind("new-type-structure");
|
|
15
|
+
var EncodeNewTypeError = class extends require_parentClass.parentClass(require_kind.createKind("encode-new-type-error"), Error) {
|
|
16
|
+
error;
|
|
17
|
+
constructor(error) {
|
|
18
|
+
super(void 0, "An error occurred while encoding a NewType. This can only happen if you are bypassing the type system.");
|
|
19
|
+
this.error = error;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
function executeNewTypeConstraints(structure, data, errorHandler) {
|
|
23
|
+
return structure.definition.newTypeConstraints.reduce((accumulator, constraint) => require_callThen.callThen(accumulator, (result) => result === require_resultSymbol.ErrorSymbol ? require_resultSymbol.ErrorSymbol : require_callThen.callThen(constraint.executeCheck(data), (constraintResult) => constraintResult === require_resultSymbol.ErrorSymbol ? errorHandler?.().addIssue(structure, data, constraint) ?? require_resultSymbol.ErrorSymbol : require_resultSymbol.SuccessSymbol)), require_resultSymbol.SuccessSymbol);
|
|
24
|
+
}
|
|
25
|
+
const NewTypeStructure = require_base$1.createStructure(newTypeStructureKind, ({ init }) => (name, structure, newTypeConstraints) => init({
|
|
11
26
|
constraints: [],
|
|
12
27
|
newTypeConstraints,
|
|
13
28
|
inner: structure
|
|
14
29
|
}, {
|
|
15
|
-
executeCheck: (self, data, errorHandler) => require_callThen.callThen(self.definition.inner.executeCheck(data, errorHandler), (result) => result === require_resultSymbol.ErrorSymbol ? require_resultSymbol.ErrorSymbol : self
|
|
16
|
-
executeEncode: (self, codec, data, errorHandler) => require_callThen.callThen(self.definition.inner.executeEncode(codec, data, errorHandler), (awaitedInnerResult) => awaitedInnerResult === require_resultSymbol.ErrorSymbol ? require_resultSymbol.ErrorSymbol : require_callThen.callThen(self
|
|
17
|
-
executeDecode: (self, codec, data, errorHandler) => require_callThen.callThen(self.definition.inner.executeDecode(codec, data, errorHandler), (awaitedInnerResult) => awaitedInnerResult === require_resultSymbol.ErrorSymbol ? require_resultSymbol.ErrorSymbol : require_callThen.callThen(self
|
|
30
|
+
executeCheck: (self, data, errorHandler) => require_callThen.callThen(self.definition.inner.executeCheck(data, errorHandler), (result) => result === require_resultSymbol.ErrorSymbol ? require_resultSymbol.ErrorSymbol : executeNewTypeConstraints(self, data, errorHandler)),
|
|
31
|
+
executeEncode: (self, codec, data, errorHandler) => require_callThen.callThen(self.definition.inner.executeEncode(codec, data, errorHandler), (awaitedInnerResult) => awaitedInnerResult === require_resultSymbol.ErrorSymbol ? require_resultSymbol.ErrorSymbol : require_callThen.callThen(executeNewTypeConstraints(self, data, errorHandler), (result) => result === require_resultSymbol.ErrorSymbol ? require_resultSymbol.ErrorSymbol : require_callThen.callThen(self.executeConstraints(data, errorHandler), (result) => result === require_resultSymbol.ErrorSymbol ? require_resultSymbol.ErrorSymbol : awaitedInnerResult))),
|
|
32
|
+
executeDecode: (self, codec, data, errorHandler) => require_callThen.callThen(self.definition.inner.executeDecode(codec, data, errorHandler), (awaitedInnerResult) => awaitedInnerResult === require_resultSymbol.ErrorSymbol ? require_resultSymbol.ErrorSymbol : require_callThen.callThen(executeNewTypeConstraints(self, awaitedInnerResult, errorHandler), (result) => result === require_resultSymbol.ErrorSymbol ? require_resultSymbol.ErrorSymbol : require_callThen.callThen(self.executeConstraints(awaitedInnerResult, errorHandler), (result) => result === require_resultSymbol.ErrorSymbol ? require_resultSymbol.ErrorSymbol : awaitedInnerResult))),
|
|
18
33
|
isAsynchronous: (self) => self.definition.inner.isAsynchronous() || self.definition.newTypeConstraints.some((value) => value.isAsynchronous())
|
|
19
34
|
}, {
|
|
20
35
|
name,
|
|
@@ -23,7 +38,7 @@ const NewTypeStructure = require_base.createStructure(newTypeStructureKind, ({ i
|
|
|
23
38
|
const [codecs] = args;
|
|
24
39
|
return (value) => self.decodeMap(codecs, value);
|
|
25
40
|
}
|
|
26
|
-
const errorHandler =
|
|
41
|
+
const errorHandler = require_base.createGetErrorHandler();
|
|
27
42
|
const [codecs, data] = args;
|
|
28
43
|
const result = self.executeDecode(codecs.context.value, data, errorHandler);
|
|
29
44
|
if (result instanceof Promise) return require_create.left("async-error", void 0);
|
|
@@ -31,7 +46,7 @@ const NewTypeStructure = require_base.createStructure(newTypeStructureKind, ({ i
|
|
|
31
46
|
return require_create$1.right("map-success", result);
|
|
32
47
|
},
|
|
33
48
|
map: (self, data) => {
|
|
34
|
-
const errorHandler =
|
|
49
|
+
const errorHandler = require_base.createGetErrorHandler();
|
|
35
50
|
const result = self.executeCheck(data, errorHandler);
|
|
36
51
|
if (result instanceof Promise) return require_create.left("async-error", void 0);
|
|
37
52
|
if (result === require_resultSymbol.ErrorSymbol) return require_create.left("map-error", errorHandler().createError());
|
|
@@ -43,19 +58,25 @@ const NewTypeStructure = require_base.createStructure(newTypeStructureKind, ({ i
|
|
|
43
58
|
return (value) => self.asyncDecodeMap(codecs, value);
|
|
44
59
|
}
|
|
45
60
|
return require_justExec.justExec(async () => {
|
|
46
|
-
const errorHandler =
|
|
61
|
+
const errorHandler = require_base.createGetErrorHandler();
|
|
47
62
|
const [codecs, data] = args;
|
|
48
63
|
const result = await self.executeDecode(codecs.context.value, data, errorHandler);
|
|
49
64
|
if (result === require_resultSymbol.ErrorSymbol) return require_create.left("map-error", errorHandler().createError());
|
|
50
65
|
return require_create$1.right("map-success", result);
|
|
51
66
|
});
|
|
52
67
|
},
|
|
53
|
-
asyncMap: (self, data) =>
|
|
54
|
-
const errorHandler =
|
|
68
|
+
asyncMap: async (self, data) => {
|
|
69
|
+
const errorHandler = require_base.createGetErrorHandler();
|
|
55
70
|
if (await self.executeCheck(data, errorHandler) === require_resultSymbol.ErrorSymbol) return require_create.left("map-error", errorHandler().createError());
|
|
56
71
|
return require_create$1.right("map-success", data);
|
|
57
|
-
}
|
|
72
|
+
},
|
|
73
|
+
encodeNewType: async (self, codec, data) => {
|
|
74
|
+
const result = await self.asyncEncode(codec, data);
|
|
75
|
+
if (require_is.isLeft(result)) throw new EncodeNewTypeError(require_unwrap.unwrapLeft(result));
|
|
76
|
+
return require_unwrap$1.unwrapRight(result);
|
|
77
|
+
}
|
|
58
78
|
}));
|
|
59
79
|
//#endregion
|
|
80
|
+
exports.EncodeNewTypeError = EncodeNewTypeError;
|
|
60
81
|
exports.NewTypeStructure = NewTypeStructure;
|
|
61
82
|
exports.newTypeStructureKind = newTypeStructureKind;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as DKind from '../../kind';
|
|
2
2
|
import * as DCommon from '../../common';
|
|
3
3
|
import type * as DArray from '../../array';
|
|
4
4
|
import * as DEither from '../../either';
|
|
@@ -25,7 +25,7 @@ export interface NewTypeStructureDefinition<GenericNewTypeConstraint extends rea
|
|
|
25
25
|
readonly newTypeConstraints: GenericNewTypeConstraint;
|
|
26
26
|
}
|
|
27
27
|
export type ComputeNewType<GenericName extends string, GenericValue extends unknown, GenericNewTypeConstraint extends readonly DDataStructure.Constraint<GenericValue>[], GenericIntersectionConstraintValue = DDataStructure.ConstraintValue<DArray.Unwrap<GenericNewTypeConstraint>>, GenericClearValue = DCommon.NeverCoalescing<DCommon.RemoveConstraint<GenericIntersectionConstraintValue>, unknown>> = (GenericValue & GenericClearValue & NewType<GenericName, GenericIntersectionConstraintValue extends (GenericClearValue & infer InferredConstraint extends DCommon.BaseConstraint) ? InferredConstraint : never>);
|
|
28
|
-
export interface NewTypeStructure<GenericName extends string = string, GenericValue extends unknown = unknown, GenericNewTypeConstraint extends readonly DDataStructure.Constraint<GenericValue>[] = readonly DDataStructure.Constraint<GenericValue>[]> extends DCommon.
|
|
28
|
+
export interface NewTypeStructure<out GenericName extends string = string, out GenericValue extends unknown = unknown, out GenericNewTypeConstraint extends readonly DDataStructure.Constraint<GenericValue>[] = readonly DDataStructure.Constraint<GenericValue>[]> extends DCommon.Forward<DDataStructure.Structure<ComputeNewType<GenericName, GenericValue, GenericNewTypeConstraint>, NewTypeStructureDefinition<GenericNewTypeConstraint>> & DKind.Kind<typeof newTypeStructureKind>> {
|
|
29
29
|
readonly name: GenericName;
|
|
30
30
|
decodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs): (data: DDataStructure.EncodedValue<NewTypeMap<DDataStructure.StructureValue<this>>, GenericCodecs>) => (DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"async-error", undefined> | DEither.Left<"map-error", DDataStructure.Error>);
|
|
31
31
|
decodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs, data: DDataStructure.EncodedValue<NewTypeMap<DDataStructure.StructureValue<this>>, GenericCodecs>): (DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"async-error", undefined> | DEither.Left<"map-error", DDataStructure.Error>);
|
|
@@ -33,5 +33,12 @@ export interface NewTypeStructure<GenericName extends string = string, GenericVa
|
|
|
33
33
|
asyncDecodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs): (data: DDataStructure.EncodedValue<NewTypeMap<DDataStructure.StructureValue<this>>, GenericCodecs>) => Promise<DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"map-error", DDataStructure.Error>>;
|
|
34
34
|
asyncDecodeMap<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs, data: DDataStructure.EncodedValue<NewTypeMap<DDataStructure.StructureValue<this>>, GenericCodecs>): Promise<DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"map-error", DDataStructure.Error>>;
|
|
35
35
|
asyncMap(data: NewTypeMap<DDataStructure.StructureValue<this>>): Promise<DEither.Right<"map-success", DDataStructure.StructureValue<this>> | DEither.Left<"map-error", DDataStructure.Error>>;
|
|
36
|
+
encodeNewType<GenericCodecs extends DDataStructure.Codecs>(codecs: GenericCodecs, data: DDataStructure.StructureValue<this>): Promise<DDataStructure.EncodedValue<NewTypeMap<DDataStructure.StructureValue<this>>, GenericCodecs>>;
|
|
37
|
+
}
|
|
38
|
+
declare const EncodeNewTypeError_base: DKind.KindClass<DKind.Handler<DKind.Definition<"@DuplojsLangModeling/encode-new-type-error", unknown>>, ErrorConstructor>;
|
|
39
|
+
export declare class EncodeNewTypeError extends EncodeNewTypeError_base {
|
|
40
|
+
error: DDataStructure.Error;
|
|
41
|
+
constructor(error: DDataStructure.Error);
|
|
36
42
|
}
|
|
37
43
|
export declare const NewTypeStructure: <GenericName extends string, GenericStructure extends DDataStructure.Structure, const GenericNewTypeConstraint extends readonly DDataStructure.Constraint<DDataStructure.StructureValue<GenericStructure>>[]>(name: GenericName, structure: GenericStructure, newTypeConstraints: GenericNewTypeConstraint) => NewTypeStructure<GenericName, DDataStructure.StructureValue<GenericStructure>, GenericNewTypeConstraint>;
|
|
44
|
+
export {};
|