UNPKG

astx

Version:

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

68 lines (49 loc) 1.96 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = convertToJSXIdentifierNamePair; var _convertToIdentifierName = _interopRequireDefault(require("./convertToIdentifierName")); function convertToJSXIdentifierNamePair(node) { switch (node.type) { case 'ObjectProperty': case 'ObjectTypeProperty': case 'Property': { var _key = (0, _convertToIdentifierName["default"])(node.key); var value = (0, _convertToIdentifierName["default"])(node.value); if (_key && value) return [_key, value]; break; } case 'TSPropertySignature': { var _key2 = (0, _convertToIdentifierName["default"])(node.key); var _value = node.typeAnnotation ? (0, _convertToIdentifierName["default"])(node.typeAnnotation) : _key2; if (_key2 && _value) return [_key2, _value]; break; } case 'JSXAttribute': { var _key3 = (0, _convertToIdentifierName["default"])(node.name); var _value2 = node.value ? (0, _convertToIdentifierName["default"])(node.value) : _key3; if (_key3 && _value2) return [_key3, _value2]; break; } case 'ImportSpecifier': { var _node$local; var _key4 = node.imported.type === 'StringLiteral' ? node.imported.value : node.imported.name; var _value3 = ((_node$local = node.local) === null || _node$local === void 0 ? void 0 : _node$local.name) || _key4; return [_key4, _value3]; } case 'ImportDefaultSpecifier': { var _node$local2; var _value4 = ((_node$local2 = node.local) === null || _node$local2 === void 0 ? void 0 : _node$local2.name) || 'default'; return ['default', _value4]; } } var key = (0, _convertToIdentifierName["default"])(node); if (key) return [key, key]; }