UNPKG

astx

Version:

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

134 lines (103 loc) 3.23 kB
'use strict' var _interopRequireDefault = require('@babel/runtime/helpers/interopRequireDefault') var _typeof = require('@babel/runtime/helpers/typeof') Object.defineProperty(exports, '__esModule', { value: true, }) exports['default'] = convertToJSXIdentifierNameExpressionPair var t = _interopRequireWildcard(require('@babel/types')) var _convertToIdentifierName = _interopRequireDefault( require('./convertToIdentifierName') ) var _convertToExpression = _interopRequireDefault( require('./convertToExpression') ) function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== 'function') return null var cacheBabelInterop = new WeakMap() var cacheNodeInterop = new WeakMap() return (_getRequireWildcardCache = function _getRequireWildcardCache( nodeInterop ) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop })(nodeInterop) } function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj } if ( obj === null || (_typeof(obj) !== 'object' && typeof obj !== 'function') ) { return { default: obj, } } var cache = _getRequireWildcardCache(nodeInterop) if (cache && cache.has(obj)) { return cache.get(obj) } var newObj = {} var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor for (var key in obj) { if (key !== 'default' && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc) } else { newObj[key] = obj[key] } } } newObj['default'] = obj if (cache) { cache.set(obj, newObj) } return newObj } function convertToJSXIdentifierNameExpressionPair(node) { switch (node.type) { case 'ObjectProperty': case 'ObjectTypeProperty': case 'Property': { var _key = (0, _convertToIdentifierName['default'])(node.key) var value = (0, _convertToExpression['default'])(node.value) if (_key && value) return [_key, value] break } case 'TSPropertySignature': { var _key2 = (0, _convertToIdentifierName['default'])(node.key) var _value = (0, _convertToExpression['default'])( node.typeAnnotation || node.key ) if (_key2 && _value) return [_key2, _value] break } case 'JSXAttribute': { var _key3 = (0, _convertToIdentifierName['default'])(node.name) var _value2 = (0, _convertToExpression['default'])( node.value || node.name ) if (_key3 && _value2) return [_key3, _value2] break } case 'ImportSpecifier': { var _key4 = node.imported.type === 'StringLiteral' ? node.imported.value : node.imported.name var _value3 = node.local || node.imported return [_key4, _value3] } case 'ImportDefaultSpecifier': { var _value4 = node.local || t.identifier('default') return ['default', _value4] } } var key = (0, _convertToIdentifierName['default'])(node) if (key) return [key, t.identifier(key)] }