@marko/compiler 5.23.0 → 5.23.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/types.d.ts CHANGED
@@ -42,7 +42,7 @@ interface BaseNode {
42
42
  extra?: Record<string, unknown>;
43
43
  }
44
44
 
45
- export type Node = Accessor | AnyTypeAnnotation | ArgumentPlaceholder | ArrayExpression | ArrayPattern | ArrayTypeAnnotation | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BigIntLiteral | Binary | BinaryExpression | BindExpression | Block | BlockParent | BlockStatement | BooleanLiteral | BooleanLiteralTypeAnnotation | BooleanTypeAnnotation | BreakStatement | CallExpression | CatchClause | Class | ClassAccessorProperty | ClassBody | ClassDeclaration | ClassExpression | ClassImplements | ClassMethod | ClassPrivateMethod | ClassPrivateProperty | ClassProperty | CompletionStatement | Conditional | ConditionalExpression | ContinueStatement | DebuggerStatement | DecimalLiteral | Declaration | DeclareClass | DeclareExportAllDeclaration | DeclareExportDeclaration | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareOpaqueType | DeclareTypeAlias | DeclareVariable | DeclaredPredicate | Decorator | Directive | DirectiveLiteral | DoExpression | DoWhileStatement | EmptyStatement | EmptyTypeAnnotation | EnumBody | EnumBooleanBody | EnumBooleanMember | EnumDeclaration | EnumDefaultedMember | EnumMember | EnumNumberBody | EnumNumberMember | EnumStringBody | EnumStringMember | EnumSymbolBody | ExistsTypeAnnotation | ExportAllDeclaration | ExportDeclaration | ExportDefaultDeclaration | ExportDefaultSpecifier | ExportNamedDeclaration | ExportNamespaceSpecifier | ExportSpecifier | Expression | ExpressionStatement | ExpressionWrapper | File | Flow | FlowBaseAnnotation | FlowDeclaration | FlowPredicate | FlowType | For | ForInStatement | ForOfStatement | ForStatement | ForXStatement | Function | FunctionDeclaration | FunctionExpression | FunctionParent | FunctionTypeAnnotation | FunctionTypeParam | GenericTypeAnnotation | Identifier | IfStatement | Immutable | Import | ImportAttribute | ImportDeclaration | ImportDefaultSpecifier | ImportNamespaceSpecifier | ImportSpecifier | IndexedAccessType | InferredPredicate | InterfaceDeclaration | InterfaceExtends | InterfaceTypeAnnotation | InterpreterDirective | IntersectionTypeAnnotation | JSX | JSXAttribute | JSXClosingElement | JSXClosingFragment | JSXElement | JSXEmptyExpression | JSXExpressionContainer | JSXFragment | JSXIdentifier | JSXMemberExpression | JSXNamespacedName | JSXOpeningElement | JSXOpeningFragment | JSXSpreadAttribute | JSXSpreadChild | JSXText | LVal | LabeledStatement | Literal | LogicalExpression | Loop | Marko | MarkoAttribute | MarkoCDATA | MarkoClass | MarkoComment | MarkoDeclaration | MarkoDocumentType | MarkoPlaceholder | MarkoScriptlet | MarkoSpreadAttribute | MarkoTag | MarkoTagBody | MarkoText | 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 | Scope | SequenceExpression | SpreadElement | SpreadProperty | Standardized | Statement | StaticBlock | StringLiteral | StringLiteralTypeAnnotation | StringTypeAnnotation | Super | SwitchCase | SwitchStatement | SymbolTypeAnnotation | TSAnyKeyword | TSArrayType | TSAsExpression | TSBaseType | TSBigIntKeyword | TSBooleanKeyword | TSCallSignatureDeclaration | TSConditionalType | TSConstructSignatureDeclaration | TSConstructorType | TSDeclareFunction | TSDeclareMethod | TSEntityName | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSExpressionWithTypeArguments | TSExternalModuleReference | TSFunctionType | TSImportEqualsDeclaration | TSImportType | TSIndexSignature | TSIndexedAccessType | TSInferType | TSInterfaceBody | TSInterfaceDeclaration | TSIntersectionType | TSIntrinsicKeyword | TSLiteralType | TSMappedType | TSMethodSignature | TSModuleBlock | TSModuleDeclaration | TSNamedTupleMember | TSNamespaceExportDeclaration | TSNeverKeyword | TSNonNullExpression | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSOptionalType | TSParameterProperty | TSParenthesizedType | TSPropertySignature | TSQualifiedName | TSRestType | TSStringKeyword | TSSymbolKeyword | TSThisType | TSTupleType | TSType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeElement | TSTypeLiteral | TSTypeOperator | TSTypeParameter | TSTypeParameterDeclaration | TSTypeParameterInstantiation | TSTypePredicate | TSTypeQuery | TSTypeReference | TSUndefinedKeyword | TSUnionType | TSUnknownKeyword | TSVoidKeyword | TaggedTemplateExpression | TemplateElement | TemplateLiteral | Terminatorless | ThisExpression | ThisTypeAnnotation | ThrowStatement | TopicReference | TryStatement | TupleExpression | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeCastExpression | TypeParameter | TypeParameterDeclaration | TypeParameterInstantiation | TypeScript | TypeofTypeAnnotation | UnaryExpression | UnaryLike | UnionTypeAnnotation | UpdateExpression | UserWhitespacable | V8IntrinsicIdentifier | VariableDeclaration | VariableDeclarator | Variance | VoidTypeAnnotation | While | WhileStatement | WithStatement | YieldExpression;
45
+ export type Node = Accessor | AnyTypeAnnotation | ArgumentPlaceholder | ArrayExpression | ArrayPattern | ArrayTypeAnnotation | ArrowFunctionExpression | AssignmentExpression | AssignmentPattern | AwaitExpression | BigIntLiteral | Binary | BinaryExpression | BindExpression | Block | BlockParent | BlockStatement | BooleanLiteral | BooleanLiteralTypeAnnotation | BooleanTypeAnnotation | BreakStatement | CallExpression | CatchClause | Class | ClassAccessorProperty | ClassBody | ClassDeclaration | ClassExpression | ClassImplements | ClassMethod | ClassPrivateMethod | ClassPrivateProperty | ClassProperty | CompletionStatement | Conditional | ConditionalExpression | ContinueStatement | DebuggerStatement | DecimalLiteral | Declaration | DeclareClass | DeclareExportAllDeclaration | DeclareExportDeclaration | DeclareFunction | DeclareInterface | DeclareModule | DeclareModuleExports | DeclareOpaqueType | DeclareTypeAlias | DeclareVariable | DeclaredPredicate | Decorator | Directive | DirectiveLiteral | DoExpression | DoWhileStatement | EmptyStatement | EmptyTypeAnnotation | EnumBody | EnumBooleanBody | EnumBooleanMember | EnumDeclaration | EnumDefaultedMember | EnumMember | EnumNumberBody | EnumNumberMember | EnumStringBody | EnumStringMember | EnumSymbolBody | ExistsTypeAnnotation | ExportAllDeclaration | ExportDeclaration | ExportDefaultDeclaration | ExportDefaultSpecifier | ExportNamedDeclaration | ExportNamespaceSpecifier | ExportSpecifier | Expression | ExpressionStatement | ExpressionWrapper | File | Flow | FlowBaseAnnotation | FlowDeclaration | FlowPredicate | FlowType | For | ForInStatement | ForOfStatement | ForStatement | ForXStatement | Function | FunctionDeclaration | FunctionExpression | FunctionParent | FunctionTypeAnnotation | FunctionTypeParam | GenericTypeAnnotation | Identifier | IfStatement | Immutable | Import | ImportAttribute | ImportDeclaration | ImportDefaultSpecifier | ImportNamespaceSpecifier | 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 | Marko | MarkoAttribute | MarkoCDATA | MarkoClass | MarkoComment | MarkoDeclaration | MarkoDocumentType | MarkoPlaceholder | MarkoScriptlet | MarkoSpreadAttribute | MarkoTag | MarkoTagBody | MarkoText | 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 | Scope | SequenceExpression | SpreadElement | SpreadProperty | Standardized | Statement | StaticBlock | StringLiteral | StringLiteralTypeAnnotation | StringTypeAnnotation | Super | SwitchCase | SwitchStatement | SymbolTypeAnnotation | TSAnyKeyword | TSArrayType | TSAsExpression | TSBaseType | TSBigIntKeyword | TSBooleanKeyword | TSCallSignatureDeclaration | TSConditionalType | TSConstructSignatureDeclaration | TSConstructorType | TSDeclareFunction | TSDeclareMethod | TSEntityName | TSEnumDeclaration | TSEnumMember | TSExportAssignment | TSExpressionWithTypeArguments | TSExternalModuleReference | TSFunctionType | TSImportEqualsDeclaration | TSImportType | TSIndexSignature | TSIndexedAccessType | TSInferType | TSInstantiationExpression | TSInterfaceBody | TSInterfaceDeclaration | TSIntersectionType | TSIntrinsicKeyword | TSLiteralType | TSMappedType | TSMethodSignature | TSModuleBlock | TSModuleDeclaration | TSNamedTupleMember | TSNamespaceExportDeclaration | TSNeverKeyword | TSNonNullExpression | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSOptionalType | TSParameterProperty | TSParenthesizedType | TSPropertySignature | TSQualifiedName | TSRestType | TSSatisfiesExpression | TSStringKeyword | TSSymbolKeyword | TSThisType | TSTupleType | TSType | TSTypeAliasDeclaration | TSTypeAnnotation | TSTypeAssertion | TSTypeElement | TSTypeLiteral | TSTypeOperator | TSTypeParameter | TSTypeParameterDeclaration | TSTypeParameterInstantiation | TSTypePredicate | TSTypeQuery | TSTypeReference | TSUndefinedKeyword | TSUnionType | TSUnknownKeyword | TSVoidKeyword | TaggedTemplateExpression | TemplateElement | TemplateLiteral | Terminatorless | ThisExpression | ThisTypeAnnotation | ThrowStatement | TopicReference | TryStatement | TupleExpression | TupleTypeAnnotation | TypeAlias | TypeAnnotation | TypeCastExpression | TypeParameter | TypeParameterDeclaration | TypeParameterInstantiation | TypeScript | TypeofTypeAnnotation | UnaryExpression | UnaryLike | UnionTypeAnnotation | UpdateExpression | UserWhitespacable | V8IntrinsicIdentifier | VariableDeclaration | VariableDeclarator | Variance | VoidTypeAnnotation | While | WhileStatement | WithStatement | YieldExpression;
46
46
 
