From 563a427b696d26c35618d4a82eff0fb66189a676 Mon Sep 17 00:00:00 2001 From: Sebastian McKenzie Date: Wed, 1 Apr 2015 23:23:09 +1100 Subject: [PATCH] add ludicrous transformer --- .../transformation/templates/ludicrous-in.js | 1 + .../transformers/es1/ludicrous.js | 5 ---- .../transformation/transformers/index.js | 2 +- .../transformers/other/ludicrous.js | 29 +++++++++++++++++++ 4 files changed, 31 insertions(+), 6 deletions(-) create mode 100644 src/babel/transformation/templates/ludicrous-in.js delete mode 100644 src/babel/transformation/transformers/es1/ludicrous.js create mode 100644 src/babel/transformation/transformers/other/ludicrous.js diff --git a/src/babel/transformation/templates/ludicrous-in.js b/src/babel/transformation/templates/ludicrous-in.js new file mode 100644 index 0000000000..80348f0da7 --- /dev/null +++ b/src/babel/transformation/templates/ludicrous-in.js @@ -0,0 +1 @@ +Object(RIGHT)[LEFT] !== undefined; diff --git a/src/babel/transformation/transformers/es1/ludicrous.js b/src/babel/transformation/transformers/es1/ludicrous.js deleted file mode 100644 index 27d9045c11..0000000000 --- a/src/babel/transformation/transformers/es1/ludicrous.js +++ /dev/null @@ -1,5 +0,0 @@ -import * as t from "../../../types"; - -export var metadata = { - optional: true -}; diff --git a/src/babel/transformation/transformers/index.js b/src/babel/transformation/transformers/index.js index 80570ae174..373c956936 100644 --- a/src/babel/transformation/transformers/index.js +++ b/src/babel/transformation/transformers/index.js @@ -101,8 +101,8 @@ export default { "es7.doExpressions": require("./es7/do-expressions"), "es6.spec.symbols": require("./es6/spec.symbols"), + ludicrous: require("./other/ludicrous"), "spec.undefinedToVoid": require("./spec/undefined-to-void"), - "es1.ludicrous": require("./es1/ludicrous"), _strict: require("./internal/strict"), _moduleFormatter: require("./internal/module-formatter"), diff --git a/src/babel/transformation/transformers/other/ludicrous.js b/src/babel/transformation/transformers/other/ludicrous.js new file mode 100644 index 0000000000..e240018e47 --- /dev/null +++ b/src/babel/transformation/transformers/other/ludicrous.js @@ -0,0 +1,29 @@ +import * as t from "../../../types"; +import * as util from "../../../util"; + +export var metadata = { + optional: true +}; + +export function BinaryExpression(node) { + if (node.operator === "in") { + return util.template("ludicrous-in", { + LEFT: node.left, + RIGHT: node.right + }); + } +} + +export function Property(node) { + var key = node.key; + if (t.isLiteral(key) && typeof key.value === "number") { + key.value = "" + key.value; + } +} + +export function Literal(node) { + if (node.regex) { + node.regex.pattern = "foobar"; + node.regex.flags = ""; + } +}