add proxies

This commit is contained in:
Sebastian McKenzie
2015-04-11 14:32:52 -07:00
parent 070152f6c1
commit 0995cc3f4e
23 changed files with 225 additions and 0 deletions

View File

@@ -85,6 +85,8 @@ export default class File {
"default-props"
];
"proxy-create",
"proxy-directory"
static options = require("./options");
normalizeOptions(opts: Object) {

View File

@@ -0,0 +1,4 @@
(function (proxy, directory) {
directory.push(proxy);
return proxy;
})

View File

@@ -0,0 +1 @@
[];

View File

@@ -0,0 +1,43 @@
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

@@ -2,6 +2,7 @@ export default {
"es7.classProperties": require("./es7/class-properties"),
"es7.asyncFunctions": require("./es7/async-functions"),
"es7.decorators": require("./es7/decorators"),
"es6.proxies": require("./es6/proxies"),
strict: require("./other/strict"),