47
47
  export interface ArrayExpression extends BaseNode {
48
48
  type: "ArrayExpression";
@@ -91,7 +91,7 @@ export interface BreakStatement extends BaseNode {
91
91
 
92
92
  export interface CallExpression extends BaseNode {
93
93
  type: "CallExpression";
94
- callee: Expression | V8IntrinsicIdentifier;
94
+ callee: Expression | Super | V8IntrinsicIdentifier;
95
95
  arguments: Array<Expression | SpreadElement | JSXNamespacedName | ArgumentPlaceholder>;
96
96
  optional: true | false | null;
97
97
  typeArguments: TypeParameterInstantiation | null;
@@ -237,7 +237,7 @@ export interface LogicalExpression extends BaseNode {
237
237
 
238
238
  export interface MemberExpression extends BaseNode {
239
239
  type: "MemberExpression";
240
- object: Expression;
240
+ object: Expression | Super;
241
241
  property: Expression | Identifier | PrivateName;
242
242
  computed: boolean;
243
243
  optional: true | false | null;
@@ -245,7 +245,7 @@ export interface MemberExpression extends BaseNode {
245
245
 
246
246
  export interface NewExpression extends BaseNode {
247
247
  type: "NewExpression";
248
- callee: Expression | V8IntrinsicIdentifier;
248
+ callee: Expression | Super | V8IntrinsicIdentifier;
249
249
  arguments: Array<Expression | SpreadElement | JSXNamespacedName | ArgumentPlaceholder>;
250
250
  optional: true | false | null;
251
251
  typeArguments: TypeParameterInstantiation | null;
@@ -269,7 +269,7 @@ export interface ObjectExpression extends BaseNode {
269
269
  export interface ObjectMethod extends BaseNode {
270
270
  type: "ObjectMethod";
271
271
  kind: "method" | "get" | "set";
272
- key: Expression | Identifier | StringLiteral | NumericLiteral;
272
+ key: Expression | Identifier | StringLiteral | NumericLiteral | BigIntLiteral;
273
273
  params: Array<Identifier | Pattern | RestElement>;
274
274
  body: BlockStatement;
275
275
  computed: boolean;
@@ -282,7 +282,7 @@ export interface ObjectMethod extends BaseNode {
282
282
 
283
283
  export interface ObjectProperty extends BaseNode {
284
284
  type: "ObjectProperty";
285
- key: Expression | Identifier | StringLiteral | NumericLiteral;
285
+ key: Expression | Identifier | StringLiteral | NumericLiteral | BigIntLiteral | DecimalLiteral | PrivateName;
286
286
  value: Expression | PatternLike;
287
287
  computed: boolean;
288
288
  shorthand: boolean;
@@ -356,7 +356,7 @@ export interface UpdateExpression extends BaseNode {
356
356
 
357
357
  export interface VariableDeclaration extends BaseNode {
358
358
  type: "VariableDeclaration";
359
- kind: "var" | "let" | "const";
359
+ kind: "var" | "let" | "const" | "using";
360
360
  declarations: Array<VariableDeclarator>;
361
361
  declare: boolean | null;
362
362
  }
@@ -382,7 +382,7 @@ export interface WithStatement extends BaseNode {
382
382
 
383
383
  export interface AssignmentPattern extends BaseNode {
384
384
  type: "AssignmentPattern";
385
- left: Identifier | ObjectPattern | ArrayPattern | MemberExpression | TSAsExpression | TSTypeAssertion | TSNonNullExpression;
385
+ left: Identifier | ObjectPattern | ArrayPattern | MemberExpression | TSAsExpression | TSSatisfiesExpression | TSTypeAssertion | TSNonNullExpression;
386
386
  right: Expression;
387
387
  decorators: Array<Decorator> | null;
388
388
  typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
@@ -390,7 +390,7 @@ export interface AssignmentPattern extends BaseNode {
390
390
 
391
391
  export interface ArrayPattern extends BaseNode {
392
392
  type: "ArrayPattern";
393
- elements: Array<null | PatternLike>;
393
+ elements: Array<null | PatternLike | LVal>;
394
394
  decorators: Array<Decorator> | null;
395
395
  optional: boolean | null;
396
396
  typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
@@ -448,7 +448,7 @@ export interface ExportAllDeclaration extends BaseNode {
448
448
 
449
449
  export interface ExportDefaultDeclaration extends BaseNode {
450
450
  type: "ExportDefaultDeclaration";
451
- declaration: FunctionDeclaration | TSDeclareFunction | ClassDeclaration | Expression;
451
+ declaration: TSDeclareFunction | FunctionDeclaration | ClassDeclaration | Expression;
452
452
  exportKind: "value" | null;
453
453
  }
454
454
 
@@ -482,6 +482,7 @@ export interface ImportDeclaration extends BaseNode {
482
482
  source: StringLiteral;
483
483
  assertions: Array<ImportAttribute> | null;
484
484
  importKind: "type" | "typeof" | "value" | null;
485
+ module: boolean | null;
485
486
  }
486
487
 
487
488
  export interface ImportDefaultSpecifier extends BaseNode {
@@ -510,7 +511,7 @@ export interface MetaProperty extends BaseNode {
510
511
  export interface ClassMethod extends BaseNode {
511
512
  type: "ClassMethod";
512
513
  kind: "get" | "set" | "method" | "constructor";
513
- key: Identifier | StringLiteral | NumericLiteral | Expression;
514
+ key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression;
514
515
  params: Array<Identifier | Pattern | RestElement | TSParameterProperty>;
515
516
  body: BlockStatement;
516
517
  computed: boolean;
@@ -606,7 +607,7 @@ export interface OptionalCallExpression extends BaseNode {
606
607
 
607
608
  export interface ClassProperty extends BaseNode {
608
609
  type: "ClassProperty";
609
- key: Identifier | StringLiteral | NumericLiteral | Expression;
610
+ key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression;
610
611
  value: Expression | null;
611
612
  typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
612
613
  decorators: Array<Decorator> | null;
@@ -624,7 +625,7 @@ export interface ClassProperty extends BaseNode {
624
625
 
625
626
  export interface ClassAccessorProperty extends BaseNode {
626
627
  type: "ClassAccessorProperty";
627
- key: Identifier | StringLiteral | NumericLiteral | Expression | PrivateName;
628
+ key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression | PrivateName;
628
629
  value: Expression | null;
629
630
  typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
630
631
  decorators: Array<Decorator> | null;
@@ -645,7 +646,7 @@ export interface ClassPrivateProperty extends BaseNode {
645
646
  key: PrivateName;
646
647
  value: Expression | null;
647
648
  decorators: Array<Decorator> | null;
648
- static: any;
649
+ static: boolean;
649
650
  definite: boolean | null;
650
651
  readonly: boolean | null;
651
652
  typeAnnotation: TypeAnnotation | TSTypeAnnotation | Noop | null;
@@ -654,7 +655,7 @@ export interface ClassPrivateProperty extends BaseNode {
654
655
 
655
656
  export interface ClassPrivateMethod extends BaseNode {
656
657
  type: "ClassPrivateMethod";
657
- kind: "get" | "set" | "method" | "constructor";
658
+ kind: "get" | "set" | "method";
658
659
  key: PrivateName;
659
660
  params: Array<Identifier | Pattern | RestElement | TSParameterProperty>;
660
661
  body: BlockStatement;
@@ -1268,7 +1269,7 @@ export interface TSDeclareFunction extends BaseNode {
1268
1269
  export interface TSDeclareMethod extends BaseNode {
1269
1270
  type: "TSDeclareMethod";
1270
1271
  decorators: Array<Decorator> | null;
1271
- key: Identifier | StringLiteral | NumericLiteral | Expression;
1272
+ key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression;
1272
1273
  typeParameters: TSTypeParameterDeclaration | Noop | null;
1273
1274
  params: Array<Identifier | Pattern | RestElement | TSParameterProperty>;
1274
1275
  returnType: TSTypeAnnotation | Noop | null;
@@ -1309,7 +1310,7 @@ export interface TSPropertySignature extends BaseNode {
1309
1310
  key: Expression;
1310
1311
  typeAnnotation: TSTypeAnnotation | null;
1311
1312
  initializer: Expression | null;
1312
- computed: boolean | null;
1313
+ computed: boolean;
1313
1314
  kind: "get" | "set";
1314
1315
  optional: boolean | null;
1315
1316
  readonly: boolean | null;
@@ -1321,7 +1322,7 @@ export interface TSMethodSignature extends BaseNode {
1321
1322
  typeParameters: TSTypeParameterDeclaration | null;
1322
1323
  parameters: Array<Identifier | RestElement>;
1323
1324
  typeAnnotation: TSTypeAnnotation | null;
1324
- computed: boolean | null;
1325
+ computed: boolean;
1325
1326
  kind: "method" | "get" | "set";
1326
1327
  optional: boolean | null;
1327
1328
  }
@@ -1421,6 +1422,7 @@ export interface TSTypePredicate extends BaseNode {
1421
1422
  export interface TSTypeQuery extends BaseNode {
1422
1423
  type: "TSTypeQuery";
1423
1424
  exprName: TSEntityName | TSImportType;
1425
+ typeParameters: TSTypeParameterInstantiation | null;
1424
1426
  }
1425
1427
 
1426
1428
  export interface TSTypeLiteral extends BaseNode {
@@ -1500,13 +1502,13 @@ export interface TSMappedType extends BaseNode {
1500
1502
  typeParameter: TSTypeParameter;
1501
1503
  typeAnnotation: TSType | null;
1502
1504
  nameType: TSType | null;
1503
- optional: boolean | null;
1504
- readonly: boolean | null;
1505
+ optional: true | false | "+" | "-" | null;
1506
+ readonly: true | false | "+" | "-" | null;
1505
1507
  }
1506
1508
 
1507
1509
  export interface TSLiteralType extends BaseNode {
1508
1510
  type: "TSLiteralType";
1509
- literal: NumericLiteral | StringLiteral | BooleanLiteral | BigIntLiteral | UnaryExpression;
1511
+ literal: NumericLiteral | StringLiteral | BooleanLiteral | BigIntLiteral | TemplateLiteral | UnaryExpression;
1510
1512
  }
1511
1513
 
1512
1514
  export interface TSExpressionWithTypeArguments extends BaseNode {
@@ -1537,12 +1539,24 @@ export interface TSTypeAliasDeclaration extends BaseNode {
1537
1539
  declare: boolean | null;
1538
1540
  }
1539
1541
 
1542
+ export interface TSInstantiationExpression extends BaseNode {
1543
+ type: "TSInstantiationExpression";
1544
+ expression: Expression;
1545
+ typeParameters: TSTypeParameterInstantiation | null;
1546
+ }
1547
+
1540
1548
  export interface TSAsExpression extends BaseNode {
1541
1549
  type: "TSAsExpression";
1542
1550
  expression: Expression;
1543
1551
  typeAnnotation: TSType;
1544
1552
  }
1545
1553
 
1554
+ export interface TSSatisfiesExpression extends BaseNode {
1555
+ type: "TSSatisfiesExpression";
1556
+ expression: Expression;
1557
+ typeAnnotation: TSType;
1558
+ }
1559
+
1546
1560
  export interface TSTypeAssertion extends BaseNode {
1547
1561
  type: "TSTypeAssertion";
1548
1562
  typeAnnotation: TSType;
@@ -1632,6 +1646,8 @@ export interface TSTypeParameter extends BaseNode {
1632
1646
  constraint: TSType | null;
1633
1647
  default: TSType | null;
1634
1648
  name: string;
1649
+ in: boolean | null;
1650
+ out: boolean | null;
1635
1651
  }
1636
1652
 
1637
1653
  export interface MarkoDocumentType extends BaseNode {
@@ -1694,7 +1710,7 @@ export interface MarkoSpreadAttribute extends BaseNode {
1694
1710
  export interface MarkoTagBody extends BaseNode {
1695
1711
  type: "MarkoTagBody";
1696
1712
  body: Array<MarkoTag | MarkoCDATA | MarkoText | MarkoPlaceholder | MarkoScriptlet | MarkoComment>;
1697
- params: Array<Identifier | Pattern | RestElement>;
1713
+ params: array;
1698
1714
  }
1699
1715
 
1700
1716
  export interface MarkoTag extends BaseNode {
@@ -1728,7 +1744,7 @@ export type RestProperty = RestElement;
1728
1744
  export type SpreadProperty = SpreadElement;
1729
1745
 
1730
1746
  export 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 | MetaProperty | ClassMethod | ObjectPattern | SpreadElement | Super | TaggedTemplateExpression | TemplateElement | TemplateLiteral | YieldExpression | AwaitExpression | Import | BigIntLiteral | ExportNamespaceSpecifier | OptionalMemberExpression | OptionalCallExpression | ClassProperty | ClassAccessorProperty | ClassPrivateProperty | ClassPrivateMethod | PrivateName | StaticBlock;
1731
- export 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 | Super | TaggedTemplateExpression | TemplateLiteral | YieldExpression | AwaitExpression | Import | BigIntLiteral | OptionalMemberExpression | OptionalCallExpression | TypeCastExpression | JSXElement | JSXFragment | BindExpression | DoExpression | RecordExpression | TupleExpression | DecimalLiteral | ModuleExpression | TopicReference | PipelineTopicExpression | PipelineBareFunction | PipelinePrimaryTopicReference | TSAsExpression | TSTypeAssertion | TSNonNullExpression;
1747
+ export 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 | 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;
1732
1748
  export type Binary = BinaryExpression | LogicalExpression;
1733
1749
  export type Scopable = BlockStatement | CatchClause | DoWhileStatement | ForInStatement | ForStatement | FunctionDeclaration | FunctionExpression | Program | ObjectMethod | SwitchStatement | WhileStatement | ArrowFunctionExpression | ClassExpression | ClassDeclaration | ForOfStatement | ClassMethod | ClassPrivateMethod | StaticBlock | TSModuleBlock;
1734
1750
  export type BlockParent = BlockStatement | CatchClause | DoWhileStatement | ForInStatement | ForStatement | FunctionDeclaration | FunctionExpression | Program | ObjectMethod | SwitchStatement | WhileStatement | ArrowFunctionExpression | ForOfStatement | ClassMethod | ClassPrivateMethod | StaticBlock | TSModuleBlock | MarkoTagBody;
@@ -1743,11 +1759,11 @@ export type ExpressionWrapper = ExpressionStatement | ParenthesizedExpression |
1743
1759
  export type For = ForInStatement | ForStatement | ForOfStatement;
1744
1760
  export type ForXStatement = ForInStatement | ForOfStatement;
1745
1761
  export type Function = FunctionDeclaration | FunctionExpression | ObjectMethod | ArrowFunctionExpression | ClassMethod | ClassPrivateMethod;
1746
- export type FunctionParent = FunctionDeclaration | FunctionExpression | ObjectMethod | ArrowFunctionExpression | ClassMethod | ClassPrivateMethod | StaticBlock;
1762
+ export type FunctionParent = FunctionDeclaration | FunctionExpression | ObjectMethod | ArrowFunctionExpression | ClassMethod | ClassPrivateMethod | StaticBlock | TSModuleBlock;
1747
1763
  export type Pureish = FunctionDeclaration | FunctionExpression | StringLiteral | NumericLiteral | NullLiteral | BooleanLiteral | RegExpLiteral | ArrowFunctionExpression | BigIntLiteral | DecimalLiteral;
1748
1764
  export 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;
1749
- export type PatternLike = Identifier | RestElement | AssignmentPattern | ArrayPattern | ObjectPattern | TSAsExpression | TSTypeAssertion | TSNonNullExpression;
1750
- export type LVal = Identifier | MemberExpression | RestElement | AssignmentPattern | ArrayPattern | ObjectPattern | TSParameterProperty | TSAsExpression | TSTypeAssertion | TSNonNullExpression;
1765
+ export type PatternLike = Identifier | RestElement | AssignmentPattern | ArrayPattern | ObjectPattern | TSAsExpression | TSSatisfiesExpression | TSTypeAssertion | TSNonNullExpression;
1766
+ export type LVal = Identifier | MemberExpression | RestElement | AssignmentPattern | ArrayPattern | ObjectPattern | TSParameterProperty | TSAsExpression | TSSatisfiesExpression | TSTypeAssertion | TSNonNullExpression;
1751
1767
  export type TSEntityName = Identifier | TSQualifiedName;
1752
1768
  export type Literal = StringLiteral | NumericLiteral | NullLiteral | BooleanLiteral | RegExpLiteral | TemplateLiteral | BigIntLiteral | DecimalLiteral;
1753
1769
  export type Immutable = StringLiteral | NumericLiteral | NullLiteral | BooleanLiteral | BigIntLiteral | JSXAttribute | JSXClosingElement | JSXElement | JSXExpressionContainer | JSXSpreadChild | JSXOpeningElement | JSXText | JSXFragment | JSXOpeningFragment | JSXClosingFragment | DecimalLiteral;
@@ -1772,7 +1788,7 @@ export type EnumBody = EnumBooleanBody | EnumNumberBody | EnumStringBody | EnumS
1772
1788
  export type EnumMember = EnumBooleanMember | EnumNumberMember | EnumStringMember | EnumDefaultedMember;
1773
1789
  export type JSX = JSXAttribute | JSXClosingElement | JSXElement | JSXEmptyExpression | JSXExpressionContainer | JSXSpreadChild | JSXIdentifier | JSXMemberExpression | JSXNamespacedName | JSXOpeningElement | JSXSpreadAttribute | JSXText | JSXFragment | JSXOpeningFragment | JSXClosingFragment;
1774
1790
  export type Miscellaneous = Noop | Placeholder | V8IntrinsicIdentifier;
1775
- export 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 | TSLiteralType | TSExpressionWithTypeArguments | TSInterfaceDeclaration | TSInterfaceBody | TSTypeAliasDeclaration | TSAsExpression | TSTypeAssertion | TSEnumDeclaration | TSEnumMember | TSModuleDeclaration | TSModuleBlock | TSImportType | TSImportEqualsDeclaration | TSExternalModuleReference | TSNonNullExpression | TSExportAssignment | TSNamespaceExportDeclaration | TSTypeAnnotation | TSTypeParameterInstantiation | TSTypeParameterDeclaration | TSTypeParameter;
1791
+ export 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 | TSLiteralType | TSExpressionWithTypeArguments | TSInterfaceDeclaration | TSInterfaceBody | TSTypeAliasDeclaration | TSInstantiationExpression | TSAsExpression | TSSatisfiesExpression | TSTypeAssertion | TSEnumDeclaration | TSEnumMember | TSModuleDeclaration | TSModuleBlock | TSImportType | TSImportEqualsDeclaration | TSExternalModuleReference | TSNonNullExpression | TSExportAssignment | TSNamespaceExportDeclaration | TSTypeAnnotation | TSTypeParameterInstantiation | TSTypeParameterDeclaration | TSTypeParameter;
1776
1792
  export type TSTypeElement = TSCallSignatureDeclaration | TSConstructSignatureDeclaration | TSPropertySignature | TSMethodSignature | TSIndexSignature;
1777
1793
  export type TSType = TSAnyKeyword | TSBooleanKeyword | TSBigIntKeyword | TSIntrinsicKeyword | TSNeverKeyword | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSStringKeyword | TSSymbolKeyword | TSUndefinedKeyword | TSUnknownKeyword | TSVoidKeyword | TSThisType | TSFunctionType | TSConstructorType | TSTypeReference | TSTypePredicate | TSTypeQuery | TSTypeLiteral | TSArrayType | TSTupleType | TSOptionalType | TSRestType | TSUnionType | TSIntersectionType | TSConditionalType | TSInferType | TSParenthesizedType | TSTypeOperator | TSIndexedAccessType | TSMappedType | TSLiteralType | TSExpressionWithTypeArguments | TSImportType;
1778
1794
  export type TSBaseType = TSAnyKeyword | TSBooleanKeyword | TSBigIntKeyword | TSIntrinsicKeyword | TSNeverKeyword | TSNullKeyword | TSNumberKeyword | TSObjectKeyword | TSStringKeyword | TSSymbolKeyword | TSUndefinedKeyword | TSUnknownKeyword | TSVoidKeyword | TSThisType | TSLiteralType;
@@ -1841,7 +1857,7 @@ export function directive(value: DirectiveLiteral): Directive;
1841
1857
  export function directiveLiteral(value: string): DirectiveLiteral;
1842
1858
  export function blockStatement(body: Array<Statement>, directives?: Array<Directive>): BlockStatement;
1843
1859
  export function breakStatement(label?: Identifier | null): BreakStatement;
1844
- export function callExpression(callee: Expression | V8IntrinsicIdentifier, _arguments: Array<Expression | SpreadElement | JSXNamespacedName | ArgumentPlaceholder>): CallExpression;
1860
+ export function callExpression(callee: Expression | Super | V8IntrinsicIdentifier, _arguments: Array<Expression | SpreadElement | JSXNamespacedName | ArgumentPlaceholder>): CallExpression;
1845
1861
  export function catchClause(param: Identifier | ArrayPattern | ObjectPattern | null | undefined, body: BlockStatement): CatchClause;
1846
1862
  export function conditionalExpression(test: Expression, consequent: Expression, alternate: Expression): ConditionalExpression;
1847
1863
  export function continueStatement(label?: Identifier | null): ContinueStatement;
@@ -1863,12 +1879,12 @@ export function nullLiteral(): NullLiteral;
1863
1879
  export function booleanLiteral(value: boolean): BooleanLiteral;
1864
1880
  export function regExpLiteral(pattern: string, flags?: string): RegExpLiteral;
1865
1881
  export function logicalExpression(operator: "||" | "&&" | "??", left: Expression, right: Expression): LogicalExpression;
1866
- export function memberExpression(object: Expression, property: Expression | Identifier | PrivateName, computed?: boolean, optional?: true | false | null): MemberExpression;
1867
- export function newExpression(callee: Expression | V8IntrinsicIdentifier, _arguments: Array<Expression | SpreadElement | JSXNamespacedName | ArgumentPlaceholder>): NewExpression;
1882
+ export function memberExpression(object: Expression | Super, property: Expression | Identifier | PrivateName, computed?: boolean, optional?: true | false | null): MemberExpression;
1883
+ export function newExpression(callee: Expression | Super | V8IntrinsicIdentifier, _arguments: Array<Expression | SpreadElement | JSXNamespacedName | ArgumentPlaceholder>): NewExpression;
1868
1884
  export function program(body: Array<Statement>, directives?: Array<Directive>, sourceType?: "script" | "module", interpreter?: InterpreterDirective | null): Program;
1869
1885
  export function objectExpression(properties: Array<ObjectMethod | ObjectProperty | SpreadElement>): ObjectExpression;
1870
- export function objectMethod(kind: "method" | "get" | "set" | undefined, key: Expression | Identifier | StringLiteral | NumericLiteral, params: Array<Identifier | Pattern | RestElement>, body: BlockStatement, computed?: boolean, generator?: boolean, async?: boolean): ObjectMethod;
1871
- export function objectProperty(key: Expression | Identifier | StringLiteral | NumericLiteral, value: Expression | PatternLike, computed?: boolean, shorthand?: boolean, decorators?: Array<Decorator> | null): ObjectProperty;
1886
+ export function objectMethod(kind: "method" | "get" | "set" | undefined, key: Expression | Identifier | StringLiteral | NumericLiteral | BigIntLiteral, params: Array<Identifier | Pattern | RestElement>, body: BlockStatement, computed?: boolean, generator?: boolean, async?: boolean): ObjectMethod;
1887
+ export function objectProperty(key: Expression | Identifier | StringLiteral | NumericLiteral | BigIntLiteral | DecimalLiteral | PrivateName, value: Expression | PatternLike, computed?: boolean, shorthand?: boolean, decorators?: Array<Decorator> | null): ObjectProperty;
1872
1888
  export function restElement(argument: LVal): RestElement;
1873
1889
  export function returnStatement(argument?: Expression | null): ReturnStatement;
1874
1890
  export function sequenceExpression(expressions: Array<Expression>): SequenceExpression;
@@ -1880,18 +1896,18 @@ export function throwStatement(argument: Expression): ThrowStatement;
1880
1896
  export function tryStatement(block: BlockStatement, handler?: CatchClause | null, finalizer?: BlockStatement | null): TryStatement;
1881
1897
  export function unaryExpression(operator: "void" | "throw" | "delete" | "!" | "+" | "-" | "~" | "typeof", argument: Expression, prefix?: boolean): UnaryExpression;
1882
1898
  export function updateExpression(operator: "++" | "--", argument: Expression, prefix?: boolean): UpdateExpression;
1883
- export function variableDeclaration(kind: "var" | "let" | "const", declarations: Array<VariableDeclarator>): VariableDeclaration;
1899
+ export function variableDeclaration(kind: "var" | "let" | "const" | "using", declarations: Array<VariableDeclarator>): VariableDeclaration;
1884
1900
  export function variableDeclarator(id: LVal, init?: Expression | null): VariableDeclarator;
1885
1901
  export function whileStatement(test: Expression, body: Statement): WhileStatement;
1886
1902
  export function withStatement(object: Expression, body: Statement): WithStatement;
1887
- export function assignmentPattern(left: Identifier | ObjectPattern | ArrayPattern | MemberExpression | TSAsExpression | TSTypeAssertion | TSNonNullExpression, right: Expression): AssignmentPattern;
1888
- export function arrayPattern(elements: Array<null | PatternLike>): ArrayPattern;
1903
+ export function assignmentPattern(left: Identifier | ObjectPattern | ArrayPattern | MemberExpression | TSAsExpression | TSSatisfiesExpression | TSTypeAssertion | TSNonNullExpression, right: Expression): AssignmentPattern;
1904
+ export function arrayPattern(elements: Array<null | PatternLike | LVal>): ArrayPattern;
1889
1905
  export function arrowFunctionExpression(params: Array<Identifier | Pattern | RestElement>, body: BlockStatement | Expression, async?: boolean): ArrowFunctionExpression;
1890
1906
  export function classBody(body: Array<ClassMethod | ClassPrivateMethod | ClassProperty | ClassPrivateProperty | ClassAccessorProperty | TSDeclareMethod | TSIndexSignature | StaticBlock>): ClassBody;
1891
1907
  export function classExpression(id: Identifier | null | undefined, superClass: Expression | null | undefined, body: ClassBody, decorators?: Array<Decorator> | null): ClassExpression;
1892
1908
  export function classDeclaration(id: Identifier, superClass: Expression | null | undefined, body: ClassBody, decorators?: Array<Decorator> | null): ClassDeclaration;
1893
1909
  export function exportAllDeclaration(source: StringLiteral): ExportAllDeclaration;
1894
- export function exportDefaultDeclaration(declaration: FunctionDeclaration | TSDeclareFunction | ClassDeclaration | Expression): ExportDefaultDeclaration;
1910
+ export function exportDefaultDeclaration(declaration: TSDeclareFunction | FunctionDeclaration | ClassDeclaration | Expression): ExportDefaultDeclaration;
1895
1911
  export function exportNamedDeclaration(declaration?: Declaration | null, specifiers?: Array<ExportSpecifier | ExportDefaultSpecifier | ExportNamespaceSpecifier>, source?: StringLiteral | null): ExportNamedDeclaration;
1896
1912
  export function exportSpecifier(local: Identifier, exported: Identifier | StringLiteral): ExportSpecifier;
1897
1913
  export function forOfStatement(left: VariableDeclaration | LVal, right: Expression, body: Statement, _await?: boolean): ForOfStatement;
@@ -1900,7 +1916,7 @@ export function importDefaultSpecifier(local: Identifier): ImportDefaultSpecifie
1900
1916
  export function importNamespaceSpecifier(local: Identifier): ImportNamespaceSpecifier;
1901
1917
  export function importSpecifier(local: Identifier, imported: Identifier | StringLiteral): ImportSpecifier;
1902
1918
  export function metaProperty(meta: Identifier, property: Identifier): MetaProperty;
1903
- export function classMethod(kind: "get" | "set" | "method" | "constructor" | undefined, key: Identifier | StringLiteral | NumericLiteral | Expression, params: Array<Identifier | Pattern | RestElement | TSParameterProperty>, body: BlockStatement, computed?: boolean, _static?: boolean, generator?: boolean, async?: boolean): ClassMethod;
1919
+ export function classMethod(kind: "get" | "set" | "method" | "constructor" | undefined, key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression, params: Array<Identifier | Pattern | RestElement | TSParameterProperty>, body: BlockStatement, computed?: boolean, _static?: boolean, generator?: boolean, async?: boolean): ClassMethod;
1904
1920
  export function objectPattern(properties: Array<RestElement | ObjectProperty>): ObjectPattern;
1905
1921
  export function spreadElement(argument: Expression): SpreadElement;
1906
1922
  declare function _super(): Super;
@@ -1916,10 +1932,10 @@ export function bigIntLiteral(value: string): BigIntLiteral;
1916
1932
  export function exportNamespaceSpecifier(exported: Identifier): ExportNamespaceSpecifier;
1917
1933
  export function optionalMemberExpression(object: Expression, property: Expression | Identifier, computed: boolean | undefined, optional: boolean): OptionalMemberExpression;
1918
1934
  export function optionalCallExpression(callee: Expression, _arguments: Array<Expression | SpreadElement | JSXNamespacedName | ArgumentPlaceholder>, optional: boolean): OptionalCallExpression;
1919
- export function classProperty(key: Identifier | StringLiteral | NumericLiteral | Expression, value?: Expression | null, typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null, decorators?: Array<Decorator> | null, computed?: boolean, _static?: boolean): ClassProperty;
1920
- export function classAccessorProperty(key: Identifier | StringLiteral | NumericLiteral | Expression | PrivateName, value?: Expression | null, typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null, decorators?: Array<Decorator> | null, computed?: boolean, _static?: boolean): ClassAccessorProperty;
1921
- export function classPrivateProperty(key: PrivateName, value: Expression | null | undefined, decorators: Array<Decorator> | null | undefined, _static: any): ClassPrivateProperty;
1922
- export function classPrivateMethod(kind: "get" | "set" | "method" | "constructor" | undefined, key: PrivateName, params: Array<Identifier | Pattern | RestElement | TSParameterProperty>, body: BlockStatement, _static?: boolean): ClassPrivateMethod;
1935
+ export function classProperty(key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression, value?: Expression | null, typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null, decorators?: Array<Decorator> | null, computed?: boolean, _static?: boolean): ClassProperty;
1936
+ export function classAccessorProperty(key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression | PrivateName, value?: Expression | null, typeAnnotation?: TypeAnnotation | TSTypeAnnotation | Noop | null, decorators?: Array<Decorator> | null, computed?: boolean, _static?: boolean): ClassAccessorProperty;
1937
+ export function classPrivateProperty(key: PrivateName, value?: Expression | null, decorators?: Array<Decorator> | null, _static?: boolean): ClassPrivateProperty;
1938
+ export function classPrivateMethod(kind: "get" | "set" | "method" | undefined, key: PrivateName, params: Array<Identifier | Pattern | RestElement | TSParameterProperty>, body: BlockStatement, _static?: boolean): ClassPrivateMethod;
1923
1939
  export function privateName(id: Identifier): PrivateName;
1924
1940
  export function staticBlock(body: Array<Statement>): StaticBlock;
1925
1941
  export function anyTypeAnnotation(): AnyTypeAnnotation;
@@ -2021,7 +2037,7 @@ export function pipelineBareFunction(callee: Expression): PipelineBareFunction;
2021
2037
  export function pipelinePrimaryTopicReference(): PipelinePrimaryTopicReference;
2022
2038
  export function tsParameterProperty(parameter: Identifier | AssignmentPattern): TSParameterProperty;
2023
2039
  export function tsDeclareFunction(id: Identifier | null | undefined, typeParameters: TSTypeParameterDeclaration | Noop | null | undefined, params: Array<Identifier | Pattern | RestElement>, returnType?: TSTypeAnnotation | Noop | null): TSDeclareFunction;
2024
- export function tsDeclareMethod(decorators: Array<Decorator> | null | undefined, key: Identifier | StringLiteral | NumericLiteral | Expression, typeParameters: TSTypeParameterDeclaration | Noop | null | undefined, params: Array<Identifier | Pattern | RestElement | TSParameterProperty>, returnType?: TSTypeAnnotation | Noop | null): TSDeclareMethod;
2040
+ export function tsDeclareMethod(decorators: Array<Decorator> | null | undefined, key: Identifier | StringLiteral | NumericLiteral | BigIntLiteral | Expression, typeParameters: TSTypeParameterDeclaration | Noop | null | undefined, params: Array<Identifier | Pattern | RestElement | TSParameterProperty>, returnType?: TSTypeAnnotation | Noop | null): TSDeclareMethod;
2025
2041
  export function tsQualifiedName(left: TSEntityName, right: Identifier): TSQualifiedName;
2026
2042
  export function tsCallSignatureDeclaration(typeParameters: TSTypeParameterDeclaration | null | undefined, parameters: Array<Identifier | RestElement>, typeAnnotation?: TSTypeAnnotation | null): TSCallSignatureDeclaration;
2027
2043
  export function tsConstructSignatureDeclaration(typeParameters: TSTypeParameterDeclaration | null | undefined, parameters: Array<Identifier | RestElement>, typeAnnotation?: TSTypeAnnotation | null): TSConstructSignatureDeclaration;
@@ -2046,7 +2062,7 @@ export function tsFunctionType(typeParameters: TSTypeParameterDeclaration | null
2046
2062
  export function tsConstructorType(typeParameters: TSTypeParameterDeclaration | null | undefined, parameters: Array<Identifier | RestElement>, typeAnnotation?: TSTypeAnnotation | null): TSConstructorType;
2047
2063
  export function tsTypeReference(typeName: TSEntityName, typeParameters?: TSTypeParameterInstantiation | null): TSTypeReference;
2048
2064
  export function tsTypePredicate(parameterName: Identifier | TSThisType, typeAnnotation?: TSTypeAnnotation | null, asserts?: boolean | null): TSTypePredicate;
2049
- export function tsTypeQuery(exprName: TSEntityName | TSImportType): TSTypeQuery;
2065
+ export function tsTypeQuery(exprName: TSEntityName | TSImportType, typeParameters?: TSTypeParameterInstantiation | null): TSTypeQuery;
2050
2066
  export function tsTypeLiteral(members: Array<TSTypeElement>): TSTypeLiteral;
2051
2067
  export function tsArrayType(elementType: TSType): TSArrayType;
2052
2068
  export function tsTupleType(elementTypes: Array<TSType | TSNamedTupleMember>): TSTupleType;
@@ -2061,12 +2077,14 @@ export function tsParenthesizedType(typeAnnotation: TSType): TSParenthesizedType
2061
2077
  export function tsTypeOperator(typeAnnotation: TSType): TSTypeOperator;
2062
2078
  export function tsIndexedAccessType(objectType: TSType, indexType: TSType): TSIndexedAccessType;
2063
2079
  export function tsMappedType(typeParameter: TSTypeParameter, typeAnnotation?: TSType | null, nameType?: TSType | null): TSMappedType;
2064
- export function tsLiteralType(literal: NumericLiteral | StringLiteral | BooleanLiteral | BigIntLiteral | UnaryExpression): TSLiteralType;
2080
+ export function tsLiteralType(literal: NumericLiteral | StringLiteral | BooleanLiteral | BigIntLiteral | TemplateLiteral | UnaryExpression): TSLiteralType;
2065
2081
  export function tsExpressionWithTypeArguments(expression: TSEntityName, typeParameters?: TSTypeParameterInstantiation | null): TSExpressionWithTypeArguments;
2066
2082
  export function tsInterfaceDeclaration(id: Identifier, typeParameters: TSTypeParameterDeclaration | null | undefined, _extends: Array<TSExpressionWithTypeArguments> | null | undefined, body: TSInterfaceBody): TSInterfaceDeclaration;
2067
2083
  export function tsInterfaceBody(body: Array<TSTypeElement>): TSInterfaceBody;
2068
2084
  export function tsTypeAliasDeclaration(id: Identifier, typeParameters: TSTypeParameterDeclaration | null | undefined, typeAnnotation: TSType): TSTypeAliasDeclaration;
2085
+ export function tsInstantiationExpression(expression: Expression, typeParameters?: TSTypeParameterInstantiation | null): TSInstantiationExpression;
2069
2086
  export function tsAsExpression(expression: Expression, typeAnnotation: TSType): TSAsExpression;
2087
+ export function tsSatisfiesExpression(expression: Expression, typeAnnotation: TSType): TSSatisfiesExpression;
2070
2088
  export function tsTypeAssertion(typeAnnotation: TSType, expression: Expression): TSTypeAssertion;
2071
2089
  export function tsEnumDeclaration(id: Identifier, members: Array<TSEnumMember>): TSEnumDeclaration;
2072
2090
  export function tsEnumMember(id: Identifier | StringLiteral, initializer?: Expression | null): TSEnumMember;
@@ -2092,7 +2110,7 @@ export function markoScriptlet(body: Array<Statement>, _static?: boolean): Marko
2092
2110
  export function markoClass(body: ClassBody): MarkoClass;
2093
2111
  export function markoAttribute(name: string, value: Expression, modifier?: string | null, _arguments?: Array<Expression | SpreadElement> | null, _default?: boolean | null, bound?: boolean | null): MarkoAttribute;
2094
2112
  export function markoSpreadAttribute(value: Expression): MarkoSpreadAttribute;
2095
- export function markoTagBody(body?: Array<MarkoTag | MarkoCDATA | MarkoText | MarkoPlaceholder | MarkoScriptlet | MarkoComment>, params?: Array<Identifier | Pattern | RestElement>): MarkoTagBody;
2113
+ export function markoTagBody(body?: Array<MarkoTag | MarkoCDATA | MarkoText | MarkoPlaceholder | MarkoScriptlet | MarkoComment>, params?: array): MarkoTagBody;
2096
2114
  export function markoTag(name: Expression, attributes: Array<MarkoAttribute | MarkoSpreadAttribute> | undefined, body: MarkoTagBody, _arguments?: Array<Expression | SpreadElement> | null, _var?: LVal | null): MarkoTag;
2097
2115
  export function isAccessor(node: object | null | undefined, opts?: object | null): node is Accessor;
2098
2116
  export function assertAccessor(node: object | null | undefined, opts?: object | null): void;
@@ -2578,6 +2596,8 @@ export function isTSIndexedAccessType(node: object | null | undefined, opts?: ob
2578
2596
  export function assertTSIndexedAccessType(node: object | null | undefined, opts?: object | null): void;
2579
2597
  export function isTSInferType(node: object | null | undefined, opts?: object | null): node is TSInferType;
2580
2598
  export function assertTSInferType(node: object | null | undefined, opts?: object | null): void;
2599
+ export function isTSInstantiationExpression(node: object | null | undefined, opts?: object | null): node is TSInstantiationExpression;
2600
+ export function assertTSInstantiationExpression(node: object | null | undefined, opts?: object | null): void;
2581
2601
  export function isTSInterfaceBody(node: object | null | undefined, opts?: object | null): node is TSInterfaceBody;
2582
2602
  export function assertTSInterfaceBody(node: object | null | undefined, opts?: object | null): void;
2583
2603
  export function isTSInterfaceDeclaration(node: object | null | undefined, opts?: object | null): node is TSInterfaceDeclaration;
@@ -2622,6 +2642,8 @@ export function isTSQualifiedName(node: object | null | undefined, opts?: object
2622
2642
  export function assertTSQualifiedName(node: object | null | undefined, opts?: object | null): void;
2623
2643
  export function isTSRestType(node: object | null | undefined, opts?: object | null): node is TSRestType;
2624
2644
  export function assertTSRestType(node: object | null | undefined, opts?: object | null): void;
2645
+ export function isTSSatisfiesExpression(node: object | null | undefined, opts?: object | null): node is TSSatisfiesExpression;
2646
+ export function assertTSSatisfiesExpression(node: object | null | undefined, opts?: object | null): void;
2625
2647
  export function isTSStringKeyword(node: object | null | undefined, opts?: object | null): node is TSStringKeyword;
2626
2648
  export function assertTSStringKeyword(node: object | null | undefined, opts?: object | null): void;
2627
2649
  export function isTSSymbolKeyword(node: object | null | undefined, opts?: object | null): node is TSSymbolKeyword;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@marko/compiler",
3
3
  "description": "Marko template to JS compiler.",
4
- "version": "5.23.0",
4
+ "version": "5.23.1",
5
5
  "author": "Dylan Piercey <dpiercey@ebay.com>",
6
6
  "bugs": "https://github.com/marko-js/marko/issues/new?template=Bug_report.md",
7
7
  "dependencies": {
@@ -30,7 +30,7 @@
30
30
  "strip-json-comments": "^3.1.1"
31
31
  },
32
32
  "devDependencies": {
33
- "@marko/translator-default": "^5.22.0"
33
+ "@marko/translator-default": "^5.22.1"
34
34
  },
35
35
  "files": [
36
36
  "dist",