babel/lib/6to5/transformation/transformers/playground-mallet-operator.js
2015-01-17 22:56:49 +11:00

19 lines
523 B
JavaScript

var t = require("../../types");
module.exports = require("../helpers/build-conditional-assignment-operator-transformer")({
is: function (node) {
var is = t.isAssignmentExpression(node) && node.operator === "||=";
if (is) {
var left = node.left;
if (!t.isMemberExpression(left) && !t.isIdentifier(left)) {
throw new Error("Expected type MemeberExpression or Identifier");
}
return true;
}
},
build: function (node) {
return t.unaryExpression("!", node, true);
}
});