typescript-to-lua
Version:
A generic TypeScript to Lua transpiler. Write your code in TypeScript and publish Lua!
15 lines (14 loc) • 1.68 kB
TypeScript
import * as ts from "typescript";
import * as lua from "../../LuaAST";
import { FunctionVisitor, TransformationContext } from "../context";
import { Scope } from "../utils/scope";
export declare function createCallableTable(functionExpression: lua.Expression): lua.Expression;
export declare function isFunctionTypeWithProperties(context: TransformationContext, functionType: ts.Type): boolean;
export declare function transformFunctionBodyContent(context: TransformationContext, body: ts.ConciseBody): lua.Statement[];
export declare function transformFunctionBodyHeader(context: TransformationContext, bodyScope: Scope, parameters: ts.NodeArray<ts.ParameterDeclaration>, spreadIdentifier?: lua.Identifier): lua.Statement[];
export declare function transformFunctionBody(context: TransformationContext, parameters: ts.NodeArray<ts.ParameterDeclaration>, body: ts.ConciseBody, spreadIdentifier?: lua.Identifier, node?: ts.FunctionLikeDeclaration): [lua.Statement[], Scope];
export declare function transformParameters(context: TransformationContext, parameters: ts.NodeArray<ts.ParameterDeclaration>, functionContext?: lua.Identifier): [lua.Identifier[], lua.DotsLiteral | undefined, lua.Identifier | undefined];
export declare function transformFunctionToExpression(context: TransformationContext, node: ts.FunctionLikeDeclaration): [lua.Expression, Scope];
export declare function transformFunctionLikeDeclaration(node: ts.FunctionLikeDeclaration, context: TransformationContext): lua.Expression;
export declare const transformFunctionDeclaration: FunctionVisitor<ts.FunctionDeclaration>;
export declare const transformYieldExpression: FunctionVisitor<ts.YieldExpression>;