mirror of
https://github.com/Sevichecc/Urara-Blog.git
synced 2025-05-02 21:49:31 +08:00
46 lines
No EOL
1,013 B
Text
46 lines
No EOL
1,013 B
Text
"use strict";
|
|
|
|
Object.defineProperty(exports, "__esModule", {
|
|
value: true
|
|
});
|
|
exports.default = toKeyAlias;
|
|
|
|
var _generated = require("../validators/generated");
|
|
|
|
var _cloneNode = require("../clone/cloneNode");
|
|
|
|
var _removePropertiesDeep = require("../modifications/removePropertiesDeep");
|
|
|
|
function toKeyAlias(node, key = node.key) {
|
|
let alias;
|
|
|
|
if (node.kind === "method") {
|
|
return toKeyAlias.increment() + "";
|
|
} else if ((0, _generated.isIdentifier)(key)) {
|
|
alias = key.name;
|
|
} else if ((0, _generated.isStringLiteral)(key)) {
|
|
alias = JSON.stringify(key.value);
|
|
} else {
|
|
alias = JSON.stringify((0, _removePropertiesDeep.default)((0, _cloneNode.default)(key)));
|
|
}
|
|
|
|
if (node.computed) {
|
|
alias = `[${alias}]`;
|
|
}
|
|
|
|
if (node.static) {
|
|
alias = `static:${alias}`;
|
|
}
|
|
|
|
return alias;
|
|
}
|
|
|
|
toKeyAlias.uid = 0;
|
|
|
|
toKeyAlias.increment = function () {
|
|
if (toKeyAlias.uid >= Number.MAX_SAFE_INTEGER) {
|
|
return toKeyAlias.uid = 0;
|
|
} else {
|
|
return toKeyAlias.uid++;
|
|
}
|
|
}; |