| "use strict"; |
| |
| Object.defineProperty(exports, "__esModule", { |
| value: true |
| }); |
| exports.default = toKeyAlias; |
| |
| var _generated = require("../validators/generated"); |
| |
| var _cloneNode = _interopRequireDefault(require("../clone/cloneNode")); |
| |
| var _removePropertiesDeep = _interopRequireDefault(require("../modifications/removePropertiesDeep")); |
| |
| function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } |
| |
| 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++; |
| } |
| }; |