@galadrim/galadmin 0.1.37 → 0.1.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api.js +8 -2
- package/dist/api.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/api.ts +9 -2
- package/src/front/build/asset-manifest.json +3 -3
- package/src/front/build/index.html +1 -1
- package/src/front/build/static/js/{main.4ce5340d.chunk.js → main.8a63b422.chunk.js} +2 -2
- package/src/front/build/static/js/main.8a63b422.chunk.js.map +1 -0
- package/src/front/node_modules/.cache/.eslintcache +1 -1
- package/src/front/node_modules/.cache/babel-loader/0046fa6def7297665aceff65675276fb.json +1 -0
- package/src/front/node_modules/.cache/babel-loader/6b6404ad16b4fb247c0dfe43c03f4a02.json +1 -0
- package/src/front/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/ef/81/2c9ecc926af52757cb3670536bc07219d1ccfba4d898a451352553fa6634b48d69ec580dd7c756e5fbcdc72e870664ef6bd7dc1af98e94d9eb182ba93be9 +1 -0
- package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/{c2/e5/5451dd89bb0fd48f988bf27c7ee614c66eb91f7085c5b5c8cb33048d0c32 → 31/fe/6640db1983b9834e63d1a760fa17521e8cf616b567ef7114a0676aa6971a} +1 -1
- package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/6c/19/fe86ba5d7c4062f185480ad22dd3b9fae9b30149827224339f9a633a9a94 +1 -1
- package/src/front/node_modules/.cache/terser-webpack-plugin/index-v5/87/08/421190bfe6e50816e059da6c33526c9943732ef856ebd2752d0cbfb4a852 +1 -1
- package/src/front/node_modules/.package-lock.json +72 -72
- package/src/front/node_modules/@babel/code-frame/lib/index.js +5 -4
- package/src/front/node_modules/@babel/code-frame/lib/index.js.map +1 -1
- package/src/front/node_modules/@babel/code-frame/package.json +3 -2
- package/src/front/node_modules/@babel/core/lib/config/cache-contexts.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/caching.js +2 -2
- package/src/front/node_modules/@babel/core/lib/config/caching.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/config-chain.js +13 -13
- package/src/front/node_modules/@babel/core/lib/config/config-chain.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/config-descriptors.js +6 -6
- package/src/front/node_modules/@babel/core/lib/config/config-descriptors.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/files/configuration.js +44 -41
- package/src/front/node_modules/@babel/core/lib/config/files/configuration.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/files/import-meta-resolve.js +1 -1
- package/src/front/node_modules/@babel/core/lib/config/files/import-meta-resolve.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/files/index-browser.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/files/index.js +3 -3
- package/src/front/node_modules/@babel/core/lib/config/files/index.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/files/module-types.js +27 -8
- package/src/front/node_modules/@babel/core/lib/config/files/module-types.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/files/package.js +2 -2
- package/src/front/node_modules/@babel/core/lib/config/files/package.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/files/plugins.js +3 -3
- package/src/front/node_modules/@babel/core/lib/config/files/plugins.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/files/types.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/files/utils.js +2 -2
- package/src/front/node_modules/@babel/core/lib/config/files/utils.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/full.js +13 -13
- package/src/front/node_modules/@babel/core/lib/config/full.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/helpers/config-api.js +6 -6
- package/src/front/node_modules/@babel/core/lib/config/helpers/config-api.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/index.js +60 -40
- package/src/front/node_modules/@babel/core/lib/config/index.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/item.js +1 -1
- package/src/front/node_modules/@babel/core/lib/config/item.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/partial.js +15 -23
- package/src/front/node_modules/@babel/core/lib/config/partial.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/plugin.js +1 -1
- package/src/front/node_modules/@babel/core/lib/config/plugin.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/printer.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/resolve-targets-browser.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/resolve-targets.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/util.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/validation/option-assertions.js +1 -1
- package/src/front/node_modules/@babel/core/lib/config/validation/option-assertions.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/validation/options.js +3 -3
- package/src/front/node_modules/@babel/core/lib/config/validation/options.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/config/validation/plugins.js +1 -1
- package/src/front/node_modules/@babel/core/lib/config/validation/plugins.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/errors/config-error.js +1 -1
- package/src/front/node_modules/@babel/core/lib/errors/config-error.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/gensync-utils/functional.js +1 -1
- package/src/front/node_modules/@babel/core/lib/gensync-utils/functional.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/index.js +23 -23
- package/src/front/node_modules/@babel/core/lib/index.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/parse.js +6 -6
- package/src/front/node_modules/@babel/core/lib/parse.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/parser/index.js +1 -1
- package/src/front/node_modules/@babel/core/lib/parser/index.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/tools/build-external-helpers.js +1 -1
- package/src/front/node_modules/@babel/core/lib/tools/build-external-helpers.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/transform-ast.js +5 -5
- package/src/front/node_modules/@babel/core/lib/transform-ast.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/transform-file.js +5 -5
- package/src/front/node_modules/@babel/core/lib/transform-file.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/transform.js +5 -5
- package/src/front/node_modules/@babel/core/lib/transform.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/transformation/block-hoist-plugin.js +1 -1
- package/src/front/node_modules/@babel/core/lib/transformation/block-hoist-plugin.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/transformation/file/file.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/transformation/file/generate.js +1 -1
- package/src/front/node_modules/@babel/core/lib/transformation/file/generate.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/transformation/index.js +6 -6
- package/src/front/node_modules/@babel/core/lib/transformation/index.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/transformation/normalize-file.js +4 -4
- package/src/front/node_modules/@babel/core/lib/transformation/normalize-file.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/transformation/normalize-opts.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/transformation/plugin-pass.js.map +1 -1
- package/src/front/node_modules/@babel/core/lib/vendor/import-meta-resolve.js.map +1 -1
- package/src/front/node_modules/@babel/core/package.json +15 -15
- package/src/front/node_modules/@babel/core/src/config/files/index-browser.ts +2 -2
- package/src/front/node_modules/@babel/core/src/config/files/index.ts +4 -4
- package/src/front/node_modules/@babel/core/src/config/resolve-targets-browser.ts +1 -1
- package/src/front/node_modules/@babel/core/src/config/resolve-targets.ts +1 -1
- package/src/front/node_modules/@babel/core/src/transform-file.ts +5 -5
- package/src/front/node_modules/@babel/generator/lib/buffer.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/generators/base.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/generators/classes.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/generators/expressions.js +1 -1
- package/src/front/node_modules/@babel/generator/lib/generators/expressions.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/generators/flow.js +2 -2
- package/src/front/node_modules/@babel/generator/lib/generators/flow.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/generators/index.js +11 -11
- package/src/front/node_modules/@babel/generator/lib/generators/index.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/generators/jsx.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/generators/methods.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/generators/modules.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/generators/statements.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/generators/template-literals.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/generators/types.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/generators/typescript.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/index.js +2 -2
- package/src/front/node_modules/@babel/generator/lib/index.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/node/index.js +2 -2
- package/src/front/node_modules/@babel/generator/lib/node/index.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/node/whitespace.js.map +1 -1
- package/src/front/node_modules/@babel/generator/lib/printer.js +3 -3
- package/src/front/node_modules/@babel/generator/lib/printer.js.map +1 -1
- package/src/front/node_modules/@babel/generator/package.json +4 -4
- package/src/front/node_modules/@babel/helper-compilation-targets/lib/debug.js +2 -2
- package/src/front/node_modules/@babel/helper-compilation-targets/lib/debug.js.map +1 -1
- package/src/front/node_modules/@babel/helper-compilation-targets/lib/filter-items.js +1 -1
- package/src/front/node_modules/@babel/helper-compilation-targets/lib/filter-items.js.map +1 -1
- package/src/front/node_modules/@babel/helper-compilation-targets/lib/index.js +6 -6
- package/src/front/node_modules/@babel/helper-compilation-targets/lib/index.js.map +1 -1
- package/src/front/node_modules/@babel/helper-compilation-targets/lib/pretty.js +1 -1
- package/src/front/node_modules/@babel/helper-compilation-targets/lib/pretty.js.map +1 -1
- package/src/front/node_modules/@babel/helper-compilation-targets/lib/utils.js +1 -1
- package/src/front/node_modules/@babel/helper-compilation-targets/lib/utils.js.map +1 -1
- package/src/front/node_modules/@babel/helper-compilation-targets/package.json +2 -2
- package/src/front/node_modules/@babel/helper-module-imports/README.md +1 -1
- package/src/front/node_modules/@babel/helper-module-imports/lib/import-injector.js +2 -2
- package/src/front/node_modules/@babel/helper-module-imports/lib/import-injector.js.map +1 -1
- package/src/front/node_modules/@babel/helper-module-imports/lib/index.js +2 -2
- package/src/front/node_modules/@babel/helper-module-imports/lib/index.js.map +1 -1
- package/src/front/node_modules/@babel/helper-module-imports/package.json +4 -4
- package/src/front/node_modules/@babel/helper-module-transforms/lib/index.js +5 -5
- package/src/front/node_modules/@babel/helper-module-transforms/lib/index.js.map +1 -1
- package/src/front/node_modules/@babel/helper-module-transforms/lib/rewrite-live-references.js.map +1 -1
- package/src/front/node_modules/@babel/helper-module-transforms/package.json +5 -5
- package/src/front/node_modules/@babel/helper-validator-identifier/README.md +1 -1
- package/src/front/node_modules/@babel/helper-validator-identifier/lib/index.js +2 -2
- package/src/front/node_modules/@babel/helper-validator-identifier/lib/index.js.map +1 -1
- package/src/front/node_modules/@babel/helper-validator-identifier/package.json +1 -1
- package/src/front/node_modules/@babel/helper-validator-identifier/scripts/generate-identifier-regex.js +8 -6
- package/src/front/node_modules/@babel/helper-validator-option/README.md +1 -1
- package/src/front/node_modules/@babel/helper-validator-option/lib/index.js +2 -2
- package/src/front/node_modules/@babel/helper-validator-option/lib/index.js.map +1 -1
- package/src/front/node_modules/@babel/helper-validator-option/lib/validator.js +1 -1
- package/src/front/node_modules/@babel/helper-validator-option/lib/validator.js.map +1 -1
- package/src/front/node_modules/@babel/helper-validator-option/package.json +1 -1
- package/src/front/node_modules/@babel/helpers/lib/helpers-generated.js +21 -21
- package/src/front/node_modules/@babel/helpers/lib/helpers-generated.js.map +1 -1
- package/src/front/node_modules/@babel/helpers/lib/helpers.js +1 -1
- package/src/front/node_modules/@babel/helpers/lib/helpers.js.map +1 -1
- package/src/front/node_modules/@babel/helpers/lib/index.js +1 -1
- package/src/front/node_modules/@babel/helpers/lib/index.js.map +1 -1
- package/src/front/node_modules/@babel/helpers/package.json +7 -7
- package/src/front/node_modules/@babel/helpers/scripts/generate-helpers.js +1 -1
- package/src/front/node_modules/@babel/highlight/lib/index.js +6 -5
- package/src/front/node_modules/@babel/highlight/lib/index.js.map +1 -1
- package/src/front/node_modules/@babel/highlight/package.json +1 -1
- package/src/front/node_modules/@babel/parser/lib/index.js +52 -57
- package/src/front/node_modules/@babel/parser/lib/index.js.map +1 -1
- package/src/front/node_modules/@babel/parser/package.json +4 -4
- package/src/front/node_modules/@babel/template/README.md +1 -1
- package/src/front/node_modules/@babel/template/lib/builder.js +3 -3
- package/src/front/node_modules/@babel/template/lib/builder.js.map +1 -1
- package/src/front/node_modules/@babel/template/lib/index.js +2 -2
- package/src/front/node_modules/@babel/template/lib/index.js.map +1 -1
- package/src/front/node_modules/@babel/template/lib/literal.js +3 -3
- package/src/front/node_modules/@babel/template/lib/literal.js.map +1 -1
- package/src/front/node_modules/@babel/template/lib/parse.js.map +1 -1
- package/src/front/node_modules/@babel/template/lib/populate.js.map +1 -1
- package/src/front/node_modules/@babel/template/lib/string.js +3 -3
- package/src/front/node_modules/@babel/template/lib/string.js.map +1 -1
- package/src/front/node_modules/@babel/template/package.json +4 -4
- package/src/front/node_modules/@babel/traverse/lib/cache.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/context.js +2 -2
- package/src/front/node_modules/@babel/traverse/lib/context.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/hub.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/index.js +8 -8
- package/src/front/node_modules/@babel/traverse/lib/index.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/ancestry.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/comments.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/context.js +2 -2
- package/src/front/node_modules/@babel/traverse/lib/path/context.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/conversion.js +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/conversion.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/evaluation.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/family.js +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/family.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/index.js +17 -17
- package/src/front/node_modules/@babel/traverse/lib/path/index.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/inference/index.js +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/inference/index.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/inference/inferer-reference.js +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/inference/inferer-reference.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/inference/inferers.js +2 -2
- package/src/front/node_modules/@babel/traverse/lib/path/inference/inferers.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/introspection.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/lib/hoister.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/lib/removal-hooks.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/lib/virtual-types-validator.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/modification.js +3 -3
- package/src/front/node_modules/@babel/traverse/lib/path/modification.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/removal.js +3 -3
- package/src/front/node_modules/@babel/traverse/lib/path/removal.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/path/replacement.js +3 -3
- package/src/front/node_modules/@babel/traverse/lib/path/replacement.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/scope/binding.js +1 -3
- package/src/front/node_modules/@babel/traverse/lib/scope/binding.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/scope/index.js +5 -5
- package/src/front/node_modules/@babel/traverse/lib/scope/index.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/scope/lib/renamer.js +2 -2
- package/src/front/node_modules/@babel/traverse/lib/scope/lib/renamer.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/traverse-node.js +1 -1
- package/src/front/node_modules/@babel/traverse/lib/traverse-node.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/types.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/lib/visitors.js +1 -1
- package/src/front/node_modules/@babel/traverse/lib/visitors.js.map +1 -1
- package/src/front/node_modules/@babel/traverse/package.json +6 -6
- package/src/front/node_modules/@babel/types/lib/asserts/assertNode.js +1 -1
- package/src/front/node_modules/@babel/types/lib/asserts/assertNode.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/asserts/generated/index.js +2 -2
- package/src/front/node_modules/@babel/types/lib/asserts/generated/index.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/ast-types/generated/index.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js +3 -3
- package/src/front/node_modules/@babel/types/lib/builders/flow/createFlowUnionType.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js +9 -9
- package/src/front/node_modules/@babel/types/lib/builders/flow/createTypeAnnotationBasedOnTypeof.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/builders/generated/index.js +2 -2
- package/src/front/node_modules/@babel/types/lib/builders/generated/index.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/builders/generated/uppercase.js +1 -1
- package/src/front/node_modules/@babel/types/lib/builders/generated/uppercase.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/builders/react/buildChildren.js +5 -5
- package/src/front/node_modules/@babel/types/lib/builders/react/buildChildren.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js +5 -5
- package/src/front/node_modules/@babel/types/lib/builders/typescript/createTSUnionType.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/builders/validateNode.js +3 -3
- package/src/front/node_modules/@babel/types/lib/builders/validateNode.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/clone/clone.js +1 -1
- package/src/front/node_modules/@babel/types/lib/clone/clone.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/clone/cloneDeep.js +1 -1
- package/src/front/node_modules/@babel/types/lib/clone/cloneDeep.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js +1 -1
- package/src/front/node_modules/@babel/types/lib/clone/cloneDeepWithoutLoc.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/clone/cloneNode.js +6 -6
- package/src/front/node_modules/@babel/types/lib/clone/cloneNode.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js +1 -1
- package/src/front/node_modules/@babel/types/lib/clone/cloneWithoutLoc.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/comments/addComment.js +1 -1
- package/src/front/node_modules/@babel/types/lib/comments/addComment.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/comments/addComments.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/comments/inheritInnerComments.js +1 -1
- package/src/front/node_modules/@babel/types/lib/comments/inheritInnerComments.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/comments/inheritLeadingComments.js +1 -1
- package/src/front/node_modules/@babel/types/lib/comments/inheritLeadingComments.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/comments/inheritTrailingComments.js +1 -1
- package/src/front/node_modules/@babel/types/lib/comments/inheritTrailingComments.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/comments/inheritsComments.js +3 -3
- package/src/front/node_modules/@babel/types/lib/comments/inheritsComments.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/comments/removeComments.js +2 -2
- package/src/front/node_modules/@babel/types/lib/comments/removeComments.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/constants/generated/index.js +50 -50
- package/src/front/node_modules/@babel/types/lib/constants/generated/index.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/converters/ensureBlock.js +1 -1
- package/src/front/node_modules/@babel/types/lib/converters/ensureBlock.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js +14 -14
- package/src/front/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js +1 -1
- package/src/front/node_modules/@babel/types/lib/converters/toBindingIdentifierName.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/converters/toBlock.js +9 -9
- package/src/front/node_modules/@babel/types/lib/converters/toBlock.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/converters/toComputedKey.js +3 -3
- package/src/front/node_modules/@babel/types/lib/converters/toComputedKey.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/converters/toExpression.js +6 -6
- package/src/front/node_modules/@babel/types/lib/converters/toExpression.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/converters/toIdentifier.js +1 -1
- package/src/front/node_modules/@babel/types/lib/converters/toIdentifier.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/converters/toKeyAlias.js +5 -5
- package/src/front/node_modules/@babel/types/lib/converters/toKeyAlias.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/converters/toSequenceExpression.js +1 -1
- package/src/front/node_modules/@babel/types/lib/converters/toSequenceExpression.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/converters/toStatement.js +7 -7
- package/src/front/node_modules/@babel/types/lib/converters/toStatement.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/converters/valueToNode.js +17 -17
- package/src/front/node_modules/@babel/types/lib/converters/valueToNode.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/definitions/core.js +9 -9
- package/src/front/node_modules/@babel/types/lib/definitions/core.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/definitions/experimental.js +1 -1
- package/src/front/node_modules/@babel/types/lib/definitions/experimental.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/definitions/flow.js +1 -1
- package/src/front/node_modules/@babel/types/lib/definitions/flow.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/definitions/index.js +9 -9
- package/src/front/node_modules/@babel/types/lib/definitions/index.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/definitions/jsx.js +1 -1
- package/src/front/node_modules/@babel/types/lib/definitions/jsx.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/definitions/misc.js +2 -2
- package/src/front/node_modules/@babel/types/lib/definitions/misc.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/definitions/placeholders.js +1 -1
- package/src/front/node_modules/@babel/types/lib/definitions/placeholders.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/definitions/typescript.js +4 -4
- package/src/front/node_modules/@babel/types/lib/definitions/typescript.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/definitions/utils.js +2 -2
- package/src/front/node_modules/@babel/types/lib/definitions/utils.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/index-legacy.d.ts +10 -10
- package/src/front/node_modules/@babel/types/lib/index.d.ts +12 -12
- package/src/front/node_modules/@babel/types/lib/index.js +84 -84
- package/src/front/node_modules/@babel/types/lib/index.js.flow +10 -10
- package/src/front/node_modules/@babel/types/lib/index.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js +2 -2
- package/src/front/node_modules/@babel/types/lib/modifications/appendToMemberExpression.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js +6 -6
- package/src/front/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/modifications/inherits.js +4 -4
- package/src/front/node_modules/@babel/types/lib/modifications/inherits.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js +4 -4
- package/src/front/node_modules/@babel/types/lib/modifications/prependToMemberExpression.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/modifications/removeProperties.js +2 -2
- package/src/front/node_modules/@babel/types/lib/modifications/removeProperties.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js +2 -2
- package/src/front/node_modules/@babel/types/lib/modifications/removePropertiesDeep.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js +6 -6
- package/src/front/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js +6 -6
- package/src/front/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js +1 -1
- package/src/front/node_modules/@babel/types/lib/retrievers/getOuterBindingIdentifiers.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/traverse/traverse.js +2 -2
- package/src/front/node_modules/@babel/types/lib/traverse/traverse.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/traverse/traverseFast.js +2 -2
- package/src/front/node_modules/@babel/types/lib/traverse/traverseFast.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/utils/inherit.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js +3 -3
- package/src/front/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/buildMatchMemberExpression.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/generated/index.js +2 -2
- package/src/front/node_modules/@babel/types/lib/validators/generated/index.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/is.js +5 -5
- package/src/front/node_modules/@babel/types/lib/validators/is.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/isBinding.js +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/isBinding.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/isBlockScoped.js +3 -3
- package/src/front/node_modules/@babel/types/lib/validators/isBlockScoped.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/isImmutable.js +3 -3
- package/src/front/node_modules/@babel/types/lib/validators/isImmutable.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/isLet.js +3 -3
- package/src/front/node_modules/@babel/types/lib/validators/isLet.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/isNode.js +2 -2
- package/src/front/node_modules/@babel/types/lib/validators/isNode.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/isNodesEquivalent.js +3 -3
- package/src/front/node_modules/@babel/types/lib/validators/isNodesEquivalent.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/isPlaceholderType.js +2 -2
- package/src/front/node_modules/@babel/types/lib/validators/isPlaceholderType.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/isReferenced.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/isScope.js +4 -4
- package/src/front/node_modules/@babel/types/lib/validators/isScope.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/isSpecifierDefault.js +2 -2
- package/src/front/node_modules/@babel/types/lib/validators/isSpecifierDefault.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/isType.js +3 -3
- package/src/front/node_modules/@babel/types/lib/validators/isType.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/isValidES3Identifier.js +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/isValidES3Identifier.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/isVar.js +4 -4
- package/src/front/node_modules/@babel/types/lib/validators/isVar.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/matchesPattern.js +6 -6
- package/src/front/node_modules/@babel/types/lib/validators/matchesPattern.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/react/isReactComponent.js +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/react/isReactComponent.js.map +1 -1
- package/src/front/node_modules/@babel/types/lib/validators/validate.js +3 -3
- package/src/front/node_modules/@babel/types/lib/validators/validate.js.map +1 -1
- package/src/front/node_modules/@babel/types/package.json +4 -4
- package/src/front/node_modules/typescript/lib/lib.decorators.d.ts +17 -0
- package/src/front/node_modules/typescript/lib/lib.dom.d.ts +313 -90
- package/src/front/node_modules/typescript/lib/lib.es2015.collection.d.ts +9 -9
- package/src/front/node_modules/typescript/lib/lib.es2015.core.d.ts +2 -2
- package/src/front/node_modules/typescript/lib/lib.es2015.iterable.d.ts +4 -4
- package/src/front/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts +2 -2
- package/src/front/node_modules/typescript/lib/lib.es2017.d.ts +1 -0
- package/src/front/node_modules/typescript/lib/lib.es2017.date.d.ts +31 -0
- package/src/front/node_modules/typescript/lib/lib.es2020.bigint.d.ts +4 -4
- package/src/front/node_modules/typescript/lib/lib.es2021.weakref.d.ts +19 -16
- package/src/front/node_modules/typescript/lib/lib.es2023.array.d.ts +618 -36
- package/src/front/node_modules/typescript/lib/lib.es2023.collection.d.ts +21 -0
- package/src/front/node_modules/typescript/lib/lib.es2023.d.ts +1 -0
- package/src/front/node_modules/typescript/lib/lib.es5.d.ts +27 -18
- package/src/front/node_modules/typescript/lib/lib.esnext.d.ts +2 -0
- package/src/front/node_modules/typescript/lib/lib.esnext.decorators.d.ts +28 -0
- package/src/front/node_modules/typescript/lib/lib.esnext.disposable.d.ts +185 -0
- package/src/front/node_modules/typescript/lib/lib.webworker.d.ts +172 -33
- package/src/front/node_modules/typescript/lib/tsc.js +8311 -6557
- package/src/front/node_modules/typescript/lib/tsserver.js +11796 -9281
- package/src/front/node_modules/typescript/lib/tsserverlibrary.d.ts +287 -249
- package/src/front/node_modules/typescript/lib/tsserverlibrary.js +11801 -9288
- package/src/front/node_modules/typescript/lib/typescript.d.ts +274 -248
- package/src/front/node_modules/typescript/lib/typescript.js +11678 -9231
- package/src/front/node_modules/typescript/lib/typingsInstaller.js +1852 -1645
- package/src/front/node_modules/typescript/package.json +7 -7
- package/src/front/package-lock.json +144 -144
- package/src/front/src/components/inputs/FileInput.js +1 -0
- package/src/front/src/pages/Records.js +1 -0
- package/src/front/build/static/js/main.4ce5340d.chunk.js.map +0 -1
- package/src/front/node_modules/.cache/babel-loader/1dbf9b1b83cdf813e9dc5f561b9b97ac.json +0 -1
- package/src/front/node_modules/.cache/babel-loader/d88f947a76ac5f78797e69c737b6267e.json +0 -1
- package/src/front/node_modules/.cache/terser-webpack-plugin/content-v2/sha512/c3/3e/f2b5b90044b7bdbb4cff67b2c09e24bb506274240d920de24bb4b678f3f00b80f7e9f0900cd1de883484031488d8603e97ea6b4e39a9c6ab5160353d3be9 +0 -1
- package/src/front/node_modules/@babel/parser/lib/options.js +0 -44
- package/src/front/node_modules/@babel/parser/lib/options.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/parse-error/credentials.js +0 -28
- package/src/front/node_modules/@babel/parser/lib/parse-error/credentials.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/parse-error/module-errors.js +0 -20
- package/src/front/node_modules/@babel/parser/lib/parse-error/module-errors.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/parse-error/pipeline-operator-errors.js +0 -32
- package/src/front/node_modules/@babel/parser/lib/parse-error/pipeline-operator-errors.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/parse-error/standard-errors.js +0 -220
- package/src/front/node_modules/@babel/parser/lib/parse-error/standard-errors.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/parse-error/strict-mode-errors.js +0 -22
- package/src/front/node_modules/@babel/parser/lib/parse-error/strict-mode-errors.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/parse-error/to-node-description.js +0 -39
- package/src/front/node_modules/@babel/parser/lib/parse-error/to-node-description.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/parse-error.js +0 -106
- package/src/front/node_modules/@babel/parser/lib/parse-error.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/parser/base.js +0 -36
- package/src/front/node_modules/@babel/parser/lib/parser/base.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/parser/comments.js +0 -190
- package/src/front/node_modules/@babel/parser/lib/parser/comments.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/parser/expression.js +0 -1824
- package/src/front/node_modules/@babel/parser/lib/parser/expression.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/parser/index.js +0 -43
- package/src/front/node_modules/@babel/parser/lib/parser/index.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/parser/lval.js +0 -421
- package/src/front/node_modules/@babel/parser/lib/parser/lval.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/parser/node.js +0 -127
- package/src/front/node_modules/@babel/parser/lib/parser/node.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/parser/statement.js +0 -2033
- package/src/front/node_modules/@babel/parser/lib/parser/statement.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/parser/util.js +0 -238
- package/src/front/node_modules/@babel/parser/lib/parser/util.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/plugin-utils.js +0 -136
- package/src/front/node_modules/@babel/parser/lib/plugin-utils.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/plugins/estree.js +0 -340
- package/src/front/node_modules/@babel/parser/lib/plugins/estree.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/plugins/flow/index.js +0 -2474
- package/src/front/node_modules/@babel/parser/lib/plugins/flow/index.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/plugins/flow/scope.js +0 -44
- package/src/front/node_modules/@babel/parser/lib/plugins/flow/scope.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/plugins/jsx/index.js +0 -444
- package/src/front/node_modules/@babel/parser/lib/plugins/jsx/index.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/plugins/jsx/xhtml.js +0 -266
- package/src/front/node_modules/@babel/parser/lib/plugins/jsx/xhtml.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/plugins/placeholders.js +0 -198
- package/src/front/node_modules/@babel/parser/lib/plugins/placeholders.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/plugins/typescript/index.js +0 -2656
- package/src/front/node_modules/@babel/parser/lib/plugins/typescript/index.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/plugins/typescript/scope.js +0 -121
- package/src/front/node_modules/@babel/parser/lib/plugins/typescript/scope.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/plugins/v8intrinsic.js +0 -31
- package/src/front/node_modules/@babel/parser/lib/plugins/v8intrinsic.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/tokenizer/context.js +0 -27
- package/src/front/node_modules/@babel/parser/lib/tokenizer/context.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/tokenizer/index.js +0 -1119
- package/src/front/node_modules/@babel/parser/lib/tokenizer/index.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/tokenizer/state.js +0 -82
- package/src/front/node_modules/@babel/parser/lib/tokenizer/state.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/tokenizer/types.js +0 -586
- package/src/front/node_modules/@babel/parser/lib/tokenizer/types.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/util/class-scope.js +0 -92
- package/src/front/node_modules/@babel/parser/lib/util/class-scope.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/util/expression-scope.js +0 -142
- package/src/front/node_modules/@babel/parser/lib/util/expression-scope.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/util/identifier.js +0 -62
- package/src/front/node_modules/@babel/parser/lib/util/identifier.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/util/location.js +0 -39
- package/src/front/node_modules/@babel/parser/lib/util/location.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/util/production-parameter.js +0 -49
- package/src/front/node_modules/@babel/parser/lib/util/production-parameter.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/util/scope.js +0 -161
- package/src/front/node_modules/@babel/parser/lib/util/scope.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/util/scopeflags.js +0 -67
- package/src/front/node_modules/@babel/parser/lib/util/scopeflags.js.map +0 -1
- package/src/front/node_modules/@babel/parser/lib/util/whitespace.js +0 -59
- package/src/front/node_modules/@babel/parser/lib/util/whitespace.js.map +0 -1
|
@@ -1,444 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = void 0;
|
|
7
|
-
var _xhtml = require("./xhtml");
|
|
8
|
-
var _types = require("../../tokenizer/types");
|
|
9
|
-
var _context = require("../../tokenizer/context");
|
|
10
|
-
var _identifier = require("../../util/identifier");
|
|
11
|
-
var _whitespace = require("../../util/whitespace");
|
|
12
|
-
var _parseError = require("../../parse-error");
|
|
13
|
-
const JsxErrors = (0, _parseError.ParseErrorEnum)`jsx`({
|
|
14
|
-
AttributeIsEmpty: "JSX attributes must only be assigned a non-empty expression.",
|
|
15
|
-
MissingClosingTagElement: ({
|
|
16
|
-
openingTagName
|
|
17
|
-
}) => `Expected corresponding JSX closing tag for <${openingTagName}>.`,
|
|
18
|
-
MissingClosingTagFragment: "Expected corresponding JSX closing tag for <>.",
|
|
19
|
-
UnexpectedSequenceExpression: "Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?",
|
|
20
|
-
UnexpectedToken: ({
|
|
21
|
-
unexpected,
|
|
22
|
-
HTMLEntity
|
|
23
|
-
}) => `Unexpected token \`${unexpected}\`. Did you mean \`${HTMLEntity}\` or \`{'${unexpected}'}\`?`,
|
|
24
|
-
UnsupportedJsxValue: "JSX value should be either an expression or a quoted JSX text.",
|
|
25
|
-
UnterminatedJsxContent: "Unterminated JSX contents.",
|
|
26
|
-
UnwrappedAdjacentJSXElements: "Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...</>?"
|
|
27
|
-
});
|
|
28
|
-
function isFragment(object) {
|
|
29
|
-
return object ? object.type === "JSXOpeningFragment" || object.type === "JSXClosingFragment" : false;
|
|
30
|
-
}
|
|
31
|
-
function getQualifiedJSXName(object) {
|
|
32
|
-
if (object.type === "JSXIdentifier") {
|
|
33
|
-
return object.name;
|
|
34
|
-
}
|
|
35
|
-
if (object.type === "JSXNamespacedName") {
|
|
36
|
-
return object.namespace.name + ":" + object.name.name;
|
|
37
|
-
}
|
|
38
|
-
if (object.type === "JSXMemberExpression") {
|
|
39
|
-
return getQualifiedJSXName(object.object) + "." + getQualifiedJSXName(object.property);
|
|
40
|
-
}
|
|
41
|
-
throw new Error("Node had unexpected type: " + object.type);
|
|
42
|
-
}
|
|
43
|
-
var _default = superClass => class JSXParserMixin extends superClass {
|
|
44
|
-
jsxReadToken() {
|
|
45
|
-
let out = "";
|
|
46
|
-
let chunkStart = this.state.pos;
|
|
47
|
-
for (;;) {
|
|
48
|
-
if (this.state.pos >= this.length) {
|
|
49
|
-
throw this.raise(JsxErrors.UnterminatedJsxContent, {
|
|
50
|
-
at: this.state.startLoc
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
const ch = this.input.charCodeAt(this.state.pos);
|
|
54
|
-
switch (ch) {
|
|
55
|
-
case 60:
|
|
56
|
-
case 123:
|
|
57
|
-
if (this.state.pos === this.state.start) {
|
|
58
|
-
if (ch === 60 && this.state.canStartJSXElement) {
|
|
59
|
-
++this.state.pos;
|
|
60
|
-
this.finishToken(140);
|
|
61
|
-
} else {
|
|
62
|
-
super.getTokenFromCode(ch);
|
|
63
|
-
}
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
out += this.input.slice(chunkStart, this.state.pos);
|
|
67
|
-
this.finishToken(139, out);
|
|
68
|
-
return;
|
|
69
|
-
case 38:
|
|
70
|
-
out += this.input.slice(chunkStart, this.state.pos);
|
|
71
|
-
out += this.jsxReadEntity();
|
|
72
|
-
chunkStart = this.state.pos;
|
|
73
|
-
break;
|
|
74
|
-
case 62:
|
|
75
|
-
case 125:
|
|
76
|
-
;
|
|
77
|
-
default:
|
|
78
|
-
if ((0, _whitespace.isNewLine)(ch)) {
|
|
79
|
-
out += this.input.slice(chunkStart, this.state.pos);
|
|
80
|
-
out += this.jsxReadNewLine(true);
|
|
81
|
-
chunkStart = this.state.pos;
|
|
82
|
-
} else {
|
|
83
|
-
++this.state.pos;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
jsxReadNewLine(normalizeCRLF) {
|
|
89
|
-
const ch = this.input.charCodeAt(this.state.pos);
|
|
90
|
-
let out;
|
|
91
|
-
++this.state.pos;
|
|
92
|
-
if (ch === 13 && this.input.charCodeAt(this.state.pos) === 10) {
|
|
93
|
-
++this.state.pos;
|
|
94
|
-
out = normalizeCRLF ? "\n" : "\r\n";
|
|
95
|
-
} else {
|
|
96
|
-
out = String.fromCharCode(ch);
|
|
97
|
-
}
|
|
98
|
-
++this.state.curLine;
|
|
99
|
-
this.state.lineStart = this.state.pos;
|
|
100
|
-
return out;
|
|
101
|
-
}
|
|
102
|
-
jsxReadString(quote) {
|
|
103
|
-
let out = "";
|
|
104
|
-
let chunkStart = ++this.state.pos;
|
|
105
|
-
for (;;) {
|
|
106
|
-
if (this.state.pos >= this.length) {
|
|
107
|
-
throw this.raise(_parseError.Errors.UnterminatedString, {
|
|
108
|
-
at: this.state.startLoc
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
const ch = this.input.charCodeAt(this.state.pos);
|
|
112
|
-
if (ch === quote) break;
|
|
113
|
-
if (ch === 38) {
|
|
114
|
-
out += this.input.slice(chunkStart, this.state.pos);
|
|
115
|
-
out += this.jsxReadEntity();
|
|
116
|
-
chunkStart = this.state.pos;
|
|
117
|
-
} else if ((0, _whitespace.isNewLine)(ch)) {
|
|
118
|
-
out += this.input.slice(chunkStart, this.state.pos);
|
|
119
|
-
out += this.jsxReadNewLine(false);
|
|
120
|
-
chunkStart = this.state.pos;
|
|
121
|
-
} else {
|
|
122
|
-
++this.state.pos;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
out += this.input.slice(chunkStart, this.state.pos++);
|
|
126
|
-
this.finishToken(131, out);
|
|
127
|
-
}
|
|
128
|
-
jsxReadEntity() {
|
|
129
|
-
const startPos = ++this.state.pos;
|
|
130
|
-
if (this.codePointAtPos(this.state.pos) === 35) {
|
|
131
|
-
++this.state.pos;
|
|
132
|
-
let radix = 10;
|
|
133
|
-
if (this.codePointAtPos(this.state.pos) === 120) {
|
|
134
|
-
radix = 16;
|
|
135
|
-
++this.state.pos;
|
|
136
|
-
}
|
|
137
|
-
const codePoint = this.readInt(radix, undefined, false, "bail");
|
|
138
|
-
if (codePoint !== null && this.codePointAtPos(this.state.pos) === 59) {
|
|
139
|
-
++this.state.pos;
|
|
140
|
-
return String.fromCodePoint(codePoint);
|
|
141
|
-
}
|
|
142
|
-
} else {
|
|
143
|
-
let count = 0;
|
|
144
|
-
let semi = false;
|
|
145
|
-
while (count++ < 10 && this.state.pos < this.length && !(semi = this.codePointAtPos(this.state.pos) == 59)) {
|
|
146
|
-
++this.state.pos;
|
|
147
|
-
}
|
|
148
|
-
if (semi) {
|
|
149
|
-
const desc = this.input.slice(startPos, this.state.pos);
|
|
150
|
-
const entity = _xhtml.default[desc];
|
|
151
|
-
++this.state.pos;
|
|
152
|
-
if (entity) {
|
|
153
|
-
return entity;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
this.state.pos = startPos;
|
|
158
|
-
return "&";
|
|
159
|
-
}
|
|
160
|
-
jsxReadWord() {
|
|
161
|
-
let ch;
|
|
162
|
-
const start = this.state.pos;
|
|
163
|
-
do {
|
|
164
|
-
ch = this.input.charCodeAt(++this.state.pos);
|
|
165
|
-
} while ((0, _identifier.isIdentifierChar)(ch) || ch === 45);
|
|
166
|
-
this.finishToken(138, this.input.slice(start, this.state.pos));
|
|
167
|
-
}
|
|
168
|
-
jsxParseIdentifier() {
|
|
169
|
-
const node = this.startNode();
|
|
170
|
-
if (this.match(138)) {
|
|
171
|
-
node.name = this.state.value;
|
|
172
|
-
} else if ((0, _types.tokenIsKeyword)(this.state.type)) {
|
|
173
|
-
node.name = (0, _types.tokenLabelName)(this.state.type);
|
|
174
|
-
} else {
|
|
175
|
-
this.unexpected();
|
|
176
|
-
}
|
|
177
|
-
this.next();
|
|
178
|
-
return this.finishNode(node, "JSXIdentifier");
|
|
179
|
-
}
|
|
180
|
-
jsxParseNamespacedName() {
|
|
181
|
-
const startLoc = this.state.startLoc;
|
|
182
|
-
const name = this.jsxParseIdentifier();
|
|
183
|
-
if (!this.eat(14)) return name;
|
|
184
|
-
const node = this.startNodeAt(startLoc);
|
|
185
|
-
node.namespace = name;
|
|
186
|
-
node.name = this.jsxParseIdentifier();
|
|
187
|
-
return this.finishNode(node, "JSXNamespacedName");
|
|
188
|
-
}
|
|
189
|
-
jsxParseElementName() {
|
|
190
|
-
const startLoc = this.state.startLoc;
|
|
191
|
-
let node = this.jsxParseNamespacedName();
|
|
192
|
-
if (node.type === "JSXNamespacedName") {
|
|
193
|
-
return node;
|
|
194
|
-
}
|
|
195
|
-
while (this.eat(16)) {
|
|
196
|
-
const newNode = this.startNodeAt(startLoc);
|
|
197
|
-
newNode.object = node;
|
|
198
|
-
newNode.property = this.jsxParseIdentifier();
|
|
199
|
-
node = this.finishNode(newNode, "JSXMemberExpression");
|
|
200
|
-
}
|
|
201
|
-
return node;
|
|
202
|
-
}
|
|
203
|
-
jsxParseAttributeValue() {
|
|
204
|
-
let node;
|
|
205
|
-
switch (this.state.type) {
|
|
206
|
-
case 5:
|
|
207
|
-
node = this.startNode();
|
|
208
|
-
this.setContext(_context.types.brace);
|
|
209
|
-
this.next();
|
|
210
|
-
node = this.jsxParseExpressionContainer(node, _context.types.j_oTag);
|
|
211
|
-
if (node.expression.type === "JSXEmptyExpression") {
|
|
212
|
-
this.raise(JsxErrors.AttributeIsEmpty, {
|
|
213
|
-
at: node
|
|
214
|
-
});
|
|
215
|
-
}
|
|
216
|
-
return node;
|
|
217
|
-
case 140:
|
|
218
|
-
case 131:
|
|
219
|
-
return this.parseExprAtom();
|
|
220
|
-
default:
|
|
221
|
-
throw this.raise(JsxErrors.UnsupportedJsxValue, {
|
|
222
|
-
at: this.state.startLoc
|
|
223
|
-
});
|
|
224
|
-
}
|
|
225
|
-
}
|
|
226
|
-
jsxParseEmptyExpression() {
|
|
227
|
-
const node = this.startNodeAt(this.state.lastTokEndLoc);
|
|
228
|
-
return this.finishNodeAt(node, "JSXEmptyExpression", this.state.startLoc);
|
|
229
|
-
}
|
|
230
|
-
jsxParseSpreadChild(node) {
|
|
231
|
-
this.next();
|
|
232
|
-
node.expression = this.parseExpression();
|
|
233
|
-
this.setContext(_context.types.j_expr);
|
|
234
|
-
this.state.canStartJSXElement = true;
|
|
235
|
-
this.expect(8);
|
|
236
|
-
return this.finishNode(node, "JSXSpreadChild");
|
|
237
|
-
}
|
|
238
|
-
jsxParseExpressionContainer(node, previousContext) {
|
|
239
|
-
if (this.match(8)) {
|
|
240
|
-
node.expression = this.jsxParseEmptyExpression();
|
|
241
|
-
} else {
|
|
242
|
-
const expression = this.parseExpression();
|
|
243
|
-
;
|
|
244
|
-
node.expression = expression;
|
|
245
|
-
}
|
|
246
|
-
this.setContext(previousContext);
|
|
247
|
-
this.state.canStartJSXElement = true;
|
|
248
|
-
this.expect(8);
|
|
249
|
-
return this.finishNode(node, "JSXExpressionContainer");
|
|
250
|
-
}
|
|
251
|
-
jsxParseAttribute() {
|
|
252
|
-
const node = this.startNode();
|
|
253
|
-
if (this.match(5)) {
|
|
254
|
-
this.setContext(_context.types.brace);
|
|
255
|
-
this.next();
|
|
256
|
-
this.expect(21);
|
|
257
|
-
node.argument = this.parseMaybeAssignAllowIn();
|
|
258
|
-
this.setContext(_context.types.j_oTag);
|
|
259
|
-
this.state.canStartJSXElement = true;
|
|
260
|
-
this.expect(8);
|
|
261
|
-
return this.finishNode(node, "JSXSpreadAttribute");
|
|
262
|
-
}
|
|
263
|
-
node.name = this.jsxParseNamespacedName();
|
|
264
|
-
node.value = this.eat(29) ? this.jsxParseAttributeValue() : null;
|
|
265
|
-
return this.finishNode(node, "JSXAttribute");
|
|
266
|
-
}
|
|
267
|
-
jsxParseOpeningElementAt(startLoc) {
|
|
268
|
-
const node = this.startNodeAt(startLoc);
|
|
269
|
-
if (this.eat(141)) {
|
|
270
|
-
return this.finishNode(node, "JSXOpeningFragment");
|
|
271
|
-
}
|
|
272
|
-
node.name = this.jsxParseElementName();
|
|
273
|
-
return this.jsxParseOpeningElementAfterName(node);
|
|
274
|
-
}
|
|
275
|
-
jsxParseOpeningElementAfterName(node) {
|
|
276
|
-
const attributes = [];
|
|
277
|
-
while (!this.match(56) && !this.match(141)) {
|
|
278
|
-
attributes.push(this.jsxParseAttribute());
|
|
279
|
-
}
|
|
280
|
-
node.attributes = attributes;
|
|
281
|
-
node.selfClosing = this.eat(56);
|
|
282
|
-
this.expect(141);
|
|
283
|
-
return this.finishNode(node, "JSXOpeningElement");
|
|
284
|
-
}
|
|
285
|
-
jsxParseClosingElementAt(startLoc) {
|
|
286
|
-
const node = this.startNodeAt(startLoc);
|
|
287
|
-
if (this.eat(141)) {
|
|
288
|
-
return this.finishNode(node, "JSXClosingFragment");
|
|
289
|
-
}
|
|
290
|
-
node.name = this.jsxParseElementName();
|
|
291
|
-
this.expect(141);
|
|
292
|
-
return this.finishNode(node, "JSXClosingElement");
|
|
293
|
-
}
|
|
294
|
-
jsxParseElementAt(startLoc) {
|
|
295
|
-
const node = this.startNodeAt(startLoc);
|
|
296
|
-
const children = [];
|
|
297
|
-
const openingElement = this.jsxParseOpeningElementAt(startLoc);
|
|
298
|
-
let closingElement = null;
|
|
299
|
-
if (!openingElement.selfClosing) {
|
|
300
|
-
contents: for (;;) {
|
|
301
|
-
switch (this.state.type) {
|
|
302
|
-
case 140:
|
|
303
|
-
startLoc = this.state.startLoc;
|
|
304
|
-
this.next();
|
|
305
|
-
if (this.eat(56)) {
|
|
306
|
-
closingElement = this.jsxParseClosingElementAt(startLoc);
|
|
307
|
-
break contents;
|
|
308
|
-
}
|
|
309
|
-
children.push(this.jsxParseElementAt(startLoc));
|
|
310
|
-
break;
|
|
311
|
-
case 139:
|
|
312
|
-
children.push(this.parseExprAtom());
|
|
313
|
-
break;
|
|
314
|
-
case 5:
|
|
315
|
-
{
|
|
316
|
-
const node = this.startNode();
|
|
317
|
-
this.setContext(_context.types.brace);
|
|
318
|
-
this.next();
|
|
319
|
-
if (this.match(21)) {
|
|
320
|
-
children.push(this.jsxParseSpreadChild(node));
|
|
321
|
-
} else {
|
|
322
|
-
children.push(this.jsxParseExpressionContainer(node, _context.types.j_expr));
|
|
323
|
-
}
|
|
324
|
-
break;
|
|
325
|
-
}
|
|
326
|
-
default:
|
|
327
|
-
this.unexpected();
|
|
328
|
-
}
|
|
329
|
-
}
|
|
330
|
-
if (isFragment(openingElement) && !isFragment(closingElement) && closingElement !== null) {
|
|
331
|
-
this.raise(JsxErrors.MissingClosingTagFragment, {
|
|
332
|
-
at: closingElement
|
|
333
|
-
});
|
|
334
|
-
} else if (!isFragment(openingElement) && isFragment(closingElement)) {
|
|
335
|
-
this.raise(JsxErrors.MissingClosingTagElement, {
|
|
336
|
-
at: closingElement,
|
|
337
|
-
openingTagName: getQualifiedJSXName(openingElement.name)
|
|
338
|
-
});
|
|
339
|
-
} else if (!isFragment(openingElement) && !isFragment(closingElement)) {
|
|
340
|
-
if (getQualifiedJSXName(closingElement.name) !== getQualifiedJSXName(openingElement.name)) {
|
|
341
|
-
this.raise(JsxErrors.MissingClosingTagElement, {
|
|
342
|
-
at: closingElement,
|
|
343
|
-
openingTagName: getQualifiedJSXName(openingElement.name)
|
|
344
|
-
});
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
}
|
|
348
|
-
if (isFragment(openingElement)) {
|
|
349
|
-
node.openingFragment = openingElement;
|
|
350
|
-
node.closingFragment = closingElement;
|
|
351
|
-
} else {
|
|
352
|
-
node.openingElement = openingElement;
|
|
353
|
-
node.closingElement = closingElement;
|
|
354
|
-
}
|
|
355
|
-
node.children = children;
|
|
356
|
-
if (this.match(47)) {
|
|
357
|
-
throw this.raise(JsxErrors.UnwrappedAdjacentJSXElements, {
|
|
358
|
-
at: this.state.startLoc
|
|
359
|
-
});
|
|
360
|
-
}
|
|
361
|
-
return isFragment(openingElement) ? this.finishNode(node, "JSXFragment") : this.finishNode(node, "JSXElement");
|
|
362
|
-
}
|
|
363
|
-
jsxParseElement() {
|
|
364
|
-
const startLoc = this.state.startLoc;
|
|
365
|
-
this.next();
|
|
366
|
-
return this.jsxParseElementAt(startLoc);
|
|
367
|
-
}
|
|
368
|
-
setContext(newContext) {
|
|
369
|
-
const {
|
|
370
|
-
context
|
|
371
|
-
} = this.state;
|
|
372
|
-
context[context.length - 1] = newContext;
|
|
373
|
-
}
|
|
374
|
-
parseExprAtom(refExpressionErrors) {
|
|
375
|
-
if (this.match(139)) {
|
|
376
|
-
return this.parseLiteral(this.state.value, "JSXText");
|
|
377
|
-
} else if (this.match(140)) {
|
|
378
|
-
return this.jsxParseElement();
|
|
379
|
-
} else if (this.match(47) && this.input.charCodeAt(this.state.pos) !== 33) {
|
|
380
|
-
this.replaceToken(140);
|
|
381
|
-
return this.jsxParseElement();
|
|
382
|
-
} else {
|
|
383
|
-
return super.parseExprAtom(refExpressionErrors);
|
|
384
|
-
}
|
|
385
|
-
}
|
|
386
|
-
skipSpace() {
|
|
387
|
-
const curContext = this.curContext();
|
|
388
|
-
if (!curContext.preserveSpace) super.skipSpace();
|
|
389
|
-
}
|
|
390
|
-
getTokenFromCode(code) {
|
|
391
|
-
const context = this.curContext();
|
|
392
|
-
if (context === _context.types.j_expr) {
|
|
393
|
-
this.jsxReadToken();
|
|
394
|
-
return;
|
|
395
|
-
}
|
|
396
|
-
if (context === _context.types.j_oTag || context === _context.types.j_cTag) {
|
|
397
|
-
if ((0, _identifier.isIdentifierStart)(code)) {
|
|
398
|
-
this.jsxReadWord();
|
|
399
|
-
return;
|
|
400
|
-
}
|
|
401
|
-
if (code === 62) {
|
|
402
|
-
++this.state.pos;
|
|
403
|
-
this.finishToken(141);
|
|
404
|
-
return;
|
|
405
|
-
}
|
|
406
|
-
if ((code === 34 || code === 39) && context === _context.types.j_oTag) {
|
|
407
|
-
this.jsxReadString(code);
|
|
408
|
-
return;
|
|
409
|
-
}
|
|
410
|
-
}
|
|
411
|
-
if (code === 60 && this.state.canStartJSXElement && this.input.charCodeAt(this.state.pos + 1) !== 33) {
|
|
412
|
-
++this.state.pos;
|
|
413
|
-
this.finishToken(140);
|
|
414
|
-
return;
|
|
415
|
-
}
|
|
416
|
-
super.getTokenFromCode(code);
|
|
417
|
-
}
|
|
418
|
-
updateContext(prevType) {
|
|
419
|
-
const {
|
|
420
|
-
context,
|
|
421
|
-
type
|
|
422
|
-
} = this.state;
|
|
423
|
-
if (type === 56 && prevType === 140) {
|
|
424
|
-
context.splice(-2, 2, _context.types.j_cTag);
|
|
425
|
-
this.state.canStartJSXElement = false;
|
|
426
|
-
} else if (type === 140) {
|
|
427
|
-
context.push(_context.types.j_oTag);
|
|
428
|
-
} else if (type === 141) {
|
|
429
|
-
const out = context[context.length - 1];
|
|
430
|
-
if (out === _context.types.j_oTag && prevType === 56 || out === _context.types.j_cTag) {
|
|
431
|
-
context.pop();
|
|
432
|
-
this.state.canStartJSXElement = context[context.length - 1] === _context.types.j_expr;
|
|
433
|
-
} else {
|
|
434
|
-
this.setContext(_context.types.j_expr);
|
|
435
|
-
this.state.canStartJSXElement = true;
|
|
436
|
-
}
|
|
437
|
-
} else {
|
|
438
|
-
this.state.canStartJSXElement = (0, _types.tokenComesBeforeExpression)(type);
|
|
439
|
-
}
|
|
440
|
-
}
|
|
441
|
-
};
|
|
442
|
-
exports.default = _default;
|
|
443
|
-
|
|
444
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_xhtml","require","_types","_context","_identifier","_whitespace","_parseError","JsxErrors","ParseErrorEnum","AttributeIsEmpty","MissingClosingTagElement","openingTagName","MissingClosingTagFragment","UnexpectedSequenceExpression","UnexpectedToken","unexpected","HTMLEntity","UnsupportedJsxValue","UnterminatedJsxContent","UnwrappedAdjacentJSXElements","isFragment","object","type","getQualifiedJSXName","name","namespace","property","Error","_default","superClass","JSXParserMixin","jsxReadToken","out","chunkStart","state","pos","length","raise","at","startLoc","ch","input","charCodeAt","start","canStartJSXElement","finishToken","getTokenFromCode","slice","jsxReadEntity","isNewLine","jsxReadNewLine","normalizeCRLF","String","fromCharCode","curLine","lineStart","jsxReadString","quote","Errors","UnterminatedString","startPos","codePointAtPos","radix","codePoint","readInt","undefined","fromCodePoint","count","semi","desc","entity","XHTMLEntities","jsxReadWord","isIdentifierChar","jsxParseIdentifier","node","startNode","match","value","tokenIsKeyword","tokenLabelName","next","finishNode","jsxParseNamespacedName","eat","startNodeAt","jsxParseElementName","newNode","jsxParseAttributeValue","setContext","tc","brace","jsxParseExpressionContainer","j_oTag","expression","parseExprAtom","jsxParseEmptyExpression","lastTokEndLoc","finishNodeAt","jsxParseSpreadChild","parseExpression","j_expr","expect","previousContext","jsxParseAttribute","argument","parseMaybeAssignAllowIn","jsxParseOpeningElementAt","jsxParseOpeningElementAfterName","attributes","push","selfClosing","jsxParseClosingElementAt","jsxParseElementAt","children","openingElement","closingElement","contents","openingFragment","closingFragment","jsxParseElement","newContext","context","refExpressionErrors","parseLiteral","replaceToken","skipSpace","curContext","preserveSpace","code","j_cTag","isIdentifierStart","updateContext","prevType","splice","pop","tokenComesBeforeExpression","exports","default"],"sources":["../../../src/plugins/jsx/index.ts"],"sourcesContent":["import * as charCodes from \"charcodes\";\n\nimport XHTMLEntities from \"./xhtml\";\nimport type Parser from \"../../parser\";\nimport type { ExpressionErrors } from \"../../parser/util\";\nimport {\n tokenComesBeforeExpression,\n tokenIsKeyword,\n tokenLabelName,\n type TokenType,\n tt,\n} from \"../../tokenizer/types\";\nimport type { TokContext } from \"../../tokenizer/context\";\nimport { types as tc } from \"../../tokenizer/context\";\nimport type * as N from \"../../types\";\nimport { isIdentifierChar, isIdentifierStart } from \"../../util/identifier\";\nimport type { Position } from \"../../util/location\";\nimport { isNewLine } from \"../../util/whitespace\";\nimport { Errors, ParseErrorEnum } from \"../../parse-error\";\nimport type { Undone } from \"../../parser/node\";\n\n/* eslint sort-keys: \"error\" */\nconst JsxErrors = ParseErrorEnum`jsx`({\n AttributeIsEmpty:\n \"JSX attributes must only be assigned a non-empty expression.\",\n MissingClosingTagElement: ({ openingTagName }: { openingTagName: string }) =>\n `Expected corresponding JSX closing tag for <${openingTagName}>.`,\n MissingClosingTagFragment: \"Expected corresponding JSX closing tag for <>.\",\n UnexpectedSequenceExpression:\n \"Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?\",\n // FIXME: Unify with Errors.UnexpectedToken\n UnexpectedToken: ({\n unexpected,\n HTMLEntity,\n }: {\n unexpected: string;\n HTMLEntity: string;\n }) =>\n `Unexpected token \\`${unexpected}\\`. Did you mean \\`${HTMLEntity}\\` or \\`{'${unexpected}'}\\`?`,\n UnsupportedJsxValue:\n \"JSX value should be either an expression or a quoted JSX text.\",\n UnterminatedJsxContent: \"Unterminated JSX contents.\",\n UnwrappedAdjacentJSXElements:\n \"Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...</>?\",\n});\n\n/* eslint-disable sort-keys */\n\nfunction isFragment(object?: N.JSXElement | null): boolean {\n return object\n ? object.type === \"JSXOpeningFragment\" ||\n object.type === \"JSXClosingFragment\"\n : false;\n}\n\n// Transforms JSX element name to string.\n\nfunction getQualifiedJSXName(\n object: N.JSXIdentifier | N.JSXNamespacedName | N.JSXMemberExpression,\n): string {\n if (object.type === \"JSXIdentifier\") {\n return object.name;\n }\n\n if (object.type === \"JSXNamespacedName\") {\n return object.namespace.name + \":\" + object.name.name;\n }\n\n if (object.type === \"JSXMemberExpression\") {\n return (\n getQualifiedJSXName(object.object) +\n \".\" +\n getQualifiedJSXName(object.property)\n );\n }\n\n // istanbul ignore next\n throw new Error(\"Node had unexpected type: \" + object.type);\n}\n\nexport interface IJSXParserMixin {\n jsxParseOpeningElementAfterName(\n node: N.JSXOpeningElement,\n ): N.JSXOpeningElement;\n}\n\nexport default (superClass: typeof Parser) =>\n class JSXParserMixin extends superClass implements Parser, IJSXParserMixin {\n // Reads inline JSX contents token.\n\n jsxReadToken(): void {\n let out = \"\";\n let chunkStart = this.state.pos;\n for (;;) {\n if (this.state.pos >= this.length) {\n throw this.raise(JsxErrors.UnterminatedJsxContent, {\n at: this.state.startLoc,\n });\n }\n\n const ch = this.input.charCodeAt(this.state.pos);\n\n switch (ch) {\n case charCodes.lessThan:\n case charCodes.leftCurlyBrace:\n if (this.state.pos === this.state.start) {\n if (ch === charCodes.lessThan && this.state.canStartJSXElement) {\n ++this.state.pos;\n this.finishToken(tt.jsxTagStart);\n } else {\n super.getTokenFromCode(ch);\n }\n return;\n }\n out += this.input.slice(chunkStart, this.state.pos);\n this.finishToken(tt.jsxText, out);\n return;\n\n case charCodes.ampersand:\n out += this.input.slice(chunkStart, this.state.pos);\n out += this.jsxReadEntity();\n chunkStart = this.state.pos;\n break;\n\n case charCodes.greaterThan:\n case charCodes.rightCurlyBrace:\n if (process.env.BABEL_8_BREAKING) {\n this.raise(JsxErrors.UnexpectedToken, {\n at: this.state.curPosition(),\n unexpected: this.input[this.state.pos],\n HTMLEntity:\n ch === charCodes.rightCurlyBrace ? \"}\" : \">\",\n });\n }\n /* falls through */\n\n default:\n if (isNewLine(ch)) {\n out += this.input.slice(chunkStart, this.state.pos);\n out += this.jsxReadNewLine(true);\n chunkStart = this.state.pos;\n } else {\n ++this.state.pos;\n }\n }\n }\n }\n\n jsxReadNewLine(normalizeCRLF: boolean): string {\n const ch = this.input.charCodeAt(this.state.pos);\n let out;\n ++this.state.pos;\n if (\n ch === charCodes.carriageReturn &&\n this.input.charCodeAt(this.state.pos) === charCodes.lineFeed\n ) {\n ++this.state.pos;\n out = normalizeCRLF ? \"\\n\" : \"\\r\\n\";\n } else {\n out = String.fromCharCode(ch);\n }\n ++this.state.curLine;\n this.state.lineStart = this.state.pos;\n\n return out;\n }\n\n jsxReadString(quote: number): void {\n let out = \"\";\n let chunkStart = ++this.state.pos;\n for (;;) {\n if (this.state.pos >= this.length) {\n throw this.raise(Errors.UnterminatedString, {\n at: this.state.startLoc,\n });\n }\n\n const ch = this.input.charCodeAt(this.state.pos);\n if (ch === quote) break;\n if (ch === charCodes.ampersand) {\n out += this.input.slice(chunkStart, this.state.pos);\n out += this.jsxReadEntity();\n chunkStart = this.state.pos;\n } else if (isNewLine(ch)) {\n out += this.input.slice(chunkStart, this.state.pos);\n out += this.jsxReadNewLine(false);\n chunkStart = this.state.pos;\n } else {\n ++this.state.pos;\n }\n }\n out += this.input.slice(chunkStart, this.state.pos++);\n this.finishToken(tt.string, out);\n }\n\n jsxReadEntity(): string {\n const startPos = ++this.state.pos;\n if (this.codePointAtPos(this.state.pos) === charCodes.numberSign) {\n ++this.state.pos;\n\n let radix = 10;\n if (this.codePointAtPos(this.state.pos) === charCodes.lowercaseX) {\n radix = 16;\n ++this.state.pos;\n }\n\n const codePoint = this.readInt(\n radix,\n /* len */ undefined,\n /* forceLen */ false,\n /* allowNumSeparator */ \"bail\",\n );\n if (\n codePoint !== null &&\n this.codePointAtPos(this.state.pos) === charCodes.semicolon\n ) {\n ++this.state.pos;\n return String.fromCodePoint(codePoint);\n }\n } else {\n let count = 0;\n let semi = false;\n while (\n count++ < 10 &&\n this.state.pos < this.length &&\n !(semi = this.codePointAtPos(this.state.pos) == charCodes.semicolon)\n ) {\n ++this.state.pos;\n }\n\n if (semi) {\n const desc = this.input.slice(startPos, this.state.pos);\n const entity = XHTMLEntities[desc];\n ++this.state.pos;\n\n if (entity) {\n return entity;\n }\n }\n }\n\n // Not a valid entity\n this.state.pos = startPos;\n return \"&\";\n }\n\n // Read a JSX identifier (valid tag or attribute name).\n //\n // Optimized version since JSX identifiers can\"t contain\n // escape characters and so can be read as single slice.\n // Also assumes that first character was already checked\n // by isIdentifierStart in readToken.\n\n jsxReadWord(): void {\n let ch;\n const start = this.state.pos;\n do {\n ch = this.input.charCodeAt(++this.state.pos);\n } while (isIdentifierChar(ch) || ch === charCodes.dash);\n this.finishToken(tt.jsxName, this.input.slice(start, this.state.pos));\n }\n\n // Parse next token as JSX identifier\n\n jsxParseIdentifier(): N.JSXIdentifier {\n const node = this.startNode();\n if (this.match(tt.jsxName)) {\n node.name = this.state.value;\n } else if (tokenIsKeyword(this.state.type)) {\n node.name = tokenLabelName(this.state.type);\n } else {\n this.unexpected();\n }\n this.next();\n return this.finishNode(node, \"JSXIdentifier\");\n }\n\n // Parse namespaced identifier.\n\n jsxParseNamespacedName(): N.JSXNamespacedName {\n const startLoc = this.state.startLoc;\n const name = this.jsxParseIdentifier();\n if (!this.eat(tt.colon)) return name;\n\n const node = this.startNodeAt(startLoc);\n node.namespace = name;\n node.name = this.jsxParseIdentifier();\n return this.finishNode(node, \"JSXNamespacedName\");\n }\n\n // Parses element name in any form - namespaced, member\n // or single identifier.\n\n jsxParseElementName():\n | N.JSXIdentifier\n | N.JSXNamespacedName\n | N.JSXMemberExpression {\n const startLoc = this.state.startLoc;\n let node = this.jsxParseNamespacedName();\n if (node.type === \"JSXNamespacedName\") {\n return node;\n }\n while (this.eat(tt.dot)) {\n const newNode = this.startNodeAt(startLoc);\n newNode.object = node;\n newNode.property = this.jsxParseIdentifier();\n node = this.finishNode(newNode, \"JSXMemberExpression\");\n }\n return node;\n }\n\n // Parses any type of JSX attribute value.\n\n jsxParseAttributeValue(): N.Expression {\n let node;\n switch (this.state.type) {\n case tt.braceL:\n node = this.startNode();\n this.setContext(tc.brace);\n this.next();\n node = this.jsxParseExpressionContainer(node, tc.j_oTag);\n if (node.expression.type === \"JSXEmptyExpression\") {\n this.raise(JsxErrors.AttributeIsEmpty, { at: node });\n }\n return node;\n\n case tt.jsxTagStart:\n case tt.string:\n return this.parseExprAtom();\n\n default:\n throw this.raise(JsxErrors.UnsupportedJsxValue, {\n at: this.state.startLoc,\n });\n }\n }\n\n // JSXEmptyExpression is unique type since it doesn't actually parse anything,\n // and so it should start at the end of last read token (left brace) and finish\n // at the beginning of the next one (right brace).\n\n jsxParseEmptyExpression(): N.JSXEmptyExpression {\n const node = this.startNodeAt(this.state.lastTokEndLoc);\n return this.finishNodeAt(node, \"JSXEmptyExpression\", this.state.startLoc);\n }\n\n // Parse JSX spread child\n\n jsxParseSpreadChild(node: Undone<N.JSXSpreadChild>): N.JSXSpreadChild {\n this.next(); // ellipsis\n node.expression = this.parseExpression();\n this.setContext(tc.j_expr);\n this.state.canStartJSXElement = true;\n this.expect(tt.braceR);\n\n return this.finishNode(node, \"JSXSpreadChild\");\n }\n\n // Parses JSX expression enclosed into curly brackets.\n\n jsxParseExpressionContainer(\n node: Undone<N.JSXExpressionContainer>,\n previousContext: TokContext,\n ): N.JSXExpressionContainer {\n if (this.match(tt.braceR)) {\n node.expression = this.jsxParseEmptyExpression();\n } else {\n const expression = this.parseExpression();\n\n if (process.env.BABEL_8_BREAKING) {\n if (\n expression.type === \"SequenceExpression\" &&\n !expression.extra?.parenthesized\n ) {\n this.raise(JsxErrors.UnexpectedSequenceExpression, {\n at: expression.expressions[1],\n });\n }\n }\n\n node.expression = expression;\n }\n this.setContext(previousContext);\n this.state.canStartJSXElement = true;\n this.expect(tt.braceR);\n\n return this.finishNode(node, \"JSXExpressionContainer\");\n }\n\n // Parses following JSX attribute name-value pair.\n\n jsxParseAttribute(): N.JSXAttribute {\n const node = this.startNode();\n if (this.match(tt.braceL)) {\n this.setContext(tc.brace);\n this.next();\n this.expect(tt.ellipsis);\n node.argument = this.parseMaybeAssignAllowIn();\n this.setContext(tc.j_oTag);\n this.state.canStartJSXElement = true;\n this.expect(tt.braceR);\n return this.finishNode(node, \"JSXSpreadAttribute\");\n }\n node.name = this.jsxParseNamespacedName();\n node.value = this.eat(tt.eq) ? this.jsxParseAttributeValue() : null;\n return this.finishNode(node, \"JSXAttribute\");\n }\n\n // Parses JSX opening tag starting after \"<\".\n\n jsxParseOpeningElementAt(startLoc: Position): N.JSXOpeningElement {\n const node = this.startNodeAt<N.JSXOpeningElement | N.JSXOpeningFragment>(\n startLoc,\n );\n if (this.eat(tt.jsxTagEnd)) {\n // @ts-expect-error migrate to Babel types\n return this.finishNode(node, \"JSXOpeningFragment\");\n }\n node.name = this.jsxParseElementName();\n return this.jsxParseOpeningElementAfterName(\n node as Undone<N.JSXOpeningElement>,\n );\n }\n\n jsxParseOpeningElementAfterName(\n node: Undone<N.JSXOpeningElement>,\n ): N.JSXOpeningElement {\n const attributes: N.JSXAttribute[] = [];\n while (!this.match(tt.slash) && !this.match(tt.jsxTagEnd)) {\n attributes.push(this.jsxParseAttribute());\n }\n node.attributes = attributes;\n node.selfClosing = this.eat(tt.slash);\n this.expect(tt.jsxTagEnd);\n return this.finishNode(node, \"JSXOpeningElement\");\n }\n\n // Parses JSX closing tag starting after \"</\".\n\n jsxParseClosingElementAt(startLoc: Position): N.JSXClosingElement {\n const node = this.startNodeAt(startLoc);\n if (this.eat(tt.jsxTagEnd)) {\n return this.finishNode(node, \"JSXClosingFragment\");\n }\n node.name = this.jsxParseElementName();\n this.expect(tt.jsxTagEnd);\n return this.finishNode(node, \"JSXClosingElement\");\n }\n\n // Parses entire JSX element, including it\"s opening tag\n // (starting after \"<\"), attributes, contents and closing tag.\n\n jsxParseElementAt(startLoc: Position): N.JSXElement {\n const node = this.startNodeAt(startLoc);\n const children = [];\n const openingElement = this.jsxParseOpeningElementAt(startLoc);\n let closingElement = null;\n\n if (!openingElement.selfClosing) {\n contents: for (;;) {\n switch (this.state.type) {\n case tt.jsxTagStart:\n startLoc = this.state.startLoc;\n this.next();\n if (this.eat(tt.slash)) {\n closingElement = this.jsxParseClosingElementAt(startLoc);\n break contents;\n }\n children.push(this.jsxParseElementAt(startLoc));\n break;\n\n case tt.jsxText:\n children.push(this.parseExprAtom());\n break;\n\n case tt.braceL: {\n const node = this.startNode<\n N.JSXSpreadChild | N.JSXExpressionContainer\n >();\n this.setContext(tc.brace);\n this.next();\n if (this.match(tt.ellipsis)) {\n children.push(this.jsxParseSpreadChild(node));\n } else {\n children.push(\n this.jsxParseExpressionContainer(node, tc.j_expr),\n );\n }\n\n break;\n }\n // istanbul ignore next - should never happen\n default:\n this.unexpected();\n }\n }\n\n if (\n isFragment(openingElement) &&\n !isFragment(closingElement) &&\n closingElement !== null\n ) {\n this.raise(JsxErrors.MissingClosingTagFragment, {\n at: closingElement,\n });\n } else if (!isFragment(openingElement) && isFragment(closingElement)) {\n this.raise(JsxErrors.MissingClosingTagElement, {\n at: closingElement,\n openingTagName: getQualifiedJSXName(openingElement.name),\n });\n } else if (!isFragment(openingElement) && !isFragment(closingElement)) {\n if (\n getQualifiedJSXName(closingElement.name) !==\n getQualifiedJSXName(openingElement.name)\n ) {\n this.raise(JsxErrors.MissingClosingTagElement, {\n at: closingElement,\n openingTagName: getQualifiedJSXName(openingElement.name),\n });\n }\n }\n }\n\n if (isFragment(openingElement)) {\n node.openingFragment = openingElement;\n node.closingFragment = closingElement;\n } else {\n node.openingElement = openingElement;\n node.closingElement = closingElement;\n }\n node.children = children;\n if (this.match(tt.lt)) {\n throw this.raise(JsxErrors.UnwrappedAdjacentJSXElements, {\n at: this.state.startLoc,\n });\n }\n\n return isFragment(openingElement)\n ? this.finishNode(node, \"JSXFragment\")\n : this.finishNode(node, \"JSXElement\");\n }\n\n // Parses entire JSX element from current position.\n\n jsxParseElement(): N.JSXElement {\n const startLoc = this.state.startLoc;\n this.next();\n return this.jsxParseElementAt(startLoc);\n }\n\n setContext(newContext: TokContext) {\n const { context } = this.state;\n context[context.length - 1] = newContext;\n }\n\n // ==================================\n // Overrides\n // ==================================\n\n parseExprAtom(refExpressionErrors?: ExpressionErrors | null): N.Expression {\n if (this.match(tt.jsxText)) {\n return this.parseLiteral(this.state.value, \"JSXText\");\n } else if (this.match(tt.jsxTagStart)) {\n return this.jsxParseElement();\n } else if (\n this.match(tt.lt) &&\n this.input.charCodeAt(this.state.pos) !== charCodes.exclamationMark\n ) {\n // In case we encounter an lt token here it will always be the start of\n // jsx as the lt sign is not allowed in places that expect an expression\n this.replaceToken(tt.jsxTagStart);\n return this.jsxParseElement();\n } else {\n return super.parseExprAtom(refExpressionErrors);\n }\n }\n\n skipSpace() {\n const curContext = this.curContext();\n if (!curContext.preserveSpace) super.skipSpace();\n }\n\n getTokenFromCode(code: number): void {\n const context = this.curContext();\n\n if (context === tc.j_expr) {\n this.jsxReadToken();\n return;\n }\n\n if (context === tc.j_oTag || context === tc.j_cTag) {\n if (isIdentifierStart(code)) {\n this.jsxReadWord();\n return;\n }\n\n if (code === charCodes.greaterThan) {\n ++this.state.pos;\n this.finishToken(tt.jsxTagEnd);\n return;\n }\n\n if (\n (code === charCodes.quotationMark || code === charCodes.apostrophe) &&\n context === tc.j_oTag\n ) {\n this.jsxReadString(code);\n return;\n }\n }\n\n if (\n code === charCodes.lessThan &&\n this.state.canStartJSXElement &&\n this.input.charCodeAt(this.state.pos + 1) !== charCodes.exclamationMark\n ) {\n ++this.state.pos;\n this.finishToken(tt.jsxTagStart);\n return;\n }\n\n super.getTokenFromCode(code);\n }\n\n updateContext(prevType: TokenType): void {\n const { context, type } = this.state;\n if (type === tt.slash && prevType === tt.jsxTagStart) {\n // do not consider JSX expr -> JSX open tag -> ... anymore\n // reconsider as closing tag context\n context.splice(-2, 2, tc.j_cTag);\n this.state.canStartJSXElement = false;\n } else if (type === tt.jsxTagStart) {\n // start opening tag context\n context.push(tc.j_oTag);\n } else if (type === tt.jsxTagEnd) {\n const out = context[context.length - 1];\n if ((out === tc.j_oTag && prevType === tt.slash) || out === tc.j_cTag) {\n context.pop();\n this.state.canStartJSXElement =\n context[context.length - 1] === tc.j_expr;\n } else {\n this.setContext(tc.j_expr);\n this.state.canStartJSXElement = true;\n }\n } else {\n this.state.canStartJSXElement = tokenComesBeforeExpression(type);\n }\n }\n };\n"],"mappings":"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"}
|