move es6.proxies to ludicrous

This commit is contained in:
Sebastian McKenzie
2015-04-15 14:59:37 -07:00
parent bb30a64f8d
commit fcb78436c6
26 changed files with 42 additions and 49 deletions

View File

@@ -87,8 +87,8 @@ export default class File {
];
static soloHelpers = [
"proxy-create",
"proxy-directory"
"ludicrous-proxy-create",
"ludicrous-proxy-directory"
];
static options = require("./options");

View File

@@ -1,43 +0,0 @@
import * as t from "../../../types";
export var metadata = {
optional: true
};
// foo.bar
export function MemberExpression(node) {
}
// Object.setPrototypeOf
// Object.preventExtensions
// Object.keys
// Object.isExtensible
// Object.getOwnPropertyDescriptor
// Object.defineProperty
export function CallExpression(node) {
}
// delete foo.bar
export function UnaryExpression(node) {
}
// foo in bar
export function BinaryExpression(node) {
}
export function AssignmentExpression(node) {
}
// new Proxy
export function NewExpression(node, parent, scope, file) {
if (this.get("callee").isIdentifier({ name: "Proxy" })) {
return t.callExpression(file.addHelper("proxy-create"), [node.arguments[0], file.addHelper("proxy-directory")]);
} else {
// possible proxy constructor
}
}

View File

@@ -3,7 +3,6 @@ export default {
"es7.trailingFunctionCommas": require("./es7/trailing-function-commas"),
"es7.asyncFunctions": require("./es7/async-functions"),
"es7.decorators": require("./es7/decorators"),
"es6.proxies": require("./es6/proxies"),
strict: require("./other/strict"),

View File

@@ -5,6 +5,7 @@ export var metadata = {
optional: true
};
// foo in bar
export function BinaryExpression(node) {
if (node.operator === "in") {
return util.template("ludicrous-in", {
@@ -14,6 +15,7 @@ export function BinaryExpression(node) {
}
}
// { 1: "foo" }
export function Property(node) {
var key = node.key;
if (t.isLiteral(key) && typeof key.value === "number") {
@@ -21,9 +23,44 @@ export function Property(node) {
}
}
// /foobar/g
export function Literal(node) {
if (node.regex) {
node.regex.pattern = "foobar";
node.regex.flags = "";
}
}
// foo.bar
export function MemberExpression(node) {
}
// Object.setPrototypeOf
// Object.preventExtensions
// Object.keys
// Object.isExtensible
// Object.getOwnPropertyDescriptor
// Object.defineProperty
export function CallExpression(node) {
}
// delete foo.bar
export function UnaryExpression(node) {
}
// foo.bar = bar;
export function AssignmentExpression(node) {
}
// new Proxy
export function NewExpression(node, parent, scope, file) {
if (this.get("callee").isIdentifier({ name: "Proxy" })) {
return t.callExpression(file.addHelper("proxy-create"), [node.arguments[0], file.addHelper("proxy-directory")]);
} else {
// possible proxy constructor
}
}