@es-joy/jsoe 0.24.3 → 0.25.1
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.map +1 -1
- package/src/formatAndTypeChoices.js +62 -58
- package/src/formats/indexedDBKey.js +3 -4
- package/src/formats/schema.js +824 -475
- package/src/formats/structuredCloning.js +189 -79
- package/src/formats.js +17 -5
- package/src/fundamentalTypes/BooleanObjectType.js +4 -5
- package/src/fundamentalTypes/NumberObjectType.js +4 -4
- package/src/fundamentalTypes/StringObjectType.js +3 -4
- package/src/fundamentalTypes/arrayReferenceType.js +0 -2
- package/src/fundamentalTypes/arrayType.js +624 -389
- package/src/fundamentalTypes/bigintObjectType.js +3 -2
- package/src/fundamentalTypes/bigintType.js +79 -17
- package/src/fundamentalTypes/blobType.js +35 -35
- package/src/fundamentalTypes/booleanType.js +16 -8
- package/src/fundamentalTypes/dateType.js +6 -8
- package/src/fundamentalTypes/domexceptionType.js +5 -4
- package/src/fundamentalTypes/errorType.js +39 -32
- package/src/fundamentalTypes/fileType.js +238 -52
- package/src/fundamentalTypes/functionType.js +61 -41
- package/src/fundamentalTypes/nanType.js +5 -4
- package/src/fundamentalTypes/noneditableType.js +4 -3
- package/src/fundamentalTypes/nullType.js +3 -2
- package/src/fundamentalTypes/numberType.js +72 -20
- package/src/fundamentalTypes/promiseType.js +16 -40
- package/src/fundamentalTypes/regexpType.js +7 -13
- package/src/fundamentalTypes/stringType.js +176 -110
- package/src/fundamentalTypes/symbolType.js +3 -2
- package/src/fundamentalTypes/undefinedType.js +3 -2
- package/src/index.js +6 -5
- package/src/jsoe.css +107 -8
- package/src/subTypes/blobHTMLType.js +23 -10
- package/src/superTypes/SpecialNumberType.js +6 -6
- package/src/superTypes/SpecialRealNumberType.js +10 -9
- package/src/superTypes/buffersourceType.js +86 -75
- package/src/superTypes/dommatrixType.js +6 -5
- package/src/superTypes/dompointType.js +6 -5
- package/src/superTypes/domrectType.js +6 -5
- package/src/superTypes/errorsSpecialType.js +54 -35
- package/src/typeChoices.js +399 -54
- 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,14 +1,14 @@
|
|
|
1
1
|
// This file was generated. Do not modify manually!
|
|
2
|
-
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,
|
|
2
|
+
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];
|
|
3
3
|
|
|
4
4
|
// This file was generated. Do not modify manually!
|
|
5
|
-
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,
|
|
5
|
+
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];
|
|
6
6
|
|
|
7
7
|
// This file was generated. Do not modify manually!
|
|
8
|
-
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\
|
|
8
|
+
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";
|
|
9
9
|
|
|
10
10
|
// This file was generated. Do not modify manually!
|
|
11
|
-
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-\
|
|
11
|
+
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";
|
|
12
12
|
|
|
13
13
|
// These are a run-length and offset encoded representation of the
|
|
14
14
|
// >0xffff code points that are a valid part of identifiers. The
|
|
@@ -333,9 +333,12 @@ var defaultOptions = {
|
|
|
333
333
|
// for new syntax features.
|
|
334
334
|
ecmaVersion: null,
|
|
335
335
|
// `sourceType` indicates the mode the code should be parsed in.
|
|
336
|
-
// Can be either `"script"` or `"
|
|
336
|
+
// Can be either `"script"`, `"module"` or `"commonjs"`. This influences global
|
|
337
337
|
// strict mode and parsing of `import` and `export` declarations.
|
|
338
338
|
sourceType: "script",
|
|
339
|
+
// When set to true, enable strict parsing mode even if `sourceType`
|
|
340
|
+
// is `"script"`.
|
|
341
|
+
strict: false,
|
|
339
342
|
// `onInsertedSemicolon` can be a callback that will be called when
|
|
340
343
|
// a semicolon is automatically inserted. It will be passed the
|
|
341
344
|
// position of the inserted semicolon as an offset, and if
|
|
@@ -377,6 +380,11 @@ var defaultOptions = {
|
|
|
377
380
|
// line being 1-based and column 0-based) will be attached to the
|
|
378
381
|
// nodes.
|
|
379
382
|
locations: false,
|
|
383
|
+
// Pass an optional `{line, column}` object to use for the start of
|
|
384
|
+
// the parse. This is mostly useful when using `parseExpressionAt`
|
|
385
|
+
// with `locations: true`, to prevent the parser from having to
|
|
386
|
+
// determine the line position at the start position.
|
|
387
|
+
startLocation: null,
|
|
380
388
|
// A function can be passed as `onToken` option, which will
|
|
381
389
|
// cause Acorn to call that function with object in the same
|
|
382
390
|
// format as tokens returned from `tokenizer().getToken()`. Note
|
|
@@ -457,6 +465,9 @@ function getOptions(opts) {
|
|
|
457
465
|
if (isArray(options.onComment))
|
|
458
466
|
{ options.onComment = pushComment(options, options.onComment); }
|
|
459
467
|
|
|
468
|
+
if (options.sourceType === "commonjs" && options.allowAwaitOutsideFunction)
|
|
469
|
+
{ throw new Error("Cannot use allowAwaitOutsideFunction with sourceType: commonjs") }
|
|
470
|
+
|
|
460
471
|
return options
|
|
461
472
|
}
|
|
462
473
|
|
|
@@ -487,6 +498,8 @@ var
|
|
|
487
498
|
SCOPE_SUPER = 64,
|
|
488
499
|
SCOPE_DIRECT_SUPER = 128,
|
|
489
500
|
SCOPE_CLASS_STATIC_BLOCK = 256,
|
|
501
|
+
SCOPE_CLASS_FIELD_INIT = 512,
|
|
502
|
+
SCOPE_SWITCH = 1024,
|
|
490
503
|
SCOPE_VAR = SCOPE_TOP | SCOPE_FUNCTION | SCOPE_CLASS_STATIC_BLOCK;
|
|
491
504
|
|
|
492
505
|
function functionFlags(async, generator) {
|
|
@@ -525,13 +538,17 @@ var Parser = function Parser(options, input, startPos) {
|
|
|
525
538
|
// Set up token state
|
|
526
539
|
|
|
527
540
|
// The current position of the tokenizer in the input.
|
|
528
|
-
|
|
529
|
-
|
|
541
|
+
this.pos = startPos || 0;
|
|
542
|
+
this.curLine = 1;
|
|
543
|
+
if (options.startLocation) {
|
|
544
|
+
this.lineStart = this.pos - options.startLocation.column;
|
|
545
|
+
this.curLine = options.startLocation.line;
|
|
546
|
+
} else if (startPos) {
|
|
530
547
|
this.lineStart = this.input.lastIndexOf("\n", startPos - 1) + 1;
|
|
531
|
-
|
|
548
|
+
if (this.options.locations)
|
|
549
|
+
{ this.curLine = this.input.slice(0, this.lineStart).split(lineBreak).length; }
|
|
532
550
|
} else {
|
|
533
|
-
this.
|
|
534
|
-
this.curLine = 1;
|
|
551
|
+
this.lineStart = 0;
|
|
535
552
|
}
|
|
536
553
|
|
|
537
554
|
// Properties of the current token:
|
|
@@ -557,7 +574,7 @@ var Parser = function Parser(options, input, startPos) {
|
|
|
557
574
|
|
|
558
575
|
// Figure out if it's a module code.
|
|
559
576
|
this.inModule = options.sourceType === "module";
|
|
560
|
-
this.strict = this.inModule || this.strictDirective(this.pos);
|
|
577
|
+
this.strict = this.inModule || options.strict === true || this.strictDirective(this.pos);
|
|
561
578
|
|
|
562
579
|
// Used to signify the start of a potential arrow function
|
|
563
580
|
this.potentialArrowAt = -1;
|
|
@@ -576,7 +593,12 @@ var Parser = function Parser(options, input, startPos) {
|
|
|
576
593
|
|
|
577
594
|
// Scope tracking for duplicate variable names (see scope.js)
|
|
578
595
|
this.scopeStack = [];
|
|
579
|
-
this.enterScope(
|
|
596
|
+
this.enterScope(
|
|
597
|
+
this.options.sourceType === "commonjs"
|
|
598
|
+
// In commonjs, the top-level scope behaves like a function scope
|
|
599
|
+
? SCOPE_FUNCTION
|
|
600
|
+
: SCOPE_TOP
|
|
601
|
+
);
|
|
580
602
|
|
|
581
603
|
// For RegExp validation
|
|
582
604
|
this.regexpState = null;
|
|
@@ -587,34 +609,42 @@ var Parser = function Parser(options, input, startPos) {
|
|
|
587
609
|
this.privateNameStack = [];
|
|
588
610
|
};
|
|
589
611
|
|
|
590
|
-
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 } };
|
|
612
|
+
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 } };
|
|
591
613
|
|
|
592
614
|
Parser.prototype.parse = function parse () {
|
|
615
|
+
var this$1$1 = this;
|
|
616
|
+
|
|
593
617
|
var node = this.options.program || this.startNode();
|
|
594
618
|
this.nextToken();
|
|
595
|
-
return this.parseTopLevel(node)
|
|
619
|
+
return this.catchStackOverflow(function () { return this$1$1.parseTopLevel(node); })
|
|
596
620
|
};
|
|
597
621
|
|
|
598
622
|
prototypeAccessors.inFunction.get = function () { return (this.currentVarScope().flags & SCOPE_FUNCTION) > 0 };
|
|
599
623
|
|
|
600
|
-
prototypeAccessors.inGenerator.get = function () { return (this.currentVarScope().flags & SCOPE_GENERATOR) > 0
|
|
624
|
+
prototypeAccessors.inGenerator.get = function () { return (this.currentVarScope().flags & SCOPE_GENERATOR) > 0 };
|
|
601
625
|
|
|
602
|
-
prototypeAccessors.inAsync.get = function () { return (this.currentVarScope().flags & SCOPE_ASYNC) > 0
|
|
626
|
+
prototypeAccessors.inAsync.get = function () { return (this.currentVarScope().flags & SCOPE_ASYNC) > 0 };
|
|
603
627
|
|
|
604
628
|
prototypeAccessors.canAwait.get = function () {
|
|
605
629
|
for (var i = this.scopeStack.length - 1; i >= 0; i--) {
|
|
606
|
-
var
|
|
607
|
-
|
|
608
|
-
if (
|
|
630
|
+
var ref = this.scopeStack[i];
|
|
631
|
+
var flags = ref.flags;
|
|
632
|
+
if (flags & (SCOPE_CLASS_STATIC_BLOCK | SCOPE_CLASS_FIELD_INIT)) { return false }
|
|
633
|
+
if (flags & SCOPE_FUNCTION) { return (flags & SCOPE_ASYNC) > 0 }
|
|
609
634
|
}
|
|
610
635
|
return (this.inModule && this.options.ecmaVersion >= 13) || this.options.allowAwaitOutsideFunction
|
|
611
636
|
};
|
|
612
637
|
|
|
638
|
+
prototypeAccessors.allowReturn.get = function () {
|
|
639
|
+
if (this.inFunction) { return true }
|
|
640
|
+
if (this.options.allowReturnOutsideFunction && this.currentVarScope().flags & SCOPE_TOP) { return true }
|
|
641
|
+
return false
|
|
642
|
+
};
|
|
643
|
+
|
|
613
644
|
prototypeAccessors.allowSuper.get = function () {
|
|
614
645
|
var ref = this.currentThisScope();
|
|
615
646
|
var flags = ref.flags;
|
|
616
|
-
|
|
617
|
-
return (flags & SCOPE_SUPER) > 0 || inClassFieldInit || this.options.allowSuperOutsideMethod
|
|
647
|
+
return (flags & SCOPE_SUPER) > 0 || this.options.allowSuperOutsideMethod
|
|
618
648
|
};
|
|
619
649
|
|
|
620
650
|
prototypeAccessors.allowDirectSuper.get = function () { return (this.currentThisScope().flags & SCOPE_DIRECT_SUPER) > 0 };
|
|
@@ -622,10 +652,21 @@ prototypeAccessors.allowDirectSuper.get = function () { return (this.currentThis
|
|
|
622
652
|
prototypeAccessors.treatFunctionsAsVar.get = function () { return this.treatFunctionsAsVarInScope(this.currentScope()) };
|
|
623
653
|
|
|
624
654
|
prototypeAccessors.allowNewDotTarget.get = function () {
|
|
625
|
-
var
|
|
655
|
+
for (var i = this.scopeStack.length - 1; i >= 0; i--) {
|
|
656
|
+
var ref = this.scopeStack[i];
|
|
657
|
+
var flags = ref.flags;
|
|
658
|
+
if (flags & (SCOPE_CLASS_STATIC_BLOCK | SCOPE_CLASS_FIELD_INIT) ||
|
|
659
|
+
((flags & SCOPE_FUNCTION) && !(flags & SCOPE_ARROW))) { return true }
|
|
660
|
+
}
|
|
661
|
+
return false
|
|
662
|
+
};
|
|
663
|
+
|
|
664
|
+
prototypeAccessors.allowUsing.get = function () {
|
|
665
|
+
var ref = this.currentScope();
|
|
626
666
|
var flags = ref.flags;
|
|
627
|
-
|
|
628
|
-
|
|
667
|
+
if (flags & SCOPE_SWITCH) { return false }
|
|
668
|
+
if (!this.inModule && flags & SCOPE_TOP) { return false }
|
|
669
|
+
return true
|
|
629
670
|
};
|
|
630
671
|
|
|
631
672
|
prototypeAccessors.inClassStaticBlock.get = function () {
|
|
@@ -714,6 +755,17 @@ pp$9.eatContextual = function(name) {
|
|
|
714
755
|
return true
|
|
715
756
|
};
|
|
716
757
|
|
|
758
|
+
pp$9.catchStackOverflow = function(f) {
|
|
759
|
+
try {
|
|
760
|
+
return f()
|
|
761
|
+
} catch (e) {
|
|
762
|
+
if (e instanceof Error && (/\bstack\b.*\b(exceeded|overflow)\b/i.test(e.message) || /\btoo much recursion\b/i.test(e.message)))
|
|
763
|
+
{ this.raise(this.start, "Not enough stack space to parse input"); }
|
|
764
|
+
else
|
|
765
|
+
{ throw e }
|
|
766
|
+
}
|
|
767
|
+
};
|
|
768
|
+
|
|
717
769
|
// Asserts that following token is given contextual keyword.
|
|
718
770
|
|
|
719
771
|
pp$9.expectContextual = function(name) {
|
|
@@ -817,10 +869,10 @@ var pp$8 = Parser.prototype;
|
|
|
817
869
|
// to its body instead of creating a new node.
|
|
818
870
|
|
|
819
871
|
pp$8.parseTopLevel = function(node) {
|
|
820
|
-
var exports = Object.create(null);
|
|
872
|
+
var exports$1 = Object.create(null);
|
|
821
873
|
if (!node.body) { node.body = []; }
|
|
822
874
|
while (this.type !== types$1.eof) {
|
|
823
|
-
var stmt = this.parseStatement(null, true, exports);
|
|
875
|
+
var stmt = this.parseStatement(null, true, exports$1);
|
|
824
876
|
node.body.push(stmt);
|
|
825
877
|
}
|
|
826
878
|
if (this.inModule)
|
|
@@ -832,7 +884,7 @@ pp$8.parseTopLevel = function(node) {
|
|
|
832
884
|
} }
|
|
833
885
|
this.adaptDirectivePrologue(node.body);
|
|
834
886
|
this.next();
|
|
835
|
-
node.sourceType = this.options.sourceType;
|
|
887
|
+
node.sourceType = this.options.sourceType === "commonjs" ? "script" : this.options.sourceType;
|
|
836
888
|
return this.finishNode(node, "Program")
|
|
837
889
|
};
|
|
838
890
|
|
|
@@ -842,7 +894,7 @@ pp$8.isLet = function(context) {
|
|
|
842
894
|
if (this.options.ecmaVersion < 6 || !this.isContextual("let")) { return false }
|
|
843
895
|
skipWhiteSpace.lastIndex = this.pos;
|
|
844
896
|
var skip = skipWhiteSpace.exec(this.input);
|
|
845
|
-
var next = this.pos + skip[0].length, nextCh = this.
|
|
897
|
+
var next = this.pos + skip[0].length, nextCh = this.fullCharCodeAt(next);
|
|
846
898
|
// For ambiguous cases, determine if a LexicalDeclaration (or only a
|
|
847
899
|
// Statement) is allowed here. If context is not empty then only a Statement
|
|
848
900
|
// is allowed. However, `let [` is an explicit negative lookahead for
|
|
@@ -850,12 +902,13 @@ pp$8.isLet = function(context) {
|
|
|
850
902
|
if (nextCh === 91 || nextCh === 92) { return true } // '[', '\'
|
|
851
903
|
if (context) { return false }
|
|
852
904
|
|
|
853
|
-
if (nextCh === 123
|
|
854
|
-
if (isIdentifierStart(nextCh
|
|
855
|
-
var
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
905
|
+
if (nextCh === 123) { return true } // '{'
|
|
906
|
+
if (isIdentifierStart(nextCh)) {
|
|
907
|
+
var start = next;
|
|
908
|
+
do { next += nextCh <= 0xffff ? 1 : 2; }
|
|
909
|
+
while (isIdentifierChar(nextCh = this.fullCharCodeAt(next)))
|
|
910
|
+
if (nextCh === 92) { return true }
|
|
911
|
+
var ident = this.input.slice(start, next);
|
|
859
912
|
if (!keywordRelationalOperator.test(ident)) { return true }
|
|
860
913
|
}
|
|
861
914
|
return false
|
|
@@ -874,7 +927,61 @@ pp$8.isAsyncFunction = function() {
|
|
|
874
927
|
return !lineBreak.test(this.input.slice(this.pos, next)) &&
|
|
875
928
|
this.input.slice(next, next + 8) === "function" &&
|
|
876
929
|
(next + 8 === this.input.length ||
|
|
877
|
-
!(isIdentifierChar(after = this.
|
|
930
|
+
!(isIdentifierChar(after = this.fullCharCodeAt(next + 8)) || after === 92 /* '\' */))
|
|
931
|
+
};
|
|
932
|
+
|
|
933
|
+
pp$8.isUsingKeyword = function(isAwaitUsing, isFor) {
|
|
934
|
+
if (this.options.ecmaVersion < 17 || !this.isContextual(isAwaitUsing ? "await" : "using"))
|
|
935
|
+
{ return false }
|
|
936
|
+
|
|
937
|
+
skipWhiteSpace.lastIndex = this.pos;
|
|
938
|
+
var skip = skipWhiteSpace.exec(this.input);
|
|
939
|
+
var next = this.pos + skip[0].length;
|
|
940
|
+
|
|
941
|
+
if (lineBreak.test(this.input.slice(this.pos, next))) { return false }
|
|
942
|
+
|
|
943
|
+
if (isAwaitUsing) {
|
|
944
|
+
var usingEndPos = next + 5 /* using */, after;
|
|
945
|
+
if (this.input.slice(next, usingEndPos) !== "using" ||
|
|
946
|
+
usingEndPos === this.input.length ||
|
|
947
|
+
isIdentifierChar(after = this.fullCharCodeAt(usingEndPos)) ||
|
|
948
|
+
after === 92 /* '\' */
|
|
949
|
+
) { return false }
|
|
950
|
+
|
|
951
|
+
skipWhiteSpace.lastIndex = usingEndPos;
|
|
952
|
+
var skipAfterUsing = skipWhiteSpace.exec(this.input);
|
|
953
|
+
next = usingEndPos + skipAfterUsing[0].length;
|
|
954
|
+
if (skipAfterUsing && lineBreak.test(this.input.slice(usingEndPos, next))) { return false }
|
|
955
|
+
}
|
|
956
|
+
|
|
957
|
+
var ch = this.fullCharCodeAt(next);
|
|
958
|
+
if (!isIdentifierStart(ch) && ch !== 92 /* '\' */) { return false }
|
|
959
|
+
var idStart = next;
|
|
960
|
+
do { next += ch <= 0xffff ? 1 : 2; }
|
|
961
|
+
while (isIdentifierChar(ch = this.fullCharCodeAt(next)))
|
|
962
|
+
if (ch === 92) { return true }
|
|
963
|
+
var id = this.input.slice(idStart, next);
|
|
964
|
+
if (keywordRelationalOperator.test(id)) { return false }
|
|
965
|
+
if (isFor && !isAwaitUsing && id === "of") {
|
|
966
|
+
// Look ahead for using declaration with initializer, i.e., `for (using of = ...)`
|
|
967
|
+
skipWhiteSpace.lastIndex = next;
|
|
968
|
+
var skipAfterOf = skipWhiteSpace.exec(this.input);
|
|
969
|
+
next = next + skipAfterOf[0].length;
|
|
970
|
+
if (this.input.charCodeAt(next) !== 61 /* '=' */ ||
|
|
971
|
+
// Check for ==, === and => operators
|
|
972
|
+
(ch = this.input.charCodeAt(next + 1)) === 61 /* '=' */ || ch === 62 /* '>' */) {
|
|
973
|
+
return false
|
|
974
|
+
}
|
|
975
|
+
}
|
|
976
|
+
return true
|
|
977
|
+
};
|
|
978
|
+
|
|
979
|
+
pp$8.isAwaitUsing = function(isFor) {
|
|
980
|
+
return this.isUsingKeyword(true, isFor)
|
|
981
|
+
};
|
|
982
|
+
|
|
983
|
+
pp$8.isUsing = function(isFor) {
|
|
984
|
+
return this.isUsingKeyword(false, isFor)
|
|
878
985
|
};
|
|
879
986
|
|
|
880
987
|
// Parse a single statement.
|
|
@@ -884,7 +991,7 @@ pp$8.isAsyncFunction = function() {
|
|
|
884
991
|
// `if (foo) /blah/.exec(foo)`, where looking at the previous token
|
|
885
992
|
// does not help.
|
|
886
993
|
|
|
887
|
-
pp$8.parseStatement = function(context, topLevel, exports) {
|
|
994
|
+
pp$8.parseStatement = function(context, topLevel, exports$1) {
|
|
888
995
|
var starttype = this.type, node = this.startNode(), kind;
|
|
889
996
|
|
|
890
997
|
if (this.isLet(context)) {
|
|
@@ -939,7 +1046,7 @@ pp$8.parseStatement = function(context, topLevel, exports) {
|
|
|
939
1046
|
if (!this.inModule)
|
|
940
1047
|
{ this.raise(this.start, "'import' and 'export' may appear only with 'sourceType: module'"); }
|
|
941
1048
|
}
|
|
942
|
-
return starttype === types$1._import ? this.parseImport(node) : this.parseExport(node, exports)
|
|
1049
|
+
return starttype === types$1._import ? this.parseImport(node) : this.parseExport(node, exports$1)
|
|
943
1050
|
|
|
944
1051
|
// If the statement does not start with a statement keyword or a
|
|
945
1052
|
// brace, it's an ExpressionStatement or LabeledStatement. We
|
|
@@ -953,6 +1060,27 @@ pp$8.parseStatement = function(context, topLevel, exports) {
|
|
|
953
1060
|
return this.parseFunctionStatement(node, true, !context)
|
|
954
1061
|
}
|
|
955
1062
|
|
|
1063
|
+
var usingKind = this.isAwaitUsing(false) ? "await using" : this.isUsing(false) ? "using" : null;
|
|
1064
|
+
if (usingKind) {
|
|
1065
|
+
if (!this.allowUsing) {
|
|
1066
|
+
this.raise(this.start, "Using declaration cannot appear in the top level when source type is `script` or in the bare case statement");
|
|
1067
|
+
}
|
|
1068
|
+
if (context) {
|
|
1069
|
+
// Cases like `for (;;) using x = ...;`, `if (true) await using x = ...;`, etc. are not allowed.
|
|
1070
|
+
this.raise(this.start, "Using declaration is not allowed in single-statement positions");
|
|
1071
|
+
}
|
|
1072
|
+
if (usingKind === "await using") {
|
|
1073
|
+
if (!this.canAwait) {
|
|
1074
|
+
this.raise(this.start, "Await using cannot appear outside of async function");
|
|
1075
|
+
}
|
|
1076
|
+
this.next();
|
|
1077
|
+
}
|
|
1078
|
+
this.next();
|
|
1079
|
+
this.parseVar(node, false, usingKind);
|
|
1080
|
+
this.semicolon();
|
|
1081
|
+
return this.finishNode(node, "VariableDeclaration")
|
|
1082
|
+
}
|
|
1083
|
+
|
|
956
1084
|
var maybeName = this.value, expr = this.parseExpression();
|
|
957
1085
|
if (starttype === types$1.name && expr.type === "Identifier" && this.eat(types$1.colon))
|
|
958
1086
|
{ return this.parseLabeledStatement(node, maybeName, expr, context) }
|
|
@@ -1028,18 +1156,24 @@ pp$8.parseForStatement = function(node) {
|
|
|
1028
1156
|
this.next();
|
|
1029
1157
|
this.parseVar(init$1, true, kind);
|
|
1030
1158
|
this.finishNode(init$1, "VariableDeclaration");
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1159
|
+
return this.parseForAfterInit(node, init$1, awaitAt)
|
|
1160
|
+
}
|
|
1161
|
+
var startsWithLet = this.isContextual("let"), isForOf = false;
|
|
1162
|
+
|
|
1163
|
+
var usingKind = this.isUsing(true) ? "using" : this.isAwaitUsing(true) ? "await using" : null;
|
|
1164
|
+
if (usingKind) {
|
|
1165
|
+
var init$2 = this.startNode();
|
|
1166
|
+
this.next();
|
|
1167
|
+
if (usingKind === "await using") {
|
|
1168
|
+
if (!this.canAwait) {
|
|
1169
|
+
this.raise(this.start, "Await using cannot appear outside of async function");
|
|
1036
1170
|
}
|
|
1037
|
-
|
|
1171
|
+
this.next();
|
|
1038
1172
|
}
|
|
1039
|
-
|
|
1040
|
-
|
|
1173
|
+
this.parseVar(init$2, true, usingKind);
|
|
1174
|
+
this.finishNode(init$2, "VariableDeclaration");
|
|
1175
|
+
return this.parseForAfterInit(node, init$2, awaitAt)
|
|
1041
1176
|
}
|
|
1042
|
-
var startsWithLet = this.isContextual("let"), isForOf = false;
|
|
1043
1177
|
var containsEsc = this.containsEsc;
|
|
1044
1178
|
var refDestructuringErrors = new DestructuringErrors;
|
|
1045
1179
|
var initPos = this.start;
|
|
@@ -1065,6 +1199,21 @@ pp$8.parseForStatement = function(node) {
|
|
|
1065
1199
|
return this.parseFor(node, init)
|
|
1066
1200
|
};
|
|
1067
1201
|
|
|
1202
|
+
// Helper method to parse for loop after variable initialization
|
|
1203
|
+
pp$8.parseForAfterInit = function(node, init, awaitAt) {
|
|
1204
|
+
if ((this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of"))) && init.declarations.length === 1) {
|
|
1205
|
+
if (this.type === types$1._in) {
|
|
1206
|
+
if ((init.kind === "using" || init.kind === "await using") && !init.declarations[0].init) {
|
|
1207
|
+
this.raise(this.start, "Using declaration is not allowed in for-in loops");
|
|
1208
|
+
}
|
|
1209
|
+
if (this.options.ecmaVersion >= 9 && awaitAt > -1) { this.unexpected(awaitAt); }
|
|
1210
|
+
} else if (this.options.ecmaVersion >= 9) { node.await = awaitAt > -1; }
|
|
1211
|
+
return this.parseForIn(node, init)
|
|
1212
|
+
}
|
|
1213
|
+
if (awaitAt > -1) { this.unexpected(awaitAt); }
|
|
1214
|
+
return this.parseFor(node, init)
|
|
1215
|
+
};
|
|
1216
|
+
|
|
1068
1217
|
pp$8.parseFunctionStatement = function(node, isAsync, declarationPosition) {
|
|
1069
1218
|
this.next();
|
|
1070
1219
|
return this.parseFunction(node, FUNC_STATEMENT | (declarationPosition ? 0 : FUNC_HANGING_STATEMENT), false, isAsync)
|
|
@@ -1080,7 +1229,7 @@ pp$8.parseIfStatement = function(node) {
|
|
|
1080
1229
|
};
|
|
1081
1230
|
|
|
1082
1231
|
pp$8.parseReturnStatement = function(node) {
|
|
1083
|
-
if (!this.
|
|
1232
|
+
if (!this.allowReturn)
|
|
1084
1233
|
{ this.raise(this.start, "'return' outside of function"); }
|
|
1085
1234
|
this.next();
|
|
1086
1235
|
|
|
@@ -1099,7 +1248,7 @@ pp$8.parseSwitchStatement = function(node) {
|
|
|
1099
1248
|
node.cases = [];
|
|
1100
1249
|
this.expect(types$1.braceL);
|
|
1101
1250
|
this.labels.push(switchLabel);
|
|
1102
|
-
this.enterScope(
|
|
1251
|
+
this.enterScope(SCOPE_SWITCH);
|
|
1103
1252
|
|
|
1104
1253
|
// Statements under must be grouped (by label) in SwitchCase
|
|
1105
1254
|
// nodes. `cur` is used to keep the node that we are currently
|
|
@@ -1321,6 +1470,8 @@ pp$8.parseVar = function(node, isFor, kind, allowMissingInitializer) {
|
|
|
1321
1470
|
decl.init = this.parseMaybeAssign(isFor);
|
|
1322
1471
|
} else if (!allowMissingInitializer && kind === "const" && !(this.type === types$1._in || (this.options.ecmaVersion >= 6 && this.isContextual("of")))) {
|
|
1323
1472
|
this.unexpected();
|
|
1473
|
+
} else if (!allowMissingInitializer && (kind === "using" || kind === "await using") && this.options.ecmaVersion >= 17 && this.type !== types$1._in && !this.isContextual("of")) {
|
|
1474
|
+
this.raise(this.lastTokEnd, ("Missing initializer in " + kind + " declaration"));
|
|
1324
1475
|
} else if (!allowMissingInitializer && decl.id.type !== "Identifier" && !(isFor && (this.type === types$1._in || this.isContextual("of")))) {
|
|
1325
1476
|
this.raise(this.lastTokEnd, "Complex binding patterns require an initialization value");
|
|
1326
1477
|
} else {
|
|
@@ -1333,7 +1484,10 @@ pp$8.parseVar = function(node, isFor, kind, allowMissingInitializer) {
|
|
|
1333
1484
|
};
|
|
1334
1485
|
|
|
1335
1486
|
pp$8.parseVarId = function(decl, kind) {
|
|
1336
|
-
decl.id =
|
|
1487
|
+
decl.id = kind === "using" || kind === "await using"
|
|
1488
|
+
? this.parseIdent()
|
|
1489
|
+
: this.parseBindingAtom();
|
|
1490
|
+
|
|
1337
1491
|
this.checkLValPattern(decl.id, kind === "var" ? BIND_VAR : BIND_LEXICAL, false);
|
|
1338
1492
|
};
|
|
1339
1493
|
|
|
@@ -1552,11 +1706,9 @@ pp$8.parseClassField = function(field) {
|
|
|
1552
1706
|
|
|
1553
1707
|
if (this.eat(types$1.eq)) {
|
|
1554
1708
|
// To raise SyntaxError if 'arguments' exists in the initializer.
|
|
1555
|
-
|
|
1556
|
-
var inClassFieldInit = scope.inClassFieldInit;
|
|
1557
|
-
scope.inClassFieldInit = true;
|
|
1709
|
+
this.enterScope(SCOPE_CLASS_FIELD_INIT | SCOPE_SUPER);
|
|
1558
1710
|
field.value = this.parseMaybeAssign();
|
|
1559
|
-
|
|
1711
|
+
this.exitScope();
|
|
1560
1712
|
} else {
|
|
1561
1713
|
field.value = null;
|
|
1562
1714
|
}
|
|
@@ -1660,11 +1812,11 @@ function checkKeyName(node, name) {
|
|
|
1660
1812
|
|
|
1661
1813
|
// Parses module export declaration.
|
|
1662
1814
|
|
|
1663
|
-
pp$8.parseExportAllDeclaration = function(node, exports) {
|
|
1815
|
+
pp$8.parseExportAllDeclaration = function(node, exports$1) {
|
|
1664
1816
|
if (this.options.ecmaVersion >= 11) {
|
|
1665
1817
|
if (this.eatContextual("as")) {
|
|
1666
1818
|
node.exported = this.parseModuleExportName();
|
|
1667
|
-
this.checkExport(exports, node.exported, this.lastTokStart);
|
|
1819
|
+
this.checkExport(exports$1, node.exported, this.lastTokStart);
|
|
1668
1820
|
} else {
|
|
1669
1821
|
node.exported = null;
|
|
1670
1822
|
}
|
|
@@ -1672,18 +1824,20 @@ pp$8.parseExportAllDeclaration = function(node, exports) {
|
|
|
1672
1824
|
this.expectContextual("from");
|
|
1673
1825
|
if (this.type !== types$1.string) { this.unexpected(); }
|
|
1674
1826
|
node.source = this.parseExprAtom();
|
|
1827
|
+
if (this.options.ecmaVersion >= 16)
|
|
1828
|
+
{ node.attributes = this.parseWithClause(); }
|
|
1675
1829
|
this.semicolon();
|
|
1676
1830
|
return this.finishNode(node, "ExportAllDeclaration")
|
|
1677
1831
|
};
|
|
1678
1832
|
|
|
1679
|
-
pp$8.parseExport = function(node, exports) {
|
|
1833
|
+
pp$8.parseExport = function(node, exports$1) {
|
|
1680
1834
|
this.next();
|
|
1681
1835
|
// export * from '...'
|
|
1682
1836
|
if (this.eat(types$1.star)) {
|
|
1683
|
-
return this.parseExportAllDeclaration(node, exports)
|
|
1837
|
+
return this.parseExportAllDeclaration(node, exports$1)
|
|
1684
1838
|
}
|
|
1685
1839
|
if (this.eat(types$1._default)) { // export default ...
|
|
1686
|
-
this.checkExport(exports, "default", this.lastTokStart);
|
|
1840
|
+
this.checkExport(exports$1, "default", this.lastTokStart);
|
|
1687
1841
|
node.declaration = this.parseExportDefaultDeclaration();
|
|
1688
1842
|
return this.finishNode(node, "ExportDefaultDeclaration")
|
|
1689
1843
|
}
|
|
@@ -1691,17 +1845,21 @@ pp$8.parseExport = function(node, exports) {
|
|
|
1691
1845
|
if (this.shouldParseExportStatement()) {
|
|
1692
1846
|
node.declaration = this.parseExportDeclaration(node);
|
|
1693
1847
|
if (node.declaration.type === "VariableDeclaration")
|
|
1694
|
-
{ this.checkVariableExport(exports, node.declaration.declarations); }
|
|
1848
|
+
{ this.checkVariableExport(exports$1, node.declaration.declarations); }
|
|
1695
1849
|
else
|
|
1696
|
-
{ this.checkExport(exports, node.declaration.id, node.declaration.id.start); }
|
|
1850
|
+
{ this.checkExport(exports$1, node.declaration.id, node.declaration.id.start); }
|
|
1697
1851
|
node.specifiers = [];
|
|
1698
1852
|
node.source = null;
|
|
1853
|
+
if (this.options.ecmaVersion >= 16)
|
|
1854
|
+
{ node.attributes = []; }
|
|
1699
1855
|
} else { // export { x, y as z } [from '...']
|
|
1700
1856
|
node.declaration = null;
|
|
1701
|
-
node.specifiers = this.parseExportSpecifiers(exports);
|
|
1857
|
+
node.specifiers = this.parseExportSpecifiers(exports$1);
|
|
1702
1858
|
if (this.eatContextual("from")) {
|
|
1703
1859
|
if (this.type !== types$1.string) { this.unexpected(); }
|
|
1704
1860
|
node.source = this.parseExprAtom();
|
|
1861
|
+
if (this.options.ecmaVersion >= 16)
|
|
1862
|
+
{ node.attributes = this.parseWithClause(); }
|
|
1705
1863
|
} else {
|
|
1706
1864
|
for (var i = 0, list = node.specifiers; i < list.length; i += 1) {
|
|
1707
1865
|
// check for keywords used as local names
|
|
@@ -1717,6 +1875,8 @@ pp$8.parseExport = function(node, exports) {
|
|
|
1717
1875
|
}
|
|
1718
1876
|
|
|
1719
1877
|
node.source = null;
|
|
1878
|
+
if (this.options.ecmaVersion >= 16)
|
|
1879
|
+
{ node.attributes = []; }
|
|
1720
1880
|
}
|
|
1721
1881
|
this.semicolon();
|
|
1722
1882
|
}
|
|
@@ -1744,47 +1904,47 @@ pp$8.parseExportDefaultDeclaration = function() {
|
|
|
1744
1904
|
}
|
|
1745
1905
|
};
|
|
1746
1906
|
|
|
1747
|
-
pp$8.checkExport = function(exports, name, pos) {
|
|
1748
|
-
if (!exports) { return }
|
|
1907
|
+
pp$8.checkExport = function(exports$1, name, pos) {
|
|
1908
|
+
if (!exports$1) { return }
|
|
1749
1909
|
if (typeof name !== "string")
|
|
1750
1910
|
{ name = name.type === "Identifier" ? name.name : name.value; }
|
|
1751
|
-
if (hasOwn(exports, name))
|
|
1911
|
+
if (hasOwn(exports$1, name))
|
|
1752
1912
|
{ this.raiseRecoverable(pos, "Duplicate export '" + name + "'"); }
|
|
1753
|
-
exports[name] = true;
|
|
1913
|
+
exports$1[name] = true;
|
|
1754
1914
|
};
|
|
1755
1915
|
|
|
1756
|
-
pp$8.checkPatternExport = function(exports, pat) {
|
|
1916
|
+
pp$8.checkPatternExport = function(exports$1, pat) {
|
|
1757
1917
|
var type = pat.type;
|
|
1758
1918
|
if (type === "Identifier")
|
|
1759
|
-
{ this.checkExport(exports, pat, pat.start); }
|
|
1919
|
+
{ this.checkExport(exports$1, pat, pat.start); }
|
|
1760
1920
|
else if (type === "ObjectPattern")
|
|
1761
1921
|
{ for (var i = 0, list = pat.properties; i < list.length; i += 1)
|
|
1762
1922
|
{
|
|
1763
1923
|
var prop = list[i];
|
|
1764
1924
|
|
|
1765
|
-
this.checkPatternExport(exports, prop);
|
|
1925
|
+
this.checkPatternExport(exports$1, prop);
|
|
1766
1926
|
} }
|
|
1767
1927
|
else if (type === "ArrayPattern")
|
|
1768
1928
|
{ for (var i$1 = 0, list$1 = pat.elements; i$1 < list$1.length; i$1 += 1) {
|
|
1769
1929
|
var elt = list$1[i$1];
|
|
1770
1930
|
|
|
1771
|
-
if (elt) { this.checkPatternExport(exports, elt); }
|
|
1931
|
+
if (elt) { this.checkPatternExport(exports$1, elt); }
|
|
1772
1932
|
} }
|
|
1773
1933
|
else if (type === "Property")
|
|
1774
|
-
{ this.checkPatternExport(exports, pat.value); }
|
|
1934
|
+
{ this.checkPatternExport(exports$1, pat.value); }
|
|
1775
1935
|
else if (type === "AssignmentPattern")
|
|
1776
|
-
{ this.checkPatternExport(exports, pat.left); }
|
|
1936
|
+
{ this.checkPatternExport(exports$1, pat.left); }
|
|
1777
1937
|
else if (type === "RestElement")
|
|
1778
|
-
{ this.checkPatternExport(exports, pat.argument); }
|
|
1938
|
+
{ this.checkPatternExport(exports$1, pat.argument); }
|
|
1779
1939
|
};
|
|
1780
1940
|
|
|
1781
|
-
pp$8.checkVariableExport = function(exports, decls) {
|
|
1782
|
-
if (!exports) { return }
|
|
1941
|
+
pp$8.checkVariableExport = function(exports$1, decls) {
|
|
1942
|
+
if (!exports$1) { return }
|
|
1783
1943
|
for (var i = 0, list = decls; i < list.length; i += 1)
|
|
1784
1944
|
{
|
|
1785
1945
|
var decl = list[i];
|
|
1786
1946
|
|
|
1787
|
-
this.checkPatternExport(exports, decl.id);
|
|
1947
|
+
this.checkPatternExport(exports$1, decl.id);
|
|
1788
1948
|
}
|
|
1789
1949
|
};
|
|
1790
1950
|
|
|
@@ -1799,13 +1959,13 @@ pp$8.shouldParseExportStatement = function() {
|
|
|
1799
1959
|
|
|
1800
1960
|
// Parses a comma-separated list of module exports.
|
|
1801
1961
|
|
|
1802
|
-
pp$8.parseExportSpecifier = function(exports) {
|
|
1962
|
+
pp$8.parseExportSpecifier = function(exports$1) {
|
|
1803
1963
|
var node = this.startNode();
|
|
1804
1964
|
node.local = this.parseModuleExportName();
|
|
1805
1965
|
|
|
1806
1966
|
node.exported = this.eatContextual("as") ? this.parseModuleExportName() : node.local;
|
|
1807
1967
|
this.checkExport(
|
|
1808
|
-
exports,
|
|
1968
|
+
exports$1,
|
|
1809
1969
|
node.exported,
|
|
1810
1970
|
node.exported.start
|
|
1811
1971
|
);
|
|
@@ -1813,7 +1973,7 @@ pp$8.parseExportSpecifier = function(exports) {
|
|
|
1813
1973
|
return this.finishNode(node, "ExportSpecifier")
|
|
1814
1974
|
};
|
|
1815
1975
|
|
|
1816
|
-
pp$8.parseExportSpecifiers = function(exports) {
|
|
1976
|
+
pp$8.parseExportSpecifiers = function(exports$1) {
|
|
1817
1977
|
var nodes = [], first = true;
|
|
1818
1978
|
// export { x, y as z } [from '...']
|
|
1819
1979
|
this.expect(types$1.braceL);
|
|
@@ -1823,7 +1983,7 @@ pp$8.parseExportSpecifiers = function(exports) {
|
|
|
1823
1983
|
if (this.afterTrailingComma(types$1.braceR)) { break }
|
|
1824
1984
|
} else { first = false; }
|
|
1825
1985
|
|
|
1826
|
-
nodes.push(this.parseExportSpecifier(exports));
|
|
1986
|
+
nodes.push(this.parseExportSpecifier(exports$1));
|
|
1827
1987
|
}
|
|
1828
1988
|
return nodes
|
|
1829
1989
|
};
|
|
@@ -1842,6 +2002,8 @@ pp$8.parseImport = function(node) {
|
|
|
1842
2002
|
this.expectContextual("from");
|
|
1843
2003
|
node.source = this.type === types$1.string ? this.parseExprAtom() : this.unexpected();
|
|
1844
2004
|
}
|
|
2005
|
+
if (this.options.ecmaVersion >= 16)
|
|
2006
|
+
{ node.attributes = this.parseWithClause(); }
|
|
1845
2007
|
this.semicolon();
|
|
1846
2008
|
return this.finishNode(node, "ImportDeclaration")
|
|
1847
2009
|
};
|
|
@@ -1902,6 +2064,41 @@ pp$8.parseImportSpecifiers = function() {
|
|
|
1902
2064
|
return nodes
|
|
1903
2065
|
};
|
|
1904
2066
|
|
|
2067
|
+
pp$8.parseWithClause = function() {
|
|
2068
|
+
var nodes = [];
|
|
2069
|
+
if (!this.eat(types$1._with)) {
|
|
2070
|
+
return nodes
|
|
2071
|
+
}
|
|
2072
|
+
this.expect(types$1.braceL);
|
|
2073
|
+
var attributeKeys = {};
|
|
2074
|
+
var first = true;
|
|
2075
|
+
while (!this.eat(types$1.braceR)) {
|
|
2076
|
+
if (!first) {
|
|
2077
|
+
this.expect(types$1.comma);
|
|
2078
|
+
if (this.afterTrailingComma(types$1.braceR)) { break }
|
|
2079
|
+
} else { first = false; }
|
|
2080
|
+
|
|
2081
|
+
var attr = this.parseImportAttribute();
|
|
2082
|
+
var keyName = attr.key.type === "Identifier" ? attr.key.name : attr.key.value;
|
|
2083
|
+
if (hasOwn(attributeKeys, keyName))
|
|
2084
|
+
{ this.raiseRecoverable(attr.key.start, "Duplicate attribute key '" + keyName + "'"); }
|
|
2085
|
+
attributeKeys[keyName] = true;
|
|
2086
|
+
nodes.push(attr);
|
|
2087
|
+
}
|
|
2088
|
+
return nodes
|
|
2089
|
+
};
|
|
2090
|
+
|
|
2091
|
+
pp$8.parseImportAttribute = function() {
|
|
2092
|
+
var node = this.startNode();
|
|
2093
|
+
node.key = this.type === types$1.string ? this.parseExprAtom() : this.parseIdent(this.options.allowReserved !== "never");
|
|
2094
|
+
this.expect(types$1.colon);
|
|
2095
|
+
if (this.type !== types$1.string) {
|
|
2096
|
+
this.unexpected();
|
|
2097
|
+
}
|
|
2098
|
+
node.value = this.parseExprAtom();
|
|
2099
|
+
return this.finishNode(node, "ImportAttribute")
|
|
2100
|
+
};
|
|
2101
|
+
|
|
1905
2102
|
pp$8.parseModuleExportName = function() {
|
|
1906
2103
|
if (this.options.ecmaVersion >= 13 && this.type === types$1.string) {
|
|
1907
2104
|
var stringLiteral = this.parseLiteral(this.value);
|
|
@@ -2517,15 +2714,19 @@ pp$5.checkPropClash = function(prop, propHash, refDestructuringErrors) {
|
|
|
2517
2714
|
// delayed syntax error at correct position).
|
|
2518
2715
|
|
|
2519
2716
|
pp$5.parseExpression = function(forInit, refDestructuringErrors) {
|
|
2520
|
-
var
|
|
2521
|
-
|
|
2522
|
-
|
|
2523
|
-
var
|
|
2524
|
-
|
|
2525
|
-
|
|
2526
|
-
|
|
2527
|
-
|
|
2528
|
-
|
|
2717
|
+
var this$1$1 = this;
|
|
2718
|
+
|
|
2719
|
+
return this.catchStackOverflow(function () {
|
|
2720
|
+
var startPos = this$1$1.start, startLoc = this$1$1.startLoc;
|
|
2721
|
+
var expr = this$1$1.parseMaybeAssign(forInit, refDestructuringErrors);
|
|
2722
|
+
if (this$1$1.type === types$1.comma) {
|
|
2723
|
+
var node = this$1$1.startNodeAt(startPos, startLoc);
|
|
2724
|
+
node.expressions = [expr];
|
|
2725
|
+
while (this$1$1.eat(types$1.comma)) { node.expressions.push(this$1$1.parseMaybeAssign(forInit, refDestructuringErrors)); }
|
|
2726
|
+
return this$1$1.finishNode(node, "SequenceExpression")
|
|
2727
|
+
}
|
|
2728
|
+
return expr
|
|
2729
|
+
})
|
|
2529
2730
|
};
|
|
2530
2731
|
|
|
2531
2732
|
// Parse an assignment expression. This includes applications of
|
|
@@ -2590,7 +2791,7 @@ pp$5.parseMaybeConditional = function(forInit, refDestructuringErrors) {
|
|
|
2590
2791
|
var startPos = this.start, startLoc = this.startLoc;
|
|
2591
2792
|
var expr = this.parseExprOps(forInit, refDestructuringErrors);
|
|
2592
2793
|
if (this.checkExpressionErrors(refDestructuringErrors)) { return expr }
|
|
2593
|
-
if (this.eat(types$1.question)) {
|
|
2794
|
+
if (!(expr.type === "ArrowFunctionExpression" && expr.start === startPos) && this.eat(types$1.question)) {
|
|
2594
2795
|
var node = this.startNodeAt(startPos, startLoc);
|
|
2595
2796
|
node.test = expr;
|
|
2596
2797
|
node.consequent = this.parseMaybeAssign();
|
|
@@ -2690,7 +2891,7 @@ pp$5.parseMaybeUnary = function(refDestructuringErrors, sawUnary, incDec, forIni
|
|
|
2690
2891
|
}
|
|
2691
2892
|
}
|
|
2692
2893
|
|
|
2693
|
-
if (!incDec && this.eat(types$1.starstar)) {
|
|
2894
|
+
if (!incDec && !(expr.type === "ArrowFunctionExpression" && expr.start === startPos) && this.eat(types$1.starstar)) {
|
|
2694
2895
|
if (sawUnary)
|
|
2695
2896
|
{ this.unexpected(this.lastTokStart); }
|
|
2696
2897
|
else
|
|
@@ -2969,13 +3170,32 @@ pp$5.parseDynamicImport = function(node) {
|
|
|
2969
3170
|
// Parse node.source.
|
|
2970
3171
|
node.source = this.parseMaybeAssign();
|
|
2971
3172
|
|
|
2972
|
-
|
|
2973
|
-
|
|
2974
|
-
|
|
2975
|
-
|
|
2976
|
-
|
|
3173
|
+
if (this.options.ecmaVersion >= 16) {
|
|
3174
|
+
if (!this.eat(types$1.parenR)) {
|
|
3175
|
+
this.expect(types$1.comma);
|
|
3176
|
+
if (!this.afterTrailingComma(types$1.parenR)) {
|
|
3177
|
+
node.options = this.parseMaybeAssign();
|
|
3178
|
+
if (!this.eat(types$1.parenR)) {
|
|
3179
|
+
this.expect(types$1.comma);
|
|
3180
|
+
if (!this.afterTrailingComma(types$1.parenR)) {
|
|
3181
|
+
this.unexpected();
|
|
3182
|
+
}
|
|
3183
|
+
}
|
|
3184
|
+
} else {
|
|
3185
|
+
node.options = null;
|
|
3186
|
+
}
|
|
2977
3187
|
} else {
|
|
2978
|
-
|
|
3188
|
+
node.options = null;
|
|
3189
|
+
}
|
|
3190
|
+
} else {
|
|
3191
|
+
// Verify ending.
|
|
3192
|
+
if (!this.eat(types$1.parenR)) {
|
|
3193
|
+
var errorPos = this.start;
|
|
3194
|
+
if (this.eat(types$1.comma) && this.eat(types$1.parenR)) {
|
|
3195
|
+
this.raiseRecoverable(errorPos, "Trailing comma is not allowed in import()");
|
|
3196
|
+
} else {
|
|
3197
|
+
this.unexpected(errorPos);
|
|
3198
|
+
}
|
|
2979
3199
|
}
|
|
2980
3200
|
}
|
|
2981
3201
|
|
|
@@ -3002,7 +3222,8 @@ pp$5.parseLiteral = function(value) {
|
|
|
3002
3222
|
var node = this.startNode();
|
|
3003
3223
|
node.value = value;
|
|
3004
3224
|
node.raw = this.input.slice(this.start, this.end);
|
|
3005
|
-
if (node.raw.charCodeAt(node.raw.length - 1) === 110)
|
|
3225
|
+
if (node.raw.charCodeAt(node.raw.length - 1) === 110)
|
|
3226
|
+
{ node.bigint = node.value != null ? node.value.toString() : node.raw.slice(0, -1).replace(/_/g, ""); }
|
|
3006
3227
|
this.next();
|
|
3007
3228
|
return this.finishNode(node, "Literal")
|
|
3008
3229
|
};
|
|
@@ -3122,6 +3343,8 @@ pp$5.parseNew = function() {
|
|
|
3122
3343
|
}
|
|
3123
3344
|
var startPos = this.start, startLoc = this.startLoc;
|
|
3124
3345
|
node.callee = this.parseSubscripts(this.parseExprAtom(null, false, true), startPos, startLoc, true, false);
|
|
3346
|
+
if (node.callee.type === "Super")
|
|
3347
|
+
{ this.raiseRecoverable(startPos, "Invalid use of 'super'"); }
|
|
3125
3348
|
if (this.eat(types$1.parenL)) { node.arguments = this.parseExprList(types$1.parenR, this.options.ecmaVersion >= 8, false); }
|
|
3126
3349
|
else { node.arguments = empty; }
|
|
3127
3350
|
return this.finishNode(node, "NewExpression")
|
|
@@ -3240,9 +3463,10 @@ pp$5.parseProperty = function(isPattern, refDestructuringErrors) {
|
|
|
3240
3463
|
};
|
|
3241
3464
|
|
|
3242
3465
|
pp$5.parseGetterSetter = function(prop) {
|
|
3243
|
-
|
|
3466
|
+
var kind = prop.key.name;
|
|
3244
3467
|
this.parsePropertyName(prop);
|
|
3245
3468
|
prop.value = this.parseMethod(false);
|
|
3469
|
+
prop.kind = kind;
|
|
3246
3470
|
var paramCount = prop.kind === "get" ? 0 : 1;
|
|
3247
3471
|
if (prop.value.params.length !== paramCount) {
|
|
3248
3472
|
var start = prop.value.start;
|
|
@@ -3265,9 +3489,9 @@ pp$5.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startP
|
|
|
3265
3489
|
prop.kind = "init";
|
|
3266
3490
|
} else if (this.options.ecmaVersion >= 6 && this.type === types$1.parenL) {
|
|
3267
3491
|
if (isPattern) { this.unexpected(); }
|
|
3268
|
-
prop.kind = "init";
|
|
3269
3492
|
prop.method = true;
|
|
3270
3493
|
prop.value = this.parseMethod(isGenerator, isAsync);
|
|
3494
|
+
prop.kind = "init";
|
|
3271
3495
|
} else if (!isPattern && !containsEsc &&
|
|
3272
3496
|
this.options.ecmaVersion >= 5 && !prop.computed && prop.key.type === "Identifier" &&
|
|
3273
3497
|
(prop.key.name === "get" || prop.key.name === "set") &&
|
|
@@ -3279,7 +3503,6 @@ pp$5.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startP
|
|
|
3279
3503
|
this.checkUnreserved(prop.key);
|
|
3280
3504
|
if (prop.key.name === "await" && !this.awaitIdentPos)
|
|
3281
3505
|
{ this.awaitIdentPos = startPos; }
|
|
3282
|
-
prop.kind = "init";
|
|
3283
3506
|
if (isPattern) {
|
|
3284
3507
|
prop.value = this.parseMaybeDefault(startPos, startLoc, this.copyNode(prop.key));
|
|
3285
3508
|
} else if (this.type === types$1.eq && refDestructuringErrors) {
|
|
@@ -3289,6 +3512,7 @@ pp$5.parsePropertyValue = function(prop, isPattern, isGenerator, isAsync, startP
|
|
|
3289
3512
|
} else {
|
|
3290
3513
|
prop.value = this.copyNode(prop.key);
|
|
3291
3514
|
}
|
|
3515
|
+
prop.kind = "init";
|
|
3292
3516
|
prop.shorthand = true;
|
|
3293
3517
|
} else { this.unexpected(); }
|
|
3294
3518
|
};
|
|
@@ -3464,7 +3688,7 @@ pp$5.checkUnreserved = function(ref) {
|
|
|
3464
3688
|
{ this.raiseRecoverable(start, "Cannot use 'yield' as identifier inside a generator"); }
|
|
3465
3689
|
if (this.inAsync && name === "await")
|
|
3466
3690
|
{ this.raiseRecoverable(start, "Cannot use 'await' as identifier inside an async function"); }
|
|
3467
|
-
if (this.currentThisScope().
|
|
3691
|
+
if (!(this.currentThisScope().flags & SCOPE_VAR) && name === "arguments")
|
|
3468
3692
|
{ this.raiseRecoverable(start, "Cannot use 'arguments' in class field initializer"); }
|
|
3469
3693
|
if (this.inClassStaticBlock && (name === "arguments" || name === "await"))
|
|
3470
3694
|
{ this.raise(start, ("Cannot use " + name + " in class static initialization block")); }
|
|
@@ -3577,6 +3801,9 @@ var pp$4 = Parser.prototype;
|
|
|
3577
3801
|
pp$4.raise = function(pos, message) {
|
|
3578
3802
|
var loc = getLineInfo(this.input, pos);
|
|
3579
3803
|
message += " (" + loc.line + ":" + loc.column + ")";
|
|
3804
|
+
if (this.sourceFile) {
|
|
3805
|
+
message += " in " + this.sourceFile;
|
|
3806
|
+
}
|
|
3580
3807
|
var err = new SyntaxError(message);
|
|
3581
3808
|
err.pos = pos; err.loc = loc; err.raisedAt = this.pos;
|
|
3582
3809
|
throw err
|
|
@@ -3600,8 +3827,6 @@ var Scope = function Scope(flags) {
|
|
|
3600
3827
|
this.lexical = [];
|
|
3601
3828
|
// A list of lexically-declared FunctionDeclaration names in the current lexical scope
|
|
3602
3829
|
this.functions = [];
|
|
3603
|
-
// A switch to disallow the identifier reference 'arguments'
|
|
3604
|
-
this.inClassFieldInit = false;
|
|
3605
3830
|
};
|
|
3606
3831
|
|
|
3607
3832
|
// The functions in this module keep track of declared variables in the current scope in order to detect duplicate variable names.
|
|
@@ -3671,7 +3896,7 @@ pp$3.currentScope = function() {
|
|
|
3671
3896
|
pp$3.currentVarScope = function() {
|
|
3672
3897
|
for (var i = this.scopeStack.length - 1;; i--) {
|
|
3673
3898
|
var scope = this.scopeStack[i];
|
|
3674
|
-
if (scope.flags & SCOPE_VAR) { return scope }
|
|
3899
|
+
if (scope.flags & (SCOPE_VAR | SCOPE_CLASS_FIELD_INIT | SCOPE_CLASS_STATIC_BLOCK)) { return scope }
|
|
3675
3900
|
}
|
|
3676
3901
|
};
|
|
3677
3902
|
|
|
@@ -3679,7 +3904,8 @@ pp$3.currentVarScope = function() {
|
|
|
3679
3904
|
pp$3.currentThisScope = function() {
|
|
3680
3905
|
for (var i = this.scopeStack.length - 1;; i--) {
|
|
3681
3906
|
var scope = this.scopeStack[i];
|
|
3682
|
-
if (scope.flags & SCOPE_VAR
|
|
3907
|
+
if (scope.flags & (SCOPE_VAR | SCOPE_CLASS_FIELD_INIT | SCOPE_CLASS_STATIC_BLOCK) &&
|
|
3908
|
+
!(scope.flags & SCOPE_ARROW)) { return scope }
|
|
3683
3909
|
}
|
|
3684
3910
|
};
|
|
3685
3911
|
|
|
@@ -3735,6 +3961,9 @@ pp$2.copyNode = function(node) {
|
|
|
3735
3961
|
return newNode
|
|
3736
3962
|
};
|
|
3737
3963
|
|
|
3964
|
+
// This file was generated by "bin/generate-unicode-script-values.js". Do not modify manually!
|
|
3965
|
+
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";
|
|
3966
|
+
|
|
3738
3967
|
// This file contains Unicode properties extracted from the ECMAScript specification.
|
|
3739
3968
|
// The lists are extracted like so:
|
|
3740
3969
|
// $$('#table-binary-unicode-properties > figure > table > tbody > tr > td:nth-child(1) code').map(el => el.innerText)
|
|
@@ -3777,7 +4006,7 @@ var ecma10ScriptValues = ecma9ScriptValues + " Dogra Dogr Gunjala_Gondi Gong Han
|
|
|
3777
4006
|
var ecma11ScriptValues = ecma10ScriptValues + " Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho";
|
|
3778
4007
|
var ecma12ScriptValues = ecma11ScriptValues + " Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi";
|
|
3779
4008
|
var ecma13ScriptValues = ecma12ScriptValues + " Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith";
|
|
3780
|
-
var ecma14ScriptValues = ecma13ScriptValues + "
|
|
4009
|
+
var ecma14ScriptValues = ecma13ScriptValues + " " + scriptValuesAddedInUnicode;
|
|
3781
4010
|
|
|
3782
4011
|
var unicodeScriptValues = {
|
|
3783
4012
|
9: ecma9ScriptValues,
|
|
@@ -4202,12 +4431,41 @@ pp$1.regexp_eatReverseSolidusAtomEscape = function(state) {
|
|
|
4202
4431
|
pp$1.regexp_eatUncapturingGroup = function(state) {
|
|
4203
4432
|
var start = state.pos;
|
|
4204
4433
|
if (state.eat(0x28 /* ( */)) {
|
|
4205
|
-
if (state.eat(0x3F /* ? */)
|
|
4206
|
-
this.
|
|
4207
|
-
|
|
4208
|
-
|
|
4434
|
+
if (state.eat(0x3F /* ? */)) {
|
|
4435
|
+
if (this.options.ecmaVersion >= 16) {
|
|
4436
|
+
var addModifiers = this.regexp_eatModifiers(state);
|
|
4437
|
+
var hasHyphen = state.eat(0x2D /* - */);
|
|
4438
|
+
if (addModifiers || hasHyphen) {
|
|
4439
|
+
for (var i = 0; i < addModifiers.length; i++) {
|
|
4440
|
+
var modifier = addModifiers.charAt(i);
|
|
4441
|
+
if (addModifiers.indexOf(modifier, i + 1) > -1) {
|
|
4442
|
+
state.raise("Duplicate regular expression modifiers");
|
|
4443
|
+
}
|
|
4444
|
+
}
|
|
4445
|
+
if (hasHyphen) {
|
|
4446
|
+
var removeModifiers = this.regexp_eatModifiers(state);
|
|
4447
|
+
if (!addModifiers && !removeModifiers && state.current() === 0x3A /* : */) {
|
|
4448
|
+
state.raise("Invalid regular expression modifiers");
|
|
4449
|
+
}
|
|
4450
|
+
for (var i$1 = 0; i$1 < removeModifiers.length; i$1++) {
|
|
4451
|
+
var modifier$1 = removeModifiers.charAt(i$1);
|
|
4452
|
+
if (
|
|
4453
|
+
removeModifiers.indexOf(modifier$1, i$1 + 1) > -1 ||
|
|
4454
|
+
addModifiers.indexOf(modifier$1) > -1
|
|
4455
|
+
) {
|
|
4456
|
+
state.raise("Duplicate regular expression modifiers");
|
|
4457
|
+
}
|
|
4458
|
+
}
|
|
4459
|
+
}
|
|
4460
|
+
}
|
|
4461
|
+
}
|
|
4462
|
+
if (state.eat(0x3A /* : */)) {
|
|
4463
|
+
this.regexp_disjunction(state);
|
|
4464
|
+
if (state.eat(0x29 /* ) */)) {
|
|
4465
|
+
return true
|
|
4466
|
+
}
|
|
4467
|
+
state.raise("Unterminated group");
|
|
4209
4468
|
}
|
|
4210
|
-
state.raise("Unterminated group");
|
|
4211
4469
|
}
|
|
4212
4470
|
state.pos = start;
|
|
4213
4471
|
}
|
|
@@ -4229,6 +4487,23 @@ pp$1.regexp_eatCapturingGroup = function(state) {
|
|
|
4229
4487
|
}
|
|
4230
4488
|
return false
|
|
4231
4489
|
};
|
|
4490
|
+
// RegularExpressionModifiers ::
|
|
4491
|
+
// [empty]
|
|
4492
|
+
// RegularExpressionModifiers RegularExpressionModifier
|
|
4493
|
+
pp$1.regexp_eatModifiers = function(state) {
|
|
4494
|
+
var modifiers = "";
|
|
4495
|
+
var ch = 0;
|
|
4496
|
+
while ((ch = state.current()) !== -1 && isRegularExpressionModifier(ch)) {
|
|
4497
|
+
modifiers += codePointToString(ch);
|
|
4498
|
+
state.advance();
|
|
4499
|
+
}
|
|
4500
|
+
return modifiers
|
|
4501
|
+
};
|
|
4502
|
+
// RegularExpressionModifier :: one of
|
|
4503
|
+
// `i` `m` `s`
|
|
4504
|
+
function isRegularExpressionModifier(ch) {
|
|
4505
|
+
return ch === 0x69 /* i */ || ch === 0x6d /* m */ || ch === 0x73 /* s */
|
|
4506
|
+
}
|
|
4232
4507
|
|
|
4233
4508
|
// https://www.ecma-international.org/ecma-262/8.0/#prod-annexB-ExtendedAtom
|
|
4234
4509
|
pp$1.regexp_eatExtendedAtom = function(state) {
|
|
@@ -5248,13 +5523,17 @@ pp.readToken = function(code) {
|
|
|
5248
5523
|
return this.getTokenFromCode(code)
|
|
5249
5524
|
};
|
|
5250
5525
|
|
|
5251
|
-
pp.
|
|
5252
|
-
var code = this.input.charCodeAt(
|
|
5526
|
+
pp.fullCharCodeAt = function(pos) {
|
|
5527
|
+
var code = this.input.charCodeAt(pos);
|
|
5253
5528
|
if (code <= 0xd7ff || code >= 0xdc00) { return code }
|
|
5254
|
-
var next = this.input.charCodeAt(
|
|
5529
|
+
var next = this.input.charCodeAt(pos + 1);
|
|
5255
5530
|
return next <= 0xdbff || next >= 0xe000 ? code : (code << 10) + next - 0x35fdc00
|
|
5256
5531
|
};
|
|
5257
5532
|
|
|
5533
|
+
pp.fullCharCodeAtPos = function() {
|
|
5534
|
+
return this.fullCharCodeAt(this.pos)
|
|
5535
|
+
};
|
|
5536
|
+
|
|
5258
5537
|
pp.skipBlockComment = function() {
|
|
5259
5538
|
var startLoc = this.options.onComment && this.curPosition();
|
|
5260
5539
|
var start = this.pos, end = this.input.indexOf("*/", this.pos += 2);
|
|
@@ -5980,11 +6259,9 @@ pp.readWord = function() {
|
|
|
5980
6259
|
// Please use the [github bug tracker][ghbt] to report issues.
|
|
5981
6260
|
//
|
|
5982
6261
|
// [ghbt]: https://github.com/acornjs/acorn/issues
|
|
5983
|
-
//
|
|
5984
|
-
// [walk]: util/walk.js
|
|
5985
6262
|
|
|
5986
6263
|
|
|
5987
|
-
var version = "8.
|
|
6264
|
+
var version = "8.18.0";
|
|
5988
6265
|
|
|
5989
6266
|
Parser.acorn = {
|
|
5990
6267
|
Parser: Parser,
|