UNPKG

ts-budgie

Version:

Converts TypeScript code to Budgie.

36 lines (30 loc) 1.34 kB
import { CaseStyleConverterBag, NameSplitter } from "budgie"; import * as tsutils from "tsutils"; import { Transformation } from "../output/transformation"; import { RootAliaser } from "../parsing/aliasers/rootAliaser"; import { TransformationsPrinter } from "../printing/transformationsPrinter"; import { ITransformerSettings } from "../service"; import { VisitorContext } from "./context"; import { NodeVisitRouter } from "./router"; import { VisitorCreatorsBag } from "./visitorCreatorsBag"; export const visitSourceFile = ({ contextOptions, sourceFile, typeChecker }: ITransformerSettings): Transformation[] => { const aliaser = new RootAliaser(sourceFile, typeChecker); const casing = new CaseStyleConverterBag(); const nameSplitter = new NameSplitter(); const printer = new TransformationsPrinter(); const variableUsage = tsutils.collectVariableUsage(sourceFile); const visitorContext = new VisitorContext(contextOptions); const visitorCreatorsBag = new VisitorCreatorsBag(); const router = new NodeVisitRouter({ aliaser, casing, printer, nameSplitter, sourceFile, typeChecker, variableUsage, visitorContext, visitorCreatorsBag, }); return router.recurseIntoNode(sourceFile); };