UNPKG

astx

Version:

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

16 lines (14 loc) 1.98 kB
import * as t from '@babel/types' import convertToExpression from './convertToExpression.mjs' export default function convertArrayElementReplacement(node) { switch (node.type) { case 'SpreadElement': return node case 'TSRestType': case 'ObjectTypeSpreadProperty': { const expr = convertToExpression(node) if (expr) return t.spreadElement(expr) } } return convertToExpression(node) || node } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ0IiwiY29udmVydFRvRXhwcmVzc2lvbiIsImNvbnZlcnRBcnJheUVsZW1lbnRSZXBsYWNlbWVudCIsIm5vZGUiLCJ0eXBlIiwiZXhwciIsInNwcmVhZEVsZW1lbnQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udmVydFJlcGxhY2VtZW50L2NvbnZlcnRBcnJheUVsZW1lbnRSZXBsYWNlbWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOb2RlIH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgKiBhcyB0IGZyb20gJ0BiYWJlbC90eXBlcydcbmltcG9ydCBjb252ZXJ0VG9FeHByZXNzaW9uIGZyb20gJy4vY29udmVydFRvRXhwcmVzc2lvbidcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY29udmVydEFycmF5RWxlbWVudFJlcGxhY2VtZW50KG5vZGU6IE5vZGUpOiBOb2RlIHtcbiAgc3dpdGNoIChub2RlLnR5cGUpIHtcbiAgICBjYXNlICdTcHJlYWRFbGVtZW50JzpcbiAgICAgIHJldHVybiBub2RlXG4gICAgY2FzZSAnVFNSZXN0VHlwZSc6XG4gICAgY2FzZSAnT2JqZWN0VHlwZVNwcmVhZFByb3BlcnR5Jzoge1xuICAgICAgY29uc3QgZXhwciA9IGNvbnZlcnRUb0V4cHJlc3Npb24obm9kZSlcbiAgICAgIGlmIChleHByKSByZXR1cm4gdC5zcHJlYWRFbGVtZW50KGV4cHIgYXMgdC5FeHByZXNzaW9uKVxuICAgIH1cbiAgfVxuICByZXR1cm4gY29udmVydFRvRXhwcmVzc2lvbihub2RlKSB8fCBub2RlXG59XG4iXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEtBQUtBLENBQVosTUFBbUIsY0FBbkI7QUFDQSxPQUFPQyxtQkFBUCxNQUFnQyx1QkFBaEM7O0FBRUEsZUFBZSxTQUFTQyw4QkFBVCxDQUF3Q0MsSUFBeEMsRUFBMEQ7RUFDdkUsUUFBUUEsSUFBSSxDQUFDQyxJQUFiO0lBQ0UsS0FBSyxlQUFMO01BQ0UsT0FBT0QsSUFBUDtJQUNGLEtBQUssWUFBTDtJQUNBLEtBQUssMEJBQUwsQ0FBaUM7UUFDL0IsTUFBTUUsSUFBSSxHQUFHSixtQkFBbUIsQ0FBQ0UsSUFBRCxDQUFoQztRQUNBLElBQUlFLElBQUosRUFBVSxPQUFPTCxDQUFDLENBQUNNLGFBQUYsQ0FBZ0JELElBQWhCLENBQVA7TUFDWCxDQVBIOztFQVNBLE9BQU9KLG1CQUFtQixDQUFDRSxJQUFELENBQW5CLElBQTZCQSxJQUFwQztBQUNEIn0=