UNPKG

astx

Version:

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

21 lines (19 loc) 2.69 kB
import * as t from '@babel/types' import convertToExpression from './convertToExpression.mjs' export default function convertStatementReplacement(value) { switch (value.type) { case 'ClassExpression': return { ...value, type: 'ClassDeclaration' } case 'FunctionExpression': return { ...value, id: value.id || t.identifier('anonymous'), type: 'FunctionDeclaration', } } if (!t.isStatement(value)) { const expression = convertToExpression(value) if (expression) return t.expressionStatement(expression) } return value } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ0IiwiY29udmVydFRvRXhwcmVzc2lvbiIsImNvbnZlcnRTdGF0ZW1lbnRSZXBsYWNlbWVudCIsInZhbHVlIiwidHlwZSIsImlkIiwiaWRlbnRpZmllciIsImlzU3RhdGVtZW50IiwiZXhwcmVzc2lvbiIsImV4cHJlc3Npb25TdGF0ZW1lbnQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udmVydFJlcGxhY2VtZW50L2NvbnZlcnRTdGF0ZW1lbnRSZXBsYWNlbWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb2RlLCBDbGFzc0RlY2xhcmF0aW9uIH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgKiBhcyB0IGZyb20gJ0BiYWJlbC90eXBlcydcblxuaW1wb3J0IGNvbnZlcnRUb0V4cHJlc3Npb24gZnJvbSAnLi9jb252ZXJ0VG9FeHByZXNzaW9uJ1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjb252ZXJ0U3RhdGVtZW50UmVwbGFjZW1lbnQodmFsdWU6IE5vZGUpOiBOb2RlIHtcbiAgc3dpdGNoICh2YWx1ZS50eXBlKSB7XG4gICAgY2FzZSAnQ2xhc3NFeHByZXNzaW9uJzpcbiAgICAgIHJldHVybiB7IC4uLnZhbHVlLCB0eXBlOiAnQ2xhc3NEZWNsYXJhdGlvbicgfSBhcyBhbnkgYXMgQ2xhc3NEZWNsYXJhdGlvblxuICAgIGNhc2UgJ0Z1bmN0aW9uRXhwcmVzc2lvbic6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi52YWx1ZSxcbiAgICAgICAgaWQ6IHZhbHVlLmlkIHx8IHQuaWRlbnRpZmllcignYW5vbnltb3VzJyksXG4gICAgICAgIHR5cGU6ICdGdW5jdGlvbkRlY2xhcmF0aW9uJyxcbiAgICAgIH0gYXMgYW55XG4gIH1cbiAgaWYgKCF0LmlzU3RhdGVtZW50KHZhbHVlKSkge1xuICAgIGNvbnN0IGV4cHJlc3Npb24gPSBjb252ZXJ0VG9FeHByZXNzaW9uKHZhbHVlKVxuICAgIGlmIChleHByZXNzaW9uKSByZXR1cm4gdC5leHByZXNzaW9uU3RhdGVtZW50KGV4cHJlc3Npb24gYXMgdC5FeHByZXNzaW9uKVxuICB9XG4gIHJldHVybiB2YWx1ZVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxLQUFLQSxDQUFaLE1BQW1CLGNBQW5COztBQUVBLE9BQU9DLG1CQUFQLE1BQWdDLHVCQUFoQzs7QUFFQSxlQUFlLFNBQVNDLDJCQUFULENBQXFDQyxLQUFyQyxFQUF3RDtFQUNyRSxRQUFRQSxLQUFLLENBQUNDLElBQWQ7SUFDRSxLQUFLLGlCQUFMO01BQ0UsT0FBTyxFQUFFLEdBQUdELEtBQUwsRUFBWUMsSUFBSSxFQUFFLGtCQUFsQixFQUFQO0lBQ0YsS0FBSyxvQkFBTDtNQUNFLE9BQU87UUFDTCxHQUFHRCxLQURFO1FBRUxFLEVBQUUsRUFBRUYsS0FBSyxDQUFDRSxFQUFOLElBQVlMLENBQUMsQ0FBQ00sVUFBRixDQUFhLFdBQWIsQ0FGWDtRQUdMRixJQUFJLEVBQUUscUJBSEQsRUFBUCxDQUpKOzs7RUFVQSxJQUFJLENBQUNKLENBQUMsQ0FBQ08sV0FBRixDQUFjSixLQUFkLENBQUwsRUFBMkI7SUFDekIsTUFBTUssVUFBVSxHQUFHUCxtQkFBbUIsQ0FBQ0UsS0FBRCxDQUF0QztJQUNBLElBQUlLLFVBQUosRUFBZ0IsT0FBT1IsQ0FBQyxDQUFDUyxtQkFBRixDQUFzQkQsVUFBdEIsQ0FBUDtFQUNqQjtFQUNELE9BQU9MLEtBQVA7QUFDRCJ9