add types.toIdentifier
This commit is contained in:
@@ -1,6 +1,4 @@
|
||||
var traverse = require("../traverse");
|
||||
var n = require("ast-types").namedTypes;
|
||||
var _ = require("lodash");
|
||||
var _ = require("lodash");
|
||||
|
||||
var t = exports;
|
||||
|
||||
@@ -86,6 +84,23 @@ t.isReferenced = function (node, parent) {
|
||||
return false;
|
||||
};
|
||||
|
||||
t.toIdentifier = function (name) {
|
||||
if (t.isIdentifier(name)) return name.name;
|
||||
|
||||
// replace all non-valid identifiers with dashes
|
||||
name = name.replace(/[^a-zA-Z0-9]/g, "-");
|
||||
|
||||
// remove all dashes and numbers from start of name
|
||||
name = name.replace(/^[-0-9]+/, "");
|
||||
|
||||
// camel case
|
||||
name = name.replace(/[-_\s]+(.)?/g, function (match, c) {
|
||||
return c ? c.toUpperCase() : "";
|
||||
});
|
||||
|
||||
return name;
|
||||
};
|
||||
|
||||
t.ensureBlock = function (node) {
|
||||
node.body = t.toBlock(node.body, node);
|
||||
};
|
||||
@@ -127,7 +142,7 @@ t.toBlock = function (node, parent) {
|
||||
}
|
||||
|
||||
if (!_.isArray(node)) {
|
||||
if (!n.Statement.check(node)) {
|
||||
if (!t.isStatement(node)) {
|
||||
if (t.isFunction(parent)) {
|
||||
node = t.returnStatement(node);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user