123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370 |
- // Generated by typings
- // Source: https://raw.githubusercontent.com/DefinitelyTyped/DefinitelyTyped/7de6c3dd94feaeb21f20054b9f30d5dabc5efabd/estree/estree.d.ts
- // Type definitions for ESTree AST specification
- // Project: https://github.com/estree/estree
- // Definitions by: RReverser <https://github.com/RReverser>
- // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
- declare namespace ESTree {
- interface Node {
- type: string;
- loc?: SourceLocation;
- range?: [number, number];
- }
- interface SourceLocation {
- source?: string;
- start: Position;
- end: Position;
- }
- interface Position {
- line: number;
- column: number;
- }
- interface Program extends Node {
- body: Array<Statement | ModuleDeclaration>;
- sourceType: string;
- }
- interface Function extends Node {
- id?: Identifier;
- params: Array<Pattern>;
- body: BlockStatement | Expression;
- generator: boolean;
- }
- interface Statement extends Node {}
- interface EmptyStatement extends Statement {}
- interface BlockStatement extends Statement {
- body: Array<Statement>;
- }
- interface ExpressionStatement extends Statement {
- expression: Expression;
- }
- interface IfStatement extends Statement {
- test: Expression;
- consequent: Statement;
- alternate?: Statement;
- }
- interface LabeledStatement extends Statement {
- label: Identifier;
- body: Statement;
- }
- interface BreakStatement extends Statement {
- label?: Identifier;
- }
- interface ContinueStatement extends Statement {
- label?: Identifier;
- }
- interface WithStatement extends Statement {
- object: Expression;
- body: Statement;
- }
- interface SwitchStatement extends Statement {
- discriminant: Expression;
- cases: Array<SwitchCase>;
- }
- interface ReturnStatement extends Statement {
- argument?: Expression;
- }
- interface ThrowStatement extends Statement {
- argument: Expression;
- }
- interface TryStatement extends Statement {
- block: BlockStatement;
- handler?: CatchClause;
- finalizer?: BlockStatement;
- }
- interface WhileStatement extends Statement {
- test: Expression;
- body: Statement;
- }
- interface DoWhileStatement extends Statement {
- body: Statement;
- test: Expression;
- }
- interface ForStatement extends Statement {
- init?: VariableDeclaration | Expression;
- test?: Expression;
- update?: Expression;
- body: Statement;
- }
- interface ForInStatement extends Statement {
- left: VariableDeclaration | Expression;
- right: Expression;
- body: Statement;
- }
- interface DebuggerStatement extends Statement {}
- interface Declaration extends Statement {}
- interface FunctionDeclaration extends Function, Declaration {
- id: Identifier;
- }
- interface VariableDeclaration extends Declaration {
- declarations: Array<VariableDeclarator>;
- kind: string;
- }
- interface VariableDeclarator extends Node {
- id: Pattern;
- init?: Expression;
- }
- interface Expression extends Node {}
- interface ThisExpression extends Expression {}
- interface ArrayExpression extends Expression {
- elements: Array<Expression | SpreadElement>;
- }
- interface ObjectExpression extends Expression {
- properties: Array<Property>;
- }
- interface Property extends Node {
- key: Expression;
- value: Expression;
- kind: string;
- method: boolean;
- shorthand: boolean;
- computed: boolean;
- }
- interface FunctionExpression extends Function, Expression {}
- interface SequenceExpression extends Expression {
- expressions: Array<Expression>;
- }
- interface UnaryExpression extends Expression {
- operator: UnaryOperator;
- prefix: boolean;
- argument: Expression;
- }
- interface BinaryExpression extends Expression {
- operator: BinaryOperator;
- left: Expression;
- right: Expression;
- }
- interface AssignmentExpression extends Expression {
- operator: AssignmentOperator;
- left: Pattern | MemberExpression;
- right: Expression;
- }
- interface UpdateExpression extends Expression {
- operator: UpdateOperator;
- argument: Expression;
- prefix: boolean;
- }
- interface LogicalExpression extends Expression {
- operator: LogicalOperator;
- left: Expression;
- right: Expression;
- }
- interface ConditionalExpression extends Expression {
- test: Expression;
- alternate: Expression;
- consequent: Expression;
- }
- interface CallExpression extends Expression {
- callee: Expression | Super;
- arguments: Array<Expression | SpreadElement>;
- }
- interface NewExpression extends CallExpression {}
- interface MemberExpression extends Expression, Pattern {
- object: Expression | Super;
- property: Expression;
- computed: boolean;
- }
- interface Pattern extends Node {}
- interface SwitchCase extends Node {
- test?: Expression;
- consequent: Array<Statement>;
- }
- interface CatchClause extends Node {
- param: Pattern;
- body: BlockStatement;
- }
- interface Identifier extends Node, Expression, Pattern {
- name: string;
- }
- interface Literal extends Node, Expression {
- value?: string | boolean | number | RegExp;
- }
- interface RegExpLiteral extends Literal {
- regex: {
- pattern: string;
- flags: string;
- };
- }
- type UnaryOperator = string;
- type BinaryOperator = string;
- type LogicalOperator = string;
- type AssignmentOperator = string;
- type UpdateOperator = string;
- interface ForOfStatement extends ForInStatement {}
- interface Super extends Node {}
- interface SpreadElement extends Node {
- argument: Expression;
- }
- interface ArrowFunctionExpression extends Function, Expression {
- expression: boolean;
- }
- interface YieldExpression extends Expression {
- argument?: Expression;
- delegate: boolean;
- }
- interface TemplateLiteral extends Expression {
- quasis: Array<TemplateElement>;
- expressions: Array<Expression>;
- }
- interface TaggedTemplateExpression extends Expression {
- tag: Expression;
- quasi: TemplateLiteral;
- }
- interface TemplateElement extends Node {
- tail: boolean;
- value: {
- cooked: string;
- raw: string;
- };
- }
- interface AssignmentProperty extends Property {
- value: Pattern;
- kind: string;
- method: boolean;
- }
- interface ObjectPattern extends Pattern {
- properties: Array<AssignmentProperty>;
- }
- interface ArrayPattern extends Pattern {
- elements: Array<Pattern>;
- }
- interface RestElement extends Pattern {
- argument: Pattern;
- }
- interface AssignmentPattern extends Pattern {
- left: Pattern;
- right: Expression;
- }
- interface Class extends Node {
- id?: Identifier;
- superClass: Expression;
- body: ClassBody;
- }
- interface ClassBody extends Node {
- body: Array<MethodDefinition>;
- }
- interface MethodDefinition extends Node {
- key: Expression;
- value: FunctionExpression;
- kind: string;
- computed: boolean;
- static: boolean;
- }
- interface ClassDeclaration extends Class, Declaration {
- id: Identifier;
- }
- interface ClassExpression extends Class, Expression {}
- interface MetaProperty extends Expression {
- meta: Identifier;
- property: Identifier;
- }
- interface ModuleDeclaration extends Node {}
- interface ModuleSpecifier extends Node {
- local: Identifier;
- }
- interface ImportDeclaration extends ModuleDeclaration {
- specifiers: Array<ImportSpecifier | ImportDefaultSpecifier | ImportNamespaceSpecifier>;
- source: Literal;
- }
- interface ImportSpecifier extends ModuleSpecifier {
- imported: Identifier;
- }
- interface ImportDefaultSpecifier extends ModuleSpecifier {}
- interface ImportNamespaceSpecifier extends ModuleSpecifier {}
- interface ExportNamedDeclaration extends ModuleDeclaration {
- declaration?: Declaration;
- specifiers: Array<ExportSpecifier>;
- source?: Literal;
- }
- interface ExportSpecifier extends ModuleSpecifier {
- exported: Identifier;
- }
- interface ExportDefaultDeclaration extends ModuleDeclaration {
- declaration: Declaration | Expression;
- }
- interface ExportAllDeclaration extends ModuleDeclaration {
- source: Literal;
- }
- }
|