UNPKG

ts-budgie

Version:

Converts TypeScript code to Budgie.

19 lines (13 loc) 695 B
import * as ts from "typescript"; import { INodeAliaser } from "../../nodes/aliaser"; import { BudgieLine } from "../../output/budgieLine"; export type IRecurseOntoNode = (node: ts.Node) => string | BudgieLine | undefined; export abstract class RecursiveAliaser implements INodeAliaser { protected readonly recurseOntoNode: IRecurseOntoNode; protected readonly typeChecker: ts.TypeChecker; public constructor(typeChecker: ts.TypeChecker, recurseOntoNode: IRecurseOntoNode) { this.recurseOntoNode = recurseOntoNode; this.typeChecker = typeChecker; } public abstract getFriendlyTypeName(node: ts.Node): string | BudgieLine | undefined; }