UNPKG

typescript-to-lua

Version:

A generic TypeScript to Lua transpiler. Write your code in TypeScript and publish Lua!

72 lines (71 loc) 3.99 kB
import * as ts from "typescript"; import { TransformationContext } from "../context"; export declare enum ExtensionKind { MultiFunction = "MultiFunction", RangeFunction = "RangeFunction", VarargConstant = "VarargConstant", AdditionOperatorType = "Addition", AdditionOperatorMethodType = "AdditionMethod", SubtractionOperatorType = "Subtraction", SubtractionOperatorMethodType = "SubtractionMethod", MultiplicationOperatorType = "Multiplication", MultiplicationOperatorMethodType = "MultiplicationMethod", DivisionOperatorType = "Division", DivisionOperatorMethodType = "DivisionMethod", ModuloOperatorType = "Modulo", ModuloOperatorMethodType = "ModuloMethod", PowerOperatorType = "Power", PowerOperatorMethodType = "PowerMethod", FloorDivisionOperatorType = "FloorDivision", FloorDivisionOperatorMethodType = "FloorDivisionMethod", BitwiseAndOperatorType = "BitwiseAnd", BitwiseAndOperatorMethodType = "BitwiseAndMethod", BitwiseOrOperatorType = "BitwiseOr", BitwiseOrOperatorMethodType = "BitwiseOrMethod", BitwiseExclusiveOrOperatorType = "BitwiseExclusiveOr", BitwiseExclusiveOrOperatorMethodType = "BitwiseExclusiveOrMethod", BitwiseLeftShiftOperatorType = "BitwiseLeftShift", BitwiseLeftShiftOperatorMethodType = "BitwiseLeftShiftMethod", BitwiseRightShiftOperatorType = "BitwiseRightShift", BitwiseRightShiftOperatorMethodType = "BitwiseRightShiftMethod", ConcatOperatorType = "Concat", ConcatOperatorMethodType = "ConcatMethod", LessThanOperatorType = "LessThan", LessThanOperatorMethodType = "LessThanMethod", GreaterThanOperatorType = "GreaterThan", GreaterThanOperatorMethodType = "GreaterThanMethod", NegationOperatorType = "Negation", NegationOperatorMethodType = "NegationMethod", BitwiseNotOperatorType = "BitwiseNot", BitwiseNotOperatorMethodType = "BitwiseNotMethod", LengthOperatorType = "Length", LengthOperatorMethodType = "LengthMethod", TableNewType = "TableNew", TableDeleteType = "TableDelete", TableDeleteMethodType = "TableDeleteMethod", TableGetType = "TableGet", TableGetMethodType = "TableGetMethod", TableHasType = "TableHas", TableHasMethodType = "TableHasMethod", TableSetType = "TableSet", TableSetMethodType = "TableSetMethod", TableAddKeyType = "TableAddKey", TableAddKeyMethodType = "TableAddKeyMethod", TableIsEmptyType = "TableIsEmpty", TableIsEmptyMethodType = "TableIsEmptyMethod" } export declare function getExtensionKindForType(context: TransformationContext, type: ts.Type): ExtensionKind | undefined; export declare function getExtensionKindForNode(context: TransformationContext, node: ts.Node): ExtensionKind | undefined; export declare function getExtensionKindForSymbol(context: TransformationContext, symbol: ts.Symbol): ExtensionKind | undefined; export declare enum IterableExtensionKind { Iterable = "Iterable", Pairs = "Pairs", PairsKey = "PairsKey" } export declare function isLuaIterable(context: TransformationContext, type: ts.Type): boolean; export declare function getIterableExtensionTypeForType(context: TransformationContext, type: ts.Type): IterableExtensionKind | undefined; export declare function getIterableExtensionKindForNode(context: TransformationContext, node: ts.Node): IterableExtensionKind | undefined; export declare const methodExtensionKinds: ReadonlySet<ExtensionKind>; export declare function getNaryCallExtensionArgs(context: TransformationContext, node: ts.CallExpression, kind: ExtensionKind, numArgs: number): readonly ts.Expression[] | undefined; export declare function getUnaryCallExtensionArg(context: TransformationContext, node: ts.CallExpression, kind: ExtensionKind): ts.Expression | undefined; export declare function getBinaryCallExtensionArgs(context: TransformationContext, node: ts.CallExpression, kind: ExtensionKind): readonly [ts.Expression, ts.Expression] | undefined;