@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
|
@@ -5,16 +5,16 @@
|
|
|
5
5
|
})(this, (function (exports) { 'use strict';
|
|
6
6
|
|
|
7
7
|
// This file was generated. Do not modify manually!
|
|
8
|
-
var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9,
|
|
8
|
+
var astralIdentifierCodes = [509, 0, 227, 0, 150, 4, 294, 9, 1368, 2, 2, 1, 6, 3, 41, 2, 5, 0, 166, 1, 574, 3, 9, 9, 7, 9, 32, 4, 318, 1, 78, 5, 71, 10, 50, 3, 123, 2, 54, 14, 32, 10, 3, 1, 11, 3, 46, 10, 8, 0, 46, 9, 7, 2, 37, 13, 2, 9, 6, 1, 45, 0, 13, 2, 49, 13, 9, 3, 2, 11, 83, 11, 7, 0, 3, 0, 158, 11, 6, 9, 7, 3, 56, 1, 2, 6, 3, 1, 3, 2, 10, 0, 11, 1, 3, 6, 4, 4, 68, 8, 2, 0, 3, 0, 2, 3, 2, 4, 2, 0, 15, 1, 83, 17, 10, 9, 5, 0, 82, 19, 13, 9, 214, 6, 3, 8, 28, 1, 83, 16, 16, 9, 82, 12, 9, 9, 7, 19, 58, 14, 5, 9, 243, 14, 166, 9, 71, 5, 2, 1, 3, 3, 2, 0, 2, 1, 13, 9, 120, 6, 3, 6, 4, 0, 29, 9, 41, 6, 2, 3, 9, 0, 10, 10, 47, 15, 199, 7, 137, 9, 54, 7, 2, 7, 17, 9, 57, 21, 2, 13, 123, 5, 4, 0, 2, 1, 2, 6, 2, 0, 9, 9, 49, 4, 2, 1, 2, 4, 9, 9, 55, 9, 266, 3, 10, 1, 2, 0, 49, 6, 4, 4, 14, 10, 5350, 0, 7, 14, 11465, 27, 2343, 9, 87, 9, 39, 4, 60, 6, 26, 9, 535, 9, 470, 0, 2, 54, 8, 3, 82, 0, 12, 1, 19628, 1, 4178, 9, 519, 45, 3, 22, 543, 4, 4, 5, 9, 7, 3, 6, 31, 3, 149, 2, 1418, 49, 513, 54, 5, 49, 9, 0, 15, 0, 23, 4, 2, 14, 1361, 6, 2, 16, 3, 6, 2, 1, 2, 4, 101, 0, 161, 6, 10, 9, 357, 0, 62, 13, 499, 13, 245, 1, 2, 9, 233, 0, 3, 0, 8, 1, 6, 0, 475, 6, 110, 6, 6, 9, 4759, 9, 787719, 239];
|
|
9
9
|
|
|
10
10
|
// This file was generated. Do not modify manually!
|
|
11
|
-
var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1,
|
|
11
|
+
var astralIdentifierStartCodes = [0, 11, 2, 25, 2, 18, 2, 1, 2, 14, 3, 13, 35, 122, 70, 52, 268, 28, 4, 48, 48, 31, 14, 29, 6, 37, 11, 29, 3, 35, 5, 7, 2, 4, 43, 157, 19, 35, 5, 35, 5, 39, 9, 51, 13, 10, 2, 14, 2, 6, 2, 1, 2, 10, 2, 14, 2, 6, 2, 1, 4, 51, 13, 310, 10, 21, 11, 7, 25, 5, 2, 41, 2, 8, 70, 5, 3, 0, 2, 43, 2, 1, 4, 0, 3, 22, 11, 22, 10, 30, 66, 18, 2, 1, 11, 21, 11, 25, 7, 25, 39, 55, 7, 1, 65, 0, 16, 3, 2, 2, 2, 28, 43, 28, 4, 28, 36, 7, 2, 27, 28, 53, 11, 21, 11, 18, 14, 17, 111, 72, 56, 50, 14, 50, 14, 35, 39, 27, 10, 22, 251, 41, 7, 1, 17, 5, 57, 28, 11, 0, 9, 21, 43, 17, 47, 20, 28, 22, 13, 52, 58, 1, 3, 0, 14, 44, 33, 24, 27, 35, 30, 0, 3, 0, 9, 34, 4, 0, 13, 47, 15, 3, 22, 0, 2, 0, 36, 17, 2, 24, 20, 1, 64, 6, 2, 0, 2, 3, 2, 14, 2, 9, 8, 46, 39, 7, 3, 1, 3, 21, 2, 6, 2, 1, 2, 4, 4, 0, 19, 0, 13, 4, 31, 9, 2, 0, 3, 0, 2, 37, 2, 0, 26, 0, 2, 0, 45, 52, 19, 3, 21, 2, 31, 47, 21, 1, 2, 0, 185, 46, 42, 3, 37, 47, 21, 0, 60, 42, 14, 0, 72, 26, 38, 6, 186, 43, 117, 63, 32, 7, 3, 0, 3, 7, 2, 1, 2, 23, 16, 0, 2, 0, 95, 7, 3, 38, 17, 0, 2, 0, 29, 0, 11, 39, 8, 0, 22, 0, 12, 45, 20, 0, 19, 72, 200, 32, 32, 8, 2, 36, 18, 0, 50, 29, 113, 6, 2, 1, 2, 37, 22, 0, 26, 5, 2, 1, 2, 31, 15, 0, 24, 43, 261, 18, 16, 0, 2, 12, 2, 33, 125, 0, 80, 921, 103, 110, 18, 195, 2637, 96, 16, 1071, 18, 5, 26, 3994, 6, 582, 6842, 29, 1763, 568, 8, 30, 18, 78, 18, 29, 19, 47, 17, 3, 32, 20, 6, 18, 433, 44, 212, 63, 33, 24, 3, 24, 45, 74, 6, 0, 67, 12, 65, 1, 2, 0, 15, 4, 10, 7381, 42, 31, 98, 114, 8702, 3, 2, 6, 2, 1, 2, 290, 16, 0, 30, 2, 3, 0, 15, 3, 9, 395, 2309, 106, 6, 12, 4, 8, 8, 9, 5991, 84, 2, 70, 2, 1, 3, 0, 3, 1, 3, 3, 2, 11, 2, 0, 2, 6, 2, 64, 2, 3, 3, 7, 2, 6, 2, 27, 2, 3, 2, 4, 2, 0, 4, 6, 2, 339, 3, 24, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 30, 2, 24, 2, 7, 1845, 30, 7, 5, 262, 61, 147, 44, 11, 6, 17, 0, 322, 29, 19, 43, 485, 27, 229, 29, 3, 0, 208, 30, 2, 2, 2, 1, 2, 6, 3, 4, 10, 1, 225, 6, 2, 3, 2, 1, 2, 14, 2, 196, 60, 67, 8, 0, 1205, 3, 2, 26, 2, 1, 2, 0, 3, 0, 2, 9, 2, 3, 2, 0, 2, 0, 7, 0, 5, 0, 2, 0, 2, 0, 2, 2, 2, 1, 2, 0, 3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 1, 2, 0, 3, 3, 2, 6, 2, 3, 2, 3, 2, 0, 2, 9, 2, 16, 6, 2, 2, 4, 2, 16, 4421, 42719, 33, 4381, 3, 5773, 3, 7472, 16, 621, 2467, 541, 1507, 4938, 6, 8489];
|
|
12
12
|
|
|
13
13
|
// This file was generated. Do not modify manually!
|
|
14
|
-
var nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\
|
|
14
|
+
var nonASCIIidentifierChars = "\u200c\u200d\xb7\u0300-\u036f\u0387\u0483-\u0487\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u0669\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u06f0-\u06f9\u0711\u0730-\u074a\u07a6-\u07b0\u07c0-\u07c9\u07eb-\u07f3\u07fd\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0897-\u089f\u08ca-\u08e1\u08e3-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0966-\u096f\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u09e6-\u09ef\u09fe\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a66-\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0ae6-\u0aef\u0afa-\u0aff\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b55-\u0b57\u0b62\u0b63\u0b66-\u0b6f\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0be6-\u0bef\u0c00-\u0c04\u0c3c\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c66-\u0c6f\u0c81-\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0ce6-\u0cef\u0cf3\u0d00-\u0d03\u0d3b\u0d3c\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d66-\u0d6f\u0d81-\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0e50-\u0e59\u0eb1\u0eb4-\u0ebc\u0ec8-\u0ece\u0ed0-\u0ed9\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1040-\u1049\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f-\u109d\u135d-\u135f\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17b4-\u17d3\u17dd\u17e0-\u17e9\u180b-\u180d\u180f-\u1819\u18a9\u1920-\u192b\u1930-\u193b\u1946-\u194f\u19d0-\u19da\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1ab0-\u1abd\u1abf-\u1add\u1ae0-\u1aeb\u1b00-\u1b04\u1b34-\u1b44\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1bad\u1bb0-\u1bb9\u1be6-\u1bf3\u1c24-\u1c37\u1c40-\u1c49\u1c50-\u1c59\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf4\u1cf7-\u1cf9\u1dc0-\u1dff\u200c\u200d\u203f\u2040\u2054\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\u30fb\ua620-\ua629\ua66f\ua674-\ua67d\ua69e\ua69f\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua82c\ua880\ua881\ua8b4-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f1\ua8ff-\ua909\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\ua9d0-\ua9d9\ua9e5\ua9f0-\ua9f9\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa50-\uaa59\uaa7b-\uaa7d\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uaaeb-\uaaef\uaaf5\uaaf6\uabe3-\uabea\uabec\uabed\uabf0-\uabf9\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\ufe33\ufe34\ufe4d-\ufe4f\uff10-\uff19\uff3f\uff65";
|
|
15
15
|
|
|
16
16
|
// This file was generated. Do not modify manually!
|
|
17
|
-
var nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\
|
|
17
|
+
var nonASCIIidentifierStartChars = "\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u0870-\u0887\u0889-\u088f\u08a0-\u08c9\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u09fc\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0af9\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c5c\u0c5d\u0c60\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cdc-\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d04-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u1711\u171f-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4c\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c8a\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31bf\u31f0-\u31ff\u3400-\u4dbf\u4e00-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7dc\ua7f1-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab69\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc";
|
|
18
18
|
|
|
19
19
|
// These are a run-length and offset encoded representation of the
|
|
20
20
|
// >0xffff code points that are a valid part of identifiers. The
|
|
@@ -339,9 +339,12 @@
|
|
|
339
339
|
// for new syntax features.
|
|
340
340
|
ecmaVersion: null,
|
|
341
341
|
// `sourceType` indicates the mode the code should be parsed in.
|
|
342
|
-
// Can be either `"script"` or `"
|
|
342
|
+
// Can be either `"script"`, `"module"` or `"commonjs"`. This influences global
|
|
343
343
|
// strict mode and parsing of `import` and `export` declarations.
|
|
344
344
|
sourceType: "script",
|
|
345
|
+
// When set to true, enable strict parsing mode even if `sourceType`
|
|
346
|
+
// is `"script"`.
|
|
347
|
+
strict: false,
|
|
345
348
|
// `onInsertedSemicolon` can be a callback that will be called when
|
|
346
349
|
// a semicolon is automatically inserted. It will be passed the
|
|
347
350
|
// position of the inserted semicolon as an offset, and if
|
|
@@ -383,6 +386,11 @@
|
|
|
383
386
|
// line being 1-based and column 0-based) will be attached to the
|
|
384
387
|
// nodes.
|
|
385
388
|
locations: false,
|
|
389
|
+
// Pass an optional `{line, column}` object to use for the start of
|
|
390
|
+
// the parse. This is mostly useful when using `parseExpressionAt`
|
|
391
|
+
// with `locations: true`, to prevent the parser from having to
|
|
392
|
+
// determine the line position at the start position.
|
|
393
|
+
startLocation: null,
|
|
386
394
|
// A function can be passed as `onToken` option, which will
|
|
387
395
|
// cause Acorn to call that function with object in the same
|
|
388
396
|
// format as tokens returned from `tokenizer().getToken()`. Note
|
|
@@ -463,6 +471,9 @@
|
|
|
463
471
|
if (isArray(options.onComment))
|
|
464
472
|
{ options.onComment = pushComment(options, options.onComment); }
|
|
465
473
|
|
|
474
|
+
if (options.sourceType === "commonjs" && options.allowAwaitOutsideFunction)
|
|
475
|
+
{ throw new Error("Cannot use allowAwaitOutsideFunction with sourceType: commonjs") }
|
|
476
|
+
|
|
466
477
|
return options
|
|
467
478
|
}
|
|
468
479
|
|
|
@@ -493,6 +504,8 @@
|
|
|
493
504
|
SCOPE_SUPER = 64,
|
|
494
505
|
SCOPE_DIRECT_SUPER = 128,
|
|
495
506
|
SCOPE_CLASS_STATIC_BLOCK = 256,
|
|
507
|
+
SCOPE_CLASS_FIELD_INIT = 512,
|
|
508
|
+
SCOPE_SWITCH = 1024,
|
|
496
509
|
SCOPE_VAR = SCOPE_TOP | SCOPE_FUNCTION | SCOPE_CLASS_STATIC_BLOCK;
|
|
497
510
|
|
|
498
511
|
function functionFlags(async, generator) {
|
|
@@ -531,13 +544,17 @@
|
|
|
531
544
|
// Set up token state
|
|
532
545
|
|
|
533
546
|
// The current position of the tokenizer in the input.
|
|
534
|
-
|
|
535
|
-
|
|
547
|
+
this.pos = startPos || 0;
|
|
548
|
+
this.curLine = 1;
|
|
549
|
+
if (options.startLocation) {
|
|
550
|
+
this.lineStart = this.pos - options.startLocation.column;
|
|
551
|
+
this.curLine = options.startLocation.line;
|
|
552
|
+
} else if (startPos) {
|
|
536
553
|
this.lineStart = this.input.lastIndexOf("\n", startPos - 1) + 1;
|
|
537
|
-
|
|
554
|
+
if (this.options.locations)
|
|
555
|
+
{ this.curLine = this.input.slice(0, this.lineStart).split(lineBreak).length; }
|
|
538
556
|
} else {
|
|
539
|
-
this.
|
|
540
|
-
this.curLine = 1;
|
|
557
|
+
this.lineStart = 0;
|
|
541
558
|
}
|
|
542
559
|
|
|
543
560
|
// Properties of the current token:
|
|
@@ -563,7 +580,7 @@
|
|
|
563
580
|
|
|
564
581
|
// Figure out if it's a module code.
|
|
565
582
|
this.inModule = options.sourceType === "module";
|
|
566
|
-
this.strict = this.inModule || this.strictDirective(this.pos);
|
|
583
|
+
this.strict = this.inModule || options.strict === true || this.strictDirective(this.pos);
|
|
567
584
|
|
|
568
585
|
// Used to signify the start of a potential arrow function
|
|
569
586
|
this.potentialArrowAt = -1;
|
|
@@ -582,7 +599,12 @@
|
|
|
582
599
|
|
|
583
600
|
// Scope tracking for duplicate variable names (see scope.js)
|
|
584
601
|
this.scopeStack = [];
|
|
585
|
-
this.enterScope(
|
|
602
|
+
this.enterScope(
|
|
603
|
+
this.options.sourceType === "commonjs"
|
|
604
|
+
// In commonjs, the top-level scope behaves like a function scope
|
|
605
|
+
? SCOPE_FUNCTION
|
|
606
|
+
: SCOPE_TOP
|
|
607
|
+
);
|
|
586
608
|
|
|
587
609
|
// For RegExp validation
|
|
588
610
|
this.regexpState = null;
|
|
@@ -593,34 +615,42 @@
|
|
|
593
615
|
this.privateNameStack = [];
|
|
594
616
|
};
|
|
595
617
|
|
|
596
|
-
var prototypeAccessors = { inFunction: { configurable: true },inGenerator: { configurable: true },inAsync: { configurable: true },canAwait: { configurable: true },allowSuper: { configurable: true },allowDirectSuper: { configurable: true },treatFunctionsAsVar: { configurable: true },allowNewDotTarget: { configurable: true },inClassStaticBlock: { configurable: true } };
|
|
618
|
+
var prototypeAccessors = { inFunction: { configurable: true },inGenerator: { configurable: true },inAsync: { configurable: true },canAwait: { configurable: true },allowReturn: { configurable: true },allowSuper: { configurable: true },allowDirectSuper: { configurable: true },treatFunctionsAsVar: { configurable: true },allowNewDotTarget: { configurable: true },allowUsing: { configurable: true },inClassStaticBlock: { configurable: true } };
|
|
597
619
|
|
|
598
620
|
Parser.prototype.parse = function parse () {
|
|
621
|
+
var this$1$1 = this;
|
|
622
|
+
|
|
599
623
|
var node = this.options.program || this.startNode();
|
|
600
624
|
this.nextToken();
|
|
601
|
-
return this.parseTopLevel(node)
|
|
625
|
+
return this.catchStackOverflow(function () { return this$1$1.parseTopLevel(node); })
|
|
602
626
|
};
|
|
603
627
|
|
|
604
628
|
prototypeAccessors.inFunction.get = function () { return (this.currentVarScope().flags & SCOPE_FUNCTION) > 0 };
|
|
605
629
|
|
|
606
|
-
prototypeAccessors.inGenerator.get = function () { return (this.currentVarScope().flags & SCOPE_GENERATOR) > 0
|
|
630
|
+
prototypeAccessors.inGenerator.get = function () { return (this.currentVarScope().flags & SCOPE_GENERATOR) > 0 };
|
|
607
631
|
|
|
608
|
-
prototypeAccessors.inAsync.get = function () { return (this.currentVarScope().flags & SCOPE_ASYNC) > 0
|
|
632
|
+
prototypeAccessors.inAsync.get = function () { return (this.currentVarScope().flags & SCOPE_ASYNC) > 0 };
|
|
609
633
|
|
|
610
634
|
prototypeAccessors.canAwait.get = function () {
|
|
611
635
|
for (var i = this.scopeStack.length - 1; i >= 0; i--) {
|
|
612
|
-
var
|
|
613
|
-
|
|
614
|
-
if (
|
|
636
|
+
var ref = this.scopeStack[i];
|
|
637
|
+
var flags = ref.flags;
|
|
638
|
+
if (flags & (SCOPE_CLASS_STATIC_BLOCK | SCOPE_CLASS_FIELD_INIT)) { return false }
|
|
639
|
+
if (flags & SCOPE_FUNCTION) { return (flags & SCOPE_ASYNC) > 0 }
|
|
615
640
|
}
|
|
616
641
|
return (this.inModule && this.options.ecmaVersion >= 13) || this.options.allowAwaitOutsideFunction
|
|
617
642
|
};
|
|
618
643
|
|
|
644
|
+
prototypeAccessors.allowReturn.get = function () {
|
|
645
|
+
if (this.inFunction) { return true }
|
|
646
|
+
if (this.options.allowReturnOutsideFunction && this.currentVarScope().flags & SCOPE_TOP) { return true }
|
|
647
|
+
return false
|
|
648
|
+
};
|
|
649
|
+
|
|
619
650
|
prototypeAccessors.allowSuper.get = function () {
|
|
620
651
|
var ref = this.currentThisScope();
|
|
621
652
|
var flags = ref.flags;
|
|
622
|
-
|
|
623
|
-
return (flags & SCOPE_SUPER) > 0 || inClassFieldInit || this.options.allowSuperOutsideMethod
|
|
653
|
+
return (flags & SCOPE_SUPER) > 0 || this.options.allowSuperOutsideMethod
|
|
624
654
|
};
|
|
625
655
|
|
|
626
656
|
prototypeAccessors.allowDirectSuper.get = function () { return (this.currentThisScope().flags & SCOPE_DIRECT_SUPER) > 0 };
|
|
@@ -628,10 +658,21 @@
|
|
|
628
658
|
prototypeAccessors.treatFunctionsAsVar.get = function () { return this.treatFunctionsAsVarInScope(this.currentScope()) };
|
|
629
659
|
|
|
630
660
|
prototypeAccessors.allowNewDotTarget.get = function () {
|
|
631
|
-
var
|
|
661
|
+
for (var i = this.scopeStack.length - 1; i >= 0; i--) {
|
|
662
|
+
var ref = this.scopeStack[i];
|
|
663
|
+
var flags = ref.flags;
|
|
664
|
+
if (flags & (SCOPE_CLASS_STATIC_BLOCK | SCOPE_CLASS_FIELD_INIT) ||
|
|
665
|
+
((flags & SCOPE_FUNCTION) && !(flags & SCOPE_ARROW))) { return true }
|
|
666
|
+
}
|
|
667
|
+
return false
|
|
668
|
+
};
|
|
669
|
+
|
|
670
|
+
prototypeAccessors.allowUsing.get = function () {
|
|
671
|
+
var ref = this.currentScope();
|
|
632
672
|
var flags = ref.flags;
|
|
633
|
-
|
|
634
|
-
|
|
673
|
+
if (flags & SCOPE_SWITCH) { return false }
|
|
674
|
+
if (!this.inModule && flags & SCOPE_TOP) { return false }
|
|
675
|
+
return true
|
|
635
676
|
};
|
|
636
677
|
|
|
637
678
|
prototypeAccessors.inClassStaticBlock.get = function () {
|
|
@@ -720,6 +761,17 @@
|
|
|
720
761
|
return true
|
|
721
762
|
};
|
|
722
763
|
|
|
764
|
+
pp$9.catchStackOverflow = function(f) {
|
|
765
|
+
try {
|
|
766
|
+
return f()
|
|
767
|
+
} catch (e) {
|
|
768
|
+
if (e instanceof Error && (/\bstack\b.*\b(exceeded|overflow)\b/i.test(e.message) || /\btoo much recursion\b/i.test(e.message)))
|
|
769
|
+
{ this.raise(this.start, "Not enough stack space to parse input"); }
|
|
770
|
+
else
|
|
771
|
+
{ throw e }
|
|
772
|
+
}
|
|
773
|
+
};
|
|
774
|
+
|
|
723
775
|
// Asserts that following token is given contextual keyword.
|
|
724
776
|
|
|
725
777
|
pp$9.expectContextual = function(name) {
|
|
@@ -823,10 +875,10 @@
|
|
|
823
875
|
// to its body instead of creating a new node.
|
|
824
876
|
|
|
825
877
|
pp$8.parseTopLevel = function(node) {
|
|
826
|
-
var exports = Object.create(null);
|
|
878
|
+
var exports$1 = Object.create(null);
|
|
827
879
|
if (!node.body) { node.body = []; }
|
|
828
880
|
while (this.type !== types$1.eof) {
|
|
829
|
-
var stmt = this.parseStatement(null, true, exports);
|
|
881
|
+
var stmt = this.parseStatement(null, true, exports$1);
|
|
830
882
|
node.body.push(stmt);
|
|
831
883
|
}
|
|
832
884
|
if (this.inModule)
|
|
@@ -838,7 +890,7 @@
|
|
|
838
890
|
} }
|
|
839
891
|
this.adaptDirectivePrologue(node.body);
|
|
840
892
|
this.next();
|
|
841
|
-
node.sourceType = this.options.sourceType;
|
|
893
|
+
node.sourceType = this.options.sourceType === "commonjs" ? "script" : this.options.sourceType;
|
|
842
894
|
return this.finishNode(node, "Program")
|
|
843
895
|
};
|
|
844
896
|
|
|
@@ -848,7 +900,7 @@
|
|
|
848
900
|
if (this.options.ecmaVersion < 6 || !this.isContextual("let")) { return false }
|
|
849
901
|
skipWhiteSpace.lastIndex = this.pos;
|
|
850
902
|
var skip = skipWhiteSpace.exec(this.input);
|
|
851
|
-
var next = this.pos + skip[0].length, nextCh = this.
|
|
903
|
+
var next = this.pos + skip[0].length, nextCh = this.fullCharCodeAt(next);
|
|
852
904
|
// For ambiguous cases, determine if a LexicalDeclaration (or only a
|
|
853
905
|
// Statement) is allowed here. If context is not empty then only a Statement
|
|
854
906
|
// is allowed. However, `let [` is an explicit negative lookahead for
|
|
@@ -856,12 +908,13 @@
|
|
|
856
908
|
if (nextCh === 91 || nextCh === 92) { return true } // '[', '\'
|
|
857
909
|
if (context) { return false }
|
|
858
910
|
|
|
859
|
-
if (nextCh === 123
|
|
860
|
-
if (isIdentifierStart(nextCh
|
|
861
|
-
var
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
911
|
+
if (nextCh === 123) { return true } // '{'
|
|
912
|
+
if (isIdentifierStart(nextCh)) {
|
|
913
|
+
var start = next;
|
|
914
|
+
do { next += nextCh <= 0xffff ? 1 : 2; }
|
|
915
|
+
while (isIdentifierChar(nextCh = this.fullCharCodeAt(next)))
|
|
916
|
+
if (nextCh === 92) { return true }
|
|
917
|
+
var ident = this.input.slice(start, next);
|
|
865
918
|
if (!keywordRelationalOperator.test(ident)) { return true }
|
|
866
919
|
}
|
|
867
920
|
return false
|
|
@@ -880,7 +933,61 @@
|
|
|
880
933
|
return !lineBreak.test(this.input.slice(this.pos, next)) &&
|
|
881
934
|
this.input.slice(next, next + 8) === "function" &&
|
|
882
935
|
(next + 8 === this.input.length ||
|
|
883
|
-
!(isIdentifierChar(after = this.
|
|
936
|
+
!(isIdentifierChar(after = this.fullCharCodeAt(next + 8)) || after === 92 /* '\' */))
|
|
937
|
+
};
|
|
938
|
+
|
|
939
|
+
pp$8.isUsingKeyword = function(isAwaitUsing, isFor) {
|
|
940
|
+
if (this.options.ecmaVersion < 17 || !this.isContextual(isAwaitUsing ? "await" : "using"))
|
|
941
|
+
{ return false }
|
|
942
|
+
|
|
943
|
+
skipWhiteSpace.lastIndex = this.pos;
|
|
944
|
+
var skip = skipWhiteSpace.exec(this.input);
|
|
945
|
+
var next = this.pos + skip[0].length;
|
|
946
|
+
|
|
947
|
+
if (lineBreak.test(this.input.slice(this.pos, next))) { return false }
|
|
948
|
+
|
|
949
|
+
if (isAwaitUsing) {
|
|
950
|
+
var usingEndPos = next + 5 /* using */, after;
|
|
951
|
+
if (this.input.slice(next, usingEndPos) !== "using" ||
|
|
952
|
+
usingEndPos === this.input.length ||
|
|
953
|
+
isIdentifierChar(after = this.fullCharCodeAt(usingEndPos)) ||
|
|
954
|
+
after === 92 /* '\' */
|
|
955
|
+
) { return false }
|
|
956
|
+
|
|
957
|
+
skipWhiteSpace.lastIndex = usingEndPos;
|
|
958
|
+
var skipAfterUsing = skipWhiteSpace.exec(this.input);
|
|
959
|
+
next = usingEndPos + skipAfterUsing[0].length;
|
|
960
|
+
if (skipAfterUsing && lineBreak.test(this.input.slice(usingEndPos, next))) { return false }
|
|
961
|
+
}
|
|
962
|
+
|
|
963
|
+
var ch = this.fullCharCodeAt(next);
|
|
964
|
+
if (!isIdentifierStart(ch) && ch !== 92 /* '\' */) { return false }
|
|
965
|
+
var idStart = next;
|
|
966
|
+
do { next += ch <= 0xffff ? 1 : 2; }
|
|
967
|
+
while (isIdentifierChar(ch = this.fullCharCodeAt(next)))
|
|
968
|
+
if (ch === 92) { return true }
|
|
969
|
+
var id = this.input.slice(idStart, next);
|
|
970
|
+
if (keywordRelationalOperator.test(id)) { return false }
|
|
971
|
+
if (isFor && !isAwaitUsing && id === "of") {
|
|
972
|
+
// Look ahead for using declaration with initializer, i.e., `for (using of = ...)`
|
|
973
|
+
skipWhiteSpace.lastIndex = next;
|
|
974
|
+
var skipAfterOf = skipWhiteSpace.exec(this.input);
|
|
975
|
+
next = next + skipAfterOf[0].length;
|
|
976
|
+
if (this.input.charCodeAt(next) !== 61 /* '=' */ ||
|
|
977
|
+
// Check for ==, === and => operators
|
|
978
|
+
(ch = this.input.charCodeAt(next + 1)) === 61 /* '=' */ || ch === 62 /* '>' */) {
|
|
979
|
+
return false
|
|
980
|
+
}
|
|
981
|
+
}
|
|
982
|
+
return true
|
|
983
|
+
};
|
|
984
|
+
|
|
985
|
+
pp$8.isAwaitUsing = function(isFor) {
|
|
986
|
+
return this.isUsingKeyword(true, isFor)
|
|
987
|
+
};
|
|
988
|
+
|
|
989
|
+
pp$8.isUsing = function(isFor) {
|
|
990
|
+
return this.isUsingKeyword(false, isFor)
|
|
884
991
|
};
|
|
885
992
|
|
|
886
993
|
// Parse a single statement.
|
|
@@ -890,7 +997,7 @@
|
|
|
890
997
|
// `if (foo) /blah/.exec(foo)`, where looking at the previous token
|
|
891
998
|
// does not help.
|
|
892
999
|
|
|
893
|
-
pp$8.parseStatement = function(context, topLevel, exports) {
|
|
1000
|
+
pp$8.parseStatement = function(context, topLevel, exports$1) {
|
|
894
1001
|
var starttype = this.type, node = this.startNode(), kind;
|
|
895
1002
|
|
|
896
1003
|
if (this.isLet(context)) {
|
|
@@ -945,7 +1052,7 @@
|
|
|
945
1052
|
if (!this.inModule)
|
|
946
1053
|
{ this.raise(this.start, "'import' and 'export' may appear only with 'sourceType: module'"); }
|
|
947
1054
|
}
|
|
948
|
-
return starttype === types$1._import ? this.parseImport(node) : this.parseExport(node, exports)
|
|
1055
|
+
return starttype === types$1._import ? this.parseImport(node) : this.parseExport(node, exports$1)
|
|
949
1056
|
|
|
950
1057
|
// If the statement does not start with a statement keyword or a
|
|
951
1058
|
// brace, it's an ExpressionStatement or LabeledStatement. We
|
|
@@ -959,6 +1066,27 @@
|
|
|
959
1066
|
return this.parseFunctionStatement(node, true, !context)
|
|
960
1067
|
}
|
|
961
1068
|
|
|
1069
|
+
var usingKind = this.isAwaitUsing(false) ? "await using" : this.isUsing(false) ? "using" : null;
|
|
1070
|
+
if (usingKind) {
|
|
1071
|
+
if (!this.allowUsing) {
|
|
1072
|
+
this.raise(this.start, "Using declaration cannot appear in the top level when source type is `script` or in the bare case statement");
|
|
1073
|
+
}
|
|
1074
|
+
if (context) {
|
|
1075
|
+
// Cases like `for (;;) using x = ...;`, `if (true) await using x = ...;`, etc. are not allowed.
|
|
1076
|
+
this.raise(this.start, "Using declaration is not allowed in single-statement positions");
|
|
1077
|
+
}
|
|
1078
|
+
if (usingKind === "await using") {
|
|
1079
|
+
if (!this.canAwait) {
|
|
1080
|
+
this.raise(this.start, "Await using cannot appear outside of async function");
|
|
1081
|
+
}
|
|
1082
|
+
this.next();
|
|
1083
|
+
}
|
|
1084
|
+
this.next();
|
|
1085
|
+
this.parseVar(node, false, usingKind);
|
|
1086
|
+
this.semicolon();
|
|
1087
|
+
return this.finishNode(node, "VariableDeclaration")
|
|
1088
|
+
}
|
|
1089
|
+
|
|
962
1090
|
var maybeName = this.value, expr = this.parseExpression();
|
|
963
1091
|
if (starttype === types$1.name && expr.type === "Identifier" && this.eat(types$1.colon))
|
|
964
1092
|
{ return this.parseLabeledStatement(node, maybeName, expr, context) }
|
|
@@ -1034,18 +1162,24 @@
|
|
|
1034
1162
|
this.next();
|
|
1035
1163
|
this.parseVar(init$1, true, kind);
|
|
1036
1164
|
this.finishNode(init$1, "VariableDeclaration");
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1165
|
+
return this.parseForAfterInit(node, init$1, awaitAt)
|
|
1166
|
+
}
|
|
1167
|
+
var startsWithLet = this.isContextual("let"), isForOf = false;
|
|
1168
|
+
|
|
1169
|
+
var usingKind = this.isUsing(true) ? "using" : this.isAwaitUsing(true) ? "await using" : null;
|
|
1170
|
+
if (usingKind) {
|
|
1171
|
+
var init$2 = this.startNode();
|
|
1172
|
+
this.next();
|
|
1173
|
+
if (usingKind === "await using") {
|
|
1174
|
+
if (!this.canAwait) {
|
|
1175
|
+
this.raise(this.start, "Await using cannot appear outside of async function");
|
|
1042
1176
|
}
|
|
1043
|
-
|
|
1177
|
+
this.next();
|
|
1044
1178
|
}
|
|
1045
|
-
|
|
1046
|
-
|
|
1179
|
+
this.parseVar(init$2, true, usingKind);
|
|
1180
|
+
this.finishNode(init$2, "VariableDeclaration");
|
|
1181
|
+
return this.parseForAfterInit(node, init$2, awaitAt)
|
|
1047
1182
|
}
|
|
1048
|
-
var startsWithLet = this.isContextual("let"), isForOf = false;
|
|
1049
1183
|
var containsEsc = this.containsEsc;
|
|
1050
1184
|
var refDestructuringErrors = new DestructuringErrors;
|
|
1051
1185
|
var initPos = this.start;
|
|
@@ -1071,6 +1205,21 @@
|
|
|
1071
1205
|
return this.parseFor(node, init)
|
|
1072
1206
|
};
|
|
1073
1207
|
|
|
1208
|
+
// Helper method to parse for loop after variable initialization
|
|
1209
|
+
pp$8.parseForAfterInit = function(node, init, awaitAt) {
|
|
1210
|
+
if ((this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) && init.declarations.length === 1) {
|
|
1211
|
+
if (this.type === types$1._in) {
|
|
1212
|
+
if ((init.kind === "using" || init.kind === "await using") && !init.declarations[0].init) {
|
|
1213
|
+
this.raise(this.start, "Using declaration is not allowed in for-in loops");
|
|
1214
|
+
}
|
|
1215
|
+
if (this.options.ecmaVersion >= 9 && awaitAt > -1) { this.unexpected(awaitAt); }
|
|
1216
|
+
} else if (this.options.ecmaVersion >= 9) { node.await = awaitAt > -1; }
|
|
1217
|
+
return this.parseForIn(node, init)
|
|
1218
|
+
}
|
|
1219
|
+
if (awaitAt > -1) { this.unexpected(awaitAt); }
|
|
1220
|
+
return this.parseFor(node, init)
|
|
1221
|
+
};
|
|
1222
|
+
|
|
1074
1223
|
pp$8.parseFunctionStatement = function(node, isAsync, declarationPosition) {
|
|
1075
1224
|
this.next();
|
|
1076
1225
|
return this.parseFunction(node, FUNC_STATEMENT | (declarationPosition ? 0 : FUNC_HANGING_STATEMENT), false, isAsync)
|
|
@@ -1086,7 +1235,7 @@
|
|
|
1086
1235
|
};
|
|
1087
1236
|
|
|
1088
1237
|
pp$8.parseReturnStatement = function(node) {
|
|
1089
|
-
if (!this.
|
|
1238
|
+
if (!this.allowReturn)
|
|
1090
1239
|
{ this.raise(this.start, "'return' outside of function"); }
|
|
1091
1240
|
this.next();
|
|
1092
1241
|
|
|
@@ -1105,7 +1254,7 @@
|
|
|
1105
1254
|
node.cases = [];
|
|
1106
1255
|
this.expect(types$1.braceL);
|
|
1107
1256
|
this.labels.push(switchLabel);
|
|
1108
|
-
this.enterScope(
|
|
1257
|
+
this.enterScope(SCOPE_SWITCH);
|
|
1109
1258
|
|
|
1110
1259
|
// Statements under must be grouped (by label) in SwitchCase
|
|
1111
1260
|
// nodes. `cur` is used to keep the node that we are currently
|
|
@@ -1327,6 +1476,8 @@
|
|
|
1327
1476
|
decl.init = this.parseMaybeAssign(isFor);
|
|
1328
1477
|
} else if (!allowMissingInitializer && kind === "const" && !(this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of")))) {
|
|
1329
1478
|
this.unexpected();
|
|
1479
|
+
} else if (!allowMissingInitializer && (kind === "using" || kind === "await using") && this.options.ecmaVersion >= 17 && this.type !== types$1._in && !this.isContextual("of")) {
|
|
1480
|
+
this.raise(this.lastTokEnd, ("Missing initializer in " + kind + " declaration"));
|
|
1330
1481
|
} else if (!allowMissingInitializer && decl.id.type !== "Identifier" && !(isFor && (this.type === types$1._in || this.isContextual("of")))) {
|
|
1331
1482
|
this.raise(this.lastTokEnd, "Complex binding patterns require an initialization value");
|
|
1332
1483
|
} else {
|
|
@@ -1339,7 +1490,10 @@
|
|
|
1339
1490
|
};
|
|
1340
1491
|
|
|
1341
1492
|
pp$8.parseVarId = function(decl, kind) {
|
|
1342
|
-
decl.id =
|
|
1493
|
+
decl.id = kind === "using" || kind === "await using"
|
|
1494
|
+
? this.parseIdent()
|
|
1495
|
+
: this.parseBindingAtom();
|
|
1496
|
+
|
|
1343
1497
|
this.checkLValPattern(decl.id, kind === "var" ? BIND_VAR : BIND_LEXICAL, false);
|
|
1344
1498
|
};
|
|
1345
1499
|
|
|
@@ -1558,11 +1712,9 @@
|
|
|
1558
1712
|
|
|
1559
1713
|
if (this.eat(types$1.eq)) {
|
|
1560
1714
|
// To raise SyntaxError if 'arguments' exists in the initializer.
|
|
1561
|
-
|
|
1562
|
-
var inClassFieldInit = scope.inClassFieldInit;
|
|
1563
|
-
scope.inClassFieldInit = true;
|
|
1715
|
+
this.enterScope(SCOPE_CLASS_FIELD_INIT | SCOPE_SUPER);
|
|
1564
1716
|
field.value = this.parseMaybeAssign();
|
|
1565
|
-
|
|
1717
|
+
this.exitScope();
|
|
1566
1718
|
} else {
|
|
1567
1719
|
field.value = null;
|
|
1568
1720
|
}
|
|
@@ -1666,11 +1818,11 @@
|
|
|
1666
1818
|
|
|
1667
1819
|
// Parses module export declaration.
|
|
1668
1820
|
|
|
1669
|
-
pp$8.parseExportAllDeclaration = function(node, exports) {
|
|
1821
|
+
pp$8.parseExportAllDeclaration = function(node, exports$1) {
|
|
1670
1822
|
if (this.options.ecmaVersion >= 11) {
|
|
1671
1823
|
if (this.eatContextual("as")) {
|
|
1672
1824
|
node.exported = this.parseModuleExportName();
|
|
1673
|
-
this.checkExport(exports, node.exported, this.lastTokStart);
|
|
1825
|
+
this.checkExport(exports$1, node.exported, this.lastTokStart);
|
|
1674
1826
|
} else {
|
|
1675
1827
|
node.exported = null;
|
|
1676
1828
|
}
|
|
@@ -1678,18 +1830,20 @@
|
|
|
1678
1830
|
this.expectContextual("from");
|
|
1679
1831
|
if (this.type !== types$1.string) { this.unexpected(); }
|
|
1680
1832
|
node.source = this.parseExprAtom();
|
|
1833
|
+
if (this.options.ecmaVersion >= 16)
|
|
1834
|
+
{ node.attributes = this.parseWithClause(); }
|
|
1681
1835
|
this.semicolon();
|
|
1682
1836
|
return this.finishNode(node, "ExportAllDeclaration")
|
|
1683
1837
|
};
|
|
1684
1838
|
|
|
1685
|
-
pp$8.parseExport = function(node, exports) {
|
|
1839
|
+
pp$8.parseExport = function(node, exports$1) {
|
|
1686
1840
|
this.next();
|
|
1687
1841
|
// export * from '...'
|
|
1688
1842
|
if (this.eat(types$1.star)) {
|
|
1689
|
-
return this.parseExportAllDeclaration(node, exports)
|
|
1843
|
+
return this.parseExportAllDeclaration(node, exports$1)
|
|
1690
1844
|
}
|
|
1691
1845
|
if (this.eat(types$1._default)) { // export default ...
|
|
1692
|
-
this.checkExport(exports, "default", this.lastTokStart);
|
|
1846
|
+
this.checkExport(exports$1, "default", this.lastTokStart);
|
|
1693
1847
|
node.declaration = this.parseExportDefaultDeclaration();
|
|
1694
1848
|
return this.finishNode(node, "ExportDefaultDeclaration")
|
|
1695
1849
|
}
|
|
@@ -1697,17 +1851,21 @@
|
|
|
1697
1851
|
if (this.shouldParseExportStatement()) {
|
|
1698
1852
|
node.declaration = this.parseExportDeclaration(node);
|
|
1699
1853
|
if (node.declaration.type === "VariableDeclaration")
|
|
1700
|
-
{ this.checkVariableExport(exports, node.declaration.declarations); }
|
|
1854
|
+
{ this.checkVariableExport(exports$1, node.declaration.declarations); }
|
|
1701
1855
|
else
|
|
1702
|
-
{ this.checkExport(exports, node.declaration.id, node.declaration.id.start); }
|
|
1856
|
+
{ this.checkExport(exports$1, node.declaration.id, node.declaration.id.start); }
|
|
1703
1857
|
node.specifiers = [];
|
|
1704
1858
|
node.source = null;
|
|
1859
|
+
if (this.options.ecmaVersion >= 16)
|
|
1860
|
+
{ node.attributes = []; }
|
|
1705
1861
|
} else { // export { x, y as z } [from '...']
|
|
1706
1862
|
node.declaration = null;
|
|
1707
|
-
node.specifiers = this.parseExportSpecifiers(exports);
|
|
1863
|
+
node.specifiers = this.parseExportSpecifiers(exports$1);
|
|
1708
1864
|
if (this.eatContextual("from")) {
|
|
1709
1865
|
if (this.type !== types$1.string) { this.unexpected(); }
|
|
1710
1866
|
node.source = this.parseExprAtom();
|
|
1867
|
+
if (this.options.ecmaVersion >= 16)
|
|
1868
|
+
{ node.attributes = this.parseWithClause(); }
|
|
1711
1869
|
} else {
|
|
1712
1870
|
for (var i = 0, list = node.specifiers; i < list.length; i += 1) {
|
|
1713
1871
|
// check for keywords used as local names
|
|
@@ -1723,6 +1881,8 @@
|
|
|
1723
1881
|
}
|
|
1724
1882
|
|
|
1725
1883
|
node.source = null;
|
|
1884
|
+
if (this.options.ecmaVersion >= 16)
|
|
1885
|
+
{ node.attributes = []; }
|
|
1726
1886
|
}
|
|
1727
1887
|
this.semicolon();
|
|
1728
1888
|
}
|
|
@@ -1750,47 +1910,47 @@
|
|
|
1750
1910
|
}
|
|
1751
1911
|
};
|
|
1752
1912
|
|
|
1753
|
-
pp$8.checkExport = function(exports, name, pos) {
|
|
1754
|
-
if (!exports) { return }
|
|
1913
|
+
pp$8.checkExport = function(exports$1, name, pos) {
|
|
1914
|
+
if (!exports$1) { return }
|
|
1755
1915
|
if (typeof name !== "string")
|
|
1756
1916
|
{ name = name.type === "Identifier" ? name.name : name.value; }
|
|
1757
|
-
if (hasOwn(exports, name))
|
|
1917
|
+
if (hasOwn(exports$1, name))
|
|
1758
1918
|
{ this.raiseRecoverable(pos, "Duplicate export '" + name + "'"); }
|
|
1759
|
-
exports[name] = true;
|
|
1919
|
+
exports$1[name] = true;
|
|
1760
1920
|
};
|
|
1761
1921
|
|
|
1762
|
-
pp$8.checkPatternExport = function(exports, pat) {
|
|
1922
|
+
pp$8.checkPatternExport = function(exports$1, pat) {
|
|
1763
1923
|
var type = pat.type;
|
|
1764
1924
|
if (type === "Identifier")
|
|
1765
|
-
{ this.checkExport(exports, pat, pat.start); }
|
|
1925
|
+
{ this.checkExport(exports$1, pat, pat.start); }
|
|
1766
1926
|
else if (type === "ObjectPattern")
|
|
1767
1927
|
{ for (var i = 0, list = pat.properties; i < list.length; i += 1)
|
|
1768
1928
|
{
|
|
1769
1929
|
var prop = list[i];
|
|
1770
1930
|
|
|
1771
|
-
this.checkPatternExport(exports, prop);
|
|
1931
|
+
this.checkPatternExport(exports$1, prop);
|
|
1772
1932
|
} }
|
|
1773
1933
|
else if (type === "ArrayPattern")
|
|
1774
1934
|
{ for (var i$1 = 0, list$1 = pat.elements; i$1 < list$1.length; i$1 += 1) {
|
|
1775
1935
|
var elt = list$1[i$1];
|
|
1776
1936
|
|
|
1777
|
-
if (elt) { this.checkPatternExport(exports, elt); }
|
|
1937
|
+
if (elt) { this.checkPatternExport(exports$1, elt); }
|
|
1778
1938
|
} }
|
|
1779
1939
|
else if (type === "Property")
|
|
1780
|
-
{ this.checkPatternExport(exports, pat.value); }
|
|
1940
|
+
{ this.checkPatternExport(exports$1, pat.value); }
|
|
1781
1941
|
else if (type === "AssignmentPattern")
|
|
1782
|
-
{ this.checkPatternExport(exports, pat.left); }
|
|
1942
|
+
{ this.checkPatternExport(exports$1, pat.left); }
|
|
1783
1943
|
else if (type === "RestElement")
|
|
1784
|
-
{ this.checkPatternExport(exports, pat.argument); }
|
|
1944
|
+
{ this.checkPatternExport(exports$1, pat.argument); }
|
|
1785
1945
|
};
|
|
1786
1946
|
|
|
1787
|
-
pp$8.checkVariableExport = function(exports, decls) {
|
|
1788
|
-
if (!exports) { return }
|
|
1947
|
+
pp$8.checkVariableExport = function(exports$1, decls) {
|
|
1948
|
+
if (!exports$1) { return }
|
|
1789
1949
|
for (var i = 0, list = decls; i < list.length; i += 1)
|
|
1790
1950
|
{
|
|
1791
1951
|
var decl = list[i];
|
|
1792
1952
|
|
|
1793
|
-
this.checkPatternExport(exports, decl.id);
|
|
1953
|
+
this.checkPatternExport(exports$1, decl.id);
|
|
1794
1954
|
}
|
|
1795
1955
|
};
|
|
1796
1956
|
|
|
@@ -1805,13 +1965,13 @@
|
|
|
1805
1965
|
|
|
1806
1966
|
// Parses a comma-separated list of module exports.
|
|
1807
1967
|
|
|
1808
|
-
pp$8.parseExportSpecifier = function(exports) {
|
|
1968
|
+
pp$8.parseExportSpecifier = function(exports$1) {
|
|
1809
1969
|
var node = this.startNode();
|
|
1810
1970
|
node.local = this.parseModuleExportName();
|
|
1811
1971
|
|
|
1812
1972
|
node.exported = this.eatContextual("as") ? this.parseModuleExportName() : node.local;
|
|
1813
1973
|
this.checkExport(
|
|
1814
|
-
exports,
|
|
1974
|
+
exports$1,
|
|
1815
1975
|
node.exported,
|
|
1816
1976
|
node.exported.start
|
|
1817
1977
|
);
|
|
@@ -1819,7 +1979,7 @@
|
|
|
1819
1979
|
return this.finishNode(node, "ExportSpecifier")
|
|
1820
1980
|
};
|
|
1821
1981
|
|
|
1822
|
-
pp$8.parseExportSpecifiers = function(exports) {
|
|
1982
|
+
pp$8.parseExportSpecifiers = function(exports$1) {
|
|
1823
1983
|
var nodes = [], first = true;
|
|
1824
1984
|
// export { x, y as z } [from '...']
|
|
1825
1985
|
this.expect(types$1.braceL);
|
|
@@ -1829,7 +1989,7 @@
|
|
|
1829
1989
|
if (this.afterTrailingComma(types$1.braceR)) { break }
|
|
1830
1990
|
} else { first = false; }
|
|
1831
1991
|
|
|
1832
|
-
nodes.push(this.parseExportSpecifier(exports));
|
|
1992
|
+
nodes.push(this.parseExportSpecifier(exports$1));
|
|
1833
1993
|
}
|
|
1834
1994
|
return nodes
|
|
1835
1995
|
};
|
|
@@ -1848,6 +2008,8 @@
|
|
|
1848
2008
|
this.expectContextual("from");
|
|
1849
2009
|
node.source = this.type === types$1.string ? this.parseExprAtom() : this.unexpected();
|
|
1850
2010
|
}
|
|
2011
|
+
if (this.options.ecmaVersion >= 16)
|
|
2012
|
+
{ node.attributes = this.parseWithClause(); }
|
|
1851
2013
|
this.semicolon();
|
|
1852
2014
|
return this.finishNode(node, "ImportDeclaration")
|
|
1853
2015
|
};
|
|
@@ -1908,6 +2070,41 @@
|
|
|
1908
2070
|
return nodes
|
|
1909
2071
|
};
|
|
1910
2072
|
|
|
2073
|
+
pp$8.parseWithClause = function() {
|
|
2074
|
+
var nodes = [];
|
|
2075
|
+
if (!this.eat(types$1._with)) {
|
|
2076
|
+
return nodes
|
|
2077
|
+
}
|
|
2078
|
+
this.expect(types$1.braceL);
|
|
2079
|
+
var attributeKeys = {};
|
|
2080
|
+
var first = true;
|
|
2081
|
+
while (!this.eat(types$1.braceR)) {
|
|
2082
|
+
if (!first) {
|
|
2083
|
+
this.expect(types$1.comma);
|
|
2084
|
+
if (this.afterTrailingComma(types$1.braceR)) { break }
|
|
2085
|
+
} else { first = false; }
|
|
2086
|
+
|
|
2087
|
+
var attr = this.parseImportAttribute();
|
|
2088
|
+
var keyName = attr.key.type === "Identifier" ? attr.key.name : attr.key.value;
|
|
2089
|
+
if (hasOwn(attributeKeys, keyName))
|
|
2090
|
+
{ this.raiseRecoverable(attr.key.start, "Duplicate attribute key '" + keyName + "'"); }
|
|
2091
|
+
attributeKeys[keyName] = true;
|
|
2092
|
+
nodes.push(attr);
|
|
2093
|
+
}
|
|
2094
|
+
return nodes
|
|
2095
|
+
};
|
|
2096
|
+
|
|
2097
|
+
pp$8.parseImportAttribute = function() {
|
|
2098
|
+
var node = this.startNode();
|
|
2099
|
+
node.key = this.type === types$1.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== "never");
|
|
2100
|
+
this.expect(types$1.colon);
|
|
2101
|
+
if (this.type !== types$1.string) {
|
|
2102
|
+
this.unexpected();
|
|
2103
|
+
}
|
|
2104
|
+
node.value = this.parseExprAtom();
|
|
2105
|
+
return this.finishNode(node, "ImportAttribute")
|
|
2106
|
+
};
|
|
2107
|
+
|
|
1911
2108
|
pp$8.parseModuleExportName = function() {
|
|
1912
2109
|
if (this.options.ecmaVersion >= 13 && this.type === types$1.string) {
|
|
1913
2110
|
var stringLiteral = this.parseLiteral(this.value);
|
|
@@ -2523,15 +2720,19 @@
|
|
|
2523
2720
|
// delayed syntax error at correct position).
|
|
2524
2721
|
|
|
2525
2722
|
pp$5.parseExpression = function(forInit, refDestructuringErrors) {
|
|
2526
|
-
var
|
|
2527
|
-
|
|
2528
|
-
|
|
2529
|
-
var
|
|
2530
|
-
|
|
2531
|
-
|
|
2532
|
-
|
|
2533
|
-
|
|
2534
|
-
|
|
2723
|
+
var this$1$1 = this;
|
|
2724
|
+
|
|
2725
|
+
return this.catchStackOverflow(function () {
|
|
2726
|
+
var startPos = this$1$1.start, startLoc = this$1$1.startLoc;
|
|
2727
|
+
var expr = this$1$1.parseMaybeAssign(forInit, refDestructuringErrors);
|
|
2728
|
+
if (this$1$1.type === types$1.comma) {
|
|
2729
|
+
var node = this$1$1.startNodeAt(startPos, startLoc);
|
|
2730
|
+
node.expressions = [expr];
|
|
2731
|
+
while (this$1$1.eat(types$1.comma)) { node.expressions.push(this$1$1.parseMaybeAssign(forInit, refDestructuringErrors)); }
|
|
2732
|
+
return this$1$1.finishNode(node, "SequenceExpression")
|
|
2733
|
+
}
|
|
2734
|
+
return expr
|
|
2735
|
+
})
|
|
2535
2736
|
};
|
|
2536
2737
|
|
|
2537
2738
|
// Parse an assignment expression. This includes applications of
|
|
@@ -2596,7 +2797,7 @@
|
|
|
2596
2797
|
var startPos = this.start, startLoc = this.startLoc;
|
|
2597
2798
|
var expr = this.parseExprOps(forInit, refDestructuringErrors);
|
|
2598
2799
|
if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }
|
|
2599
|
-
if (this.eat(types$1.question)) {
|
|
2800
|
+
if (!(expr.type === "ArrowFunctionExpression" && expr.start === startPos) && this.eat(types$1.question)) {
|
|
2600
2801
|
var node = this.startNodeAt(startPos, startLoc);
|
|
2601
2802
|
node.test = expr;
|
|
2602
2803
|
node.consequent = this.parseMaybeAssign();
|
|
@@ -2696,7 +2897,7 @@
|
|
|
2696
2897
|
}
|
|
2697
2898
|
}
|
|
2698
2899
|
|
|
2699
|
-
if (!incDec && this.eat(types$1.starstar)) {
|
|
2900
|
+
if (!incDec && !(expr.type === "ArrowFunctionExpression" && expr.start === startPos) && this.eat(types$1.starstar)) {
|
|
2700
2901
|
if (sawUnary)
|
|
2701
2902
|
{ this.unexpected(this.lastTokStart); }
|
|
2702
2903
|
else
|
|
@@ -2975,13 +3176,32 @@
|
|
|
2975
3176
|
// Parse node.source.
|
|
2976
3177
|
node.source = this.parseMaybeAssign();
|
|
2977
3178
|
|
|
2978
|
-
|
|
2979
|
-
|
|
2980
|
-
|
|
2981
|
-
|
|
2982
|
-
|
|
3179
|
+
if (this.options.ecmaVersion >= 16) {
|
|
3180
|
+
if (!this.eat(types$1.parenR)) {
|
|
3181
|
+
this.expect(types$1.comma);
|
|
3182
|
+
if (!this.afterTrailingComma(types$1.parenR)) {
|
|
3183
|
+
node.options = this.parseMaybeAssign();
|
|
3184
|
+
if (!this.eat(types$1.parenR)) {
|
|
3185
|
+
this.expect(types$1.comma);
|
|
3186
|
+
if (!this.afterTrailingComma(types$1.parenR)) {
|
|
3187
|
+
this.unexpected();
|
|
3188
|
+
}
|
|
3189
|
+
}
|
|
3190
|
+
} else {
|
|
3191
|
+
node.options = null;
|
|
3192
|
+
}
|
|
2983
3193
|
} else {
|
|
2984
|
-
|
|
3194
|
+
node.options = null;
|
|
3195
|
+
}
|
|
3196
|
+
} else {
|
|
3197
|
+
// Verify ending.
|
|
3198
|
+
if (!this.eat(types$1.parenR)) {
|
|
3199
|
+
var errorPos = this.start;
|
|
3200
|
+
if (this.eat(types$1.comma) && this.eat(types$1.parenR)) {
|
|
3201
|
+
this.raiseRecoverable(errorPos, "Trailing comma is not allowed in import()");
|
|
3202
|
+
} else {
|
|
3203
|
+
this.unexpected(errorPos);
|
|
3204
|
+
}
|
|
2985
3205
|
}
|
|
2986
3206
|
}
|
|
2987
3207
|
|
|
@@ -3008,7 +3228,8 @@
|
|
|
3008
3228
|
var node = this.startNode();
|
|
3009
3229
|
node.value = value;
|
|
3010
3230
|
node.raw = this.input.slice(this.start, this.end);
|
|
3011
|
-
if (node.raw.charCodeAt(node.raw.length - 1) === 110)
|
|
3231
|
+
if (node.raw.charCodeAt(node.raw.length - 1) === 110)
|
|
3232
|
+
{ node.bigint = node.value != null ? node.value.toString() : node.raw.slice(0, -1).replace(/_/g, ""); }
|
|
3012
3233
|
this.next();
|
|
3013
3234
|
return this.finishNode(node, "Literal")
|
|
3014
3235
|
};
|
|
@@ -3128,6 +3349,8 @@
|
|
|
3128
3349
|
}
|
|
3129
3350
|
var startPos = this.start, startLoc = this.startLoc;
|
|
3130
3351
|
node.callee = this.parseSubscripts(this.parseExprAtom(null, false, true), startPos, startLoc, true, false);
|
|
3352
|
+
if (node.callee.type === "Super")
|
|
3353
|
+
{ this.raiseRecoverable(startPos, "Invalid use of 'super'"); }
|
|
3131
3354
|
if (this.eat(types$1.parenL)) { node.arguments = this.parseExprList(types$1.parenR, this.options.ecmaVersion >= 8, false); }
|
|
3132
3355
|
else { node.arguments = empty; }
|
|
3133
3356
|
return this.finishNode(node, "NewExpression")
|
|
@@ -3246,9 +3469,10 @@
|
|
|
3246
3469
|
};
|
|
3247
3470
|
|
|
3248
3471
|
pp$5.parseGetterSetter = function(prop) {
|
|
3249
|
-
|
|
3472
|
+
var kind = prop.key.name;
|
|
3250
3473
|
this.parsePropertyName(prop);
|
|
3251
3474
|
prop.value = this.parseMethod(false);
|
|
3475
|
+
prop.kind = kind;
|
|
3252
3476
|
var paramCount = prop.kind === "get" ? 0 : 1;
|
|
3253
3477
|
if (prop.value.params.length !== paramCount) {
|
|
3254
3478
|
var start = prop.value.start;
|
|
@@ -3271,9 +3495,9 @@
|
|
|
3271
3495
|
prop.kind = "init";
|
|
3272
3496
|
} else if (this.options.ecmaVersion >= 6 && this.type === types$1.parenL) {
|
|
3273
3497
|
if (isPattern) { this.unexpected(); }
|
|
3274
|
-
prop.kind = "init";
|
|
3275
3498
|
prop.method = true;
|
|
3276
3499
|
prop.value = this.parseMethod(isGenerator, isAsync);
|
|
3500
|
+
prop.kind = "init";
|
|
3277
3501
|
} else if (!isPattern && !containsEsc &&
|
|
3278
3502
|
this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === "Identifier" &&
|
|
3279
3503
|
(prop.key.name === "get" || prop.key.name === "set") &&
|
|
@@ -3285,7 +3509,6 @@
|
|
|
3285
3509
|
this.checkUnreserved(prop.key);
|
|
3286
3510
|
if (prop.key.name === "await" && !this.awaitIdentPos)
|
|
3287
3511
|
{ this.awaitIdentPos = startPos; }
|
|
3288
|
-
prop.kind = "init";
|
|
3289
3512
|
if (isPattern) {
|
|
3290
3513
|
prop.value = this.parseMaybeDefault(startPos, startLoc, this.copyNode(prop.key));
|
|
3291
3514
|
} else if (this.type === types$1.eq && refDestructuringErrors) {
|
|
@@ -3295,6 +3518,7 @@
|
|
|
3295
3518
|
} else {
|
|
3296
3519
|
prop.value = this.copyNode(prop.key);
|
|
3297
3520
|
}
|
|
3521
|
+
prop.kind = "init";
|
|
3298
3522
|
prop.shorthand = true;
|
|
3299
3523
|
} else { this.unexpected(); }
|
|
3300
3524
|
};
|
|
@@ -3470,7 +3694,7 @@
|
|
|
3470
3694
|
{ this.raiseRecoverable(start, "Cannot use 'yield' as identifier inside a generator"); }
|
|
3471
3695
|
if (this.inAsync && name === "await")
|
|
3472
3696
|
{ this.raiseRecoverable(start, "Cannot use 'await' as identifier inside an async function"); }
|
|
3473
|
-
if (this.currentThisScope().
|
|
3697
|
+
if (!(this.currentThisScope().flags & SCOPE_VAR) && name === "arguments")
|
|
3474
3698
|
{ this.raiseRecoverable(start, "Cannot use 'arguments' in class field initializer"); }
|
|
3475
3699
|
if (this.inClassStaticBlock && (name === "arguments" || name === "await"))
|
|
3476
3700
|
{ this.raise(start, ("Cannot use " + name + " in class static initialization block")); }
|
|
@@ -3583,6 +3807,9 @@
|
|
|
3583
3807
|
pp$4.raise = function(pos, message) {
|
|
3584
3808
|
var loc = getLineInfo(this.input, pos);
|
|
3585
3809
|
message += " (" + loc.line + ":" + loc.column + ")";
|
|
3810
|
+
if (this.sourceFile) {
|
|
3811
|
+
message += " in " + this.sourceFile;
|
|
3812
|
+
}
|
|
3586
3813
|
var err = new SyntaxError(message);
|
|
3587
3814
|
err.pos = pos; err.loc = loc; err.raisedAt = this.pos;
|
|
3588
3815
|
throw err
|
|
@@ -3606,8 +3833,6 @@
|
|
|
3606
3833
|
this.lexical = [];
|
|
3607
3834
|
// A list of lexically-declared FunctionDeclaration names in the current lexical scope
|
|
3608
3835
|
this.functions = [];
|
|
3609
|
-
// A switch to disallow the identifier reference 'arguments'
|
|
3610
|
-
this.inClassFieldInit = false;
|
|
3611
3836
|
};
|
|
3612
3837
|
|
|
3613
3838
|
// The functions in this module keep track of declared variables in the current scope in order to detect duplicate variable names.
|
|
@@ -3677,7 +3902,7 @@
|
|
|
3677
3902
|
pp$3.currentVarScope = function() {
|
|
3678
3903
|
for (var i = this.scopeStack.length - 1;; i--) {
|
|
3679
3904
|
var scope = this.scopeStack[i];
|
|
3680
|
-
if (scope.flags & SCOPE_VAR) { return scope }
|
|
3905
|
+
if (scope.flags & (SCOPE_VAR | SCOPE_CLASS_FIELD_INIT | SCOPE_CLASS_STATIC_BLOCK)) { return scope }
|
|
3681
3906
|
}
|
|
3682
3907
|
};
|
|
3683
3908
|
|
|
@@ -3685,7 +3910,8 @@
|
|
|
3685
3910
|
pp$3.currentThisScope = function() {
|
|
3686
3911
|
for (var i = this.scopeStack.length - 1;; i--) {
|
|
3687
3912
|
var scope = this.scopeStack[i];
|
|
3688
|
-
if (scope.flags & SCOPE_VAR
|
|
3913
|
+
if (scope.flags & (SCOPE_VAR | SCOPE_CLASS_FIELD_INIT | SCOPE_CLASS_STATIC_BLOCK) &&
|
|
3914
|
+
!(scope.flags & SCOPE_ARROW)) { return scope }
|
|
3689
3915
|
}
|
|
3690
3916
|
};
|
|
3691
3917
|
|
|
@@ -3741,6 +3967,9 @@
|
|
|
3741
3967
|
return newNode
|
|
3742
3968
|
};
|
|
3743
3969
|
|
|
3970
|
+
// This file was generated by "bin/generate-unicode-script-values.js". Do not modify manually!
|
|
3971
|
+
var scriptValuesAddedInUnicode = "Berf Beria_Erfe Gara Garay Gukh Gurung_Khema Hrkt Katakana_Or_Hiragana Kawi Kirat_Rai Krai Nag_Mundari Nagm Ol_Onal Onao Sidetic Sidt Sunu Sunuwar Tai_Yo Tayo Todhri Todr Tolong_Siki Tols Tulu_Tigalari Tutg Unknown Zzzz";
|
|
3972
|
+
|
|
3744
3973
|
// This file contains Unicode properties extracted from the ECMAScript specification.
|
|
3745
3974
|
// The lists are extracted like so:
|
|
3746
3975
|
// $$('#table-binary-unicode-properties > figure > table > tbody > tr > td:nth-child(1) code').map(el => el.innerText)
|
|
@@ -3783,7 +4012,7 @@
|
|
|
3783
4012
|
var ecma11ScriptValues = ecma10ScriptValues + " Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho";
|
|
3784
4013
|
var ecma12ScriptValues = ecma11ScriptValues + " Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi";
|
|
3785
4014
|
var ecma13ScriptValues = ecma12ScriptValues + " Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith";
|
|
3786
|
-
var ecma14ScriptValues = ecma13ScriptValues + "
|
|
4015
|
+
var ecma14ScriptValues = ecma13ScriptValues + " " + scriptValuesAddedInUnicode;
|
|
3787
4016
|
|
|
3788
4017
|
var unicodeScriptValues = {
|
|
3789
4018
|
9: ecma9ScriptValues,
|
|
@@ -4208,12 +4437,41 @@
|
|
|
4208
4437
|
pp$1.regexp_eatUncapturingGroup = function(state) {
|
|
4209
4438
|
var start = state.pos;
|
|
4210
4439
|
if (state.eat(0x28 /* ( */)) {
|
|
4211
|
-
if (state.eat(0x3F /* ? */)
|
|
4212
|
-
this.
|
|
4213
|
-
|
|
4214
|
-
|
|
4440
|
+
if (state.eat(0x3F /* ? */)) {
|
|
4441
|
+
if (this.options.ecmaVersion >= 16) {
|
|
4442
|
+
var addModifiers = this.regexp_eatModifiers(state);
|
|
4443
|
+
var hasHyphen = state.eat(0x2D /* - */);
|
|
4444
|
+
if (addModifiers || hasHyphen) {
|
|
4445
|
+
for (var i = 0; i < addModifiers.length; i++) {
|
|
4446
|
+
var modifier = addModifiers.charAt(i);
|
|
4447
|
+
if (addModifiers.indexOf(modifier, i + 1) > -1) {
|
|
4448
|
+
state.raise("Duplicate regular expression modifiers");
|
|
4449
|
+
}
|
|
4450
|
+
}
|
|
4451
|
+
if (hasHyphen) {
|
|
4452
|
+
var removeModifiers = this.regexp_eatModifiers(state);
|
|
4453
|
+
if (!addModifiers && !removeModifiers && state.current() === 0x3A /* : */) {
|
|
4454
|
+
state.raise("Invalid regular expression modifiers");
|
|
4455
|
+
}
|
|
4456
|
+
for (var i$1 = 0; i$1 < removeModifiers.length; i$1++) {
|
|
4457
|
+
var modifier$1 = removeModifiers.charAt(i$1);
|
|
4458
|
+
if (
|
|
4459
|
+
removeModifiers.indexOf(modifier$1, i$1 + 1) > -1 ||
|
|
4460
|
+
addModifiers.indexOf(modifier$1) > -1
|
|
4461
|
+
) {
|
|
4462
|
+
state.raise("Duplicate regular expression modifiers");
|
|
4463
|
+
}
|
|
4464
|
+
}
|
|
4465
|
+
}
|
|
4466
|
+
}
|
|
4467
|
+
}
|
|
4468
|
+
if (state.eat(0x3A /* : */)) {
|
|
4469
|
+
this.regexp_disjunction(state);
|
|
4470
|
+
if (state.eat(0x29 /* ) */)) {
|
|
4471
|
+
return true
|
|
4472
|
+
}
|
|
4473
|
+
state.raise("Unterminated group");
|
|
4215
4474
|
}
|
|
4216
|
-
state.raise("Unterminated group");
|
|
4217
4475
|
}
|
|
4218
4476
|
state.pos = start;
|
|
4219
4477
|
}
|
|
@@ -4235,6 +4493,23 @@
|
|
|
4235
4493
|
}
|
|
4236
4494
|
return false
|
|
4237
4495
|
};
|
|
4496
|
+
// RegularExpressionModifiers ::
|
|
4497
|
+
// [empty]
|
|
4498
|
+
// RegularExpressionModifiers RegularExpressionModifier
|
|
4499
|
+
pp$1.regexp_eatModifiers = function(state) {
|
|
4500
|
+
var modifiers = "";
|
|
4501
|
+
var ch = 0;
|
|
4502
|
+
while ((ch = state.current()) !== -1 && isRegularExpressionModifier(ch)) {
|
|
4503
|
+
modifiers += codePointToString(ch);
|
|
4504
|
+
state.advance();
|
|
4505
|
+
}
|
|
4506
|
+
return modifiers
|
|
4507
|
+
};
|
|
4508
|
+
// RegularExpressionModifier :: one of
|
|
4509
|
+
// `i` `m` `s`
|
|
4510
|
+
function isRegularExpressionModifier(ch) {
|
|
4511
|
+
return ch === 0x69 /* i */ || ch === 0x6d /* m */ || ch === 0x73 /* s */
|
|
4512
|
+
}
|
|
4238
4513
|
|
|
4239
4514
|
// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedAtom
|
|
4240
4515
|
pp$1.regexp_eatExtendedAtom = function(state) {
|
|
@@ -5254,13 +5529,17 @@
|
|
|
5254
5529
|
return this.getTokenFromCode(code)
|
|
5255
5530
|
};
|
|
5256
5531
|
|
|
5257
|
-
pp.
|
|
5258
|
-
var code = this.input.charCodeAt(
|
|
5532
|
+
pp.fullCharCodeAt = function(pos) {
|
|
5533
|
+
var code = this.input.charCodeAt(pos);
|
|
5259
5534
|
if (code <= 0xd7ff || code >= 0xdc00) { return code }
|
|
5260
|
-
var next = this.input.charCodeAt(
|
|
5535
|
+
var next = this.input.charCodeAt(pos + 1);
|
|
5261
5536
|
return next <= 0xdbff || next >= 0xe000 ? code : (code << 10) + next - 0x35fdc00
|
|
5262
5537
|
};
|
|
5263
5538
|
|
|
5539
|
+
pp.fullCharCodeAtPos = function() {
|
|
5540
|
+
return this.fullCharCodeAt(this.pos)
|
|
5541
|
+
};
|
|
5542
|
+
|
|
5264
5543
|
pp.skipBlockComment = function() {
|
|
5265
5544
|
var startLoc = this.options.onComment && this.curPosition();
|
|
5266
5545
|
var start = this.pos, end = this.input.indexOf("*/", this.pos += 2);
|
|
@@ -5986,11 +6265,9 @@
|
|
|
5986
6265
|
// Please use the [github bug tracker][ghbt] to report issues.
|
|
5987
6266
|
//
|
|
5988
6267
|
// [ghbt]: https://github.com/acornjs/acorn/issues
|
|
5989
|
-
//
|
|
5990
|
-
// [walk]: util/walk.js
|
|
5991
6268
|
|
|
5992
6269
|
|
|
5993
|
-
var version = "8.
|
|
6270
|
+
var version = "8.18.0";
|
|
5994
6271
|
|
|
5995
6272
|
Parser.acorn = {
|
|
5996
6273
|
Parser: Parser,
|