@tinacms/app 1.1.0 → 1.1.2
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/appFiles/node_modules/.package-lock.json +29 -28
- package/appFiles/node_modules/@babel/generator/lib/buffer.js +34 -10
- package/appFiles/node_modules/@babel/generator/lib/buffer.js.map +1 -1
- package/appFiles/node_modules/@babel/generator/lib/generators/classes.js +3 -4
- package/appFiles/node_modules/@babel/generator/lib/generators/classes.js.map +1 -1
- package/appFiles/node_modules/@babel/generator/lib/generators/expressions.js +7 -0
- package/appFiles/node_modules/@babel/generator/lib/generators/expressions.js.map +1 -1
- package/appFiles/node_modules/@babel/generator/lib/generators/methods.js +51 -8
- package/appFiles/node_modules/@babel/generator/lib/generators/methods.js.map +1 -1
- package/appFiles/node_modules/@babel/generator/lib/generators/modules.js +7 -10
- package/appFiles/node_modules/@babel/generator/lib/generators/modules.js.map +1 -1
- package/appFiles/node_modules/@babel/generator/lib/generators/types.js +2 -0
- package/appFiles/node_modules/@babel/generator/lib/generators/types.js.map +1 -1
- package/appFiles/node_modules/@babel/generator/lib/generators/typescript.js +2 -2
- package/appFiles/node_modules/@babel/generator/lib/generators/typescript.js.map +1 -1
- package/appFiles/node_modules/@babel/generator/lib/index.js +1 -1
- package/appFiles/node_modules/@babel/generator/lib/index.js.map +1 -1
- package/appFiles/node_modules/@babel/generator/lib/node/parentheses.js.map +1 -1
- package/appFiles/node_modules/@babel/generator/lib/printer.js +7 -0
- package/appFiles/node_modules/@babel/generator/lib/printer.js.map +1 -1
- package/appFiles/node_modules/@babel/generator/lib/source-map.js +40 -9
- package/appFiles/node_modules/@babel/generator/lib/source-map.js.map +1 -1
- package/appFiles/node_modules/@babel/generator/package.json +5 -5
- package/appFiles/node_modules/@babel/helper-function-name/lib/index.js +0 -31
- package/appFiles/node_modules/@babel/helper-function-name/lib/index.js.map +1 -1
- package/appFiles/node_modules/@babel/helper-function-name/package.json +3 -3
- package/appFiles/node_modules/@babel/parser/lib/index.js +1901 -1885
- package/appFiles/node_modules/@babel/parser/lib/index.js.map +1 -1
- package/appFiles/node_modules/@babel/parser/package.json +2 -2
- package/appFiles/node_modules/@babel/parser/typings/babel-parser.d.ts +12 -0
- package/appFiles/node_modules/@babel/runtime/helpers/applyDecs2203R.js +173 -170
- package/appFiles/node_modules/@babel/runtime/helpers/applyDecs2301.js +221 -0
- package/appFiles/node_modules/@babel/runtime/helpers/esm/applyDecs2203R.js +173 -170
- package/appFiles/node_modules/@babel/runtime/helpers/esm/applyDecs2301.js +220 -0
- package/appFiles/node_modules/@babel/runtime/package.json +10 -1
- package/appFiles/node_modules/@babel/traverse/lib/path/modification.js.map +1 -1
- package/appFiles/node_modules/@babel/traverse/lib/visitors.js +11 -5
- package/appFiles/node_modules/@babel/traverse/lib/visitors.js.map +1 -1
- package/appFiles/node_modules/@babel/traverse/package.json +5 -5
- package/appFiles/node_modules/@babel/types/lib/asserts/generated/index.js +12 -7
- package/appFiles/node_modules/@babel/types/lib/asserts/generated/index.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/ast-types/generated/index.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/builders/generated/index.js +5 -5
- package/appFiles/node_modules/@babel/types/lib/builders/generated/index.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/clone/cloneNode.js +2 -6
- package/appFiles/node_modules/@babel/types/lib/clone/cloneNode.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/constants/generated/index.js +5 -4
- package/appFiles/node_modules/@babel/types/lib/constants/generated/index.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js +0 -3
- package/appFiles/node_modules/@babel/types/lib/converters/gatherSequenceExpressions.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/converters/toComputedKey.js +1 -2
- package/appFiles/node_modules/@babel/types/lib/converters/toComputedKey.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/converters/toExpression.js +0 -3
- package/appFiles/node_modules/@babel/types/lib/converters/toExpression.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/converters/toIdentifier.js +0 -3
- package/appFiles/node_modules/@babel/types/lib/converters/toIdentifier.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/converters/toKeyAlias.js +0 -3
- package/appFiles/node_modules/@babel/types/lib/converters/toKeyAlias.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/converters/toSequenceExpression.js +0 -1
- package/appFiles/node_modules/@babel/types/lib/converters/toSequenceExpression.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/converters/toStatement.js +0 -3
- package/appFiles/node_modules/@babel/types/lib/converters/toStatement.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/converters/valueToNode.js +1 -9
- package/appFiles/node_modules/@babel/types/lib/converters/valueToNode.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/definitions/core.js +21 -57
- package/appFiles/node_modules/@babel/types/lib/definitions/core.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/definitions/deprecated-aliases.js +12 -0
- package/appFiles/node_modules/@babel/types/lib/definitions/deprecated-aliases.js.map +1 -0
- package/appFiles/node_modules/@babel/types/lib/definitions/experimental.js +0 -3
- package/appFiles/node_modules/@babel/types/lib/definitions/experimental.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/definitions/flow.js +0 -1
- package/appFiles/node_modules/@babel/types/lib/definitions/flow.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/definitions/index.js +10 -0
- package/appFiles/node_modules/@babel/types/lib/definitions/index.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/definitions/typescript.js +6 -4
- package/appFiles/node_modules/@babel/types/lib/definitions/typescript.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/definitions/utils.js +0 -2
- package/appFiles/node_modules/@babel/types/lib/definitions/utils.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/index-legacy.d.ts +10 -3
- package/appFiles/node_modules/@babel/types/lib/index.d.ts +23 -6
- package/appFiles/node_modules/@babel/types/lib/index.js +9 -2
- package/appFiles/node_modules/@babel/types/lib/index.js.flow +8 -3
- package/appFiles/node_modules/@babel/types/lib/index.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js +1 -9
- package/appFiles/node_modules/@babel/types/lib/modifications/flow/removeTypeDuplicates.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/modifications/inherits.js +0 -3
- package/appFiles/node_modules/@babel/types/lib/modifications/inherits.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/modifications/removeProperties.js +1 -3
- package/appFiles/node_modules/@babel/types/lib/modifications/removeProperties.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js +0 -8
- package/appFiles/node_modules/@babel/types/lib/modifications/typescript/removeTypeDuplicates.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js +2 -6
- package/appFiles/node_modules/@babel/types/lib/retrievers/getBindingIdentifiers.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/traverse/traverseFast.js +1 -2
- package/appFiles/node_modules/@babel/types/lib/traverse/traverseFast.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/utils/deprecationWarning.js +30 -0
- package/appFiles/node_modules/@babel/types/lib/utils/deprecationWarning.js.map +1 -0
- package/appFiles/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js +0 -3
- package/appFiles/node_modules/@babel/types/lib/utils/react/cleanJSXElementLiteralChild.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/utils/shallowEqual.js +1 -2
- package/appFiles/node_modules/@babel/types/lib/utils/shallowEqual.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/validators/generated/index.js +11 -6
- package/appFiles/node_modules/@babel/types/lib/validators/generated/index.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/validators/isBinding.js +2 -4
- package/appFiles/node_modules/@babel/types/lib/validators/isBinding.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/validators/isLet.js +1 -2
- package/appFiles/node_modules/@babel/types/lib/validators/isLet.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/validators/isNodesEquivalent.js +1 -2
- package/appFiles/node_modules/@babel/types/lib/validators/isNodesEquivalent.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/validators/isReferenced.js +0 -21
- package/appFiles/node_modules/@babel/types/lib/validators/isReferenced.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/validators/isScope.js +0 -1
- package/appFiles/node_modules/@babel/types/lib/validators/isScope.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/validators/isSpecifierDefault.js +1 -2
- package/appFiles/node_modules/@babel/types/lib/validators/isSpecifierDefault.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/validators/isType.js +0 -1
- package/appFiles/node_modules/@babel/types/lib/validators/isType.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/validators/isValidES3Identifier.js +0 -1
- package/appFiles/node_modules/@babel/types/lib/validators/isValidES3Identifier.js.map +1 -1
- package/appFiles/node_modules/@babel/types/lib/validators/isVar.js +1 -2
- package/appFiles/node_modules/@babel/types/lib/validators/isVar.js.map +1 -1
- package/appFiles/node_modules/@babel/types/package.json +3 -3
- package/appFiles/node_modules/css-to-react-native/index.d.ts +17 -0
- package/appFiles/node_modules/css-to-react-native/index.js +15 -0
- package/appFiles/node_modules/css-to-react-native/package.json +2 -1
- package/appFiles/node_modules/css-to-react-native/src/__tests__/aspectRatio.js +23 -0
- package/appFiles/node_modules/css-to-react-native/src/transforms/aspectRatio.js +12 -0
- package/appFiles/node_modules/css-to-react-native/src/transforms/index.js +2 -0
- package/appFiles/src/App.tsx +3 -5
- package/appFiles/src/fields/rich-text/monaco/error-message.tsx +1 -1
- package/appFiles/src/fields/rich-text/monaco/mdx.js +13517 -8946
- package/appFiles/src/lib/machines/document-machine.ts +4 -9
- package/appFiles/src/lib/machines/query-machine.ts +0 -13
- package/appFiles/src/preview.tsx +23 -0
- package/dist/index.js +3 -1
- package/package.json +5 -5
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.DEPRECATED_ALIASES = void 0;
|
|
7
|
+
const DEPRECATED_ALIASES = {
|
|
8
|
+
ModuleDeclaration: "ImportOrExportDeclaration"
|
|
9
|
+
};
|
|
10
|
+
exports.DEPRECATED_ALIASES = DEPRECATED_ALIASES;
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=deprecated-aliases.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["DEPRECATED_ALIASES","ModuleDeclaration"],"sources":["../../src/definitions/deprecated-aliases.ts"],"sourcesContent":["export const DEPRECATED_ALIASES = {\n ModuleDeclaration: \"ImportOrExportDeclaration\",\n};\n"],"mappings":";;;;;;AAAO,MAAMA,kBAAkB,GAAG;EAChCC,iBAAiB,EAAE;AACrB,CAAC;AAAC"}
|
|
@@ -95,7 +95,6 @@ var _utils = require("./utils");
|
|
|
95
95
|
},
|
|
96
96
|
aliases: ["Expression", "Pureish", "Literal", "Immutable"]
|
|
97
97
|
});
|
|
98
|
-
|
|
99
98
|
(0, _utils.default)("ModuleExpression", {
|
|
100
99
|
visitor: ["body"],
|
|
101
100
|
fields: {
|
|
@@ -105,11 +104,9 @@ var _utils = require("./utils");
|
|
|
105
104
|
},
|
|
106
105
|
aliases: ["Expression"]
|
|
107
106
|
});
|
|
108
|
-
|
|
109
107
|
(0, _utils.default)("TopicReference", {
|
|
110
108
|
aliases: ["Expression"]
|
|
111
109
|
});
|
|
112
|
-
|
|
113
110
|
(0, _utils.default)("PipelineTopicExpression", {
|
|
114
111
|
builder: ["expression"],
|
|
115
112
|
visitor: ["expression"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["defineType","visitor","aliases","fields","process","env","BABEL_TYPES_8_BREAKING","object","validate","Object","assign","oneOfNodeTypes","callee","assertNodeType","key","value","expression","builder","body","async","assertValueType","default","exported","properties","chain","assertEach","elements"],"sources":["../../src/definitions/experimental.ts"],"sourcesContent":["import defineType, {\n assertEach,\n assertNodeType,\n assertValueType,\n chain,\n} from \"./utils\";\n\ndefineType(\"ArgumentPlaceholder\", {});\n\ndefineType(\"BindExpression\", {\n visitor: [\"object\", \"callee\"],\n aliases: [\"Expression\"],\n fields: !process.env.BABEL_TYPES_8_BREAKING\n ? {\n object: {\n validate: Object.assign(() => {}, {\n oneOfNodeTypes: [\"Expression\"],\n }),\n },\n callee: {\n validate: Object.assign(() => {}, {\n oneOfNodeTypes: [\"Expression\"],\n }),\n },\n }\n : {\n object: {\n validate: assertNodeType(\"Expression\"),\n },\n callee: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n});\n\ndefineType(\"ImportAttribute\", {\n visitor: [\"key\", \"value\"],\n fields: {\n key: {\n validate: assertNodeType(\"Identifier\", \"StringLiteral\"),\n },\n value: {\n validate: assertNodeType(\"StringLiteral\"),\n },\n },\n});\n\ndefineType(\"Decorator\", {\n visitor: [\"expression\"],\n fields: {\n expression: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n});\n\ndefineType(\"DoExpression\", {\n visitor: [\"body\"],\n builder: [\"body\", \"async\"],\n aliases: [\"Expression\"],\n fields: {\n body: {\n validate: assertNodeType(\"BlockStatement\"),\n },\n async: {\n validate: assertValueType(\"boolean\"),\n default: false,\n },\n },\n});\n\ndefineType(\"ExportDefaultSpecifier\", {\n visitor: [\"exported\"],\n aliases: [\"ModuleSpecifier\"],\n fields: {\n exported: {\n validate: assertNodeType(\"Identifier\"),\n },\n },\n});\n\ndefineType(\"RecordExpression\", {\n visitor: [\"properties\"],\n aliases: [\"Expression\"],\n fields: {\n properties: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"ObjectProperty\", \"SpreadElement\")),\n ),\n },\n },\n});\n\ndefineType(\"TupleExpression\", {\n fields: {\n elements: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"Expression\", \"SpreadElement\")),\n ),\n default: [],\n },\n },\n visitor: [\"elements\"],\n aliases: [\"Expression\"],\n});\n\ndefineType(\"DecimalLiteral\", {\n builder: [\"value\"],\n fields: {\n value: {\n validate: assertValueType(\"string\"),\n },\n },\n aliases: [\"Expression\", \"Pureish\", \"Literal\", \"Immutable\"],\n});\n\n// https://github.com/tc39/proposal-js-module-blocks\ndefineType(\"ModuleExpression\", {\n visitor: [\"body\"],\n fields: {\n body: {\n validate: assertNodeType(\"Program\"),\n },\n },\n aliases: [\"Expression\"],\n});\n\n// https://github.com/tc39/proposal-pipeline-operator\n// https://github.com/js-choi/proposal-hack-pipes\ndefineType(\"TopicReference\", {\n aliases: [\"Expression\"],\n});\n\n// https://github.com/tc39/proposal-pipeline-operator\n// https://github.com/js-choi/proposal-smart-pipes\ndefineType(\"PipelineTopicExpression\", {\n builder: [\"expression\"],\n visitor: [\"expression\"],\n fields: {\n expression: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n aliases: [\"Expression\"],\n});\n\ndefineType(\"PipelineBareFunction\", {\n builder: [\"callee\"],\n visitor: [\"callee\"],\n fields: {\n callee: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n aliases: [\"Expression\"],\n});\n\ndefineType(\"PipelinePrimaryTopicReference\", {\n aliases: [\"Expression\"],\n});\n"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["defineType","visitor","aliases","fields","process","env","BABEL_TYPES_8_BREAKING","object","validate","Object","assign","oneOfNodeTypes","callee","assertNodeType","key","value","expression","builder","body","async","assertValueType","default","exported","properties","chain","assertEach","elements"],"sources":["../../src/definitions/experimental.ts"],"sourcesContent":["import defineType, {\n assertEach,\n assertNodeType,\n assertValueType,\n chain,\n} from \"./utils\";\n\ndefineType(\"ArgumentPlaceholder\", {});\n\ndefineType(\"BindExpression\", {\n visitor: [\"object\", \"callee\"],\n aliases: [\"Expression\"],\n fields: !process.env.BABEL_TYPES_8_BREAKING\n ? {\n object: {\n validate: Object.assign(() => {}, {\n oneOfNodeTypes: [\"Expression\"],\n }),\n },\n callee: {\n validate: Object.assign(() => {}, {\n oneOfNodeTypes: [\"Expression\"],\n }),\n },\n }\n : {\n object: {\n validate: assertNodeType(\"Expression\"),\n },\n callee: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n});\n\ndefineType(\"ImportAttribute\", {\n visitor: [\"key\", \"value\"],\n fields: {\n key: {\n validate: assertNodeType(\"Identifier\", \"StringLiteral\"),\n },\n value: {\n validate: assertNodeType(\"StringLiteral\"),\n },\n },\n});\n\ndefineType(\"Decorator\", {\n visitor: [\"expression\"],\n fields: {\n expression: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n});\n\ndefineType(\"DoExpression\", {\n visitor: [\"body\"],\n builder: [\"body\", \"async\"],\n aliases: [\"Expression\"],\n fields: {\n body: {\n validate: assertNodeType(\"BlockStatement\"),\n },\n async: {\n validate: assertValueType(\"boolean\"),\n default: false,\n },\n },\n});\n\ndefineType(\"ExportDefaultSpecifier\", {\n visitor: [\"exported\"],\n aliases: [\"ModuleSpecifier\"],\n fields: {\n exported: {\n validate: assertNodeType(\"Identifier\"),\n },\n },\n});\n\ndefineType(\"RecordExpression\", {\n visitor: [\"properties\"],\n aliases: [\"Expression\"],\n fields: {\n properties: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"ObjectProperty\", \"SpreadElement\")),\n ),\n },\n },\n});\n\ndefineType(\"TupleExpression\", {\n fields: {\n elements: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"Expression\", \"SpreadElement\")),\n ),\n default: [],\n },\n },\n visitor: [\"elements\"],\n aliases: [\"Expression\"],\n});\n\ndefineType(\"DecimalLiteral\", {\n builder: [\"value\"],\n fields: {\n value: {\n validate: assertValueType(\"string\"),\n },\n },\n aliases: [\"Expression\", \"Pureish\", \"Literal\", \"Immutable\"],\n});\n\n// https://github.com/tc39/proposal-js-module-blocks\ndefineType(\"ModuleExpression\", {\n visitor: [\"body\"],\n fields: {\n body: {\n validate: assertNodeType(\"Program\"),\n },\n },\n aliases: [\"Expression\"],\n});\n\n// https://github.com/tc39/proposal-pipeline-operator\n// https://github.com/js-choi/proposal-hack-pipes\ndefineType(\"TopicReference\", {\n aliases: [\"Expression\"],\n});\n\n// https://github.com/tc39/proposal-pipeline-operator\n// https://github.com/js-choi/proposal-smart-pipes\ndefineType(\"PipelineTopicExpression\", {\n builder: [\"expression\"],\n visitor: [\"expression\"],\n fields: {\n expression: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n aliases: [\"Expression\"],\n});\n\ndefineType(\"PipelineBareFunction\", {\n builder: [\"callee\"],\n visitor: [\"callee\"],\n fields: {\n callee: {\n validate: assertNodeType(\"Expression\"),\n },\n },\n aliases: [\"Expression\"],\n});\n\ndefineType(\"PipelinePrimaryTopicReference\", {\n aliases: [\"Expression\"],\n});\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["defineType","defineAliasedType","defineInterfaceishType","name","builder","visitor","aliases","fields","id","validateType","typeParameters","validateOptionalType","extends","validateOptional","arrayOfType","mixins","implements","body","elementType","value","validate","assertValueType","predicate","kind","assertOneOf","typeAnnotation","right","supertype","impltype","declaration","specifiers","source","default","exportKind","params","rest","this","returnType","optional","types","properties","indexers","callProperties","internalSlots","exact","inexact","static","method","key","variance","proto","argument","qualification","expression","bound","explicitType","members","validateArrayOfType","hasUnknownMembers","init","objectType","indexType"],"sources":["../../src/definitions/flow.ts"],"sourcesContent":["import {\n defineAliasedType,\n arrayOfType,\n assertOneOf,\n assertValueType,\n validate,\n validateArrayOfType,\n validateOptional,\n validateOptionalType,\n validateType,\n} from \"./utils\";\n\nconst defineType = defineAliasedType(\"Flow\");\n\nconst defineInterfaceishType = (\n name: \"DeclareClass\" | \"DeclareInterface\" | \"InterfaceDeclaration\",\n) => {\n defineType(name, {\n builder: [\"id\", \"typeParameters\", \"extends\", \"body\"],\n visitor: [\n \"id\",\n \"typeParameters\",\n \"extends\",\n \"mixins\",\n \"implements\",\n \"body\",\n ],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TypeParameterDeclaration\"),\n extends: validateOptional(arrayOfType(\"InterfaceExtends\")),\n mixins: validateOptional(arrayOfType(\"InterfaceExtends\")),\n implements: validateOptional(arrayOfType(\"ClassImplements\")),\n body: validateType(\"ObjectTypeAnnotation\"),\n },\n });\n};\n\ndefineType(\"AnyTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"ArrayTypeAnnotation\", {\n visitor: [\"elementType\"],\n aliases: [\"FlowType\"],\n fields: {\n elementType: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"BooleanTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"BooleanLiteralTypeAnnotation\", {\n builder: [\"value\"],\n aliases: [\"FlowType\"],\n fields: {\n value: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"NullLiteralTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"ClassImplements\", {\n visitor: [\"id\", \"typeParameters\"],\n fields: {\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TypeParameterInstantiation\"),\n },\n});\n\ndefineInterfaceishType(\"DeclareClass\");\n\ndefineType(\"DeclareFunction\", {\n visitor: [\"id\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n predicate: validateOptionalType(\"DeclaredPredicate\"),\n },\n});\n\ndefineInterfaceishType(\"DeclareInterface\");\n\ndefineType(\"DeclareModule\", {\n builder: [\"id\", \"body\", \"kind\"],\n visitor: [\"id\", \"body\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType([\"Identifier\", \"StringLiteral\"]),\n body: validateType(\"BlockStatement\"),\n kind: validateOptional(assertOneOf(\"CommonJS\", \"ES\")),\n },\n});\n\ndefineType(\"DeclareModuleExports\", {\n visitor: [\"typeAnnotation\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n typeAnnotation: validateType(\"TypeAnnotation\"),\n },\n});\n\ndefineType(\"DeclareTypeAlias\", {\n visitor: [\"id\", \"typeParameters\", \"right\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TypeParameterDeclaration\"),\n right: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"DeclareOpaqueType\", {\n visitor: [\"id\", \"typeParameters\", \"supertype\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TypeParameterDeclaration\"),\n supertype: validateOptionalType(\"FlowType\"),\n impltype: validateOptionalType(\"FlowType\"),\n },\n});\n\ndefineType(\"DeclareVariable\", {\n visitor: [\"id\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n },\n});\n\ndefineType(\"DeclareExportDeclaration\", {\n visitor: [\"declaration\", \"specifiers\", \"source\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n declaration: validateOptionalType(\"Flow\"),\n specifiers: validateOptional(\n arrayOfType([\"ExportSpecifier\", \"ExportNamespaceSpecifier\"]),\n ),\n source: validateOptionalType(\"StringLiteral\"),\n default: validateOptional(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"DeclareExportAllDeclaration\", {\n visitor: [\"source\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n source: validateType(\"StringLiteral\"),\n exportKind: validateOptional(assertOneOf(\"type\", \"value\")),\n },\n});\n\ndefineType(\"DeclaredPredicate\", {\n visitor: [\"value\"],\n aliases: [\"FlowPredicate\"],\n fields: {\n value: validateType(\"Flow\"),\n },\n});\n\ndefineType(\"ExistsTypeAnnotation\", {\n aliases: [\"FlowType\"],\n});\n\ndefineType(\"FunctionTypeAnnotation\", {\n visitor: [\"typeParameters\", \"params\", \"rest\", \"returnType\"],\n aliases: [\"FlowType\"],\n fields: {\n typeParameters: validateOptionalType(\"TypeParameterDeclaration\"),\n params: validate(arrayOfType(\"FunctionTypeParam\")),\n rest: validateOptionalType(\"FunctionTypeParam\"),\n this: validateOptionalType(\"FunctionTypeParam\"),\n returnType: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"FunctionTypeParam\", {\n visitor: [\"name\", \"typeAnnotation\"],\n fields: {\n name: validateOptionalType(\"Identifier\"),\n typeAnnotation: validateType(\"FlowType\"),\n optional: validateOptional(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"GenericTypeAnnotation\", {\n visitor: [\"id\", \"typeParameters\"],\n aliases: [\"FlowType\"],\n fields: {\n id: validateType([\"Identifier\", \"QualifiedTypeIdentifier\"]),\n typeParameters: validateOptionalType(\"TypeParameterInstantiation\"),\n },\n});\n\ndefineType(\"InferredPredicate\", {\n aliases: [\"FlowPredicate\"],\n});\n\ndefineType(\"InterfaceExtends\", {\n visitor: [\"id\", \"typeParameters\"],\n fields: {\n id: validateType([\"Identifier\", \"QualifiedTypeIdentifier\"]),\n typeParameters: validateOptionalType(\"TypeParameterInstantiation\"),\n },\n});\n\ndefineInterfaceishType(\"InterfaceDeclaration\");\n\ndefineType(\"InterfaceTypeAnnotation\", {\n visitor: [\"extends\", \"body\"],\n aliases: [\"FlowType\"],\n fields: {\n extends: validateOptional(arrayOfType(\"InterfaceExtends\")),\n body: validateType(\"ObjectTypeAnnotation\"),\n },\n});\n\ndefineType(\"IntersectionTypeAnnotation\", {\n visitor: [\"types\"],\n aliases: [\"FlowType\"],\n fields: {\n types: validate(arrayOfType(\"FlowType\")),\n },\n});\n\ndefineType(\"MixedTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"EmptyTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"NullableTypeAnnotation\", {\n visitor: [\"typeAnnotation\"],\n aliases: [\"FlowType\"],\n fields: {\n typeAnnotation: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"NumberLiteralTypeAnnotation\", {\n builder: [\"value\"],\n aliases: [\"FlowType\"],\n fields: {\n value: validate(assertValueType(\"number\")),\n },\n});\n\ndefineType(\"NumberTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"ObjectTypeAnnotation\", {\n visitor: [\"properties\", \"indexers\", \"callProperties\", \"internalSlots\"],\n aliases: [\"FlowType\"],\n builder: [\n \"properties\",\n \"indexers\",\n \"callProperties\",\n \"internalSlots\",\n \"exact\",\n ],\n fields: {\n properties: validate(\n arrayOfType([\"ObjectTypeProperty\", \"ObjectTypeSpreadProperty\"]),\n ),\n indexers: {\n validate: arrayOfType(\"ObjectTypeIndexer\"),\n optional: process.env.BABEL_8_BREAKING ? false : true,\n default: [],\n },\n callProperties: {\n validate: arrayOfType(\"ObjectTypeCallProperty\"),\n optional: process.env.BABEL_8_BREAKING ? false : true,\n default: [],\n },\n internalSlots: {\n validate: arrayOfType(\"ObjectTypeInternalSlot\"),\n optional: process.env.BABEL_8_BREAKING ? false : true,\n default: [],\n },\n exact: {\n validate: assertValueType(\"boolean\"),\n default: false,\n },\n // If the inexact flag is present then this is an object type, and not a\n // declare class, declare interface, or interface. If it is true, the\n // object uses ... to express that it is inexact.\n inexact: validateOptional(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"ObjectTypeInternalSlot\", {\n visitor: [\"id\", \"value\", \"optional\", \"static\", \"method\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n id: validateType(\"Identifier\"),\n value: validateType(\"FlowType\"),\n optional: validate(assertValueType(\"boolean\")),\n static: validate(assertValueType(\"boolean\")),\n method: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"ObjectTypeCallProperty\", {\n visitor: [\"value\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n value: validateType(\"FlowType\"),\n static: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"ObjectTypeIndexer\", {\n visitor: [\"id\", \"key\", \"value\", \"variance\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n id: validateOptionalType(\"Identifier\"),\n key: validateType(\"FlowType\"),\n value: validateType(\"FlowType\"),\n static: validate(assertValueType(\"boolean\")),\n variance: validateOptionalType(\"Variance\"),\n },\n});\n\ndefineType(\"ObjectTypeProperty\", {\n visitor: [\"key\", \"value\", \"variance\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n key: validateType([\"Identifier\", \"StringLiteral\"]),\n value: validateType(\"FlowType\"),\n kind: validate(assertOneOf(\"init\", \"get\", \"set\")),\n static: validate(assertValueType(\"boolean\")),\n proto: validate(assertValueType(\"boolean\")),\n optional: validate(assertValueType(\"boolean\")),\n variance: validateOptionalType(\"Variance\"),\n method: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"ObjectTypeSpreadProperty\", {\n visitor: [\"argument\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n argument: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"OpaqueType\", {\n visitor: [\"id\", \"typeParameters\", \"supertype\", \"impltype\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TypeParameterDeclaration\"),\n supertype: validateOptionalType(\"FlowType\"),\n impltype: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"QualifiedTypeIdentifier\", {\n visitor: [\"id\", \"qualification\"],\n fields: {\n id: validateType(\"Identifier\"),\n qualification: validateType([\"Identifier\", \"QualifiedTypeIdentifier\"]),\n },\n});\n\ndefineType(\"StringLiteralTypeAnnotation\", {\n builder: [\"value\"],\n aliases: [\"FlowType\"],\n fields: {\n value: validate(assertValueType(\"string\")),\n },\n});\n\ndefineType(\"StringTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"SymbolTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"ThisTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"TupleTypeAnnotation\", {\n visitor: [\"types\"],\n aliases: [\"FlowType\"],\n fields: {\n types: validate(arrayOfType(\"FlowType\")),\n },\n});\n\ndefineType(\"TypeofTypeAnnotation\", {\n visitor: [\"argument\"],\n aliases: [\"FlowType\"],\n fields: {\n argument: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"TypeAlias\", {\n visitor: [\"id\", \"typeParameters\", \"right\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TypeParameterDeclaration\"),\n right: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"TypeAnnotation\", {\n visitor: [\"typeAnnotation\"],\n fields: {\n typeAnnotation: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"TypeCastExpression\", {\n visitor: [\"expression\", \"typeAnnotation\"],\n aliases: [\"ExpressionWrapper\", \"Expression\"],\n fields: {\n expression: validateType(\"Expression\"),\n typeAnnotation: validateType(\"TypeAnnotation\"),\n },\n});\n\ndefineType(\"TypeParameter\", {\n visitor: [\"bound\", \"default\", \"variance\"],\n fields: {\n name: validate(assertValueType(\"string\")),\n bound: validateOptionalType(\"TypeAnnotation\"),\n default: validateOptionalType(\"FlowType\"),\n variance: validateOptionalType(\"Variance\"),\n },\n});\n\ndefineType(\"TypeParameterDeclaration\", {\n visitor: [\"params\"],\n fields: {\n params: validate(arrayOfType(\"TypeParameter\")),\n },\n});\n\ndefineType(\"TypeParameterInstantiation\", {\n visitor: [\"params\"],\n fields: {\n params: validate(arrayOfType(\"FlowType\")),\n },\n});\n\ndefineType(\"UnionTypeAnnotation\", {\n visitor: [\"types\"],\n aliases: [\"FlowType\"],\n fields: {\n types: validate(arrayOfType(\"FlowType\")),\n },\n});\n\ndefineType(\"Variance\", {\n builder: [\"kind\"],\n fields: {\n kind: validate(assertOneOf(\"minus\", \"plus\")),\n },\n});\n\ndefineType(\"VoidTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\n// Enums\ndefineType(\"EnumDeclaration\", {\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"body\"],\n fields: {\n id: validateType(\"Identifier\"),\n body: validateType([\n \"EnumBooleanBody\",\n \"EnumNumberBody\",\n \"EnumStringBody\",\n \"EnumSymbolBody\",\n ]),\n },\n});\n\ndefineType(\"EnumBooleanBody\", {\n aliases: [\"EnumBody\"],\n visitor: [\"members\"],\n fields: {\n explicitType: validate(assertValueType(\"boolean\")),\n members: validateArrayOfType(\"EnumBooleanMember\"),\n hasUnknownMembers: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"EnumNumberBody\", {\n aliases: [\"EnumBody\"],\n visitor: [\"members\"],\n fields: {\n explicitType: validate(assertValueType(\"boolean\")),\n members: validateArrayOfType(\"EnumNumberMember\"),\n hasUnknownMembers: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"EnumStringBody\", {\n aliases: [\"EnumBody\"],\n visitor: [\"members\"],\n fields: {\n explicitType: validate(assertValueType(\"boolean\")),\n members: validateArrayOfType([\"EnumStringMember\", \"EnumDefaultedMember\"]),\n hasUnknownMembers: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"EnumSymbolBody\", {\n aliases: [\"EnumBody\"],\n visitor: [\"members\"],\n fields: {\n members: validateArrayOfType(\"EnumDefaultedMember\"),\n hasUnknownMembers: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"EnumBooleanMember\", {\n aliases: [\"EnumMember\"],\n visitor: [\"id\"],\n fields: {\n id: validateType(\"Identifier\"),\n init: validateType(\"BooleanLiteral\"),\n },\n});\n\ndefineType(\"EnumNumberMember\", {\n aliases: [\"EnumMember\"],\n visitor: [\"id\", \"init\"],\n fields: {\n id: validateType(\"Identifier\"),\n init: validateType(\"NumericLiteral\"),\n },\n});\n\ndefineType(\"EnumStringMember\", {\n aliases: [\"EnumMember\"],\n visitor: [\"id\", \"init\"],\n fields: {\n id: validateType(\"Identifier\"),\n init: validateType(\"StringLiteral\"),\n },\n});\n\ndefineType(\"EnumDefaultedMember\", {\n aliases: [\"EnumMember\"],\n visitor: [\"id\"],\n fields: {\n id: validateType(\"Identifier\"),\n },\n});\n\ndefineType(\"IndexedAccessType\", {\n visitor: [\"objectType\", \"indexType\"],\n aliases: [\"FlowType\"],\n fields: {\n objectType: validateType(\"FlowType\"),\n indexType: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"OptionalIndexedAccessType\", {\n visitor: [\"objectType\", \"indexType\"],\n aliases: [\"FlowType\"],\n fields: {\n objectType: validateType(\"FlowType\"),\n indexType: validateType(\"FlowType\"),\n optional: validate(assertValueType(\"boolean\")),\n },\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["defineType","defineAliasedType","defineInterfaceishType","name","builder","visitor","aliases","fields","id","validateType","typeParameters","validateOptionalType","extends","validateOptional","arrayOfType","mixins","implements","body","elementType","value","validate","assertValueType","predicate","kind","assertOneOf","typeAnnotation","right","supertype","impltype","declaration","specifiers","source","default","exportKind","params","rest","this","returnType","optional","types","properties","indexers","callProperties","internalSlots","exact","inexact","static","method","key","variance","proto","argument","qualification","expression","bound","explicitType","members","validateArrayOfType","hasUnknownMembers","init","objectType","indexType"],"sources":["../../src/definitions/flow.ts"],"sourcesContent":["import {\n defineAliasedType,\n arrayOfType,\n assertOneOf,\n assertValueType,\n validate,\n validateArrayOfType,\n validateOptional,\n validateOptionalType,\n validateType,\n} from \"./utils\";\n\nconst defineType = defineAliasedType(\"Flow\");\n\nconst defineInterfaceishType = (\n name: \"DeclareClass\" | \"DeclareInterface\" | \"InterfaceDeclaration\",\n) => {\n defineType(name, {\n builder: [\"id\", \"typeParameters\", \"extends\", \"body\"],\n visitor: [\n \"id\",\n \"typeParameters\",\n \"extends\",\n \"mixins\",\n \"implements\",\n \"body\",\n ],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TypeParameterDeclaration\"),\n extends: validateOptional(arrayOfType(\"InterfaceExtends\")),\n mixins: validateOptional(arrayOfType(\"InterfaceExtends\")),\n implements: validateOptional(arrayOfType(\"ClassImplements\")),\n body: validateType(\"ObjectTypeAnnotation\"),\n },\n });\n};\n\ndefineType(\"AnyTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"ArrayTypeAnnotation\", {\n visitor: [\"elementType\"],\n aliases: [\"FlowType\"],\n fields: {\n elementType: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"BooleanTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"BooleanLiteralTypeAnnotation\", {\n builder: [\"value\"],\n aliases: [\"FlowType\"],\n fields: {\n value: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"NullLiteralTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"ClassImplements\", {\n visitor: [\"id\", \"typeParameters\"],\n fields: {\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TypeParameterInstantiation\"),\n },\n});\n\ndefineInterfaceishType(\"DeclareClass\");\n\ndefineType(\"DeclareFunction\", {\n visitor: [\"id\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n predicate: validateOptionalType(\"DeclaredPredicate\"),\n },\n});\n\ndefineInterfaceishType(\"DeclareInterface\");\n\ndefineType(\"DeclareModule\", {\n builder: [\"id\", \"body\", \"kind\"],\n visitor: [\"id\", \"body\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType([\"Identifier\", \"StringLiteral\"]),\n body: validateType(\"BlockStatement\"),\n kind: validateOptional(assertOneOf(\"CommonJS\", \"ES\")),\n },\n});\n\ndefineType(\"DeclareModuleExports\", {\n visitor: [\"typeAnnotation\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n typeAnnotation: validateType(\"TypeAnnotation\"),\n },\n});\n\ndefineType(\"DeclareTypeAlias\", {\n visitor: [\"id\", \"typeParameters\", \"right\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TypeParameterDeclaration\"),\n right: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"DeclareOpaqueType\", {\n visitor: [\"id\", \"typeParameters\", \"supertype\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TypeParameterDeclaration\"),\n supertype: validateOptionalType(\"FlowType\"),\n impltype: validateOptionalType(\"FlowType\"),\n },\n});\n\ndefineType(\"DeclareVariable\", {\n visitor: [\"id\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n },\n});\n\ndefineType(\"DeclareExportDeclaration\", {\n visitor: [\"declaration\", \"specifiers\", \"source\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n declaration: validateOptionalType(\"Flow\"),\n specifiers: validateOptional(\n arrayOfType([\"ExportSpecifier\", \"ExportNamespaceSpecifier\"]),\n ),\n source: validateOptionalType(\"StringLiteral\"),\n default: validateOptional(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"DeclareExportAllDeclaration\", {\n visitor: [\"source\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n source: validateType(\"StringLiteral\"),\n exportKind: validateOptional(assertOneOf(\"type\", \"value\")),\n },\n});\n\ndefineType(\"DeclaredPredicate\", {\n visitor: [\"value\"],\n aliases: [\"FlowPredicate\"],\n fields: {\n value: validateType(\"Flow\"),\n },\n});\n\ndefineType(\"ExistsTypeAnnotation\", {\n aliases: [\"FlowType\"],\n});\n\ndefineType(\"FunctionTypeAnnotation\", {\n visitor: [\"typeParameters\", \"params\", \"rest\", \"returnType\"],\n aliases: [\"FlowType\"],\n fields: {\n typeParameters: validateOptionalType(\"TypeParameterDeclaration\"),\n params: validate(arrayOfType(\"FunctionTypeParam\")),\n rest: validateOptionalType(\"FunctionTypeParam\"),\n this: validateOptionalType(\"FunctionTypeParam\"),\n returnType: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"FunctionTypeParam\", {\n visitor: [\"name\", \"typeAnnotation\"],\n fields: {\n name: validateOptionalType(\"Identifier\"),\n typeAnnotation: validateType(\"FlowType\"),\n optional: validateOptional(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"GenericTypeAnnotation\", {\n visitor: [\"id\", \"typeParameters\"],\n aliases: [\"FlowType\"],\n fields: {\n id: validateType([\"Identifier\", \"QualifiedTypeIdentifier\"]),\n typeParameters: validateOptionalType(\"TypeParameterInstantiation\"),\n },\n});\n\ndefineType(\"InferredPredicate\", {\n aliases: [\"FlowPredicate\"],\n});\n\ndefineType(\"InterfaceExtends\", {\n visitor: [\"id\", \"typeParameters\"],\n fields: {\n id: validateType([\"Identifier\", \"QualifiedTypeIdentifier\"]),\n typeParameters: validateOptionalType(\"TypeParameterInstantiation\"),\n },\n});\n\ndefineInterfaceishType(\"InterfaceDeclaration\");\n\ndefineType(\"InterfaceTypeAnnotation\", {\n visitor: [\"extends\", \"body\"],\n aliases: [\"FlowType\"],\n fields: {\n extends: validateOptional(arrayOfType(\"InterfaceExtends\")),\n body: validateType(\"ObjectTypeAnnotation\"),\n },\n});\n\ndefineType(\"IntersectionTypeAnnotation\", {\n visitor: [\"types\"],\n aliases: [\"FlowType\"],\n fields: {\n types: validate(arrayOfType(\"FlowType\")),\n },\n});\n\ndefineType(\"MixedTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"EmptyTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"NullableTypeAnnotation\", {\n visitor: [\"typeAnnotation\"],\n aliases: [\"FlowType\"],\n fields: {\n typeAnnotation: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"NumberLiteralTypeAnnotation\", {\n builder: [\"value\"],\n aliases: [\"FlowType\"],\n fields: {\n value: validate(assertValueType(\"number\")),\n },\n});\n\ndefineType(\"NumberTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"ObjectTypeAnnotation\", {\n visitor: [\"properties\", \"indexers\", \"callProperties\", \"internalSlots\"],\n aliases: [\"FlowType\"],\n builder: [\n \"properties\",\n \"indexers\",\n \"callProperties\",\n \"internalSlots\",\n \"exact\",\n ],\n fields: {\n properties: validate(\n arrayOfType([\"ObjectTypeProperty\", \"ObjectTypeSpreadProperty\"]),\n ),\n indexers: {\n validate: arrayOfType(\"ObjectTypeIndexer\"),\n optional: process.env.BABEL_8_BREAKING ? false : true,\n default: [],\n },\n callProperties: {\n validate: arrayOfType(\"ObjectTypeCallProperty\"),\n optional: process.env.BABEL_8_BREAKING ? false : true,\n default: [],\n },\n internalSlots: {\n validate: arrayOfType(\"ObjectTypeInternalSlot\"),\n optional: process.env.BABEL_8_BREAKING ? false : true,\n default: [],\n },\n exact: {\n validate: assertValueType(\"boolean\"),\n default: false,\n },\n // If the inexact flag is present then this is an object type, and not a\n // declare class, declare interface, or interface. If it is true, the\n // object uses ... to express that it is inexact.\n inexact: validateOptional(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"ObjectTypeInternalSlot\", {\n visitor: [\"id\", \"value\", \"optional\", \"static\", \"method\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n id: validateType(\"Identifier\"),\n value: validateType(\"FlowType\"),\n optional: validate(assertValueType(\"boolean\")),\n static: validate(assertValueType(\"boolean\")),\n method: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"ObjectTypeCallProperty\", {\n visitor: [\"value\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n value: validateType(\"FlowType\"),\n static: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"ObjectTypeIndexer\", {\n visitor: [\"id\", \"key\", \"value\", \"variance\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n id: validateOptionalType(\"Identifier\"),\n key: validateType(\"FlowType\"),\n value: validateType(\"FlowType\"),\n static: validate(assertValueType(\"boolean\")),\n variance: validateOptionalType(\"Variance\"),\n },\n});\n\ndefineType(\"ObjectTypeProperty\", {\n visitor: [\"key\", \"value\", \"variance\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n key: validateType([\"Identifier\", \"StringLiteral\"]),\n value: validateType(\"FlowType\"),\n kind: validate(assertOneOf(\"init\", \"get\", \"set\")),\n static: validate(assertValueType(\"boolean\")),\n proto: validate(assertValueType(\"boolean\")),\n optional: validate(assertValueType(\"boolean\")),\n variance: validateOptionalType(\"Variance\"),\n method: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"ObjectTypeSpreadProperty\", {\n visitor: [\"argument\"],\n aliases: [\"UserWhitespacable\"],\n fields: {\n argument: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"OpaqueType\", {\n visitor: [\"id\", \"typeParameters\", \"supertype\", \"impltype\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TypeParameterDeclaration\"),\n supertype: validateOptionalType(\"FlowType\"),\n impltype: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"QualifiedTypeIdentifier\", {\n visitor: [\"id\", \"qualification\"],\n fields: {\n id: validateType(\"Identifier\"),\n qualification: validateType([\"Identifier\", \"QualifiedTypeIdentifier\"]),\n },\n});\n\ndefineType(\"StringLiteralTypeAnnotation\", {\n builder: [\"value\"],\n aliases: [\"FlowType\"],\n fields: {\n value: validate(assertValueType(\"string\")),\n },\n});\n\ndefineType(\"StringTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"SymbolTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"ThisTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\ndefineType(\"TupleTypeAnnotation\", {\n visitor: [\"types\"],\n aliases: [\"FlowType\"],\n fields: {\n types: validate(arrayOfType(\"FlowType\")),\n },\n});\n\ndefineType(\"TypeofTypeAnnotation\", {\n visitor: [\"argument\"],\n aliases: [\"FlowType\"],\n fields: {\n argument: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"TypeAlias\", {\n visitor: [\"id\", \"typeParameters\", \"right\"],\n aliases: [\"FlowDeclaration\", \"Statement\", \"Declaration\"],\n fields: {\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TypeParameterDeclaration\"),\n right: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"TypeAnnotation\", {\n visitor: [\"typeAnnotation\"],\n fields: {\n typeAnnotation: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"TypeCastExpression\", {\n visitor: [\"expression\", \"typeAnnotation\"],\n aliases: [\"ExpressionWrapper\", \"Expression\"],\n fields: {\n expression: validateType(\"Expression\"),\n typeAnnotation: validateType(\"TypeAnnotation\"),\n },\n});\n\ndefineType(\"TypeParameter\", {\n visitor: [\"bound\", \"default\", \"variance\"],\n fields: {\n name: validate(assertValueType(\"string\")),\n bound: validateOptionalType(\"TypeAnnotation\"),\n default: validateOptionalType(\"FlowType\"),\n variance: validateOptionalType(\"Variance\"),\n },\n});\n\ndefineType(\"TypeParameterDeclaration\", {\n visitor: [\"params\"],\n fields: {\n params: validate(arrayOfType(\"TypeParameter\")),\n },\n});\n\ndefineType(\"TypeParameterInstantiation\", {\n visitor: [\"params\"],\n fields: {\n params: validate(arrayOfType(\"FlowType\")),\n },\n});\n\ndefineType(\"UnionTypeAnnotation\", {\n visitor: [\"types\"],\n aliases: [\"FlowType\"],\n fields: {\n types: validate(arrayOfType(\"FlowType\")),\n },\n});\n\ndefineType(\"Variance\", {\n builder: [\"kind\"],\n fields: {\n kind: validate(assertOneOf(\"minus\", \"plus\")),\n },\n});\n\ndefineType(\"VoidTypeAnnotation\", {\n aliases: [\"FlowType\", \"FlowBaseAnnotation\"],\n});\n\n// Enums\ndefineType(\"EnumDeclaration\", {\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"body\"],\n fields: {\n id: validateType(\"Identifier\"),\n body: validateType([\n \"EnumBooleanBody\",\n \"EnumNumberBody\",\n \"EnumStringBody\",\n \"EnumSymbolBody\",\n ]),\n },\n});\n\ndefineType(\"EnumBooleanBody\", {\n aliases: [\"EnumBody\"],\n visitor: [\"members\"],\n fields: {\n explicitType: validate(assertValueType(\"boolean\")),\n members: validateArrayOfType(\"EnumBooleanMember\"),\n hasUnknownMembers: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"EnumNumberBody\", {\n aliases: [\"EnumBody\"],\n visitor: [\"members\"],\n fields: {\n explicitType: validate(assertValueType(\"boolean\")),\n members: validateArrayOfType(\"EnumNumberMember\"),\n hasUnknownMembers: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"EnumStringBody\", {\n aliases: [\"EnumBody\"],\n visitor: [\"members\"],\n fields: {\n explicitType: validate(assertValueType(\"boolean\")),\n members: validateArrayOfType([\"EnumStringMember\", \"EnumDefaultedMember\"]),\n hasUnknownMembers: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"EnumSymbolBody\", {\n aliases: [\"EnumBody\"],\n visitor: [\"members\"],\n fields: {\n members: validateArrayOfType(\"EnumDefaultedMember\"),\n hasUnknownMembers: validate(assertValueType(\"boolean\")),\n },\n});\n\ndefineType(\"EnumBooleanMember\", {\n aliases: [\"EnumMember\"],\n visitor: [\"id\"],\n fields: {\n id: validateType(\"Identifier\"),\n init: validateType(\"BooleanLiteral\"),\n },\n});\n\ndefineType(\"EnumNumberMember\", {\n aliases: [\"EnumMember\"],\n visitor: [\"id\", \"init\"],\n fields: {\n id: validateType(\"Identifier\"),\n init: validateType(\"NumericLiteral\"),\n },\n});\n\ndefineType(\"EnumStringMember\", {\n aliases: [\"EnumMember\"],\n visitor: [\"id\", \"init\"],\n fields: {\n id: validateType(\"Identifier\"),\n init: validateType(\"StringLiteral\"),\n },\n});\n\ndefineType(\"EnumDefaultedMember\", {\n aliases: [\"EnumMember\"],\n visitor: [\"id\"],\n fields: {\n id: validateType(\"Identifier\"),\n },\n});\n\ndefineType(\"IndexedAccessType\", {\n visitor: [\"objectType\", \"indexType\"],\n aliases: [\"FlowType\"],\n fields: {\n objectType: validateType(\"FlowType\"),\n indexType: validateType(\"FlowType\"),\n },\n});\n\ndefineType(\"OptionalIndexedAccessType\", {\n visitor: [\"objectType\", \"indexType\"],\n aliases: [\"FlowType\"],\n fields: {\n objectType: validateType(\"FlowType\"),\n indexType: validateType(\"FlowType\"),\n optional: validate(assertValueType(\"boolean\")),\n },\n});\n"],"mappings":";;AAAA;AAYA,MAAMA,UAAU,GAAG,IAAAC,wBAAiB,EAAC,MAAM,CAAC;AAE5C,MAAMC,sBAAsB,GAC1BC,IAAkE,IAC/D;EACHH,UAAU,CAACG,IAAI,EAAE;IACfC,OAAO,EAAE,CAAC,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,CAAC;IACpDC,OAAO,EAAE,CACP,IAAI,EACJ,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,YAAY,EACZ,MAAM,CACP;IACDC,OAAO,EAAE,CAAC,iBAAiB,EAAE,WAAW,EAAE,aAAa,CAAC;IACxDC,MAAM,EAAE;MACNC,EAAE,EAAE,IAAAC,mBAAY,EAAC,YAAY,CAAC;MAC9BC,cAAc,EAAE,IAAAC,2BAAoB,EAAC,0BAA0B,CAAC;MAChEC,OAAO,EAAE,IAAAC,uBAAgB,EAAC,IAAAC,kBAAW,EAAC,kBAAkB,CAAC,CAAC;MAC1DC,MAAM,EAAE,IAAAF,uBAAgB,EAAC,IAAAC,kBAAW,EAAC,kBAAkB,CAAC,CAAC;MACzDE,UAAU,EAAE,IAAAH,uBAAgB,EAAC,IAAAC,kBAAW,EAAC,iBAAiB,CAAC,CAAC;MAC5DG,IAAI,EAAE,IAAAR,mBAAY,EAAC,sBAAsB;IAC3C;EACF,CAAC,CAAC;AACJ,CAAC;AAEDT,UAAU,CAAC,mBAAmB,EAAE;EAC9BM,OAAO,EAAE,CAAC,UAAU,EAAE,oBAAoB;AAC5C,CAAC,CAAC;AAEFN,UAAU,CAAC,qBAAqB,EAAE;EAChCK,OAAO,EAAE,CAAC,aAAa,CAAC;EACxBC,OAAO,EAAE,CAAC,UAAU,CAAC;EACrBC,MAAM,EAAE;IACNW,WAAW,EAAE,IAAAT,mBAAY,EAAC,UAAU;EACtC;AACF,CAAC,CAAC;AAEFT,UAAU,CAAC,uBAAuB,EAAE;EAClCM,OAAO,EAAE,CAAC,UAAU,EAAE,oBAAoB;AAC5C,CAAC,CAAC;AAEFN,UAAU,CAAC,8BAA8B,EAAE;EACzCI,OAAO,EAAE,CAAC,OAAO,CAAC;EAClBE,OAAO,EAAE,CAAC,UAAU,CAAC;EACrBC,MAAM,EAAE;IACNY,KAAK,EAAE,IAAAC,eAAQ,EAAC,IAAAC,sBAAe,EAAC,SAAS,CAAC;EAC5C;AACF,CAAC,CAAC;AAEFrB,UAAU,CAAC,2BAA2B,EAAE;EACtCM,OAAO,EAAE,CAAC,UAAU,EAAE,oBAAoB;AAC5C,CAAC,CAAC;AAEFN,UAAU,CAAC,iBAAiB,EAAE;EAC5BK,OAAO,EAAE,CAAC,IAAI,EAAE,gBAAgB,CAAC;EACjCE,MAAM,EAAE;IACNC,EAAE,EAAE,IAAAC,mBAAY,EAAC,YAAY,CAAC;IAC9BC,cAAc,EAAE,IAAAC,2BAAoB,EAAC,4BAA4B;EACnE;AACF,CAAC,CAAC;AAEFT,sBAAsB,CAAC,cAAc,CAAC;AAEtCF,UAAU,CAAC,iBAAiB,EAAE;EAC5BK,OAAO,EAAE,CAAC,IAAI,CAAC;EACfC,OAAO,EAAE,CAAC,iBAAiB,EAAE,WAAW,EAAE,aAAa,CAAC;EACxDC,MAAM,EAAE;IACNC,EAAE,EAAE,IAAAC,mBAAY,EAAC,YAAY,CAAC;IAC9Ba,SAAS,EAAE,IAAAX,2BAAoB,EAAC,mBAAmB;EACrD;AACF,CAAC,CAAC;AAEFT,sBAAsB,CAAC,kBAAkB,CAAC;AAE1CF,UAAU,CAAC,eAAe,EAAE;EAC1BI,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC;EAC/BC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC;EACvBC,OAAO,EAAE,CAAC,iBAAiB,EAAE,WAAW,EAAE,aAAa,CAAC;EACxDC,MAAM,EAAE;IACNC,EAAE,EAAE,IAAAC,mBAAY,EAAC,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IACjDQ,IAAI,EAAE,IAAAR,mBAAY,EAAC,gBAAgB,CAAC;IACpCc,IAAI,EAAE,IAAAV,uBAAgB,EAAC,IAAAW,kBAAW,EAAC,UAAU,EAAE,IAAI,CAAC;EACtD;AACF,CAAC,CAAC;AAEFxB,UAAU,CAAC,sBAAsB,EAAE;EACjCK,OAAO,EAAE,CAAC,gBAAgB,CAAC;EAC3BC,OAAO,EAAE,CAAC,iBAAiB,EAAE,WAAW,EAAE,aAAa,CAAC;EACxDC,MAAM,EAAE;IACNkB,cAAc,EAAE,IAAAhB,mBAAY,EAAC,gBAAgB;EAC/C;AACF,CAAC,CAAC;AAEFT,UAAU,CAAC,kBAAkB,EAAE;EAC7BK,OAAO,EAAE,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC;EAC1CC,OAAO,EAAE,CAAC,iBAAiB,EAAE,WAAW,EAAE,aAAa,CAAC;EACxDC,MAAM,EAAE;IACNC,EAAE,EAAE,IAAAC,mBAAY,EAAC,YAAY,CAAC;IAC9BC,cAAc,EAAE,IAAAC,2BAAoB,EAAC,0BAA0B,CAAC;IAChEe,KAAK,EAAE,IAAAjB,mBAAY,EAAC,UAAU;EAChC;AACF,CAAC,CAAC;AAEFT,UAAU,CAAC,mBAAmB,EAAE;EAC9BK,OAAO,EAAE,CAAC,IAAI,EAAE,gBAAgB,EAAE,WAAW,CAAC;EAC9CC,OAAO,EAAE,CAAC,iBAAiB,EAAE,WAAW,EAAE,aAAa,CAAC;EACxDC,MAAM,EAAE;IACNC,EAAE,EAAE,IAAAC,mBAAY,EAAC,YAAY,CAAC;IAC9BC,cAAc,EAAE,IAAAC,2BAAoB,EAAC,0BAA0B,CAAC;IAChEgB,SAAS,EAAE,IAAAhB,2BAAoB,EAAC,UAAU,CAAC;IAC3CiB,QAAQ,EAAE,IAAAjB,2BAAoB,EAAC,UAAU;EAC3C;AACF,CAAC,CAAC;AAEFX,UAAU,CAAC,iBAAiB,EAAE;EAC5BK,OAAO,EAAE,CAAC,IAAI,CAAC;EACfC,OAAO,EAAE,CAAC,iBAAiB,EAAE,WAAW,EAAE,aAAa,CAAC;EACxDC,MAAM,EAAE;IACNC,EAAE,EAAE,IAAAC,mBAAY,EAAC,YAAY;EAC/B;AACF,CAAC,CAAC;AAEFT,UAAU,CAAC,0BAA0B,EAAE;EACrCK,OAAO,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,QAAQ,CAAC;EAChDC,OAAO,EAAE,CAAC,iBAAiB,EAAE,WAAW,EAAE,aAAa,CAAC;EACxDC,MAAM,EAAE;IACNsB,WAAW,EAAE,IAAAlB,2BAAoB,EAAC,MAAM,CAAC;IACzCmB,UAAU,EAAE,IAAAjB,uBAAgB,EAC1B,IAAAC,kBAAW,EAAC,CAAC,iBAAiB,EAAE,0BAA0B,CAAC,CAAC,CAC7D;IACDiB,MAAM,EAAE,IAAApB,2BAAoB,EAAC,eAAe,CAAC;IAC7CqB,OAAO,EAAE,IAAAnB,uBAAgB,EAAC,IAAAQ,sBAAe,EAAC,SAAS,CAAC;EACtD;AACF,CAAC,CAAC;AAEFrB,UAAU,CAAC,6BAA6B,EAAE;EACxCK,OAAO,EAAE,CAAC,QAAQ,CAAC;EACnBC,OAAO,EAAE,CAAC,iBAAiB,EAAE,WAAW,EAAE,aAAa,CAAC;EACxDC,MAAM,EAAE;IACNwB,MAAM,EAAE,IAAAtB,mBAAY,EAAC,eAAe,CAAC;IACrCwB,UAAU,EAAE,IAAApB,uBAAgB,EAAC,IAAAW,kBAAW,EAAC,MAAM,EAAE,OAAO,CAAC;EAC3D;AACF,CAAC,CAAC;AAEFxB,UAAU,CAAC,mBAAmB,EAAE;EAC9BK,OAAO,EAAE,CAAC,OAAO,CAAC;EAClBC,OAAO,EAAE,CAAC,eAAe,CAAC;EAC1BC,MAAM,EAAE;IACNY,KAAK,EAAE,IAAAV,mBAAY,EAAC,MAAM;EAC5B;AACF,CAAC,CAAC;AAEFT,UAAU,CAAC,sBAAsB,EAAE;EACjCM,OAAO,EAAE,CAAC,UAAU;AACtB,CAAC,CAAC;AAEFN,UAAU,CAAC,wBAAwB,EAAE;EACnCK,OAAO,EAAE,CAAC,gBAAgB,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC;EAC3DC,OAAO,EAAE,CAAC,UAAU,CAAC;EACrBC,MAAM,EAAE;IACNG,cAAc,EAAE,IAAAC,2BAAoB,EAAC,0BAA0B,CAAC;IAChEuB,MAAM,EAAE,IAAAd,eAAQ,EAAC,IAAAN,kBAAW,EAAC,mBAAmB,CAAC,CAAC;IAClDqB,IAAI,EAAE,IAAAxB,2BAAoB,EAAC,mBAAmB,CAAC;IAC/CyB,IAAI,EAAE,IAAAzB,2BAAoB,EAAC,mBAAmB,CAAC;IAC/C0B,UAAU,EAAE,IAAA5B,mBAAY,EAAC,UAAU;EACrC;AACF,CAAC,CAAC;AAEFT,UAAU,CAAC,mBAAmB,EAAE;EAC9BK,OAAO,EAAE,CAAC,MAAM,EAAE,gBAAgB,CAAC;EACnCE,MAAM,EAAE;IACNJ,IAAI,EAAE,IAAAQ,2BAAoB,EAAC,YAAY,CAAC;IACxCc,cAAc,EAAE,IAAAhB,mBAAY,EAAC,UAAU,CAAC;IACxC6B,QAAQ,EAAE,IAAAzB,uBAAgB,EAAC,IAAAQ,sBAAe,EAAC,SAAS,CAAC;EACvD;AACF,CAAC,CAAC;AAEFrB,UAAU,CAAC,uBAAuB,EAAE;EAClCK,OAAO,EAAE,CAAC,IAAI,EAAE,gBAAgB,CAAC;EACjCC,OAAO,EAAE,CAAC,UAAU,CAAC;EACrBC,MAAM,EAAE;IACNC,EAAE,EAAE,IAAAC,mBAAY,EAAC,CAAC,YAAY,EAAE,yBAAyB,CAAC,CAAC;IAC3DC,cAAc,EAAE,IAAAC,2BAAoB,EAAC,4BAA4B;EACnE;AACF,CAAC,CAAC;AAEFX,UAAU,CAAC,mBAAmB,EAAE;EAC9BM,OAAO,EAAE,CAAC,eAAe;AAC3B,CAAC,CAAC;AAEFN,UAAU,CAAC,kBAAkB,EAAE;EAC7BK,OAAO,EAAE,CAAC,IAAI,EAAE,gBAAgB,CAAC;EACjCE,MAAM,EAAE;IACNC,EAAE,EAAE,IAAAC,mBAAY,EAAC,CAAC,YAAY,EAAE,yBAAyB,CAAC,CAAC;IAC3DC,cAAc,EAAE,IAAAC,2BAAoB,EAAC,4BAA4B;EACnE;AACF,CAAC,CAAC;AAEFT,sBAAsB,CAAC,sBAAsB,CAAC;AAE9CF,UAAU,CAAC,yBAAyB,EAAE;EACpCK,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC;EAC5BC,OAAO,EAAE,CAAC,UAAU,CAAC;EACrBC,MAAM,EAAE;IACNK,OAAO,EAAE,IAAAC,uBAAgB,EAAC,IAAAC,kBAAW,EAAC,kBAAkB,CAAC,CAAC;IAC1DG,IAAI,EAAE,IAAAR,mBAAY,EAAC,sBAAsB;EAC3C;AACF,CAAC,CAAC;AAEFT,UAAU,CAAC,4BAA4B,EAAE;EACvCK,OAAO,EAAE,CAAC,OAAO,CAAC;EAClBC,OAAO,EAAE,CAAC,UAAU,CAAC;EACrBC,MAAM,EAAE;IACNgC,KAAK,EAAE,IAAAnB,eAAQ,EAAC,IAAAN,kBAAW,EAAC,UAAU,CAAC;EACzC;AACF,CAAC,CAAC;AAEFd,UAAU,CAAC,qBAAqB,EAAE;EAChCM,OAAO,EAAE,CAAC,UAAU,EAAE,oBAAoB;AAC5C,CAAC,CAAC;AAEFN,UAAU,CAAC,qBAAqB,EAAE;EAChCM,OAAO,EAAE,CAAC,UAAU,EAAE,oBAAoB;AAC5C,CAAC,CAAC;AAEFN,UAAU,CAAC,wBAAwB,EAAE;EACnCK,OAAO,EAAE,CAAC,gBAAgB,CAAC;EAC3BC,OAAO,EAAE,CAAC,UAAU,CAAC;EACrBC,MAAM,EAAE;IACNkB,cAAc,EAAE,IAAAhB,mBAAY,EAAC,UAAU;EACzC;AACF,CAAC,CAAC;AAEFT,UAAU,CAAC,6BAA6B,EAAE;EACxCI,OAAO,EAAE,CAAC,OAAO,CAAC;EAClBE,OAAO,EAAE,CAAC,UAAU,CAAC;EACrBC,MAAM,EAAE;IACNY,KAAK,EAAE,IAAAC,eAAQ,EAAC,IAAAC,sBAAe,EAAC,QAAQ,CAAC;EAC3C;AACF,CAAC,CAAC;AAEFrB,UAAU,CAAC,sBAAsB,EAAE;EACjCM,OAAO,EAAE,CAAC,UAAU,EAAE,oBAAoB;AAC5C,CAAC,CAAC;AAEFN,UAAU,CAAC,sBAAsB,EAAE;EACjCK,OAAO,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,CAAC;EACtEC,OAAO,EAAE,CAAC,UAAU,CAAC;EACrBF,OAAO,EAAE,CACP,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,OAAO,CACR;EACDG,MAAM,EAAE;IACNiC,UAAU,EAAE,IAAApB,eAAQ,EAClB,IAAAN,kBAAW,EAAC,CAAC,oBAAoB,EAAE,0BAA0B,CAAC,CAAC,CAChE;IACD2B,QAAQ,EAAE;MACRrB,QAAQ,EAAE,IAAAN,kBAAW,EAAC,mBAAmB,CAAC;MAC1CwB,QAAQ,EAAyC,IAAI;MACrDN,OAAO,EAAE;IACX,CAAC;IACDU,cAAc,EAAE;MACdtB,QAAQ,EAAE,IAAAN,kBAAW,EAAC,wBAAwB,CAAC;MAC/CwB,QAAQ,EAAyC,IAAI;MACrDN,OAAO,EAAE;IACX,CAAC;IACDW,aAAa,EAAE;MACbvB,QAAQ,EAAE,IAAAN,kBAAW,EAAC,wBAAwB,CAAC;MAC/CwB,QAAQ,EAAyC,IAAI;MACrDN,OAAO,EAAE;IACX,CAAC;IACDY,KAAK,EAAE;MACLxB,QAAQ,EAAE,IAAAC,sBAAe,EAAC,SAAS,CAAC;MACpCW,OAAO,EAAE;IACX,CAAC;IAIDa,OAAO,EAAE,IAAAhC,uBAAgB,EAAC,IAAAQ,sBAAe,EAAC,SAAS,CAAC;EACtD;AACF,CAAC,CAAC;AAEFrB,UAAU,CAAC,wBAAwB,EAAE;EACnCK,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC;EACxDC,OAAO,EAAE,CAAC,mBAAmB,CAAC;EAC9BC,MAAM,EAAE;IACNC,EAAE,EAAE,IAAAC,mBAAY,EAAC,YAAY,CAAC;IAC9BU,KAAK,EAAE,IAAAV,mBAAY,EAAC,UAAU,CAAC;IAC/B6B,QAAQ,EAAE,IAAAlB,eAAQ,EAAC,IAAAC,sBAAe,EAAC,SAAS,CAAC,CAAC;IAC9CyB,MAAM,EAAE,IAAA1B,eAAQ,EAAC,IAAAC,sBAAe,EAAC,SAAS,CAAC,CAAC;IAC5C0B,MAAM,EAAE,IAAA3B,eAAQ,EAAC,IAAAC,sBAAe,EAAC,SAAS,CAAC;EAC7C;AACF,CAAC,CAAC;AAEFrB,UAAU,CAAC,wBAAwB,EAAE;EACnCK,OAAO,EAAE,CAAC,OAAO,CAAC;EAClBC,OAAO,EAAE,CAAC,mBAAmB,CAAC;EAC9BC,MAAM,EAAE;IACNY,KAAK,EAAE,IAAAV,mBAAY,EAAC,UAAU,CAAC;IAC/BqC,MAAM,EAAE,IAAA1B,eAAQ,EAAC,IAAAC,sBAAe,EAAC,SAAS,CAAC;EAC7C;AACF,CAAC,CAAC;AAEFrB,UAAU,CAAC,mBAAmB,EAAE;EAC9BK,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC;EAC3CC,OAAO,EAAE,CAAC,mBAAmB,CAAC;EAC9BC,MAAM,EAAE;IACNC,EAAE,EAAE,IAAAG,2BAAoB,EAAC,YAAY,CAAC;IACtCqC,GAAG,EAAE,IAAAvC,mBAAY,EAAC,UAAU,CAAC;IAC7BU,KAAK,EAAE,IAAAV,mBAAY,EAAC,UAAU,CAAC;IAC/BqC,MAAM,EAAE,IAAA1B,eAAQ,EAAC,IAAAC,sBAAe,EAAC,SAAS,CAAC,CAAC;IAC5C4B,QAAQ,EAAE,IAAAtC,2BAAoB,EAAC,UAAU;EAC3C;AACF,CAAC,CAAC;AAEFX,UAAU,CAAC,oBAAoB,EAAE;EAC/BK,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC;EACrCC,OAAO,EAAE,CAAC,mBAAmB,CAAC;EAC9BC,MAAM,EAAE;IACNyC,GAAG,EAAE,IAAAvC,mBAAY,EAAC,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IAClDU,KAAK,EAAE,IAAAV,mBAAY,EAAC,UAAU,CAAC;IAC/Bc,IAAI,EAAE,IAAAH,eAAQ,EAAC,IAAAI,kBAAW,EAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACjDsB,MAAM,EAAE,IAAA1B,eAAQ,EAAC,IAAAC,sBAAe,EAAC,SAAS,CAAC,CAAC;IAC5C6B,KAAK,EAAE,IAAA9B,eAAQ,EAAC,IAAAC,sBAAe,EAAC,SAAS,CAAC,CAAC;IAC3CiB,QAAQ,EAAE,IAAAlB,eAAQ,EAAC,IAAAC,sBAAe,EAAC,SAAS,CAAC,CAAC;IAC9C4B,QAAQ,EAAE,IAAAtC,2BAAoB,EAAC,UAAU,CAAC;IAC1CoC,MAAM,EAAE,IAAA3B,eAAQ,EAAC,IAAAC,sBAAe,EAAC,SAAS,CAAC;EAC7C;AACF,CAAC,CAAC;AAEFrB,UAAU,CAAC,0BAA0B,EAAE;EACrCK,OAAO,EAAE,CAAC,UAAU,CAAC;EACrBC,OAAO,EAAE,CAAC,mBAAmB,CAAC;EAC9BC,MAAM,EAAE;IACN4C,QAAQ,EAAE,IAAA1C,mBAAY,EAAC,UAAU;EACnC;AACF,CAAC,CAAC;AAEFT,UAAU,CAAC,YAAY,EAAE;EACvBK,OAAO,EAAE,CAAC,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,UAAU,CAAC;EAC1DC,OAAO,EAAE,CAAC,iBAAiB,EAAE,WAAW,EAAE,aAAa,CAAC;EACxDC,MAAM,EAAE;IACNC,EAAE,EAAE,IAAAC,mBAAY,EAAC,YAAY,CAAC;IAC9BC,cAAc,EAAE,IAAAC,2BAAoB,EAAC,0BAA0B,CAAC;IAChEgB,SAAS,EAAE,IAAAhB,2BAAoB,EAAC,UAAU,CAAC;IAC3CiB,QAAQ,EAAE,IAAAnB,mBAAY,EAAC,UAAU;EACnC;AACF,CAAC,CAAC;AAEFT,UAAU,CAAC,yBAAyB,EAAE;EACpCK,OAAO,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC;EAChCE,MAAM,EAAE;IACNC,EAAE,EAAE,IAAAC,mBAAY,EAAC,YAAY,CAAC;IAC9B2C,aAAa,EAAE,IAAA3C,mBAAY,EAAC,CAAC,YAAY,EAAE,yBAAyB,CAAC;EACvE;AACF,CAAC,CAAC;AAEFT,UAAU,CAAC,6BAA6B,EAAE;EACxCI,OAAO,EAAE,CAAC,OAAO,CAAC;EAClBE,OAAO,EAAE,CAAC,UAAU,CAAC;EACrBC,MAAM,EAAE;IACNY,KAAK,EAAE,IAAAC,eAAQ,EAAC,IAAAC,sBAAe,EAAC,QAAQ,CAAC;EAC3C;AACF,CAAC,CAAC;AAEFrB,UAAU,CAAC,sBAAsB,EAAE;EACjCM,OAAO,EAAE,CAAC,UAAU,EAAE,oBAAoB;AAC5C,CAAC,CAAC;AAEFN,UAAU,CAAC,sBAAsB,EAAE;EACjCM,OAAO,EAAE,CAAC,UAAU,EAAE,oBAAoB;AAC5C,CAAC,CAAC;AAEFN,UAAU,CAAC,oBAAoB,EAAE;EAC/BM,OAAO,EAAE,CAAC,UAAU,EAAE,oBAAoB;AAC5C,CAAC,CAAC;AAEFN,UAAU,CAAC,qBAAqB,EAAE;EAChCK,OAAO,EAAE,CAAC,OAAO,CAAC;EAClBC,OAAO,EAAE,CAAC,UAAU,CAAC;EACrBC,MAAM,EAAE;IACNgC,KAAK,EAAE,IAAAnB,eAAQ,EAAC,IAAAN,kBAAW,EAAC,UAAU,CAAC;EACzC;AACF,CAAC,CAAC;AAEFd,UAAU,CAAC,sBAAsB,EAAE;EACjCK,OAAO,EAAE,CAAC,UAAU,CAAC;EACrBC,OAAO,EAAE,CAAC,UAAU,CAAC;EACrBC,MAAM,EAAE;IACN4C,QAAQ,EAAE,IAAA1C,mBAAY,EAAC,UAAU;EACnC;AACF,CAAC,CAAC;AAEFT,UAAU,CAAC,WAAW,EAAE;EACtBK,OAAO,EAAE,CAAC,IAAI,EAAE,gBAAgB,EAAE,OAAO,CAAC;EAC1CC,OAAO,EAAE,CAAC,iBAAiB,EAAE,WAAW,EAAE,aAAa,CAAC;EACxDC,MAAM,EAAE;IACNC,EAAE,EAAE,IAAAC,mBAAY,EAAC,YAAY,CAAC;IAC9BC,cAAc,EAAE,IAAAC,2BAAoB,EAAC,0BAA0B,CAAC;IAChEe,KAAK,EAAE,IAAAjB,mBAAY,EAAC,UAAU;EAChC;AACF,CAAC,CAAC;AAEFT,UAAU,CAAC,gBAAgB,EAAE;EAC3BK,OAAO,EAAE,CAAC,gBAAgB,CAAC;EAC3BE,MAAM,EAAE;IACNkB,cAAc,EAAE,IAAAhB,mBAAY,EAAC,UAAU;EACzC;AACF,CAAC,CAAC;AAEFT,UAAU,CAAC,oBAAoB,EAAE;EAC/BK,OAAO,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;EACzCC,OAAO,EAAE,CAAC,mBAAmB,EAAE,YAAY,CAAC;EAC5CC,MAAM,EAAE;IACN8C,UAAU,EAAE,IAAA5C,mBAAY,EAAC,YAAY,CAAC;IACtCgB,cAAc,EAAE,IAAAhB,mBAAY,EAAC,gBAAgB;EAC/C;AACF,CAAC,CAAC;AAEFT,UAAU,CAAC,eAAe,EAAE;EAC1BK,OAAO,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC;EACzCE,MAAM,EAAE;IACNJ,IAAI,EAAE,IAAAiB,eAAQ,EAAC,IAAAC,sBAAe,EAAC,QAAQ,CAAC,CAAC;IACzCiC,KAAK,EAAE,IAAA3C,2BAAoB,EAAC,gBAAgB,CAAC;IAC7CqB,OAAO,EAAE,IAAArB,2BAAoB,EAAC,UAAU,CAAC;IACzCsC,QAAQ,EAAE,IAAAtC,2BAAoB,EAAC,UAAU;EAC3C;AACF,CAAC,CAAC;AAEFX,UAAU,CAAC,0BAA0B,EAAE;EACrCK,OAAO,EAAE,CAAC,QAAQ,CAAC;EACnBE,MAAM,EAAE;IACN2B,MAAM,EAAE,IAAAd,eAAQ,EAAC,IAAAN,kBAAW,EAAC,eAAe,CAAC;EAC/C;AACF,CAAC,CAAC;AAEFd,UAAU,CAAC,4BAA4B,EAAE;EACvCK,OAAO,EAAE,CAAC,QAAQ,CAAC;EACnBE,MAAM,EAAE;IACN2B,MAAM,EAAE,IAAAd,eAAQ,EAAC,IAAAN,kBAAW,EAAC,UAAU,CAAC;EAC1C;AACF,CAAC,CAAC;AAEFd,UAAU,CAAC,qBAAqB,EAAE;EAChCK,OAAO,EAAE,CAAC,OAAO,CAAC;EAClBC,OAAO,EAAE,CAAC,UAAU,CAAC;EACrBC,MAAM,EAAE;IACNgC,KAAK,EAAE,IAAAnB,eAAQ,EAAC,IAAAN,kBAAW,EAAC,UAAU,CAAC;EACzC;AACF,CAAC,CAAC;AAEFd,UAAU,CAAC,UAAU,EAAE;EACrBI,OAAO,EAAE,CAAC,MAAM,CAAC;EACjBG,MAAM,EAAE;IACNgB,IAAI,EAAE,IAAAH,eAAQ,EAAC,IAAAI,kBAAW,EAAC,OAAO,EAAE,MAAM,CAAC;EAC7C;AACF,CAAC,CAAC;AAEFxB,UAAU,CAAC,oBAAoB,EAAE;EAC/BM,OAAO,EAAE,CAAC,UAAU,EAAE,oBAAoB;AAC5C,CAAC,CAAC;AAGFN,UAAU,CAAC,iBAAiB,EAAE;EAC5BM,OAAO,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC;EACrCD,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC;EACvBE,MAAM,EAAE;IACNC,EAAE,EAAE,IAAAC,mBAAY,EAAC,YAAY,CAAC;IAC9BQ,IAAI,EAAE,IAAAR,mBAAY,EAAC,CACjB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,CACjB;EACH;AACF,CAAC,CAAC;AAEFT,UAAU,CAAC,iBAAiB,EAAE;EAC5BM,OAAO,EAAE,CAAC,UAAU,CAAC;EACrBD,OAAO,EAAE,CAAC,SAAS,CAAC;EACpBE,MAAM,EAAE;IACNgD,YAAY,EAAE,IAAAnC,eAAQ,EAAC,IAAAC,sBAAe,EAAC,SAAS,CAAC,CAAC;IAClDmC,OAAO,EAAE,IAAAC,0BAAmB,EAAC,mBAAmB,CAAC;IACjDC,iBAAiB,EAAE,IAAAtC,eAAQ,EAAC,IAAAC,sBAAe,EAAC,SAAS,CAAC;EACxD;AACF,CAAC,CAAC;AAEFrB,UAAU,CAAC,gBAAgB,EAAE;EAC3BM,OAAO,EAAE,CAAC,UAAU,CAAC;EACrBD,OAAO,EAAE,CAAC,SAAS,CAAC;EACpBE,MAAM,EAAE;IACNgD,YAAY,EAAE,IAAAnC,eAAQ,EAAC,IAAAC,sBAAe,EAAC,SAAS,CAAC,CAAC;IAClDmC,OAAO,EAAE,IAAAC,0BAAmB,EAAC,kBAAkB,CAAC;IAChDC,iBAAiB,EAAE,IAAAtC,eAAQ,EAAC,IAAAC,sBAAe,EAAC,SAAS,CAAC;EACxD;AACF,CAAC,CAAC;AAEFrB,UAAU,CAAC,gBAAgB,EAAE;EAC3BM,OAAO,EAAE,CAAC,UAAU,CAAC;EACrBD,OAAO,EAAE,CAAC,SAAS,CAAC;EACpBE,MAAM,EAAE;IACNgD,YAAY,EAAE,IAAAnC,eAAQ,EAAC,IAAAC,sBAAe,EAAC,SAAS,CAAC,CAAC;IAClDmC,OAAO,EAAE,IAAAC,0BAAmB,EAAC,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,CAAC;IACzEC,iBAAiB,EAAE,IAAAtC,eAAQ,EAAC,IAAAC,sBAAe,EAAC,SAAS,CAAC;EACxD;AACF,CAAC,CAAC;AAEFrB,UAAU,CAAC,gBAAgB,EAAE;EAC3BM,OAAO,EAAE,CAAC,UAAU,CAAC;EACrBD,OAAO,EAAE,CAAC,SAAS,CAAC;EACpBE,MAAM,EAAE;IACNiD,OAAO,EAAE,IAAAC,0BAAmB,EAAC,qBAAqB,CAAC;IACnDC,iBAAiB,EAAE,IAAAtC,eAAQ,EAAC,IAAAC,sBAAe,EAAC,SAAS,CAAC;EACxD;AACF,CAAC,CAAC;AAEFrB,UAAU,CAAC,mBAAmB,EAAE;EAC9BM,OAAO,EAAE,CAAC,YAAY,CAAC;EACvBD,OAAO,EAAE,CAAC,IAAI,CAAC;EACfE,MAAM,EAAE;IACNC,EAAE,EAAE,IAAAC,mBAAY,EAAC,YAAY,CAAC;IAC9BkD,IAAI,EAAE,IAAAlD,mBAAY,EAAC,gBAAgB;EACrC;AACF,CAAC,CAAC;AAEFT,UAAU,CAAC,kBAAkB,EAAE;EAC7BM,OAAO,EAAE,CAAC,YAAY,CAAC;EACvBD,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC;EACvBE,MAAM,EAAE;IACNC,EAAE,EAAE,IAAAC,mBAAY,EAAC,YAAY,CAAC;IAC9BkD,IAAI,EAAE,IAAAlD,mBAAY,EAAC,gBAAgB;EACrC;AACF,CAAC,CAAC;AAEFT,UAAU,CAAC,kBAAkB,EAAE;EAC7BM,OAAO,EAAE,CAAC,YAAY,CAAC;EACvBD,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC;EACvBE,MAAM,EAAE;IACNC,EAAE,EAAE,IAAAC,mBAAY,EAAC,YAAY,CAAC;IAC9BkD,IAAI,EAAE,IAAAlD,mBAAY,EAAC,eAAe;EACpC;AACF,CAAC,CAAC;AAEFT,UAAU,CAAC,qBAAqB,EAAE;EAChCM,OAAO,EAAE,CAAC,YAAY,CAAC;EACvBD,OAAO,EAAE,CAAC,IAAI,CAAC;EACfE,MAAM,EAAE;IACNC,EAAE,EAAE,IAAAC,mBAAY,EAAC,YAAY;EAC/B;AACF,CAAC,CAAC;AAEFT,UAAU,CAAC,mBAAmB,EAAE;EAC9BK,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;EACpCC,OAAO,EAAE,CAAC,UAAU,CAAC;EACrBC,MAAM,EAAE;IACNqD,UAAU,EAAE,IAAAnD,mBAAY,EAAC,UAAU,CAAC;IACpCoD,SAAS,EAAE,IAAApD,mBAAY,EAAC,UAAU;EACpC;AACF,CAAC,CAAC;AAEFT,UAAU,CAAC,2BAA2B,EAAE;EACtCK,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;EACpCC,OAAO,EAAE,CAAC,UAAU,CAAC;EACrBC,MAAM,EAAE;IACNqD,UAAU,EAAE,IAAAnD,mBAAY,EAAC,UAAU,CAAC;IACpCoD,SAAS,EAAE,IAAApD,mBAAY,EAAC,UAAU,CAAC;IACnC6B,QAAQ,EAAE,IAAAlB,eAAQ,EAAC,IAAAC,sBAAe,EAAC,SAAS,CAAC;EAC/C;AACF,CAAC,CAAC"}
|
|
@@ -15,6 +15,12 @@ Object.defineProperty(exports, "BUILDER_KEYS", {
|
|
|
15
15
|
return _utils.BUILDER_KEYS;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
|
+
Object.defineProperty(exports, "DEPRECATED_ALIASES", {
|
|
19
|
+
enumerable: true,
|
|
20
|
+
get: function () {
|
|
21
|
+
return _deprecatedAliases.DEPRECATED_ALIASES;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
18
24
|
Object.defineProperty(exports, "DEPRECATED_KEYS", {
|
|
19
25
|
enumerable: true,
|
|
20
26
|
get: function () {
|
|
@@ -73,6 +79,10 @@ require("./experimental");
|
|
|
73
79
|
require("./typescript");
|
|
74
80
|
var _utils = require("./utils");
|
|
75
81
|
var _placeholders = require("./placeholders");
|
|
82
|
+
var _deprecatedAliases = require("./deprecated-aliases");
|
|
83
|
+
Object.keys(_deprecatedAliases.DEPRECATED_ALIASES).forEach(deprecatedAlias => {
|
|
84
|
+
_utils.FLIPPED_ALIAS_KEYS[deprecatedAlias] = _utils.FLIPPED_ALIAS_KEYS[_deprecatedAliases.DEPRECATED_ALIASES[deprecatedAlias]];
|
|
85
|
+
});
|
|
76
86
|
_toFastProperties(_utils.VISITOR_KEYS);
|
|
77
87
|
_toFastProperties(_utils.ALIAS_KEYS);
|
|
78
88
|
_toFastProperties(_utils.FLIPPED_ALIAS_KEYS);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["Object","keys","DEPRECATED_ALIASES","forEach","deprecatedAlias","FLIPPED_ALIAS_KEYS","toFastProperties","VISITOR_KEYS","ALIAS_KEYS","NODE_FIELDS","BUILDER_KEYS","DEPRECATED_KEYS","PLACEHOLDERS_ALIAS","PLACEHOLDERS_FLIPPED_ALIAS","TYPES","concat"],"sources":["../../src/definitions/index.ts"],"sourcesContent":["import toFastProperties from \"to-fast-properties\";\nimport \"./core\";\nimport \"./flow\";\nimport \"./jsx\";\nimport \"./misc\";\nimport \"./experimental\";\nimport \"./typescript\";\nimport {\n VISITOR_KEYS,\n ALIAS_KEYS,\n FLIPPED_ALIAS_KEYS,\n NODE_FIELDS,\n BUILDER_KEYS,\n DEPRECATED_KEYS,\n NODE_PARENT_VALIDATIONS,\n} from \"./utils\";\nimport {\n PLACEHOLDERS,\n PLACEHOLDERS_ALIAS,\n PLACEHOLDERS_FLIPPED_ALIAS,\n} from \"./placeholders\";\nimport { DEPRECATED_ALIASES } from \"./deprecated-aliases\";\n\n(\n Object.keys(DEPRECATED_ALIASES) as (keyof typeof DEPRECATED_ALIASES)[]\n).forEach(deprecatedAlias => {\n FLIPPED_ALIAS_KEYS[deprecatedAlias] =\n FLIPPED_ALIAS_KEYS[DEPRECATED_ALIASES[deprecatedAlias]];\n});\n\n// We do this here, because at this point the visitor keys should be ready and setup\ntoFastProperties(VISITOR_KEYS);\ntoFastProperties(ALIAS_KEYS);\ntoFastProperties(FLIPPED_ALIAS_KEYS);\ntoFastProperties(NODE_FIELDS);\ntoFastProperties(BUILDER_KEYS);\ntoFastProperties(DEPRECATED_KEYS);\n\ntoFastProperties(PLACEHOLDERS_ALIAS);\ntoFastProperties(PLACEHOLDERS_FLIPPED_ALIAS);\n\nconst TYPES: Array<string> = [].concat(\n Object.keys(VISITOR_KEYS),\n Object.keys(FLIPPED_ALIAS_KEYS),\n Object.keys(DEPRECATED_KEYS),\n);\n\nexport {\n VISITOR_KEYS,\n ALIAS_KEYS,\n FLIPPED_ALIAS_KEYS,\n NODE_FIELDS,\n BUILDER_KEYS,\n DEPRECATED_ALIASES,\n DEPRECATED_KEYS,\n NODE_PARENT_VALIDATIONS,\n PLACEHOLDERS,\n PLACEHOLDERS_ALIAS,\n PLACEHOLDERS_FLIPPED_ALIAS,\n TYPES,\n};\n\nexport type { FieldOptions } from \"./utils\";\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AASA;AAKA;AAGEA,MAAM,CAACC,IAAI,CAACC,qCAAkB,CAAC,CAC/BC,OAAO,CAACC,eAAe,IAAI;EAC3BC,yBAAkB,CAACD,eAAe,CAAC,GACjCC,yBAAkB,CAACH,qCAAkB,CAACE,eAAe,CAAC,CAAC;AAC3D,CAAC,CAAC;AAGFE,iBAAgB,CAACC,mBAAY,CAAC;AAC9BD,iBAAgB,CAACE,iBAAU,CAAC;AAC5BF,iBAAgB,CAACD,yBAAkB,CAAC;AACpCC,iBAAgB,CAACG,kBAAW,CAAC;AAC7BH,iBAAgB,CAACI,mBAAY,CAAC;AAC9BJ,iBAAgB,CAACK,sBAAe,CAAC;AAEjCL,iBAAgB,CAACM,gCAAkB,CAAC;AACpCN,iBAAgB,CAACO,wCAA0B,CAAC;AAE5C,MAAMC,KAAoB,GAAG,EAAE,CAACC,MAAM,CACpCf,MAAM,CAACC,IAAI,CAACM,mBAAY,CAAC,EACzBP,MAAM,CAACC,IAAI,CAACI,yBAAkB,CAAC,EAC/BL,MAAM,CAACC,IAAI,CAACU,sBAAe,CAAC,CAC7B;AAAC"}
|
|
@@ -7,13 +7,11 @@ const defineType = (0, _utils.defineAliasedType)("TypeScript");
|
|
|
7
7
|
const bool = (0, _utils.assertValueType)("boolean");
|
|
8
8
|
const tSFunctionTypeAnnotationCommon = () => ({
|
|
9
9
|
returnType: {
|
|
10
|
-
validate:
|
|
11
|
-
(0, _utils.assertNodeType)("TSTypeAnnotation", "Noop"),
|
|
10
|
+
validate: (0, _utils.assertNodeType)("TSTypeAnnotation", "Noop"),
|
|
12
11
|
optional: true
|
|
13
12
|
},
|
|
14
13
|
typeParameters: {
|
|
15
|
-
validate:
|
|
16
|
-
(0, _utils.assertNodeType)("TSTypeParameterDeclaration", "Noop"),
|
|
14
|
+
validate: (0, _utils.assertNodeType)("TSTypeParameterDeclaration", "Noop"),
|
|
17
15
|
optional: true
|
|
18
16
|
}
|
|
19
17
|
});
|
|
@@ -474,6 +472,10 @@ defineType("TSTypeParameter", {
|
|
|
474
472
|
validate: (0, _utils.assertValueType)("boolean"),
|
|
475
473
|
optional: true
|
|
476
474
|
},
|
|
475
|
+
const: {
|
|
476
|
+
validate: (0, _utils.assertValueType)("boolean"),
|
|
477
|
+
optional: true
|
|
478
|
+
},
|
|
477
479
|
constraint: {
|
|
478
480
|
validate: (0, _utils.assertNodeType)("TSType"),
|
|
479
481
|
optional: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["defineType","defineAliasedType","bool","assertValueType","tSFunctionTypeAnnotationCommon","returnType","validate","assertNodeType","optional","typeParameters","aliases","visitor","fields","accessibility","assertOneOf","readonly","parameter","override","decorators","chain","assertEach","functionDeclarationCommon","classMethodOrDeclareMethodCommon","left","validateType","right","signatureDeclarationCommon","validateOptionalType","validateArrayOfType","callConstructSignatureDeclaration","namedTypeElementCommon","key","computed","default","validateOptional","typeAnnotation","initializer","kind","static","parameters","tsKeywordTypes","type","fnOrCtrBase","abstract","typeName","builder","parameterName","asserts","exprName","members","elementType","elementTypes","label","unionOrIntersection","types","checkType","extendsType","trueType","falseType","typeParameter","operator","objectType","indexType","nameType","literal","unaryExpression","unaryOperator","validator","parent","node","is","argument","oneOfNodeTypes","expression","declare","id","extends","arrayOfType","body","TSTypeExpression","const","global","qualifier","isExport","moduleReference","importKind","params","name","in","out","constraint"],"sources":["../../src/definitions/typescript.ts"],"sourcesContent":["import {\n defineAliasedType,\n arrayOfType,\n assertEach,\n assertNodeType,\n assertOneOf,\n assertValueType,\n chain,\n validate,\n validateArrayOfType,\n validateOptional,\n validateOptionalType,\n validateType,\n} from \"./utils\";\nimport {\n functionDeclarationCommon,\n classMethodOrDeclareMethodCommon,\n} from \"./core\";\nimport is from \"../validators/is\";\n\nconst defineType = defineAliasedType(\"TypeScript\");\n\nconst bool = assertValueType(\"boolean\");\n\nconst tSFunctionTypeAnnotationCommon = () => ({\n returnType: {\n validate: process.env.BABEL_8_BREAKING\n ? assertNodeType(\"TSTypeAnnotation\")\n : // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n assertNodeType(\"TSTypeAnnotation\", \"Noop\"),\n optional: true,\n },\n typeParameters: {\n validate: process.env.BABEL_8_BREAKING\n ? assertNodeType(\"TSTypeParameterDeclaration\")\n : // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n assertNodeType(\"TSTypeParameterDeclaration\", \"Noop\"),\n optional: true,\n },\n});\n\ndefineType(\"TSParameterProperty\", {\n aliases: [\"LVal\"], // TODO: This isn't usable in general as an LVal. Should have a \"Parameter\" alias.\n visitor: [\"parameter\"],\n fields: {\n accessibility: {\n validate: assertOneOf(\"public\", \"private\", \"protected\"),\n optional: true,\n },\n readonly: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n parameter: {\n validate: assertNodeType(\"Identifier\", \"AssignmentPattern\"),\n },\n override: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n decorators: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"Decorator\")),\n ),\n optional: true,\n },\n },\n});\n\ndefineType(\"TSDeclareFunction\", {\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"typeParameters\", \"params\", \"returnType\"],\n fields: {\n ...functionDeclarationCommon(),\n ...tSFunctionTypeAnnotationCommon(),\n },\n});\n\ndefineType(\"TSDeclareMethod\", {\n visitor: [\"decorators\", \"key\", \"typeParameters\", \"params\", \"returnType\"],\n fields: {\n ...classMethodOrDeclareMethodCommon(),\n ...tSFunctionTypeAnnotationCommon(),\n },\n});\n\ndefineType(\"TSQualifiedName\", {\n aliases: [\"TSEntityName\"],\n visitor: [\"left\", \"right\"],\n fields: {\n left: validateType(\"TSEntityName\"),\n right: validateType(\"Identifier\"),\n },\n});\n\nconst signatureDeclarationCommon = () => ({\n typeParameters: validateOptionalType(\"TSTypeParameterDeclaration\"),\n [process.env.BABEL_8_BREAKING ? \"params\" : \"parameters\"]: validateArrayOfType(\n [\"Identifier\", \"RestElement\"],\n ),\n [process.env.BABEL_8_BREAKING ? \"returnType\" : \"typeAnnotation\"]:\n validateOptionalType(\"TSTypeAnnotation\"),\n});\n\nconst callConstructSignatureDeclaration = {\n aliases: [\"TSTypeElement\"],\n visitor: [\n \"typeParameters\",\n process.env.BABEL_8_BREAKING ? \"params\" : \"parameters\",\n process.env.BABEL_8_BREAKING ? \"returnType\" : \"typeAnnotation\",\n ],\n fields: signatureDeclarationCommon(),\n};\n\ndefineType(\"TSCallSignatureDeclaration\", callConstructSignatureDeclaration);\ndefineType(\n \"TSConstructSignatureDeclaration\",\n callConstructSignatureDeclaration,\n);\n\nconst namedTypeElementCommon = () => ({\n key: validateType(\"Expression\"),\n computed: { default: false },\n optional: validateOptional(bool),\n});\n\ndefineType(\"TSPropertySignature\", {\n aliases: [\"TSTypeElement\"],\n visitor: [\"key\", \"typeAnnotation\", \"initializer\"],\n fields: {\n ...namedTypeElementCommon(),\n readonly: validateOptional(bool),\n typeAnnotation: validateOptionalType(\"TSTypeAnnotation\"),\n initializer: validateOptionalType(\"Expression\"),\n kind: {\n validate: assertOneOf(\"get\", \"set\"),\n },\n },\n});\n\ndefineType(\"TSMethodSignature\", {\n aliases: [\"TSTypeElement\"],\n visitor: [\n \"key\",\n \"typeParameters\",\n process.env.BABEL_8_BREAKING ? \"params\" : \"parameters\",\n process.env.BABEL_8_BREAKING ? \"returnType\" : \"typeAnnotation\",\n ],\n fields: {\n ...signatureDeclarationCommon(),\n ...namedTypeElementCommon(),\n kind: {\n validate: assertOneOf(\"method\", \"get\", \"set\"),\n },\n },\n});\n\ndefineType(\"TSIndexSignature\", {\n aliases: [\"TSTypeElement\"],\n visitor: [\"parameters\", \"typeAnnotation\"],\n fields: {\n readonly: validateOptional(bool),\n static: validateOptional(bool),\n parameters: validateArrayOfType(\"Identifier\"), // Length must be 1\n typeAnnotation: validateOptionalType(\"TSTypeAnnotation\"),\n },\n});\n\nconst tsKeywordTypes = [\n \"TSAnyKeyword\",\n \"TSBooleanKeyword\",\n \"TSBigIntKeyword\",\n \"TSIntrinsicKeyword\",\n \"TSNeverKeyword\",\n \"TSNullKeyword\",\n \"TSNumberKeyword\",\n \"TSObjectKeyword\",\n \"TSStringKeyword\",\n \"TSSymbolKeyword\",\n \"TSUndefinedKeyword\",\n \"TSUnknownKeyword\",\n \"TSVoidKeyword\",\n] as const;\n\nfor (const type of tsKeywordTypes) {\n defineType(type, {\n aliases: [\"TSType\", \"TSBaseType\"],\n visitor: [],\n fields: {},\n });\n}\n\ndefineType(\"TSThisType\", {\n aliases: [\"TSType\", \"TSBaseType\"],\n visitor: [],\n fields: {},\n});\n\nconst fnOrCtrBase = {\n aliases: [\"TSType\"],\n visitor: [\n \"typeParameters\",\n process.env.BABEL_8_BREAKING ? \"params\" : \"parameters\",\n process.env.BABEL_8_BREAKING ? \"returnType\" : \"typeAnnotation\",\n ],\n};\n\ndefineType(\"TSFunctionType\", {\n ...fnOrCtrBase,\n fields: signatureDeclarationCommon(),\n});\ndefineType(\"TSConstructorType\", {\n ...fnOrCtrBase,\n fields: {\n ...signatureDeclarationCommon(),\n abstract: validateOptional(bool),\n },\n});\n\ndefineType(\"TSTypeReference\", {\n aliases: [\"TSType\"],\n visitor: [\"typeName\", \"typeParameters\"],\n fields: {\n typeName: validateType(\"TSEntityName\"),\n typeParameters: validateOptionalType(\"TSTypeParameterInstantiation\"),\n },\n});\n\ndefineType(\"TSTypePredicate\", {\n aliases: [\"TSType\"],\n visitor: [\"parameterName\", \"typeAnnotation\"],\n builder: [\"parameterName\", \"typeAnnotation\", \"asserts\"],\n fields: {\n parameterName: validateType([\"Identifier\", \"TSThisType\"]),\n typeAnnotation: validateOptionalType(\"TSTypeAnnotation\"),\n asserts: validateOptional(bool),\n },\n});\n\ndefineType(\"TSTypeQuery\", {\n aliases: [\"TSType\"],\n visitor: [\"exprName\", \"typeParameters\"],\n fields: {\n exprName: validateType([\"TSEntityName\", \"TSImportType\"]),\n typeParameters: validateOptionalType(\"TSTypeParameterInstantiation\"),\n },\n});\n\ndefineType(\"TSTypeLiteral\", {\n aliases: [\"TSType\"],\n visitor: [\"members\"],\n fields: {\n members: validateArrayOfType(\"TSTypeElement\"),\n },\n});\n\ndefineType(\"TSArrayType\", {\n aliases: [\"TSType\"],\n visitor: [\"elementType\"],\n fields: {\n elementType: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSTupleType\", {\n aliases: [\"TSType\"],\n visitor: [\"elementTypes\"],\n fields: {\n elementTypes: validateArrayOfType([\"TSType\", \"TSNamedTupleMember\"]),\n },\n});\n\ndefineType(\"TSOptionalType\", {\n aliases: [\"TSType\"],\n visitor: [\"typeAnnotation\"],\n fields: {\n typeAnnotation: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSRestType\", {\n aliases: [\"TSType\"],\n visitor: [\"typeAnnotation\"],\n fields: {\n typeAnnotation: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSNamedTupleMember\", {\n visitor: [\"label\", \"elementType\"],\n builder: [\"label\", \"elementType\", \"optional\"],\n fields: {\n label: validateType(\"Identifier\"),\n optional: {\n validate: bool,\n default: false,\n },\n elementType: validateType(\"TSType\"),\n },\n});\n\nconst unionOrIntersection = {\n aliases: [\"TSType\"],\n visitor: [\"types\"],\n fields: {\n types: validateArrayOfType(\"TSType\"),\n },\n};\n\ndefineType(\"TSUnionType\", unionOrIntersection);\ndefineType(\"TSIntersectionType\", unionOrIntersection);\n\ndefineType(\"TSConditionalType\", {\n aliases: [\"TSType\"],\n visitor: [\"checkType\", \"extendsType\", \"trueType\", \"falseType\"],\n fields: {\n checkType: validateType(\"TSType\"),\n extendsType: validateType(\"TSType\"),\n trueType: validateType(\"TSType\"),\n falseType: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSInferType\", {\n aliases: [\"TSType\"],\n visitor: [\"typeParameter\"],\n fields: {\n typeParameter: validateType(\"TSTypeParameter\"),\n },\n});\n\ndefineType(\"TSParenthesizedType\", {\n aliases: [\"TSType\"],\n visitor: [\"typeAnnotation\"],\n fields: {\n typeAnnotation: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSTypeOperator\", {\n aliases: [\"TSType\"],\n visitor: [\"typeAnnotation\"],\n fields: {\n operator: validate(assertValueType(\"string\")),\n typeAnnotation: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSIndexedAccessType\", {\n aliases: [\"TSType\"],\n visitor: [\"objectType\", \"indexType\"],\n fields: {\n objectType: validateType(\"TSType\"),\n indexType: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSMappedType\", {\n aliases: [\"TSType\"],\n visitor: [\"typeParameter\", \"typeAnnotation\", \"nameType\"],\n fields: {\n readonly: validateOptional(assertOneOf(true, false, \"+\", \"-\")),\n typeParameter: validateType(\"TSTypeParameter\"),\n optional: validateOptional(assertOneOf(true, false, \"+\", \"-\")),\n typeAnnotation: validateOptionalType(\"TSType\"),\n nameType: validateOptionalType(\"TSType\"),\n },\n});\n\ndefineType(\"TSLiteralType\", {\n aliases: [\"TSType\", \"TSBaseType\"],\n visitor: [\"literal\"],\n fields: {\n literal: {\n validate: (function () {\n const unaryExpression = assertNodeType(\n \"NumericLiteral\",\n \"BigIntLiteral\",\n );\n const unaryOperator = assertOneOf(\"-\");\n\n const literal = assertNodeType(\n \"NumericLiteral\",\n \"StringLiteral\",\n \"BooleanLiteral\",\n \"BigIntLiteral\",\n \"TemplateLiteral\",\n );\n function validator(parent: any, key: string, node: any) {\n // type A = -1 | 1;\n if (is(\"UnaryExpression\", node)) {\n // check operator first\n unaryOperator(node, \"operator\", node.operator);\n unaryExpression(node, \"argument\", node.argument);\n } else {\n // type A = 'foo' | 'bar' | false | 1;\n literal(parent, key, node);\n }\n }\n\n validator.oneOfNodeTypes = [\n \"NumericLiteral\",\n \"StringLiteral\",\n \"BooleanLiteral\",\n \"BigIntLiteral\",\n \"TemplateLiteral\",\n \"UnaryExpression\",\n ];\n\n return validator;\n })(),\n },\n },\n});\n\ndefineType(\"TSExpressionWithTypeArguments\", {\n aliases: [\"TSType\"],\n visitor: [\"expression\", \"typeParameters\"],\n fields: {\n expression: validateType(\"TSEntityName\"),\n typeParameters: validateOptionalType(\"TSTypeParameterInstantiation\"),\n },\n});\n\ndefineType(\"TSInterfaceDeclaration\", {\n // \"Statement\" alias prevents a semicolon from appearing after it in an export declaration.\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"typeParameters\", \"extends\", \"body\"],\n fields: {\n declare: validateOptional(bool),\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TSTypeParameterDeclaration\"),\n extends: validateOptional(arrayOfType(\"TSExpressionWithTypeArguments\")),\n body: validateType(\"TSInterfaceBody\"),\n },\n});\n\ndefineType(\"TSInterfaceBody\", {\n visitor: [\"body\"],\n fields: {\n body: validateArrayOfType(\"TSTypeElement\"),\n },\n});\n\ndefineType(\"TSTypeAliasDeclaration\", {\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"typeParameters\", \"typeAnnotation\"],\n fields: {\n declare: validateOptional(bool),\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TSTypeParameterDeclaration\"),\n typeAnnotation: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSInstantiationExpression\", {\n aliases: [\"Expression\"],\n visitor: [\"expression\", \"typeParameters\"],\n fields: {\n expression: validateType(\"Expression\"),\n typeParameters: validateOptionalType(\"TSTypeParameterInstantiation\"),\n },\n});\n\nconst TSTypeExpression = {\n aliases: [\"Expression\", \"LVal\", \"PatternLike\"],\n visitor: [\"expression\", \"typeAnnotation\"],\n fields: {\n expression: validateType(\"Expression\"),\n typeAnnotation: validateType(\"TSType\"),\n },\n};\n\ndefineType(\"TSAsExpression\", TSTypeExpression);\ndefineType(\"TSSatisfiesExpression\", TSTypeExpression);\n\ndefineType(\"TSTypeAssertion\", {\n aliases: [\"Expression\", \"LVal\", \"PatternLike\"],\n visitor: [\"typeAnnotation\", \"expression\"],\n fields: {\n typeAnnotation: validateType(\"TSType\"),\n expression: validateType(\"Expression\"),\n },\n});\n\ndefineType(\"TSEnumDeclaration\", {\n // \"Statement\" alias prevents a semicolon from appearing after it in an export declaration.\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"members\"],\n fields: {\n declare: validateOptional(bool),\n const: validateOptional(bool),\n id: validateType(\"Identifier\"),\n members: validateArrayOfType(\"TSEnumMember\"),\n initializer: validateOptionalType(\"Expression\"),\n },\n});\n\ndefineType(\"TSEnumMember\", {\n visitor: [\"id\", \"initializer\"],\n fields: {\n id: validateType([\"Identifier\", \"StringLiteral\"]),\n initializer: validateOptionalType(\"Expression\"),\n },\n});\n\ndefineType(\"TSModuleDeclaration\", {\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"body\"],\n fields: {\n declare: validateOptional(bool),\n global: validateOptional(bool),\n id: validateType([\"Identifier\", \"StringLiteral\"]),\n body: validateType([\"TSModuleBlock\", \"TSModuleDeclaration\"]),\n },\n});\n\ndefineType(\"TSModuleBlock\", {\n aliases: [\"Scopable\", \"Block\", \"BlockParent\", \"FunctionParent\"],\n visitor: [\"body\"],\n fields: {\n body: validateArrayOfType(\"Statement\"),\n },\n});\n\ndefineType(\"TSImportType\", {\n aliases: [\"TSType\"],\n visitor: [\"argument\", \"qualifier\", \"typeParameters\"],\n fields: {\n argument: validateType(\"StringLiteral\"),\n qualifier: validateOptionalType(\"TSEntityName\"),\n typeParameters: validateOptionalType(\"TSTypeParameterInstantiation\"),\n },\n});\n\ndefineType(\"TSImportEqualsDeclaration\", {\n aliases: [\"Statement\"],\n visitor: [\"id\", \"moduleReference\"],\n fields: {\n isExport: validate(bool),\n id: validateType(\"Identifier\"),\n moduleReference: validateType([\n \"TSEntityName\",\n \"TSExternalModuleReference\",\n ]),\n importKind: {\n validate: assertOneOf(\"type\", \"value\"),\n optional: true,\n },\n },\n});\n\ndefineType(\"TSExternalModuleReference\", {\n visitor: [\"expression\"],\n fields: {\n expression: validateType(\"StringLiteral\"),\n },\n});\n\ndefineType(\"TSNonNullExpression\", {\n aliases: [\"Expression\", \"LVal\", \"PatternLike\"],\n visitor: [\"expression\"],\n fields: {\n expression: validateType(\"Expression\"),\n },\n});\n\ndefineType(\"TSExportAssignment\", {\n aliases: [\"Statement\"],\n visitor: [\"expression\"],\n fields: {\n expression: validateType(\"Expression\"),\n },\n});\n\ndefineType(\"TSNamespaceExportDeclaration\", {\n aliases: [\"Statement\"],\n visitor: [\"id\"],\n fields: {\n id: validateType(\"Identifier\"),\n },\n});\n\ndefineType(\"TSTypeAnnotation\", {\n visitor: [\"typeAnnotation\"],\n fields: {\n typeAnnotation: {\n validate: assertNodeType(\"TSType\"),\n },\n },\n});\n\ndefineType(\"TSTypeParameterInstantiation\", {\n visitor: [\"params\"],\n fields: {\n params: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"TSType\")),\n ),\n },\n },\n});\n\ndefineType(\"TSTypeParameterDeclaration\", {\n visitor: [\"params\"],\n fields: {\n params: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"TSTypeParameter\")),\n ),\n },\n },\n});\n\ndefineType(\"TSTypeParameter\", {\n builder: [\"constraint\", \"default\", \"name\"],\n visitor: [\"constraint\", \"default\"],\n fields: {\n name: {\n validate: !process.env.BABEL_8_BREAKING\n ? assertValueType(\"string\")\n : assertNodeType(\"Identifier\"),\n },\n in: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n out: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n constraint: {\n validate: assertNodeType(\"TSType\"),\n optional: true,\n },\n default: {\n validate: assertNodeType(\"TSType\"),\n optional: true,\n },\n },\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["defineType","defineAliasedType","bool","assertValueType","tSFunctionTypeAnnotationCommon","returnType","validate","assertNodeType","optional","typeParameters","aliases","visitor","fields","accessibility","assertOneOf","readonly","parameter","override","decorators","chain","assertEach","functionDeclarationCommon","classMethodOrDeclareMethodCommon","left","validateType","right","signatureDeclarationCommon","validateOptionalType","validateArrayOfType","callConstructSignatureDeclaration","namedTypeElementCommon","key","computed","default","validateOptional","typeAnnotation","initializer","kind","static","parameters","tsKeywordTypes","type","fnOrCtrBase","abstract","typeName","builder","parameterName","asserts","exprName","members","elementType","elementTypes","label","unionOrIntersection","types","checkType","extendsType","trueType","falseType","typeParameter","operator","objectType","indexType","nameType","literal","unaryExpression","unaryOperator","validator","parent","node","is","argument","oneOfNodeTypes","expression","declare","id","extends","arrayOfType","body","TSTypeExpression","const","global","qualifier","isExport","moduleReference","importKind","params","name","in","out","constraint"],"sources":["../../src/definitions/typescript.ts"],"sourcesContent":["import {\n defineAliasedType,\n arrayOfType,\n assertEach,\n assertNodeType,\n assertOneOf,\n assertValueType,\n chain,\n validate,\n validateArrayOfType,\n validateOptional,\n validateOptionalType,\n validateType,\n} from \"./utils\";\nimport {\n functionDeclarationCommon,\n classMethodOrDeclareMethodCommon,\n} from \"./core\";\nimport is from \"../validators/is\";\n\nconst defineType = defineAliasedType(\"TypeScript\");\n\nconst bool = assertValueType(\"boolean\");\n\nconst tSFunctionTypeAnnotationCommon = () => ({\n returnType: {\n validate: process.env.BABEL_8_BREAKING\n ? assertNodeType(\"TSTypeAnnotation\")\n : // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n assertNodeType(\"TSTypeAnnotation\", \"Noop\"),\n optional: true,\n },\n typeParameters: {\n validate: process.env.BABEL_8_BREAKING\n ? assertNodeType(\"TSTypeParameterDeclaration\")\n : // @ts-ignore(Babel 7 vs Babel 8) Babel 7 AST\n assertNodeType(\"TSTypeParameterDeclaration\", \"Noop\"),\n optional: true,\n },\n});\n\ndefineType(\"TSParameterProperty\", {\n aliases: [\"LVal\"], // TODO: This isn't usable in general as an LVal. Should have a \"Parameter\" alias.\n visitor: [\"parameter\"],\n fields: {\n accessibility: {\n validate: assertOneOf(\"public\", \"private\", \"protected\"),\n optional: true,\n },\n readonly: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n parameter: {\n validate: assertNodeType(\"Identifier\", \"AssignmentPattern\"),\n },\n override: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n decorators: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"Decorator\")),\n ),\n optional: true,\n },\n },\n});\n\ndefineType(\"TSDeclareFunction\", {\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"typeParameters\", \"params\", \"returnType\"],\n fields: {\n ...functionDeclarationCommon(),\n ...tSFunctionTypeAnnotationCommon(),\n },\n});\n\ndefineType(\"TSDeclareMethod\", {\n visitor: [\"decorators\", \"key\", \"typeParameters\", \"params\", \"returnType\"],\n fields: {\n ...classMethodOrDeclareMethodCommon(),\n ...tSFunctionTypeAnnotationCommon(),\n },\n});\n\ndefineType(\"TSQualifiedName\", {\n aliases: [\"TSEntityName\"],\n visitor: [\"left\", \"right\"],\n fields: {\n left: validateType(\"TSEntityName\"),\n right: validateType(\"Identifier\"),\n },\n});\n\nconst signatureDeclarationCommon = () => ({\n typeParameters: validateOptionalType(\"TSTypeParameterDeclaration\"),\n [process.env.BABEL_8_BREAKING ? \"params\" : \"parameters\"]: validateArrayOfType(\n [\"Identifier\", \"RestElement\"],\n ),\n [process.env.BABEL_8_BREAKING ? \"returnType\" : \"typeAnnotation\"]:\n validateOptionalType(\"TSTypeAnnotation\"),\n});\n\nconst callConstructSignatureDeclaration = {\n aliases: [\"TSTypeElement\"],\n visitor: [\n \"typeParameters\",\n process.env.BABEL_8_BREAKING ? \"params\" : \"parameters\",\n process.env.BABEL_8_BREAKING ? \"returnType\" : \"typeAnnotation\",\n ],\n fields: signatureDeclarationCommon(),\n};\n\ndefineType(\"TSCallSignatureDeclaration\", callConstructSignatureDeclaration);\ndefineType(\n \"TSConstructSignatureDeclaration\",\n callConstructSignatureDeclaration,\n);\n\nconst namedTypeElementCommon = () => ({\n key: validateType(\"Expression\"),\n computed: { default: false },\n optional: validateOptional(bool),\n});\n\ndefineType(\"TSPropertySignature\", {\n aliases: [\"TSTypeElement\"],\n visitor: [\"key\", \"typeAnnotation\", \"initializer\"],\n fields: {\n ...namedTypeElementCommon(),\n readonly: validateOptional(bool),\n typeAnnotation: validateOptionalType(\"TSTypeAnnotation\"),\n initializer: validateOptionalType(\"Expression\"),\n kind: {\n validate: assertOneOf(\"get\", \"set\"),\n },\n },\n});\n\ndefineType(\"TSMethodSignature\", {\n aliases: [\"TSTypeElement\"],\n visitor: [\n \"key\",\n \"typeParameters\",\n process.env.BABEL_8_BREAKING ? \"params\" : \"parameters\",\n process.env.BABEL_8_BREAKING ? \"returnType\" : \"typeAnnotation\",\n ],\n fields: {\n ...signatureDeclarationCommon(),\n ...namedTypeElementCommon(),\n kind: {\n validate: assertOneOf(\"method\", \"get\", \"set\"),\n },\n },\n});\n\ndefineType(\"TSIndexSignature\", {\n aliases: [\"TSTypeElement\"],\n visitor: [\"parameters\", \"typeAnnotation\"],\n fields: {\n readonly: validateOptional(bool),\n static: validateOptional(bool),\n parameters: validateArrayOfType(\"Identifier\"), // Length must be 1\n typeAnnotation: validateOptionalType(\"TSTypeAnnotation\"),\n },\n});\n\nconst tsKeywordTypes = [\n \"TSAnyKeyword\",\n \"TSBooleanKeyword\",\n \"TSBigIntKeyword\",\n \"TSIntrinsicKeyword\",\n \"TSNeverKeyword\",\n \"TSNullKeyword\",\n \"TSNumberKeyword\",\n \"TSObjectKeyword\",\n \"TSStringKeyword\",\n \"TSSymbolKeyword\",\n \"TSUndefinedKeyword\",\n \"TSUnknownKeyword\",\n \"TSVoidKeyword\",\n] as const;\n\nfor (const type of tsKeywordTypes) {\n defineType(type, {\n aliases: [\"TSType\", \"TSBaseType\"],\n visitor: [],\n fields: {},\n });\n}\n\ndefineType(\"TSThisType\", {\n aliases: [\"TSType\", \"TSBaseType\"],\n visitor: [],\n fields: {},\n});\n\nconst fnOrCtrBase = {\n aliases: [\"TSType\"],\n visitor: [\n \"typeParameters\",\n process.env.BABEL_8_BREAKING ? \"params\" : \"parameters\",\n process.env.BABEL_8_BREAKING ? \"returnType\" : \"typeAnnotation\",\n ],\n};\n\ndefineType(\"TSFunctionType\", {\n ...fnOrCtrBase,\n fields: signatureDeclarationCommon(),\n});\ndefineType(\"TSConstructorType\", {\n ...fnOrCtrBase,\n fields: {\n ...signatureDeclarationCommon(),\n abstract: validateOptional(bool),\n },\n});\n\ndefineType(\"TSTypeReference\", {\n aliases: [\"TSType\"],\n visitor: [\"typeName\", \"typeParameters\"],\n fields: {\n typeName: validateType(\"TSEntityName\"),\n typeParameters: validateOptionalType(\"TSTypeParameterInstantiation\"),\n },\n});\n\ndefineType(\"TSTypePredicate\", {\n aliases: [\"TSType\"],\n visitor: [\"parameterName\", \"typeAnnotation\"],\n builder: [\"parameterName\", \"typeAnnotation\", \"asserts\"],\n fields: {\n parameterName: validateType([\"Identifier\", \"TSThisType\"]),\n typeAnnotation: validateOptionalType(\"TSTypeAnnotation\"),\n asserts: validateOptional(bool),\n },\n});\n\ndefineType(\"TSTypeQuery\", {\n aliases: [\"TSType\"],\n visitor: [\"exprName\", \"typeParameters\"],\n fields: {\n exprName: validateType([\"TSEntityName\", \"TSImportType\"]),\n typeParameters: validateOptionalType(\"TSTypeParameterInstantiation\"),\n },\n});\n\ndefineType(\"TSTypeLiteral\", {\n aliases: [\"TSType\"],\n visitor: [\"members\"],\n fields: {\n members: validateArrayOfType(\"TSTypeElement\"),\n },\n});\n\ndefineType(\"TSArrayType\", {\n aliases: [\"TSType\"],\n visitor: [\"elementType\"],\n fields: {\n elementType: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSTupleType\", {\n aliases: [\"TSType\"],\n visitor: [\"elementTypes\"],\n fields: {\n elementTypes: validateArrayOfType([\"TSType\", \"TSNamedTupleMember\"]),\n },\n});\n\ndefineType(\"TSOptionalType\", {\n aliases: [\"TSType\"],\n visitor: [\"typeAnnotation\"],\n fields: {\n typeAnnotation: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSRestType\", {\n aliases: [\"TSType\"],\n visitor: [\"typeAnnotation\"],\n fields: {\n typeAnnotation: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSNamedTupleMember\", {\n visitor: [\"label\", \"elementType\"],\n builder: [\"label\", \"elementType\", \"optional\"],\n fields: {\n label: validateType(\"Identifier\"),\n optional: {\n validate: bool,\n default: false,\n },\n elementType: validateType(\"TSType\"),\n },\n});\n\nconst unionOrIntersection = {\n aliases: [\"TSType\"],\n visitor: [\"types\"],\n fields: {\n types: validateArrayOfType(\"TSType\"),\n },\n};\n\ndefineType(\"TSUnionType\", unionOrIntersection);\ndefineType(\"TSIntersectionType\", unionOrIntersection);\n\ndefineType(\"TSConditionalType\", {\n aliases: [\"TSType\"],\n visitor: [\"checkType\", \"extendsType\", \"trueType\", \"falseType\"],\n fields: {\n checkType: validateType(\"TSType\"),\n extendsType: validateType(\"TSType\"),\n trueType: validateType(\"TSType\"),\n falseType: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSInferType\", {\n aliases: [\"TSType\"],\n visitor: [\"typeParameter\"],\n fields: {\n typeParameter: validateType(\"TSTypeParameter\"),\n },\n});\n\ndefineType(\"TSParenthesizedType\", {\n aliases: [\"TSType\"],\n visitor: [\"typeAnnotation\"],\n fields: {\n typeAnnotation: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSTypeOperator\", {\n aliases: [\"TSType\"],\n visitor: [\"typeAnnotation\"],\n fields: {\n operator: validate(assertValueType(\"string\")),\n typeAnnotation: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSIndexedAccessType\", {\n aliases: [\"TSType\"],\n visitor: [\"objectType\", \"indexType\"],\n fields: {\n objectType: validateType(\"TSType\"),\n indexType: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSMappedType\", {\n aliases: [\"TSType\"],\n visitor: [\"typeParameter\", \"typeAnnotation\", \"nameType\"],\n fields: {\n readonly: validateOptional(assertOneOf(true, false, \"+\", \"-\")),\n typeParameter: validateType(\"TSTypeParameter\"),\n optional: validateOptional(assertOneOf(true, false, \"+\", \"-\")),\n typeAnnotation: validateOptionalType(\"TSType\"),\n nameType: validateOptionalType(\"TSType\"),\n },\n});\n\ndefineType(\"TSLiteralType\", {\n aliases: [\"TSType\", \"TSBaseType\"],\n visitor: [\"literal\"],\n fields: {\n literal: {\n validate: (function () {\n const unaryExpression = assertNodeType(\n \"NumericLiteral\",\n \"BigIntLiteral\",\n );\n const unaryOperator = assertOneOf(\"-\");\n\n const literal = assertNodeType(\n \"NumericLiteral\",\n \"StringLiteral\",\n \"BooleanLiteral\",\n \"BigIntLiteral\",\n \"TemplateLiteral\",\n );\n function validator(parent: any, key: string, node: any) {\n // type A = -1 | 1;\n if (is(\"UnaryExpression\", node)) {\n // check operator first\n unaryOperator(node, \"operator\", node.operator);\n unaryExpression(node, \"argument\", node.argument);\n } else {\n // type A = 'foo' | 'bar' | false | 1;\n literal(parent, key, node);\n }\n }\n\n validator.oneOfNodeTypes = [\n \"NumericLiteral\",\n \"StringLiteral\",\n \"BooleanLiteral\",\n \"BigIntLiteral\",\n \"TemplateLiteral\",\n \"UnaryExpression\",\n ];\n\n return validator;\n })(),\n },\n },\n});\n\ndefineType(\"TSExpressionWithTypeArguments\", {\n aliases: [\"TSType\"],\n visitor: [\"expression\", \"typeParameters\"],\n fields: {\n expression: validateType(\"TSEntityName\"),\n typeParameters: validateOptionalType(\"TSTypeParameterInstantiation\"),\n },\n});\n\ndefineType(\"TSInterfaceDeclaration\", {\n // \"Statement\" alias prevents a semicolon from appearing after it in an export declaration.\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"typeParameters\", \"extends\", \"body\"],\n fields: {\n declare: validateOptional(bool),\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TSTypeParameterDeclaration\"),\n extends: validateOptional(arrayOfType(\"TSExpressionWithTypeArguments\")),\n body: validateType(\"TSInterfaceBody\"),\n },\n});\n\ndefineType(\"TSInterfaceBody\", {\n visitor: [\"body\"],\n fields: {\n body: validateArrayOfType(\"TSTypeElement\"),\n },\n});\n\ndefineType(\"TSTypeAliasDeclaration\", {\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"typeParameters\", \"typeAnnotation\"],\n fields: {\n declare: validateOptional(bool),\n id: validateType(\"Identifier\"),\n typeParameters: validateOptionalType(\"TSTypeParameterDeclaration\"),\n typeAnnotation: validateType(\"TSType\"),\n },\n});\n\ndefineType(\"TSInstantiationExpression\", {\n aliases: [\"Expression\"],\n visitor: [\"expression\", \"typeParameters\"],\n fields: {\n expression: validateType(\"Expression\"),\n typeParameters: validateOptionalType(\"TSTypeParameterInstantiation\"),\n },\n});\n\nconst TSTypeExpression = {\n aliases: [\"Expression\", \"LVal\", \"PatternLike\"],\n visitor: [\"expression\", \"typeAnnotation\"],\n fields: {\n expression: validateType(\"Expression\"),\n typeAnnotation: validateType(\"TSType\"),\n },\n};\n\ndefineType(\"TSAsExpression\", TSTypeExpression);\ndefineType(\"TSSatisfiesExpression\", TSTypeExpression);\n\ndefineType(\"TSTypeAssertion\", {\n aliases: [\"Expression\", \"LVal\", \"PatternLike\"],\n visitor: [\"typeAnnotation\", \"expression\"],\n fields: {\n typeAnnotation: validateType(\"TSType\"),\n expression: validateType(\"Expression\"),\n },\n});\n\ndefineType(\"TSEnumDeclaration\", {\n // \"Statement\" alias prevents a semicolon from appearing after it in an export declaration.\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"members\"],\n fields: {\n declare: validateOptional(bool),\n const: validateOptional(bool),\n id: validateType(\"Identifier\"),\n members: validateArrayOfType(\"TSEnumMember\"),\n initializer: validateOptionalType(\"Expression\"),\n },\n});\n\ndefineType(\"TSEnumMember\", {\n visitor: [\"id\", \"initializer\"],\n fields: {\n id: validateType([\"Identifier\", \"StringLiteral\"]),\n initializer: validateOptionalType(\"Expression\"),\n },\n});\n\ndefineType(\"TSModuleDeclaration\", {\n aliases: [\"Statement\", \"Declaration\"],\n visitor: [\"id\", \"body\"],\n fields: {\n declare: validateOptional(bool),\n global: validateOptional(bool),\n id: validateType([\"Identifier\", \"StringLiteral\"]),\n body: validateType([\"TSModuleBlock\", \"TSModuleDeclaration\"]),\n },\n});\n\ndefineType(\"TSModuleBlock\", {\n aliases: [\"Scopable\", \"Block\", \"BlockParent\", \"FunctionParent\"],\n visitor: [\"body\"],\n fields: {\n body: validateArrayOfType(\"Statement\"),\n },\n});\n\ndefineType(\"TSImportType\", {\n aliases: [\"TSType\"],\n visitor: [\"argument\", \"qualifier\", \"typeParameters\"],\n fields: {\n argument: validateType(\"StringLiteral\"),\n qualifier: validateOptionalType(\"TSEntityName\"),\n typeParameters: validateOptionalType(\"TSTypeParameterInstantiation\"),\n },\n});\n\ndefineType(\"TSImportEqualsDeclaration\", {\n aliases: [\"Statement\"],\n visitor: [\"id\", \"moduleReference\"],\n fields: {\n isExport: validate(bool),\n id: validateType(\"Identifier\"),\n moduleReference: validateType([\n \"TSEntityName\",\n \"TSExternalModuleReference\",\n ]),\n importKind: {\n validate: assertOneOf(\"type\", \"value\"),\n optional: true,\n },\n },\n});\n\ndefineType(\"TSExternalModuleReference\", {\n visitor: [\"expression\"],\n fields: {\n expression: validateType(\"StringLiteral\"),\n },\n});\n\ndefineType(\"TSNonNullExpression\", {\n aliases: [\"Expression\", \"LVal\", \"PatternLike\"],\n visitor: [\"expression\"],\n fields: {\n expression: validateType(\"Expression\"),\n },\n});\n\ndefineType(\"TSExportAssignment\", {\n aliases: [\"Statement\"],\n visitor: [\"expression\"],\n fields: {\n expression: validateType(\"Expression\"),\n },\n});\n\ndefineType(\"TSNamespaceExportDeclaration\", {\n aliases: [\"Statement\"],\n visitor: [\"id\"],\n fields: {\n id: validateType(\"Identifier\"),\n },\n});\n\ndefineType(\"TSTypeAnnotation\", {\n visitor: [\"typeAnnotation\"],\n fields: {\n typeAnnotation: {\n validate: assertNodeType(\"TSType\"),\n },\n },\n});\n\ndefineType(\"TSTypeParameterInstantiation\", {\n visitor: [\"params\"],\n fields: {\n params: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"TSType\")),\n ),\n },\n },\n});\n\ndefineType(\"TSTypeParameterDeclaration\", {\n visitor: [\"params\"],\n fields: {\n params: {\n validate: chain(\n assertValueType(\"array\"),\n assertEach(assertNodeType(\"TSTypeParameter\")),\n ),\n },\n },\n});\n\ndefineType(\"TSTypeParameter\", {\n builder: [\"constraint\", \"default\", \"name\"],\n visitor: [\"constraint\", \"default\"],\n fields: {\n name: {\n validate: !process.env.BABEL_8_BREAKING\n ? assertValueType(\"string\")\n : assertNodeType(\"Identifier\"),\n },\n in: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n out: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n const: {\n validate: assertValueType(\"boolean\"),\n optional: true,\n },\n constraint: {\n validate: assertNodeType(\"TSType\"),\n optional: true,\n },\n default: {\n validate: assertNodeType(\"TSType\"),\n optional: true,\n },\n },\n});\n"],"mappings":";;AAAA;AAcA;AAIA;AAEA,MAAMA,UAAU,GAAG,IAAAC,wBAAiB,EAAC,YAAY,CAAC;AAElD,MAAMC,IAAI,GAAG,IAAAC,sBAAe,EAAC,SAAS,CAAC;AAEvC,MAAMC,8BAA8B,GAAG,OAAO;EAC5CC,UAAU,EAAE;IACVC,QAAQ,EAGJ,IAAAC,qBAAc,EAAC,kBAAkB,EAAE,MAAM,CAAC;IAC9CC,QAAQ,EAAE;EACZ,CAAC;EACDC,cAAc,EAAE;IACdH,QAAQ,EAGJ,IAAAC,qBAAc,EAAC,4BAA4B,EAAE,MAAM,CAAC;IACxDC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC;AAEFR,UAAU,CAAC,qBAAqB,EAAE;EAChCU,OAAO,EAAE,CAAC,MAAM,CAAC;EACjBC,OAAO,EAAE,CAAC,WAAW,CAAC;EACtBC,MAAM,EAAE;IACNC,aAAa,EAAE;MACbP,QAAQ,EAAE,IAAAQ,kBAAW,EAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC;MACvDN,QAAQ,EAAE;IACZ,CAAC;IACDO,QAAQ,EAAE;MACRT,QAAQ,EAAE,IAAAH,sBAAe,EAAC,SAAS,CAAC;MACpCK,QAAQ,EAAE;IACZ,CAAC;IACDQ,SAAS,EAAE;MACTV,QAAQ,EAAE,IAAAC,qBAAc,EAAC,YAAY,EAAE,mBAAmB;IAC5D,CAAC;IACDU,QAAQ,EAAE;MACRX,QAAQ,EAAE,IAAAH,sBAAe,EAAC,SAAS,CAAC;MACpCK,QAAQ,EAAE;IACZ,CAAC;IACDU,UAAU,EAAE;MACVZ,QAAQ,EAAE,IAAAa,YAAK,EACb,IAAAhB,sBAAe,EAAC,OAAO,CAAC,EACxB,IAAAiB,iBAAU,EAAC,IAAAb,qBAAc,EAAC,WAAW,CAAC,CAAC,CACxC;MACDC,QAAQ,EAAE;IACZ;EACF;AACF,CAAC,CAAC;AAEFR,UAAU,CAAC,mBAAmB,EAAE;EAC9BU,OAAO,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC;EACrCC,OAAO,EAAE,CAAC,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,CAAC;EACzDC,MAAM,oBACD,IAAAS,+BAAyB,GAAE,EAC3BjB,8BAA8B,EAAE;AAEvC,CAAC,CAAC;AAEFJ,UAAU,CAAC,iBAAiB,EAAE;EAC5BW,OAAO,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,YAAY,CAAC;EACxEC,MAAM,oBACD,IAAAU,sCAAgC,GAAE,EAClClB,8BAA8B,EAAE;AAEvC,CAAC,CAAC;AAEFJ,UAAU,CAAC,iBAAiB,EAAE;EAC5BU,OAAO,EAAE,CAAC,cAAc,CAAC;EACzBC,OAAO,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;EAC1BC,MAAM,EAAE;IACNW,IAAI,EAAE,IAAAC,mBAAY,EAAC,cAAc,CAAC;IAClCC,KAAK,EAAE,IAAAD,mBAAY,EAAC,YAAY;EAClC;AACF,CAAC,CAAC;AAEF,MAAME,0BAA0B,GAAG,OAAO;EACxCjB,cAAc,EAAE,IAAAkB,2BAAoB,EAAC,4BAA4B,CAAC;EAClE,CAA2C,YAAY,GAAG,IAAAC,0BAAmB,EAC3E,CAAC,YAAY,EAAE,aAAa,CAAC,CAC9B;EACD,CAA+C,gBAAgB,GAC7D,IAAAD,2BAAoB,EAAC,kBAAkB;AAC3C,CAAC,CAAC;AAEF,MAAME,iCAAiC,GAAG;EACxCnB,OAAO,EAAE,CAAC,eAAe,CAAC;EAC1BC,OAAO,EAAE,CACP,gBAAgB,EAC0B,YAAY,EACR,gBAAgB,CAC/D;EACDC,MAAM,EAAEc,0BAA0B;AACpC,CAAC;AAED1B,UAAU,CAAC,4BAA4B,EAAE6B,iCAAiC,CAAC;AAC3E7B,UAAU,CACR,iCAAiC,EACjC6B,iCAAiC,CAClC;AAED,MAAMC,sBAAsB,GAAG,OAAO;EACpCC,GAAG,EAAE,IAAAP,mBAAY,EAAC,YAAY,CAAC;EAC/BQ,QAAQ,EAAE;IAAEC,OAAO,EAAE;EAAM,CAAC;EAC5BzB,QAAQ,EAAE,IAAA0B,uBAAgB,EAAChC,IAAI;AACjC,CAAC,CAAC;AAEFF,UAAU,CAAC,qBAAqB,EAAE;EAChCU,OAAO,EAAE,CAAC,eAAe,CAAC;EAC1BC,OAAO,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,aAAa,CAAC;EACjDC,MAAM,oBACDkB,sBAAsB,EAAE;IAC3Bf,QAAQ,EAAE,IAAAmB,uBAAgB,EAAChC,IAAI,CAAC;IAChCiC,cAAc,EAAE,IAAAR,2BAAoB,EAAC,kBAAkB,CAAC;IACxDS,WAAW,EAAE,IAAAT,2BAAoB,EAAC,YAAY,CAAC;IAC/CU,IAAI,EAAE;MACJ/B,QAAQ,EAAE,IAAAQ,kBAAW,EAAC,KAAK,EAAE,KAAK;IACpC;EAAC;AAEL,CAAC,CAAC;AAEFd,UAAU,CAAC,mBAAmB,EAAE;EAC9BU,OAAO,EAAE,CAAC,eAAe,CAAC;EAC1BC,OAAO,EAAE,CACP,KAAK,EACL,gBAAgB,EAC0B,YAAY,EACR,gBAAgB,CAC/D;EACDC,MAAM,oBACDc,0BAA0B,EAAE,EAC5BI,sBAAsB,EAAE;IAC3BO,IAAI,EAAE;MACJ/B,QAAQ,EAAE,IAAAQ,kBAAW,EAAC,QAAQ,EAAE,KAAK,EAAE,KAAK;IAC9C;EAAC;AAEL,CAAC,CAAC;AAEFd,UAAU,CAAC,kBAAkB,EAAE;EAC7BU,OAAO,EAAE,CAAC,eAAe,CAAC;EAC1BC,OAAO,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;EACzCC,MAAM,EAAE;IACNG,QAAQ,EAAE,IAAAmB,uBAAgB,EAAChC,IAAI,CAAC;IAChCoC,MAAM,EAAE,IAAAJ,uBAAgB,EAAChC,IAAI,CAAC;IAC9BqC,UAAU,EAAE,IAAAX,0BAAmB,EAAC,YAAY,CAAC;IAC7CO,cAAc,EAAE,IAAAR,2BAAoB,EAAC,kBAAkB;EACzD;AACF,CAAC,CAAC;AAEF,MAAMa,cAAc,GAAG,CACrB,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,CACP;AAEV,KAAK,MAAMC,IAAI,IAAID,cAAc,EAAE;EACjCxC,UAAU,CAACyC,IAAI,EAAE;IACf/B,OAAO,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;IACjCC,OAAO,EAAE,EAAE;IACXC,MAAM,EAAE,CAAC;EACX,CAAC,CAAC;AACJ;AAEAZ,UAAU,CAAC,YAAY,EAAE;EACvBU,OAAO,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;EACjCC,OAAO,EAAE,EAAE;EACXC,MAAM,EAAE,CAAC;AACX,CAAC,CAAC;AAEF,MAAM8B,WAAW,GAAG;EAClBhC,OAAO,EAAE,CAAC,QAAQ,CAAC;EACnBC,OAAO,EAAE,CACP,gBAAgB,EAC0B,YAAY,EACR,gBAAgB;AAElE,CAAC;AAEDX,UAAU,CAAC,gBAAgB,oBACtB0C,WAAW;EACd9B,MAAM,EAAEc,0BAA0B;AAAE,GACpC;AACF1B,UAAU,CAAC,mBAAmB,oBACzB0C,WAAW;EACd9B,MAAM,oBACDc,0BAA0B,EAAE;IAC/BiB,QAAQ,EAAE,IAAAT,uBAAgB,EAAChC,IAAI;EAAC;AACjC,GACD;AAEFF,UAAU,CAAC,iBAAiB,EAAE;EAC5BU,OAAO,EAAE,CAAC,QAAQ,CAAC;EACnBC,OAAO,EAAE,CAAC,UAAU,EAAE,gBAAgB,CAAC;EACvCC,MAAM,EAAE;IACNgC,QAAQ,EAAE,IAAApB,mBAAY,EAAC,cAAc,CAAC;IACtCf,cAAc,EAAE,IAAAkB,2BAAoB,EAAC,8BAA8B;EACrE;AACF,CAAC,CAAC;AAEF3B,UAAU,CAAC,iBAAiB,EAAE;EAC5BU,OAAO,EAAE,CAAC,QAAQ,CAAC;EACnBC,OAAO,EAAE,CAAC,eAAe,EAAE,gBAAgB,CAAC;EAC5CkC,OAAO,EAAE,CAAC,eAAe,EAAE,gBAAgB,EAAE,SAAS,CAAC;EACvDjC,MAAM,EAAE;IACNkC,aAAa,EAAE,IAAAtB,mBAAY,EAAC,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IACzDW,cAAc,EAAE,IAAAR,2BAAoB,EAAC,kBAAkB,CAAC;IACxDoB,OAAO,EAAE,IAAAb,uBAAgB,EAAChC,IAAI;EAChC;AACF,CAAC,CAAC;AAEFF,UAAU,CAAC,aAAa,EAAE;EACxBU,OAAO,EAAE,CAAC,QAAQ,CAAC;EACnBC,OAAO,EAAE,CAAC,UAAU,EAAE,gBAAgB,CAAC;EACvCC,MAAM,EAAE;IACNoC,QAAQ,EAAE,IAAAxB,mBAAY,EAAC,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;IACxDf,cAAc,EAAE,IAAAkB,2BAAoB,EAAC,8BAA8B;EACrE;AACF,CAAC,CAAC;AAEF3B,UAAU,CAAC,eAAe,EAAE;EAC1BU,OAAO,EAAE,CAAC,QAAQ,CAAC;EACnBC,OAAO,EAAE,CAAC,SAAS,CAAC;EACpBC,MAAM,EAAE;IACNqC,OAAO,EAAE,IAAArB,0BAAmB,EAAC,eAAe;EAC9C;AACF,CAAC,CAAC;AAEF5B,UAAU,CAAC,aAAa,EAAE;EACxBU,OAAO,EAAE,CAAC,QAAQ,CAAC;EACnBC,OAAO,EAAE,CAAC,aAAa,CAAC;EACxBC,MAAM,EAAE;IACNsC,WAAW,EAAE,IAAA1B,mBAAY,EAAC,QAAQ;EACpC;AACF,CAAC,CAAC;AAEFxB,UAAU,CAAC,aAAa,EAAE;EACxBU,OAAO,EAAE,CAAC,QAAQ,CAAC;EACnBC,OAAO,EAAE,CAAC,cAAc,CAAC;EACzBC,MAAM,EAAE;IACNuC,YAAY,EAAE,IAAAvB,0BAAmB,EAAC,CAAC,QAAQ,EAAE,oBAAoB,CAAC;EACpE;AACF,CAAC,CAAC;AAEF5B,UAAU,CAAC,gBAAgB,EAAE;EAC3BU,OAAO,EAAE,CAAC,QAAQ,CAAC;EACnBC,OAAO,EAAE,CAAC,gBAAgB,CAAC;EAC3BC,MAAM,EAAE;IACNuB,cAAc,EAAE,IAAAX,mBAAY,EAAC,QAAQ;EACvC;AACF,CAAC,CAAC;AAEFxB,UAAU,CAAC,YAAY,EAAE;EACvBU,OAAO,EAAE,CAAC,QAAQ,CAAC;EACnBC,OAAO,EAAE,CAAC,gBAAgB,CAAC;EAC3BC,MAAM,EAAE;IACNuB,cAAc,EAAE,IAAAX,mBAAY,EAAC,QAAQ;EACvC;AACF,CAAC,CAAC;AAEFxB,UAAU,CAAC,oBAAoB,EAAE;EAC/BW,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;EACjCkC,OAAO,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,CAAC;EAC7CjC,MAAM,EAAE;IACNwC,KAAK,EAAE,IAAA5B,mBAAY,EAAC,YAAY,CAAC;IACjChB,QAAQ,EAAE;MACRF,QAAQ,EAAEJ,IAAI;MACd+B,OAAO,EAAE;IACX,CAAC;IACDiB,WAAW,EAAE,IAAA1B,mBAAY,EAAC,QAAQ;EACpC;AACF,CAAC,CAAC;AAEF,MAAM6B,mBAAmB,GAAG;EAC1B3C,OAAO,EAAE,CAAC,QAAQ,CAAC;EACnBC,OAAO,EAAE,CAAC,OAAO,CAAC;EAClBC,MAAM,EAAE;IACN0C,KAAK,EAAE,IAAA1B,0BAAmB,EAAC,QAAQ;EACrC;AACF,CAAC;AAED5B,UAAU,CAAC,aAAa,EAAEqD,mBAAmB,CAAC;AAC9CrD,UAAU,CAAC,oBAAoB,EAAEqD,mBAAmB,CAAC;AAErDrD,UAAU,CAAC,mBAAmB,EAAE;EAC9BU,OAAO,EAAE,CAAC,QAAQ,CAAC;EACnBC,OAAO,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,CAAC;EAC9DC,MAAM,EAAE;IACN2C,SAAS,EAAE,IAAA/B,mBAAY,EAAC,QAAQ,CAAC;IACjCgC,WAAW,EAAE,IAAAhC,mBAAY,EAAC,QAAQ,CAAC;IACnCiC,QAAQ,EAAE,IAAAjC,mBAAY,EAAC,QAAQ,CAAC;IAChCkC,SAAS,EAAE,IAAAlC,mBAAY,EAAC,QAAQ;EAClC;AACF,CAAC,CAAC;AAEFxB,UAAU,CAAC,aAAa,EAAE;EACxBU,OAAO,EAAE,CAAC,QAAQ,CAAC;EACnBC,OAAO,EAAE,CAAC,eAAe,CAAC;EAC1BC,MAAM,EAAE;IACN+C,aAAa,EAAE,IAAAnC,mBAAY,EAAC,iBAAiB;EAC/C;AACF,CAAC,CAAC;AAEFxB,UAAU,CAAC,qBAAqB,EAAE;EAChCU,OAAO,EAAE,CAAC,QAAQ,CAAC;EACnBC,OAAO,EAAE,CAAC,gBAAgB,CAAC;EAC3BC,MAAM,EAAE;IACNuB,cAAc,EAAE,IAAAX,mBAAY,EAAC,QAAQ;EACvC;AACF,CAAC,CAAC;AAEFxB,UAAU,CAAC,gBAAgB,EAAE;EAC3BU,OAAO,EAAE,CAAC,QAAQ,CAAC;EACnBC,OAAO,EAAE,CAAC,gBAAgB,CAAC;EAC3BC,MAAM,EAAE;IACNgD,QAAQ,EAAE,IAAAtD,eAAQ,EAAC,IAAAH,sBAAe,EAAC,QAAQ,CAAC,CAAC;IAC7CgC,cAAc,EAAE,IAAAX,mBAAY,EAAC,QAAQ;EACvC;AACF,CAAC,CAAC;AAEFxB,UAAU,CAAC,qBAAqB,EAAE;EAChCU,OAAO,EAAE,CAAC,QAAQ,CAAC;EACnBC,OAAO,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;EACpCC,MAAM,EAAE;IACNiD,UAAU,EAAE,IAAArC,mBAAY,EAAC,QAAQ,CAAC;IAClCsC,SAAS,EAAE,IAAAtC,mBAAY,EAAC,QAAQ;EAClC;AACF,CAAC,CAAC;AAEFxB,UAAU,CAAC,cAAc,EAAE;EACzBU,OAAO,EAAE,CAAC,QAAQ,CAAC;EACnBC,OAAO,EAAE,CAAC,eAAe,EAAE,gBAAgB,EAAE,UAAU,CAAC;EACxDC,MAAM,EAAE;IACNG,QAAQ,EAAE,IAAAmB,uBAAgB,EAAC,IAAApB,kBAAW,EAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC9D6C,aAAa,EAAE,IAAAnC,mBAAY,EAAC,iBAAiB,CAAC;IAC9ChB,QAAQ,EAAE,IAAA0B,uBAAgB,EAAC,IAAApB,kBAAW,EAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC9DqB,cAAc,EAAE,IAAAR,2BAAoB,EAAC,QAAQ,CAAC;IAC9CoC,QAAQ,EAAE,IAAApC,2BAAoB,EAAC,QAAQ;EACzC;AACF,CAAC,CAAC;AAEF3B,UAAU,CAAC,eAAe,EAAE;EAC1BU,OAAO,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;EACjCC,OAAO,EAAE,CAAC,SAAS,CAAC;EACpBC,MAAM,EAAE;IACNoD,OAAO,EAAE;MACP1D,QAAQ,EAAG,YAAY;QACrB,MAAM2D,eAAe,GAAG,IAAA1D,qBAAc,EACpC,gBAAgB,EAChB,eAAe,CAChB;QACD,MAAM2D,aAAa,GAAG,IAAApD,kBAAW,EAAC,GAAG,CAAC;QAEtC,MAAMkD,OAAO,GAAG,IAAAzD,qBAAc,EAC5B,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,iBAAiB,CAClB;QACD,SAAS4D,SAAS,CAACC,MAAW,EAAErC,GAAW,EAAEsC,IAAS,EAAE;UAEtD,IAAI,IAAAC,WAAE,EAAC,iBAAiB,EAAED,IAAI,CAAC,EAAE;YAE/BH,aAAa,CAACG,IAAI,EAAE,UAAU,EAAEA,IAAI,CAACT,QAAQ,CAAC;YAC9CK,eAAe,CAACI,IAAI,EAAE,UAAU,EAAEA,IAAI,CAACE,QAAQ,CAAC;UAClD,CAAC,MAAM;YAELP,OAAO,CAACI,MAAM,EAAErC,GAAG,EAAEsC,IAAI,CAAC;UAC5B;QACF;QAEAF,SAAS,CAACK,cAAc,GAAG,CACzB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,CAClB;QAED,OAAOL,SAAS;MAClB,CAAC;IACH;EACF;AACF,CAAC,CAAC;AAEFnE,UAAU,CAAC,+BAA+B,EAAE;EAC1CU,OAAO,EAAE,CAAC,QAAQ,CAAC;EACnBC,OAAO,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;EACzCC,MAAM,EAAE;IACN6D,UAAU,EAAE,IAAAjD,mBAAY,EAAC,cAAc,CAAC;IACxCf,cAAc,EAAE,IAAAkB,2BAAoB,EAAC,8BAA8B;EACrE;AACF,CAAC,CAAC;AAEF3B,UAAU,CAAC,wBAAwB,EAAE;EAEnCU,OAAO,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC;EACrCC,OAAO,EAAE,CAAC,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,CAAC;EACpDC,MAAM,EAAE;IACN8D,OAAO,EAAE,IAAAxC,uBAAgB,EAAChC,IAAI,CAAC;IAC/ByE,EAAE,EAAE,IAAAnD,mBAAY,EAAC,YAAY,CAAC;IAC9Bf,cAAc,EAAE,IAAAkB,2BAAoB,EAAC,4BAA4B,CAAC;IAClEiD,OAAO,EAAE,IAAA1C,uBAAgB,EAAC,IAAA2C,kBAAW,EAAC,+BAA+B,CAAC,CAAC;IACvEC,IAAI,EAAE,IAAAtD,mBAAY,EAAC,iBAAiB;EACtC;AACF,CAAC,CAAC;AAEFxB,UAAU,CAAC,iBAAiB,EAAE;EAC5BW,OAAO,EAAE,CAAC,MAAM,CAAC;EACjBC,MAAM,EAAE;IACNkE,IAAI,EAAE,IAAAlD,0BAAmB,EAAC,eAAe;EAC3C;AACF,CAAC,CAAC;AAEF5B,UAAU,CAAC,wBAAwB,EAAE;EACnCU,OAAO,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC;EACrCC,OAAO,EAAE,CAAC,IAAI,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;EACnDC,MAAM,EAAE;IACN8D,OAAO,EAAE,IAAAxC,uBAAgB,EAAChC,IAAI,CAAC;IAC/ByE,EAAE,EAAE,IAAAnD,mBAAY,EAAC,YAAY,CAAC;IAC9Bf,cAAc,EAAE,IAAAkB,2BAAoB,EAAC,4BAA4B,CAAC;IAClEQ,cAAc,EAAE,IAAAX,mBAAY,EAAC,QAAQ;EACvC;AACF,CAAC,CAAC;AAEFxB,UAAU,CAAC,2BAA2B,EAAE;EACtCU,OAAO,EAAE,CAAC,YAAY,CAAC;EACvBC,OAAO,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;EACzCC,MAAM,EAAE;IACN6D,UAAU,EAAE,IAAAjD,mBAAY,EAAC,YAAY,CAAC;IACtCf,cAAc,EAAE,IAAAkB,2BAAoB,EAAC,8BAA8B;EACrE;AACF,CAAC,CAAC;AAEF,MAAMoD,gBAAgB,GAAG;EACvBrE,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,CAAC;EAC9CC,OAAO,EAAE,CAAC,YAAY,EAAE,gBAAgB,CAAC;EACzCC,MAAM,EAAE;IACN6D,UAAU,EAAE,IAAAjD,mBAAY,EAAC,YAAY,CAAC;IACtCW,cAAc,EAAE,IAAAX,mBAAY,EAAC,QAAQ;EACvC;AACF,CAAC;AAEDxB,UAAU,CAAC,gBAAgB,EAAE+E,gBAAgB,CAAC;AAC9C/E,UAAU,CAAC,uBAAuB,EAAE+E,gBAAgB,CAAC;AAErD/E,UAAU,CAAC,iBAAiB,EAAE;EAC5BU,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,CAAC;EAC9CC,OAAO,EAAE,CAAC,gBAAgB,EAAE,YAAY,CAAC;EACzCC,MAAM,EAAE;IACNuB,cAAc,EAAE,IAAAX,mBAAY,EAAC,QAAQ,CAAC;IACtCiD,UAAU,EAAE,IAAAjD,mBAAY,EAAC,YAAY;EACvC;AACF,CAAC,CAAC;AAEFxB,UAAU,CAAC,mBAAmB,EAAE;EAE9BU,OAAO,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC;EACrCC,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC;EAC1BC,MAAM,EAAE;IACN8D,OAAO,EAAE,IAAAxC,uBAAgB,EAAChC,IAAI,CAAC;IAC/B8E,KAAK,EAAE,IAAA9C,uBAAgB,EAAChC,IAAI,CAAC;IAC7ByE,EAAE,EAAE,IAAAnD,mBAAY,EAAC,YAAY,CAAC;IAC9ByB,OAAO,EAAE,IAAArB,0BAAmB,EAAC,cAAc,CAAC;IAC5CQ,WAAW,EAAE,IAAAT,2BAAoB,EAAC,YAAY;EAChD;AACF,CAAC,CAAC;AAEF3B,UAAU,CAAC,cAAc,EAAE;EACzBW,OAAO,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC;EAC9BC,MAAM,EAAE;IACN+D,EAAE,EAAE,IAAAnD,mBAAY,EAAC,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IACjDY,WAAW,EAAE,IAAAT,2BAAoB,EAAC,YAAY;EAChD;AACF,CAAC,CAAC;AAEF3B,UAAU,CAAC,qBAAqB,EAAE;EAChCU,OAAO,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC;EACrCC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC;EACvBC,MAAM,EAAE;IACN8D,OAAO,EAAE,IAAAxC,uBAAgB,EAAChC,IAAI,CAAC;IAC/B+E,MAAM,EAAE,IAAA/C,uBAAgB,EAAChC,IAAI,CAAC;IAC9ByE,EAAE,EAAE,IAAAnD,mBAAY,EAAC,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IACjDsD,IAAI,EAAE,IAAAtD,mBAAY,EAAC,CAAC,eAAe,EAAE,qBAAqB,CAAC;EAC7D;AACF,CAAC,CAAC;AAEFxB,UAAU,CAAC,eAAe,EAAE;EAC1BU,OAAO,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,gBAAgB,CAAC;EAC/DC,OAAO,EAAE,CAAC,MAAM,CAAC;EACjBC,MAAM,EAAE;IACNkE,IAAI,EAAE,IAAAlD,0BAAmB,EAAC,WAAW;EACvC;AACF,CAAC,CAAC;AAEF5B,UAAU,CAAC,cAAc,EAAE;EACzBU,OAAO,EAAE,CAAC,QAAQ,CAAC;EACnBC,OAAO,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,gBAAgB,CAAC;EACpDC,MAAM,EAAE;IACN2D,QAAQ,EAAE,IAAA/C,mBAAY,EAAC,eAAe,CAAC;IACvC0D,SAAS,EAAE,IAAAvD,2BAAoB,EAAC,cAAc,CAAC;IAC/ClB,cAAc,EAAE,IAAAkB,2BAAoB,EAAC,8BAA8B;EACrE;AACF,CAAC,CAAC;AAEF3B,UAAU,CAAC,2BAA2B,EAAE;EACtCU,OAAO,EAAE,CAAC,WAAW,CAAC;EACtBC,OAAO,EAAE,CAAC,IAAI,EAAE,iBAAiB,CAAC;EAClCC,MAAM,EAAE;IACNuE,QAAQ,EAAE,IAAA7E,eAAQ,EAACJ,IAAI,CAAC;IACxByE,EAAE,EAAE,IAAAnD,mBAAY,EAAC,YAAY,CAAC;IAC9B4D,eAAe,EAAE,IAAA5D,mBAAY,EAAC,CAC5B,cAAc,EACd,2BAA2B,CAC5B,CAAC;IACF6D,UAAU,EAAE;MACV/E,QAAQ,EAAE,IAAAQ,kBAAW,EAAC,MAAM,EAAE,OAAO,CAAC;MACtCN,QAAQ,EAAE;IACZ;EACF;AACF,CAAC,CAAC;AAEFR,UAAU,CAAC,2BAA2B,EAAE;EACtCW,OAAO,EAAE,CAAC,YAAY,CAAC;EACvBC,MAAM,EAAE;IACN6D,UAAU,EAAE,IAAAjD,mBAAY,EAAC,eAAe;EAC1C;AACF,CAAC,CAAC;AAEFxB,UAAU,CAAC,qBAAqB,EAAE;EAChCU,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,CAAC;EAC9CC,OAAO,EAAE,CAAC,YAAY,CAAC;EACvBC,MAAM,EAAE;IACN6D,UAAU,EAAE,IAAAjD,mBAAY,EAAC,YAAY;EACvC;AACF,CAAC,CAAC;AAEFxB,UAAU,CAAC,oBAAoB,EAAE;EAC/BU,OAAO,EAAE,CAAC,WAAW,CAAC;EACtBC,OAAO,EAAE,CAAC,YAAY,CAAC;EACvBC,MAAM,EAAE;IACN6D,UAAU,EAAE,IAAAjD,mBAAY,EAAC,YAAY;EACvC;AACF,CAAC,CAAC;AAEFxB,UAAU,CAAC,8BAA8B,EAAE;EACzCU,OAAO,EAAE,CAAC,WAAW,CAAC;EACtBC,OAAO,EAAE,CAAC,IAAI,CAAC;EACfC,MAAM,EAAE;IACN+D,EAAE,EAAE,IAAAnD,mBAAY,EAAC,YAAY;EAC/B;AACF,CAAC,CAAC;AAEFxB,UAAU,CAAC,kBAAkB,EAAE;EAC7BW,OAAO,EAAE,CAAC,gBAAgB,CAAC;EAC3BC,MAAM,EAAE;IACNuB,cAAc,EAAE;MACd7B,QAAQ,EAAE,IAAAC,qBAAc,EAAC,QAAQ;IACnC;EACF;AACF,CAAC,CAAC;AAEFP,UAAU,CAAC,8BAA8B,EAAE;EACzCW,OAAO,EAAE,CAAC,QAAQ,CAAC;EACnBC,MAAM,EAAE;IACN0E,MAAM,EAAE;MACNhF,QAAQ,EAAE,IAAAa,YAAK,EACb,IAAAhB,sBAAe,EAAC,OAAO,CAAC,EACxB,IAAAiB,iBAAU,EAAC,IAAAb,qBAAc,EAAC,QAAQ,CAAC,CAAC;IAExC;EACF;AACF,CAAC,CAAC;AAEFP,UAAU,CAAC,4BAA4B,EAAE;EACvCW,OAAO,EAAE,CAAC,QAAQ,CAAC;EACnBC,MAAM,EAAE;IACN0E,MAAM,EAAE;MACNhF,QAAQ,EAAE,IAAAa,YAAK,EACb,IAAAhB,sBAAe,EAAC,OAAO,CAAC,EACxB,IAAAiB,iBAAU,EAAC,IAAAb,qBAAc,EAAC,iBAAiB,CAAC,CAAC;IAEjD;EACF;AACF,CAAC,CAAC;AAEFP,UAAU,CAAC,iBAAiB,EAAE;EAC5B6C,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC;EAC1ClC,OAAO,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;EAClCC,MAAM,EAAE;IACN2E,IAAI,EAAE;MACJjF,QAAQ,EACJ,IAAAH,sBAAe,EAAC,QAAQ;IAE9B,CAAC;IACDqF,EAAE,EAAE;MACFlF,QAAQ,EAAE,IAAAH,sBAAe,EAAC,SAAS,CAAC;MACpCK,QAAQ,EAAE;IACZ,CAAC;IACDiF,GAAG,EAAE;MACHnF,QAAQ,EAAE,IAAAH,sBAAe,EAAC,SAAS,CAAC;MACpCK,QAAQ,EAAE;IACZ,CAAC;IACDwE,KAAK,EAAE;MACL1E,QAAQ,EAAE,IAAAH,sBAAe,EAAC,SAAS,CAAC;MACpCK,QAAQ,EAAE;IACZ,CAAC;IACDkF,UAAU,EAAE;MACVpF,QAAQ,EAAE,IAAAC,qBAAc,EAAC,QAAQ,CAAC;MAClCC,QAAQ,EAAE;IACZ,CAAC;IACDyB,OAAO,EAAE;MACP3B,QAAQ,EAAE,IAAAC,qBAAc,EAAC,QAAQ,CAAC;MAClCC,QAAQ,EAAE;IACZ;EACF;AACF,CAAC,CAAC"}
|
|
@@ -197,7 +197,6 @@ function chain(...fns) {
|
|
|
197
197
|
const validTypeOpts = ["aliases", "builder", "deprecatedAlias", "fields", "inherits", "visitor", "validate"];
|
|
198
198
|
const validFieldKeys = ["default", "optional", "validate"];
|
|
199
199
|
const store = {};
|
|
200
|
-
|
|
201
200
|
function defineAliasedType(...aliases) {
|
|
202
201
|
return (type, opts = {}) => {
|
|
203
202
|
let defined = opts.aliases;
|
|
@@ -244,7 +243,6 @@ function defineType(type, opts = {}) {
|
|
|
244
243
|
if (opts.deprecatedAlias) {
|
|
245
244
|
DEPRECATED_KEYS[opts.deprecatedAlias] = type;
|
|
246
245
|
}
|
|
247
|
-
|
|
248
246
|
for (const key of visitor.concat(builder)) {
|
|
249
247
|
fields[key] = fields[key] || {};
|
|
250
248
|
}
|