From d4a11270124832e1848093a020c642356fd7105b Mon Sep 17 00:00:00 2001 From: Henry Zhu Date: Mon, 9 Nov 2015 12:10:06 -0500 Subject: [PATCH] babel-types: add validators for es2015 exports --- .../babel-types/src/definitions/es2015.js | 20 ++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/packages/babel-types/src/definitions/es2015.js b/packages/babel-types/src/definitions/es2015.js index 99d4f33230..b9fe954fc2 100644 --- a/packages/babel-types/src/definitions/es2015.js +++ b/packages/babel-types/src/definitions/es2015.js @@ -112,7 +112,9 @@ defineType("ExportAllDeclaration", { visitor: ["source"], aliases: ["Statement", "Declaration", "ModuleDeclaration", "ExportDeclaration"], fields: { - // todo + source: { + validate: assertNodeType("StringLiteral") + } } }); @@ -120,7 +122,9 @@ defineType("ExportDefaultDeclaration", { visitor: ["declaration"], aliases: ["Statement", "Declaration", "ModuleDeclaration", "ExportDeclaration"], fields: { - // todo + declaration: { + validate: assertNodeType("Declaration", "Expression") + } } }); @@ -128,7 +132,17 @@ defineType("ExportNamedDeclaration", { visitor: ["declaration", "specifiers", "source"], aliases: ["Statement", "Declaration", "ModuleDeclaration", "ExportDeclaration"], fields: { - // todo + declaration: { + validate: assertNodeType("Declaration"), + optional: true + }, + specifiers: { + validate: chain(assertValueType("array"), assertEach(assertNodeType("ExportSpecifier"))) + }, + source: { + validate: assertNodeType("StringLiteral"), + optional: true + } } });