typescript-to-lua
Version:
A generic TypeScript to Lua transpiler. Write your code in TypeScript and publish Lua!
17 lines (16 loc) • 1.65 kB
TypeScript
import * as ts from "typescript";
import * as lua from "../../LuaAST";
import { TransformationContext } from "../context";
export type OneToManyVisitorResult<T extends lua.Node> = T | T[] | undefined;
export declare function unwrapVisitorResult<T extends lua.Node>(result: OneToManyVisitorResult<T>): T[];
export declare function createSelfIdentifier(tsOriginal?: ts.Node): lua.Identifier;
export declare function createExportsIdentifier(): lua.Identifier;
export declare function addToNumericExpression(expression: lua.Expression, change: number): lua.Expression;
export declare function getNumberLiteralValue(expression?: lua.Expression): number | undefined;
export declare function createUnpackCall(context: TransformationContext, expression: lua.Expression, tsOriginal?: ts.Node): lua.Expression;
export declare function isUnpackCall(node: lua.Node): boolean;
export declare function wrapInTable(...expressions: lua.Expression[]): lua.TableExpression;
export declare function wrapInToStringForConcat(expression: lua.Expression): lua.Expression;
export declare function createHoistableVariableDeclarationStatement(context: TransformationContext, identifier: lua.Identifier, initializer?: lua.Expression, tsOriginal?: ts.Node): lua.AssignmentStatement | lua.VariableDeclarationStatement;
export declare function createLocalOrExportedOrGlobalDeclaration(context: TransformationContext, lhs: lua.Identifier | lua.Identifier[], rhs?: lua.Expression | lua.Expression[], tsOriginal?: ts.Node, overrideExportScope?: ts.SourceFile | ts.ModuleDeclaration): lua.Statement[];
export declare const createNaN: (tsOriginal?: ts.Node) => lua.BinaryExpression;