@es-joy/jsoe 0.24.3 → 0.25.0
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/.claude/settings.local.json +9 -0
- package/.ncurc.cjs +2 -2
- package/CHANGES.md +47 -0
- package/README.md +23 -13
- package/badges/coverage-badge.svg +1 -1
- package/dist/eslint.config.d.ts +3 -0
- package/dist/eslint.config.d.ts.map +1 -0
- package/dist/formatAndTypeChoices.d.ts +28 -30
- package/dist/formatAndTypeChoices.d.ts.map +1 -1
- package/dist/formats/indexedDBKey.d.ts.map +1 -1
- package/dist/formats/schema.d.ts +46 -3
- package/dist/formats/schema.d.ts.map +1 -1
- package/dist/formats/structuredCloning.d.ts +3 -0
- package/dist/formats/structuredCloning.d.ts.map +1 -1
- package/dist/formats.d.ts +24 -6
- package/dist/formats.d.ts.map +1 -1
- package/dist/fundamentalTypes/BooleanObjectType.d.ts.map +1 -1
- package/dist/fundamentalTypes/NumberObjectType.d.ts.map +1 -1
- package/dist/fundamentalTypes/StringObjectType.d.ts.map +1 -1
- package/dist/fundamentalTypes/arrayReferenceType.d.ts.map +1 -1
- package/dist/fundamentalTypes/arrayType.d.ts +7 -0
- package/dist/fundamentalTypes/arrayType.d.ts.map +1 -1
- package/dist/fundamentalTypes/bigintObjectType.d.ts.map +1 -1
- package/dist/fundamentalTypes/bigintType.d.ts +10 -0
- package/dist/fundamentalTypes/bigintType.d.ts.map +1 -1
- package/dist/fundamentalTypes/blobType.d.ts.map +1 -1
- package/dist/fundamentalTypes/booleanType.d.ts.map +1 -1
- package/dist/fundamentalTypes/catchType.d.ts +2 -2
- package/dist/fundamentalTypes/catchType.d.ts.map +1 -1
- package/dist/fundamentalTypes/dateType.d.ts.map +1 -1
- package/dist/fundamentalTypes/domexceptionType.d.ts.map +1 -1
- package/dist/fundamentalTypes/enumType.d.ts +2 -2
- package/dist/fundamentalTypes/enumType.d.ts.map +1 -1
- package/dist/fundamentalTypes/errorType.d.ts.map +1 -1
- package/dist/fundamentalTypes/fileType.d.ts +6 -0
- package/dist/fundamentalTypes/fileType.d.ts.map +1 -1
- package/dist/fundamentalTypes/functionType.d.ts.map +1 -1
- package/dist/fundamentalTypes/literalType.d.ts +3 -2
- package/dist/fundamentalTypes/literalType.d.ts.map +1 -1
- package/dist/fundamentalTypes/looseRecordType.d.ts +6 -0
- package/dist/fundamentalTypes/looseRecordType.d.ts.map +1 -0
- package/dist/fundamentalTypes/nanType.d.ts.map +1 -1
- package/dist/fundamentalTypes/neverType.d.ts +2 -2
- package/dist/fundamentalTypes/neverType.d.ts.map +1 -1
- package/dist/fundamentalTypes/noneditableType.d.ts.map +1 -1
- package/dist/fundamentalTypes/nullType.d.ts.map +1 -1
- package/dist/fundamentalTypes/numberType.d.ts.map +1 -1
- package/dist/fundamentalTypes/promiseType.d.ts.map +1 -1
- package/dist/fundamentalTypes/regexpType.d.ts.map +1 -1
- package/dist/fundamentalTypes/stringType.d.ts.map +1 -1
- package/dist/fundamentalTypes/symbolType.d.ts.map +1 -1
- package/dist/fundamentalTypes/undefinedType.d.ts.map +1 -1
- package/dist/fundamentalTypes/voidType.d.ts +2 -2
- package/dist/fundamentalTypes/voidType.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/rollup.config.d.ts +30 -0
- package/dist/rollup.config.d.ts.map +1 -0
- package/dist/server.d.ts +2 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/src/formatAndTypeChoices.d.ts +108 -0
- package/dist/src/formatAndTypeChoices.d.ts.map +1 -0
- package/dist/src/formats/arbitraryJS.d.ts +4 -0
- package/dist/src/formats/arbitraryJS.d.ts.map +1 -0
- package/dist/src/formats/indexedDBKey.d.ts +4 -0
- package/dist/src/formats/indexedDBKey.d.ts.map +1 -0
- package/dist/src/formats/json.d.ts +4 -0
- package/dist/src/formats/json.d.ts.map +1 -0
- package/dist/src/formats/schema.d.ts +17 -0
- package/dist/src/formats/schema.d.ts.map +1 -0
- package/dist/src/formats/structuredCloning.d.ts +19 -0
- package/dist/src/formats/structuredCloning.d.ts.map +1 -0
- package/dist/src/formats.d.ts +135 -0
- package/dist/src/formats.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/BooleanObjectType.d.ts +8 -0
- package/dist/src/fundamentalTypes/BooleanObjectType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/NumberObjectType.d.ts +6 -0
- package/dist/src/fundamentalTypes/NumberObjectType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/StringObjectType.d.ts +6 -0
- package/dist/src/fundamentalTypes/StringObjectType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/arrayReferenceType.d.ts +8 -0
- package/dist/src/fundamentalTypes/arrayReferenceType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/arrayType.d.ts +29 -0
- package/dist/src/fundamentalTypes/arrayType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/bigintObjectType.d.ts +6 -0
- package/dist/src/fundamentalTypes/bigintObjectType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/bigintType.d.ts +6 -0
- package/dist/src/fundamentalTypes/bigintType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/blobType.d.ts +11 -0
- package/dist/src/fundamentalTypes/blobType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/booleanType.d.ts +8 -0
- package/dist/src/fundamentalTypes/booleanType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/catchType.d.ts +6 -0
- package/dist/src/fundamentalTypes/catchType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/dateType.d.ts +26 -0
- package/dist/src/fundamentalTypes/dateType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/domexceptionType.d.ts +6 -0
- package/dist/src/fundamentalTypes/domexceptionType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/enumType.d.ts +6 -0
- package/dist/src/fundamentalTypes/enumType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/errorType.d.ts +6 -0
- package/dist/src/fundamentalTypes/errorType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/fileType.d.ts +13 -0
- package/dist/src/fundamentalTypes/fileType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/filelistType.d.ts +6 -0
- package/dist/src/fundamentalTypes/filelistType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/functionType.d.ts +7 -0
- package/dist/src/fundamentalTypes/functionType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/literalType.d.ts +6 -0
- package/dist/src/fundamentalTypes/literalType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/mapType.d.ts +6 -0
- package/dist/src/fundamentalTypes/mapType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/nanType.d.ts +6 -0
- package/dist/src/fundamentalTypes/nanType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/neverType.d.ts +6 -0
- package/dist/src/fundamentalTypes/neverType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/noneditableType.d.ts +6 -0
- package/dist/src/fundamentalTypes/noneditableType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/nullType.d.ts +6 -0
- package/dist/src/fundamentalTypes/nullType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/numberType.d.ts +6 -0
- package/dist/src/fundamentalTypes/numberType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/objectReferenceType.d.ts +8 -0
- package/dist/src/fundamentalTypes/objectReferenceType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/objectType.d.ts +6 -0
- package/dist/src/fundamentalTypes/objectType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/promiseType.d.ts +6 -0
- package/dist/src/fundamentalTypes/promiseType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/recordType.d.ts +6 -0
- package/dist/src/fundamentalTypes/recordType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/regexpType.d.ts +8 -0
- package/dist/src/fundamentalTypes/regexpType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/setType.d.ts +6 -0
- package/dist/src/fundamentalTypes/setType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/sparseUndefinedType.d.ts +6 -0
- package/dist/src/fundamentalTypes/sparseUndefinedType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/stringType.d.ts +6 -0
- package/dist/src/fundamentalTypes/stringType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/symbolType.d.ts +8 -0
- package/dist/src/fundamentalTypes/symbolType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/tupleType.d.ts +6 -0
- package/dist/src/fundamentalTypes/tupleType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/undefinedType.d.ts +6 -0
- package/dist/src/fundamentalTypes/undefinedType.d.ts.map +1 -0
- package/dist/src/fundamentalTypes/voidType.d.ts +6 -0
- package/dist/src/fundamentalTypes/voidType.d.ts.map +1 -0
- package/dist/src/index.d.ts +12 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/subTypes/blobHTMLType.d.ts +20 -0
- package/dist/src/subTypes/blobHTMLType.d.ts.map +1 -0
- package/dist/src/subTypes/falseType.d.ts +8 -0
- package/dist/src/subTypes/falseType.d.ts.map +1 -0
- package/dist/src/subTypes/trueType.d.ts +8 -0
- package/dist/src/subTypes/trueType.d.ts.map +1 -0
- package/dist/src/superTypes/SpecialNumberType.d.ts +6 -0
- package/dist/src/superTypes/SpecialNumberType.d.ts.map +1 -0
- package/dist/src/superTypes/SpecialRealNumberType.d.ts +6 -0
- package/dist/src/superTypes/SpecialRealNumberType.d.ts.map +1 -0
- package/dist/src/superTypes/buffersourceType.d.ts +8 -0
- package/dist/src/superTypes/buffersourceType.d.ts.map +1 -0
- package/dist/src/superTypes/dommatrixType.d.ts +6 -0
- package/dist/src/superTypes/dommatrixType.d.ts.map +1 -0
- package/dist/src/superTypes/dompointType.d.ts +6 -0
- package/dist/src/superTypes/dompointType.d.ts.map +1 -0
- package/dist/src/superTypes/domrectType.d.ts +6 -0
- package/dist/src/superTypes/domrectType.d.ts.map +1 -0
- package/dist/src/superTypes/errorsSpecialType.d.ts +8 -0
- package/dist/src/superTypes/errorsSpecialType.d.ts.map +1 -0
- package/dist/src/typeChoices.d.ts +140 -0
- package/dist/src/typeChoices.d.ts.map +1 -0
- package/dist/src/types.d.ts +758 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/utils/FileList.d.ts +26 -0
- package/dist/src/utils/FileList.d.ts.map +1 -0
- package/dist/src/utils/dialogs.d.ts +111 -0
- package/dist/src/utils/dialogs.d.ts.map +1 -0
- package/dist/src/utils/jsonPointer.d.ts +46 -0
- package/dist/src/utils/jsonPointer.d.ts.map +1 -0
- package/dist/src/utils/media.d.ts +18 -0
- package/dist/src/utils/media.d.ts.map +1 -0
- package/dist/src/utils/objects.d.ts +16 -0
- package/dist/src/utils/objects.d.ts.map +1 -0
- package/dist/src/utils/templateUtils.d.ts +59 -0
- package/dist/src/utils/templateUtils.d.ts.map +1 -0
- package/dist/src/utils/types.d.ts +2 -0
- package/dist/src/utils/types.d.ts.map +1 -0
- package/dist/src/vendor-imports.d.ts +4 -0
- package/dist/src/vendor-imports.d.ts.map +1 -0
- package/dist/subTypes/blobHTMLType.d.ts.map +1 -1
- package/dist/superTypes/SpecialRealNumberType.d.ts.map +1 -1
- package/dist/superTypes/buffersourceType.d.ts.map +1 -1
- package/dist/superTypes/dommatrixType.d.ts.map +1 -1
- package/dist/superTypes/dompointType.d.ts.map +1 -1
- package/dist/superTypes/domrectType.d.ts.map +1 -1
- package/dist/superTypes/errorsSpecialType.d.ts.map +1 -1
- package/dist/typeChoices.d.ts +21 -87
- package/dist/typeChoices.d.ts.map +1 -1
- package/dist/types.d.ts +90 -64
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/FileList.d.ts +4 -3
- package/dist/utils/FileList.d.ts.map +1 -1
- package/dist/utils/dialogs.d.ts +4 -4
- package/dist/utils/dialogs.d.ts.map +1 -1
- package/dist/utils/media.d.ts.map +1 -1
- package/dist/utils/schemaMeta.d.ts +92 -0
- package/dist/utils/schemaMeta.d.ts.map +1 -0
- package/dist/utils/templateUtils.d.ts +3 -3
- package/dist/utils/templateUtils.d.ts.map +1 -1
- package/dist/utils/timing.d.ts +2 -0
- package/dist/utils/timing.d.ts.map +1 -0
- package/dist/utils/types.d.ts +1 -0
- package/dist/utils/types.d.ts.map +1 -1
- package/dist/vendor-imports.d.ts +3 -1
- package/docs/proposals/schema-meta.md +233 -0
- package/eslint.config.js +51 -4
- package/licenseInfo.json +1 -1
- package/package.json +52 -42
- package/pnpm-workspace.yaml +57 -0
- package/rollup.config.js +20 -18
- package/server.js +3 -3
- package/src/deepEqual.js.map +1 -1
- package/src/formatAndTypeChoices.js +62 -58
- package/src/formats/indexedDBKey.js +3 -4
- package/src/formats/schema.js +824 -475
- package/src/formats/structuredCloning.js +189 -79
- package/src/formats.js +17 -5
- package/src/fundamentalTypes/BooleanObjectType.js +4 -5
- package/src/fundamentalTypes/NumberObjectType.js +4 -4
- package/src/fundamentalTypes/StringObjectType.js +3 -4
- package/src/fundamentalTypes/arrayReferenceType.js +0 -2
- package/src/fundamentalTypes/arrayType.js +624 -389
- package/src/fundamentalTypes/bigintObjectType.js +3 -2
- package/src/fundamentalTypes/bigintType.js +79 -17
- package/src/fundamentalTypes/blobType.js +35 -35
- package/src/fundamentalTypes/booleanType.js +16 -8
- package/src/fundamentalTypes/dateType.js +6 -8
- package/src/fundamentalTypes/domexceptionType.js +5 -4
- package/src/fundamentalTypes/errorType.js +39 -32
- package/src/fundamentalTypes/fileType.js +238 -52
- package/src/fundamentalTypes/functionType.js +61 -41
- package/src/fundamentalTypes/nanType.js +5 -4
- package/src/fundamentalTypes/noneditableType.js +4 -3
- package/src/fundamentalTypes/nullType.js +3 -2
- package/src/fundamentalTypes/numberType.js +72 -20
- package/src/fundamentalTypes/promiseType.js +16 -40
- package/src/fundamentalTypes/regexpType.js +7 -13
- package/src/fundamentalTypes/stringType.js +176 -110
- package/src/fundamentalTypes/symbolType.js +3 -2
- package/src/fundamentalTypes/undefinedType.js +3 -2
- package/src/index.js +6 -5
- package/src/jsoe.css +107 -8
- package/src/subTypes/blobHTMLType.js +23 -10
- package/src/superTypes/SpecialNumberType.js +6 -6
- package/src/superTypes/SpecialRealNumberType.js +10 -9
- package/src/superTypes/buffersourceType.js +86 -75
- package/src/superTypes/dommatrixType.js +6 -5
- package/src/superTypes/dompointType.js +6 -5
- package/src/superTypes/domrectType.js +6 -5
- package/src/superTypes/errorsSpecialType.js +54 -35
- package/src/typeChoices.js +373 -53
- package/src/types.js +157 -97
- package/src/utils/FileList.js +3 -3
- package/src/utils/dialogs.js +5 -7
- package/src/utils/jsonPointer.js +1 -1
- package/src/utils/media.js +1 -0
- package/src/utils/schemaMeta.js +257 -0
- package/src/utils/templateUtils.js +3 -3
- package/src/utils/timing.js +12 -0
- package/src/utils/types.js +19 -0
- package/src/vendor-imports.js +10 -2
- package/tsconfig.json +2 -0
- package/vendor/acorn/dist/acorn.d.mts +46 -5
- package/vendor/acorn/dist/acorn.d.ts +46 -5
- package/vendor/acorn/dist/acorn.js +394 -117
- package/vendor/acorn/dist/acorn.mjs +394 -117
- package/vendor/acorn/dist/bin.js +1 -1
- package/vendor/jamilih/dist/{jml-es.js → jml.mjs} +590 -312
- package/vendor/jamilih/package.json +1 -1
- package/vendor/mime/dist/types/other.js +719 -0
- package/vendor/mime/dist/types/standard.js +366 -0
- package/vendor/typeson-registry/dist/index.js +519 -99
- package/vendor/zod/classic/checks.d.ts +1 -0
- package/vendor/zod/classic/checks.js +1 -0
- package/vendor/zod/classic/coerce.d.ts +17 -0
- package/vendor/zod/classic/coerce.js +17 -0
- package/vendor/zod/classic/compat.d.ts +48 -0
- package/vendor/zod/classic/compat.js +31 -0
- package/vendor/zod/classic/deep-partial.d.ts +14 -0
- package/vendor/zod/classic/deep-partial.js +13 -0
- package/vendor/zod/classic/errors.d.ts +29 -0
- package/vendor/zod/classic/errors.js +57 -0
- package/vendor/zod/classic/external.d.ts +19 -0
- package/vendor/zod/classic/external.js +17 -0
- package/vendor/zod/classic/from-json-schema.d.ts +12 -0
- package/vendor/zod/classic/from-json-schema.js +660 -0
- package/vendor/zod/classic/in-out.d.ts +8 -0
- package/vendor/zod/classic/in-out.js +36 -0
- package/vendor/zod/classic/index.d.ts +3 -0
- package/vendor/zod/classic/index.js +4 -0
- package/vendor/zod/classic/iso.d.ts +7 -0
- package/vendor/zod/classic/iso.js +15 -0
- package/vendor/zod/classic/package.json +7 -0
- package/vendor/zod/classic/parse.d.ts +44 -0
- package/vendor/zod/classic/parse.js +16 -0
- package/vendor/zod/classic/schemas.d.ts +802 -0
- package/vendor/zod/classic/schemas.js +1491 -0
- package/vendor/zod/core/api.d.ts +329 -0
- package/vendor/zod/core/api.js +1104 -0
- package/vendor/zod/core/checks.d.ts +278 -0
- package/vendor/zod/core/checks.js +581 -0
- package/vendor/zod/core/compile.d.ts +51 -0
- package/vendor/zod/core/compile.js +1783 -0
- package/vendor/zod/core/core.d.ts +82 -0
- package/vendor/zod/core/core.js +141 -0
- package/vendor/zod/core/doc.d.ts +16 -0
- package/vendor/zod/core/doc.js +33 -0
- package/vendor/zod/core/errors.d.ts +225 -0
- package/vendor/zod/core/errors.js +270 -0
- package/vendor/zod/core/index.d.ts +19 -0
- package/vendor/zod/core/index.js +19 -0
- package/vendor/zod/core/json-schema-generator.d.ts +65 -0
- package/vendor/zod/core/json-schema-generator.js +99 -0
- package/vendor/zod/core/json-schema-processors.d.ts +49 -0
- package/vendor/zod/core/json-schema-processors.js +747 -0
- package/vendor/zod/core/json-schema.d.ts +89 -0
- package/vendor/zod/core/memoizer.d.ts +15 -0
- package/vendor/zod/core/memoizer.js +265 -0
- package/vendor/zod/core/package.json +7 -0
- package/vendor/zod/core/parse.d.ts +52 -0
- package/vendor/zod/core/parse.js +154 -0
- package/vendor/zod/core/regexes.d.ts +87 -0
- package/vendor/zod/core/regexes.js +150 -0
- package/vendor/zod/core/registries.d.ts +35 -0
- package/vendor/zod/core/registries.js +51 -0
- package/vendor/zod/core/schemas.d.ts +1253 -0
- package/vendor/zod/core/schemas.js +2440 -0
- package/vendor/zod/core/standard-schema.d.ts +126 -0
- package/vendor/zod/core/to-json-schema.d.ts +153 -0
- package/vendor/zod/core/to-json-schema.js +650 -0
- package/vendor/zod/core/util.d.ts +257 -0
- package/vendor/zod/core/util.js +846 -0
- package/vendor/zod/core/versions.d.ts +5 -0
- package/vendor/zod/core/versions.js +5 -0
- package/vendor/zod/core/visit.d.ts +30 -0
- package/vendor/zod/core/visit.js +169 -0
- package/vendor/zod/index.d.ts +3 -0
- package/vendor/zod/index.js +4 -0
- package/vendor/zod/locales/ar.d.ts +4 -0
- package/vendor/zod/locales/ar.js +109 -0
- package/vendor/zod/locales/az.d.ts +4 -0
- package/vendor/zod/locales/az.js +108 -0
- package/vendor/zod/locales/be.d.ts +4 -0
- package/vendor/zod/locales/be.js +166 -0
- package/vendor/zod/locales/bg.d.ts +4 -0
- package/vendor/zod/locales/bg.js +123 -0
- package/vendor/zod/locales/bn.d.ts +4 -0
- package/vendor/zod/locales/bn.js +111 -0
- package/vendor/zod/locales/ca.d.ts +4 -0
- package/vendor/zod/locales/ca.js +110 -0
- package/vendor/zod/locales/ckb.d.ts +4 -0
- package/vendor/zod/locales/ckb.js +131 -0
- package/vendor/zod/locales/cs.d.ts +4 -0
- package/vendor/zod/locales/cs.js +114 -0
- package/vendor/zod/locales/da.d.ts +4 -0
- package/vendor/zod/locales/da.js +118 -0
- package/vendor/zod/locales/de.d.ts +4 -0
- package/vendor/zod/locales/de.js +111 -0
- package/vendor/zod/locales/el.d.ts +4 -0
- package/vendor/zod/locales/el.js +110 -0
- package/vendor/zod/locales/en.d.ts +4 -0
- package/vendor/zod/locales/en.js +123 -0
- package/vendor/zod/locales/eo.d.ts +4 -0
- package/vendor/zod/locales/eo.js +112 -0
- package/vendor/zod/locales/es.d.ts +4 -0
- package/vendor/zod/locales/es.js +134 -0
- package/vendor/zod/locales/fa.d.ts +4 -0
- package/vendor/zod/locales/fa.js +117 -0
- package/vendor/zod/locales/fi.d.ts +4 -0
- package/vendor/zod/locales/fi.js +115 -0
- package/vendor/zod/locales/fr-CA.d.ts +4 -0
- package/vendor/zod/locales/fr-CA.js +110 -0
- package/vendor/zod/locales/fr.d.ts +4 -0
- package/vendor/zod/locales/fr.js +127 -0
- package/vendor/zod/locales/gu.d.ts +4 -0
- package/vendor/zod/locales/gu.js +111 -0
- package/vendor/zod/locales/he.d.ts +4 -0
- package/vendor/zod/locales/he.js +219 -0
- package/vendor/zod/locales/hi.d.ts +4 -0
- package/vendor/zod/locales/hi.js +109 -0
- package/vendor/zod/locales/hr.d.ts +4 -0
- package/vendor/zod/locales/hr.js +124 -0
- package/vendor/zod/locales/hu.d.ts +4 -0
- package/vendor/zod/locales/hu.js +111 -0
- package/vendor/zod/locales/hy.d.ts +4 -0
- package/vendor/zod/locales/hy.js +156 -0
- package/vendor/zod/locales/id.d.ts +4 -0
- package/vendor/zod/locales/id.js +109 -0
- package/vendor/zod/locales/index.d.ts +62 -0
- package/vendor/zod/locales/index.js +62 -0
- package/vendor/zod/locales/is.d.ts +4 -0
- package/vendor/zod/locales/is.js +112 -0
- package/vendor/zod/locales/it.d.ts +4 -0
- package/vendor/zod/locales/it.js +111 -0
- package/vendor/zod/locales/ja.d.ts +4 -0
- package/vendor/zod/locales/ja.js +110 -0
- package/vendor/zod/locales/ka.d.ts +4 -0
- package/vendor/zod/locales/ka.js +115 -0
- package/vendor/zod/locales/kh.d.ts +5 -0
- package/vendor/zod/locales/kh.js +5 -0
- package/vendor/zod/locales/km.d.ts +4 -0
- package/vendor/zod/locales/km.js +113 -0
- package/vendor/zod/locales/kn.d.ts +4 -0
- package/vendor/zod/locales/kn.js +114 -0
- package/vendor/zod/locales/ko.d.ts +4 -0
- package/vendor/zod/locales/ko.js +114 -0
- package/vendor/zod/locales/lt.d.ts +4 -0
- package/vendor/zod/locales/lt.js +205 -0
- package/vendor/zod/locales/mk.d.ts +4 -0
- package/vendor/zod/locales/mk.js +112 -0
- package/vendor/zod/locales/ms.d.ts +4 -0
- package/vendor/zod/locales/ms.js +110 -0
- package/vendor/zod/locales/ne.d.ts +4 -0
- package/vendor/zod/locales/ne.js +109 -0
- package/vendor/zod/locales/nl.d.ts +4 -0
- package/vendor/zod/locales/nl.js +113 -0
- package/vendor/zod/locales/nn.d.ts +4 -0
- package/vendor/zod/locales/nn.js +111 -0
- package/vendor/zod/locales/no.d.ts +4 -0
- package/vendor/zod/locales/no.js +111 -0
- package/vendor/zod/locales/ota.d.ts +4 -0
- package/vendor/zod/locales/ota.js +112 -0
- package/vendor/zod/locales/package.json +7 -0
- package/vendor/zod/locales/pl.d.ts +4 -0
- package/vendor/zod/locales/pl.js +112 -0
- package/vendor/zod/locales/ps.d.ts +4 -0
- package/vendor/zod/locales/ps.js +117 -0
- package/vendor/zod/locales/pt-BR.d.ts +4 -0
- package/vendor/zod/locales/pt-BR.js +141 -0
- package/vendor/zod/locales/pt.d.ts +4 -0
- package/vendor/zod/locales/pt.js +140 -0
- package/vendor/zod/locales/ro.d.ts +4 -0
- package/vendor/zod/locales/ro.js +120 -0
- package/vendor/zod/locales/ru.d.ts +4 -0
- package/vendor/zod/locales/ru.js +166 -0
- package/vendor/zod/locales/sk.d.ts +4 -0
- package/vendor/zod/locales/sk.js +114 -0
- package/vendor/zod/locales/sl.d.ts +4 -0
- package/vendor/zod/locales/sl.js +112 -0
- package/vendor/zod/locales/sv.d.ts +4 -0
- package/vendor/zod/locales/sv.js +113 -0
- package/vendor/zod/locales/ta.d.ts +4 -0
- package/vendor/zod/locales/ta.js +113 -0
- package/vendor/zod/locales/th.d.ts +4 -0
- package/vendor/zod/locales/th.js +113 -0
- package/vendor/zod/locales/tk.d.ts +4 -0
- package/vendor/zod/locales/tk.js +105 -0
- package/vendor/zod/locales/tr.d.ts +4 -0
- package/vendor/zod/locales/tr.js +108 -0
- package/vendor/zod/locales/ua.d.ts +5 -0
- package/vendor/zod/locales/ua.js +5 -0
- package/vendor/zod/locales/uk.d.ts +4 -0
- package/vendor/zod/locales/uk.js +111 -0
- package/vendor/zod/locales/ur.d.ts +4 -0
- package/vendor/zod/locales/ur.js +113 -0
- package/vendor/zod/locales/uz.d.ts +4 -0
- package/vendor/zod/locales/uz.js +111 -0
- package/vendor/zod/locales/vi.d.ts +4 -0
- package/vendor/zod/locales/vi.js +111 -0
- package/vendor/zod/locales/yo.d.ts +4 -0
- package/vendor/zod/locales/yo.js +110 -0
- package/vendor/zod/locales/zh-CN.d.ts +4 -0
- package/vendor/zod/locales/zh-CN.js +112 -0
- package/vendor/zod/locales/zh-TW.d.ts +4 -0
- package/vendor/zod/locales/zh-TW.js +110 -0
- package/vendor/zod/mini/checks.d.ts +1 -0
- package/vendor/zod/mini/checks.js +1 -0
- package/vendor/zod/mini/coerce.d.ts +7 -0
- package/vendor/zod/mini/coerce.js +22 -0
- package/vendor/zod/mini/deep-partial.d.ts +14 -0
- package/vendor/zod/mini/deep-partial.js +13 -0
- package/vendor/zod/mini/external.d.ts +16 -0
- package/vendor/zod/mini/external.js +16 -0
- package/vendor/zod/mini/in-out.d.ts +8 -0
- package/vendor/zod/mini/in-out.js +36 -0
- package/vendor/zod/mini/index.d.ts +3 -0
- package/vendor/zod/mini/index.js +3 -0
- package/vendor/zod/mini/iso.d.ts +22 -0
- package/vendor/zod/mini/iso.js +34 -0
- package/vendor/zod/mini/package.json +7 -0
- package/vendor/zod/mini/parse.d.ts +1 -0
- package/vendor/zod/mini/parse.js +1 -0
- package/vendor/zod/mini/schemas.d.ts +475 -0
- package/vendor/zod/mini/schemas.js +987 -0
- package/vendor/zod/package.json +7 -0
- package/vendor/zodexy/dist/esm/index.js +1274 -0
- package/vendor/zodexy/dist/index.js +1088 -0
- package/vendor/zodexy/dist/schema.zodexy.json +1036 -0
- package/dist/fundamentalTypes/nativeEnumType.d.ts +0 -6
- package/dist/fundamentalTypes/nativeEnumType.d.ts.map +0 -1
- package/src/fundamentalTypes/catchType.js +0 -140
- package/src/fundamentalTypes/enumType.js +0 -52
- package/src/fundamentalTypes/literalType.js +0 -81
- package/src/fundamentalTypes/nativeEnumType.js +0 -157
- package/src/fundamentalTypes/neverType.js +0 -49
- package/src/fundamentalTypes/recordType.js +0 -42
- package/src/fundamentalTypes/tupleType.js +0 -39
- package/src/fundamentalTypes/voidType.js +0 -48
- package/vendor/zod/lib/index.mjs +0 -4236
- package/vendor/zodex/dist/esm/dezerialize.d.ts +0 -26
- package/vendor/zodex/dist/esm/dezerialize.js +0 -393
- package/vendor/zodex/dist/esm/index.d.ts +0 -9
- package/vendor/zodex/dist/esm/index.js +0 -4
- package/vendor/zodex/dist/esm/infer.d.ts +0 -29
- package/vendor/zodex/dist/esm/package.json +0 -1
- package/vendor/zodex/dist/esm/types.d.ts +0 -201
- package/vendor/zodex/dist/esm/types.js +0 -13
- package/vendor/zodex/dist/esm/ui.d.ts +0 -23
- package/vendor/zodex/dist/esm/ui.js +0 -10
- package/vendor/zodex/dist/esm/zerialize.d.ts +0 -50
- package/vendor/zodex/dist/esm/zerialize.js +0 -417
- package/vendor/zodex/dist/esm/zod-types.d.ts +0 -11
- /package/vendor/{zodex/dist/esm/infer.js → zod/core/json-schema.js} +0 -0
- /package/vendor/{zodex/dist/esm/zod-types.js → zod/core/standard-schema.js} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nativeEnumType.d.ts","sourceRoot":"","sources":["../../src/fundamentalTypes/nativeEnumType.js"],"names":[],"mappings":";AAIA;;GAEG;AACH,8BAFU,OAAO,aAAa,EAAE,UAAU,CAqJxC"}
|
|
@@ -1,140 +0,0 @@
|
|
|
1
|
-
import {$e} from '../utils/templateUtils.js';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @type {import('../types.js').TypeObject}
|
|
5
|
-
*/
|
|
6
|
-
const catchType = {
|
|
7
|
-
option: ['Catch'],
|
|
8
|
-
stringRegex: /^catch\((.*)\)$/u,
|
|
9
|
-
valueMatch (x) {
|
|
10
|
-
// Todo: Should expand types here and in `toValue`
|
|
11
|
-
return ['number', 'string'].includes(typeof x);
|
|
12
|
-
},
|
|
13
|
-
toValue (s) {
|
|
14
|
-
const value = s.charAt(0) === '"' ? s.slice(1, -1) : Number(s);
|
|
15
|
-
return {value};
|
|
16
|
-
},
|
|
17
|
-
getInput ({root}) {
|
|
18
|
-
return /** @type {HTMLTextAreaElement} */ (
|
|
19
|
-
$e(root, 'input,textarea')
|
|
20
|
-
);
|
|
21
|
-
},
|
|
22
|
-
setValue ({root, value}) {
|
|
23
|
-
// input/textarea hasn't yet been added, so set timeout
|
|
24
|
-
setTimeout(() => {
|
|
25
|
-
this.getInput({root}).value = value;
|
|
26
|
-
});
|
|
27
|
-
},
|
|
28
|
-
getValue ({root}) {
|
|
29
|
-
return this.getInput({root}).value;
|
|
30
|
-
},
|
|
31
|
-
viewUI ({
|
|
32
|
-
specificSchemaObject, types,
|
|
33
|
-
resultType, typeNamespace, topRoot, format,
|
|
34
|
-
bringIntoFocus, buildTypeChoices, // schemaContent,
|
|
35
|
-
replaced, value
|
|
36
|
-
}) {
|
|
37
|
-
return ['span', {
|
|
38
|
-
dataset: {type: 'catch'},
|
|
39
|
-
title: specificSchemaObject?.description ?? '(a catch)'
|
|
40
|
-
}, [
|
|
41
|
-
['b', ['Catch']],
|
|
42
|
-
['br'],
|
|
43
|
-
'Default value',
|
|
44
|
-
['br'],
|
|
45
|
-
['div', {
|
|
46
|
-
class: 'defaultValue'
|
|
47
|
-
}, [
|
|
48
|
-
types.getUIForModeAndType({
|
|
49
|
-
readonly: true,
|
|
50
|
-
specificSchemaObject: /** @type {import('zodex').SzCatch} */ (
|
|
51
|
-
specificSchemaObject
|
|
52
|
-
)?.innerType,
|
|
53
|
-
hasValue: true,
|
|
54
|
-
value,
|
|
55
|
-
resultType, typeNamespace,
|
|
56
|
-
type: /** @type {import('../types.js').AvailableType} */ (
|
|
57
|
-
/** @type {import('zodex').SzCatch} */ (
|
|
58
|
-
specificSchemaObject
|
|
59
|
-
)?.innerType?.type
|
|
60
|
-
),
|
|
61
|
-
topRoot, bringIntoFocus,
|
|
62
|
-
buildTypeChoices, format,
|
|
63
|
-
// schemaContent,
|
|
64
|
-
replaced
|
|
65
|
-
})
|
|
66
|
-
]],
|
|
67
|
-
'Catch value',
|
|
68
|
-
['br'],
|
|
69
|
-
['div', {
|
|
70
|
-
class: 'catchValue'
|
|
71
|
-
}, [
|
|
72
|
-
types.getUIForModeAndType({
|
|
73
|
-
readonly: true,
|
|
74
|
-
specificSchemaObject: {
|
|
75
|
-
...(/** @type {import('zodex').SzCatch} */ (
|
|
76
|
-
specificSchemaObject
|
|
77
|
-
)?.innerType),
|
|
78
|
-
description: '(catch value)'
|
|
79
|
-
},
|
|
80
|
-
hasValue: true,
|
|
81
|
-
value: /** @type {import('zodex').SzCatch} */ (
|
|
82
|
-
specificSchemaObject
|
|
83
|
-
).value,
|
|
84
|
-
resultType, typeNamespace,
|
|
85
|
-
type: /** @type {import('../types.js').AvailableType} */ (
|
|
86
|
-
/** @type {import('zodex').SzCatch} */ (
|
|
87
|
-
specificSchemaObject
|
|
88
|
-
)?.innerType?.type
|
|
89
|
-
),
|
|
90
|
-
topRoot, bringIntoFocus,
|
|
91
|
-
buildTypeChoices, format,
|
|
92
|
-
// schemaContent,
|
|
93
|
-
replaced
|
|
94
|
-
})
|
|
95
|
-
]]
|
|
96
|
-
]];
|
|
97
|
-
},
|
|
98
|
-
editUI ({
|
|
99
|
-
format, type, buildTypeChoices, specificSchemaObject,
|
|
100
|
-
topRoot, schemaContent, typeNamespace, value
|
|
101
|
-
}) {
|
|
102
|
-
const schemaValue =
|
|
103
|
-
/** @type {import('zodex').SzCatch} */ (
|
|
104
|
-
specificSchemaObject
|
|
105
|
-
)?.value;
|
|
106
|
-
return ['div', {
|
|
107
|
-
dataset: {type: 'catch'},
|
|
108
|
-
title: specificSchemaObject?.description ?? '(a `catch`)'
|
|
109
|
-
}, [
|
|
110
|
-
['label', [
|
|
111
|
-
['b', {
|
|
112
|
-
title: String(schemaValue)
|
|
113
|
-
}, ['Value']],
|
|
114
|
-
' ',
|
|
115
|
-
...(/** @type {import('../typeChoices.js').BuildTypeChoices} */ (
|
|
116
|
-
buildTypeChoices
|
|
117
|
-
)({
|
|
118
|
-
// resultType,
|
|
119
|
-
// eslint-disable-next-line object-shorthand -- TS
|
|
120
|
-
topRoot: /** @type {HTMLDivElement} */ (topRoot),
|
|
121
|
-
// eslint-disable-next-line object-shorthand -- TS
|
|
122
|
-
format: /** @type {import('../formats.js').AvailableFormat} */ (
|
|
123
|
-
format
|
|
124
|
-
),
|
|
125
|
-
setValue: true,
|
|
126
|
-
value: value ?? schemaValue,
|
|
127
|
-
schemaOriginal: schemaContent,
|
|
128
|
-
schemaContent: /** @type {import('zodex').SzCatch} */ (
|
|
129
|
-
specificSchemaObject
|
|
130
|
-
)?.innerType,
|
|
131
|
-
state: type,
|
|
132
|
-
// itemIndex,
|
|
133
|
-
typeNamespace
|
|
134
|
-
}).domArray)
|
|
135
|
-
]]
|
|
136
|
-
]];
|
|
137
|
-
}
|
|
138
|
-
};
|
|
139
|
-
|
|
140
|
-
export default catchType;
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import {$e} from '../utils/templateUtils.js';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @type {import('../types.js').TypeObject}
|
|
5
|
-
*/
|
|
6
|
-
const enumType = {
|
|
7
|
-
option: ['Enum'],
|
|
8
|
-
stringRegex: /^Enum\((.*)\)$/u,
|
|
9
|
-
valueMatch (x) {
|
|
10
|
-
return typeof x === 'string';
|
|
11
|
-
},
|
|
12
|
-
toValue (s) {
|
|
13
|
-
return {value: s.slice(1, -1)};
|
|
14
|
-
},
|
|
15
|
-
getInput ({root}) {
|
|
16
|
-
return /** @type {HTMLSelectElement} */ ($e(root, 'select'));
|
|
17
|
-
},
|
|
18
|
-
setValue ({root, value}) {
|
|
19
|
-
this.getInput({root}).value = value;
|
|
20
|
-
},
|
|
21
|
-
getValue ({root}) {
|
|
22
|
-
return this.getInput({root}).value;
|
|
23
|
-
},
|
|
24
|
-
viewUI ({value, specificSchemaObject}) {
|
|
25
|
-
return ['span', {
|
|
26
|
-
dataset: {type: 'enum'},
|
|
27
|
-
title: specificSchemaObject?.description ?? '(an enum)'
|
|
28
|
-
}, [
|
|
29
|
-
value
|
|
30
|
-
]];
|
|
31
|
-
},
|
|
32
|
-
editUI ({typeNamespace, specificSchemaObject, value = ''}) {
|
|
33
|
-
return ['div', {
|
|
34
|
-
dataset: {type: 'enum'},
|
|
35
|
-
title: specificSchemaObject?.description ?? 'Enum'
|
|
36
|
-
}, [
|
|
37
|
-
['select', {
|
|
38
|
-
name: `${typeNamespace}-enum`
|
|
39
|
-
}, /** @type {import('zodex').SzEnum} */ (
|
|
40
|
-
specificSchemaObject
|
|
41
|
-
)?.values.map((val) => {
|
|
42
|
-
return ['option', {
|
|
43
|
-
selected: value
|
|
44
|
-
? value === val
|
|
45
|
-
: specificSchemaObject?.defaultValue === val
|
|
46
|
-
}, [val]];
|
|
47
|
-
})]
|
|
48
|
-
]];
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
export default enumType;
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import {$e} from '../utils/templateUtils.js';
|
|
2
|
-
|
|
3
|
-
import booleanType from './booleanType.js';
|
|
4
|
-
import numberType from './numberType.js';
|
|
5
|
-
import stringType from './stringType.js';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @type {import('../types.js').TypeObject}
|
|
9
|
-
*/
|
|
10
|
-
const literalType = {
|
|
11
|
-
option: ['Literal'],
|
|
12
|
-
stringRegex: /^Literal\((.*)\)$/u,
|
|
13
|
-
valueMatch (x) {
|
|
14
|
-
// const schema =
|
|
15
|
-
// /** @type {import('zodex').SzLiteral<any>} */ (cfg?.schema);
|
|
16
|
-
return (typeof x === 'boolean' || typeof x === 'number' ||
|
|
17
|
-
typeof x === 'string'); // && (!schema || schema.value === x);
|
|
18
|
-
},
|
|
19
|
-
toValue (s) {
|
|
20
|
-
const value = s === 'true'
|
|
21
|
-
? true
|
|
22
|
-
: s === 'false'
|
|
23
|
-
? false
|
|
24
|
-
: s.charAt(0) === '"'
|
|
25
|
-
? s.slice(1, -1)
|
|
26
|
-
: Number(s);
|
|
27
|
-
return {value};
|
|
28
|
-
},
|
|
29
|
-
// Todo: Fix all the following methods up to `setValue` to work with children
|
|
30
|
-
getInput ({root}) {
|
|
31
|
-
return /** @type {HTMLTextAreaElement} */ ($e(root, 'input,textarea'));
|
|
32
|
-
},
|
|
33
|
-
setValue ({root, value}) {
|
|
34
|
-
this.getInput({root}).value = value;
|
|
35
|
-
},
|
|
36
|
-
getValue ({root, stateObj}) {
|
|
37
|
-
const innerTypeHolder = $e(root, '[data-type]');
|
|
38
|
-
const typeObject = stateObj?.types?.getTypeObject?.(
|
|
39
|
-
/** @type {import('../types.js').AvailableType} */ (
|
|
40
|
-
innerTypeHolder?.dataset.type
|
|
41
|
-
)
|
|
42
|
-
);
|
|
43
|
-
return /** @type {import('../types.js').TypeObject} */ (
|
|
44
|
-
typeObject
|
|
45
|
-
)?.getValue({root, stateObj});
|
|
46
|
-
},
|
|
47
|
-
viewUI ({value, specificSchemaObject}) {
|
|
48
|
-
return ['span', {
|
|
49
|
-
dataset: {type: 'literal'},
|
|
50
|
-
title: specificSchemaObject?.description ?? `(a literal ${typeof value})`
|
|
51
|
-
}, [`${value}`]];
|
|
52
|
-
},
|
|
53
|
-
editUI (arg) {
|
|
54
|
-
const {specificSchemaObject} = arg;
|
|
55
|
-
const {
|
|
56
|
-
value: val
|
|
57
|
-
} = /** @type {import('zodex').SzLiteral<any>} */ (specificSchemaObject);
|
|
58
|
-
|
|
59
|
-
let specificLiteralEditUI;
|
|
60
|
-
switch (typeof val) {
|
|
61
|
-
case 'boolean':
|
|
62
|
-
// arg.specificSchemaObject = {type: 'boolean'};
|
|
63
|
-
specificLiteralEditUI = booleanType.editUI(arg);
|
|
64
|
-
break;
|
|
65
|
-
case 'number':
|
|
66
|
-
// arg.specificSchemaObject = {type: 'number'};
|
|
67
|
-
specificLiteralEditUI = numberType.editUI(arg);
|
|
68
|
-
break;
|
|
69
|
-
case 'string': default:
|
|
70
|
-
// arg.specificSchemaObject = {type: 'string'};
|
|
71
|
-
specificLiteralEditUI = stringType.editUI(arg);
|
|
72
|
-
break;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
return ['div', {dataset: {type: 'literal'}}, [
|
|
76
|
-
specificLiteralEditUI
|
|
77
|
-
]];
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
export default literalType;
|
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
import {$e} from '../utils/templateUtils.js';
|
|
2
|
-
import {escapeRegex} from '../types.js';
|
|
3
|
-
import {jml} from '../vendor-imports.js';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* @type {import('../types.js').TypeObject}
|
|
7
|
-
*/
|
|
8
|
-
const nativeEnumType = {
|
|
9
|
-
option: ['Native enum'],
|
|
10
|
-
stringRegex: /^nativeEnum\((.*)\)$/u,
|
|
11
|
-
valueMatch (x) {
|
|
12
|
-
return ['number', 'string'].includes(typeof x);
|
|
13
|
-
},
|
|
14
|
-
toValue (s, rootInfo) {
|
|
15
|
-
const key = s.charAt(0) === '"' ? s.slice(1, -1) : Number(s);
|
|
16
|
-
|
|
17
|
-
let schema = rootInfo?.schemaObject;
|
|
18
|
-
/* istanbul ignore else -- Most likely is if */
|
|
19
|
-
if (rootInfo?.schemaObject?.type === 'union') {
|
|
20
|
-
const schemas = /** @type {import('zodex').SzUnion} */ (
|
|
21
|
-
rootInfo.schemaObject
|
|
22
|
-
).options.filter((option) => {
|
|
23
|
-
return option.type === 'nativeEnum';
|
|
24
|
-
});
|
|
25
|
-
schema = schemas.find((schema) => {
|
|
26
|
-
return key in schema.values;
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
const value = /** @type {import('zodex').SzNativeEnum} */ (schema)?.values[
|
|
30
|
-
key
|
|
31
|
-
];
|
|
32
|
-
return {value};
|
|
33
|
-
},
|
|
34
|
-
getInput ({root}) {
|
|
35
|
-
return /** @type {HTMLTextAreaElement} */ ($e(root, 'input.nativeEnumKey'));
|
|
36
|
-
},
|
|
37
|
-
setValue ({root, value}) {
|
|
38
|
-
const input = /**
|
|
39
|
-
* @type {HTMLInputElement & {
|
|
40
|
-
* $schemaNativeEnumValues: import('zodex').SzNativeEnum['values']
|
|
41
|
-
* }}
|
|
42
|
-
*/ (this.getInput({root}));
|
|
43
|
-
input.value = Object.entries(
|
|
44
|
-
input.$schemaNativeEnumValues
|
|
45
|
-
).find(([, val]) => {
|
|
46
|
-
return val === value;
|
|
47
|
-
})?.[0] ?? '';
|
|
48
|
-
if (input.value) { // If key was found, the value is ok
|
|
49
|
-
/** @type {HTMLSpanElement} */ (
|
|
50
|
-
$e(root, '.enumeratedValue')
|
|
51
|
-
).textContent = value;
|
|
52
|
-
}
|
|
53
|
-
},
|
|
54
|
-
getValue ({root}) {
|
|
55
|
-
const {value, $schemaNativeEnumValues} =
|
|
56
|
-
/**
|
|
57
|
-
* @type {HTMLInputElement & {
|
|
58
|
-
* $schemaNativeEnumValues: import('zodex').SzNativeEnum['values']
|
|
59
|
-
* }}
|
|
60
|
-
*/ (
|
|
61
|
-
this.getInput({root})
|
|
62
|
-
);
|
|
63
|
-
|
|
64
|
-
return $schemaNativeEnumValues[value];
|
|
65
|
-
},
|
|
66
|
-
viewUI ({value, specificSchemaObject}) {
|
|
67
|
-
return ['div', [
|
|
68
|
-
'Native enum: ',
|
|
69
|
-
['span', {
|
|
70
|
-
dataset: {type: 'nativeEnum'},
|
|
71
|
-
title: specificSchemaObject?.description ?? '(a native enum)'
|
|
72
|
-
}, [value]]
|
|
73
|
-
]];
|
|
74
|
-
},
|
|
75
|
-
editUI (info) {
|
|
76
|
-
const {
|
|
77
|
-
specificSchemaObject,
|
|
78
|
-
value
|
|
79
|
-
// typeNamespace
|
|
80
|
-
} = info;
|
|
81
|
-
const schemaNativeEnumValues = /** @type {import('zodex').SzNativeEnum} */ (
|
|
82
|
-
specificSchemaObject
|
|
83
|
-
)?.values;
|
|
84
|
-
const nativeEnumKeys = Object.keys(schemaNativeEnumValues);
|
|
85
|
-
|
|
86
|
-
let keyForValue;
|
|
87
|
-
if (schemaNativeEnumValues && 'value' in info) {
|
|
88
|
-
keyForValue = Object.entries(schemaNativeEnumValues).find(([, val]) => {
|
|
89
|
-
return val === value;
|
|
90
|
-
})?.[0];
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
const nativeEnumPattern = nativeEnumKeys.map((nativeEnumKey) => {
|
|
94
|
-
// Zod seems to prohibit numerically-indexed strings so we prevent here,
|
|
95
|
-
// but it seems the generated JavaScript allows them (?)
|
|
96
|
-
if (
|
|
97
|
-
(/^\d$/u).test(nativeEnumKey) &&
|
|
98
|
-
Object.values(schemaNativeEnumValues).includes(
|
|
99
|
-
Number.parseInt(nativeEnumKey)
|
|
100
|
-
)
|
|
101
|
-
) {
|
|
102
|
-
return null;
|
|
103
|
-
}
|
|
104
|
-
return escapeRegex(nativeEnumKey);
|
|
105
|
-
}).filter(Boolean).join('|');
|
|
106
|
-
|
|
107
|
-
const input =
|
|
108
|
-
/**
|
|
109
|
-
* @type {HTMLInputElement & {
|
|
110
|
-
* $schemaNativeEnumValues: import('zodex').SzNativeEnum['values']
|
|
111
|
-
* }}
|
|
112
|
-
*/ (jml(
|
|
113
|
-
'input',
|
|
114
|
-
/** @type {import('jamilih').JamilihAttributes} */ ({
|
|
115
|
-
class: 'nativeEnumKey',
|
|
116
|
-
placeholder: nativeEnumPattern,
|
|
117
|
-
title: nativeEnumPattern,
|
|
118
|
-
// Implicitly already wrapped by HTML in `^(?:...)$`
|
|
119
|
-
pattern: nativeEnumPattern,
|
|
120
|
-
value: keyForValue ?? '',
|
|
121
|
-
$on: {
|
|
122
|
-
input () {
|
|
123
|
-
const ev = /** @type {HTMLSpanElement} */ (
|
|
124
|
-
this.parentElement?.parentElement?.querySelector(
|
|
125
|
-
'.enumeratedValue'
|
|
126
|
-
)
|
|
127
|
-
);
|
|
128
|
-
ev.textContent = String(schemaNativeEnumValues[
|
|
129
|
-
/** @type {HTMLInputElement} */
|
|
130
|
-
(this).value
|
|
131
|
-
] ?? '');
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
})
|
|
135
|
-
));
|
|
136
|
-
input.$schemaNativeEnumValues = schemaNativeEnumValues;
|
|
137
|
-
|
|
138
|
-
return ['div', {
|
|
139
|
-
dataset: {type: 'nativeEnum'},
|
|
140
|
-
title: specificSchemaObject?.description ?? 'Native Enum'
|
|
141
|
-
}, [
|
|
142
|
-
['label', [
|
|
143
|
-
'Enumerated key ',
|
|
144
|
-
input
|
|
145
|
-
]],
|
|
146
|
-
['br'],
|
|
147
|
-
'Enumerated value: ',
|
|
148
|
-
['span', {
|
|
149
|
-
class: 'enumeratedValue'
|
|
150
|
-
}, [
|
|
151
|
-
value ?? ''
|
|
152
|
-
]]
|
|
153
|
-
]];
|
|
154
|
-
}
|
|
155
|
-
};
|
|
156
|
-
|
|
157
|
-
export default nativeEnumType;
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import {$e} from '../utils/templateUtils.js';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @type {import('../types.js').TypeObject}
|
|
5
|
-
*/
|
|
6
|
-
const neverType = {
|
|
7
|
-
stringRegex: /^never$/u,
|
|
8
|
-
option: ['Never'],
|
|
9
|
-
/* istanbul ignore next -- Back-up in case shows */
|
|
10
|
-
valueMatch () {
|
|
11
|
-
/* istanbul ignore next -- Back-up in case shows */
|
|
12
|
-
return false;
|
|
13
|
-
},
|
|
14
|
-
toValue (/* _s */) {
|
|
15
|
-
throw new Error('Cannot convert to value');
|
|
16
|
-
},
|
|
17
|
-
getValue () {
|
|
18
|
-
return /** @type {import('../types.js').ToValue} */ (
|
|
19
|
-
this.toValue
|
|
20
|
-
)('');
|
|
21
|
-
},
|
|
22
|
-
/* istanbul ignore next -- Back-up in case shows */
|
|
23
|
-
viewUI ({specificSchemaObject}) {
|
|
24
|
-
/* istanbul ignore next -- Back-up in case shows */
|
|
25
|
-
return ['i', {
|
|
26
|
-
dataset: {type: 'never'},
|
|
27
|
-
title: specificSchemaObject?.description ?? '(a `never`)'
|
|
28
|
-
}, ['never']];
|
|
29
|
-
},
|
|
30
|
-
/* istanbul ignore next -- No dupe keys, array refs, or validation */
|
|
31
|
-
getInput ({root}) {
|
|
32
|
-
/* istanbul ignore next -- Back-up in case shows */
|
|
33
|
-
return /** @type {HTMLInputElement} */ ($e(root, 'input'));
|
|
34
|
-
},
|
|
35
|
-
editUI ({typeNamespace}) {
|
|
36
|
-
return ['div', {dataset: {type: 'never'}}, [
|
|
37
|
-
['label', [
|
|
38
|
-
'Never (no value present here)',
|
|
39
|
-
['input', {
|
|
40
|
-
type: 'checkbox',
|
|
41
|
-
name: `${typeNamespace}-never`,
|
|
42
|
-
hidden: true
|
|
43
|
-
}]
|
|
44
|
-
]]
|
|
45
|
-
]];
|
|
46
|
-
}
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
export default neverType;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import {toStringTag} from '../vendor-imports.js';
|
|
2
|
-
import arrayType from './arrayType.js';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* @type {import('../types.js').TypeObject}
|
|
6
|
-
*/
|
|
7
|
-
const recordType = {
|
|
8
|
-
option: ['Record'],
|
|
9
|
-
regexEndings: [',', '}'],
|
|
10
|
-
stringRegexBegin: /^Record\{/u,
|
|
11
|
-
stringRegexEnd: /^\}/u,
|
|
12
|
-
array: true,
|
|
13
|
-
record: true,
|
|
14
|
-
valueMatch (x) { // Like `object` type, can also match
|
|
15
|
-
return x && typeof x === 'object' &&
|
|
16
|
-
// Exclude other special object types
|
|
17
|
-
toStringTag(x) === 'Object';
|
|
18
|
-
},
|
|
19
|
-
toValue (...args) {
|
|
20
|
-
return /** @type {import('../types.js').ToValue} */ (
|
|
21
|
-
arrayType.toValue
|
|
22
|
-
).apply(this, args);
|
|
23
|
-
},
|
|
24
|
-
getValue (...args) {
|
|
25
|
-
return arrayType.getValue.apply(this, args);
|
|
26
|
-
},
|
|
27
|
-
getInput (...args) {
|
|
28
|
-
return arrayType.getInput.apply(this, args);
|
|
29
|
-
},
|
|
30
|
-
viewUI ({...args}) {
|
|
31
|
-
return arrayType.viewUI.call(this, {
|
|
32
|
-
...args, type: 'record'
|
|
33
|
-
});
|
|
34
|
-
},
|
|
35
|
-
editUI ({...args}) {
|
|
36
|
-
return arrayType.editUI.call(this, {
|
|
37
|
-
...args, type: 'record'
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
export default recordType;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import arrayType from './arrayType.js';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @type {import('../types.js').TypeObject}
|
|
5
|
-
*/
|
|
6
|
-
const tupleType = {
|
|
7
|
-
option: ['Tuple'],
|
|
8
|
-
array: true,
|
|
9
|
-
regexEndings: [',', ']'],
|
|
10
|
-
stringRegexBegin: /^Tuple\[/u,
|
|
11
|
-
stringRegexEnd: /^\]/u,
|
|
12
|
-
tuple: true,
|
|
13
|
-
valueMatch (x) {
|
|
14
|
-
return Array.isArray(x);
|
|
15
|
-
},
|
|
16
|
-
toValue (...args) {
|
|
17
|
-
return /** @type {import('../types.js').ToValue} */ (
|
|
18
|
-
arrayType.toValue
|
|
19
|
-
).apply(this, args);
|
|
20
|
-
},
|
|
21
|
-
getValue (...args) {
|
|
22
|
-
return arrayType.getValue.apply(this, args);
|
|
23
|
-
},
|
|
24
|
-
getInput (...args) {
|
|
25
|
-
return arrayType.getInput.apply(this, args);
|
|
26
|
-
},
|
|
27
|
-
viewUI ({...args}) {
|
|
28
|
-
return arrayType.viewUI.call(this, {
|
|
29
|
-
...args, type: 'tuple'
|
|
30
|
-
});
|
|
31
|
-
},
|
|
32
|
-
editUI ({...args}) {
|
|
33
|
-
return arrayType.editUI.call(this, {
|
|
34
|
-
...args, type: 'tuple'
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
export default tupleType;
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import {$e} from '../utils/templateUtils.js';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @type {import('../types.js').TypeObject}
|
|
5
|
-
*/
|
|
6
|
-
const voidType = {
|
|
7
|
-
stringRegex: /^void$/u,
|
|
8
|
-
option: ['Void'],
|
|
9
|
-
valueMatch (x) {
|
|
10
|
-
return x === undefined;
|
|
11
|
-
},
|
|
12
|
-
toValue (/* _s */) {
|
|
13
|
-
return {value: undefined};
|
|
14
|
-
},
|
|
15
|
-
getValue () {
|
|
16
|
-
return /** @type {import('../types.js').ToValue} */ (
|
|
17
|
-
this.toValue
|
|
18
|
-
)('').value;
|
|
19
|
-
},
|
|
20
|
-
/* istanbul ignore next -- No dupe keys, array refs, or validation */
|
|
21
|
-
getInput ({root}) {
|
|
22
|
-
return /** @type {HTMLInputElement} */ ($e(root, 'input'));
|
|
23
|
-
},
|
|
24
|
-
viewUI ({specificSchemaObject}) {
|
|
25
|
-
return ['i', {
|
|
26
|
-
dataset: {type: 'void'},
|
|
27
|
-
title: specificSchemaObject?.description ?? '(a `void`)'
|
|
28
|
-
}, ['void']];
|
|
29
|
-
},
|
|
30
|
-
editUI ({typeNamespace, specificSchemaObject}) {
|
|
31
|
-
return ['div', {
|
|
32
|
-
dataset: {type: 'void'},
|
|
33
|
-
title: specificSchemaObject?.description ?? 'Void'
|
|
34
|
-
}, [
|
|
35
|
-
['label', [
|
|
36
|
-
'Void',
|
|
37
|
-
['input', {
|
|
38
|
-
type: 'checkbox',
|
|
39
|
-
name: `${typeNamespace}-void`,
|
|
40
|
-
checked: true,
|
|
41
|
-
disabled: true
|
|
42
|
-
}]
|
|
43
|
-
]]
|
|
44
|
-
]];
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
export default voidType;
|