@jbpark/live-editor 4.5.0 → 4.6.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.
Files changed (75) hide show
  1. package/README.ko.md +4 -1
  2. package/README.md +5 -1
  3. package/dist/{boundary-DnjGgsK6.js → boundary-BLB80tyw.js} +2 -2
  4. package/dist/boundary-BLB80tyw.js.map +1 -0
  5. package/dist/cache-B0-XcIxJ.js.map +1 -1
  6. package/dist/{compile-DDfk5P25.js → compile-Dxas-D05.js} +3 -3
  7. package/dist/compile-Dxas-D05.js.map +1 -0
  8. package/dist/{constants-h1JAgOeW.js → constants-DU17Tdwo.js} +3 -3
  9. package/dist/constants-DU17Tdwo.js.map +1 -0
  10. package/dist/{context-DsEXJl4h.js → context-B8MzP7_p.js} +3 -3
  11. package/dist/context-B8MzP7_p.js.map +1 -0
  12. package/dist/{core-CRsAGpei.js → core-Bgfek364.js} +2 -2
  13. package/dist/core-Bgfek364.js.map +1 -0
  14. package/dist/{detect-typescript-CCj9ALXc.js → detect-typescript-Dr_oLniM.js} +2 -2
  15. package/dist/detect-typescript-Dr_oLniM.js.map +1 -0
  16. package/dist/dnd/index.d.ts +1 -1
  17. package/dist/dnd/index.js +1 -1
  18. package/dist/{dnd-DGNp20Nk.js → dnd-V8NAxd_R.js} +435 -413
  19. package/dist/dnd-V8NAxd_R.js.map +1 -0
  20. package/dist/document-CHO215iP.js +33992 -0
  21. package/dist/document-CHO215iP.js.map +1 -0
  22. package/dist/{document-Ct4jW78J.d.ts → document-DqRSCtsx.d.ts} +496 -435
  23. package/dist/editor/index.js +2 -2
  24. package/dist/{editor-DQ8Q--qR.js → editor-CMElfHer.js} +2 -2
  25. package/dist/editor-CMElfHer.js.map +1 -0
  26. package/dist/editor-caches-ClMvdcQF.js.map +1 -1
  27. package/dist/error/index.d.ts +1 -1
  28. package/dist/error/index.js +2 -2
  29. package/dist/{error-DwqwjJ2C.js → error-CN_GCnXB.js} +3 -3
  30. package/dist/{error-DwqwjJ2C.js.map → error-CN_GCnXB.js.map} +1 -1
  31. package/dist/{index-vtyggWy0.d.ts → index-CRwEhJ7w.d.ts} +2 -2
  32. package/dist/index-C_PfR4X9.d.ts +734 -0
  33. package/dist/{index-P9Aifaui.d.ts → index-CiWB0zFb.d.ts} +72 -70
  34. package/dist/{index-WQgFy510.d.ts → index-DrWtSKXu.d.ts} +2 -2
  35. package/dist/index.d.ts +5 -5
  36. package/dist/index.js +6 -6
  37. package/dist/{items-DdrwGxJw.js → items-BXXtMUNI.js} +307 -390
  38. package/dist/items-BXXtMUNI.js.map +1 -0
  39. package/dist/{messages-CzUPVnzH.js → messages-CSrMI4Rm.js} +2 -1
  40. package/dist/messages-CSrMI4Rm.js.map +1 -0
  41. package/dist/{messages-Cp3g1mn1.d.ts → messages-IBPs4TkZ.d.ts} +2 -1
  42. package/dist/preview/index.js +2 -2
  43. package/dist/{preview-BKFgq_5u.js → preview-CtyG5UbH.js} +4 -4
  44. package/dist/{preview-BKFgq_5u.js.map → preview-CtyG5UbH.js.map} +1 -1
  45. package/dist/provider/index.d.ts +2 -2
  46. package/dist/provider/index.js +2 -2
  47. package/dist/{sections-BRH3KHYc.js → sections-jYuqS4KB.js} +3 -3
  48. package/dist/sections-jYuqS4KB.js.map +1 -0
  49. package/dist/states-Ci1AvoQ9.js.map +1 -1
  50. package/dist/{use-dynamic-tailwind-T9r9ExbR.js → use-dynamic-tailwind-BP1toJkW.js} +59 -39
  51. package/dist/use-dynamic-tailwind-BP1toJkW.js.map +1 -0
  52. package/dist/utils/ast/index.d.ts +2 -2
  53. package/dist/utils/ast/index.js +84 -2
  54. package/dist/utils/ast/index.js.map +1 -1
  55. package/dist/utils/index.d.ts +1 -1
  56. package/dist/utils/index.js +4 -4
  57. package/dist/utils/index.js.map +1 -1
  58. package/dist/utils/tailwind/index.js.map +1 -1
  59. package/dist/validate-iLo8IONY.js.map +1 -1
  60. package/package.json +5 -7
  61. package/dist/boundary-DnjGgsK6.js.map +0 -1
  62. package/dist/compile-DDfk5P25.js.map +0 -1
  63. package/dist/constants-h1JAgOeW.js.map +0 -1
  64. package/dist/context-DsEXJl4h.js.map +0 -1
  65. package/dist/core-CRsAGpei.js.map +0 -1
  66. package/dist/detect-typescript-CCj9ALXc.js.map +0 -1
  67. package/dist/dnd-DGNp20Nk.js.map +0 -1
  68. package/dist/document-DGHTfrda.js +0 -38667
  69. package/dist/document-DGHTfrda.js.map +0 -1
  70. package/dist/editor-DQ8Q--qR.js.map +0 -1
  71. package/dist/index-CHknA6k1.d.ts +0 -221
  72. package/dist/items-DdrwGxJw.js.map +0 -1
  73. package/dist/messages-CzUPVnzH.js.map +0 -1
  74. package/dist/sections-BRH3KHYc.js.map +0 -1
  75. package/dist/use-dynamic-tailwind-T9r9ExbR.js.map +0 -1
@@ -1,13 +1,17 @@
1
- //#region node_modules/.pnpm/@babel+types@7.29.8/node_modules/@babel/types/lib/index-legacy.d.ts
2
- // NOTE: This file is autogenerated. Do not modify.
3
- // See packages/babel-types/scripts/generators/typescript-legacy.ts for script used.
1
+ //#region node_modules/.pnpm/@babel+types@8.0.6/node_modules/@babel/types/lib/index.d.ts
4
2
  interface BaseComment {
5
3
  value: string;
6
- start: number;
7
- end: number;
8
- loc: SourceLocation;
4
+ start?: number;
5
+ end?: number;
6
+ loc?: SourceLocation;
7
+ ignore?: boolean;
9
8
  type: "CommentBlock" | "CommentLine";
10
9
  }
10
+ interface Position {
11
+ line: number;
12
+ column: number;
13
+ index: number;
14
+ }
11
15
  interface CommentBlock extends BaseComment {
12
16
  type: "CommentBlock";
13
17
  }
@@ -16,42 +20,45 @@ interface CommentLine extends BaseComment {
16
20
  }
17
21
  type Comment = CommentBlock | CommentLine;
18
22
  interface SourceLocation {
19
- start: {
20
- line: number;
21
- column: number;
22
- };
23
- end: {
24
- line: number;
25
- column: number;
26
- };
23
+ start: Position;
24
+ end: Position;
25
+ filename: string | undefined;
26
+ identifierName: string | undefined | null;
27
27
  }
28
28
  interface BaseNode {
29
- leadingComments: ReadonlyArray<Comment> | null;
30
- innerComments: ReadonlyArray<Comment> | null;
31
- trailingComments: ReadonlyArray<Comment> | null;
32
- start: number | null;
33
- end: number | null;
34
- loc: SourceLocation | null;
35
- type: Node["type"];
29
+ leadingComments?: Comment[] | null;
30
+ innerComments?: Comment[] | null;
31
+ trailingComments?: Comment[] | null;
32
+ start?: number | null;
33
+ end?: number | null;
34
+ loc?: SourceLocation | null;
35
+ range?: [number, number];
36
36
  extra?: Record<string, unknown>;
37
37
  }
38
- 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 | FunctionParameter | FunctionParent | FunctionTypeAnnotation | FunctionTypeParam | GenericTypeAnnotation | Identifier | IfStatement | Immutable | Import | ImportAttribute | ImportDeclaration | ImportDefaultSpecifier | ImportExpression | 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 | TSEnumBody | 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 | TSTemplateLiteralType | 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 | VoidPattern | VoidTypeAnnotation | While | WhileStatement | WithStatement | YieldExpression;
38
+ type Node = AnyTypeAnnotation | ArgumentPlaceholder | ArrayExpression | ArrayPattern | ArrayTypeAnnotation | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BigIntLiteral | BigIntLiteralTypeAnnotation | BinaryExpression | BindExpression | BlockStatement | BooleanLiteral | BooleanLiteralTypeAnnotation | BooleanTypeAnnotation | BreakStatement | CallExpression | CatchClause | ClassAccessorProperty | ClassBody | ClassDeclaration | ClassExpression | ClassImplements | ClassMethod | ClassPrivateMethod | ClassPrivateProperty | ClassProperty | ConditionalExpression | ContinueStatement | DebuggerStatement | DeclareClass | DeclareExportAllDeclaration | DeclareExportDeclaration | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareOpaqueType | DeclareTypeAlias | DeclareVariable | DeclaredPredicate | Decorator | Directive | DirectiveLiteral | DoExpression | DoWhileStatement | EmptyStatement | EmptyTypeAnnotation | EnumBooleanBody | EnumBooleanMember | EnumDeclaration | EnumDefaultedMember | EnumNumberBody | EnumNumberMember | EnumStringBody | EnumStringMember | EnumSymbolBody | ExistsTypeAnnotation | ExportAllDeclaration | ExportDefaultDeclaration | ExportDefaultSpecifier | ExportNamedDeclaration | ExportNamespaceSpecifier | ExportSpecifier | ExpressionStatement | File | ForInStatement | ForOfStatement | ForStatement | FunctionDeclaration | FunctionExpression | FunctionTypeAnnotation | FunctionTypeParam | GenericTypeAnnotation | Identifier | IfStatement | Import | ImportAttribute | ImportDeclaration | ImportDefaultSpecifier | ImportExpression | ImportNamespaceSpecifier | ImportSpecifier | IndexedAccessType | InferredPredicate | InterfaceDeclaration | InterfaceExtends | InterfaceTypeAnnotation | InterpreterDirective | IntersectionTypeAnnotation | JSXAttribute | JSXClosingElement | JSXClosingFragment | JSXElement | JSXEmptyExpression | JSXExpressionContainer | JSXFragment | JSXIdentifier | JSXMemberExpression | JSXNamespacedName | JSXOpeningElement | JSXOpeningFragment | JSXSpreadAttribute | JSXSpreadChild | JSXText | LabeledStatement | LogicalExpression | MemberExpression | MetaProperty | MixedTypeAnnotation | ModuleExpression | NewExpression | NullLiteral | NullLiteralTypeAnnotation | NullableTypeAnnotation | NumberLiteral$1 | NumberLiteralTypeAnnotation | NumberTypeAnnotation | NumericLiteral | ObjectExpression | ObjectMethod | ObjectPattern | ObjectProperty | ObjectTypeAnnotation | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeInternalSlot | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | OptionalCallExpression | OptionalIndexedAccessType | OptionalMemberExpression | ParenthesizedExpression | Placeholder | PrivateName | Program | QualifiedTypeIdentifier | RegExpLiteral | RegexLiteral$1 | RestElement | RestProperty$1 | ReturnStatement | SequenceExpression | SpreadElement | SpreadProperty$1 | StaticBlock | StringLiteral | StringLiteralTypeAnnotation | StringTypeAnnotation | Super | SwitchCase | SwitchStatement | SymbolTypeAnnotation | TSAnyKeyword | TSArrayType | TSAsExpression | TSBigIntKeyword | TSBooleanKeyword | TSCallSignatureDeclaration | TSClassImplements | TSConditionalType | TSConstructSignatureDeclaration | TSConstructorType | TSDeclareFunction | TSDeclareMethod | TSEnumBody | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSExternalModuleReference | TSFunctionType | TSImportEqualsDeclaration | TSImportType | TSIndexSignature | TSIndexedAccessType | TSInferType | TSInstantiationExpression | TSInterfaceBody | TSInterfaceDeclaration | TSInterfaceHeritage | TSIntersectionType | TSIntrinsicKeyword | TSLiteralType | TSMappedType | TSMethodSignature | TSModuleBlock | TSModuleDeclaration | TSNamedTupleMember | TSNamespaceExportDeclaration | TSNeverKeyword | TSNonNullExpression | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSOptionalType | TSParameterProperty | TSParenthesizedType | TSPropertySignature | TSQualifiedName | TSRestType | TSSatisfiesExpression | TSStringKeyword | TSSymbolKeyword | TSTemplateLiteralType | TSThisType | TSTupleType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeLiteral | TSTypeOperator | TSTypeParameter | TSTypeParameterDeclaration | TSTypeParameterInstantiation | TSTypePredicate | TSTypeQuery | TSTypeReference | TSUndefinedKeyword | TSUnionType | TSUnknownKeyword | TSVoidKeyword | TaggedTemplateExpression | TemplateElement | TemplateLiteral | ThisExpression | ThisTypeAnnotation | ThrowStatement | TopicReference | TryStatement | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeCastExpression | TypeParameter | TypeParameterDeclaration | TypeParameterInstantiation | TypeofTypeAnnotation | UnaryExpression | UnionTypeAnnotation | UpdateExpression | V8IntrinsicIdentifier | VariableDeclaration | VariableDeclarator | Variance | VoidPattern | VoidTypeAnnotation | WhileStatement | WithStatement | YieldExpression;
39
39
  interface ArrayExpression extends BaseNode {
40
40
  type: "ArrayExpression";
41
41
  elements: (null | Expression | SpreadElement)[];
42
42
  }
