babel/lib/6to5/transformation/transformers/playground-memoization-operator.js
2015-01-18 00:37:51 +11:00

22 lines
551 B
JavaScript

var build = require("../helpers/build-conditional-assignment-operator-transformer");
var t = require("../../types");
build(exports, {
is: function (node) {
var is = t.isAssignmentExpression(node) && node.operator === "?=";
if (is) t.assertMemberExpression(node.left);
return is;
},
build: function (node, file) {
return t.unaryExpression(
"!",
t.callExpression(
t.memberExpression(file.addHelper("has-own"), t.identifier("call")),
[node.object, node.property]
),
true
);
}
});