UNPKG

astx

Version:

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

26 lines (23 loc) 2.9 kB
import * as t from '@babel/types' import convertToIdentifierName from './convertToIdentifierName.mjs' export default function convertToExpression(value) { var _value$expression switch (value.type) { case 'ClassDeclaration': return { ...value, type: 'ClassExpression' } case 'FunctionDeclaration': return { ...value, type: 'FunctionExpression' } case 'ExpressionStatement': case 'JSXExpressionContainer': if ( ((_value$expression = value.expression) === null || _value$expression === void 0 ? void 0 : _value$expression.type) !== 'JSXEmptyExpression' ) return value.expression } if (t.isExpression(value)) return value const name = convertToIdentifierName(value) if (name) return t.identifier(name) } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ0IiwiY29udmVydFRvSWRlbnRpZmllck5hbWUiLCJjb252ZXJ0VG9FeHByZXNzaW9uIiwidmFsdWUiLCJ0eXBlIiwiZXhwcmVzc2lvbiIsImlzRXhwcmVzc2lvbiIsIm5hbWUiLCJpZGVudGlmaWVyIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnZlcnRSZXBsYWNlbWVudC9jb252ZXJ0VG9FeHByZXNzaW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vZGUsIEV4cHJlc3Npb24gfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCAqIGFzIHQgZnJvbSAnQGJhYmVsL3R5cGVzJ1xuaW1wb3J0IGNvbnZlcnRUb0lkZW50aWZpZXJOYW1lIGZyb20gJy4vY29udmVydFRvSWRlbnRpZmllck5hbWUnXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNvbnZlcnRUb0V4cHJlc3Npb24odmFsdWU6IE5vZGUpOiBFeHByZXNzaW9uIHwgdm9pZCB7XG4gIHN3aXRjaCAodmFsdWUudHlwZSkge1xuICAgIGNhc2UgJ0NsYXNzRGVjbGFyYXRpb24nOlxuICAgICAgcmV0dXJuIHsgLi4udmFsdWUsIHR5cGU6ICdDbGFzc0V4cHJlc3Npb24nIH1cbiAgICBjYXNlICdGdW5jdGlvbkRlY2xhcmF0aW9uJzpcbiAgICAgIHJldHVybiB7IC4uLnZhbHVlLCB0eXBlOiAnRnVuY3Rpb25FeHByZXNzaW9uJyB9XG4gICAgY2FzZSAnRXhwcmVzc2lvblN0YXRlbWVudCc6XG4gICAgY2FzZSAnSlNYRXhwcmVzc2lvbkNvbnRhaW5lcic6XG4gICAgICBpZiAodmFsdWUuZXhwcmVzc2lvbj8udHlwZSAhPT0gJ0pTWEVtcHR5RXhwcmVzc2lvbicpXG4gICAgICAgIHJldHVybiB2YWx1ZS5leHByZXNzaW9uXG4gIH1cbiAgaWYgKHQuaXNFeHByZXNzaW9uKHZhbHVlKSkgcmV0dXJuIHZhbHVlXG4gIGNvbnN0IG5hbWUgPSBjb252ZXJ0VG9JZGVudGlmaWVyTmFtZSh2YWx1ZSlcbiAgaWYgKG5hbWUpIHJldHVybiB0LmlkZW50aWZpZXIobmFtZSlcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sS0FBS0EsQ0FBWixNQUFtQixjQUFuQjtBQUNBLE9BQU9DLHVCQUFQLE1BQW9DLDJCQUFwQzs7QUFFQSxlQUFlLFNBQVNDLG1CQUFULENBQTZCQyxLQUE3QixFQUE2RDtFQUMxRSxRQUFRQSxLQUFLLENBQUNDLElBQWQ7SUFDRSxLQUFLLGtCQUFMO01BQ0UsT0FBTyxFQUFFLEdBQUdELEtBQUwsRUFBWUMsSUFBSSxFQUFFLGlCQUFsQixFQUFQO0lBQ0YsS0FBSyxxQkFBTDtNQUNFLE9BQU8sRUFBRSxHQUFHRCxLQUFMLEVBQVlDLElBQUksRUFBRSxvQkFBbEIsRUFBUDtJQUNGLEtBQUsscUJBQUw7SUFDQSxLQUFLLHdCQUFMO01BQ0UsSUFBSSxzQkFBQUQsS0FBSyxDQUFDRSxVQUFOLHdFQUFrQkQsSUFBbEIsTUFBMkIsb0JBQS9CO01BQ0UsT0FBT0QsS0FBSyxDQUFDRSxVQUFiLENBUk47O0VBVUEsSUFBSUwsQ0FBQyxDQUFDTSxZQUFGLENBQWVILEtBQWYsQ0FBSixFQUEyQixPQUFPQSxLQUFQO0VBQzNCLE1BQU1JLElBQUksR0FBR04sdUJBQXVCLENBQUNFLEtBQUQsQ0FBcEM7RUFDQSxJQUFJSSxJQUFKLEVBQVUsT0FBT1AsQ0FBQyxDQUFDUSxVQUFGLENBQWFELElBQWIsQ0FBUDtBQUNYIn0=