43
43
  interface AssignmentExpression extends BaseNode {
44
44
  type: "AssignmentExpression";
45
- operator: string;
46
- left: LVal | OptionalMemberExpression;
45
+ operator: "=" | "+=" | "-=" | "/=" | "%=" | "*=" | "**=" | "&=" | "|=" | ">>=" | ">>>=" | "<<=" | "^=" | "||=" | "&&=" | "??=";
46
+ left: Identifier | MemberExpression | OptionalMemberExpression | ArrayPattern | ObjectPattern | TSAsExpression | TSSatisfiesExpression | TSTypeAssertion | TSNonNullExpression;
47
47
  right: Expression;
48
48
  }
49
- interface BinaryExpression extends BaseNode {
49
+ interface BinaryExpressionIn extends BaseNode {
50
50
  type: "BinaryExpression";
51
- operator: "+" | "-" | "/" | "%" | "*" | "**" | "&" | "|" | ">>" | ">>>" | "<<" | "^" | "==" | "===" | "!=" | "!==" | "in" | "instanceof" | ">" | "<" | ">=" | "<=" | "|>";
51
+ right: Expression;
52
+ operator: "in";
52
53
  left: Expression | PrivateName;
54
+ }
55
+ interface BinaryExpressionNotIn extends BaseNode {
56
+ type: "BinaryExpression";
53
57
  right: Expression;
58
+ operator: "+" | "-" | "/" | "%" | "*" | "**" | "&" | "|" | ">>" | ">>>" | "<<" | "^" | "==" | "===" | "!=" | "!==" | "instanceof" | ">" | "<" | ">=" | "<=" | "|>";
59
+ left: Expression;
54
60
  }
61
+ type BinaryExpression = BinaryExpressionIn | BinaryExpressionNotIn;
55
62
  interface InterpreterDirective extends BaseNode {
56
63
  type: "InterpreterDirective";
57
64
  value: string;
@@ -71,19 +78,17 @@ interface BlockStatement extends BaseNode {
71
78
  }
72
79
  interface BreakStatement extends BaseNode {
73
80
  type: "BreakStatement";
74
- label: Identifier | null;
81
+ label?: Identifier | null;
75
82
  }
76
83
  interface CallExpression extends BaseNode {
77
84
  type: "CallExpression";
78
- callee: Expression | Super | V8IntrinsicIdentifier;
85
+ callee: Expression | Super | Import | V8IntrinsicIdentifier;
79
86
  arguments: (Expression | SpreadElement | ArgumentPlaceholder)[];
80
- optional: boolean | null;
81
- typeArguments: TypeParameterInstantiation | null;
82
- typeParameters: TSTypeParameterInstantiation | null;
87
+ typeArguments?: TypeParameterInstantiation | TSTypeParameterInstantiation | null;
83
88
  }
84
89
  interface CatchClause extends BaseNode {
85
90
  type: "CatchClause";
86
- param: Identifier | ArrayPattern | ObjectPattern | null;
91
+ param?: Identifier | ArrayPattern | ObjectPattern | null;
87
92
  body: BlockStatement;
88
93
  }
89
94
  interface ConditionalExpression extends BaseNode {
@@ -94,7 +99,7 @@ interface ConditionalExpression extends BaseNode {
94
99
  }
95
100
  interface ContinueStatement extends BaseNode {
96
101
  type: "ContinueStatement";
97
- label: Identifier | null;
102
+ label?: Identifier | null;
98
103
  }
99
104
  interface DebuggerStatement extends BaseNode {
100
105
  type: "DebuggerStatement";
@@ -114,57 +119,57 @@ interface ExpressionStatement extends BaseNode {
114
119
  interface File extends BaseNode {
115
120
  type: "File";
116
121
  program: Program;
117
- comments: (CommentBlock | CommentLine)[] | null;
118
- tokens: any[] | null;
122
+ comments?: (CommentBlock | CommentLine)[] | null;
123
+ tokens?: any[] | null;
119
124
  }
120
125
  interface ForInStatement extends BaseNode {
121
126
  type: "ForInStatement";
122
- left: VariableDeclaration | LVal;
127
+ left: VariableDeclaration | Identifier | MemberExpression | ArrayPattern | ObjectPattern | TSAsExpression | TSSatisfiesExpression | TSTypeAssertion | TSNonNullExpression;
123
128
  right: Expression;
124
129
  body: Statement;
125
130
  }
126
131
  interface ForStatement extends BaseNode {
127
132
  type: "ForStatement";
128
- init: VariableDeclaration | Expression | null;
129
- test: Expression | null;
130
- update: Expression | null;
133
+ init?: VariableDeclaration | Expression | null;
134
+ test?: Expression | null;
135
+ update?: Expression | null;
131
136
  body: Statement;
132
137
  }
133
138
  interface FunctionDeclaration extends BaseNode {
134
139
  type: "FunctionDeclaration";
135
- id: Identifier | null;
140
+ id?: Identifier | null;
136
141
  params: FunctionParameter[];
137
142
  body: BlockStatement;
138
143
  generator: boolean;
139
144
  async: boolean;
140
- declare: boolean | null;
141
- predicate: DeclaredPredicate | InferredPredicate | null;
142
- returnType: TypeAnnotation | TSTypeAnnotation | Noop | null;
143
- typeParameters: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
145
+ declare?: boolean | null;
146
+ predicate?: FlowPredicate | null;
147
+ returnType?: TypeAnnotation | TSTypeAnnotation | null;
148
+ typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | null;
144
149
  }
145
150
  interface FunctionExpression extends BaseNode {
146
151
  type: "FunctionExpression";
147
- id: Identifier | null;
152
+ id?: Identifier | null;
148
153
  params: FunctionParameter[];
149
154
  body: BlockStatement;
150
155
  generator: boolean;
151
156
  async: boolean;
152
- predicate: DeclaredPredicate | InferredPredicate | null;
153
- returnType: TypeAnnotation | TSTypeAnnotation | Noop | null;
154
- typeParameters: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
157
+ predicate?: FlowPredicate | null;
158
+ returnType?: TypeAnnotation | TSTypeAnnotation | null;
159
+ typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | null;
155
160
  }
156
161
  interface Identifier extends BaseNode {
157
162
  type: "Identifier";
158
163
  name: string;
159
- decorators: Decorator[] | null;
160
- optional: boolean | null;
161
- typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
164
+ decorators?: Decorator[] | null;
165
+ optional?: boolean | null;
166
+ typeAnnotation?: TypeAnnotation | TSTypeAnnotation | null;
162
167
  }
163
168
  interface IfStatement extends BaseNode {
164
169
  type: "IfStatement";
165
170
  test: Expression;
166
171
  consequent: Statement;
167
- alternate: Statement | null;
172
+ alternate?: Statement | null;
168
173
  }
169
174
  interface LabeledStatement extends BaseNode {
170
175
  type: "LabeledStatement";
@@ -179,6 +184,13 @@ interface NumericLiteral extends BaseNode {
179
184
  type: "NumericLiteral";
180
185
  value: number;
181
186
  }
187
+ /**
188
+ * @deprecated Use `NumericLiteral`
189
+ */
190
+ interface NumberLiteral$1 extends BaseNode {
191
+ type: "NumberLiteral";
192
+ value: number;
193
+ }
182
194
  interface NullLiteral extends BaseNode {
183
195
  type: "NullLiteral";
184
196
  }
@@ -191,68 +203,114 @@ interface RegExpLiteral extends BaseNode {
191
203
  pattern: string;
192
204
  flags: string;
193
205
  }
206
+ /**
207
+ * @deprecated Use `RegExpLiteral`
208
+ */
209
+ interface RegexLiteral$1 extends BaseNode {
210
+ type: "RegexLiteral";
211
+ pattern: string;
212
+ flags: string;
213
+ }
194
214
  interface LogicalExpression extends BaseNode {
195
215
  type: "LogicalExpression";
196
216
  operator: "||" | "&&" | "??";
197
217
  left: Expression;
198
218
  right: Expression;
199
219
  }
200
- interface MemberExpression extends BaseNode {
220
+ interface MemberExpressionComputed extends BaseNode {
201
221
  type: "MemberExpression";
202
222
  object: Expression | Super;
203
- property: Expression | Identifier | PrivateName;
204
- computed: boolean;
205
- optional: boolean | null;
223
+ computed: true;
224
+ property: Expression;
225
+ }
226
+ interface MemberExpressionNonComputed extends BaseNode {
227
+ type: "MemberExpression";
228
+ object: Expression | Super;
229
+ computed: false;
230
+ property: Identifier | PrivateName;
206
231
  }
232
+ type MemberExpression = MemberExpressionComputed | MemberExpressionNonComputed;
207
233
  interface NewExpression extends BaseNode {
208
234
  type: "NewExpression";
209
- callee: Expression;
235
+ callee: Expression | V8IntrinsicIdentifier;
210
236
  arguments: (Expression | SpreadElement | ArgumentPlaceholder)[];
211
- typeArguments: TypeParameterInstantiation | TSTypeParameterInstantiation | null;
212
- typeParameters: any;
237
+ typeArguments?: TypeParameterInstantiation | TSTypeParameterInstantiation | null;
213
238
  }
214
239
  interface Program extends BaseNode {
215
240
  type: "Program";
216
241
  body: Statement[];
217
242
  directives: Directive[];
218
243
  sourceType: "script" | "module";
219
- interpreter: InterpreterDirective | null;
244
+ interpreter?: InterpreterDirective | null;
220
245
  }
221
246
  interface ObjectExpression extends BaseNode {
222
247
  type: "ObjectExpression";
223
248
  properties: (ObjectMethod | ObjectProperty | SpreadElement)[];
224
249
  }
225
- interface ObjectMethod extends BaseNode {
250
+ interface ObjectMethodComputed extends BaseNode {
226
251
  type: "ObjectMethod";
227
252
  kind: "method" | "get" | "set";
228
- key: Expression | Identifier | StringLiteral | NumericLiteral | BigIntLiteral;
229
253
  params: FunctionParameter[];
230
254
  body: BlockStatement;
231
- computed: boolean;
232
255
  generator: boolean;
233
256
  async: boolean;
234
- decorators: Decorator[] | null;
235
- returnType: TypeAnnotation | TSTypeAnnotation | Noop | null;
236
- typeParameters: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
257
+ decorators?: Decorator[] | null;
258
+ returnType?: TypeAnnotation | TSTypeAnnotation | null;
259
+ typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | null;
260
+ computed: true;
261
+ key: Expression;
237
262
  }
238
- interface ObjectProperty extends BaseNode {
263
+ interface ObjectMethodNonComputed extends BaseNode {
264
+ type: "ObjectMethod";
265
+ kind: "method" | "get" | "set";
266
+ params: FunctionParameter[];
267
+ body: BlockStatement;
268
+ generator: boolean;
269
+ async: boolean;
270
+ decorators?: Decorator[] | null;
271
+ returnType?: TypeAnnotation | TSTypeAnnotation | null;
272
+ typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | null;
273
+ computed: false;
274
+ key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral;
275
+ }
276
+ type ObjectMethod = ObjectMethodComputed | ObjectMethodNonComputed;
277
+ interface ObjectPropertyComputed extends BaseNode {
278
+ type: "ObjectProperty";
279
+ value: Expression | PatternLike;
280
+ shorthand: boolean;
281
+ decorators?: Decorator[] | null;
282
+ computed: true;
283
+ key: Expression;
284
+ }
285
+ interface ObjectPropertyNonComputed extends BaseNode {
239
286
  type: "ObjectProperty";
240
- key: Expression | Identifier | StringLiteral | NumericLiteral | BigIntLiteral | DecimalLiteral | PrivateName;
241
287
  value: Expression | PatternLike;
242
- computed: boolean;
243
288
  shorthand: boolean;
244
- decorators: Decorator[] | null;
289
+ decorators?: Decorator[] | null;
290
+ computed: false;
291
+ key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | PrivateName;
245
292
  }
293
+ type ObjectProperty = ObjectPropertyComputed | ObjectPropertyNonComputed;
246
294
  interface RestElement extends BaseNode {
247
295
  type: "RestElement";
248
- argument: Identifier | ArrayPattern | ObjectPattern | MemberExpression | TSAsExpression | TSSatisfiesExpression | TSTypeAssertion | TSNonNullExpression | RestElement | AssignmentPattern;
249
- decorators: Decorator[] | null;
250
- optional: boolean | null;
251
- typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
296
+ argument: Identifier | ArrayPattern | ObjectPattern | MemberExpression | TSAsExpression | TSSatisfiesExpression | TSTypeAssertion | TSNonNullExpression;
297
+ decorators?: Decorator[] | null;
298
+ optional?: boolean | null;
299
+ typeAnnotation?: TypeAnnotation | TSTypeAnnotation | null;
300
+ }
301
+ /**
302
+ * @deprecated Use `RestElement`
303
+ */
304
+ interface RestProperty$1 extends BaseNode {
305
+ type: "RestProperty";
306
+ argument: Identifier | ArrayPattern | ObjectPattern | MemberExpression | TSAsExpression | TSSatisfiesExpression | TSTypeAssertion | TSNonNullExpression;
307
+ decorators?: Decorator[] | null;
308
+ optional?: boolean | null;
309
+ typeAnnotation?: TypeAnnotation | TSTypeAnnotation | null;
252
310
  }
253
311
  interface ReturnStatement extends BaseNode {
254
312
  type: "ReturnStatement";
255
- argument: Expression | null;
313
+ argument?: Expression | null;
256
314
  }
257
315
  interface SequenceExpression extends BaseNode {
258
316
  type: "SequenceExpression";
@@ -264,7 +322,7 @@ interface ParenthesizedExpression extends BaseNode {
264
322
  }
265
323
  interface SwitchCase extends BaseNode {
266
324
  type: "SwitchCase";
267
- test: Expression | null;
325
+ test?: Expression | null;
268
326
  consequent: Statement[];
269
327
  }
270
328
  interface SwitchStatement extends BaseNode {
@@ -282,8 +340,8 @@ interface ThrowStatement extends BaseNode {
282
340
  interface TryStatement extends BaseNode {
283
341
  type: "TryStatement";
284
342
  block: BlockStatement;
285
- handler: CatchClause | null;
286
- finalizer: BlockStatement | null;
343
+ handler?: CatchClause | null;
344
+ finalizer?: BlockStatement | null;
287
345
  }
288
346
  interface UnaryExpression extends BaseNode {
289
347
  type: "UnaryExpression";
@@ -294,20 +352,20 @@ interface UnaryExpression extends BaseNode {
294
352
  interface UpdateExpression extends BaseNode {
295
353
  type: "UpdateExpression";
296
354
  operator: "++" | "--";
297
- argument: Expression;
355
+ argument: Identifier | MemberExpression;
298
356
  prefix: boolean;
299
357
  }
300
358
  interface VariableDeclaration extends BaseNode {
301
359
  type: "VariableDeclaration";
302
360
  kind: "var" | "let" | "const" | "using" | "await using";
303
361
  declarations: VariableDeclarator[];
304
- declare: boolean | null;
362
+ declare?: boolean | null;
305
363
  }
306
364
  interface VariableDeclarator extends BaseNode {
307
365
  type: "VariableDeclarator";
308
- id: LVal | VoidPattern;
309
- init: Expression | null;
310
- definite: boolean | null;
366
+ id: Identifier | ArrayPattern | ObjectPattern | VoidPattern;
367
+ init?: Expression | null;
368
+ definite?: boolean | null;
311
369
  }
312
370
  interface WhileStatement extends BaseNode {
313
371
  type: "WhileStatement";
@@ -323,27 +381,27 @@ interface AssignmentPattern extends BaseNode {
323
381
  type: "AssignmentPattern";
324
382
  left: Identifier | ObjectPattern | ArrayPattern | MemberExpression | TSAsExpression | TSSatisfiesExpression | TSTypeAssertion | TSNonNullExpression;
325
383
  right: Expression;
326
- decorators: Decorator[] | null;
327
- optional: boolean | null;
328
- typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
384
+ decorators?: Decorator[] | null;
385
+ optional?: boolean | null;
386
+ typeAnnotation?: TypeAnnotation | TSTypeAnnotation | null;
329
387
  }
330
388
  interface ArrayPattern extends BaseNode {
331
389
  type: "ArrayPattern";
332
390
  elements: (null | PatternLike)[];
333
- decorators: Decorator[] | null;
334
- optional: boolean | null;
335
- typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
391
+ decorators?: Decorator[] | null;
392
+ optional?: boolean | null;
393
+ typeAnnotation?: TypeAnnotation | TSTypeAnnotation | null;
336
394
  }
337
395
  interface ArrowFunctionExpression extends BaseNode {
338
396
  type: "ArrowFunctionExpression";
339
397
  params: FunctionParameter[];
340
398
  body: BlockStatement | Expression;
341
399
  async: boolean;
342
- expression: boolean;
343
- generator: boolean;
344
- predicate: DeclaredPredicate | InferredPredicate | null;
345
- returnType: TypeAnnotation | TSTypeAnnotation | Noop | null;
346
- typeParameters: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
400
+ expression?: boolean | null;
401
+ generator?: boolean | null;
402
+ predicate?: FlowPredicate | null;
403
+ returnType?: TypeAnnotation | TSTypeAnnotation | null;
404
+ typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | null;
347
405
  }
348
406
  interface ClassBody extends BaseNode {
349
407
  type: "ClassBody";
@@ -351,58 +409,56 @@ interface ClassBody extends BaseNode {
351
409
  }
352
410
  interface ClassExpression extends BaseNode {
353
411
  type: "ClassExpression";
354
- id: Identifier | null;
355
- superClass: Expression | null;
412
+ id?: Identifier | null;
413
+ superClass?: Expression | null;
356
414
  body: ClassBody;
357
- decorators: Decorator[] | null;
358
- implements: (TSExpressionWithTypeArguments | ClassImplements)[] | null;
359
- mixins: InterfaceExtends | null;
360
- superTypeParameters: TypeParameterInstantiation | TSTypeParameterInstantiation | null;
361
- typeParameters: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
415
+ decorators?: Decorator[] | null;
416
+ implements?: (TSClassImplements | ClassImplements)[] | null;
417
+ mixins?: InterfaceExtends | null;
418
+ superTypeArguments?: TypeParameterInstantiation | TSTypeParameterInstantiation | null;
419
+ typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | null;
362
420
  }
363
421
  interface ClassDeclaration extends BaseNode {
364
422
  type: "ClassDeclaration";
365
- id: Identifier | null;
366
- superClass: Expression | null;
423
+ id?: Identifier | null;
424
+ superClass?: Expression | null;
367
425
  body: ClassBody;
368
- decorators: Decorator[] | null;
369
- abstract: boolean | null;
370
- declare: boolean | null;
371
- implements: (TSExpressionWithTypeArguments | ClassImplements)[] | null;
372
- mixins: InterfaceExtends | null;
373
- superTypeParameters: TypeParameterInstantiation | TSTypeParameterInstantiation | null;
374
- typeParameters: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
426
+ decorators?: Decorator[] | null;
427
+ abstract?: boolean | null;
428
+ declare?: boolean | null;
429
+ implements?: (TSClassImplements | ClassImplements)[] | null;
430
+ mixins?: InterfaceExtends | null;
431
+ superTypeArguments?: TypeParameterInstantiation | TSTypeParameterInstantiation | null;
432
+ typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | null;
375
433
  }
376
434
  interface ExportAllDeclaration extends BaseNode {
377
435
  type: "ExportAllDeclaration";
378
436
  source: StringLiteral;
379
- attributes: ImportAttribute[] | null;
380
- assertions: ImportAttribute[] | null;
381
- exportKind: "type" | "value" | null;
437
+ attributes?: ImportAttribute[] | null;
438
+ exportKind?: "type" | "value" | null;
382
439
  }
383
440
  interface ExportDefaultDeclaration extends BaseNode {
384
441
  type: "ExportDefaultDeclaration";
385
- declaration: TSDeclareFunction | FunctionDeclaration | ClassDeclaration | Expression;
386
- exportKind: "value" | null;
442
+ declaration: FunctionDeclaration | ClassDeclaration | Expression | TSDeclareFunction | TSInterfaceDeclaration | EnumDeclaration;
443
+ exportKind?: "value" | null;
387
444
  }
388
445
  interface ExportNamedDeclaration extends BaseNode {
389
446
  type: "ExportNamedDeclaration";
390
- declaration: Declaration | null;
447
+ declaration?: VariableDeclaration | FunctionDeclaration | ClassDeclaration | TSDeclareFunction | TSEnumDeclaration | TSImportEqualsDeclaration | TSInterfaceDeclaration | TSModuleDeclaration | TSTypeAliasDeclaration | EnumDeclaration | InterfaceDeclaration | OpaqueType | TypeAlias | null;
391
448
  specifiers: (ExportSpecifier | ExportDefaultSpecifier | ExportNamespaceSpecifier)[];
392
- source: StringLiteral | null;
393
- attributes: ImportAttribute[] | null;
394
- assertions: ImportAttribute[] | null;
395
- exportKind: "type" | "value" | null;
449
+ source?: StringLiteral | null;
450
+ attributes?: ImportAttribute[] | null;
451
+ exportKind?: "type" | "value" | null;
396
452
  }
397
453
  interface ExportSpecifier extends BaseNode {
398
454
  type: "ExportSpecifier";
399
- local: Identifier;
455
+ local: Identifier | StringLiteral;
400
456
  exported: Identifier | StringLiteral;
401
- exportKind: "type" | "value" | null;
457
+ exportKind?: "type" | "value" | null;
402
458
  }
403
459
  interface ForOfStatement extends BaseNode {
404
460
  type: "ForOfStatement";
405
- left: VariableDeclaration | LVal;
461
+ left: VariableDeclaration | Identifier | MemberExpression | ArrayPattern | ObjectPattern | TSAsExpression | TSSatisfiesExpression | TSTypeAssertion | TSNonNullExpression;
406
462
  right: Expression;
407
463
  body: Statement;
408
464
  await: boolean;
@@ -411,11 +467,10 @@ interface ImportDeclaration extends BaseNode {
411
467
  type: "ImportDeclaration";
412
468
  specifiers: (ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier)[];
413
469
  source: StringLiteral;
414
- attributes: ImportAttribute[] | null;
415
- assertions: ImportAttribute[] | null;
416
- importKind: "type" | "typeof" | "value" | null;
417
- module: boolean | null;
418
- phase: "source" | "defer" | null;
470
+ attributes?: ImportAttribute[] | null;
471
+ importKind?: "type" | "typeof" | "value" | null;
472
+ module?: boolean | null;
473
+ phase?: "source" | "defer" | null;
419
474
  }
420
475
  interface ImportDefaultSpecifier extends BaseNode {
421
476
  type: "ImportDefaultSpecifier";
@@ -429,49 +484,70 @@ interface ImportSpecifier extends BaseNode {
429
484
  type: "ImportSpecifier";
430
485
  local: Identifier;
431
486
  imported: Identifier | StringLiteral;
432
- importKind: "type" | "typeof" | "value" | null;
433
- }
434
- interface ImportExpression extends BaseNode {
435
- type: "ImportExpression";
436
- source: Expression;
437
- options: Expression | null;
438
- phase: "source" | "defer" | null;
487
+ importKind?: "type" | "typeof" | "value" | null;
439
488
  }
440
489
  interface MetaProperty extends BaseNode {
441
490
  type: "MetaProperty";
442
491
  meta: Identifier;
443
492
  property: Identifier;
444
493
  }
445
- interface ClassMethod extends BaseNode {
494
+ interface ClassMethodComputed extends BaseNode {
446
495
  type: "ClassMethod";
447
496
  kind: "get" | "set" | "method" | "constructor";
448
- key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression;
449
497
  params: (FunctionParameter | TSParameterProperty)[];
450
498
  body: BlockStatement;
451
- computed: boolean;
452
499
  static: boolean;
453
500
  generator: boolean;
454
501
  async: boolean;
455
- abstract: boolean | null;
456
- access: "public" | "private" | "protected" | null;
457
- accessibility: "public" | "private" | "protected" | null;
458
- decorators: Decorator[] | null;
459
- optional: boolean | null;
460
- override: boolean;
461
- returnType: TypeAnnotation | TSTypeAnnotation | Noop | null;
462
- typeParameters: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
502
+ abstract?: boolean | null;
503
+ access?: "public" | "private" | "protected" | null;
504
+ accessibility?: "public" | "private" | "protected" | null;
505
+ decorators?: Decorator[] | null;
506
+ optional?: boolean | null;
507
+ override?: boolean | null;
508
+ returnType?: TypeAnnotation | TSTypeAnnotation | null;
509
+ typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | null;
510
+ computed: true;
511
+ key: Expression;
463
512
  }
513
+ interface ClassMethodNonComputed extends BaseNode {
514
+ type: "ClassMethod";
515
+ kind: "get" | "set" | "method" | "constructor";
516
+ params: (FunctionParameter | TSParameterProperty)[];
517
+ body: BlockStatement;
518
+ static: boolean;
519
+ generator: boolean;
520
+ async: boolean;
521
+ abstract?: boolean | null;
522
+ access?: "public" | "private" | "protected" | null;
523
+ accessibility?: "public" | "private" | "protected" | null;
524
+ decorators?: Decorator[] | null;
525
+ optional?: boolean | null;
526
+ override?: boolean | null;
527
+ returnType?: TypeAnnotation | TSTypeAnnotation | null;
528
+ typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | null;
529
+ computed: false;
530
+ key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral;
531
+ }
532
+ type ClassMethod = ClassMethodComputed | ClassMethodNonComputed;
464
533
  interface ObjectPattern extends BaseNode {
465
534
  type: "ObjectPattern";
466
535
  properties: (RestElement | ObjectProperty)[];
467
- decorators: Decorator[] | null;
468
- optional: boolean | null;
469
- typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
536
+ decorators?: Decorator[] | null;
537
+ optional?: boolean | null;
538
+ typeAnnotation?: TypeAnnotation | TSTypeAnnotation | null;
470
539
  }
471
540
  interface SpreadElement extends BaseNode {
472
541
  type: "SpreadElement";
473
542
  argument: Expression;
474
543
  }
544
+ /**
545
+ * @deprecated Use `SpreadElement`
546
+ */
547
+ interface SpreadProperty$1 extends BaseNode {
548
+ type: "SpreadProperty";
549
+ argument: Expression;
550
+ }
475
551
  interface Super extends BaseNode {
476
552
  type: "Super";
477
553
  }
@@ -479,13 +555,13 @@ interface TaggedTemplateExpression extends BaseNode {
479
555
  type: "TaggedTemplateExpression";
480
556
  tag: Expression;
481
557
  quasi: TemplateLiteral;
482
- typeParameters: TypeParameterInstantiation | TSTypeParameterInstantiation | null;
558
+ typeArguments?: TypeParameterInstantiation | TSTypeParameterInstantiation | null;
483
559
  }
484
560
  interface TemplateElement extends BaseNode {
485
561
  type: "TemplateElement";
486
562
  value: {
487
563
  raw: string;
488
- cooked?: string;
564
+ cooked?: string | null;
489
565
  };
490
566
  tail: boolean;
491
567
  }
@@ -496,84 +572,98 @@ interface TemplateLiteral extends BaseNode {
496
572
  }
497
573
  interface YieldExpression extends BaseNode {
498
574
  type: "YieldExpression";
499
- argument: Expression | null;
575
+ argument?: Expression | null;
500
576
  delegate: boolean;
501
577
  }
502
578
  interface AwaitExpression extends BaseNode {
503
579
  type: "AwaitExpression";
504
580
  argument: Expression;
505
581
  }
582
+ interface ImportExpression extends BaseNode {
583
+ type: "ImportExpression";
584
+ source: Expression;
585
+ options?: Expression | null;
586
+ phase?: "source" | "defer" | null;
587
+ }
506
588
  interface Import extends BaseNode {
507
589
  type: "Import";
508
590
  }
509
591
  interface BigIntLiteral extends BaseNode {
510
592
  type: "BigIntLiteral";
511
- value: string;
593
+ value: bigint;
512
594
  }
513
595
  interface ExportNamespaceSpecifier extends BaseNode {
514
596
  type: "ExportNamespaceSpecifier";
515
- exported: Identifier;
597
+ exported: Identifier | StringLiteral;
516
598
  }
517
- interface OptionalMemberExpression extends BaseNode {
599
+ interface OptionalMemberExpressionComputed extends BaseNode {
518
600
  type: "OptionalMemberExpression";
519
601
  object: Expression;
520
- property: Expression | Identifier;
521
- computed: boolean;
522
602
  optional: boolean;
603
+ computed: true;
604
+ property: Expression;
523
605
  }
606
+ interface OptionalMemberExpressionNonComputed extends BaseNode {
607
+ type: "OptionalMemberExpression";
608
+ object: Expression;
609
+ optional: boolean;
610
+ computed: false;
611
+ property: Identifier | PrivateName;
612
+ }
613
+ type OptionalMemberExpression = OptionalMemberExpressionComputed | OptionalMemberExpressionNonComputed;
524
614
  interface OptionalCallExpression extends BaseNode {
525
615
  type: "OptionalCallExpression";
526
616
  callee: Expression;
527
617
  arguments: (Expression | SpreadElement | ArgumentPlaceholder)[];
528
618
  optional: boolean;
529
- typeArguments: TypeParameterInstantiation | null;
530
- typeParameters: TSTypeParameterInstantiation | null;
619
+ typeArguments?: TypeParameterInstantiation | TSTypeParameterInstantiation | null;
531
620
  }
532
- interface ClassProperty extends BaseNode {
621
+ interface ClassPropertyComputed extends BaseNode {
533
622
  type: "ClassProperty";
534
- key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression;
535
- value: Expression | null;
536
- typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
537
- decorators: Decorator[] | null;
538
- computed: boolean;
623
+ value?: Expression | null;
624
+ typeAnnotation?: TypeAnnotation | TSTypeAnnotation | null;
625
+ decorators?: Decorator[] | null;
539
626
  static: boolean;
540
- abstract: boolean | null;
541
- accessibility: "public" | "private" | "protected" | null;
542
- declare: boolean | null;
543
- definite: boolean | null;
544
- optional: boolean | null;
545
- override: boolean;
546
- readonly: boolean | null;
547
- variance: Variance | null;
548
- }
549
- interface ClassAccessorProperty extends BaseNode {
550
- type: "ClassAccessorProperty";
551
- key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression | PrivateName;
552
- value: Expression | null;
553
- typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
554
- decorators: Decorator[] | null;
555
- computed: boolean;
556
- static: boolean;
557
- abstract: boolean | null;
558
- accessibility: "public" | "private" | "protected" | null;
559
- declare: boolean | null;
560
- definite: boolean | null;
561
- optional: boolean | null;
562
- override: boolean;
563
- readonly: boolean | null;
564
- variance: Variance | null;
627
+ abstract?: boolean | null;
628
+ accessibility?: "public" | "private" | "protected" | null;
629
+ declare?: boolean | null;
630
+ definite?: boolean | null;
631
+ optional?: boolean | null;
632
+ override?: boolean | null;
633
+ readonly?: boolean | null;
634
+ variance?: Variance | null;
635
+ computed: true;
636
+ key: Expression;
565
637
  }
638
+ interface ClassPropertyNonComputed extends BaseNode {
639
+ type: "ClassProperty";
640
+ value?: Expression | null;
641
+ typeAnnotation?: TypeAnnotation | TSTypeAnnotation | null;
642
+ decorators?: Decorator[] | null;
643
+ static: boolean;
644
+ abstract?: boolean | null;
645
+ accessibility?: "public" | "private" | "protected" | null;
646
+ declare?: boolean | null;
647
+ definite?: boolean | null;
648
+ optional?: boolean | null;
649
+ override?: boolean | null;
650
+ readonly?: boolean | null;
651
+ variance?: Variance | null;
652
+ computed: false;
653
+ key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral;
654
+ }
655
+ type ClassProperty = ClassPropertyComputed | ClassPropertyNonComputed;
566
656
  interface ClassPrivateProperty extends BaseNode {
567
657
  type: "ClassPrivateProperty";
568
658
  key: PrivateName;
569
- value: Expression | null;
570
- decorators: Decorator[] | null;
659
+ value?: Expression | null;
660
+ decorators?: Decorator[] | null;
571
661
  static: boolean;
572
- definite: boolean | null;
573
- optional: boolean | null;
574
- readonly: boolean | null;
575
- typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
576
- variance: Variance | null;
662
+ definite?: boolean | null;
663
+ optional?: boolean | null;
664
+ readonly?: boolean | null;
665
+ typeAnnotation?: TypeAnnotation | TSTypeAnnotation | null;
666
+ variance?: Variance | null;
577
667
  }
578
668
  interface ClassPrivateMethod extends BaseNode {
579
669
  type: "ClassPrivateMethod";
@@ -582,17 +672,17 @@ interface ClassPrivateMethod extends BaseNode {
582
672
  params: (FunctionParameter | TSParameterProperty)[];
583
673
  body: BlockStatement;
584
674
  static: boolean;
585
- abstract: boolean | null;
586
- access: "public" | "private" | "protected" | null;
587
- accessibility: "public" | "private" | "protected" | null;
675
+ abstract?: boolean | null;
676
+ access?: "public" | "private" | "protected" | null;
677
+ accessibility?: "public" | "private" | "protected" | null;
588
678
  async: boolean;
589
679
  computed: boolean;
590
- decorators: Decorator[] | null;
680
+ decorators?: Decorator[] | null;
591
681
  generator: boolean;
592
- optional: boolean | null;
593
- override: boolean;
594
- returnType: TypeAnnotation | TSTypeAnnotation | Noop | null;
595
- typeParameters: TypeParameterDeclaration | TSTypeParameterDeclaration | Noop | null;
682
+ optional?: boolean | null;
683
+ override?: boolean | null;
684
+ returnType?: TypeAnnotation | TSTypeAnnotation | null;
685
+ typeParameters?: TypeParameterDeclaration | TSTypeParameterDeclaration | null;
596
686
  }
597
687
  interface PrivateName extends BaseNode {
598
688
  type: "PrivateName";
@@ -627,34 +717,34 @@ interface NullLiteralTypeAnnotation extends BaseNode {
627
717
  interface ClassImplements extends BaseNode {
628
718
  type: "ClassImplements";
629
719
  id: Identifier;
630
- typeParameters: TypeParameterInstantiation | null;
720
+ typeParameters?: TypeParameterInstantiation | null;
631
721
  }
632
722
  interface DeclareClass extends BaseNode {
633
723
  type: "DeclareClass";
634
724
  id: Identifier;
635
- typeParameters: TypeParameterDeclaration | null;
636
- extends: InterfaceExtends[] | null;
725
+ typeParameters?: TypeParameterDeclaration | null;
726
+ extends?: InterfaceExtends[] | null;
637
727
  body: ObjectTypeAnnotation;
638
- implements: ClassImplements[] | null;
639
- mixins: InterfaceExtends[] | null;
728
+ implements?: ClassImplements[] | null;
729
+ mixins?: InterfaceExtends[] | null;
640
730
  }
641
731
  interface DeclareFunction extends BaseNode {
642
732
  type: "DeclareFunction";
643
733
  id: Identifier;
644
- predicate: DeclaredPredicate | null;
734
+ predicate?: FlowPredicate | null;
645
735
  }
646
736
  interface DeclareInterface extends BaseNode {
647
737
  type: "DeclareInterface";
648
738
  id: Identifier;
649
- typeParameters: TypeParameterDeclaration | null;
650
- extends: InterfaceExtends[] | null;
739
+ typeParameters?: TypeParameterDeclaration | null;
740
+ extends?: InterfaceExtends[] | null;
651
741
  body: ObjectTypeAnnotation;
652
742
  }
653
743
  interface DeclareModule extends BaseNode {
654
744
  type: "DeclareModule";
655
745
  id: Identifier | StringLiteral;
656
746
  body: BlockStatement;
657
- kind: "CommonJS" | "ES" | null;
747
+ kind?: "CommonJS" | "ES" | null;
658
748
  }
659
749
  interface DeclareModuleExports extends BaseNode {
660
750
  type: "DeclareModuleExports";
@@ -663,15 +753,15 @@ interface DeclareModuleExports extends BaseNode {
663
753
  interface DeclareTypeAlias extends BaseNode {
664
754
  type: "DeclareTypeAlias";
665
755
  id: Identifier;
666
- typeParameters: TypeParameterDeclaration | null;
756
+ typeParameters?: TypeParameterDeclaration | null;
667
757
  right: FlowType;
668
758
  }
669
759
  interface DeclareOpaqueType extends BaseNode {
670
760
  type: "DeclareOpaqueType";
671
761
  id: Identifier;
672
- typeParameters: TypeParameterDeclaration | null;
673
- supertype: FlowType | null;
674
- impltype: FlowType | null;
762
+ typeParameters?: TypeParameterDeclaration | null;
763
+ supertype?: FlowType | null;
764
+ impltype?: FlowType | null;
675
765
  }
676
766
  interface DeclareVariable extends BaseNode {
677
767
  type: "DeclareVariable";
@@ -679,45 +769,43 @@ interface DeclareVariable extends BaseNode {
679
769
  }
680
770
  interface DeclareExportDeclaration extends BaseNode {
681
771
  type: "DeclareExportDeclaration";
682
- declaration: Flow | null;
683
- specifiers: (ExportSpecifier | ExportNamespaceSpecifier)[] | null;
684
- source: StringLiteral | null;
685
- attributes: ImportAttribute[] | null;
686
- assertions: ImportAttribute[] | null;
687
- default: boolean | null;
772
+ declaration?: Flow | null;
773
+ specifiers?: (ExportSpecifier | ExportNamespaceSpecifier)[] | null;
774
+ source?: StringLiteral | null;
775
+ attributes?: ImportAttribute[] | null;
776
+ default?: boolean | null;
688
777
  }
689
778
  interface DeclareExportAllDeclaration extends BaseNode {
690
779
  type: "DeclareExportAllDeclaration";
691
780
  source: StringLiteral;
692
- attributes: ImportAttribute[] | null;
693
- assertions: ImportAttribute[] | null;
694
- exportKind: "type" | "value" | null;
781
+ attributes?: ImportAttribute[] | null;
782
+ exportKind?: "type" | "value" | null;
695
783
  }
696
784
  interface DeclaredPredicate extends BaseNode {
697
785
  type: "DeclaredPredicate";
698
- value: Flow;
786
+ value: Expression;
699
787
  }
700
788
  interface ExistsTypeAnnotation extends BaseNode {
701
789
  type: "ExistsTypeAnnotation";
702
790
  }
703
791
  interface FunctionTypeAnnotation extends BaseNode {
704
792
  type: "FunctionTypeAnnotation";
705
- typeParameters: TypeParameterDeclaration | null;
793
+ typeParameters?: TypeParameterDeclaration | null;
706
794
  params: FunctionTypeParam[];
707
- rest: FunctionTypeParam | null;
795
+ rest?: FunctionTypeParam | null;
708
796
  returnType: FlowType;
709
- this: FunctionTypeParam | null;
797
+ this?: FunctionTypeParam | null;
710
798
  }
711
799
  interface FunctionTypeParam extends BaseNode {
712
800
  type: "FunctionTypeParam";
713
- name: Identifier | null;
801
+ name?: Identifier | null;
714
802
  typeAnnotation: FlowType;
715
- optional: boolean | null;
803
+ optional?: boolean | null;
716
804
  }
717
805
  interface GenericTypeAnnotation extends BaseNode {
718
806
  type: "GenericTypeAnnotation";
719
807
  id: Identifier | QualifiedTypeIdentifier;
720
- typeParameters: TypeParameterInstantiation | null;
808
+ typeParameters?: TypeParameterInstantiation | null;
721
809
  }
722
810
  interface InferredPredicate extends BaseNode {
723
811
  type: "InferredPredicate";
@@ -725,18 +813,18 @@ interface InferredPredicate extends BaseNode {
725
813
  interface InterfaceExtends extends BaseNode {
726
814
  type: "InterfaceExtends";
727
815
  id: Identifier | QualifiedTypeIdentifier;
728
- typeParameters: TypeParameterInstantiation | null;
816
+ typeParameters?: TypeParameterInstantiation | null;
729
817
  }
730
818
  interface InterfaceDeclaration extends BaseNode {
731
819
  type: "InterfaceDeclaration";
732
820
  id: Identifier;
733
- typeParameters: TypeParameterDeclaration | null;
734
- extends: InterfaceExtends[] | null;
821
+ typeParameters?: TypeParameterDeclaration | null;
822
+ extends?: InterfaceExtends[] | null;
735
823
  body: ObjectTypeAnnotation;
736
824
  }
737
825
  interface InterfaceTypeAnnotation extends BaseNode {
738
826
  type: "InterfaceTypeAnnotation";
739
- extends: InterfaceExtends[] | null;
827
+ extends?: InterfaceExtends[] | null;
740
828
  body: ObjectTypeAnnotation;
741
829
  }
742
830
  interface IntersectionTypeAnnotation extends BaseNode {
@@ -757,6 +845,10 @@ interface NumberLiteralTypeAnnotation extends BaseNode {
757
845
  type: "NumberLiteralTypeAnnotation";
758
846
  value: number;
759
847
  }
848
+ interface BigIntLiteralTypeAnnotation extends BaseNode {
849
+ type: "BigIntLiteralTypeAnnotation";
850
+ value: bigint;
851
+ }
760
852
  interface NumberTypeAnnotation extends BaseNode {
761
853
  type: "NumberTypeAnnotation";
762
854
  }
@@ -767,7 +859,7 @@ interface ObjectTypeAnnotation extends BaseNode {
767
859
  callProperties: ObjectTypeCallProperty[];
768
860
  internalSlots: ObjectTypeInternalSlot[];
769
861
  exact: boolean;
770
- inexact: boolean | null;
862
+ inexact?: boolean | null;
771
863
  }
772
864
  interface ObjectTypeInternalSlot extends BaseNode {
773
865
  type: "ObjectTypeInternalSlot";
@@ -784,17 +876,17 @@ interface ObjectTypeCallProperty extends BaseNode {
784
876
  }
785
877
  interface ObjectTypeIndexer extends BaseNode {
786
878
  type: "ObjectTypeIndexer";
787
- id: Identifier | null;
879
+ id?: Identifier | null;
788
880
  key: FlowType;
789
881
  value: FlowType;
790
- variance: Variance | null;
882
+ variance?: Variance | null;
791
883
  static: boolean;
792
884
  }
793
885
  interface ObjectTypeProperty extends BaseNode {
794
886
  type: "ObjectTypeProperty";
795
- key: Identifier | StringLiteral;
887
+ key: Identifier | StringLiteral | NumericLiteral;
796
888
  value: FlowType;
797
- variance: Variance | null;
889
+ variance?: Variance | null;
798
890
  kind: "init" | "get" | "set";
799
891
  method: boolean;
800
892
  optional: boolean;
@@ -808,8 +900,8 @@ interface ObjectTypeSpreadProperty extends BaseNode {
808
900
  interface OpaqueType extends BaseNode {
809
901
  type: "OpaqueType";
810
902
  id: Identifier;
811
- typeParameters: TypeParameterDeclaration | null;
812
- supertype: FlowType | null;
903
+ typeParameters?: TypeParameterDeclaration | null;
904
+ supertype?: FlowType | null;
813
905
  impltype: FlowType;
814
906
  }
815
907
  interface QualifiedTypeIdentifier extends BaseNode {
@@ -836,17 +928,17 @@ interface TupleTypeAnnotation extends BaseNode {
836
928
  }
837
929
  interface TypeofTypeAnnotation extends BaseNode {
838
930
  type: "TypeofTypeAnnotation";
839
- argument: FlowType;
931
+ argument: FlowType | Identifier;
840
932
  }
841
933
  interface TypeAlias extends BaseNode {
842
934
  type: "TypeAlias";
843
935
  id: Identifier;
844
- typeParameters: TypeParameterDeclaration | null;
936
+ typeParameters?: TypeParameterDeclaration | null;
845
937
  right: FlowType;
846
938
  }
847
939
  interface TypeAnnotation extends BaseNode {
848
940
  type: "TypeAnnotation";
849
- typeAnnotation: FlowType;
941
+ typeAnnotation: FlowType | Identifier;
850
942
  }
851
943
  interface TypeCastExpression extends BaseNode {
852
944
  type: "TypeCastExpression";
@@ -855,10 +947,10 @@ interface TypeCastExpression extends BaseNode {
855
947
  }
856
948
  interface TypeParameter extends BaseNode {
857
949
  type: "TypeParameter";
858
- bound: TypeAnnotation | null;
859
- default: FlowType | null;
860
- variance: Variance | null;
861
950
  name: string;
951
+ bound?: TypeAnnotation | null;
952
+ default?: FlowType | null;
953
+ variance?: Variance | null;
862
954
  }
863
955
  interface TypeParameterDeclaration extends BaseNode {
864
956
  type: "TypeParameterDeclaration";
@@ -940,7 +1032,7 @@ interface OptionalIndexedAccessType extends BaseNode {
940
1032
  interface JSXAttribute extends BaseNode {
941
1033
  type: "JSXAttribute";
942
1034
  name: JSXIdentifier | JSXNamespacedName;
943
- value: JSXElement | JSXFragment | StringLiteral | JSXExpressionContainer | null;
1035
+ value?: JSXElement | JSXFragment | StringLiteral | JSXExpressionContainer | null;
944
1036
  }
945
1037
  interface JSXClosingElement extends BaseNode {
946
1038
  type: "JSXClosingElement";
@@ -949,9 +1041,8 @@ interface JSXClosingElement extends BaseNode {
949
1041
  interface JSXElement extends BaseNode {
950
1042
  type: "JSXElement";
951
1043
  openingElement: JSXOpeningElement;
952
- closingElement: JSXClosingElement | null;
1044
+ closingElement?: JSXClosingElement | null;
953
1045
  children: (JSXText | JSXExpressionContainer | JSXSpreadChild | JSXElement | JSXFragment)[];
954
- selfClosing: boolean | null;
955
1046
  }
956
1047
  interface JSXEmptyExpression extends BaseNode {
957
1048
  type: "JSXEmptyExpression";
@@ -983,8 +1074,7 @@ interface JSXOpeningElement extends BaseNode {
983
1074
  name: JSXIdentifier | JSXMemberExpression | JSXNamespacedName;
984
1075
  attributes: (JSXAttribute | JSXSpreadAttribute)[];
985
1076
  selfClosing: boolean;
986
- typeArguments: TypeParameterInstantiation | null;
987
- typeParameters: TSTypeParameterInstantiation | null;
1077
+ typeArguments?: TypeParameterInstantiation | TSTypeParameterInstantiation | null;
988
1078
  }
989
1079
  interface JSXSpreadAttribute extends BaseNode {
990
1080
  type: "JSXSpreadAttribute";
@@ -1006,16 +1096,13 @@ interface JSXOpeningFragment extends BaseNode {
1006
1096
  interface JSXClosingFragment extends BaseNode {
1007
1097
  type: "JSXClosingFragment";
1008
1098
  }
1009
- interface Noop extends BaseNode {
1010
- type: "Noop";
1011
- }
1012
1099
  interface Placeholder extends BaseNode {
1013
1100
  type: "Placeholder";
1014
1101
  expectedNode: "Identifier" | "StringLiteral" | "Expression" | "Statement" | "Declaration" | "BlockStatement" | "ClassBody" | "Pattern";
1015
1102
  name: Identifier;
1016
- decorators: Decorator[] | null;
1017
- optional: boolean | null;
1018
- typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
1103
+ decorators?: Decorator[] | null;
1104
+ optional?: boolean | null;
1105
+ typeAnnotation?: TypeAnnotation | TSTypeAnnotation | null;
1019
1106
  }
1020
1107
  interface V8IntrinsicIdentifier extends BaseNode {
1021
1108
  type: "V8IntrinsicIdentifier";
@@ -1026,9 +1113,44 @@ interface ArgumentPlaceholder extends BaseNode {
1026
1113
  }
1027
1114
  interface BindExpression extends BaseNode {
1028
1115
  type: "BindExpression";
1029
- object: Expression;
1116
+ object: null | Expression;
1030
1117
  callee: Expression;
1031
1118
  }
1119
+ interface ClassAccessorPropertyComputed extends BaseNode {
1120
+ type: "ClassAccessorProperty";
1121
+ value?: Expression | null;
1122
+ typeAnnotation?: TypeAnnotation | TSTypeAnnotation | null;
1123
+ decorators?: Decorator[] | null;
1124
+ static: boolean;
1125
+ abstract?: boolean | null;
1126
+ accessibility?: "public" | "private" | "protected" | null;
1127
+ declare?: boolean | null;
1128
+ definite?: boolean | null;
1129
+ optional?: boolean | null;
1130
+ override?: boolean | null;
1131
+ readonly?: boolean | null;
1132
+ variance?: Variance | null;
1133
+ computed: true;
1134
+ key: Expression;
1135
+ }
1136
+ interface ClassAccessorPropertyNonComputed extends BaseNode {
1137
+ type: "ClassAccessorProperty";
1138
+ value?: Expression | null;
1139
+ typeAnnotation?: TypeAnnotation | TSTypeAnnotation | null;
1140
+ decorators?: Decorator[] | null;
1141
+ static: boolean;
1142
+ abstract?: boolean | null;
1143
+ accessibility?: "public" | "private" | "protected" | null;
1144
+ declare?: boolean | null;
1145
+ definite?: boolean | null;
1146
+ optional?: boolean | null;
1147
+ override?: boolean | null;
1148
+ readonly?: boolean | null;
1149
+ variance?: Variance | null;
1150
+ computed: false;
1151
+ key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | PrivateName;
1152
+ }
1153
+ type ClassAccessorProperty = ClassAccessorPropertyComputed | ClassAccessorPropertyNonComputed;
1032
1154
  interface Decorator extends BaseNode {
1033
1155
  type: "Decorator";
1034
1156
  expression: Expression;
@@ -1042,18 +1164,6 @@ interface ExportDefaultSpecifier extends BaseNode {
1042
1164
  type: "ExportDefaultSpecifier";
1043
1165
  exported: Identifier;
1044
1166
  }
1045
- interface RecordExpression extends BaseNode {
1046
- type: "RecordExpression";
1047
- properties: (ObjectProperty | SpreadElement)[];
1048
- }
1049
- interface TupleExpression extends BaseNode {
1050
- type: "TupleExpression";
1051
- elements: (Expression | SpreadElement)[];
1052
- }
1053
- interface DecimalLiteral extends BaseNode {
1054
- type: "DecimalLiteral";
1055
- value: string;
1056
- }
1057
1167
  interface ModuleExpression extends BaseNode {
1058
1168
  type: "ModuleExpression";
1059
1169
  body: Program;
@@ -1061,56 +1171,62 @@ interface ModuleExpression extends BaseNode {
1061
1171
  interface TopicReference extends BaseNode {
1062
1172
  type: "TopicReference";
1063
1173
  }
1064
- interface PipelineTopicExpression extends BaseNode {
1065
- type: "PipelineTopicExpression";
1066
- expression: Expression;
1067
- }
1068
- interface PipelineBareFunction extends BaseNode {
1069
- type: "PipelineBareFunction";
1070
- callee: Expression;
1071
- }
1072
- interface PipelinePrimaryTopicReference extends BaseNode {
1073
- type: "PipelinePrimaryTopicReference";
1074
- }
1075
1174
  interface VoidPattern extends BaseNode {
1076
1175
  type: "VoidPattern";
1077
1176
  }
1078
1177
  interface TSParameterProperty extends BaseNode {
1079
1178
  type: "TSParameterProperty";
1080
1179
  parameter: Identifier | AssignmentPattern;
1081
- accessibility: "public" | "private" | "protected" | null;
1082
- decorators: Decorator[] | null;
1083
- override: boolean | null;
1084
- readonly: boolean | null;
1180
+ accessibility?: "public" | "private" | "protected" | null;
1181
+ decorators?: Decorator[] | null;
1182
+ override?: boolean | null;
1183
+ readonly?: boolean | null;
1085
1184
  }
1086
1185
  interface TSDeclareFunction extends BaseNode {
1087
1186
  type: "TSDeclareFunction";
1088
- id: Identifier | null;
1089
- typeParameters: TSTypeParameterDeclaration | Noop | null;
1187
+ id?: Identifier | null;
1188
+ typeParameters?: TSTypeParameterDeclaration | null;
1090
1189
  params: FunctionParameter[];
1091
- returnType: TSTypeAnnotation | Noop | null;
1190
+ returnType?: TSTypeAnnotation | null;
1092
1191
  async: boolean;
1093
- declare: boolean | null;
1192
+ declare?: boolean | null;
1094
1193
  generator: boolean;
1095
1194
  }
1096
- interface TSDeclareMethod extends BaseNode {
1195
+ interface TSDeclareMethodComputed extends BaseNode {
1097
1196
  type: "TSDeclareMethod";
1098
- decorators: Decorator[] | null;
1099
- key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression;
1100
- typeParameters: TSTypeParameterDeclaration | Noop | null;
1197
+ typeParameters?: TSTypeParameterDeclaration | null;
1101
1198
  params: (FunctionParameter | TSParameterProperty)[];
1102
- returnType: TSTypeAnnotation | Noop | null;
1103
- abstract: boolean | null;
1104
- access: "public" | "private" | "protected" | null;
1105
- accessibility: "public" | "private" | "protected" | null;
1199
+ returnType?: TSTypeAnnotation | null;
1200
+ abstract?: boolean | null;
1201
+ access?: "public" | "private" | "protected" | null;
1202
+ accessibility?: "public" | "private" | "protected" | null;
1106
1203
  async: boolean;
1107
- computed: boolean;
1108
1204
  generator: boolean;
1109
1205
  kind: "get" | "set" | "method" | "constructor";
1110
- optional: boolean | null;
1111
- override: boolean;
1206
+ optional?: boolean | null;
1207
+ override?: boolean | null;
1112
1208
  static: boolean;
1209
+ computed: true;
1210
+ key: Expression;
1113
1211
  }
1212
+ interface TSDeclareMethodNonComputed extends BaseNode {
1213
+ type: "TSDeclareMethod";
1214
+ typeParameters?: TSTypeParameterDeclaration | null;
1215
+ params: (FunctionParameter | TSParameterProperty)[];
1216
+ returnType?: TSTypeAnnotation | null;
1217
+ abstract?: boolean | null;
1218
+ access?: "public" | "private" | "protected" | null;
1219
+ accessibility?: "public" | "private" | "protected" | null;
1220
+ async: boolean;
1221
+ generator: boolean;
1222
+ kind: "get" | "set" | "method" | "constructor";
1223
+ optional?: boolean | null;
1224
+ override?: boolean | null;
1225
+ static: boolean;
1226
+ computed: false;
1227
+ key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | PrivateName;
1228
+ }
1229
+ type TSDeclareMethod = TSDeclareMethodComputed | TSDeclareMethodNonComputed;
1114
1230
  interface TSQualifiedName extends BaseNode {
1115
1231
  type: "TSQualifiedName";
1116
1232
  left: TSEntityName;
@@ -1118,41 +1234,41 @@ interface TSQualifiedName extends BaseNode {
1118
1234
  }
1119
1235
  interface TSCallSignatureDeclaration extends BaseNode {
1120
1236
  type: "TSCallSignatureDeclaration";
1121
- typeParameters: TSTypeParameterDeclaration | null;
1122
- parameters: (ArrayPattern | Identifier | ObjectPattern | RestElement)[];
1123
- typeAnnotation: TSTypeAnnotation | null;
1237
+ typeParameters?: TSTypeParameterDeclaration | null;
1238
+ params: (ArrayPattern | Identifier | ObjectPattern | RestElement)[];
1239
+ returnType?: TSTypeAnnotation | null;
1124
1240
  }
1125
1241
  interface TSConstructSignatureDeclaration extends BaseNode {
1126
1242
  type: "TSConstructSignatureDeclaration";
1127
- typeParameters: TSTypeParameterDeclaration | null;
1128
- parameters: (ArrayPattern | Identifier | ObjectPattern | RestElement)[];
1129
- typeAnnotation: TSTypeAnnotation | null;
1243
+ typeParameters?: TSTypeParameterDeclaration | null;
1244
+ params: (ArrayPattern | Identifier | ObjectPattern | RestElement)[];
1245
+ returnType?: TSTypeAnnotation | null;
1130
1246
  }
1131
1247
  interface TSPropertySignature extends BaseNode {
1132
1248
  type: "TSPropertySignature";
1133
1249
  key: Expression;
1134
- typeAnnotation: TSTypeAnnotation | null;
1250
+ typeAnnotation?: TSTypeAnnotation | null;
1135
1251
  computed: boolean;
1136
- kind: "get" | "set" | null;
1137
- optional: boolean | null;
1138
- readonly: boolean | null;
1252
+ kind?: "get" | "set" | null;
1253
+ optional?: boolean | null;
1254
+ readonly?: boolean | null;
1139
1255
  }
1140
1256
  interface TSMethodSignature extends BaseNode {
1141
1257
  type: "TSMethodSignature";
1142
1258
  key: Expression;
1143
- typeParameters: TSTypeParameterDeclaration | null;
1144
- parameters: (ArrayPattern | Identifier | ObjectPattern | RestElement)[];
1145
- typeAnnotation: TSTypeAnnotation | null;
1259
+ typeParameters?: TSTypeParameterDeclaration | null;
1260
+ params: (ArrayPattern | Identifier | ObjectPattern | RestElement)[];
1261
+ returnType?: TSTypeAnnotation | null;
1146
1262
  computed: boolean;
1147
1263
  kind: "method" | "get" | "set";
1148
- optional: boolean | null;
1264
+ optional?: boolean | null;
1149
1265
  }
1150
1266
  interface TSIndexSignature extends BaseNode {
1151
1267
  type: "TSIndexSignature";
1152
1268
  parameters: Identifier[];
1153
- typeAnnotation: TSTypeAnnotation | null;
1154
- readonly: boolean | null;
1155
- static: boolean | null;
1269
+ typeAnnotation?: TSTypeAnnotation | null;
1270
+ readonly?: boolean | null;
1271
+ static?: boolean | null;
1156
1272
  }
1157
1273
  interface TSAnyKeyword extends BaseNode {
1158
1274
  type: "TSAnyKeyword";
@@ -1198,32 +1314,32 @@ interface TSThisType extends BaseNode {
1198
1314
  }
1199
1315
  interface TSFunctionType extends BaseNode {
1200
1316
  type: "TSFunctionType";
1201
- typeParameters: TSTypeParameterDeclaration | null;
1202
- parameters: (ArrayPattern | Identifier | ObjectPattern | RestElement)[];
1203
- typeAnnotation: TSTypeAnnotation | null;
1317
+ typeParameters?: TSTypeParameterDeclaration | null;
1318
+ params: (ArrayPattern | Identifier | ObjectPattern | RestElement)[];
1319
+ returnType?: TSTypeAnnotation | null;
1204
1320
  }
1205
1321
  interface TSConstructorType extends BaseNode {
1206
1322
  type: "TSConstructorType";
1207
- typeParameters: TSTypeParameterDeclaration | null;
1208
- parameters: (ArrayPattern | Identifier | ObjectPattern | RestElement)[];
1209
- typeAnnotation: TSTypeAnnotation | null;
1210
- abstract: boolean | null;
1323
+ typeParameters?: TSTypeParameterDeclaration | null;
1324
+ params: (ArrayPattern | Identifier | ObjectPattern | RestElement)[];
1325
+ returnType?: TSTypeAnnotation | null;
1326
+ abstract?: boolean | null;
1211
1327
  }
1212
1328
  interface TSTypeReference extends BaseNode {
1213
1329
  type: "TSTypeReference";
1214
1330
  typeName: TSEntityName;
1215
- typeParameters: TSTypeParameterInstantiation | null;
1331
+ typeArguments?: TSTypeParameterInstantiation | null;
1216
1332
  }
1217
1333
  interface TSTypePredicate extends BaseNode {
1218
1334
  type: "TSTypePredicate";
1219
1335
  parameterName: Identifier | TSThisType;
1220
- typeAnnotation: TSTypeAnnotation | null;
1221
- asserts: boolean | null;
1336
+ typeAnnotation?: TSTypeAnnotation | null;
1337
+ asserts?: boolean | null;
1222
1338
  }
1223
1339
  interface TSTypeQuery extends BaseNode {
1224
1340
  type: "TSTypeQuery";
1225
1341
  exprName: TSEntityName | TSImportType;
1226
- typeParameters: TSTypeParameterInstantiation | null;
1342
+ typeArguments?: TSTypeParameterInstantiation | null;
1227
1343
  }
1228
1344
  interface TSTypeLiteral extends BaseNode {
1229
1345
  type: "TSTypeLiteral";
@@ -1277,7 +1393,7 @@ interface TSParenthesizedType extends BaseNode {
1277
1393
  interface TSTypeOperator extends BaseNode {
1278
1394
  type: "TSTypeOperator";
1279
1395
  typeAnnotation: TSType;
1280
- operator: string;
1396
+ operator: "keyof" | "readonly" | "unique";
1281
1397
  }
1282
1398
  interface TSIndexedAccessType extends BaseNode {
1283
1399
  type: "TSIndexedAccessType";
@@ -1286,11 +1402,12 @@ interface TSIndexedAccessType extends BaseNode {
1286
1402
  }
1287
1403
  interface TSMappedType extends BaseNode {
1288
1404
  type: "TSMappedType";
1289
- typeParameter: TSTypeParameter;
1290
- typeAnnotation: TSType | null;
1291
- nameType: TSType | null;
1292
- optional: true | false | "+" | "-" | null;
1293
- readonly: true | false | "+" | "-" | null;
1405
+ key: Identifier;
1406
+ constraint: TSType;
1407
+ nameType?: TSType | null;
1408
+ typeAnnotation?: TSType | null;
1409
+ optional?: true | false | "+" | "-" | null;
1410
+ readonly?: true | false | "+" | "-" | null;
1294
1411
  }
1295
1412
  interface TSTemplateLiteralType extends BaseNode {
1296
1413
  type: "TSTemplateLiteralType";
@@ -1301,18 +1418,23 @@ interface TSLiteralType extends BaseNode {
1301
1418
  type: "TSLiteralType";
1302
1419
  literal: NumericLiteral | StringLiteral | BooleanLiteral | BigIntLiteral | TemplateLiteral | UnaryExpression;
1303
1420
  }
1304
- interface TSExpressionWithTypeArguments extends BaseNode {
1305
- type: "TSExpressionWithTypeArguments";
1306
- expression: TSEntityName;
1307
- typeParameters: TSTypeParameterInstantiation | null;
1421
+ interface TSClassImplements extends BaseNode {
1422
+ type: "TSClassImplements";
1423
+ expression: Expression;
1424
+ typeArguments?: TSTypeParameterInstantiation | null;
1425
+ }
1426
+ interface TSInterfaceHeritage extends BaseNode {
1427
+ type: "TSInterfaceHeritage";
1428
+ expression: Expression;
1429
+ typeArguments?: TSTypeParameterInstantiation | null;
1308
1430
  }
1309
1431
  interface TSInterfaceDeclaration extends BaseNode {
1310
1432
  type: "TSInterfaceDeclaration";
1311
1433
  id: Identifier;
1312
- typeParameters: TSTypeParameterDeclaration | null;
1313
- extends: TSExpressionWithTypeArguments[] | null;
1434
+ typeParameters?: TSTypeParameterDeclaration | null;
1435
+ extends?: TSInterfaceHeritage[] | null;
1314
1436
  body: TSInterfaceBody;
1315
- declare: boolean | null;
1437
+ declare?: boolean | null;
1316
1438
  }
1317
1439
  interface TSInterfaceBody extends BaseNode {
1318
1440
  type: "TSInterfaceBody";
@@ -1321,14 +1443,14 @@ interface TSInterfaceBody extends BaseNode {
1321
1443
  interface TSTypeAliasDeclaration extends BaseNode {
1322
1444
  type: "TSTypeAliasDeclaration";
1323
1445
  id: Identifier;
1324
- typeParameters: TSTypeParameterDeclaration | null;
1446
+ typeParameters?: TSTypeParameterDeclaration | null;
1325
1447
  typeAnnotation: TSType;
1326
- declare: boolean | null;
1448
+ declare?: boolean | null;
1327
1449
  }
1328
1450
  interface TSInstantiationExpression extends BaseNode {
1329
1451
  type: "TSInstantiationExpression";
1330
1452
  expression: Expression;
1331
- typeParameters: TSTypeParameterInstantiation | null;
1453
+ typeArguments?: TSTypeParameterInstantiation | null;
1332
1454
  }
1333
1455
  interface TSAsExpression extends BaseNode {
1334
1456
  type: "TSAsExpression";
@@ -1352,24 +1474,21 @@ interface TSEnumBody extends BaseNode {
1352
1474
  interface TSEnumDeclaration extends BaseNode {
1353
1475
  type: "TSEnumDeclaration";
1354
1476
  id: Identifier;
1355
- members: TSEnumMember[];
1356
- body: TSEnumBody | null;
1357
- const: boolean | null;
1358
- declare: boolean | null;
1359
- initializer: Expression | null;
1477
+ body: TSEnumBody;
1478
+ const?: boolean | null;
1479
+ declare?: boolean | null;
1360
1480
  }
1361
1481
  interface TSEnumMember extends BaseNode {
1362
1482
  type: "TSEnumMember";
1363
1483
  id: Identifier | StringLiteral;
1364
- initializer: Expression | null;
1484
+ initializer?: Expression | null;
1365
1485
  }
1366
1486
  interface TSModuleDeclaration extends BaseNode {
1367
1487
  type: "TSModuleDeclaration";
1368
- id: Identifier | StringLiteral;
1369
- body: TSModuleBlock | TSModuleDeclaration;
1370
- declare: boolean | null;
1371
- global: boolean | null;
1372
- kind: "global" | "module" | "namespace";
1488
+ id: TSEntityName | StringLiteral;
1489
+ body: TSModuleBlock;
1490
+ declare?: boolean | null;
1491
+ kind: "global" | "namespace" | "module";
1373
1492
  }
1374
1493
  interface TSModuleBlock extends BaseNode {
1375
1494
  type: "TSModuleBlock";
@@ -1377,17 +1496,16 @@ interface TSModuleBlock extends BaseNode {
1377
1496
  }
1378
1497
  interface TSImportType extends BaseNode {
1379
1498
  type: "TSImportType";
1380
- argument: StringLiteral;
1381
- qualifier: TSEntityName | null;
1382
- typeParameters: TSTypeParameterInstantiation | null;
1383
- options: ObjectExpression | null;
1499
+ source: StringLiteral;
1500
+ qualifier?: TSEntityName | null;
1501
+ typeArguments?: TSTypeParameterInstantiation | null;
1502
+ options?: ObjectExpression | null;
1384
1503
  }
1385
1504
  interface TSImportEqualsDeclaration extends BaseNode {
1386
1505
  type: "TSImportEqualsDeclaration";
1387
1506
  id: Identifier;
1388
1507
  moduleReference: TSEntityName | TSExternalModuleReference;
1389
- importKind: "type" | "value" | null;
1390
- isExport: boolean;
1508
+ importKind?: "type" | "value" | null;
1391
1509
  }
1392
1510
  interface TSExternalModuleReference extends BaseNode {
1393
1511
  type: "TSExternalModuleReference";
@@ -1419,80 +1537,23 @@ interface TSTypeParameterDeclaration extends BaseNode {
1419
1537
  }
1420
1538
  interface TSTypeParameter extends BaseNode {
1421
1539
  type: "TSTypeParameter";
1422
- constraint: TSType | null;
1423
- default: TSType | null;
1424
- name: string;
1425
- const: boolean | null;
1426
- in: boolean | null;
1427
- out: boolean | null;
1540
+ constraint?: TSType | null;
1541
+ default?: TSType | null;
1542
+ name: Identifier;
1543
+ const?: boolean | null;
1544
+ in?: boolean | null;
1545
+ out?: boolean | null;
1428
1546
  }
1429
- /**
1430
- * @deprecated Use `NumericLiteral`
1431
- */
1432
- type NumberLiteral = NumericLiteral;
1433
- /**
1434
- * @deprecated Use `RegExpLiteral`
1435
- */
1436
- type RegexLiteral = RegExpLiteral;
1437
- /**
1438
- * @deprecated Use `RestElement`
1439
- */
1440
- type RestProperty = RestElement;
1441
- /**
1442
- * @deprecated Use `SpreadElement`
1443
- */
1444
- type SpreadProperty = SpreadElement;
1445
- type Standardized = ArrayExpression | AssignmentExpression | BinaryExpression | InterpreterDirective | Directive | DirectiveLiteral | BlockStatement | BreakStatement | CallExpression | CatchClause | ConditionalExpression | ContinueStatement | DebuggerStatement | DoWhileStatement | EmptyStatement | ExpressionStatement | File | ForInStatement | ForStatement | FunctionDeclaration | FunctionExpression | Identifier | IfStatement | LabeledStatement | StringLiteral | NumericLiteral | NullLiteral | BooleanLiteral | RegExpLiteral | LogicalExpression | MemberExpression | NewExpression | Program | ObjectExpression | ObjectMethod | ObjectProperty | RestElement | ReturnStatement | SequenceExpression | ParenthesizedExpression | SwitchCase | SwitchStatement | ThisExpression | ThrowStatement | TryStatement | UnaryExpression | UpdateExpression | VariableDeclaration | VariableDeclarator | WhileStatement | WithStatement | AssignmentPattern | ArrayPattern | ArrowFunctionExpression | ClassBody | ClassExpression | ClassDeclaration | ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ExportSpecifier | ForOfStatement | ImportDeclaration | ImportDefaultSpecifier | ImportNamespaceSpecifier | ImportSpecifier | ImportExpression | MetaProperty | ClassMethod | ObjectPattern | SpreadElement | Super | TaggedTemplateExpression | TemplateElement | TemplateLiteral | YieldExpression | AwaitExpression | Import | BigIntLiteral | ExportNamespaceSpecifier | OptionalMemberExpression | OptionalCallExpression | ClassProperty | ClassAccessorProperty | ClassPrivateProperty | ClassPrivateMethod | PrivateName | StaticBlock | ImportAttribute;
1446
- type Expression = ArrayExpression | AssignmentExpression | BinaryExpression | CallExpression | ConditionalExpression | FunctionExpression | Identifier | StringLiteral | NumericLiteral | NullLiteral | BooleanLiteral | RegExpLiteral | LogicalExpression | MemberExpression | NewExpression | ObjectExpression | SequenceExpression | ParenthesizedExpression | ThisExpression | UnaryExpression | UpdateExpression | ArrowFunctionExpression | ClassExpression | ImportExpression | MetaProperty | Super | TaggedTemplateExpression | TemplateLiteral | YieldExpression | AwaitExpression | Import | BigIntLiteral | OptionalMemberExpression | OptionalCallExpression | TypeCastExpression | JSXElement | JSXFragment | BindExpression | DoExpression | RecordExpression | TupleExpression | DecimalLiteral | ModuleExpression | TopicReference | PipelineTopicExpression | PipelineBareFunction | PipelinePrimaryTopicReference | TSInstantiationExpression | TSAsExpression | TSSatisfiesExpression | TSTypeAssertion | TSNonNullExpression;
1447
- type Binary = BinaryExpression | LogicalExpression;
1448
- type Scopable = BlockStatement | CatchClause | DoWhileStatement | ForInStatement | ForStatement | FunctionDeclaration | FunctionExpression | Program | ObjectMethod | SwitchStatement | WhileStatement | ArrowFunctionExpression | ClassExpression | ClassDeclaration | ForOfStatement | ClassMethod | ClassPrivateMethod | StaticBlock | TSModuleBlock;
1449
- type BlockParent = BlockStatement | CatchClause | DoWhileStatement | ForInStatement | ForStatement | FunctionDeclaration | FunctionExpression | Program | ObjectMethod | SwitchStatement | WhileStatement | ArrowFunctionExpression | ForOfStatement | ClassMethod | ClassPrivateMethod | StaticBlock | TSModuleBlock;
1450
- type Block = BlockStatement | Program | TSModuleBlock;
1547
+ type Expression = ArrayExpression | AssignmentExpression | BinaryExpression | CallExpression | ConditionalExpression | FunctionExpression | Identifier | StringLiteral | NumericLiteral | NullLiteral | BooleanLiteral | RegExpLiteral | LogicalExpression | MemberExpression | NewExpression | ObjectExpression | SequenceExpression | ParenthesizedExpression | ThisExpression | UnaryExpression | UpdateExpression | ArrowFunctionExpression | ClassExpression | MetaProperty | TaggedTemplateExpression | TemplateLiteral | YieldExpression | AwaitExpression | ImportExpression | BigIntLiteral | OptionalMemberExpression | OptionalCallExpression | TypeCastExpression | JSXElement | JSXFragment | BindExpression | DoExpression | ModuleExpression | TopicReference | TSInstantiationExpression | TSAsExpression | TSSatisfiesExpression | TSTypeAssertion | TSNonNullExpression;
1451
1548
  type Statement = BlockStatement | BreakStatement | ContinueStatement | DebuggerStatement | DoWhileStatement | EmptyStatement | ExpressionStatement | ForInStatement | ForStatement | FunctionDeclaration | IfStatement | LabeledStatement | ReturnStatement | SwitchStatement | ThrowStatement | TryStatement | VariableDeclaration | WhileStatement | WithStatement | ClassDeclaration | ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ForOfStatement | ImportDeclaration | DeclareClass | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareTypeAlias | DeclareOpaqueType | DeclareVariable | DeclareExportDeclaration | DeclareExportAllDeclaration | InterfaceDeclaration | OpaqueType | TypeAlias | EnumDeclaration | TSDeclareFunction | TSInterfaceDeclaration | TSTypeAliasDeclaration | TSEnumDeclaration | TSModuleDeclaration | TSImportEqualsDeclaration | TSExportAssignment | TSNamespaceExportDeclaration;
1452
- type Terminatorless = BreakStatement | ContinueStatement | ReturnStatement | ThrowStatement | YieldExpression | AwaitExpression;
1453
- type CompletionStatement = BreakStatement | ContinueStatement | ReturnStatement | ThrowStatement;
1454
- type Conditional = ConditionalExpression | IfStatement;
1455
- type Loop = DoWhileStatement | ForInStatement | ForStatement | WhileStatement | ForOfStatement;
1456
- type While = DoWhileStatement | WhileStatement;
1457
- type ExpressionWrapper = ExpressionStatement | ParenthesizedExpression | TypeCastExpression;
1458
- type For = ForInStatement | ForStatement | ForOfStatement;
1459
- type ForXStatement = ForInStatement | ForOfStatement;
1460
- type Function = FunctionDeclaration | FunctionExpression | ObjectMethod | ArrowFunctionExpression | ClassMethod | ClassPrivateMethod;
1461
- type FunctionParent = FunctionDeclaration | FunctionExpression | ObjectMethod | ArrowFunctionExpression | ClassMethod | ClassPrivateMethod | StaticBlock | TSModuleBlock;
1462
- type Pureish = FunctionDeclaration | FunctionExpression | StringLiteral | NumericLiteral | NullLiteral | BooleanLiteral | RegExpLiteral | ArrowFunctionExpression | BigIntLiteral | DecimalLiteral;
1463
- type Declaration = FunctionDeclaration | VariableDeclaration | ClassDeclaration | ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ImportDeclaration | DeclareClass | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareTypeAlias | DeclareOpaqueType | DeclareVariable | DeclareExportDeclaration | DeclareExportAllDeclaration | InterfaceDeclaration | OpaqueType | TypeAlias | EnumDeclaration | TSDeclareFunction | TSInterfaceDeclaration | TSTypeAliasDeclaration | TSEnumDeclaration | TSModuleDeclaration | TSImportEqualsDeclaration;
1464
1549
  type FunctionParameter = Identifier | RestElement | AssignmentPattern | ArrayPattern | ObjectPattern | VoidPattern;
1465
1550
  type PatternLike = Identifier | MemberExpression | RestElement | AssignmentPattern | ArrayPattern | ObjectPattern | VoidPattern | TSAsExpression | TSSatisfiesExpression | TSTypeAssertion | TSNonNullExpression;
1466
- type LVal = Identifier | MemberExpression | RestElement | AssignmentPattern | ArrayPattern | ObjectPattern | TSParameterProperty | TSAsExpression | TSSatisfiesExpression | TSTypeAssertion | TSNonNullExpression;
1467
- type TSEntityName = Identifier | TSQualifiedName;
1468
- type Literal = StringLiteral | NumericLiteral | NullLiteral | BooleanLiteral | RegExpLiteral | TemplateLiteral | BigIntLiteral | DecimalLiteral;
1469
- type Immutable = StringLiteral | NumericLiteral | NullLiteral | BooleanLiteral | BigIntLiteral | JSXAttribute | JSXClosingElement | JSXElement | JSXExpressionContainer | JSXSpreadChild | JSXOpeningElement | JSXText | JSXFragment | JSXOpeningFragment | JSXClosingFragment | DecimalLiteral;
1470
- type UserWhitespacable = ObjectMethod | ObjectProperty | ObjectTypeInternalSlot | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeProperty | ObjectTypeSpreadProperty;
1471
- type Method = ObjectMethod | ClassMethod | ClassPrivateMethod;
1472
- type ObjectMember = ObjectMethod | ObjectProperty;
1473
- type Property = ObjectProperty | ClassProperty | ClassAccessorProperty | ClassPrivateProperty;
1474
- type UnaryLike = UnaryExpression | SpreadElement;
1475
- type Pattern = AssignmentPattern | ArrayPattern | ObjectPattern | VoidPattern;
1476
- type Class = ClassExpression | ClassDeclaration;
1477
- type ImportOrExportDeclaration = ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ImportDeclaration;
1478
- type ExportDeclaration = ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration;
1479
- type ModuleSpecifier = ExportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier | ImportSpecifier | ExportNamespaceSpecifier | ExportDefaultSpecifier;
1480
- type Accessor = ClassAccessorProperty;
1481
- type Private = ClassPrivateProperty | ClassPrivateMethod | PrivateName;
1482
- type Flow = AnyTypeAnnotation | ArrayTypeAnnotation | BooleanTypeAnnotation | BooleanLiteralTypeAnnotation | NullLiteralTypeAnnotation | ClassImplements | DeclareClass | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareTypeAlias | DeclareOpaqueType | DeclareVariable | DeclareExportDeclaration | DeclareExportAllDeclaration | DeclaredPredicate | ExistsTypeAnnotation | FunctionTypeAnnotation | FunctionTypeParam | GenericTypeAnnotation | InferredPredicate | InterfaceExtends | InterfaceDeclaration | InterfaceTypeAnnotation | IntersectionTypeAnnotation | MixedTypeAnnotation | EmptyTypeAnnotation | NullableTypeAnnotation | NumberLiteralTypeAnnotation | NumberTypeAnnotation | ObjectTypeAnnotation | ObjectTypeInternalSlot | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | QualifiedTypeIdentifier | StringLiteralTypeAnnotation | StringTypeAnnotation | SymbolTypeAnnotation | ThisTypeAnnotation | TupleTypeAnnotation | TypeofTypeAnnotation | TypeAlias | TypeAnnotation | TypeCastExpression | TypeParameter | TypeParameterDeclaration | TypeParameterInstantiation | UnionTypeAnnotation | Variance | VoidTypeAnnotation | EnumDeclaration | EnumBooleanBody | EnumNumberBody | EnumStringBody | EnumSymbolBody | EnumBooleanMember | EnumNumberMember | EnumStringMember | EnumDefaultedMember | IndexedAccessType | OptionalIndexedAccessType;
1483
- type FlowType = AnyTypeAnnotation | ArrayTypeAnnotation | BooleanTypeAnnotation | BooleanLiteralTypeAnnotation | NullLiteralTypeAnnotation | ExistsTypeAnnotation | FunctionTypeAnnotation | GenericTypeAnnotation | InterfaceTypeAnnotation | IntersectionTypeAnnotation | MixedTypeAnnotation | EmptyTypeAnnotation | NullableTypeAnnotation | NumberLiteralTypeAnnotation | NumberTypeAnnotation | ObjectTypeAnnotation | StringLiteralTypeAnnotation | StringTypeAnnotation | SymbolTypeAnnotation | ThisTypeAnnotation | TupleTypeAnnotation | TypeofTypeAnnotation | UnionTypeAnnotation | VoidTypeAnnotation | IndexedAccessType | OptionalIndexedAccessType;
1484
- type FlowBaseAnnotation = AnyTypeAnnotation | BooleanTypeAnnotation | NullLiteralTypeAnnotation | MixedTypeAnnotation | EmptyTypeAnnotation | NumberTypeAnnotation | StringTypeAnnotation | SymbolTypeAnnotation | ThisTypeAnnotation | VoidTypeAnnotation;
1485
- type FlowDeclaration = DeclareClass | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareTypeAlias | DeclareOpaqueType | DeclareVariable | DeclareExportDeclaration | DeclareExportAllDeclaration | InterfaceDeclaration | OpaqueType | TypeAlias;
1551
+ type TSEntityName = Identifier | ThisExpression | TSQualifiedName;
1552
+ type Flow = AnyTypeAnnotation | ArrayTypeAnnotation | BooleanTypeAnnotation | BooleanLiteralTypeAnnotation | NullLiteralTypeAnnotation | ClassImplements | DeclareClass | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareTypeAlias | DeclareOpaqueType | DeclareVariable | DeclareExportDeclaration | DeclareExportAllDeclaration | DeclaredPredicate | ExistsTypeAnnotation | FunctionTypeAnnotation | FunctionTypeParam | GenericTypeAnnotation | InferredPredicate | InterfaceExtends | InterfaceDeclaration | InterfaceTypeAnnotation | IntersectionTypeAnnotation | MixedTypeAnnotation | EmptyTypeAnnotation | NullableTypeAnnotation | NumberLiteralTypeAnnotation | BigIntLiteralTypeAnnotation | NumberTypeAnnotation | ObjectTypeAnnotation | ObjectTypeInternalSlot | ObjectTypeCallProperty | ObjectTypeIndexer | ObjectTypeProperty | ObjectTypeSpreadProperty | OpaqueType | QualifiedTypeIdentifier | StringLiteralTypeAnnotation | StringTypeAnnotation | SymbolTypeAnnotation | ThisTypeAnnotation | TupleTypeAnnotation | TypeofTypeAnnotation | TypeAlias | TypeAnnotation | TypeCastExpression | TypeParameter | TypeParameterDeclaration | TypeParameterInstantiation | UnionTypeAnnotation | Variance | VoidTypeAnnotation | EnumDeclaration | EnumBooleanBody | EnumNumberBody | EnumStringBody | EnumSymbolBody | EnumBooleanMember | EnumNumberMember | EnumStringMember | EnumDefaultedMember | IndexedAccessType | OptionalIndexedAccessType;
1553
+ type FlowType = AnyTypeAnnotation | ArrayTypeAnnotation | BooleanTypeAnnotation | BooleanLiteralTypeAnnotation | NullLiteralTypeAnnotation | ExistsTypeAnnotation | FunctionTypeAnnotation | GenericTypeAnnotation | InterfaceTypeAnnotation | IntersectionTypeAnnotation | MixedTypeAnnotation | EmptyTypeAnnotation | NullableTypeAnnotation | NumberLiteralTypeAnnotation | BigIntLiteralTypeAnnotation | NumberTypeAnnotation | ObjectTypeAnnotation | StringLiteralTypeAnnotation | StringTypeAnnotation | SymbolTypeAnnotation | ThisTypeAnnotation | TupleTypeAnnotation | TypeofTypeAnnotation | UnionTypeAnnotation | VoidTypeAnnotation | IndexedAccessType | OptionalIndexedAccessType;
1486
1554
  type FlowPredicate = DeclaredPredicate | InferredPredicate;
1487
- type EnumBody = EnumBooleanBody | EnumNumberBody | EnumStringBody | EnumSymbolBody;
1488
- type EnumMember = EnumBooleanMember | EnumNumberMember | EnumStringMember | EnumDefaultedMember;
1489
- type JSX = JSXAttribute | JSXClosingElement | JSXElement | JSXEmptyExpression | JSXExpressionContainer | JSXSpreadChild | JSXIdentifier | JSXMemberExpression | JSXNamespacedName | JSXOpeningElement | JSXSpreadAttribute | JSXText | JSXFragment | JSXOpeningFragment | JSXClosingFragment;
1490
- type Miscellaneous = Noop | Placeholder | V8IntrinsicIdentifier;
1491
- type TypeScript = TSParameterProperty | TSDeclareFunction | TSDeclareMethod | TSQualifiedName | TSCallSignatureDeclaration | TSConstructSignatureDeclaration | TSPropertySignature | TSMethodSignature | TSIndexSignature | TSAnyKeyword | TSBooleanKeyword | TSBigIntKeyword | TSIntrinsicKeyword | TSNeverKeyword | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSStringKeyword | TSSymbolKeyword | TSUndefinedKeyword | TSUnknownKeyword | TSVoidKeyword | TSThisType | TSFunctionType | TSConstructorType | TSTypeReference | TSTypePredicate | TSTypeQuery | TSTypeLiteral | TSArrayType | TSTupleType | TSOptionalType | TSRestType | TSNamedTupleMember | TSUnionType | TSIntersectionType | TSConditionalType | TSInferType | TSParenthesizedType | TSTypeOperator | TSIndexedAccessType | TSMappedType | TSTemplateLiteralType | TSLiteralType | TSExpressionWithTypeArguments | TSInterfaceDeclaration | TSInterfaceBody | TSTypeAliasDeclaration | TSInstantiationExpression | TSAsExpression | TSSatisfiesExpression | TSTypeAssertion | TSEnumBody | TSEnumDeclaration | TSEnumMember | TSModuleDeclaration | TSModuleBlock | TSImportType | TSImportEqualsDeclaration | TSExternalModuleReference | TSNonNullExpression | TSExportAssignment | TSNamespaceExportDeclaration | TSTypeAnnotation | TSTypeParameterInstantiation | TSTypeParameterDeclaration | TSTypeParameter;
1492
1555
  type TSTypeElement = TSCallSignatureDeclaration | TSConstructSignatureDeclaration | TSPropertySignature | TSMethodSignature | TSIndexSignature;
1493
- 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 | TSTemplateLiteralType | TSLiteralType | TSExpressionWithTypeArguments | TSImportType;
1494
- type TSBaseType = TSAnyKeyword | TSBooleanKeyword | TSBigIntKeyword | TSIntrinsicKeyword | TSNeverKeyword | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSStringKeyword | TSSymbolKeyword | TSUndefinedKeyword | TSUnknownKeyword | TSVoidKeyword | TSThisType | TSTemplateLiteralType | TSLiteralType;
1495
- type ModuleDeclaration = ExportAllDeclaration | ExportDefaultDeclaration | ExportNamedDeclaration | ImportDeclaration;
1556
+ 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 | TSNamedTupleMember | TSUnionType | TSIntersectionType | TSConditionalType | TSInferType | TSParenthesizedType | TSTypeOperator | TSIndexedAccessType | TSMappedType | TSTemplateLiteralType | TSLiteralType | TSClassImplements | TSInterfaceHeritage | TSImportType;
1496
1557
  //#endregion
1497
1558
  //#region src/types/index.d.ts
1498
1559
  interface Module {
@@ -1550,4 +1611,4 @@ interface SectionPreviewCache {
1550
1611
  declare const createSectionPreviewCache: () => SectionPreviewCache;
1551
1612
  //#endregion
1552
1613
  export { ObjectExpression as C, Node as S, Module as _, SectionOptions as a, Expression as b, createSectionPreviewCache as c, generateSectionPreview as d, generateSectionPreviews as f, replaceDocumentSections as g, parseDocument as h, DocumentTree as i, fillSectionIds as l, inspectDocument as m, DocumentOptions as n, SectionPreviewCache as o, getSections as p, DocumentProblem as r, clearDocumentParseCache as s, DocumentInspection as t, generateDocumentCode as u, Section as v, File as x, ArrayExpression as y };
1553
- //# sourceMappingURL=document-Ct4jW78J.d.ts.map
1614
+ //# sourceMappingURL=document-DqRSCtsx.d.ts.map