typescript-to-lua
Version:
A generic TypeScript to Lua transpiler. Write your code in TypeScript and publish Lua!
30 lines (29 loc) • 1.21 kB
TypeScript
import * as ts from "typescript";
import { Plugin } from "./plugins";
import { TranspileOptions } from "./transpile";
import { EmitFile, EmitHost, ProcessedFile } from "./utils";
export interface TranspilerOptions {
emitHost?: EmitHost;
}
export interface EmitOptions extends TranspileOptions {
writeFile?: ts.WriteFileCallback;
}
export interface EmitResult {
emitSkipped: boolean;
diagnostics: readonly ts.Diagnostic[];
}
export declare class Transpiler {
protected emitHost: EmitHost;
constructor({ emitHost }?: TranspilerOptions);
emit(emitOptions: EmitOptions): EmitResult;
private emitFiles;
protected getEmitPlan(program: ts.Program, diagnostics: ts.Diagnostic[], files: ProcessedFile[], plugins: Plugin[]): {
emitPlan: EmitFile[];
};
private getLuaLibBundleContent;
}
export declare function getEmitPath(file: string, program: ts.Program): string;
export declare function getEmitPathRelativeToOutDir(fileName: string, program: ts.Program): string;
export declare function getSourceDir(program: ts.Program): string;
export declare function getEmitOutDir(program: ts.Program): string;
export declare function getProjectRoot(program: ts.Program): string;