astx
Version:
super powerful structural search and replace for JavaScript and TypeScript to automate your refactoring
17 lines (15 loc) • 1.98 kB
JavaScript
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=