From c4da0253c593e57331d0ab2468b6c85184b5584a Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Mon, 9 Mar 2015 16:55:00 +1100 Subject: [PATCH] move flattenable keys to types --- src/babel/traversal/context.js | 3 ++- src/babel/types/index.js | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/babel/traversal/context.js b/src/babel/traversal/context.js index 70e37ca92c..883017e559 100644 --- a/src/babel/traversal/context.js +++ b/src/babel/traversal/context.js @@ -1,6 +1,7 @@ import TraversalPath from "./path"; import flatten from "lodash/array/flatten"; import compact from "lodash/array/compact"; +import t from "../types"; export default class TraversalContext { constructor(scope, opts, state, parentPath) { @@ -42,7 +43,7 @@ export default class TraversalContext { if (this.shouldFlatten) { node[key] = flatten(node[key]); - if (key === "body" || key === "expressions") { + if (t.FLATTENABLE_KEYS.indexOf(key) >= 0) { // we can safely compact this node[key] = compact(node[key]); } diff --git a/src/babel/types/index.js b/src/babel/types/index.js index b534caf93f..55cea3ac3d 100644 --- a/src/babel/types/index.js +++ b/src/babel/types/index.js @@ -36,6 +36,7 @@ function registerType(type, skipAliasCheck) { t.STATEMENT_OR_BLOCK_KEYS = ["consequent", "body", "alternate"]; t.NATIVE_TYPE_NAMES = ["Array", "Object", "Number", "Boolean", "Date", "Array", "String"]; +t.FLATTENABLE_KEYS = ["body", "expressions"]; t.FOR_INIT_KEYS = ["left", "init"]; t.VISITOR_KEYS = require("./visitor-keys");