From d0f63c1a7ba0e5e046646fbacc1673b1d8e6309a Mon Sep 17 00:00:00 2001 From: Henry Zhu Date: Tue, 24 Nov 2015 22:25:35 -0500 Subject: [PATCH] add validators for TemplateLiteral and ArrayExpression --- packages/babel-types/src/definitions/core.js | 2 +- packages/babel-types/src/definitions/es2015.js | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/babel-types/src/definitions/core.js b/packages/babel-types/src/definitions/core.js index df89024caa..93f6110761 100644 --- a/packages/babel-types/src/definitions/core.js +++ b/packages/babel-types/src/definitions/core.js @@ -20,7 +20,7 @@ import defineType, { defineType("ArrayExpression", { fields: { elements: { - validate: assertValueType("array") + validate: chain(assertValueType("array"), assertEach(assertNodeType("Expression", "SpreadElement"))) } }, visitor: ["elements"], diff --git a/packages/babel-types/src/definitions/es2015.js b/packages/babel-types/src/definitions/es2015.js index e699ba3d18..d70cebd15d 100644 --- a/packages/babel-types/src/definitions/es2015.js +++ b/packages/babel-types/src/definitions/es2015.js @@ -329,7 +329,12 @@ defineType("TemplateLiteral", { visitor: ["quasis", "expressions"], aliases: ["Expression", "Literal"], fields: { - // todo + quasis: { + validate: chain(assertValueType("array"), assertEach(assertNodeType("TemplateElement"))) + }, + expressions: { + validate: chain(assertValueType("array"), assertEach(assertNodeType("Expression"))) + } } });