UNPKG

budgie-cli

Version:
58 lines (57 loc) 1.96 kB
import * as ts from "typescript"; import { IConversionResult, IConverter, ICreateConverterDependencies } from "../converter"; import { IUnsupportedComplaint } from "./collectedUnsupportedTransforms"; export interface ITsconfigOptions { compilerOptions: ts.CompilerOptions; exclude?: ReadonlyArray<string>; files?: ReadonlyArray<string>; include: ReadonlyArray<string>; } /** * Extension for TypeScript files. */ export declare const tsExtension = ".ts"; /** * Dependencies to initialize a new instance of the TypeScriptConverter class. */ export interface ITypeScriptConverterDependencies extends ICreateConverterDependencies { /** * Options for the TypeScript compiler. */ tsconfigOptions: ITsconfigOptions; } /** * @todo Use this once ts-budgie supports emitting a summary of unsupported syntax. */ export declare const complainForTransformation: (sourceFile: ts.SourceFile, complaint: IUnsupportedComplaint) => string; /** * Converts TypeScript files to their Budgie outputs. */ export declare class TypeScriptConverter implements IConverter { /** * Dependencies used for initialization. */ private readonly dependencies; /** * TypeScript source files, keyed by unique file path. */ private readonly sourceFiles; /** * Transforms TypeScript to Budgie. */ private readonly transformer; /** * Initializes a new instance of the TypeScriptConverter class. * * @param dependencies Dependencies used for initialization. * @param options Options for converting files. */ constructor(dependencies: ITypeScriptConverterDependencies); /** * Converts a TypeScript file to its Budgie output. * * @param sourcePath Original Budgie file path. * @returns The file's Budgie output. */ convertFile(sourcePath: string): Promise<IConversionResult>; }