diff --git a/types/estree/estree-tests.ts b/types/estree/estree-tests.ts index 24e92ddc38..3e2dc11b94 100644 --- a/types/estree/estree-tests.ts +++ b/types/estree/estree-tests.ts @@ -7,6 +7,7 @@ declare var statement: ESTree.Statement; declare var emptyStatement: ESTree.EmptyStatement; declare var blockStatement: ESTree.BlockStatement; declare var expressionStatement: ESTree.ExpressionStatement; +declare var directive: ESTree.Directive; declare var ifStatement: ESTree.IfStatement; declare var labeledStatement: ESTree.LabeledStatement; declare var breakStatement: ESTree.BreakStatement; @@ -120,6 +121,11 @@ statement = blockStatement.body[0]; var expressionStatement: ESTree.ExpressionStatement; expression = expressionStatement.expression; +// Directive +literal = directive.expression; +// $ExpectType string +directive.directive; + // IfStatement var ifStatement: ESTree.IfStatement; expression = ifStatement.test; diff --git a/types/estree/index.d.ts b/types/estree/index.d.ts index 0133991c9f..436877346e 100644 --- a/types/estree/index.d.ts +++ b/types/estree/index.d.ts @@ -62,10 +62,16 @@ export interface Position { export interface Program extends BaseNode { type: "Program"; sourceType: "script" | "module"; - body: Array; + body: Array; comments?: Array; } +export interface Directive extends BaseNode { + type: "ExpressionStatement"; + expression: Literal; + directive: string; +} + interface BaseFunction extends BaseNode { params: Array; generator?: boolean;