Files
30-seconds-of-code/node_modules/babel-plugin-transform-minify-booleans/lib/index.js
2019-08-20 15:52:05 +02:00

20 lines
448 B
JavaScript

"use strict";
module.exports = function ({
types: t
}) {
const TRUE = t.unaryExpression("!", t.numericLiteral(0), true);
const FALSE = t.unaryExpression("!", t.numericLiteral(1), true);
return {
name: "transform-minify-booleans",
visitor: {
// shorten booleans to a negation
// true -> !0
// false -> !1
BooleanLiteral(path) {
path.replaceWith(path.node.value ? TRUE : FALSE);
}
}
};
};