UNPKG

typescript-to-lua

Version:

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

140 lines (139 loc) 5.72 kB
import { EmitHost } from "./transpilation"; import * as lua from "./LuaAST"; import { LuaTarget } from "./CompilerOptions"; export declare enum LuaLibFeature { ArrayAt = "ArrayAt", ArrayConcat = "ArrayConcat", ArrayEntries = "ArrayEntries", ArrayEvery = "ArrayEvery", ArrayFill = "ArrayFill", ArrayFilter = "ArrayFilter", ArrayForEach = "ArrayForEach", ArrayFind = "ArrayFind", ArrayFindIndex = "ArrayFindIndex", ArrayFrom = "ArrayFrom", ArrayIncludes = "ArrayIncludes", ArrayIndexOf = "ArrayIndexOf", ArrayIsArray = "ArrayIsArray", ArrayJoin = "ArrayJoin", ArrayMap = "ArrayMap", ArrayPush = "ArrayPush", ArrayPushArray = "ArrayPushArray", ArrayReduce = "ArrayReduce", ArrayReduceRight = "ArrayReduceRight", ArrayReverse = "ArrayReverse", ArrayUnshift = "ArrayUnshift", ArraySort = "ArraySort", ArraySlice = "ArraySlice", ArraySome = "ArraySome", ArraySplice = "ArraySplice", ArrayToObject = "ArrayToObject", ArrayFlat = "ArrayFlat", ArrayFlatMap = "ArrayFlatMap", ArraySetLength = "ArraySetLength", ArrayToReversed = "ArrayToReversed", ArrayToSorted = "ArrayToSorted", ArrayToSpliced = "ArrayToSpliced", ArrayWith = "ArrayWith", Await = "Await", Class = "Class", ClassExtends = "ClassExtends", CloneDescriptor = "CloneDescriptor", CountVarargs = "CountVarargs", Decorate = "Decorate", DecorateLegacy = "DecorateLegacy", DecorateParam = "DecorateParam", Delete = "Delete", DelegatedYield = "DelegatedYield", DescriptorGet = "DescriptorGet", DescriptorSet = "DescriptorSet", Error = "Error", FunctionBind = "FunctionBind", Generator = "Generator", InstanceOf = "InstanceOf", InstanceOfObject = "InstanceOfObject", Iterator = "Iterator", LuaIteratorSpread = "LuaIteratorSpread", Map = "Map", MapGroupBy = "MapGroupBy", Match = "Match", MathAtan2 = "MathAtan2", MathModf = "MathModf", MathSign = "MathSign", MathTrunc = "MathTrunc", New = "New", Number = "Number", NumberIsFinite = "NumberIsFinite", NumberIsInteger = "NumberIsInteger", NumberIsNaN = "NumberIsNaN", NumberParseInt = "ParseInt", NumberParseFloat = "ParseFloat", NumberToString = "NumberToString", NumberToFixed = "NumberToFixed", ObjectAssign = "ObjectAssign", ObjectDefineProperty = "ObjectDefineProperty", ObjectEntries = "ObjectEntries", ObjectFromEntries = "ObjectFromEntries", ObjectGetOwnPropertyDescriptor = "ObjectGetOwnPropertyDescriptor", ObjectGetOwnPropertyDescriptors = "ObjectGetOwnPropertyDescriptors", ObjectGroupBy = "ObjectGroupBy", ObjectKeys = "ObjectKeys", ObjectRest = "ObjectRest", ObjectValues = "ObjectValues", ParseFloat = "ParseFloat", ParseInt = "ParseInt", Promise = "Promise", PromiseAll = "PromiseAll", PromiseAllSettled = "PromiseAllSettled", PromiseAny = "PromiseAny", PromiseRace = "PromiseRace", Set = "Set", SetDescriptor = "SetDescriptor", SparseArrayNew = "SparseArrayNew", SparseArrayPush = "SparseArrayPush", SparseArraySpread = "SparseArraySpread", WeakMap = "WeakMap", WeakSet = "WeakSet", SourceMapTraceBack = "SourceMapTraceBack", Spread = "Spread", StringAccess = "StringAccess", StringCharAt = "StringCharAt", StringCharCodeAt = "StringCharCodeAt", StringEndsWith = "StringEndsWith", StringIncludes = "StringIncludes", StringPadEnd = "StringPadEnd", StringPadStart = "StringPadStart", StringReplace = "StringReplace", StringReplaceAll = "StringReplaceAll", StringSlice = "StringSlice", StringSplit = "StringSplit", StringStartsWith = "StringStartsWith", StringSubstr = "StringSubstr", StringSubstring = "StringSubstring", StringTrim = "StringTrim", StringTrimEnd = "StringTrimEnd", StringTrimStart = "StringTrimStart", Symbol = "Symbol", SymbolRegistry = "SymbolRegistry", TypeOf = "TypeOf", Unpack = "Unpack", Using = "Using", UsingAsync = "UsingAsync" } export interface LuaLibFeatureInfo { dependencies?: LuaLibFeature[]; exports: string[]; } export type LuaLibModulesInfo = Record<LuaLibFeature, LuaLibFeatureInfo>; export declare function resolveLuaLibDir(luaTarget: LuaTarget): string; export declare const luaLibModulesInfoFileName = "lualib_module_info.json"; export declare function getLuaLibModulesInfo(luaTarget: LuaTarget, emitHost: EmitHost): LuaLibModulesInfo; export declare function getLuaLibExportToFeatureMap(luaTarget: LuaTarget, emitHost: EmitHost): ReadonlyMap<string, LuaLibFeature>; export declare function readLuaLibFeature(feature: LuaLibFeature, luaTarget: LuaTarget, emitHost: EmitHost): string; export declare function resolveRecursiveLualibFeatures(features: Iterable<LuaLibFeature>, luaTarget: LuaTarget, emitHost: EmitHost, luaLibModulesInfo?: LuaLibModulesInfo): LuaLibFeature[]; export declare function loadInlineLualibFeatures(features: Iterable<LuaLibFeature>, luaTarget: LuaTarget, emitHost: EmitHost): string; export declare function loadImportedLualibFeatures(features: Iterable<LuaLibFeature>, luaTarget: LuaTarget, emitHost: EmitHost): lua.Statement[]; export declare function getLuaLibBundle(luaTarget: LuaTarget, emitHost: EmitHost): string; export declare function getLualibBundleReturn(exportedValues: string[]): string; export declare function buildMinimalLualibBundle(features: Iterable<LuaLibFeature>, luaTarget: LuaTarget, emitHost: EmitHost): string; export declare function findUsedLualibFeatures(luaTarget: LuaTarget, emitHost: EmitHost, luaContents: string[]): Set<LuaLibFeature>;