@tinacms/app 1.0.7 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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/mdx.js +8573 -3668
- package/appFiles/src/lib/machines/query-machine.ts +0 -13
- package/appFiles/src/preview.tsx +22 -0
- package/dist/index.js +3 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["VISITOR_KEYS","ALIAS_KEYS","FLIPPED_ALIAS_KEYS","NODE_FIELDS","BUILDER_KEYS","DEPRECATED_KEYS","NODE_PARENT_VALIDATIONS","getType","val","Array","isArray","validate","typeIs","typeName","assertNodeType","validateType","validateOptional","optional","validateOptionalType","arrayOf","elementType","chain","assertValueType","assertEach","arrayOfType","validateArrayOfType","callback","validator","node","key","i","length","subkey","v","process","env","BABEL_TYPES_8_BREAKING","validateChild","each","assertOneOf","values","indexOf","TypeError","JSON","stringify","oneOf","types","type","is","oneOfNodeTypes","assertNodeOrValueType","oneOfNodeOrValueTypes","valid","assertShape","shape","errors","property","Object","keys","validateField","error","push","message","join","shapeOf","assertOptionalChainStart","current","callee","object","fns","args","fn","chainOf","Error","validTypeOpts","validFieldKeys","store","defineAliasedType","aliases","opts","defined","inherits","slice","additional","filter","a","includes","unshift","defineType","fields","getOwnPropertyNames","field","def","default","visitor","builder","k","deprecatedAlias","concat","undefined","forEach","alias"],"sources":["../../src/definitions/utils.ts"],"sourcesContent":["import is from \"../validators/is\";\nimport { validateField, validateChild } from \"../validators/validate\";\nimport type * as t from \"..\";\n\nexport const VISITOR_KEYS: Record<string, string[]> = {};\nexport const ALIAS_KEYS: Partial<Record<NodeTypesWithoutComment, string[]>> =\n {};\nexport const FLIPPED_ALIAS_KEYS: Record<string, NodeTypesWithoutComment[]> = {};\nexport const NODE_FIELDS: Record<string, FieldDefinitions> = {};\nexport const BUILDER_KEYS: Record<string, string[]> = {};\nexport const DEPRECATED_KEYS: Record<string, NodeTypesWithoutComment> = {};\nexport const NODE_PARENT_VALIDATIONS: Record<string, Validator> = {};\n\nfunction getType(val: any) {\n if (Array.isArray(val)) {\n return \"array\";\n } else if (val === null) {\n return \"null\";\n } else {\n return typeof val;\n }\n}\n\ntype NodeTypesWithoutComment = t.Node[\"type\"] | keyof t.Aliases;\n\ntype NodeTypes = NodeTypesWithoutComment | t.Comment[\"type\"];\n\ntype PrimitiveTypes = ReturnType<typeof getType>;\n\ntype FieldDefinitions = {\n [x: string]: FieldOptions;\n};\n\ntype DefineTypeOpts = {\n fields?: FieldDefinitions;\n visitor?: Array<string>;\n aliases?: Array<string>;\n builder?: Array<string>;\n inherits?: NodeTypes;\n deprecatedAlias?: string;\n validate?: Validator;\n};\n\nexport type Validator = (\n | { type: PrimitiveTypes }\n | { each: Validator }\n | { chainOf: Validator[] }\n | { oneOf: any[] }\n | { oneOfNodeTypes: NodeTypes[] }\n | { oneOfNodeOrValueTypes: (NodeTypes | PrimitiveTypes)[] }\n | { shapeOf: { [x: string]: FieldOptions } }\n | {}\n) &\n ((node: t.Node, key: string, val: any) => void);\n\nexport type FieldOptions = {\n default?: string | number | boolean | [];\n optional?: boolean;\n validate?: Validator;\n};\n\nexport function validate(validate: Validator): FieldOptions {\n return { validate };\n}\n\nexport function typeIs(typeName: NodeTypes | NodeTypes[]) {\n return typeof typeName === \"string\"\n ? assertNodeType(typeName)\n : assertNodeType(...typeName);\n}\n\nexport function validateType(typeName: NodeTypes | NodeTypes[]) {\n return validate(typeIs(typeName));\n}\n\nexport function validateOptional(validate: Validator): FieldOptions {\n return { validate, optional: true };\n}\n\nexport function validateOptionalType(\n typeName: NodeTypes | NodeTypes[],\n): FieldOptions {\n return { validate: typeIs(typeName), optional: true };\n}\n\nexport function arrayOf(elementType: Validator): Validator {\n return chain(assertValueType(\"array\"), assertEach(elementType));\n}\n\nexport function arrayOfType(typeName: NodeTypes | NodeTypes[]) {\n return arrayOf(typeIs(typeName));\n}\n\nexport function validateArrayOfType(typeName: NodeTypes | NodeTypes[]) {\n return validate(arrayOfType(typeName));\n}\n\nexport function assertEach(callback: Validator): Validator {\n function validator(node: t.Node, key: string, val: any) {\n if (!Array.isArray(val)) return;\n\n for (let i = 0; i < val.length; i++) {\n const subkey = `${key}[${i}]`;\n const v = val[i];\n callback(node, subkey, v);\n if (process.env.BABEL_TYPES_8_BREAKING) validateChild(node, subkey, v);\n }\n }\n validator.each = callback;\n return validator;\n}\n\nexport function assertOneOf(...values: Array<any>): Validator {\n function validate(node: any, key: string, val: any) {\n if (values.indexOf(val) < 0) {\n throw new TypeError(\n `Property ${key} expected value to be one of ${JSON.stringify(\n values,\n )} but got ${JSON.stringify(val)}`,\n );\n }\n }\n\n validate.oneOf = values;\n\n return validate;\n}\n\nexport function assertNodeType(...types: NodeTypes[]): Validator {\n function validate(node: t.Node, key: string, val: any) {\n for (const type of types) {\n if (is(type, val)) {\n validateChild(node, key, val);\n return;\n }\n }\n\n throw new TypeError(\n `Property ${key} of ${\n node.type\n } expected node to be of a type ${JSON.stringify(\n types,\n )} but instead got ${JSON.stringify(val?.type)}`,\n );\n }\n\n validate.oneOfNodeTypes = types;\n\n return validate;\n}\n\nexport function assertNodeOrValueType(\n ...types: (NodeTypes | PrimitiveTypes)[]\n): Validator {\n function validate(node: t.Node, key: string, val: any) {\n for (const type of types) {\n if (getType(val) === type || is(type, val)) {\n validateChild(node, key, val);\n return;\n }\n }\n\n throw new TypeError(\n `Property ${key} of ${\n node.type\n } expected node to be of a type ${JSON.stringify(\n types,\n )} but instead got ${JSON.stringify(val?.type)}`,\n );\n }\n\n validate.oneOfNodeOrValueTypes = types;\n\n return validate;\n}\n\nexport function assertValueType(type: PrimitiveTypes): Validator {\n function validate(node: t.Node, key: string, val: any) {\n const valid = getType(val) === type;\n\n if (!valid) {\n throw new TypeError(\n `Property ${key} expected type of ${type} but got ${getType(val)}`,\n );\n }\n }\n\n validate.type = type;\n\n return validate;\n}\n\nexport function assertShape(shape: { [x: string]: FieldOptions }): Validator {\n function validate(node: t.Node, key: string, val: any) {\n const errors = [];\n for (const property of Object.keys(shape)) {\n try {\n validateField(node, property, val[property], shape[property]);\n } catch (error) {\n if (error instanceof TypeError) {\n errors.push(error.message);\n continue;\n }\n throw error;\n }\n }\n if (errors.length) {\n throw new TypeError(\n `Property ${key} of ${\n node.type\n } expected to have the following:\\n${errors.join(\"\\n\")}`,\n );\n }\n }\n\n validate.shapeOf = shape;\n\n return validate;\n}\n\nexport function assertOptionalChainStart(): Validator {\n function validate(node: t.Node) {\n let current = node;\n while (node) {\n const { type } = current;\n if (type === \"OptionalCallExpression\") {\n if (current.optional) return;\n current = current.callee;\n continue;\n }\n\n if (type === \"OptionalMemberExpression\") {\n if (current.optional) return;\n current = current.object;\n continue;\n }\n\n break;\n }\n\n throw new TypeError(\n `Non-optional ${node.type} must chain from an optional OptionalMemberExpression or OptionalCallExpression. Found chain from ${current?.type}`,\n );\n }\n\n return validate;\n}\n\nexport function chain(...fns: Array<Validator>): Validator {\n function validate(...args: Parameters<Validator>) {\n for (const fn of fns) {\n fn(...args);\n }\n }\n validate.chainOf = fns;\n\n if (\n fns.length >= 2 &&\n \"type\" in fns[0] &&\n fns[0].type === \"array\" &&\n !(\"each\" in fns[1])\n ) {\n throw new Error(\n `An assertValueType(\"array\") validator can only be followed by an assertEach(...) validator.`,\n );\n }\n\n return validate;\n}\n\nconst validTypeOpts = [\n \"aliases\",\n \"builder\",\n \"deprecatedAlias\",\n \"fields\",\n \"inherits\",\n \"visitor\",\n \"validate\",\n];\nconst validFieldKeys = [\"default\", \"optional\", \"validate\"];\n\nconst store = {} as Record<string, DefineTypeOpts>;\n\n// Wraps defineType to ensure these aliases are included.\nexport function defineAliasedType(...aliases: string[]) {\n return (type: string, opts: DefineTypeOpts = {}) => {\n let defined = opts.aliases;\n if (!defined) {\n if (opts.inherits) defined = store[opts.inherits].aliases?.slice();\n defined ??= [];\n opts.aliases = defined;\n }\n const additional = aliases.filter(a => !defined.includes(a));\n defined.unshift(...additional);\n return defineType(type, opts);\n };\n}\n\nexport default function defineType(type: string, opts: DefineTypeOpts = {}) {\n const inherits = (opts.inherits && store[opts.inherits]) || {};\n\n let fields = opts.fields;\n if (!fields) {\n fields = {};\n if (inherits.fields) {\n const keys = Object.getOwnPropertyNames(inherits.fields);\n for (const key of keys) {\n const field = inherits.fields[key];\n const def = field.default;\n if (\n Array.isArray(def) ? def.length > 0 : def && typeof def === \"object\"\n ) {\n throw new Error(\n \"field defaults can only be primitives or empty arrays currently\",\n );\n }\n fields[key] = {\n default: Array.isArray(def) ? [] : def,\n optional: field.optional,\n validate: field.validate,\n };\n }\n }\n }\n\n const visitor: Array<string> = opts.visitor || inherits.visitor || [];\n const aliases: Array<string> = opts.aliases || inherits.aliases || [];\n const builder: Array<string> =\n opts.builder || inherits.builder || opts.visitor || [];\n\n for (const k of Object.keys(opts)) {\n if (validTypeOpts.indexOf(k) === -1) {\n throw new Error(`Unknown type option \"${k}\" on ${type}`);\n }\n }\n\n if (opts.deprecatedAlias) {\n DEPRECATED_KEYS[opts.deprecatedAlias] = type as NodeTypesWithoutComment;\n }\n\n // ensure all field keys are represented in `fields`\n for (const key of visitor.concat(builder)) {\n fields[key] = fields[key] || {};\n }\n\n for (const key of Object.keys(fields)) {\n const field = fields[key];\n\n if (field.default !== undefined && builder.indexOf(key) === -1) {\n field.optional = true;\n }\n if (field.default === undefined) {\n field.default = null;\n } else if (!field.validate && field.default != null) {\n field.validate = assertValueType(getType(field.default));\n }\n\n for (const k of Object.keys(field)) {\n if (validFieldKeys.indexOf(k) === -1) {\n throw new Error(`Unknown field key \"${k}\" on ${type}.${key}`);\n }\n }\n }\n\n VISITOR_KEYS[type] = opts.visitor = visitor;\n BUILDER_KEYS[type] = opts.builder = builder;\n NODE_FIELDS[type] = opts.fields = fields;\n ALIAS_KEYS[type as NodeTypesWithoutComment] = opts.aliases = aliases;\n aliases.forEach(alias => {\n FLIPPED_ALIAS_KEYS[alias] = FLIPPED_ALIAS_KEYS[alias] || [];\n FLIPPED_ALIAS_KEYS[alias].push(type as NodeTypesWithoutComment);\n });\n\n if (opts.validate) {\n NODE_PARENT_VALIDATIONS[type] = opts.validate;\n }\n\n store[type] = opts;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["VISITOR_KEYS","ALIAS_KEYS","FLIPPED_ALIAS_KEYS","NODE_FIELDS","BUILDER_KEYS","DEPRECATED_KEYS","NODE_PARENT_VALIDATIONS","getType","val","Array","isArray","validate","typeIs","typeName","assertNodeType","validateType","validateOptional","optional","validateOptionalType","arrayOf","elementType","chain","assertValueType","assertEach","arrayOfType","validateArrayOfType","callback","validator","node","key","i","length","subkey","v","process","env","BABEL_TYPES_8_BREAKING","validateChild","each","assertOneOf","values","indexOf","TypeError","JSON","stringify","oneOf","types","type","is","oneOfNodeTypes","assertNodeOrValueType","oneOfNodeOrValueTypes","valid","assertShape","shape","errors","property","Object","keys","validateField","error","push","message","join","shapeOf","assertOptionalChainStart","current","callee","object","fns","args","fn","chainOf","Error","validTypeOpts","validFieldKeys","store","defineAliasedType","aliases","opts","defined","inherits","slice","additional","filter","a","includes","unshift","defineType","fields","getOwnPropertyNames","field","def","default","visitor","builder","k","deprecatedAlias","concat","undefined","forEach","alias"],"sources":["../../src/definitions/utils.ts"],"sourcesContent":["import is from \"../validators/is\";\nimport { validateField, validateChild } from \"../validators/validate\";\nimport type * as t from \"..\";\n\nexport const VISITOR_KEYS: Record<string, string[]> = {};\nexport const ALIAS_KEYS: Partial<Record<NodeTypesWithoutComment, string[]>> =\n {};\nexport const FLIPPED_ALIAS_KEYS: Record<string, NodeTypesWithoutComment[]> = {};\nexport const NODE_FIELDS: Record<string, FieldDefinitions> = {};\nexport const BUILDER_KEYS: Record<string, string[]> = {};\nexport const DEPRECATED_KEYS: Record<string, NodeTypesWithoutComment> = {};\nexport const NODE_PARENT_VALIDATIONS: Record<string, Validator> = {};\n\nfunction getType(val: any) {\n if (Array.isArray(val)) {\n return \"array\";\n } else if (val === null) {\n return \"null\";\n } else {\n return typeof val;\n }\n}\n\ntype NodeTypesWithoutComment = t.Node[\"type\"] | keyof t.Aliases;\n\ntype NodeTypes = NodeTypesWithoutComment | t.Comment[\"type\"];\n\ntype PrimitiveTypes = ReturnType<typeof getType>;\n\ntype FieldDefinitions = {\n [x: string]: FieldOptions;\n};\n\ntype DefineTypeOpts = {\n fields?: FieldDefinitions;\n visitor?: Array<string>;\n aliases?: Array<string>;\n builder?: Array<string>;\n inherits?: NodeTypes;\n deprecatedAlias?: string;\n validate?: Validator;\n};\n\nexport type Validator = (\n | { type: PrimitiveTypes }\n | { each: Validator }\n | { chainOf: Validator[] }\n | { oneOf: any[] }\n | { oneOfNodeTypes: NodeTypes[] }\n | { oneOfNodeOrValueTypes: (NodeTypes | PrimitiveTypes)[] }\n | { shapeOf: { [x: string]: FieldOptions } }\n | {}\n) &\n ((node: t.Node, key: string, val: any) => void);\n\nexport type FieldOptions = {\n default?: string | number | boolean | [];\n optional?: boolean;\n validate?: Validator;\n};\n\nexport function validate(validate: Validator): FieldOptions {\n return { validate };\n}\n\nexport function typeIs(typeName: NodeTypes | NodeTypes[]) {\n return typeof typeName === \"string\"\n ? assertNodeType(typeName)\n : assertNodeType(...typeName);\n}\n\nexport function validateType(typeName: NodeTypes | NodeTypes[]) {\n return validate(typeIs(typeName));\n}\n\nexport function validateOptional(validate: Validator): FieldOptions {\n return { validate, optional: true };\n}\n\nexport function validateOptionalType(\n typeName: NodeTypes | NodeTypes[],\n): FieldOptions {\n return { validate: typeIs(typeName), optional: true };\n}\n\nexport function arrayOf(elementType: Validator): Validator {\n return chain(assertValueType(\"array\"), assertEach(elementType));\n}\n\nexport function arrayOfType(typeName: NodeTypes | NodeTypes[]) {\n return arrayOf(typeIs(typeName));\n}\n\nexport function validateArrayOfType(typeName: NodeTypes | NodeTypes[]) {\n return validate(arrayOfType(typeName));\n}\n\nexport function assertEach(callback: Validator): Validator {\n function validator(node: t.Node, key: string, val: any) {\n if (!Array.isArray(val)) return;\n\n for (let i = 0; i < val.length; i++) {\n const subkey = `${key}[${i}]`;\n const v = val[i];\n callback(node, subkey, v);\n if (process.env.BABEL_TYPES_8_BREAKING) validateChild(node, subkey, v);\n }\n }\n validator.each = callback;\n return validator;\n}\n\nexport function assertOneOf(...values: Array<any>): Validator {\n function validate(node: any, key: string, val: any) {\n if (values.indexOf(val) < 0) {\n throw new TypeError(\n `Property ${key} expected value to be one of ${JSON.stringify(\n values,\n )} but got ${JSON.stringify(val)}`,\n );\n }\n }\n\n validate.oneOf = values;\n\n return validate;\n}\n\nexport function assertNodeType(...types: NodeTypes[]): Validator {\n function validate(node: t.Node, key: string, val: any) {\n for (const type of types) {\n if (is(type, val)) {\n validateChild(node, key, val);\n return;\n }\n }\n\n throw new TypeError(\n `Property ${key} of ${\n node.type\n } expected node to be of a type ${JSON.stringify(\n types,\n )} but instead got ${JSON.stringify(val?.type)}`,\n );\n }\n\n validate.oneOfNodeTypes = types;\n\n return validate;\n}\n\nexport function assertNodeOrValueType(\n ...types: (NodeTypes | PrimitiveTypes)[]\n): Validator {\n function validate(node: t.Node, key: string, val: any) {\n for (const type of types) {\n if (getType(val) === type || is(type, val)) {\n validateChild(node, key, val);\n return;\n }\n }\n\n throw new TypeError(\n `Property ${key} of ${\n node.type\n } expected node to be of a type ${JSON.stringify(\n types,\n )} but instead got ${JSON.stringify(val?.type)}`,\n );\n }\n\n validate.oneOfNodeOrValueTypes = types;\n\n return validate;\n}\n\nexport function assertValueType(type: PrimitiveTypes): Validator {\n function validate(node: t.Node, key: string, val: any) {\n const valid = getType(val) === type;\n\n if (!valid) {\n throw new TypeError(\n `Property ${key} expected type of ${type} but got ${getType(val)}`,\n );\n }\n }\n\n validate.type = type;\n\n return validate;\n}\n\nexport function assertShape(shape: { [x: string]: FieldOptions }): Validator {\n function validate(node: t.Node, key: string, val: any) {\n const errors = [];\n for (const property of Object.keys(shape)) {\n try {\n validateField(node, property, val[property], shape[property]);\n } catch (error) {\n if (error instanceof TypeError) {\n errors.push(error.message);\n continue;\n }\n throw error;\n }\n }\n if (errors.length) {\n throw new TypeError(\n `Property ${key} of ${\n node.type\n } expected to have the following:\\n${errors.join(\"\\n\")}`,\n );\n }\n }\n\n validate.shapeOf = shape;\n\n return validate;\n}\n\nexport function assertOptionalChainStart(): Validator {\n function validate(node: t.Node) {\n let current = node;\n while (node) {\n const { type } = current;\n if (type === \"OptionalCallExpression\") {\n if (current.optional) return;\n current = current.callee;\n continue;\n }\n\n if (type === \"OptionalMemberExpression\") {\n if (current.optional) return;\n current = current.object;\n continue;\n }\n\n break;\n }\n\n throw new TypeError(\n `Non-optional ${node.type} must chain from an optional OptionalMemberExpression or OptionalCallExpression. Found chain from ${current?.type}`,\n );\n }\n\n return validate;\n}\n\nexport function chain(...fns: Array<Validator>): Validator {\n function validate(...args: Parameters<Validator>) {\n for (const fn of fns) {\n fn(...args);\n }\n }\n validate.chainOf = fns;\n\n if (\n fns.length >= 2 &&\n \"type\" in fns[0] &&\n fns[0].type === \"array\" &&\n !(\"each\" in fns[1])\n ) {\n throw new Error(\n `An assertValueType(\"array\") validator can only be followed by an assertEach(...) validator.`,\n );\n }\n\n return validate;\n}\n\nconst validTypeOpts = [\n \"aliases\",\n \"builder\",\n \"deprecatedAlias\",\n \"fields\",\n \"inherits\",\n \"visitor\",\n \"validate\",\n];\nconst validFieldKeys = [\"default\", \"optional\", \"validate\"];\n\nconst store = {} as Record<string, DefineTypeOpts>;\n\n// Wraps defineType to ensure these aliases are included.\nexport function defineAliasedType(...aliases: string[]) {\n return (type: string, opts: DefineTypeOpts = {}) => {\n let defined = opts.aliases;\n if (!defined) {\n if (opts.inherits) defined = store[opts.inherits].aliases?.slice();\n defined ??= [];\n opts.aliases = defined;\n }\n const additional = aliases.filter(a => !defined.includes(a));\n defined.unshift(...additional);\n return defineType(type, opts);\n };\n}\n\nexport default function defineType(type: string, opts: DefineTypeOpts = {}) {\n const inherits = (opts.inherits && store[opts.inherits]) || {};\n\n let fields = opts.fields;\n if (!fields) {\n fields = {};\n if (inherits.fields) {\n const keys = Object.getOwnPropertyNames(inherits.fields);\n for (const key of keys) {\n const field = inherits.fields[key];\n const def = field.default;\n if (\n Array.isArray(def) ? def.length > 0 : def && typeof def === \"object\"\n ) {\n throw new Error(\n \"field defaults can only be primitives or empty arrays currently\",\n );\n }\n fields[key] = {\n default: Array.isArray(def) ? [] : def,\n optional: field.optional,\n validate: field.validate,\n };\n }\n }\n }\n\n const visitor: Array<string> = opts.visitor || inherits.visitor || [];\n const aliases: Array<string> = opts.aliases || inherits.aliases || [];\n const builder: Array<string> =\n opts.builder || inherits.builder || opts.visitor || [];\n\n for (const k of Object.keys(opts)) {\n if (validTypeOpts.indexOf(k) === -1) {\n throw new Error(`Unknown type option \"${k}\" on ${type}`);\n }\n }\n\n if (opts.deprecatedAlias) {\n DEPRECATED_KEYS[opts.deprecatedAlias] = type as NodeTypesWithoutComment;\n }\n\n // ensure all field keys are represented in `fields`\n for (const key of visitor.concat(builder)) {\n fields[key] = fields[key] || {};\n }\n\n for (const key of Object.keys(fields)) {\n const field = fields[key];\n\n if (field.default !== undefined && builder.indexOf(key) === -1) {\n field.optional = true;\n }\n if (field.default === undefined) {\n field.default = null;\n } else if (!field.validate && field.default != null) {\n field.validate = assertValueType(getType(field.default));\n }\n\n for (const k of Object.keys(field)) {\n if (validFieldKeys.indexOf(k) === -1) {\n throw new Error(`Unknown field key \"${k}\" on ${type}.${key}`);\n }\n }\n }\n\n VISITOR_KEYS[type] = opts.visitor = visitor;\n BUILDER_KEYS[type] = opts.builder = builder;\n NODE_FIELDS[type] = opts.fields = fields;\n ALIAS_KEYS[type as NodeTypesWithoutComment] = opts.aliases = aliases;\n aliases.forEach(alias => {\n FLIPPED_ALIAS_KEYS[alias] = FLIPPED_ALIAS_KEYS[alias] || [];\n FLIPPED_ALIAS_KEYS[alias].push(type as NodeTypesWithoutComment);\n });\n\n if (opts.validate) {\n NODE_PARENT_VALIDATIONS[type] = opts.validate;\n }\n\n store[type] = opts;\n}\n"],"mappings":"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"}
|
|
@@ -42,7 +42,7 @@ interface BaseNode {
|
|
|
42
42
|
extra?: Record<string, unknown>;
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
export type Node = Accessor | AnyTypeAnnotation | ArgumentPlaceholder | ArrayExpression | ArrayPattern | ArrayTypeAnnotation | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BigIntLiteral | Binary | BinaryExpression | BindExpression | Block | BlockParent | BlockStatement | BooleanLiteral | BooleanLiteralTypeAnnotation | BooleanTypeAnnotation | BreakStatement | CallExpression | CatchClause | Class | ClassAccessorProperty | ClassBody | ClassDeclaration | ClassExpression | ClassImplements | ClassMethod | ClassPrivateMethod | ClassPrivateProperty | ClassProperty | CompletionStatement | Conditional | ConditionalExpression | ContinueStatement | DebuggerStatement | DecimalLiteral | Declaration | DeclareClass | DeclareExportAllDeclaration | DeclareExportDeclaration | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareOpaqueType | DeclareTypeAlias | DeclareVariable | DeclaredPredicate | Decorator | Directive | DirectiveLiteral | DoExpression | DoWhileStatement | EmptyStatement | EmptyTypeAnnotation | EnumBody | EnumBooleanBody | EnumBooleanMember | EnumDeclaration | EnumDefaultedMember | EnumMember | EnumNumberBody | EnumNumberMember | EnumStringBody | EnumStringMember | EnumSymbolBody | ExistsTypeAnnotation | ExportAllDeclaration | ExportDeclaration | ExportDefaultDeclaration | ExportDefaultSpecifier | ExportNamedDeclaration | ExportNamespaceSpecifier | ExportSpecifier | Expression | ExpressionStatement | ExpressionWrapper | File | Flow | FlowBaseAnnotation | FlowDeclaration | FlowPredicate | FlowType | For | ForInStatement | ForOfStatement | ForStatement | ForXStatement | Function | FunctionDeclaration | FunctionExpression | FunctionParent | FunctionTypeAnnotation | FunctionTypeParam | GenericTypeAnnotation | Identifier | IfStatement | Immutable | Import | ImportAttribute | ImportDeclaration | ImportDefaultSpecifier | ImportNamespaceSpecifier | ImportSpecifier | IndexedAccessType | InferredPredicate | InterfaceDeclaration | InterfaceExtends | InterfaceTypeAnnotation | InterpreterDirective | IntersectionTypeAnnotation | JSX | JSXAttribute | JSXClosingElement | JSXClosingFragment | JSXElement | JSXEmptyExpression | JSXExpressionContainer | JSXFragment | JSXIdentifier | JSXMemberExpression | JSXNamespacedName | JSXOpeningElement | JSXOpeningFragment | JSXSpreadAttribute | JSXSpreadChild | JSXText | LVal | LabeledStatement | Literal | LogicalExpression | Loop | MemberExpression | MetaProperty | Method | Miscellaneous | MixedTypeAnnotation | ModuleDeclaration | ModuleExpression | ModuleSpecifier | NewExpression | Noop | NullLiteral | NullLiteralTypeAnnotation | NullableTypeAnnotation | NumberLiteral | NumberLiteralTypeAnnotation | NumberTypeAnnotation | NumericLiteral | ObjectExpression | ObjectMember | ObjectMethod | ObjectPattern | ObjectProperty | ObjectTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalCallExpression | OptionalIndexedAccessType | OptionalMemberExpression | ParenthesizedExpression | Pattern | PatternLike | PipelineBareFunction | PipelinePrimaryTopicReference | PipelineTopicExpression | Placeholder | Private | PrivateName | Program | Property | Pureish | QualifiedTypeIdentifier | RecordExpression | RegExpLiteral | RegexLiteral | RestElement | RestProperty | ReturnStatement | Scopable | SequenceExpression | SpreadElement | SpreadProperty | Standardized | Statement | StaticBlock | StringLiteral | StringLiteralTypeAnnotation | StringTypeAnnotation | Super | SwitchCase | SwitchStatement | SymbolTypeAnnotation | TSAnyKeyword | TSArrayType | TSAsExpression | TSBaseType | TSBigIntKeyword | TSBooleanKeyword | TSCallSignatureDeclaration | TSConditionalType | TSConstructSignatureDeclaration | TSConstructorType | TSDeclareFunction | TSDeclareMethod | TSEntityName | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSExpressionWithTypeArguments | TSExternalModuleReference | TSFunctionType | TSImportEqualsDeclaration | TSImportType | TSIndexSignature | TSIndexedAccessType | TSInferType | TSInstantiationExpression | TSInterfaceBody | TSInterfaceDeclaration | TSIntersectionType | TSIntrinsicKeyword | TSLiteralType | TSMappedType | TSMethodSignature | TSModuleBlock | TSModuleDeclaration | TSNamedTupleMember | TSNamespaceExportDeclaration | TSNeverKeyword | TSNonNullExpression | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSOptionalType | TSParameterProperty | TSParenthesizedType | TSPropertySignature | TSQualifiedName | TSRestType | TSSatisfiesExpression | TSStringKeyword | TSSymbolKeyword | TSThisType | TSTupleType | TSType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeElement | TSTypeLiteral | TSTypeOperator | TSTypeParameter | TSTypeParameterDeclaration | TSTypeParameterInstantiation | TSTypePredicate | TSTypeQuery | TSTypeReference | TSUndefinedKeyword | TSUnionType | TSUnknownKeyword | TSVoidKeyword | TaggedTemplateExpression | TemplateElement | TemplateLiteral | Terminatorless | ThisExpression | ThisTypeAnnotation | ThrowStatement | TopicReference | TryStatement | TupleExpression | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeCastExpression | TypeParameter | TypeParameterDeclaration | TypeParameterInstantiation | TypeScript | TypeofTypeAnnotation | UnaryExpression | UnaryLike | UnionTypeAnnotation | UpdateExpression | UserWhitespacable | V8IntrinsicIdentifier | VariableDeclaration | VariableDeclarator | Variance | VoidTypeAnnotation | While | WhileStatement | WithStatement | YieldExpression;
|
|
45
|
+
export type Node = Accessor | AnyTypeAnnotation | ArgumentPlaceholder | ArrayExpression | ArrayPattern | ArrayTypeAnnotation | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BigIntLiteral | Binary | BinaryExpression | BindExpression | Block | BlockParent | BlockStatement | BooleanLiteral | BooleanLiteralTypeAnnotation | BooleanTypeAnnotation | BreakStatement | CallExpression | CatchClause | Class | ClassAccessorProperty | ClassBody | ClassDeclaration | ClassExpression | ClassImplements | ClassMethod | ClassPrivateMethod | ClassPrivateProperty | ClassProperty | CompletionStatement | Conditional | ConditionalExpression | ContinueStatement | DebuggerStatement | DecimalLiteral | Declaration | DeclareClass | DeclareExportAllDeclaration | DeclareExportDeclaration | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareOpaqueType | DeclareTypeAlias | DeclareVariable | DeclaredPredicate | Decorator | Directive | DirectiveLiteral | DoExpression | DoWhileStatement | EmptyStatement | EmptyTypeAnnotation | EnumBody | EnumBooleanBody | EnumBooleanMember | EnumDeclaration | EnumDefaultedMember | EnumMember | EnumNumberBody | EnumNumberMember | EnumStringBody | EnumStringMember | EnumSymbolBody | ExistsTypeAnnotation | ExportAllDeclaration | ExportDeclaration | ExportDefaultDeclaration | ExportDefaultSpecifier | ExportNamedDeclaration | ExportNamespaceSpecifier | ExportSpecifier | Expression | ExpressionStatement | ExpressionWrapper | File | Flow | FlowBaseAnnotation | FlowDeclaration | FlowPredicate | FlowType | For | ForInStatement | ForOfStatement | ForStatement | ForXStatement | Function | FunctionDeclaration | FunctionExpression | FunctionParent | FunctionTypeAnnotation | FunctionTypeParam | GenericTypeAnnotation | Identifier | IfStatement | Immutable | Import | ImportAttribute | ImportDeclaration | ImportDefaultSpecifier | ImportNamespaceSpecifier | ImportOrExportDeclaration | ImportSpecifier | IndexedAccessType | InferredPredicate | InterfaceDeclaration | InterfaceExtends | InterfaceTypeAnnotation | InterpreterDirective | IntersectionTypeAnnotation | JSX | JSXAttribute | JSXClosingElement | JSXClosingFragment | JSXElement | JSXEmptyExpression | JSXExpressionContainer | JSXFragment | JSXIdentifier | JSXMemberExpression | JSXNamespacedName | JSXOpeningElement | JSXOpeningFragment | JSXSpreadAttribute | JSXSpreadChild | JSXText | LVal | LabeledStatement | Literal | LogicalExpression | Loop | MemberExpression | MetaProperty | Method | Miscellaneous | MixedTypeAnnotation | ModuleDeclaration | ModuleExpression | ModuleSpecifier | NewExpression | Noop | NullLiteral | NullLiteralTypeAnnotation | NullableTypeAnnotation | NumberLiteral | NumberLiteralTypeAnnotation | NumberTypeAnnotation | NumericLiteral | ObjectExpression | ObjectMember | ObjectMethod | ObjectPattern | ObjectProperty | ObjectTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalCallExpression | OptionalIndexedAccessType | OptionalMemberExpression | ParenthesizedExpression | Pattern | PatternLike | PipelineBareFunction | PipelinePrimaryTopicReference | PipelineTopicExpression | Placeholder | Private | PrivateName | Program | Property | Pureish | QualifiedTypeIdentifier | RecordExpression | RegExpLiteral | RegexLiteral | RestElement | RestProperty | ReturnStatement | Scopable | SequenceExpression | SpreadElement | SpreadProperty | Standardized | Statement | StaticBlock | StringLiteral | StringLiteralTypeAnnotation | StringTypeAnnotation | Super | SwitchCase | SwitchStatement | SymbolTypeAnnotation | TSAnyKeyword | TSArrayType | TSAsExpression | TSBaseType | TSBigIntKeyword | TSBooleanKeyword | TSCallSignatureDeclaration | TSConditionalType | TSConstructSignatureDeclaration | TSConstructorType | TSDeclareFunction | TSDeclareMethod | TSEntityName | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSExpressionWithTypeArguments | TSExternalModuleReference | TSFunctionType | TSImportEqualsDeclaration | TSImportType | TSIndexSignature | TSIndexedAccessType | TSInferType | TSInstantiationExpression | TSInterfaceBody | TSInterfaceDeclaration | TSIntersectionType | TSIntrinsicKeyword | TSLiteralType | TSMappedType | TSMethodSignature | TSModuleBlock | TSModuleDeclaration | TSNamedTupleMember | TSNamespaceExportDeclaration | TSNeverKeyword | TSNonNullExpression | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSOptionalType | TSParameterProperty | TSParenthesizedType | TSPropertySignature | TSQualifiedName | TSRestType | TSSatisfiesExpression | TSStringKeyword | TSSymbolKeyword | TSThisType | TSTupleType | TSType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeElement | TSTypeLiteral | TSTypeOperator | TSTypeParameter | TSTypeParameterDeclaration | TSTypeParameterInstantiation | TSTypePredicate | TSTypeQuery | TSTypeReference | TSUndefinedKeyword | TSUnionType | TSUnknownKeyword | TSVoidKeyword | TaggedTemplateExpression | TemplateElement | TemplateLiteral | Terminatorless | ThisExpression | ThisTypeAnnotation | ThrowStatement | TopicReference | TryStatement | TupleExpression | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeCastExpression | TypeParameter | TypeParameterDeclaration | TypeParameterInstantiation | TypeScript | TypeofTypeAnnotation | UnaryExpression | UnaryLike | UnionTypeAnnotation | UpdateExpression | UserWhitespacable | V8IntrinsicIdentifier | VariableDeclaration | VariableDeclarator | Variance | VoidTypeAnnotation | While | WhileStatement | WithStatement | YieldExpression;
|
|
46
46
|
|
|
47
47
|
export interface ArrayExpression extends BaseNode {
|
|
48
48
|
type: "ArrayExpression";
|
|
@@ -385,6 +385,7 @@ export interface AssignmentPattern extends BaseNode {
|
|
|
385
385
|
left: Identifier | ObjectPattern | ArrayPattern | MemberExpression | TSAsExpression | TSSatisfiesExpression | TSTypeAssertion | TSNonNullExpression;
|
|
386
386
|
right: Expression;
|
|
387
387
|
decorators: Array<Decorator> | null;
|
|
388
|
+
optional: boolean | null;
|
|
388
389
|
typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
|
|
389
390
|
}
|
|
390
391
|
|
|
@@ -532,6 +533,7 @@ export interface ObjectPattern extends BaseNode {
|
|
|
532
533
|
type: "ObjectPattern";
|
|
533
534
|
properties: Array<RestElement | ObjectProperty>;
|
|
534
535
|
decorators: Array<Decorator> | null;
|
|
536
|
+
optional: boolean | null;
|
|
535
537
|
typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
|
|
536
538
|
}
|
|
537
539
|
|
|
@@ -1646,6 +1648,7 @@ export interface TSTypeParameter extends BaseNode {
|
|
|
1646
1648
|
constraint: TSType | null;
|
|
1647
1649
|
default: TSType | null;
|
|
1648
1650
|
name: string;
|
|
1651
|
+
const: boolean | null;
|
|
1649
1652
|
in: boolean | null;
|
|
1650
1653
|
out: boolean | null;
|
|
1651
1654
|
}
|
|
@@ -1701,7 +1704,7 @@ export type Property = ObjectProperty | ClassProperty | ClassAccessorProperty |
|
|
|
1701
1704
|
export type UnaryLike = UnaryExpression | SpreadElement;
|
|
1702
1705
|
export type Pattern = AssignmentPattern | ArrayPattern | ObjectPattern;
|
|
1703
1706
|
export type Class = ClassExpression | ClassDeclaration;
|
|
1704
|
-
export type
|
|
1707
|
+
export type ImportOrExportDeclaration = ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ImportDeclaration;
|
|
1705
1708
|
export type ExportDeclaration = ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration;
|
|
1706
1709
|
export type ModuleSpecifier = ExportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier | ImportSpecifier | ExportNamespaceSpecifier | ExportDefaultSpecifier;
|
|
1707
1710
|
export type Accessor = ClassAccessorProperty;
|
|
@@ -1719,6 +1722,7 @@ export type TypeScript = TSParameterProperty | TSDeclareFunction | TSDeclareMeth
|
|
|
1719
1722
|
export type TSTypeElement = TSCallSignatureDeclaration | TSConstructSignatureDeclaration | TSPropertySignature | TSMethodSignature | TSIndexSignature;
|
|
1720
1723
|
export type TSType = TSAnyKeyword | TSBooleanKeyword | TSBigIntKeyword | TSIntrinsicKeyword | TSNeverKeyword | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSStringKeyword | TSSymbolKeyword | TSUndefinedKeyword | TSUnknownKeyword | TSVoidKeyword | TSThisType | TSFunctionType | TSConstructorType | TSTypeReference | TSTypePredicate | TSTypeQuery | TSTypeLiteral | TSArrayType | TSTupleType | TSOptionalType | TSRestType | TSUnionType | TSIntersectionType | TSConditionalType | TSInferType | TSParenthesizedType | TSTypeOperator | TSIndexedAccessType | TSMappedType | TSLiteralType | TSExpressionWithTypeArguments | TSImportType;
|
|
1721
1724
|
export type TSBaseType = TSAnyKeyword | TSBooleanKeyword | TSBigIntKeyword | TSIntrinsicKeyword | TSNeverKeyword | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSStringKeyword | TSSymbolKeyword | TSUndefinedKeyword | TSUnknownKeyword | TSVoidKeyword | TSThisType | TSLiteralType;
|
|
1725
|
+
export type ModuleDeclaration = ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ImportDeclaration;
|
|
1722
1726
|
|
|
1723
1727
|
export interface Aliases {
|
|
1724
1728
|
Standardized: Standardized;
|
|
@@ -1752,7 +1756,7 @@ export interface Aliases {
|
|
|
1752
1756
|
UnaryLike: UnaryLike;
|
|
1753
1757
|
Pattern: Pattern;
|
|
1754
1758
|
Class: Class;
|
|
1755
|
-
|
|
1759
|
+
ImportOrExportDeclaration: ImportOrExportDeclaration;
|
|
1756
1760
|
ExportDeclaration: ExportDeclaration;
|
|
1757
1761
|
ModuleSpecifier: ModuleSpecifier;
|
|
1758
1762
|
Accessor: Accessor;
|
|
@@ -1770,6 +1774,7 @@ export interface Aliases {
|
|
|
1770
1774
|
TSTypeElement: TSTypeElement;
|
|
1771
1775
|
TSType: TSType;
|
|
1772
1776
|
TSBaseType: TSBaseType;
|
|
1777
|
+
ModuleDeclaration: ModuleDeclaration;
|
|
1773
1778
|
}
|
|
1774
1779
|
|
|
1775
1780
|
export function arrayExpression(elements?: Array<null | Expression | SpreadElement>): ArrayExpression;
|
|
@@ -2235,6 +2240,8 @@ export function isImportDefaultSpecifier(node: object | null | undefined, opts?:
|
|
|
2235
2240
|
export function assertImportDefaultSpecifier(node: object | null | undefined, opts?: object | null): void;
|
|
2236
2241
|
export function isImportNamespaceSpecifier(node: object | null | undefined, opts?: object | null): node is ImportNamespaceSpecifier;
|
|
2237
2242
|
export function assertImportNamespaceSpecifier(node: object | null | undefined, opts?: object | null): void;
|
|
2243
|
+
export function isImportOrExportDeclaration(node: object | null | undefined, opts?: object | null): node is ImportOrExportDeclaration;
|
|
2244
|
+
export function assertImportOrExportDeclaration(node: object | null | undefined, opts?: object | null): void;
|
|
2238
2245
|
export function isImportSpecifier(node: object | null | undefined, opts?: object | null): node is ImportSpecifier;
|
|
2239
2246
|
export function assertImportSpecifier(node: object | null | undefined, opts?: object | null): void;
|
|
2240
2247
|
export function isIndexedAccessType(node: object | null | undefined, opts?: object | null): node is IndexedAccessType;
|