1161 lines
63 KiB
Plaintext
1161 lines
63 KiB
Plaintext
import type { ModifierFlags } from "#enums/modifierFlags";
|
|
import type { NodeFlags } from "#enums/nodeFlags";
|
|
import { SyntaxKind } from "#enums/syntaxKind";
|
|
import { TokenFlags } from "#enums/tokenFlags";
|
|
import type { JsxTagNamePropertyAccess, Node, NodeArray } from "./ast.ts";
|
|
export type TriviaSyntaxKind = SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia | SyntaxKind.NewLineTrivia | SyntaxKind.WhitespaceTrivia | SyntaxKind.ConflictMarkerTrivia;
|
|
export type LiteralSyntaxKind = SyntaxKind.NumericLiteral | SyntaxKind.BigIntLiteral | SyntaxKind.StringLiteral | SyntaxKind.JsxText | SyntaxKind.JsxTextAllWhiteSpaces | SyntaxKind.RegularExpressionLiteral | SyntaxKind.NoSubstitutionTemplateLiteral;
|
|
export type PseudoLiteralSyntaxKind = SyntaxKind.TemplateHead | SyntaxKind.TemplateMiddle | SyntaxKind.TemplateTail;
|
|
export type PunctuationSyntaxKind = SyntaxKind.OpenBraceToken | SyntaxKind.CloseBraceToken | SyntaxKind.OpenParenToken | SyntaxKind.CloseParenToken | SyntaxKind.OpenBracketToken | SyntaxKind.CloseBracketToken | SyntaxKind.DotToken | SyntaxKind.DotDotDotToken | SyntaxKind.SemicolonToken | SyntaxKind.CommaToken | SyntaxKind.QuestionDotToken | SyntaxKind.LessThanToken | SyntaxKind.LessThanSlashToken | SyntaxKind.GreaterThanToken | SyntaxKind.LessThanEqualsToken | SyntaxKind.GreaterThanEqualsToken | SyntaxKind.EqualsEqualsToken | SyntaxKind.ExclamationEqualsToken | SyntaxKind.EqualsEqualsEqualsToken | SyntaxKind.ExclamationEqualsEqualsToken | SyntaxKind.EqualsGreaterThanToken | SyntaxKind.PlusToken | SyntaxKind.MinusToken | SyntaxKind.AsteriskToken | SyntaxKind.AsteriskAsteriskToken | SyntaxKind.SlashToken | SyntaxKind.PercentToken | SyntaxKind.PlusPlusToken | SyntaxKind.MinusMinusToken | SyntaxKind.LessThanLessThanToken | SyntaxKind.GreaterThanGreaterThanToken | SyntaxKind.GreaterThanGreaterThanGreaterThanToken | SyntaxKind.AmpersandToken | SyntaxKind.BarToken | SyntaxKind.CaretToken | SyntaxKind.ExclamationToken | SyntaxKind.TildeToken | SyntaxKind.AmpersandAmpersandToken | SyntaxKind.BarBarToken | SyntaxKind.QuestionToken | SyntaxKind.ColonToken | SyntaxKind.AtToken | SyntaxKind.QuestionQuestionToken | SyntaxKind.BacktickToken | SyntaxKind.HashToken | SyntaxKind.EqualsToken | SyntaxKind.PlusEqualsToken | SyntaxKind.MinusEqualsToken | SyntaxKind.AsteriskEqualsToken | SyntaxKind.AsteriskAsteriskEqualsToken | SyntaxKind.SlashEqualsToken | SyntaxKind.PercentEqualsToken | SyntaxKind.LessThanLessThanEqualsToken | SyntaxKind.GreaterThanGreaterThanEqualsToken | SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken | SyntaxKind.AmpersandEqualsToken | SyntaxKind.BarEqualsToken | SyntaxKind.BarBarEqualsToken | SyntaxKind.AmpersandAmpersandEqualsToken | SyntaxKind.QuestionQuestionEqualsToken | SyntaxKind.CaretEqualsToken;
|
|
export type KeywordSyntaxKind = SyntaxKind.BreakKeyword | SyntaxKind.CaseKeyword | SyntaxKind.CatchKeyword | SyntaxKind.ClassKeyword | SyntaxKind.ConstKeyword | SyntaxKind.ContinueKeyword | SyntaxKind.DebuggerKeyword | SyntaxKind.DefaultKeyword | SyntaxKind.DeleteKeyword | SyntaxKind.DoKeyword | SyntaxKind.ElseKeyword | SyntaxKind.EnumKeyword | SyntaxKind.ExportKeyword | SyntaxKind.ExtendsKeyword | SyntaxKind.FalseKeyword | SyntaxKind.FinallyKeyword | SyntaxKind.ForKeyword | SyntaxKind.FunctionKeyword | SyntaxKind.IfKeyword | SyntaxKind.ImportKeyword | SyntaxKind.InKeyword | SyntaxKind.InstanceOfKeyword | SyntaxKind.NewKeyword | SyntaxKind.NullKeyword | SyntaxKind.ReturnKeyword | SyntaxKind.SuperKeyword | SyntaxKind.SwitchKeyword | SyntaxKind.ThisKeyword | SyntaxKind.ThrowKeyword | SyntaxKind.TrueKeyword | SyntaxKind.TryKeyword | SyntaxKind.TypeOfKeyword | SyntaxKind.VarKeyword | SyntaxKind.VoidKeyword | SyntaxKind.WhileKeyword | SyntaxKind.WithKeyword | SyntaxKind.ImplementsKeyword | SyntaxKind.InterfaceKeyword | SyntaxKind.LetKeyword | SyntaxKind.PackageKeyword | SyntaxKind.PrivateKeyword | SyntaxKind.ProtectedKeyword | SyntaxKind.PublicKeyword | SyntaxKind.StaticKeyword | SyntaxKind.YieldKeyword | SyntaxKind.AbstractKeyword | SyntaxKind.AccessorKeyword | SyntaxKind.AsKeyword | SyntaxKind.AssertsKeyword | SyntaxKind.AssertKeyword | SyntaxKind.AnyKeyword | SyntaxKind.AsyncKeyword | SyntaxKind.AwaitKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.ConstructorKeyword | SyntaxKind.DeclareKeyword | SyntaxKind.GetKeyword | SyntaxKind.ImmediateKeyword | SyntaxKind.InferKeyword | SyntaxKind.IntrinsicKeyword | SyntaxKind.IsKeyword | SyntaxKind.KeyOfKeyword | SyntaxKind.ModuleKeyword | SyntaxKind.NamespaceKeyword | SyntaxKind.NeverKeyword | SyntaxKind.OutKeyword | SyntaxKind.ReadonlyKeyword | SyntaxKind.RequireKeyword | SyntaxKind.NumberKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.SatisfiesKeyword | SyntaxKind.SetKeyword | SyntaxKind.StringKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.TypeKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.UniqueKeyword | SyntaxKind.UnknownKeyword | SyntaxKind.UsingKeyword | SyntaxKind.FromKeyword | SyntaxKind.GlobalKeyword | SyntaxKind.BigIntKeyword | SyntaxKind.OverrideKeyword | SyntaxKind.OfKeyword | SyntaxKind.DeferKeyword;
|
|
export type ModifierSyntaxKind = SyntaxKind.AbstractKeyword | SyntaxKind.AccessorKeyword | SyntaxKind.AsyncKeyword | SyntaxKind.ConstKeyword | SyntaxKind.DeclareKeyword | SyntaxKind.DefaultKeyword | SyntaxKind.ExportKeyword | SyntaxKind.InKeyword | SyntaxKind.PrivateKeyword | SyntaxKind.ProtectedKeyword | SyntaxKind.PublicKeyword | SyntaxKind.ReadonlyKeyword | SyntaxKind.OutKeyword | SyntaxKind.OverrideKeyword | SyntaxKind.StaticKeyword;
|
|
export type KeywordTypeSyntaxKind = SyntaxKind.AnyKeyword | SyntaxKind.BigIntKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.IntrinsicKeyword | SyntaxKind.NeverKeyword | SyntaxKind.NumberKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.StringKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.UnknownKeyword | SyntaxKind.VoidKeyword;
|
|
export type KeywordExpressionSyntaxKind = SyntaxKind.NullKeyword | SyntaxKind.TrueKeyword | SyntaxKind.FalseKeyword | SyntaxKind.ThisKeyword | SyntaxKind.SuperKeyword | SyntaxKind.ImportKeyword;
|
|
export type TokenSyntaxKind = SyntaxKind.Unknown | SyntaxKind.EndOfFile | SyntaxKind.SingleLineCommentTrivia | SyntaxKind.MultiLineCommentTrivia | SyntaxKind.NewLineTrivia | SyntaxKind.WhitespaceTrivia | SyntaxKind.ConflictMarkerTrivia | SyntaxKind.NonTextFileMarkerTrivia | SyntaxKind.NumericLiteral | SyntaxKind.BigIntLiteral | SyntaxKind.StringLiteral | SyntaxKind.JsxText | SyntaxKind.JsxTextAllWhiteSpaces | SyntaxKind.RegularExpressionLiteral | SyntaxKind.NoSubstitutionTemplateLiteral | SyntaxKind.TemplateHead | SyntaxKind.TemplateMiddle | SyntaxKind.TemplateTail | SyntaxKind.OpenBraceToken | SyntaxKind.CloseBraceToken | SyntaxKind.OpenParenToken | SyntaxKind.CloseParenToken | SyntaxKind.OpenBracketToken | SyntaxKind.CloseBracketToken | SyntaxKind.DotToken | SyntaxKind.DotDotDotToken | SyntaxKind.SemicolonToken | SyntaxKind.CommaToken | SyntaxKind.QuestionDotToken | SyntaxKind.LessThanToken | SyntaxKind.LessThanSlashToken | SyntaxKind.GreaterThanToken | SyntaxKind.LessThanEqualsToken | SyntaxKind.GreaterThanEqualsToken | SyntaxKind.EqualsEqualsToken | SyntaxKind.ExclamationEqualsToken | SyntaxKind.EqualsEqualsEqualsToken | SyntaxKind.ExclamationEqualsEqualsToken | SyntaxKind.EqualsGreaterThanToken | SyntaxKind.PlusToken | SyntaxKind.MinusToken | SyntaxKind.AsteriskToken | SyntaxKind.AsteriskAsteriskToken | SyntaxKind.SlashToken | SyntaxKind.PercentToken | SyntaxKind.PlusPlusToken | SyntaxKind.MinusMinusToken | SyntaxKind.LessThanLessThanToken | SyntaxKind.GreaterThanGreaterThanToken | SyntaxKind.GreaterThanGreaterThanGreaterThanToken | SyntaxKind.AmpersandToken | SyntaxKind.BarToken | SyntaxKind.CaretToken | SyntaxKind.ExclamationToken | SyntaxKind.TildeToken | SyntaxKind.AmpersandAmpersandToken | SyntaxKind.BarBarToken | SyntaxKind.QuestionToken | SyntaxKind.ColonToken | SyntaxKind.AtToken | SyntaxKind.QuestionQuestionToken | SyntaxKind.BacktickToken | SyntaxKind.HashToken | SyntaxKind.EqualsToken | SyntaxKind.PlusEqualsToken | SyntaxKind.MinusEqualsToken | SyntaxKind.AsteriskEqualsToken | SyntaxKind.AsteriskAsteriskEqualsToken | SyntaxKind.SlashEqualsToken | SyntaxKind.PercentEqualsToken | SyntaxKind.LessThanLessThanEqualsToken | SyntaxKind.GreaterThanGreaterThanEqualsToken | SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken | SyntaxKind.AmpersandEqualsToken | SyntaxKind.BarEqualsToken | SyntaxKind.BarBarEqualsToken | SyntaxKind.AmpersandAmpersandEqualsToken | SyntaxKind.QuestionQuestionEqualsToken | SyntaxKind.CaretEqualsToken | SyntaxKind.Identifier | SyntaxKind.PrivateIdentifier | SyntaxKind.JSDocCommentTextToken | SyntaxKind.BreakKeyword | SyntaxKind.CaseKeyword | SyntaxKind.CatchKeyword | SyntaxKind.ClassKeyword | SyntaxKind.ConstKeyword | SyntaxKind.ContinueKeyword | SyntaxKind.DebuggerKeyword | SyntaxKind.DefaultKeyword | SyntaxKind.DeleteKeyword | SyntaxKind.DoKeyword | SyntaxKind.ElseKeyword | SyntaxKind.EnumKeyword | SyntaxKind.ExportKeyword | SyntaxKind.ExtendsKeyword | SyntaxKind.FalseKeyword | SyntaxKind.FinallyKeyword | SyntaxKind.ForKeyword | SyntaxKind.FunctionKeyword | SyntaxKind.IfKeyword | SyntaxKind.ImportKeyword | SyntaxKind.InKeyword | SyntaxKind.InstanceOfKeyword | SyntaxKind.NewKeyword | SyntaxKind.NullKeyword | SyntaxKind.ReturnKeyword | SyntaxKind.SuperKeyword | SyntaxKind.SwitchKeyword | SyntaxKind.ThisKeyword | SyntaxKind.ThrowKeyword | SyntaxKind.TrueKeyword | SyntaxKind.TryKeyword | SyntaxKind.TypeOfKeyword | SyntaxKind.VarKeyword | SyntaxKind.VoidKeyword | SyntaxKind.WhileKeyword | SyntaxKind.WithKeyword | SyntaxKind.ImplementsKeyword | SyntaxKind.InterfaceKeyword | SyntaxKind.LetKeyword | SyntaxKind.PackageKeyword | SyntaxKind.PrivateKeyword | SyntaxKind.ProtectedKeyword | SyntaxKind.PublicKeyword | SyntaxKind.StaticKeyword | SyntaxKind.YieldKeyword | SyntaxKind.AbstractKeyword | SyntaxKind.AccessorKeyword | SyntaxKind.AsKeyword | SyntaxKind.AssertsKeyword | SyntaxKind.AssertKeyword | SyntaxKind.AnyKeyword | SyntaxKind.AsyncKeyword | SyntaxKind.AwaitKeyword | SyntaxKind.BooleanKeyword | SyntaxKind.ConstructorKeyword | SyntaxKind.DeclareKeyword | SyntaxKind.GetKeyword | SyntaxKind.ImmediateKeyword | SyntaxKind.InferKeyword | SyntaxKind.IntrinsicKeyword | SyntaxKind.IsKeyword | SyntaxKind.KeyOfKeyword | SyntaxKind.ModuleKeyword | SyntaxKind.NamespaceKeyword | SyntaxKind.NeverKeyword | SyntaxKind.OutKeyword | SyntaxKind.ReadonlyKeyword | SyntaxKind.RequireKeyword | SyntaxKind.NumberKeyword | SyntaxKind.ObjectKeyword | SyntaxKind.SatisfiesKeyword | SyntaxKind.SetKeyword | SyntaxKind.StringKeyword | SyntaxKind.SymbolKeyword | SyntaxKind.TypeKeyword | SyntaxKind.UndefinedKeyword | SyntaxKind.UniqueKeyword | SyntaxKind.UnknownKeyword | SyntaxKind.UsingKeyword | SyntaxKind.FromKeyword | SyntaxKind.GlobalKeyword | SyntaxKind.BigIntKeyword | SyntaxKind.OverrideKeyword | SyntaxKind.OfKeyword | SyntaxKind.DeferKeyword;
|
|
export type JsxTokenSyntaxKind = SyntaxKind.LessThanSlashToken | SyntaxKind.EndOfFile | SyntaxKind.ConflictMarkerTrivia | SyntaxKind.JsxText | SyntaxKind.JsxTextAllWhiteSpaces | SyntaxKind.OpenBraceToken | SyntaxKind.LessThanToken;
|
|
export type JSDocNodeSyntaxKind = SyntaxKind.JSDocTypeExpression | SyntaxKind.JSDocNameReference | SyntaxKind.JSDocAllType | SyntaxKind.JSDocNullableType | SyntaxKind.JSDocNonNullableType | SyntaxKind.JSDocOptionalType | SyntaxKind.JSDocVariadicType | SyntaxKind.JSDoc | SyntaxKind.JSDocText | SyntaxKind.JSDocTypeLiteral | SyntaxKind.JSDocSignature | SyntaxKind.JSDocLink | SyntaxKind.JSDocLinkCode | SyntaxKind.JSDocLinkPlain | SyntaxKind.JSDocUnknownTag | SyntaxKind.JSDocAugmentsTag | SyntaxKind.JSDocImplementsTag | SyntaxKind.JSDocDeprecatedTag | SyntaxKind.JSDocPublicTag | SyntaxKind.JSDocPrivateTag | SyntaxKind.JSDocProtectedTag | SyntaxKind.JSDocReadonlyTag | SyntaxKind.JSDocOverrideTag | SyntaxKind.JSDocCallbackTag | SyntaxKind.JSDocOverloadTag | SyntaxKind.JSDocParameterTag | SyntaxKind.JSDocReturnTag | SyntaxKind.JSDocThisTag | SyntaxKind.JSDocTypeTag | SyntaxKind.JSDocTemplateTag | SyntaxKind.JSDocTypedefTag | SyntaxKind.JSDocSeeTag | SyntaxKind.JSDocPropertyTag | SyntaxKind.JSDocThrowsTag | SyntaxKind.JSDocSatisfiesTag | SyntaxKind.JSDocImportTag;
|
|
export type ImportPhaseModifierSyntaxKind = SyntaxKind.TypeKeyword | SyntaxKind.DeferKeyword;
|
|
export type PostfixUnaryOperator = SyntaxKind.PlusPlusToken | SyntaxKind.MinusMinusToken;
|
|
export type PrefixUnaryOperator = SyntaxKind.PlusToken | SyntaxKind.MinusToken | SyntaxKind.TildeToken | SyntaxKind.ExclamationToken | SyntaxKind.PlusPlusToken | SyntaxKind.MinusMinusToken;
|
|
export type AssignmentOperator = SyntaxKind.EqualsToken | CompoundAssignmentOperator;
|
|
export type BinaryOperator = AssignmentOperatorOrHigher | SyntaxKind.CommaToken;
|
|
export type ExponentiationOperator = SyntaxKind.AsteriskAsteriskToken;
|
|
export type MultiplicativeOperator = SyntaxKind.AsteriskToken | SyntaxKind.SlashToken | SyntaxKind.PercentToken;
|
|
export type MultiplicativeOperatorOrHigher = ExponentiationOperator | MultiplicativeOperator;
|
|
export type AdditiveOperator = SyntaxKind.PlusToken | SyntaxKind.MinusToken;
|
|
export type AdditiveOperatorOrHigher = MultiplicativeOperatorOrHigher | AdditiveOperator;
|
|
export type ShiftOperator = SyntaxKind.LessThanLessThanToken | SyntaxKind.GreaterThanGreaterThanToken | SyntaxKind.GreaterThanGreaterThanGreaterThanToken;
|
|
export type ShiftOperatorOrHigher = AdditiveOperatorOrHigher | ShiftOperator;
|
|
export type RelationalOperator = SyntaxKind.LessThanToken | SyntaxKind.LessThanEqualsToken | SyntaxKind.GreaterThanToken | SyntaxKind.GreaterThanEqualsToken | SyntaxKind.InstanceOfKeyword | SyntaxKind.InKeyword;
|
|
export type RelationalOperatorOrHigher = ShiftOperatorOrHigher | RelationalOperator;
|
|
export type EqualityOperator = SyntaxKind.EqualsEqualsToken | SyntaxKind.EqualsEqualsEqualsToken | SyntaxKind.ExclamationEqualsEqualsToken | SyntaxKind.ExclamationEqualsToken;
|
|
export type EqualityOperatorOrHigher = RelationalOperatorOrHigher | EqualityOperator;
|
|
export type BitwiseOperator = SyntaxKind.AmpersandToken | SyntaxKind.BarToken | SyntaxKind.CaretToken;
|
|
export type BitwiseOperatorOrHigher = EqualityOperatorOrHigher | BitwiseOperator;
|
|
export type LogicalOperator = SyntaxKind.AmpersandAmpersandToken | SyntaxKind.BarBarToken;
|
|
export type LogicalOperatorOrHigher = BitwiseOperatorOrHigher | LogicalOperator;
|
|
export type CompoundAssignmentOperator = SyntaxKind.PlusEqualsToken | SyntaxKind.MinusEqualsToken | SyntaxKind.AsteriskAsteriskEqualsToken | SyntaxKind.AsteriskEqualsToken | SyntaxKind.SlashEqualsToken | SyntaxKind.PercentEqualsToken | SyntaxKind.AmpersandEqualsToken | SyntaxKind.BarEqualsToken | SyntaxKind.CaretEqualsToken | SyntaxKind.LessThanLessThanEqualsToken | SyntaxKind.GreaterThanGreaterThanGreaterThanEqualsToken | SyntaxKind.GreaterThanGreaterThanEqualsToken | SyntaxKind.BarBarEqualsToken | SyntaxKind.AmpersandAmpersandEqualsToken | SyntaxKind.QuestionQuestionEqualsToken;
|
|
export type AssignmentOperatorOrHigher = SyntaxKind.QuestionQuestionToken | LogicalOperatorOrHigher | AssignmentOperator;
|
|
export type LogicalOrCoalescingAssignmentOperator = SyntaxKind.AmpersandAmpersandEqualsToken | SyntaxKind.BarBarEqualsToken | SyntaxKind.QuestionQuestionEqualsToken;
|
|
export interface NodeBase extends Node {
|
|
readonly flags: NodeFlags;
|
|
}
|
|
export interface StatementBase extends NodeBase {
|
|
readonly _statementBrand: any;
|
|
}
|
|
export interface IterationStatementBase extends StatementBase {
|
|
readonly statement: Statement;
|
|
}
|
|
export interface ExpressionBase extends NodeBase {
|
|
readonly _expressionBrand: any;
|
|
}
|
|
export interface UnaryExpressionBase extends ExpressionBase {
|
|
readonly _unaryExpressionBrand: any;
|
|
}
|
|
export interface UpdateExpressionBase extends UnaryExpressionBase {
|
|
readonly _updateExpressionBrand: any;
|
|
}
|
|
export interface LeftHandSideExpressionBase extends UpdateExpressionBase {
|
|
readonly _leftHandSideExpressionBrand: any;
|
|
}
|
|
export interface MemberExpressionBase extends LeftHandSideExpressionBase {
|
|
readonly _memberExpressionBrand: any;
|
|
}
|
|
export interface PrimaryExpressionBase extends MemberExpressionBase {
|
|
readonly _primaryExpressionBrand: any;
|
|
}
|
|
export interface TypeNodeBase extends NodeBase {
|
|
readonly _typeNodeBrand: any;
|
|
}
|
|
export interface NodeWithTypeArgumentsBase extends TypeNodeBase {
|
|
readonly typeArguments?: NodeArray<TypeNode>;
|
|
}
|
|
export interface JSDocTypeBase extends TypeNodeBase {
|
|
readonly _jsDocTypeBrand: any;
|
|
}
|
|
export interface DeclarationBase extends Node {
|
|
readonly _declarationBrand: any;
|
|
}
|
|
export interface ModifiersBase extends Node {
|
|
readonly modifiers?: NodeArray<ModifierLike>;
|
|
readonly modifierFlags: ModifierFlags;
|
|
}
|
|
export interface FunctionLikeBase extends DeclarationBase {
|
|
readonly typeParameters?: NodeArray<TypeParameterDeclaration>;
|
|
readonly parameters: NodeArray<ParameterDeclaration>;
|
|
readonly type?: TypeNode;
|
|
readonly fullSignature?: TypeNode;
|
|
}
|
|
export interface BodyBase extends Node {
|
|
readonly asteriskToken?: AsteriskToken;
|
|
readonly body?: NodeBody;
|
|
}
|
|
export interface FunctionLikeWithBodyBase extends FunctionLikeBase, BodyBase {
|
|
readonly _functionLikeDeclarationBrand: any;
|
|
readonly body?: BlockOrExpression;
|
|
}
|
|
export interface ClassLikeBase extends DeclarationBase, ModifiersBase {
|
|
readonly name?: Identifier;
|
|
readonly typeParameters?: NodeArray<TypeParameterDeclaration>;
|
|
readonly heritageClauses?: NodeArray<HeritageClause>;
|
|
readonly members: NodeArray<ClassElement>;
|
|
}
|
|
export interface LiteralLikeNodeBase extends Node {
|
|
readonly text: string;
|
|
readonly tokenFlags: TokenFlags;
|
|
}
|
|
export interface LiteralExpressionBase extends LiteralLikeNodeBase, PrimaryExpressionBase {
|
|
readonly _literalExpressionBrand: any;
|
|
}
|
|
export interface TemplateLiteralLikeNodeBase extends LiteralLikeNodeBase {
|
|
readonly rawText: string;
|
|
readonly templateFlags: TokenFlags;
|
|
}
|
|
export interface TypeElementBase extends Node {
|
|
readonly _typeElementBrand: any;
|
|
}
|
|
export interface ClassElementBase extends Node {
|
|
readonly _classElementBrand: any;
|
|
}
|
|
export interface NamedMemberBase extends DeclarationBase, ModifiersBase {
|
|
readonly name: PropertyName;
|
|
readonly postfixToken?: QuestionToken | ExclamationToken;
|
|
}
|
|
export interface ObjectLiteralElementBase extends Node {
|
|
readonly _objectLiteralBrand: any;
|
|
}
|
|
export interface UnionOrIntersectionTypeNodeBase extends TypeNodeBase {
|
|
readonly types: NodeArray<TypeNode>;
|
|
}
|
|
export interface JSDocTagBase extends NodeBase {
|
|
readonly tagName: Identifier;
|
|
readonly comment?: NodeArray<JSDocComment>;
|
|
}
|
|
export interface JSDocCommentBase extends NodeBase {
|
|
readonly text: string;
|
|
}
|
|
export interface Token<TKind extends TokenSyntaxKind = TokenSyntaxKind> extends NodeBase {
|
|
readonly kind: TKind;
|
|
}
|
|
export interface Identifier extends PrimaryExpressionBase {
|
|
readonly kind: SyntaxKind.Identifier;
|
|
readonly text: string;
|
|
}
|
|
export interface PrivateIdentifier extends PrimaryExpressionBase {
|
|
readonly kind: SyntaxKind.PrivateIdentifier;
|
|
readonly text: string;
|
|
}
|
|
export interface QualifiedName extends NodeBase {
|
|
readonly kind: SyntaxKind.QualifiedName;
|
|
readonly left: EntityName;
|
|
readonly right: Identifier;
|
|
}
|
|
export interface ComputedPropertyName extends NodeBase {
|
|
readonly kind: SyntaxKind.ComputedPropertyName;
|
|
readonly expression: Expression;
|
|
}
|
|
export interface Decorator extends NodeBase {
|
|
readonly kind: SyntaxKind.Decorator;
|
|
readonly expression: LeftHandSideExpression;
|
|
}
|
|
export interface EmptyStatement extends StatementBase {
|
|
readonly kind: SyntaxKind.EmptyStatement;
|
|
}
|
|
export interface IfStatement extends StatementBase {
|
|
readonly kind: SyntaxKind.IfStatement;
|
|
readonly expression: Expression;
|
|
readonly thenStatement: Statement;
|
|
readonly elseStatement?: Statement;
|
|
}
|
|
export interface DoStatement extends IterationStatementBase {
|
|
readonly kind: SyntaxKind.DoStatement;
|
|
readonly expression: Expression;
|
|
}
|
|
export interface WhileStatement extends IterationStatementBase {
|
|
readonly kind: SyntaxKind.WhileStatement;
|
|
readonly expression: Expression;
|
|
}
|
|
export interface ForStatement extends IterationStatementBase {
|
|
readonly kind: SyntaxKind.ForStatement;
|
|
readonly initializer?: ForInitializer;
|
|
readonly condition?: Expression;
|
|
readonly incrementor?: Expression;
|
|
}
|
|
export interface BreakStatement extends StatementBase {
|
|
readonly kind: SyntaxKind.BreakStatement;
|
|
readonly label?: Identifier;
|
|
}
|
|
export interface ContinueStatement extends StatementBase {
|
|
readonly kind: SyntaxKind.ContinueStatement;
|
|
readonly label?: Identifier;
|
|
}
|
|
export interface ReturnStatement extends StatementBase {
|
|
readonly kind: SyntaxKind.ReturnStatement;
|
|
readonly expression?: Expression;
|
|
}
|
|
export interface WithStatement extends StatementBase {
|
|
readonly kind: SyntaxKind.WithStatement;
|
|
readonly expression: Expression;
|
|
readonly statement: Statement;
|
|
}
|
|
export interface SwitchStatement extends StatementBase {
|
|
readonly kind: SyntaxKind.SwitchStatement;
|
|
readonly expression: Expression;
|
|
readonly caseBlock: CaseBlock;
|
|
}
|
|
export interface CaseBlock extends NodeBase {
|
|
readonly kind: SyntaxKind.CaseBlock;
|
|
readonly clauses: NodeArray<CaseOrDefaultClause>;
|
|
}
|
|
export interface ThrowStatement extends StatementBase {
|
|
readonly kind: SyntaxKind.ThrowStatement;
|
|
readonly expression: Expression;
|
|
}
|
|
export interface TryStatement extends StatementBase {
|
|
readonly kind: SyntaxKind.TryStatement;
|
|
readonly tryBlock: Block;
|
|
readonly catchClause?: CatchClause;
|
|
readonly finallyBlock?: Block;
|
|
}
|
|
export interface CatchClause extends NodeBase {
|
|
readonly kind: SyntaxKind.CatchClause;
|
|
readonly variableDeclaration?: VariableDeclaration;
|
|
readonly block: Block;
|
|
}
|
|
export interface DebuggerStatement extends StatementBase {
|
|
readonly kind: SyntaxKind.DebuggerStatement;
|
|
}
|
|
export interface LabeledStatement extends StatementBase {
|
|
readonly kind: SyntaxKind.LabeledStatement;
|
|
readonly label: Identifier;
|
|
readonly statement: Statement;
|
|
}
|
|
export interface ExpressionStatement extends StatementBase {
|
|
readonly kind: SyntaxKind.ExpressionStatement;
|
|
readonly expression: Expression;
|
|
}
|
|
export interface Block extends StatementBase {
|
|
readonly kind: SyntaxKind.Block;
|
|
readonly statements: NodeArray<Statement>;
|
|
readonly multiLine: boolean;
|
|
}
|
|
export interface VariableStatement extends StatementBase, ModifiersBase {
|
|
readonly kind: SyntaxKind.VariableStatement;
|
|
readonly declarationList: VariableDeclarationList;
|
|
}
|
|
export interface VariableDeclaration extends NodeBase, DeclarationBase {
|
|
readonly kind: SyntaxKind.VariableDeclaration;
|
|
readonly name: BindingName;
|
|
readonly exclamationToken?: ExclamationToken;
|
|
readonly type?: TypeNode;
|
|
readonly initializer?: Expression;
|
|
}
|
|
export interface VariableDeclarationList extends NodeBase {
|
|
readonly kind: SyntaxKind.VariableDeclarationList;
|
|
readonly declarations: NodeArray<VariableDeclaration>;
|
|
}
|
|
export interface ParameterDeclaration extends NodeBase, DeclarationBase, ModifiersBase {
|
|
readonly kind: SyntaxKind.Parameter;
|
|
readonly dotDotDotToken?: DotDotDotToken;
|
|
readonly name: BindingName;
|
|
readonly questionToken?: QuestionToken;
|
|
readonly type?: TypeNode;
|
|
readonly initializer?: Expression;
|
|
}
|
|
export interface BindingElement extends NodeBase, DeclarationBase {
|
|
readonly kind: SyntaxKind.BindingElement;
|
|
readonly dotDotDotToken?: DotDotDotToken;
|
|
readonly propertyName?: PropertyName;
|
|
readonly name?: BindingName;
|
|
readonly initializer?: Expression;
|
|
}
|
|
export interface MissingDeclaration extends StatementBase, DeclarationBase, ModifiersBase {
|
|
readonly kind: SyntaxKind.MissingDeclaration;
|
|
}
|
|
export interface FunctionDeclaration extends DeclarationBase, StatementBase, ModifiersBase, FunctionLikeWithBodyBase {
|
|
readonly kind: SyntaxKind.FunctionDeclaration;
|
|
readonly name?: Identifier;
|
|
readonly body?: FunctionBody;
|
|
}
|
|
export interface ClassDeclaration extends DeclarationBase, StatementBase, ClassLikeBase {
|
|
readonly kind: SyntaxKind.ClassDeclaration;
|
|
}
|
|
export interface ClassExpression extends PrimaryExpressionBase, ClassLikeBase {
|
|
readonly kind: SyntaxKind.ClassExpression;
|
|
}
|
|
export interface HeritageClause extends NodeBase {
|
|
readonly kind: SyntaxKind.HeritageClause;
|
|
readonly token: SyntaxKind.ExtendsKeyword | SyntaxKind.ImplementsKeyword;
|
|
readonly types: NodeArray<ExpressionWithTypeArguments>;
|
|
}
|
|
export interface InterfaceDeclaration extends DeclarationBase, StatementBase, ModifiersBase {
|
|
readonly kind: SyntaxKind.InterfaceDeclaration;
|
|
readonly name: Identifier;
|
|
readonly typeParameters?: NodeArray<TypeParameterDeclaration>;
|
|
readonly heritageClauses?: NodeArray<HeritageClause>;
|
|
readonly members: NodeArray<TypeElement>;
|
|
}
|
|
export interface TypeAliasDeclaration extends DeclarationBase, StatementBase, ModifiersBase {
|
|
readonly kind: SyntaxKind.TypeAliasDeclaration;
|
|
readonly name: Identifier;
|
|
readonly typeParameters?: NodeArray<TypeParameterDeclaration>;
|
|
readonly type: TypeNode;
|
|
}
|
|
export interface EnumMember extends NodeBase, NamedMemberBase {
|
|
readonly kind: SyntaxKind.EnumMember;
|
|
readonly initializer?: Expression;
|
|
}
|
|
export interface EnumDeclaration extends DeclarationBase, StatementBase, ModifiersBase {
|
|
readonly kind: SyntaxKind.EnumDeclaration;
|
|
readonly name: Identifier;
|
|
readonly members: NodeArray<EnumMember>;
|
|
}
|
|
export interface ModuleBlock extends StatementBase {
|
|
readonly kind: SyntaxKind.ModuleBlock;
|
|
readonly statements: NodeArray<Statement>;
|
|
}
|
|
export interface NotEmittedStatement extends StatementBase {
|
|
readonly kind: SyntaxKind.NotEmittedStatement;
|
|
}
|
|
export interface NotEmittedTypeElement extends NodeBase, TypeElementBase {
|
|
readonly kind: SyntaxKind.NotEmittedTypeElement;
|
|
}
|
|
export interface ImportDeclaration extends StatementBase, ModifiersBase, DeclarationBase {
|
|
readonly kind: SyntaxKind.ImportDeclaration;
|
|
readonly importClause?: ImportClause;
|
|
readonly moduleSpecifier: Expression;
|
|
readonly attributes?: ImportAttributes;
|
|
}
|
|
export interface ExternalModuleReference extends NodeBase {
|
|
readonly kind: SyntaxKind.ExternalModuleReference;
|
|
readonly expression: Expression;
|
|
}
|
|
export interface NamespaceImport extends NodeBase, DeclarationBase {
|
|
readonly kind: SyntaxKind.NamespaceImport;
|
|
readonly name: Identifier;
|
|
}
|
|
export interface NamedImports extends NodeBase {
|
|
readonly kind: SyntaxKind.NamedImports;
|
|
readonly elements: NodeArray<ImportSpecifier>;
|
|
}
|
|
export interface ExportAssignment extends DeclarationBase, StatementBase, ModifiersBase {
|
|
readonly kind: SyntaxKind.ExportAssignment;
|
|
readonly isExportEquals: boolean;
|
|
readonly type: TypeNode;
|
|
readonly expression: Expression;
|
|
}
|
|
export interface NamespaceExportDeclaration extends DeclarationBase, StatementBase, ModifiersBase {
|
|
readonly kind: SyntaxKind.NamespaceExportDeclaration;
|
|
readonly name: Identifier;
|
|
}
|
|
export interface NamespaceExport extends NodeBase, DeclarationBase {
|
|
readonly kind: SyntaxKind.NamespaceExport;
|
|
readonly name: ModuleExportName;
|
|
}
|
|
export interface NamedExports extends NodeBase {
|
|
readonly kind: SyntaxKind.NamedExports;
|
|
readonly elements: NodeArray<ExportSpecifier>;
|
|
}
|
|
export interface ExportSpecifier extends NodeBase, DeclarationBase {
|
|
readonly kind: SyntaxKind.ExportSpecifier;
|
|
readonly isTypeOnly: boolean;
|
|
readonly propertyName?: ModuleExportName;
|
|
readonly name: ModuleExportName;
|
|
}
|
|
export interface CallSignatureDeclaration extends NodeBase, DeclarationBase, FunctionLikeBase, TypeElementBase {
|
|
readonly kind: SyntaxKind.CallSignature;
|
|
}
|
|
export interface ConstructSignatureDeclaration extends NodeBase, DeclarationBase, FunctionLikeBase, TypeElementBase {
|
|
readonly kind: SyntaxKind.ConstructSignature;
|
|
}
|
|
export interface ConstructorDeclaration extends NodeBase, DeclarationBase, ModifiersBase, FunctionLikeWithBodyBase, ClassElementBase {
|
|
readonly kind: SyntaxKind.Constructor;
|
|
readonly body?: FunctionBody;
|
|
}
|
|
export interface GetAccessorDeclaration extends NamedMemberBase, FunctionLikeWithBodyBase, TypeElementBase, ClassElementBase, ObjectLiteralElementBase, NodeBase {
|
|
readonly kind: SyntaxKind.GetAccessor;
|
|
readonly body?: FunctionBody;
|
|
}
|
|
export interface SetAccessorDeclaration extends NamedMemberBase, FunctionLikeWithBodyBase, TypeElementBase, ClassElementBase, ObjectLiteralElementBase, NodeBase {
|
|
readonly kind: SyntaxKind.SetAccessor;
|
|
readonly body?: FunctionBody;
|
|
}
|
|
export interface IndexSignatureDeclaration extends NodeBase, DeclarationBase, ModifiersBase, FunctionLikeBase, TypeElementBase, ClassElementBase {
|
|
readonly kind: SyntaxKind.IndexSignature;
|
|
readonly type: TypeNode;
|
|
}
|
|
export interface MethodSignatureDeclaration extends NodeBase, NamedMemberBase, FunctionLikeBase, TypeElementBase {
|
|
readonly kind: SyntaxKind.MethodSignature;
|
|
}
|
|
export interface MethodDeclaration extends NodeBase, NamedMemberBase, FunctionLikeWithBodyBase, ClassElementBase, ObjectLiteralElementBase {
|
|
readonly kind: SyntaxKind.MethodDeclaration;
|
|
readonly body?: FunctionBody;
|
|
}
|
|
export interface PropertySignatureDeclaration extends NodeBase, NamedMemberBase, TypeElementBase {
|
|
readonly kind: SyntaxKind.PropertySignature;
|
|
readonly type: TypeNode;
|
|
readonly initializer: Expression;
|
|
}
|
|
export interface PropertyDeclaration extends NodeBase, NamedMemberBase, ClassElementBase {
|
|
readonly kind: SyntaxKind.PropertyDeclaration;
|
|
readonly type?: TypeNode;
|
|
readonly initializer?: Expression;
|
|
}
|
|
export interface SemicolonClassElement extends NodeBase, DeclarationBase, ClassElementBase {
|
|
readonly kind: SyntaxKind.SemicolonClassElement;
|
|
}
|
|
export interface ClassStaticBlockDeclaration extends NodeBase, DeclarationBase, ModifiersBase, ClassElementBase {
|
|
readonly kind: SyntaxKind.ClassStaticBlockDeclaration;
|
|
readonly body: Block;
|
|
}
|
|
export interface OmittedExpression extends ExpressionBase {
|
|
readonly kind: SyntaxKind.OmittedExpression;
|
|
}
|
|
export interface KeywordExpression<TKind extends KeywordExpressionSyntaxKind = KeywordExpressionSyntaxKind> extends ExpressionBase {
|
|
readonly kind: TKind;
|
|
}
|
|
export interface StringLiteral extends LiteralExpressionBase {
|
|
readonly kind: SyntaxKind.StringLiteral;
|
|
}
|
|
export interface NumericLiteral extends LiteralExpressionBase {
|
|
readonly kind: SyntaxKind.NumericLiteral;
|
|
}
|
|
export interface BigIntLiteral extends LiteralExpressionBase {
|
|
readonly kind: SyntaxKind.BigIntLiteral;
|
|
}
|
|
export interface RegularExpressionLiteral extends LiteralExpressionBase {
|
|
readonly kind: SyntaxKind.RegularExpressionLiteral;
|
|
}
|
|
export interface NoSubstitutionTemplateLiteral extends ExpressionBase, TemplateLiteralLikeNodeBase, DeclarationBase {
|
|
readonly kind: SyntaxKind.NoSubstitutionTemplateLiteral;
|
|
}
|
|
export interface BinaryExpression extends ExpressionBase, DeclarationBase, ModifiersBase {
|
|
readonly kind: SyntaxKind.BinaryExpression;
|
|
readonly left: Expression;
|
|
readonly type?: TypeNode;
|
|
readonly operatorToken: BinaryOperatorToken;
|
|
readonly right: Expression;
|
|
}
|
|
export interface PrefixUnaryExpression extends UpdateExpressionBase {
|
|
readonly kind: SyntaxKind.PrefixUnaryExpression;
|
|
readonly operator: SyntaxKind.PlusToken | SyntaxKind.MinusToken | SyntaxKind.TildeToken | SyntaxKind.ExclamationToken | SyntaxKind.PlusPlusToken | SyntaxKind.MinusMinusToken;
|
|
readonly operand: Expression;
|
|
}
|
|
export interface PostfixUnaryExpression extends UpdateExpressionBase {
|
|
readonly kind: SyntaxKind.PostfixUnaryExpression;
|
|
readonly operand: Expression;
|
|
readonly operator: SyntaxKind.PlusPlusToken | SyntaxKind.MinusMinusToken;
|
|
}
|
|
export interface YieldExpression extends ExpressionBase {
|
|
readonly kind: SyntaxKind.YieldExpression;
|
|
readonly asteriskToken?: AsteriskToken;
|
|
readonly expression?: Expression;
|
|
}
|
|
export interface ArrowFunction extends ExpressionBase, DeclarationBase, ModifiersBase, FunctionLikeWithBodyBase {
|
|
readonly kind: SyntaxKind.ArrowFunction;
|
|
readonly equalsGreaterThanToken: EqualsGreaterThanToken;
|
|
readonly body: ConciseBody;
|
|
}
|
|
export interface FunctionExpression extends PrimaryExpressionBase, DeclarationBase, ModifiersBase, FunctionLikeWithBodyBase {
|
|
readonly kind: SyntaxKind.FunctionExpression;
|
|
readonly name?: Identifier;
|
|
readonly body: FunctionBody;
|
|
}
|
|
export interface AsExpression extends ExpressionBase {
|
|
readonly kind: SyntaxKind.AsExpression;
|
|
readonly expression: Expression;
|
|
readonly type: TypeNode;
|
|
}
|
|
export interface SatisfiesExpression extends ExpressionBase {
|
|
readonly kind: SyntaxKind.SatisfiesExpression;
|
|
readonly expression: Expression;
|
|
readonly type: TypeNode;
|
|
}
|
|
export interface ConditionalExpression extends ExpressionBase {
|
|
readonly kind: SyntaxKind.ConditionalExpression;
|
|
readonly condition: Expression;
|
|
readonly questionToken: QuestionToken;
|
|
readonly whenTrue: Expression;
|
|
readonly colonToken: ColonToken;
|
|
readonly whenFalse: Expression;
|
|
}
|
|
export interface PropertyAccessExpression extends MemberExpressionBase {
|
|
readonly kind: SyntaxKind.PropertyAccessExpression;
|
|
readonly expression: Expression;
|
|
readonly questionDotToken?: QuestionDotToken;
|
|
readonly name: MemberName;
|
|
}
|
|
export interface ElementAccessExpression extends MemberExpressionBase {
|
|
readonly kind: SyntaxKind.ElementAccessExpression;
|
|
readonly expression: Expression;
|
|
readonly questionDotToken?: QuestionDotToken;
|
|
readonly argumentExpression: Expression;
|
|
}
|
|
export interface CallExpression extends LeftHandSideExpressionBase, DeclarationBase {
|
|
readonly kind: SyntaxKind.CallExpression;
|
|
readonly expression: Expression;
|
|
readonly questionDotToken?: QuestionDotToken;
|
|
readonly typeArguments?: NodeArray<TypeNode>;
|
|
readonly arguments: NodeArray<Expression>;
|
|
}
|
|
export interface NewExpression extends PrimaryExpressionBase {
|
|
readonly kind: SyntaxKind.NewExpression;
|
|
readonly expression: Expression;
|
|
readonly typeArguments?: NodeArray<TypeNode>;
|
|
readonly arguments?: NodeArray<Expression>;
|
|
}
|
|
export interface MetaProperty extends PrimaryExpressionBase {
|
|
readonly kind: SyntaxKind.MetaProperty;
|
|
readonly keywordToken: SyntaxKind.ImportKeyword | SyntaxKind.NewKeyword;
|
|
readonly name: Identifier;
|
|
}
|
|
export interface NonNullExpression extends LeftHandSideExpressionBase {
|
|
readonly kind: SyntaxKind.NonNullExpression;
|
|
readonly expression: Expression;
|
|
}
|
|
export interface SpreadElement extends ExpressionBase {
|
|
readonly kind: SyntaxKind.SpreadElement;
|
|
readonly expression: Expression;
|
|
}
|
|
export interface TemplateExpression extends PrimaryExpressionBase {
|
|
readonly kind: SyntaxKind.TemplateExpression;
|
|
readonly head: TemplateHead;
|
|
readonly templateSpans: NodeArray<TemplateSpan>;
|
|
}
|
|
export interface TemplateSpan extends NodeBase {
|
|
readonly kind: SyntaxKind.TemplateSpan;
|
|
readonly expression: Expression;
|
|
readonly literal: TemplateMiddleOrTail;
|
|
}
|
|
export interface TaggedTemplateExpression extends MemberExpressionBase {
|
|
readonly kind: SyntaxKind.TaggedTemplateExpression;
|
|
readonly tag: Expression;
|
|
readonly questionDotToken: QuestionDotToken;
|
|
readonly typeArguments?: NodeArray<TypeNode>;
|
|
readonly template: TemplateLiteral;
|
|
}
|
|
export interface ParenthesizedExpression extends PrimaryExpressionBase {
|
|
readonly kind: SyntaxKind.ParenthesizedExpression;
|
|
readonly expression: Expression;
|
|
}
|
|
export interface ArrayLiteralExpression extends PrimaryExpressionBase {
|
|
readonly kind: SyntaxKind.ArrayLiteralExpression;
|
|
readonly elements: NodeArray<Expression>;
|
|
readonly multiLine: boolean;
|
|
}
|
|
export interface ObjectLiteralExpression extends PrimaryExpressionBase, DeclarationBase {
|
|
readonly kind: SyntaxKind.ObjectLiteralExpression;
|
|
readonly properties: NodeArray<ObjectLiteralElementLike>;
|
|
readonly multiLine: boolean;
|
|
}
|
|
export interface SpreadAssignment extends NodeBase, DeclarationBase, ObjectLiteralElementBase {
|
|
readonly kind: SyntaxKind.SpreadAssignment;
|
|
readonly expression: Expression;
|
|
}
|
|
export interface PropertyAssignment extends NodeBase, NamedMemberBase, ObjectLiteralElementBase {
|
|
readonly kind: SyntaxKind.PropertyAssignment;
|
|
readonly type: TypeNode;
|
|
readonly initializer: Expression;
|
|
}
|
|
export interface ShorthandPropertyAssignment extends NodeBase, NamedMemberBase, ObjectLiteralElementBase {
|
|
readonly kind: SyntaxKind.ShorthandPropertyAssignment;
|
|
readonly type: TypeNode;
|
|
readonly equalsToken?: EqualsToken;
|
|
readonly objectAssignmentInitializer?: Expression;
|
|
}
|
|
export interface DeleteExpression extends UnaryExpressionBase {
|
|
readonly kind: SyntaxKind.DeleteExpression;
|
|
readonly expression: Expression;
|
|
}
|
|
export interface TypeOfExpression extends UnaryExpressionBase {
|
|
readonly kind: SyntaxKind.TypeOfExpression;
|
|
readonly expression: Expression;
|
|
}
|
|
export interface VoidExpression extends UnaryExpressionBase {
|
|
readonly kind: SyntaxKind.VoidExpression;
|
|
readonly expression: Expression;
|
|
}
|
|
export interface AwaitExpression extends UnaryExpressionBase {
|
|
readonly kind: SyntaxKind.AwaitExpression;
|
|
readonly expression: Expression;
|
|
}
|
|
export interface TypeAssertion extends UnaryExpressionBase {
|
|
readonly kind: SyntaxKind.TypeAssertionExpression;
|
|
readonly type: TypeNode;
|
|
readonly expression: Expression;
|
|
}
|
|
export interface KeywordTypeNode<TKind extends KeywordTypeSyntaxKind = KeywordTypeSyntaxKind> extends TypeNodeBase {
|
|
readonly kind: TKind;
|
|
}
|
|
export interface UnionTypeNode extends TypeNodeBase, UnionOrIntersectionTypeNodeBase {
|
|
readonly kind: SyntaxKind.UnionType;
|
|
}
|
|
export interface IntersectionTypeNode extends TypeNodeBase, UnionOrIntersectionTypeNodeBase {
|
|
readonly kind: SyntaxKind.IntersectionType;
|
|
}
|
|
export interface ConditionalTypeNode extends TypeNodeBase {
|
|
readonly kind: SyntaxKind.ConditionalType;
|
|
readonly checkType: TypeNode;
|
|
readonly extendsType: TypeNode;
|
|
readonly trueType: TypeNode;
|
|
readonly falseType: TypeNode;
|
|
}
|
|
export interface TypeOperatorNode extends TypeNodeBase {
|
|
readonly kind: SyntaxKind.TypeOperator;
|
|
readonly operator: SyntaxKind.KeyOfKeyword | SyntaxKind.ReadonlyKeyword | SyntaxKind.UniqueKeyword;
|
|
readonly type: TypeNode;
|
|
}
|
|
export interface InferTypeNode extends TypeNodeBase {
|
|
readonly kind: SyntaxKind.InferType;
|
|
readonly typeParameter: TypeParameterDeclaration;
|
|
}
|
|
export interface ArrayTypeNode extends TypeNodeBase {
|
|
readonly kind: SyntaxKind.ArrayType;
|
|
readonly elementType: TypeNode;
|
|
}
|
|
export interface IndexedAccessTypeNode extends TypeNodeBase {
|
|
readonly kind: SyntaxKind.IndexedAccessType;
|
|
readonly objectType: TypeNode;
|
|
readonly indexType: TypeNode;
|
|
}
|
|
export interface TypeReferenceNode extends NodeWithTypeArgumentsBase {
|
|
readonly kind: SyntaxKind.TypeReference;
|
|
readonly typeName: EntityName;
|
|
}
|
|
export interface ExpressionWithTypeArguments extends MemberExpressionBase {
|
|
readonly kind: SyntaxKind.ExpressionWithTypeArguments;
|
|
readonly expression: Expression;
|
|
readonly typeArguments?: NodeArray<TypeNode>;
|
|
}
|
|
export interface LiteralTypeNode extends TypeNodeBase {
|
|
readonly kind: SyntaxKind.LiteralType;
|
|
readonly literal: Node;
|
|
}
|
|
export interface ThisTypeNode extends TypeNodeBase {
|
|
readonly kind: SyntaxKind.ThisType;
|
|
}
|
|
export interface TypePredicateNode extends TypeNodeBase {
|
|
readonly kind: SyntaxKind.TypePredicate;
|
|
readonly assertsModifier?: AssertsKeyword;
|
|
readonly parameterName: TypePredicateParameterName;
|
|
readonly type?: TypeNode;
|
|
}
|
|
export interface ImportAttribute extends NodeBase {
|
|
readonly kind: SyntaxKind.ImportAttribute;
|
|
readonly name: ImportAttributeName;
|
|
readonly value: Expression;
|
|
}
|
|
export interface ImportAttributes extends NodeBase {
|
|
readonly kind: SyntaxKind.ImportAttributes;
|
|
readonly token: SyntaxKind.WithKeyword | SyntaxKind.AssertKeyword;
|
|
readonly attributes: NodeArray<ImportAttribute>;
|
|
readonly multiLine: boolean;
|
|
}
|
|
export interface TypeQueryNode extends NodeWithTypeArgumentsBase {
|
|
readonly kind: SyntaxKind.TypeQuery;
|
|
readonly exprName: EntityName;
|
|
}
|
|
export interface MappedTypeNode extends TypeNodeBase, DeclarationBase {
|
|
readonly kind: SyntaxKind.MappedType;
|
|
readonly readonlyToken?: ReadonlyKeyword | PlusToken | MinusToken;
|
|
readonly typeParameter: TypeParameterDeclaration;
|
|
readonly nameType?: TypeNode;
|
|
readonly questionToken?: QuestionToken | PlusToken | MinusToken;
|
|
readonly type?: TypeNode;
|
|
readonly members?: NodeArray<TypeElement>;
|
|
}
|
|
export interface TypeLiteralNode extends TypeNodeBase, DeclarationBase {
|
|
readonly kind: SyntaxKind.TypeLiteral;
|
|
readonly members: NodeArray<TypeElement>;
|
|
}
|
|
export interface TupleTypeNode extends TypeNodeBase {
|
|
readonly kind: SyntaxKind.TupleType;
|
|
readonly elements: NodeArray<TypeNode>;
|
|
}
|
|
export interface NamedTupleMember extends TypeNodeBase, DeclarationBase {
|
|
readonly kind: SyntaxKind.NamedTupleMember;
|
|
readonly dotDotDotToken?: DotDotDotToken;
|
|
readonly name: Identifier;
|
|
readonly questionToken?: QuestionToken;
|
|
readonly type: TypeNode;
|
|
}
|
|
export interface OptionalTypeNode extends TypeNodeBase {
|
|
readonly kind: SyntaxKind.OptionalType;
|
|
readonly type: TypeNode;
|
|
}
|
|
export interface RestTypeNode extends TypeNodeBase {
|
|
readonly kind: SyntaxKind.RestType;
|
|
readonly type: TypeNode;
|
|
}
|
|
export interface ParenthesizedTypeNode extends TypeNodeBase {
|
|
readonly kind: SyntaxKind.ParenthesizedType;
|
|
readonly type: TypeNode;
|
|
}
|
|
export interface FunctionTypeNode extends TypeNodeBase, ModifiersBase, FunctionLikeBase {
|
|
readonly kind: SyntaxKind.FunctionType;
|
|
}
|
|
export interface ConstructorTypeNode extends TypeNodeBase, ModifiersBase, FunctionLikeBase {
|
|
readonly kind: SyntaxKind.ConstructorType;
|
|
}
|
|
export interface TemplateHead extends NodeBase, TemplateLiteralLikeNodeBase {
|
|
readonly kind: SyntaxKind.TemplateHead;
|
|
}
|
|
export interface TemplateMiddle extends NodeBase, TemplateLiteralLikeNodeBase {
|
|
readonly kind: SyntaxKind.TemplateMiddle;
|
|
}
|
|
export interface TemplateTail extends NodeBase, TemplateLiteralLikeNodeBase {
|
|
readonly kind: SyntaxKind.TemplateTail;
|
|
}
|
|
export interface TemplateLiteralTypeNode extends TypeNodeBase {
|
|
readonly kind: SyntaxKind.TemplateLiteralType;
|
|
readonly head: TemplateHead;
|
|
readonly templateSpans: NodeArray<TemplateLiteralTypeSpan>;
|
|
}
|
|
export interface TemplateLiteralTypeSpan extends TypeNodeBase {
|
|
readonly kind: SyntaxKind.TemplateLiteralTypeSpan;
|
|
readonly type: TypeNode;
|
|
readonly literal: TemplateMiddleOrTail;
|
|
}
|
|
export interface SyntheticExpression extends ExpressionBase {
|
|
readonly kind: SyntaxKind.SyntheticExpression;
|
|
readonly type: any;
|
|
readonly isSpread: boolean;
|
|
readonly tupleNameSource?: Node;
|
|
}
|
|
export interface PartiallyEmittedExpression extends LeftHandSideExpressionBase {
|
|
readonly kind: SyntaxKind.PartiallyEmittedExpression;
|
|
readonly expression: Expression;
|
|
}
|
|
export interface JsxElement extends PrimaryExpressionBase {
|
|
readonly kind: SyntaxKind.JsxElement;
|
|
readonly openingElement: JsxOpeningElement;
|
|
readonly children: NodeArray<JsxChild>;
|
|
readonly closingElement: JsxClosingElement;
|
|
}
|
|
export interface JsxAttributes extends PrimaryExpressionBase, DeclarationBase {
|
|
readonly kind: SyntaxKind.JsxAttributes;
|
|
readonly properties: NodeArray<JsxAttributeLike>;
|
|
}
|
|
export interface JsxNamespacedName extends ExpressionBase {
|
|
readonly kind: SyntaxKind.JsxNamespacedName;
|
|
readonly namespace: Identifier;
|
|
readonly name: Identifier;
|
|
}
|
|
export interface JsxOpeningElement extends ExpressionBase {
|
|
readonly kind: SyntaxKind.JsxOpeningElement;
|
|
readonly tagName: JsxTagNameExpression;
|
|
readonly typeArguments?: NodeArray<TypeNode>;
|
|
readonly attributes: JsxAttributes;
|
|
}
|
|
export interface JsxSelfClosingElement extends PrimaryExpressionBase {
|
|
readonly kind: SyntaxKind.JsxSelfClosingElement;
|
|
readonly tagName: JsxTagNameExpression;
|
|
readonly typeArguments?: NodeArray<TypeNode>;
|
|
readonly attributes: JsxAttributes;
|
|
}
|
|
export interface JsxFragment extends PrimaryExpressionBase {
|
|
readonly kind: SyntaxKind.JsxFragment;
|
|
readonly openingFragment: JsxOpeningFragment;
|
|
readonly children: NodeArray<JsxChild>;
|
|
readonly closingFragment: JsxClosingFragment;
|
|
}
|
|
export interface JsxOpeningFragment extends ExpressionBase {
|
|
readonly kind: SyntaxKind.JsxOpeningFragment;
|
|
}
|
|
export interface JsxClosingFragment extends ExpressionBase {
|
|
readonly kind: SyntaxKind.JsxClosingFragment;
|
|
}
|
|
export interface JsxAttribute extends NodeBase, DeclarationBase {
|
|
readonly kind: SyntaxKind.JsxAttribute;
|
|
readonly name: JsxAttributeName;
|
|
readonly initializer?: JsxAttributeValue;
|
|
}
|
|
export interface JsxSpreadAttribute extends ObjectLiteralElementBase, NodeBase {
|
|
readonly kind: SyntaxKind.JsxSpreadAttribute;
|
|
readonly expression: Expression;
|
|
}
|
|
export interface JsxClosingElement extends NodeBase {
|
|
readonly kind: SyntaxKind.JsxClosingElement;
|
|
readonly tagName: JsxTagNameExpression;
|
|
}
|
|
export interface JsxExpression extends ExpressionBase {
|
|
readonly kind: SyntaxKind.JsxExpression;
|
|
readonly dotDotDotToken?: DotDotDotToken;
|
|
readonly expression?: Expression;
|
|
}
|
|
export interface JsxText extends ExpressionBase, LiteralLikeNodeBase {
|
|
readonly kind: SyntaxKind.JsxText;
|
|
readonly containsOnlyTriviaWhiteSpaces: boolean;
|
|
}
|
|
export interface SyntaxList extends NodeBase {
|
|
readonly kind: SyntaxKind.SyntaxList;
|
|
readonly children: readonly Node[];
|
|
}
|
|
export interface JSDoc extends NodeBase {
|
|
readonly kind: SyntaxKind.JSDoc;
|
|
readonly comment: NodeArray<JSDocComment>;
|
|
readonly tags?: NodeArray<JSDocTag>;
|
|
}
|
|
export interface JSDocTypeExpression extends TypeNodeBase {
|
|
readonly kind: SyntaxKind.JSDocTypeExpression;
|
|
readonly type: TypeNode;
|
|
}
|
|
export interface JSDocNonNullableType extends JSDocTypeBase {
|
|
readonly kind: SyntaxKind.JSDocNonNullableType;
|
|
readonly type: TypeNode;
|
|
}
|
|
export interface JSDocNullableType extends JSDocTypeBase {
|
|
readonly kind: SyntaxKind.JSDocNullableType;
|
|
readonly type: TypeNode;
|
|
}
|
|
export interface JSDocAllType extends JSDocTypeBase {
|
|
readonly kind: SyntaxKind.JSDocAllType;
|
|
}
|
|
export interface JSDocVariadicType extends JSDocTypeBase {
|
|
readonly kind: SyntaxKind.JSDocVariadicType;
|
|
readonly type: TypeNode;
|
|
}
|
|
export interface JSDocOptionalType extends JSDocTypeBase {
|
|
readonly kind: SyntaxKind.JSDocOptionalType;
|
|
readonly type: TypeNode;
|
|
}
|
|
export interface JSDocTypeTag extends JSDocTagBase {
|
|
readonly kind: SyntaxKind.JSDocTypeTag;
|
|
readonly typeExpression: Node;
|
|
}
|
|
export interface JSDocUnknownTag extends JSDocTagBase {
|
|
readonly kind: SyntaxKind.JSDocUnknownTag;
|
|
}
|
|
export interface JSDocTemplateTag extends JSDocTagBase {
|
|
readonly kind: SyntaxKind.JSDocTemplateTag;
|
|
readonly constraint: Node;
|
|
readonly typeParameters: NodeArray<TypeParameterDeclaration>;
|
|
}
|
|
export interface JSDocReturnTag extends JSDocTagBase {
|
|
readonly kind: SyntaxKind.JSDocReturnTag;
|
|
readonly typeExpression?: TypeNode;
|
|
}
|
|
export interface JSDocPublicTag extends JSDocTagBase {
|
|
readonly kind: SyntaxKind.JSDocPublicTag;
|
|
}
|
|
export interface JSDocPrivateTag extends JSDocTagBase {
|
|
readonly kind: SyntaxKind.JSDocPrivateTag;
|
|
}
|
|
export interface JSDocProtectedTag extends JSDocTagBase {
|
|
readonly kind: SyntaxKind.JSDocProtectedTag;
|
|
}
|
|
export interface JSDocReadonlyTag extends JSDocTagBase {
|
|
readonly kind: SyntaxKind.JSDocReadonlyTag;
|
|
}
|
|
export interface JSDocOverrideTag extends JSDocTagBase {
|
|
readonly kind: SyntaxKind.JSDocOverrideTag;
|
|
}
|
|
export interface JSDocDeprecatedTag extends JSDocTagBase {
|
|
readonly kind: SyntaxKind.JSDocDeprecatedTag;
|
|
}
|
|
export interface JSDocSeeTag extends JSDocTagBase {
|
|
readonly kind: SyntaxKind.JSDocSeeTag;
|
|
readonly nameExpression: TypeNode;
|
|
}
|
|
export interface JSDocImplementsTag extends JSDocTagBase {
|
|
readonly kind: SyntaxKind.JSDocImplementsTag;
|
|
readonly className: ExpressionWithTypeArguments;
|
|
}
|
|
export interface JSDocAugmentsTag extends JSDocTagBase {
|
|
readonly kind: SyntaxKind.JSDocAugmentsTag;
|
|
readonly className: ExpressionWithTypeArguments;
|
|
}
|
|
export interface JSDocSatisfiesTag extends JSDocTagBase {
|
|
readonly kind: SyntaxKind.JSDocSatisfiesTag;
|
|
readonly typeExpression: TypeNode;
|
|
}
|
|
export interface JSDocThrowsTag extends JSDocTagBase {
|
|
readonly kind: SyntaxKind.JSDocThrowsTag;
|
|
readonly typeExpression?: TypeNode;
|
|
}
|
|
export interface JSDocThisTag extends JSDocTagBase {
|
|
readonly kind: SyntaxKind.JSDocThisTag;
|
|
readonly typeExpression: TypeNode;
|
|
}
|
|
export interface JSDocImportTag extends JSDocTagBase {
|
|
readonly kind: SyntaxKind.JSDocImportTag;
|
|
readonly importClause?: ImportClause;
|
|
readonly moduleSpecifier: Expression;
|
|
readonly attributes?: ImportAttributes;
|
|
}
|
|
export interface JSDocCallbackTag extends JSDocTagBase {
|
|
readonly kind: SyntaxKind.JSDocCallbackTag;
|
|
readonly typeExpression: TypeNode;
|
|
readonly name?: JSDocFullName;
|
|
}
|
|
export interface JSDocOverloadTag extends JSDocTagBase {
|
|
readonly kind: SyntaxKind.JSDocOverloadTag;
|
|
readonly typeExpression: TypeNode;
|
|
}
|
|
export interface JSDocTypedefTag extends JSDocTagBase {
|
|
readonly kind: SyntaxKind.JSDocTypedefTag;
|
|
readonly typeExpression?: Node;
|
|
readonly name?: JSDocFullName;
|
|
}
|
|
export interface JSDocSignature extends JSDocTypeBase, FunctionLikeBase {
|
|
readonly kind: SyntaxKind.JSDocSignature;
|
|
}
|
|
export interface JSDocNameReference extends TypeNodeBase {
|
|
readonly kind: SyntaxKind.JSDocNameReference;
|
|
readonly name: EntityName;
|
|
}
|
|
export interface ModuleDeclaration extends DeclarationBase, StatementBase, ModifiersBase, BodyBase {
|
|
readonly kind: SyntaxKind.ModuleDeclaration;
|
|
readonly keyword: SyntaxKind.ModuleKeyword | SyntaxKind.NamespaceKeyword;
|
|
readonly name: ModuleName;
|
|
readonly body?: ModuleBody;
|
|
}
|
|
export interface ImportEqualsDeclaration extends DeclarationBase, StatementBase, ModifiersBase {
|
|
readonly kind: SyntaxKind.ImportEqualsDeclaration;
|
|
readonly isTypeOnly: boolean;
|
|
readonly name: Identifier;
|
|
readonly moduleReference: ModuleReference;
|
|
}
|
|
export interface ExportDeclaration extends DeclarationBase, StatementBase, ModifiersBase {
|
|
readonly kind: SyntaxKind.ExportDeclaration;
|
|
readonly isTypeOnly: boolean;
|
|
readonly exportClause?: NamedExportBindings;
|
|
readonly moduleSpecifier?: Expression;
|
|
readonly attributes?: ImportAttributes;
|
|
}
|
|
export interface ImportTypeNode extends NodeWithTypeArgumentsBase {
|
|
readonly kind: SyntaxKind.ImportType;
|
|
readonly isTypeOf: boolean;
|
|
readonly argument: TypeNode;
|
|
readonly attributes?: ImportAttributes;
|
|
readonly qualifier?: EntityName;
|
|
}
|
|
export interface ImportClause extends NodeBase, DeclarationBase {
|
|
readonly kind: SyntaxKind.ImportClause;
|
|
readonly phaseModifier?: ImportPhaseModifierSyntaxKind;
|
|
readonly name?: Identifier;
|
|
readonly namedBindings?: NamedImportBindings;
|
|
}
|
|
export interface ImportSpecifier extends NodeBase, DeclarationBase {
|
|
readonly kind: SyntaxKind.ImportSpecifier;
|
|
readonly isTypeOnly: boolean;
|
|
readonly propertyName?: ModuleExportName;
|
|
readonly name: Identifier;
|
|
}
|
|
export interface JSDocText extends JSDocCommentBase {
|
|
readonly kind: SyntaxKind.JSDocText;
|
|
}
|
|
export interface JSDocLink extends JSDocCommentBase {
|
|
readonly kind: SyntaxKind.JSDocLink;
|
|
readonly name?: EntityName;
|
|
}
|
|
export interface JSDocLinkPlain extends JSDocCommentBase {
|
|
readonly kind: SyntaxKind.JSDocLinkPlain;
|
|
readonly name?: EntityName;
|
|
}
|
|
export interface JSDocLinkCode extends JSDocCommentBase {
|
|
readonly kind: SyntaxKind.JSDocLinkCode;
|
|
readonly name?: EntityName;
|
|
}
|
|
export interface TypeParameterDeclaration extends NodeBase, DeclarationBase, ModifiersBase {
|
|
readonly kind: SyntaxKind.TypeParameter;
|
|
readonly name: Identifier;
|
|
readonly constraint?: TypeNode;
|
|
readonly expression?: Expression;
|
|
readonly defaultType?: TypeNode;
|
|
}
|
|
export interface SyntheticReferenceExpression extends ExpressionBase {
|
|
readonly kind: SyntaxKind.SyntheticReferenceExpression;
|
|
readonly expression: Expression;
|
|
readonly thisArg: Expression;
|
|
}
|
|
export interface JSDocTypeLiteral extends JSDocTypeBase, DeclarationBase {
|
|
readonly kind: SyntaxKind.JSDocTypeLiteral;
|
|
readonly jsdocPropertyTags?: readonly JSDocTag[];
|
|
readonly isArrayType: boolean;
|
|
}
|
|
export type Expression = ExpressionBase;
|
|
export type Statement = StatementBase;
|
|
export type TypeNode = TypeNodeBase;
|
|
export type BlockOrExpression = Block | Expression;
|
|
export type NodeBody = Block | Expression | ModuleBlock | ModuleDeclaration;
|
|
export type AccessExpression = PropertyAccessExpression | ElementAccessExpression;
|
|
export type DeclarationName = Identifier | PrivateIdentifier | StringLiteral | NumericLiteral | BigIntLiteral | NoSubstitutionTemplateLiteral | ComputedPropertyName | BindingPattern | ElementAccessExpression;
|
|
export type ModuleName = Identifier | StringLiteral;
|
|
export type ModuleExportName = Identifier | StringLiteral;
|
|
export type PropertyName = Identifier | StringLiteral | NoSubstitutionTemplateLiteral | NumericLiteral | ComputedPropertyName | PrivateIdentifier | BigIntLiteral;
|
|
export type ModuleBody = ModuleBlock | ModuleDeclaration;
|
|
export type JSDocFullName = Identifier | ModuleDeclaration;
|
|
export type ForInitializer = Expression | MissingDeclaration | VariableDeclarationList;
|
|
export type ModuleReference = Identifier | QualifiedName | ExternalModuleReference;
|
|
export type NamedImportBindings = NamespaceImport | NamedImports;
|
|
export type NamedExportBindings = NamespaceExport | NamedExports;
|
|
export type MemberName = Identifier | PrivateIdentifier;
|
|
export type EntityName = Identifier | QualifiedName;
|
|
export type BindingName = Identifier | BindingPattern;
|
|
export type ModifierLike = Modifier | Decorator;
|
|
export type JsxChild = JsxText | JsxExpression | JsxElement | JsxSelfClosingElement | JsxFragment;
|
|
export type JsxAttributeLike = JsxAttribute | JsxSpreadAttribute;
|
|
export type JsxAttributeName = Identifier | JsxNamespacedName;
|
|
export type JsxAttributeValue = StringLiteral | JsxExpression | JsxElement | JsxSelfClosingElement | JsxFragment;
|
|
export type JsxTagNameExpression = Identifier | ThisExpression | JsxTagNamePropertyAccess | JsxNamespacedName;
|
|
export type ClassLikeDeclaration = ClassDeclaration | ClassExpression;
|
|
export type AccessorDeclaration = GetAccessorDeclaration | SetAccessorDeclaration;
|
|
export type LiteralLikeNode = StringLiteral | NumericLiteral | BigIntLiteral | RegularExpressionLiteral | TemplateLiteralLikeNode | JsxText;
|
|
export type LiteralExpression = StringLiteral | NumericLiteral | BigIntLiteral | RegularExpressionLiteral | NoSubstitutionTemplateLiteral;
|
|
export type UnionOrIntersectionTypeNode = UnionTypeNode | IntersectionTypeNode;
|
|
export type TemplateLiteralLikeNode = TemplateHead | TemplateMiddle | TemplateTail;
|
|
export type TemplateMiddleOrTail = TemplateMiddle | TemplateTail;
|
|
export type TemplateLiteral = TemplateExpression | NoSubstitutionTemplateLiteral;
|
|
export type TypePredicateParameterName = Identifier | ThisTypeNode;
|
|
export type ImportAttributeName = Identifier | StringLiteral;
|
|
export type LeftHandSideExpression = LeftHandSideExpressionBase;
|
|
export type JSDocComment = JSDocText | JSDocLink | JSDocLinkCode | JSDocLinkPlain;
|
|
export type SignatureDeclaration = CallSignatureDeclaration | ConstructSignatureDeclaration | MethodSignatureDeclaration | IndexSignatureDeclaration | FunctionTypeNode | ConstructorTypeNode | FunctionDeclaration | MethodDeclaration | ConstructorDeclaration | AccessorDeclaration | FunctionExpression | ArrowFunction;
|
|
export type StringLiteralLikeNode = StringLiteral | NoSubstitutionTemplateLiteral;
|
|
export type NumericOrStringLikeLiteral = StringLiteralLikeNode | NumericLiteral;
|
|
export type ObjectLiteralLikeNode = ObjectLiteralExpression | ObjectBindingPattern;
|
|
export type ObjectTypeDeclaration = ClassLikeDeclaration | InterfaceDeclaration | TypeLiteralNode;
|
|
export type JsxOpeningLikeElement = JsxOpeningElement | JsxSelfClosingElement;
|
|
export type NamedImportsOrExports = NamedImports | NamedExports;
|
|
export type BreakOrContinueStatement = BreakStatement | ContinueStatement;
|
|
export type CallLikeExpression = CallExpression | NewExpression | TaggedTemplateExpression | Decorator | JsxOpeningLikeElement | BinaryExpression;
|
|
export type FunctionLikeDeclaration = FunctionDeclaration | MethodDeclaration | GetAccessorDeclaration | SetAccessorDeclaration | ConstructorDeclaration | FunctionExpression | ArrowFunction;
|
|
export type VariableOrParameterDeclaration = VariableDeclaration | ParameterDeclaration;
|
|
export type VariableOrPropertyDeclaration = VariableDeclaration | PropertyDeclaration;
|
|
export type CallOrNewExpression = CallExpression | NewExpression;
|
|
export type ImportClauseOrBindingPattern = ImportClause | BindingPattern;
|
|
export type AnyImportSyntax = ImportDeclaration | ImportEqualsDeclaration;
|
|
export type Declaration = DeclarationBase;
|
|
export type ClassElement = ClassElementBase;
|
|
export type TypeElement = TypeElementBase;
|
|
export type ObjectLiteralElement = ObjectLiteralElementBase;
|
|
export type JSDocTag = JSDocTagBase;
|
|
export type ArrayBindingElement = BindingElement | OmittedExpression;
|
|
export type AssertionExpression = TypeAssertion | AsExpression;
|
|
export type BooleanLiteral = TrueLiteral | FalseLiteral;
|
|
export type ConciseBody = Block | Expression;
|
|
export type DestructuringAssignment = ObjectDestructuringAssignment | ArrayDestructuringAssignment;
|
|
export type LiteralToken = NumericLiteral | BigIntLiteral | StringLiteral | JsxText | RegularExpressionLiteral | NoSubstitutionTemplateLiteral;
|
|
export type Modifier = AbstractKeyword | AccessorKeyword | AsyncKeyword | ConstKeyword | DeclareKeyword | DefaultKeyword | ExportKeyword | InKeyword | PrivateKeyword | ProtectedKeyword | PublicKeyword | ReadonlyKeyword | OutKeyword | OverrideKeyword | StaticKeyword;
|
|
export type ObjectLiteralElementLike = PropertyAssignment | ShorthandPropertyAssignment | SpreadAssignment | MethodDeclaration | GetAccessorDeclaration | SetAccessorDeclaration;
|
|
export type PropertyNameLiteral = Identifier | StringLiteral | NumericLiteral;
|
|
export type PseudoLiteralToken = TemplateHead | TemplateMiddle | TemplateTail;
|
|
export type TemplateLiteralToken = NoSubstitutionTemplateLiteral | PseudoLiteralToken;
|
|
export type ArrayDestructuringAssignment = BinaryExpression;
|
|
export type ObjectDestructuringAssignment = BinaryExpression;
|
|
export type FunctionBody = Block;
|
|
export type IncrementExpression = UpdateExpressionBase;
|
|
export interface ForInStatement extends StatementBase {
|
|
readonly kind: SyntaxKind.ForInStatement;
|
|
readonly awaitModifier?: AwaitKeyword;
|
|
readonly initializer: ForInitializer;
|
|
readonly expression: Expression;
|
|
readonly statement: Statement;
|
|
}
|
|
export interface ForOfStatement extends StatementBase {
|
|
readonly kind: SyntaxKind.ForOfStatement;
|
|
readonly awaitModifier?: AwaitKeyword;
|
|
readonly initializer: ForInitializer;
|
|
readonly expression: Expression;
|
|
readonly statement: Statement;
|
|
}
|
|
export interface CaseClause extends NodeBase {
|
|
readonly kind: SyntaxKind.CaseClause;
|
|
readonly expression: Expression;
|
|
readonly statements: NodeArray<Statement>;
|
|
}
|
|
export interface DefaultClause extends NodeBase {
|
|
readonly kind: SyntaxKind.DefaultClause;
|
|
readonly expression: Expression;
|
|
readonly statements: NodeArray<Statement>;
|
|
}
|
|
export interface ObjectBindingPattern extends NodeBase {
|
|
readonly kind: SyntaxKind.ObjectBindingPattern;
|
|
readonly elements: NodeArray<BindingElement>;
|
|
}
|
|
export interface ArrayBindingPattern extends NodeBase {
|
|
readonly kind: SyntaxKind.ArrayBindingPattern;
|
|
readonly elements: NodeArray<BindingElement>;
|
|
}
|
|
export interface JSDocParameterTag extends JSDocTagBase {
|
|
readonly kind: SyntaxKind.JSDocParameterTag;
|
|
readonly name: EntityName;
|
|
readonly isBracketed: boolean;
|
|
readonly typeExpression?: TypeNode;
|
|
readonly isNameFirst: boolean;
|
|
}
|
|
export interface JSDocPropertyTag extends JSDocTagBase {
|
|
readonly kind: SyntaxKind.JSDocPropertyTag;
|
|
readonly name: EntityName;
|
|
readonly isBracketed: boolean;
|
|
readonly typeExpression?: TypeNode;
|
|
readonly isNameFirst: boolean;
|
|
}
|
|
export type ForInOrOfStatement = ForInStatement | ForOfStatement;
|
|
export type CaseOrDefaultClause = CaseClause | DefaultClause;
|
|
export type BindingPattern = ObjectBindingPattern | ArrayBindingPattern;
|
|
export type JSDocParameterOrPropertyTag = JSDocParameterTag | JSDocPropertyTag;
|
|
export type EndOfFile = Token<SyntaxKind.EndOfFile>;
|
|
export type DotToken = Token<SyntaxKind.DotToken>;
|
|
export type DotDotDotToken = Token<SyntaxKind.DotDotDotToken>;
|
|
export type QuestionToken = Token<SyntaxKind.QuestionToken>;
|
|
export type ExclamationToken = Token<SyntaxKind.ExclamationToken>;
|
|
export type ColonToken = Token<SyntaxKind.ColonToken>;
|
|
export type EqualsToken = Token<SyntaxKind.EqualsToken>;
|
|
export type AsteriskToken = Token<SyntaxKind.AsteriskToken>;
|
|
export type EqualsGreaterThanToken = Token<SyntaxKind.EqualsGreaterThanToken>;
|
|
export type PlusToken = Token<SyntaxKind.PlusToken>;
|
|
export type MinusToken = Token<SyntaxKind.MinusToken>;
|
|
export type QuestionDotToken = Token<SyntaxKind.QuestionDotToken>;
|
|
export type AssertsKeyword = Token<SyntaxKind.AssertsKeyword>;
|
|
export type AssertKeyword = Token<SyntaxKind.AssertKeyword>;
|
|
export type AwaitKeyword = Token<SyntaxKind.AwaitKeyword>;
|
|
export type CaseKeyword = Token<SyntaxKind.CaseKeyword>;
|
|
export type AbstractKeyword = Token<SyntaxKind.AbstractKeyword>;
|
|
export type AccessorKeyword = Token<SyntaxKind.AccessorKeyword>;
|
|
export type AsyncKeyword = Token<SyntaxKind.AsyncKeyword>;
|
|
export type ConstKeyword = Token<SyntaxKind.ConstKeyword>;
|
|
export type DeclareKeyword = Token<SyntaxKind.DeclareKeyword>;
|
|
export type DefaultKeyword = Token<SyntaxKind.DefaultKeyword>;
|
|
export type ExportKeyword = Token<SyntaxKind.ExportKeyword>;
|
|
export type InKeyword = Token<SyntaxKind.InKeyword>;
|
|
export type PrivateKeyword = Token<SyntaxKind.PrivateKeyword>;
|
|
export type ProtectedKeyword = Token<SyntaxKind.ProtectedKeyword>;
|
|
export type PublicKeyword = Token<SyntaxKind.PublicKeyword>;
|
|
export type ReadonlyKeyword = Token<SyntaxKind.ReadonlyKeyword>;
|
|
export type OutKeyword = Token<SyntaxKind.OutKeyword>;
|
|
export type OverrideKeyword = Token<SyntaxKind.OverrideKeyword>;
|
|
export type StaticKeyword = Token<SyntaxKind.StaticKeyword>;
|
|
export type BinaryOperatorToken = Token<BinaryOperator>;
|
|
export type AssignmentOperatorToken = Token<AssignmentOperator>;
|
|
export type NullLiteral = KeywordExpression<SyntaxKind.NullKeyword>;
|
|
export type TrueLiteral = KeywordExpression<SyntaxKind.TrueKeyword>;
|
|
export type FalseLiteral = KeywordExpression<SyntaxKind.FalseKeyword>;
|
|
export type ThisExpression = KeywordExpression<SyntaxKind.ThisKeyword>;
|
|
export type SuperExpression = KeywordExpression<SyntaxKind.SuperKeyword>;
|
|
export type ImportExpression = KeywordExpression<SyntaxKind.ImportKeyword>;
|
|
export type StatementList = NodeArray<Statement>;
|
|
export type CaseClausesList = NodeArray<CaseOrDefaultClause>;
|
|
export type VariableDeclarationNodeList = NodeArray<VariableDeclaration>;
|
|
export type BindingElementList = NodeArray<BindingElement>;
|
|
export type TypeParameterList = NodeArray<TypeParameterDeclaration>;
|
|
export type ParameterList = NodeArray<ParameterDeclaration>;
|
|
export type HeritageClauseList = NodeArray<HeritageClause>;
|
|
export type ClassElementList = NodeArray<ClassElement>;
|
|
export type TypeElementList = NodeArray<TypeElement>;
|
|
export type ExpressionWithTypeArgumentsList = NodeArray<ExpressionWithTypeArguments>;
|
|
export type EnumMemberList = NodeArray<EnumMember>;
|
|
export type ImportSpecifierList = NodeArray<ImportSpecifier>;
|
|
export type ExportSpecifierList = NodeArray<ExportSpecifier>;
|
|
export type TypeArgumentList = NodeArray<TypeNode>;
|
|
export type ArgumentList = NodeArray<Expression>;
|
|
export type TemplateSpanList = NodeArray<TemplateSpan>;
|
|
export type ElementList = NodeArray<Expression>;
|
|
export type PropertyDefinitionList = NodeArray<ObjectLiteralElement>;
|
|
export type TypeList = NodeArray<TypeNode>;
|
|
export type ImportAttributeList = NodeArray<ImportAttribute>;
|
|
export type TemplateLiteralTypeSpanList = NodeArray<TemplateLiteralTypeSpan>;
|
|
export type JsxChildList = NodeArray<JsxChild>;
|
|
export type JsxAttributeList = NodeArray<JsxAttributeLike>;
|
|
//# sourceMappingURL=ast.generated.d.ts.map |