astx
Version:
super powerful structural search and replace for JavaScript and TypeScript to automate your refactoring
15 lines (13 loc) • 1.85 kB
JavaScript
import * as t from '@babel/types'
import convertToIdentifier from './Identifier.mjs'
export default function convertTSTypeReplacement(node) {
switch (node.type) {
case 'TypeAnnotation':
return node.typeAnnotation
}
if (!t.isTSType(node)) {
const id = convertToIdentifier(node)
if (id) return t.tsTypeReference(id, null)
}
return node
} //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ0IiwiY29udmVydFRvSWRlbnRpZmllciIsImNvbnZlcnRUU1R5cGVSZXBsYWNlbWVudCIsIm5vZGUiLCJ0eXBlIiwidHlwZUFubm90YXRpb24iLCJpc1RTVHlwZSIsImlkIiwidHNUeXBlUmVmZXJlbmNlIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnZlcnRSZXBsYWNlbWVudC9jb252ZXJ0VFNUeXBlUmVwbGFjZW1lbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTm9kZSB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0ICogYXMgdCBmcm9tICdAYmFiZWwvdHlwZXMnXG5pbXBvcnQgY29udmVydFRvSWRlbnRpZmllciBmcm9tICcuL0lkZW50aWZpZXInXG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNvbnZlcnRUU1R5cGVSZXBsYWNlbWVudChub2RlOiBOb2RlKTogTm9kZSB7XG4gIHN3aXRjaCAobm9kZS50eXBlKSB7XG4gICAgY2FzZSAnVHlwZUFubm90YXRpb24nOlxuICAgICAgcmV0dXJuIG5vZGUudHlwZUFubm90YXRpb25cbiAgfVxuICBpZiAoIXQuaXNUU1R5cGUobm9kZSkpIHtcbiAgICBjb25zdCBpZCA9IGNvbnZlcnRUb0lkZW50aWZpZXIobm9kZSlcbiAgICBpZiAoaWQpIHJldHVybiB0LnRzVHlwZVJlZmVyZW5jZShpZCBhcyB0LklkZW50aWZpZXIsIG51bGwpXG4gIH1cbiAgcmV0dXJuIG5vZGVcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sS0FBS0EsQ0FBWixNQUFtQixjQUFuQjtBQUNBLE9BQU9DLG1CQUFQLE1BQWdDLGNBQWhDOztBQUVBLGVBQWUsU0FBU0Msd0JBQVQsQ0FBa0NDLElBQWxDLEVBQW9EO0VBQ2pFLFFBQVFBLElBQUksQ0FBQ0MsSUFBYjtJQUNFLEtBQUssZ0JBQUw7TUFDRSxPQUFPRCxJQUFJLENBQUNFLGNBQVosQ0FGSjs7RUFJQSxJQUFJLENBQUNMLENBQUMsQ0FBQ00sUUFBRixDQUFXSCxJQUFYLENBQUwsRUFBdUI7SUFDckIsTUFBTUksRUFBRSxHQUFHTixtQkFBbUIsQ0FBQ0UsSUFBRCxDQUE5QjtJQUNBLElBQUlJLEVBQUosRUFBUSxPQUFPUCxDQUFDLENBQUNRLGVBQUYsQ0FBa0JELEVBQWxCLEVBQXNDLElBQXRDLENBQVA7RUFDVDtFQUNELE9BQU9KLElBQVA7QUFDRCJ9