From ab5c6a38eb1642d06579eccb5a6c77c0de57d4a4 Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Tue, 25 Nov 2014 18:59:26 +1100 Subject: [PATCH] add VirtualPropertyExpression and SpreadProperty to ast-types --- lib/6to5/patch.js | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/lib/6to5/patch.js b/lib/6to5/patch.js index 84a518ab16..752d8b7f1e 100644 --- a/lib/6to5/patch.js +++ b/lib/6to5/patch.js @@ -3,6 +3,7 @@ var _ = require("lodash"); var types = require("ast-types"); var def = types.Type.def; +var or = types.Type.or; // Program wrapper def("File") @@ -16,12 +17,26 @@ def("ParenthesizedExpression") .build("expression") .field("expression", def("Expression")); -// Same as ImportNamespaceSpecifier but `id` is `name` +// Acorn - Same as ImportNamespaceSpecifier but `id` is `name` def("ImportBatchSpecifier") .bases("Specifier") .build("name") .field("name", def("Identifier")); +// Abstract references +def("VirtualPropertyExpression") + .bases("Expression") + .build("object", "property") + .field("object", def("Expression")) + .field("property", or(def("Identifier"), def("Expression"))); + +// Spread properties +def("SpreadProperty") + .bases("Property") + .build("argument") + .field("argument", def("Expression")); + + types.finalize(); var estraverse = require("estraverse");