UNPKG

astx

Version:

super powerful structural search and replace for JavaScript and TypeScript to automate your refactoring

57 lines (49 loc) 5.75 kB
import convertToJSXIdentifierName from './convertToIdentifierName.mjs' export default function convertToJSXIdentifierNamePair(node) { switch (node.type) { case 'ObjectProperty': case 'ObjectTypeProperty': case 'Property': { const key = convertToJSXIdentifierName(node.key) const value = convertToJSXIdentifierName(node.value) if (key && value) return [key, value] break } case 'TSPropertySignature': { const key = convertToJSXIdentifierName(node.key) const value = node.typeAnnotation ? convertToJSXIdentifierName(node.typeAnnotation) : key if (key && value) return [key, value] break } case 'JSXAttribute': { const key = convertToJSXIdentifierName(node.name) const value = node.value ? convertToJSXIdentifierName(node.value) : key if (key && value) return [key, value] break } case 'ImportSpecifier': { var _node$local const key = node.imported.type === 'StringLiteral' ? node.imported.value : node.imported.name const value = ((_node$local = node.local) === null || _node$local === void 0 ? void 0 : _node$local.name) || key return [key, value] } case 'ImportDefaultSpecifier': { var _node$local2 const value = ((_node$local2 = node.local) === null || _node$local2 === void 0 ? void 0 : _node$local2.name) || 'default' return ['default', value] } } const key = convertToJSXIdentifierName(node) if (key) return [key, key] } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb252ZXJ0VG9KU1hJZGVudGlmaWVyTmFtZSIsImNvbnZlcnRUb0pTWElkZW50aWZpZXJOYW1lUGFpciIsIm5vZGUiLCJ0eXBlIiwia2V5IiwidmFsdWUiLCJ0eXBlQW5ub3RhdGlvbiIsIm5hbWUiLCJpbXBvcnRlZCIsImxvY2FsIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnZlcnRSZXBsYWNlbWVudC9jb252ZXJ0VG9KU1hJZGVudGlmaWVyTmFtZVBhaXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm9kZSB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IGNvbnZlcnRUb0pTWElkZW50aWZpZXJOYW1lIGZyb20gJy4vY29udmVydFRvSWRlbnRpZmllck5hbWUnXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNvbnZlcnRUb0pTWElkZW50aWZpZXJOYW1lUGFpcihcbiAgbm9kZTogTm9kZVxuKTogW3N0cmluZywgc3RyaW5nXSB8IHZvaWQge1xuICBzd2l0Y2ggKG5vZGUudHlwZSkge1xuICAgIGNhc2UgJ09iamVjdFByb3BlcnR5JzpcbiAgICBjYXNlICdPYmplY3RUeXBlUHJvcGVydHknOlxuICAgIGNhc2UgJ1Byb3BlcnR5Jzoge1xuICAgICAgY29uc3Qga2V5ID0gY29udmVydFRvSlNYSWRlbnRpZmllck5hbWUobm9kZS5rZXkpXG4gICAgICBjb25zdCB2YWx1ZSA9IGNvbnZlcnRUb0pTWElkZW50aWZpZXJOYW1lKG5vZGUudmFsdWUpXG4gICAgICBpZiAoa2V5ICYmIHZhbHVlKSByZXR1cm4gW2tleSwgdmFsdWVdXG4gICAgICBicmVha1xuICAgIH1cbiAgICBjYXNlICdUU1Byb3BlcnR5U2lnbmF0dXJlJzoge1xuICAgICAgY29uc3Qga2V5ID0gY29udmVydFRvSlNYSWRlbnRpZmllck5hbWUobm9kZS5rZXkpXG4gICAgICBjb25zdCB2YWx1ZSA9IG5vZGUudHlwZUFubm90YXRpb25cbiAgICAgICAgPyBjb252ZXJ0VG9KU1hJZGVudGlmaWVyTmFtZShub2RlLnR5cGVBbm5vdGF0aW9uKVxuICAgICAgICA6IGtleVxuICAgICAgaWYgKGtleSAmJiB2YWx1ZSkgcmV0dXJuIFtrZXksIHZhbHVlXVxuICAgICAgYnJlYWtcbiAgICB9XG4gICAgY2FzZSAnSlNYQXR0cmlidXRlJzoge1xuICAgICAgY29uc3Qga2V5ID0gY29udmVydFRvSlNYSWRlbnRpZmllck5hbWUobm9kZS5uYW1lKVxuICAgICAgY29uc3QgdmFsdWUgPSBub2RlLnZhbHVlID8gY29udmVydFRvSlNYSWRlbnRpZmllck5hbWUobm9kZS52YWx1ZSkgOiBrZXlcbiAgICAgIGlmIChrZXkgJiYgdmFsdWUpIHJldHVybiBba2V5LCB2YWx1ZV1cbiAgICAgIGJyZWFrXG4gICAgfVxuICAgIGNhc2UgJ0ltcG9ydFNwZWNpZmllcic6IHtcbiAgICAgIGNvbnN0IGtleSA9XG4gICAgICAgIG5vZGUuaW1wb3J0ZWQudHlwZSA9PT0gJ1N0cmluZ0xpdGVyYWwnXG4gICAgICAgICAgPyBub2RlLmltcG9ydGVkLnZhbHVlXG4gICAgICAgICAgOiBub2RlLmltcG9ydGVkLm5hbWVcbiAgICAgIGNvbnN0IHZhbHVlID0gbm9kZS5sb2NhbD8ubmFtZSB8fCBrZXlcbiAgICAgIHJldHVybiBba2V5LCB2YWx1ZV1cbiAgICB9XG4gICAgY2FzZSAnSW1wb3J0RGVmYXVsdFNwZWNpZmllcic6IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gbm9kZS5sb2NhbD8ubmFtZSB8fCAnZGVmYXVsdCdcbiAgICAgIHJldHVybiBbJ2RlZmF1bHQnLCB2YWx1ZV1cbiAgICB9XG4gIH1cbiAgY29uc3Qga2V5ID0gY29udmVydFRvSlNYSWRlbnRpZmllck5hbWUobm9kZSlcbiAgaWYgKGtleSkgcmV0dXJuIFtrZXksIGtleV1cbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU9BLDBCQUFQLE1BQXVDLDJCQUF2Qzs7QUFFQSxlQUFlLFNBQVNDLDhCQUFUO0FBQ2JDLElBRGE7QUFFWTtFQUN6QixRQUFRQSxJQUFJLENBQUNDLElBQWI7SUFDRSxLQUFLLGdCQUFMO0lBQ0EsS0FBSyxvQkFBTDtJQUNBLEtBQUssVUFBTCxDQUFpQjtRQUNmLE1BQU1DLEdBQUcsR0FBR0osMEJBQTBCLENBQUNFLElBQUksQ0FBQ0UsR0FBTixDQUF0QztRQUNBLE1BQU1DLEtBQUssR0FBR0wsMEJBQTBCLENBQUNFLElBQUksQ0FBQ0csS0FBTixDQUF4QztRQUNBLElBQUlELEdBQUcsSUFBSUMsS0FBWCxFQUFrQixPQUFPLENBQUNELEdBQUQsRUFBTUMsS0FBTixDQUFQO1FBQ2xCO01BQ0Q7SUFDRCxLQUFLLHFCQUFMLENBQTRCO1FBQzFCLE1BQU1ELEdBQUcsR0FBR0osMEJBQTBCLENBQUNFLElBQUksQ0FBQ0UsR0FBTixDQUF0QztRQUNBLE1BQU1DLEtBQUssR0FBR0gsSUFBSSxDQUFDSSxjQUFMO1FBQ1ZOLDBCQUEwQixDQUFDRSxJQUFJLENBQUNJLGNBQU4sQ0FEaEI7UUFFVkYsR0FGSjtRQUdBLElBQUlBLEdBQUcsSUFBSUMsS0FBWCxFQUFrQixPQUFPLENBQUNELEdBQUQsRUFBTUMsS0FBTixDQUFQO1FBQ2xCO01BQ0Q7SUFDRCxLQUFLLGNBQUwsQ0FBcUI7UUFDbkIsTUFBTUQsR0FBRyxHQUFHSiwwQkFBMEIsQ0FBQ0UsSUFBSSxDQUFDSyxJQUFOLENBQXRDO1FBQ0EsTUFBTUYsS0FBSyxHQUFHSCxJQUFJLENBQUNHLEtBQUwsR0FBYUwsMEJBQTBCLENBQUNFLElBQUksQ0FBQ0csS0FBTixDQUF2QyxHQUFzREQsR0FBcEU7UUFDQSxJQUFJQSxHQUFHLElBQUlDLEtBQVgsRUFBa0IsT0FBTyxDQUFDRCxHQUFELEVBQU1DLEtBQU4sQ0FBUDtRQUNsQjtNQUNEO0lBQ0QsS0FBSyxpQkFBTCxDQUF3QjtRQUN0QixNQUFNRCxHQUFHO1FBQ1BGLElBQUksQ0FBQ00sUUFBTCxDQUFjTCxJQUFkLEtBQXVCLGVBQXZCO1FBQ0lELElBQUksQ0FBQ00sUUFBTCxDQUFjSCxLQURsQjtRQUVJSCxJQUFJLENBQUNNLFFBQUwsQ0FBY0QsSUFIcEI7UUFJQSxNQUFNRixLQUFLLEdBQUcsZ0JBQUFILElBQUksQ0FBQ08sS0FBTCw0REFBWUYsSUFBWixLQUFvQkgsR0FBbEM7UUFDQSxPQUFPLENBQUNBLEdBQUQsRUFBTUMsS0FBTixDQUFQO01BQ0Q7SUFDRCxLQUFLLHdCQUFMLENBQStCO1FBQzdCLE1BQU1BLEtBQUssR0FBRyxpQkFBQUgsSUFBSSxDQUFDTyxLQUFMLDhEQUFZRixJQUFaLEtBQW9CLFNBQWxDO1FBQ0EsT0FBTyxDQUFDLFNBQUQsRUFBWUYsS0FBWixDQUFQO01BQ0QsQ0FsQ0g7O0VBb0NBLE1BQU1ELEdBQUcsR0FBR0osMEJBQTBCLENBQUNFLElBQUQsQ0FBdEM7RUFDQSxJQUFJRSxHQUFKLEVBQVMsT0FBTyxDQUFDQSxHQUFELEVBQU1BLEdBQU4sQ0FBUDtBQUNWIn0=