UNPKG

astx

Version:

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

17 lines (15 loc) 1.98 kB
import * as t from '@babel/types' import convertToIdentifierName from './convertToIdentifierName.mjs' export default function convertToTypeParameter() { return (node) => { if (node.type !== 'TypeParameter') { const id = convertToIdentifierName(node) if (id) { const param = t.typeParameter() param.name = id return param } } return node } } //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ0IiwiY29udmVydFRvSWRlbnRpZmllck5hbWUiLCJjb252ZXJ0VG9UeXBlUGFyYW1ldGVyIiwibm9kZSIsInR5cGUiLCJpZCIsInBhcmFtIiwidHlwZVBhcmFtZXRlciIsIm5hbWUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udmVydFJlcGxhY2VtZW50L2NvbnZlcnRUeXBlUGFyYW1ldGVyUmVwbGFjZW1lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm9kZSB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0ICogYXMgdCBmcm9tICdAYmFiZWwvdHlwZXMnXG5pbXBvcnQgeyBSZXBsYWNlbWVudENvbnZlcnRlciB9IGZyb20gJy4vaW5kZXgnXG5pbXBvcnQgY29udmVydFRvSWRlbnRpZmllck5hbWUgZnJvbSAnLi9jb252ZXJ0VG9JZGVudGlmaWVyTmFtZSdcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY29udmVydFRvVHlwZVBhcmFtZXRlcigpOiBSZXBsYWNlbWVudENvbnZlcnRlciB7XG4gIHJldHVybiAobm9kZTogTm9kZSk6IE5vZGUgPT4ge1xuICAgIGlmIChub2RlLnR5cGUgIT09ICdUeXBlUGFyYW1ldGVyJykge1xuICAgICAgY29uc3QgaWQgPSBjb252ZXJ0VG9JZGVudGlmaWVyTmFtZShub2RlKVxuICAgICAgaWYgKGlkKSB7XG4gICAgICAgIGNvbnN0IHBhcmFtID0gdC50eXBlUGFyYW1ldGVyKClcbiAgICAgICAgcGFyYW0ubmFtZSA9IGlkXG4gICAgICAgIHJldHVybiBwYXJhbVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbm9kZVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEtBQUtBLENBQVosTUFBbUIsY0FBbkI7O0FBRUEsT0FBT0MsdUJBQVAsTUFBb0MsMkJBQXBDOztBQUVBLGVBQWUsU0FBU0Msc0JBQVQsR0FBd0Q7RUFDckUsT0FBTyxDQUFDQyxJQUFELEtBQXNCO0lBQzNCLElBQUlBLElBQUksQ0FBQ0MsSUFBTCxLQUFjLGVBQWxCLEVBQW1DO01BQ2pDLE1BQU1DLEVBQUUsR0FBR0osdUJBQXVCLENBQUNFLElBQUQsQ0FBbEM7TUFDQSxJQUFJRSxFQUFKLEVBQVE7UUFDTixNQUFNQyxLQUFLLEdBQUdOLENBQUMsQ0FBQ08sYUFBRixFQUFkO1FBQ0FELEtBQUssQ0FBQ0UsSUFBTixHQUFhSCxFQUFiO1FBQ0EsT0FBT0MsS0FBUDtNQUNEO0lBQ0Y7SUFDRCxPQUFPSCxJQUFQO0VBQ0QsQ0FWRDtBQVdEIn0=