babel/lib/6to5/transformation/transformers/_property-literals.js
Sebastian McKenzie d184bc93b9 add playground
2014-11-25 23:50:50 +11:00

17 lines
534 B
JavaScript

var esutils = require("esutils");
var t = require("../../types");
var _ = require("lodash");
exports.Property = function (node) {
var key = node.key;
if (t.isLiteral(key) && t.isValidIdentifier(key.value)) {
// property key is a literal but a valid identifier
node.key = t.identifier(key.value);
node.computed = false;
} else if (t.isIdentifier(key) && esutils.keyword.isKeywordES6(key.name, true)) {
// property key is a keyword
node.key = t.literal(key.name);
node.computed = true;
}
};