@es-joy/jsoe 0.24.2 → 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 +51 -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 +77 -66
- 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 -80
- 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,6 +1,7 @@
|
|
|
1
1
|
/* globals sceditor -- No ESM version yet */
|
|
2
2
|
import {jml} from '../vendor-imports.js';
|
|
3
3
|
import {$e} from '../utils/templateUtils.js';
|
|
4
|
+
import {schemaLabel} from '../utils/schemaMeta.js';
|
|
4
5
|
|
|
5
6
|
import dialogs from '../utils/dialogs.js';
|
|
6
7
|
import {isNullish} from '../utils/types.js';
|
|
@@ -34,7 +35,7 @@ const blobHTMLType = {
|
|
|
34
35
|
const pos = dataURI.indexOf(',');
|
|
35
36
|
const mimeInfo = dataURI.slice(0, pos);
|
|
36
37
|
const bytes = dataURI.slice(pos + 1);
|
|
37
|
-
const [mimeString, encoding] = mimeInfo.split(':')[1].split(';');
|
|
38
|
+
const [mimeString, encoding] = mimeInfo.split(':', 2)[1].split(';', 2);
|
|
38
39
|
let ab;
|
|
39
40
|
if (encoding === 'base64') {
|
|
40
41
|
const byteString = atob(bytes);
|
|
@@ -74,7 +75,7 @@ const blobHTMLType = {
|
|
|
74
75
|
const result = await this.loadBlob(value);
|
|
75
76
|
/** @type {SCEditorTextarea} */ (
|
|
76
77
|
this.getInput({root})
|
|
77
|
-
).sceditorInstance.val(
|
|
78
|
+
).sceditorInstance.val(result);
|
|
78
79
|
// this.getInput({root}).value = result;
|
|
79
80
|
},
|
|
80
81
|
viewUI ({value, specificSchemaObject}) {
|
|
@@ -82,9 +83,9 @@ const blobHTMLType = {
|
|
|
82
83
|
let val;
|
|
83
84
|
const div = jml('div', {
|
|
84
85
|
dataset: {type: 'blobHTML'},
|
|
85
|
-
title: specificSchemaObject
|
|
86
|
+
title: schemaLabel(specificSchemaObject) ? 'HTML' : undefined
|
|
86
87
|
}, [
|
|
87
|
-
specificSchemaObject
|
|
88
|
+
schemaLabel(specificSchemaObject) ?? 'HTML',
|
|
88
89
|
': ',
|
|
89
90
|
['button', {$on: {
|
|
90
91
|
click () {
|
|
@@ -95,18 +96,16 @@ const blobHTMLType = {
|
|
|
95
96
|
}
|
|
96
97
|
}}, ['View source']]
|
|
97
98
|
]);
|
|
98
|
-
// eslint-disable-next-line @stylistic/max-len -- Long
|
|
99
99
|
// eslint-disable-next-line promise/prefer-await-to-then -- Not an async method
|
|
100
100
|
this.loadBlob(value).then((
|
|
101
101
|
result
|
|
102
102
|
) => {
|
|
103
|
-
val =
|
|
103
|
+
val = result;
|
|
104
104
|
jml('iframe', {
|
|
105
105
|
sandbox: '',
|
|
106
106
|
srcdoc: val
|
|
107
107
|
}, div);
|
|
108
108
|
return undefined;
|
|
109
|
-
// eslint-disable-next-line @stylistic/max-len -- Long
|
|
110
109
|
// eslint-disable-next-line promise/prefer-await-to-then -- Not an async method
|
|
111
110
|
}).catch(
|
|
112
111
|
/* istanbul ignore next -- How to simulate? */
|
|
@@ -137,13 +136,26 @@ const blobHTMLType = {
|
|
|
137
136
|
'div',
|
|
138
137
|
{
|
|
139
138
|
dataset: {type: 'blobHTML'},
|
|
140
|
-
title: specificSchemaObject
|
|
139
|
+
title: schemaLabel(specificSchemaObject) ?? 'Blob (HTML)'
|
|
141
140
|
},
|
|
142
141
|
[
|
|
143
142
|
textarea
|
|
144
143
|
]
|
|
145
144
|
);
|
|
146
|
-
|
|
145
|
+
// SCEditor builds a WYSIWYG iframe, which only works once `textarea` is
|
|
146
|
+
// connected to the document. The caller attaches `root` after the build
|
|
147
|
+
// pipeline returns, and re-parenting an SCEditor iframe reloads it, so we
|
|
148
|
+
// wait here for connection rather than initialising eagerly (or letting
|
|
149
|
+
// the build pipeline await us, which would deadlock).
|
|
150
|
+
let connectionTries = 0;
|
|
151
|
+
const createWhenConnected = () => {
|
|
152
|
+
if (!textarea.isConnected) {
|
|
153
|
+
/* istanbul ignore else -- Bounded guard against a never-attached UI */
|
|
154
|
+
if (connectionTries++ < 250) {
|
|
155
|
+
setTimeout(createWhenConnected, 20);
|
|
156
|
+
}
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
147
159
|
// Push onto these: https://www.sceditor.com/documentation/formats/xhtml/
|
|
148
160
|
// sceditor.formats.xhtml.converters array
|
|
149
161
|
// sceditor.formats.xhtml.allowedAttribs object
|
|
@@ -187,7 +199,8 @@ const blobHTMLType = {
|
|
|
187
199
|
this
|
|
188
200
|
).setValue({root, value});
|
|
189
201
|
}
|
|
190
|
-
}
|
|
202
|
+
};
|
|
203
|
+
setTimeout(createWhenConnected, 0);
|
|
191
204
|
return [root];
|
|
192
205
|
}
|
|
193
206
|
};
|
|
@@ -12,10 +12,10 @@ const SpecialNumberSuperType = {
|
|
|
12
12
|
value: s === '-0'
|
|
13
13
|
? -0
|
|
14
14
|
: s === 'NaN'
|
|
15
|
-
?
|
|
15
|
+
? NaN
|
|
16
16
|
: s === 'Infinity'
|
|
17
|
-
?
|
|
18
|
-
:
|
|
17
|
+
? Infinity
|
|
18
|
+
: -Infinity
|
|
19
19
|
};
|
|
20
20
|
},
|
|
21
21
|
getSelect ({root}) {
|
|
@@ -42,7 +42,7 @@ const SpecialNumberSuperType = {
|
|
|
42
42
|
Object.is(value, -0) ? '-0' : String(value)
|
|
43
43
|
]];
|
|
44
44
|
},
|
|
45
|
-
editUI ({typeNamespace, value =
|
|
45
|
+
editUI ({typeNamespace, value = NaN}) {
|
|
46
46
|
return ['div', {dataset: {type: 'SpecialNumber'}}, [
|
|
47
47
|
['label', [
|
|
48
48
|
'Special number: ',
|
|
@@ -53,10 +53,10 @@ const SpecialNumberSuperType = {
|
|
|
53
53
|
value: 'NaN', selected: Number.isNaN(value)
|
|
54
54
|
}, ['NaN']],
|
|
55
55
|
['option', {
|
|
56
|
-
value: 'Infinity', selected: value ===
|
|
56
|
+
value: 'Infinity', selected: value === Infinity
|
|
57
57
|
}, ['Infinity']],
|
|
58
58
|
['option', {
|
|
59
|
-
value: '-Infinity', selected: value ===
|
|
59
|
+
value: '-Infinity', selected: value === -Infinity
|
|
60
60
|
}, ['-Infinity']],
|
|
61
61
|
['option', {
|
|
62
62
|
value: '-0', selected: Object.is(value, -0)
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import {$e} from '../utils/templateUtils.js';
|
|
2
|
+
import {schemaLabel} from '../utils/schemaMeta.js';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* @type {import('../types.js').SuperTypeObject}
|
|
@@ -8,16 +9,16 @@ const SpecialRealNumberSuperType = {
|
|
|
8
9
|
childTypes: ['infinity', 'negativeInfinity', 'negativeZero'],
|
|
9
10
|
stringRegex: /^(?:-?Infinity|-0)$/u,
|
|
10
11
|
valueMatch (x) {
|
|
11
|
-
return Object.is(x, -0) || x ===
|
|
12
|
-
x ===
|
|
12
|
+
return Object.is(x, -0) || x === Infinity ||
|
|
13
|
+
x === -Infinity;
|
|
13
14
|
},
|
|
14
15
|
toValue (s) {
|
|
15
16
|
return {
|
|
16
17
|
value: s === '-0'
|
|
17
18
|
? -0
|
|
18
19
|
: s === 'Infinity'
|
|
19
|
-
?
|
|
20
|
-
:
|
|
20
|
+
? Infinity
|
|
21
|
+
: -Infinity
|
|
21
22
|
};
|
|
22
23
|
},
|
|
23
24
|
getSelect ({root}) {
|
|
@@ -39,7 +40,7 @@ const SpecialRealNumberSuperType = {
|
|
|
39
40
|
const isNegativeZero = Object.is(value, -0);
|
|
40
41
|
return ['i', {
|
|
41
42
|
dataset: {type: 'SpecialRealNumber'},
|
|
42
|
-
title: specificSchemaObject
|
|
43
|
+
title: schemaLabel(specificSchemaObject) ?? (isNegativeZero
|
|
43
44
|
? '(negative zero)'
|
|
44
45
|
: `(${String(value)})`)
|
|
45
46
|
}, [
|
|
@@ -53,19 +54,19 @@ const SpecialRealNumberSuperType = {
|
|
|
53
54
|
return /** @type {HTMLSelectElement} */ ($e(root, 'select'));
|
|
54
55
|
},
|
|
55
56
|
editUI ({
|
|
56
|
-
typeNamespace, specificSchemaObject, value =
|
|
57
|
+
typeNamespace, specificSchemaObject, value = Infinity
|
|
57
58
|
}) {
|
|
58
59
|
return ['div', {
|
|
59
60
|
dataset: {type: 'SpecialRealNumber'},
|
|
60
|
-
title: specificSchemaObject
|
|
61
|
+
title: schemaLabel(specificSchemaObject) ?? 'Special Real Number'
|
|
61
62
|
}, [
|
|
62
63
|
['label', [
|
|
63
64
|
['select', {name: `${typeNamespace}-SpecialRealNumber`}, [
|
|
64
65
|
['option', {
|
|
65
|
-
value: 'Infinity', selected: value ===
|
|
66
|
+
value: 'Infinity', selected: value === Infinity
|
|
66
67
|
}, ['Infinity']],
|
|
67
68
|
['option', {
|
|
68
|
-
value: '-Infinity', selected: value ===
|
|
69
|
+
value: '-Infinity', selected: value === -Infinity
|
|
69
70
|
}, ['-Infinity']],
|
|
70
71
|
['option', {
|
|
71
72
|
value: '-0', selected: Object.is(value, -0)
|
|
@@ -1,7 +1,21 @@
|
|
|
1
1
|
import {$e, $$e} from '../utils/templateUtils.js';
|
|
2
|
+
import {schemaLabel} from '../utils/schemaMeta.js';
|
|
2
3
|
import {jml, toStringTag} from '../vendor-imports.js';
|
|
3
4
|
import dialogs from '../utils/dialogs.js';
|
|
4
5
|
|
|
6
|
+
/**
|
|
7
|
+
* Integer value of a numeric form field, matching the `parseInt` behavior this
|
|
8
|
+
* replaced: a blank field is `NaN` (so comparisons against it stay false),
|
|
9
|
+
* not `0` as `Number('')` / `Math.trunc(Number(''))` would give.
|
|
10
|
+
* @param {string} str
|
|
11
|
+
*/
|
|
12
|
+
const toInteger = (str) => {
|
|
13
|
+
if (str.trim() === '') {
|
|
14
|
+
return NaN;
|
|
15
|
+
}
|
|
16
|
+
return Math.trunc(Number(str));
|
|
17
|
+
};
|
|
18
|
+
|
|
5
19
|
const dataViewMethods = /** @type {const} */ ([
|
|
6
20
|
'setInt8',
|
|
7
21
|
'setUint8',
|
|
@@ -67,8 +81,8 @@ const getMinMaxForTypedArray = (typedArray) => {
|
|
|
67
81
|
/**
|
|
68
82
|
* @typedef {Int8Array|Uint8Array|Uint8ClampedArray|
|
|
69
83
|
* Int16Array|Uint16Array|Int32Array|Uint32Array|
|
|
70
|
-
* Float32Array|Float64Array|BigInt64Array|
|
|
71
|
-
* BigUint64Array} TypedArrayInstance
|
|
84
|
+
* Float32Array|Float64Array|BigInt64Array|
|
|
85
|
+
* BigUint64Array} TypedArrayInstance
|
|
72
86
|
*/
|
|
73
87
|
|
|
74
88
|
/**
|
|
@@ -187,7 +201,7 @@ const buffersourceType = {
|
|
|
187
201
|
/** @type {DataView|undefined} */
|
|
188
202
|
let view;
|
|
189
203
|
if (bufferSourceClass === 'DataView' || dataViewMethods.some((method) => {
|
|
190
|
-
return method
|
|
204
|
+
return Object.hasOwn(o, method);
|
|
191
205
|
})) {
|
|
192
206
|
view = new DataView(buffer, dataViewByteOffset, dataViewByteLength);
|
|
193
207
|
dataViewMethods.forEach((prop) => {
|
|
@@ -296,13 +310,13 @@ const buffersourceType = {
|
|
|
296
310
|
return ['div', {dataset: {type: 'buffersource'}}, [
|
|
297
311
|
['b', {
|
|
298
312
|
class: 'emphasis',
|
|
299
|
-
title: specificSchemaObject
|
|
313
|
+
title: schemaLabel(specificSchemaObject)
|
|
300
314
|
? (/^[aeiou]/iu).test(stringTag)
|
|
301
315
|
? `(an ${stringTag})`
|
|
302
316
|
: `(a ${stringTag})`
|
|
303
317
|
: undefined
|
|
304
318
|
}, [
|
|
305
|
-
specificSchemaObject
|
|
319
|
+
schemaLabel(specificSchemaObject) ?? stringTag
|
|
306
320
|
]],
|
|
307
321
|
['br'],
|
|
308
322
|
['b', ['Buffer byte length: ']],
|
|
@@ -362,12 +376,13 @@ const buffersourceType = {
|
|
|
362
376
|
...Array.from({
|
|
363
377
|
length: typedArray.length
|
|
364
378
|
}, (_v, key) => {
|
|
379
|
+
const typedArrayValue = typedArray[key];
|
|
365
380
|
return jml('span', [
|
|
366
381
|
['b', [key]],
|
|
367
382
|
' ',
|
|
368
383
|
['span', [
|
|
369
|
-
|
|
370
|
-
? String(
|
|
384
|
+
typedArrayValue
|
|
385
|
+
? String(typedArrayValue)
|
|
371
386
|
: '0'
|
|
372
387
|
]],
|
|
373
388
|
' '
|
|
@@ -411,7 +426,7 @@ const buffersourceType = {
|
|
|
411
426
|
|
|
412
427
|
const div = jml('div', {
|
|
413
428
|
dataset: {type: 'buffersource'},
|
|
414
|
-
title: specificSchemaObject
|
|
429
|
+
title: schemaLabel(specificSchemaObject) ?? 'BufferSource'
|
|
415
430
|
}, [
|
|
416
431
|
['fieldset', {
|
|
417
432
|
class: 'returnType',
|
|
@@ -428,10 +443,10 @@ const buffersourceType = {
|
|
|
428
443
|
/** @type {BuildInstances} */
|
|
429
444
|
$buildInstances () {
|
|
430
445
|
const that = /**
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
446
|
+
* @type {HTMLFieldSetElement & {
|
|
447
|
+
* $buildInstances: BuildInstances
|
|
448
|
+
* }}
|
|
449
|
+
*/ (this);
|
|
435
450
|
const ancestor = /** @type {HTMLDivElement} */ (that.parentElement);
|
|
436
451
|
const {value} = /** @type {HTMLInputElement} */ ($e(
|
|
437
452
|
that, `[name=${typeNamespace}-buffersource-returnType-${idx}]` +
|
|
@@ -448,8 +463,8 @@ const buffersourceType = {
|
|
|
448
463
|
*/ (
|
|
449
464
|
$e(ancestor, '.byteLength')
|
|
450
465
|
);
|
|
451
|
-
const byteLengthVal =
|
|
452
|
-
const maxByteLength =
|
|
466
|
+
const byteLengthVal = toInteger(byteLength.value);
|
|
467
|
+
const maxByteLength = toInteger(
|
|
453
468
|
/** @type {HTMLInputElement} */ (
|
|
454
469
|
$e(ancestor, '.maxByteLength')
|
|
455
470
|
).value
|
|
@@ -465,7 +480,7 @@ const buffersourceType = {
|
|
|
465
480
|
'.dataViewByteOffset'
|
|
466
481
|
)).value;
|
|
467
482
|
const dataViewByteOffset = dataViewByteOffsetVal
|
|
468
|
-
?
|
|
483
|
+
? toInteger(dataViewByteOffsetVal)
|
|
469
484
|
: 0;
|
|
470
485
|
|
|
471
486
|
const dataViewByteLengthVal = /** @type {HTMLInputElement} */ ($e(
|
|
@@ -473,7 +488,7 @@ const buffersourceType = {
|
|
|
473
488
|
'.dataViewByteLength'
|
|
474
489
|
)).value;
|
|
475
490
|
const dataViewByteLength = dataViewByteLengthVal
|
|
476
|
-
?
|
|
491
|
+
? toInteger(dataViewByteLengthVal)
|
|
477
492
|
: undefined;
|
|
478
493
|
|
|
479
494
|
const dataView = new DataView(
|
|
@@ -493,7 +508,7 @@ const buffersourceType = {
|
|
|
493
508
|
'.typedArrayByteOffset'
|
|
494
509
|
)).value;
|
|
495
510
|
const typedArrayByteOffset = typedArrayByteOffsetVal
|
|
496
|
-
?
|
|
511
|
+
? toInteger(typedArrayByteOffsetVal)
|
|
497
512
|
: 0;
|
|
498
513
|
|
|
499
514
|
const typedArrayLengthVal =
|
|
@@ -502,7 +517,7 @@ const buffersourceType = {
|
|
|
502
517
|
'.typedArrayLength'
|
|
503
518
|
)).value;
|
|
504
519
|
const typedArrayLength = typedArrayLengthVal
|
|
505
|
-
?
|
|
520
|
+
? toInteger(typedArrayLengthVal)
|
|
506
521
|
: byteLengthVal;
|
|
507
522
|
|
|
508
523
|
const typedArray = new TypedArray(
|
|
@@ -730,7 +745,7 @@ const buffersourceType = {
|
|
|
730
745
|
));
|
|
731
746
|
const val = that.value;
|
|
732
747
|
|
|
733
|
-
if (
|
|
748
|
+
if (toInteger(val) > Number.MAX_SAFE_INTEGER) {
|
|
734
749
|
that.setCustomValidity(
|
|
735
750
|
'The ArrayBuffer length exceeds the maximum ' +
|
|
736
751
|
'allowable size'
|
|
@@ -743,7 +758,7 @@ const buffersourceType = {
|
|
|
743
758
|
that.reportValidity();
|
|
744
759
|
|
|
745
760
|
if (
|
|
746
|
-
|
|
761
|
+
toInteger(val) > toInteger(maxByteLength.value)
|
|
747
762
|
) {
|
|
748
763
|
maxByteLength.value = val;
|
|
749
764
|
}
|
|
@@ -791,7 +806,7 @@ const buffersourceType = {
|
|
|
791
806
|
));
|
|
792
807
|
const val = that.value;
|
|
793
808
|
if (
|
|
794
|
-
|
|
809
|
+
toInteger(val) < toInteger(byteLength.value)
|
|
795
810
|
) {
|
|
796
811
|
// byteLength.value = val;
|
|
797
812
|
that.setCustomValidity(
|
|
@@ -824,16 +839,16 @@ const buffersourceType = {
|
|
|
824
839
|
/** @type {CheckDataViewByteLength} */
|
|
825
840
|
$checkDataViewByteLength (e) {
|
|
826
841
|
const that = /**
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
842
|
+
* @type {HTMLInputElement & {
|
|
843
|
+
* $checkDataViewByteLength: CheckDataViewByteLength
|
|
844
|
+
* }}
|
|
845
|
+
*/ (
|
|
831
846
|
this
|
|
832
847
|
);
|
|
833
848
|
const greatGrandparent = /** @type {HTMLElement} */
|
|
834
849
|
(that.parentElement?.parentElement?.parentElement);
|
|
835
850
|
|
|
836
|
-
const byteOffset =
|
|
851
|
+
const byteOffset = toInteger(
|
|
837
852
|
/** @type {HTMLInputElement} */ ($e(
|
|
838
853
|
greatGrandparent,
|
|
839
854
|
'.dataViewByteOffset'
|
|
@@ -846,15 +861,11 @@ const buffersourceType = {
|
|
|
846
861
|
'.byteLength'
|
|
847
862
|
)).value;
|
|
848
863
|
const bufferByteLength = bufferByteLengthVal
|
|
849
|
-
?
|
|
850
|
-
bufferByteLengthVal
|
|
851
|
-
)
|
|
864
|
+
? toInteger(bufferByteLengthVal)
|
|
852
865
|
: 0;
|
|
853
866
|
|
|
854
867
|
const byteLength = that.value
|
|
855
|
-
?
|
|
856
|
-
that.value
|
|
857
|
-
)
|
|
868
|
+
? toInteger(that.value)
|
|
858
869
|
: bufferByteLength;
|
|
859
870
|
|
|
860
871
|
if (byteOffset + byteLength > bufferByteLength) {
|
|
@@ -929,10 +940,10 @@ const buffersourceType = {
|
|
|
929
940
|
/** @type {CheckByteOffsetMultiple} */
|
|
930
941
|
$checkByteOffsetMultiple (e) {
|
|
931
942
|
const that = /**
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
943
|
+
* @type {HTMLInputElement & {
|
|
944
|
+
* $checkByteOffsetMultiple: CheckByteOffsetMultiple
|
|
945
|
+
* }}
|
|
946
|
+
*/ (this);
|
|
936
947
|
const ancestor = /** @type {HTMLElement} */ (
|
|
937
948
|
that.
|
|
938
949
|
parentElement?.parentElement?.parentElement?.parentElement
|
|
@@ -946,7 +957,7 @@ const buffersourceType = {
|
|
|
946
957
|
/** @type {TypedArray} */ (value)
|
|
947
958
|
);
|
|
948
959
|
if (
|
|
949
|
-
|
|
960
|
+
toInteger(that.value) % TypedArray.BYTES_PER_ELEMENT
|
|
950
961
|
) {
|
|
951
962
|
that.setCustomValidity(
|
|
952
963
|
'Byte offset must be a multiple of the typed ' +
|
|
@@ -1039,11 +1050,11 @@ const buffersourceType = {
|
|
|
1039
1050
|
/** @type {CheckTypedArrayByteLength} */
|
|
1040
1051
|
$checkTypedArrayByteLength (e) {
|
|
1041
1052
|
const that = /**
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1053
|
+
* @type {HTMLSelectElement & {
|
|
1054
|
+
* $setMinsAndMaxes: SetMinsAndMaxes,
|
|
1055
|
+
* $checkTypedArrayByteLength: CheckTypedArrayByteLength
|
|
1056
|
+
* }}
|
|
1057
|
+
*/ (this);
|
|
1047
1058
|
const TypedArray = getTypedArray(
|
|
1048
1059
|
/** @type {TypedArray} */ (that.value)
|
|
1049
1060
|
);
|
|
@@ -1054,7 +1065,7 @@ const buffersourceType = {
|
|
|
1054
1065
|
'.byteLength'
|
|
1055
1066
|
));
|
|
1056
1067
|
const arrayBufferLength = byteLength.value
|
|
1057
|
-
?
|
|
1068
|
+
? toInteger(
|
|
1058
1069
|
byteLength.value
|
|
1059
1070
|
)
|
|
1060
1071
|
: 0;
|
|
@@ -1074,11 +1085,11 @@ const buffersourceType = {
|
|
|
1074
1085
|
change (e) {
|
|
1075
1086
|
const that =
|
|
1076
1087
|
/**
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1088
|
+
* @type {HTMLSelectElement & {
|
|
1089
|
+
* $setMinsAndMaxes: SetMinsAndMaxes,
|
|
1090
|
+
* $checkTypedArrayByteLength: CheckTypedArrayByteLength
|
|
1091
|
+
* }}
|
|
1092
|
+
*/ (
|
|
1082
1093
|
this
|
|
1083
1094
|
);
|
|
1084
1095
|
|
|
@@ -1154,11 +1165,11 @@ const buffersourceType = {
|
|
|
1154
1165
|
/** @type {CheckBufferBounds} */
|
|
1155
1166
|
$checkBufferBounds (e) {
|
|
1156
1167
|
const that = /**
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1168
|
+
* @type {HTMLInputElement & {
|
|
1169
|
+
* $checkBufferBounds: CheckBufferBounds,
|
|
1170
|
+
* $buildTypedArray: BuildTypedArray
|
|
1171
|
+
* }}
|
|
1172
|
+
*/ (this);
|
|
1162
1173
|
|
|
1163
1174
|
const ancestor = /** @type {HTMLElement} */ (
|
|
1164
1175
|
that.parentElement?.parentElement?.parentElement
|
|
@@ -1169,13 +1180,13 @@ const buffersourceType = {
|
|
|
1169
1180
|
'.byteLength'
|
|
1170
1181
|
)).value;
|
|
1171
1182
|
const bufferByteLength = bufferByteLengthVal
|
|
1172
|
-
?
|
|
1183
|
+
? toInteger(
|
|
1173
1184
|
bufferByteLengthVal
|
|
1174
1185
|
)
|
|
1175
1186
|
: 0;
|
|
1176
1187
|
|
|
1177
1188
|
const length = that.value
|
|
1178
|
-
?
|
|
1189
|
+
? toInteger(that.value)
|
|
1179
1190
|
: bufferByteLength;
|
|
1180
1191
|
|
|
1181
1192
|
const {value} = /** @type {HTMLSelectElement} */ (
|
|
@@ -1192,7 +1203,7 @@ const buffersourceType = {
|
|
|
1192
1203
|
'.typedArrayByteOffset'
|
|
1193
1204
|
)).value;
|
|
1194
1205
|
const typedArrayByteOffset = typedArrayByteOffsetVal
|
|
1195
|
-
?
|
|
1206
|
+
? toInteger(typedArrayByteOffsetVal)
|
|
1196
1207
|
: 0;
|
|
1197
1208
|
|
|
1198
1209
|
if (
|
|
@@ -1221,12 +1232,12 @@ const buffersourceType = {
|
|
|
1221
1232
|
/** @type {BuildTypedArray} */
|
|
1222
1233
|
$buildTypedArray () {
|
|
1223
1234
|
const that = /**
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
const length =
|
|
1235
|
+
* @type {HTMLInputElement & {
|
|
1236
|
+
* $checkBufferBounds: CheckBufferBounds,
|
|
1237
|
+
* $buildTypedArray: BuildTypedArray
|
|
1238
|
+
* }}
|
|
1239
|
+
*/ (this);
|
|
1240
|
+
const length = toInteger(that.value);
|
|
1230
1241
|
const grandparent = /** @type {HTMLElement} */ (
|
|
1231
1242
|
that.parentElement?.parentElement
|
|
1232
1243
|
);
|
|
@@ -1255,7 +1266,7 @@ const buffersourceType = {
|
|
|
1255
1266
|
input.dataset.bigint === 'true'
|
|
1256
1267
|
? BigInt(input.value)
|
|
1257
1268
|
: Number(input.value)
|
|
1258
|
-
],
|
|
1269
|
+
], toInteger(
|
|
1259
1270
|
/** @type {string} */ (input.dataset.key)
|
|
1260
1271
|
));
|
|
1261
1272
|
});
|
|
@@ -1269,6 +1280,7 @@ const buffersourceType = {
|
|
|
1269
1280
|
typedArrayArea.textContent = '';
|
|
1270
1281
|
typedArrayArea.append(
|
|
1271
1282
|
...Array.from({length}, (_v, key) => {
|
|
1283
|
+
const typedArrayValue = bufferByteLength.$typedArray[key];
|
|
1272
1284
|
return jml('label', [
|
|
1273
1285
|
key,
|
|
1274
1286
|
' ',
|
|
@@ -1281,8 +1293,8 @@ const buffersourceType = {
|
|
|
1281
1293
|
pattern: value.startsWith('Float')
|
|
1282
1294
|
? String.raw`\d+(?:\.\d+)?`
|
|
1283
1295
|
: String.raw`\d+`,
|
|
1284
|
-
value:
|
|
1285
|
-
? String(
|
|
1296
|
+
value: typedArrayValue
|
|
1297
|
+
? String(typedArrayValue)
|
|
1286
1298
|
: '0',
|
|
1287
1299
|
min, max
|
|
1288
1300
|
}],
|
|
@@ -1304,19 +1316,20 @@ const buffersourceType = {
|
|
|
1304
1316
|
*/ (
|
|
1305
1317
|
this
|
|
1306
1318
|
);
|
|
1307
|
-
const grandparent = /** @type {HTMLElement} */ (
|
|
1308
|
-
this.parentElement?.parentElement
|
|
1309
|
-
);
|
|
1310
1319
|
|
|
1311
1320
|
if (!that.$checkBufferBounds(e)) {
|
|
1312
1321
|
return;
|
|
1313
1322
|
}
|
|
1314
1323
|
|
|
1324
|
+
const grandparent = /** @type {HTMLElement} */ (
|
|
1325
|
+
this.parentElement?.parentElement
|
|
1326
|
+
);
|
|
1327
|
+
|
|
1315
1328
|
const {value} = /** @type {HTMLSelectElement} */ (
|
|
1316
1329
|
$e(grandparent, '.buffersource-typedArrays-init')
|
|
1317
1330
|
);
|
|
1318
1331
|
|
|
1319
|
-
const length =
|
|
1332
|
+
const length = toInteger(that.value);
|
|
1320
1333
|
try {
|
|
1321
1334
|
const TypedArray = getTypedArray(
|
|
1322
1335
|
/** @type {TypedArray} */ (value)
|
|
@@ -1411,14 +1424,14 @@ const buffersourceType = {
|
|
|
1411
1424
|
this.parentElement
|
|
1412
1425
|
);
|
|
1413
1426
|
const dataViewMethod =
|
|
1414
|
-
/** @type {dataViewMethods[number]} */ (
|
|
1427
|
+
/** @type {typeof dataViewMethods[number]} */ (
|
|
1415
1428
|
/** @type {HTMLSelectElement} */ (
|
|
1416
1429
|
ancestor.previousElementSibling
|
|
1417
1430
|
)?.value
|
|
1418
1431
|
);
|
|
1419
1432
|
|
|
1420
1433
|
const dataViewSetByteOffset =
|
|
1421
|
-
|
|
1434
|
+
toInteger(/** @type {HTMLInputElement} */ ($e(
|
|
1422
1435
|
ancestor,
|
|
1423
1436
|
'.dataViewSetByteOffset'
|
|
1424
1437
|
)).value);
|
|
@@ -1483,9 +1496,7 @@ const buffersourceType = {
|
|
|
1483
1496
|
}, [
|
|
1484
1497
|
['option', {value: ''}, ['(Select a data view method)']],
|
|
1485
1498
|
...dataViewMethods.map((dataViewMethod) => {
|
|
1486
|
-
return
|
|
1487
|
-
['option', [dataViewMethod]]
|
|
1488
|
-
);
|
|
1499
|
+
return ['option', [dataViewMethod]];
|
|
1489
1500
|
})
|
|
1490
1501
|
]],
|
|
1491
1502
|
' ',
|
|
@@ -1493,7 +1504,7 @@ const buffersourceType = {
|
|
|
1493
1504
|
]]
|
|
1494
1505
|
]);
|
|
1495
1506
|
|
|
1496
|
-
if (this.setValue
|
|
1507
|
+
if (value && this.setValue) {
|
|
1497
1508
|
this.setValue({root: div, value});
|
|
1498
1509
|
} else {
|
|
1499
1510
|
const byteLength =
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import {$e} from '../utils/templateUtils.js';
|
|
2
|
+
import {schemaLabel} from '../utils/schemaMeta.js';
|
|
2
3
|
import {toStringTag} from '../vendor-imports.js';
|
|
3
4
|
|
|
4
5
|
let idx = 0;
|
|
@@ -230,11 +231,11 @@ const dommatrixType = {
|
|
|
230
231
|
return ['div', {dataset: {type: 'dommatrix'}}, [
|
|
231
232
|
['b', {
|
|
232
233
|
class: 'emphasis',
|
|
233
|
-
title: specificSchemaObject
|
|
234
|
+
title: schemaLabel(specificSchemaObject)
|
|
234
235
|
? `(a \`${(isReadWrite ? 'DOMMatrix' : 'DOMMatrixReadOnly')}\`)`
|
|
235
236
|
: undefined
|
|
236
237
|
}, [
|
|
237
|
-
specificSchemaObject
|
|
238
|
+
schemaLabel(specificSchemaObject) ??
|
|
238
239
|
(isReadWrite ? 'DOMMatrix' : 'DOMMatrixReadOnly')
|
|
239
240
|
]],
|
|
240
241
|
value.is2D
|
|
@@ -318,8 +319,8 @@ const dommatrixType = {
|
|
|
318
319
|
|
|
319
320
|
return ['div', {
|
|
320
321
|
dataset: {type: 'dommatrix'},
|
|
321
|
-
title: specificSchemaObject
|
|
322
|
-
},
|
|
322
|
+
title: schemaLabel(specificSchemaObject) ?? 'DOMMatrix'
|
|
323
|
+
}, [
|
|
323
324
|
['div', [
|
|
324
325
|
['label', [
|
|
325
326
|
['input', {
|
|
@@ -422,7 +423,7 @@ const dommatrixType = {
|
|
|
422
423
|
]]
|
|
423
424
|
];
|
|
424
425
|
})).slice(1)]
|
|
425
|
-
]
|
|
426
|
+
]];
|
|
426
427
|
}
|
|
427
428
|
};
|
|
428
429
|
|