typescript-to-lua 1.3.2 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CompilerOptions.d.ts +1 -1
- package/dist/CompilerOptions.js +0 -1
- package/dist/LuaLib.d.ts +12 -1
- package/dist/LuaLib.js +61 -65
- package/dist/LuaPrinter.js +9 -8
- package/dist/cli/parse.js +5 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +5 -1
- package/dist/lualib/ArrayConcat.lua +1 -1
- package/dist/lualib/ArrayEntries.lua +1 -1
- package/dist/lualib/ArrayEvery.lua +2 -2
- package/dist/lualib/ArrayFilter.lua +2 -2
- package/dist/lualib/ArrayFind.lua +2 -2
- package/dist/lualib/ArrayFindIndex.lua +2 -2
- package/dist/lualib/ArrayFlat.lua +1 -1
- package/dist/lualib/ArrayFlatMap.lua +2 -2
- package/dist/lualib/ArrayForEach.lua +2 -2
- package/dist/lualib/ArrayIncludes.lua +1 -1
- package/dist/lualib/ArrayIndexOf.lua +1 -1
- package/dist/lualib/ArrayIsArray.lua +1 -1
- package/dist/lualib/ArrayJoin.lua +1 -1
- package/dist/lualib/ArrayMap.lua +2 -2
- package/dist/lualib/ArrayPush.lua +1 -1
- package/dist/lualib/ArrayReduce.lua +2 -2
- package/dist/lualib/ArrayReduceRight.lua +2 -2
- package/dist/lualib/ArrayReverse.lua +1 -1
- package/dist/lualib/ArraySetLength.lua +1 -1
- package/dist/lualib/ArrayShift.lua +1 -1
- package/dist/lualib/ArraySlice.lua +1 -1
- package/dist/lualib/ArraySome.lua +2 -2
- package/dist/lualib/ArraySort.lua +2 -2
- package/dist/lualib/ArraySplice.lua +1 -1
- package/dist/lualib/ArrayToObject.lua +1 -1
- package/dist/lualib/ArrayUnshift.lua +1 -1
- package/dist/lualib/Await.lua +13 -13
- package/dist/lualib/Class.lua +1 -1
- package/dist/lualib/ClassExtends.lua +1 -1
- package/dist/lualib/CloneDescriptor.lua +1 -1
- package/dist/lualib/Decorate.lua +5 -5
- package/dist/lualib/DecorateParam.lua +2 -2
- package/dist/lualib/DelegatedYield.lua +1 -1
- package/dist/lualib/Delete.lua +1 -1
- package/dist/lualib/Error.lua +68 -69
- package/dist/lualib/FunctionBind.lua +1 -1
- package/dist/lualib/Generator.lua +26 -23
- package/dist/lualib/InstanceOf.lua +1 -1
- package/dist/lualib/InstanceOfObject.lua +1 -1
- package/dist/lualib/Iterator.lua +35 -32
- package/dist/lualib/Map.lua +131 -129
- package/dist/lualib/MathAtan2.lua +1 -1
- package/dist/lualib/MathSign.lua +1 -1
- package/dist/lualib/New.lua +1 -1
- package/dist/lualib/Number.lua +1 -1
- package/dist/lualib/NumberIsFinite.lua +1 -1
- package/dist/lualib/NumberIsNaN.lua +1 -1
- package/dist/lualib/NumberToString.lua +42 -39
- package/dist/lualib/ObjectAssign.lua +1 -1
- package/dist/lualib/ObjectDefineProperty.lua +1 -1
- package/dist/lualib/ObjectEntries.lua +1 -1
- package/dist/lualib/ObjectFromEntries.lua +1 -1
- package/dist/lualib/ObjectGetOwnPropertyDescriptor.lua +1 -1
- package/dist/lualib/ObjectGetOwnPropertyDescriptors.lua +1 -1
- package/dist/lualib/ObjectKeys.lua +1 -1
- package/dist/lualib/ObjectRest.lua +1 -1
- package/dist/lualib/ObjectValues.lua +1 -1
- package/dist/lualib/ParseFloat.lua +1 -1
- package/dist/lualib/ParseInt.lua +39 -36
- package/dist/lualib/Promise.lua +148 -152
- package/dist/lualib/PromiseAll.lua +5 -5
- package/dist/lualib/PromiseAllSettled.lua +5 -5
- package/dist/lualib/PromiseAny.lua +5 -5
- package/dist/lualib/PromiseRace.lua +5 -5
- package/dist/lualib/Set.lua +120 -118
- package/dist/lualib/SetDescriptor.lua +67 -64
- package/dist/lualib/SourceMapTraceBack.lua +7 -6
- package/dist/lualib/SparseArrayNew.lua +1 -1
- package/dist/lualib/SparseArrayPush.lua +1 -1
- package/dist/lualib/SparseArraySpread.lua +1 -1
- package/dist/lualib/Spread.lua +1 -1
- package/dist/lualib/StringAccess.lua +1 -1
- package/dist/lualib/StringCharAt.lua +1 -1
- package/dist/lualib/StringCharCodeAt.lua +1 -1
- package/dist/lualib/StringConcat.lua +1 -1
- package/dist/lualib/StringEndsWith.lua +1 -1
- package/dist/lualib/StringIncludes.lua +1 -1
- package/dist/lualib/StringPadEnd.lua +1 -1
- package/dist/lualib/StringPadStart.lua +1 -1
- package/dist/lualib/StringReplace.lua +2 -2
- package/dist/lualib/StringReplaceAll.lua +4 -4
- package/dist/lualib/StringSlice.lua +1 -1
- package/dist/lualib/StringSplit.lua +1 -1
- package/dist/lualib/StringStartsWith.lua +1 -1
- package/dist/lualib/StringSubstr.lua +1 -1
- package/dist/lualib/StringSubstring.lua +1 -1
- package/dist/lualib/StringTrim.lua +1 -1
- package/dist/lualib/StringTrimEnd.lua +1 -1
- package/dist/lualib/StringTrimStart.lua +1 -1
- package/dist/lualib/Symbol.lua +14 -11
- package/dist/lualib/SymbolRegistry.lua +13 -10
- package/dist/lualib/TypeOf.lua +1 -1
- package/dist/lualib/Unpack.lua +1 -1
- package/dist/lualib/WeakMap.lua +41 -39
- package/dist/lualib/WeakSet.lua +37 -35
- package/dist/lualib/lualib_bundle.lua +1054 -924
- package/dist/lualib/lualib_module_info.json +619 -0
- package/dist/lualib-build/plugin.d.ts +23 -0
- package/dist/lualib-build/plugin.js +138 -0
- package/dist/lualib-build/util.d.ts +19 -0
- package/dist/lualib-build/util.js +43 -0
- package/dist/transformation/builtins/function.js +2 -1
- package/dist/transformation/builtins/index.d.ts +1 -0
- package/dist/transformation/builtins/index.js +63 -16
- package/dist/transformation/context/index.js +5 -1
- package/dist/transformation/utils/diagnostics.d.ts +3 -0
- package/dist/transformation/utils/diagnostics.js +2 -1
- package/dist/transformation/utils/typescript/index.js +5 -1
- package/dist/transformation/utils/typescript/types.d.ts +2 -0
- package/dist/transformation/utils/typescript/types.js +10 -1
- package/dist/transformation/visitors/class/index.js +1 -5
- package/dist/transformation/visitors/class/members/constructor.js +1 -3
- package/dist/transformation/visitors/class/members/fields.js +12 -8
- package/dist/transformation/visitors/class/new.d.ts +1 -2
- package/dist/transformation/visitors/class/new.js +1 -40
- package/dist/transformation/visitors/conditional.js +15 -14
- package/dist/transformation/visitors/identifier.js +5 -0
- package/dist/transformation/visitors/literal.js +22 -0
- package/dist/transformation/visitors/modules/import.js +4 -14
- package/dist/transpilation/bundle.js +1 -1
- package/dist/transpilation/index.js +5 -1
- package/dist/transpilation/plugins.d.ts +11 -0
- package/dist/transpilation/resolve.js +2 -2
- package/dist/transpilation/transpile.js +13 -0
- package/dist/transpilation/transpiler.js +6 -2
- package/package.json +12 -11
- package/CHANGELOG.md +0 -703
|
@@ -17,6 +17,7 @@ export interface LuaPluginImport {
|
|
|
17
17
|
}
|
|
18
18
|
export declare type CompilerOptions = OmitIndexSignature<ts.CompilerOptions> & {
|
|
19
19
|
buildMode?: BuildMode;
|
|
20
|
+
extension?: string;
|
|
20
21
|
luaBundle?: string;
|
|
21
22
|
luaBundleEntry?: string;
|
|
22
23
|
luaTarget?: LuaTarget;
|
|
@@ -32,7 +33,6 @@ export declare type CompilerOptions = OmitIndexSignature<ts.CompilerOptions> & {
|
|
|
32
33
|
};
|
|
33
34
|
export declare enum LuaLibImportKind {
|
|
34
35
|
None = "none",
|
|
35
|
-
Always = "always",
|
|
36
36
|
Inline = "inline",
|
|
37
37
|
Require = "require"
|
|
38
38
|
}
|
package/dist/CompilerOptions.js
CHANGED
|
@@ -6,7 +6,6 @@ const diagnosticFactories = require("./transpilation/diagnostics");
|
|
|
6
6
|
var LuaLibImportKind;
|
|
7
7
|
(function (LuaLibImportKind) {
|
|
8
8
|
LuaLibImportKind["None"] = "none";
|
|
9
|
-
LuaLibImportKind["Always"] = "always";
|
|
10
9
|
LuaLibImportKind["Inline"] = "inline";
|
|
11
10
|
LuaLibImportKind["Require"] = "require";
|
|
12
11
|
})(LuaLibImportKind = exports.LuaLibImportKind || (exports.LuaLibImportKind = {}));
|
package/dist/LuaLib.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { EmitHost } from "./transpilation";
|
|
2
|
+
import * as lua from "./LuaAST";
|
|
2
3
|
export declare enum LuaLibFeature {
|
|
3
4
|
ArrayConcat = "ArrayConcat",
|
|
4
5
|
ArrayEntries = "ArrayEntries",
|
|
@@ -96,5 +97,15 @@ export declare enum LuaLibFeature {
|
|
|
96
97
|
TypeOf = "TypeOf",
|
|
97
98
|
Unpack = "Unpack"
|
|
98
99
|
}
|
|
99
|
-
export
|
|
100
|
+
export interface LuaLibFeatureInfo {
|
|
101
|
+
dependencies?: LuaLibFeature[];
|
|
102
|
+
exports: string[];
|
|
103
|
+
}
|
|
104
|
+
export declare type LuaLibModulesInfo = Record<LuaLibFeature, LuaLibFeatureInfo>;
|
|
105
|
+
export declare const luaLibModulesInfoFileName = "lualib_module_info.json";
|
|
106
|
+
export declare function getLuaLibModulesInfo(emitHost: EmitHost): LuaLibModulesInfo;
|
|
107
|
+
export declare function readLuaLibFeature(feature: LuaLibFeature, emitHost: EmitHost): string;
|
|
108
|
+
export declare function resolveRecursiveLualibFeatures(features: Iterable<LuaLibFeature>, emitHost: EmitHost, luaLibModulesInfo?: LuaLibModulesInfo): LuaLibFeature[];
|
|
109
|
+
export declare function loadInlineLualibFeatures(features: Iterable<LuaLibFeature>, emitHost: EmitHost): string;
|
|
110
|
+
export declare function loadImportedLualibFeatures(features: Iterable<LuaLibFeature>, emitHost: EmitHost): lua.Statement[];
|
|
100
111
|
export declare function getLuaLibBundle(emitHost: EmitHost): string;
|
package/dist/LuaLib.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getLuaLibBundle = exports.
|
|
3
|
+
exports.getLuaLibBundle = exports.loadImportedLualibFeatures = exports.loadInlineLualibFeatures = exports.resolveRecursiveLualibFeatures = exports.readLuaLibFeature = exports.getLuaLibModulesInfo = exports.luaLibModulesInfoFileName = exports.LuaLibFeature = void 0;
|
|
4
4
|
const path = require("path");
|
|
5
|
+
const lua = require("./LuaAST");
|
|
5
6
|
var LuaLibFeature;
|
|
6
7
|
(function (LuaLibFeature) {
|
|
7
8
|
LuaLibFeature["ArrayConcat"] = "ArrayConcat";
|
|
@@ -100,84 +101,79 @@ var LuaLibFeature;
|
|
|
100
101
|
LuaLibFeature["TypeOf"] = "TypeOf";
|
|
101
102
|
LuaLibFeature["Unpack"] = "Unpack";
|
|
102
103
|
})(LuaLibFeature = exports.LuaLibFeature || (exports.LuaLibFeature = {}));
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
PromiseAny: [
|
|
130
|
-
LuaLibFeature.ArrayPush,
|
|
131
|
-
LuaLibFeature.InstanceOf,
|
|
132
|
-
LuaLibFeature.New,
|
|
133
|
-
LuaLibFeature.Promise,
|
|
134
|
-
LuaLibFeature.Iterator,
|
|
135
|
-
],
|
|
136
|
-
PromiseRace: [
|
|
137
|
-
LuaLibFeature.ArrayPush,
|
|
138
|
-
LuaLibFeature.InstanceOf,
|
|
139
|
-
LuaLibFeature.New,
|
|
140
|
-
LuaLibFeature.Promise,
|
|
141
|
-
LuaLibFeature.Iterator,
|
|
142
|
-
],
|
|
143
|
-
ParseFloat: [LuaLibFeature.StringAccess],
|
|
144
|
-
ParseInt: [LuaLibFeature.StringSubstr, LuaLibFeature.StringSubstring],
|
|
145
|
-
SetDescriptor: [LuaLibFeature.CloneDescriptor],
|
|
146
|
-
Spread: [LuaLibFeature.Iterator, LuaLibFeature.StringAccess, LuaLibFeature.Unpack],
|
|
147
|
-
StringSplit: [LuaLibFeature.StringSubstring, LuaLibFeature.StringAccess],
|
|
148
|
-
SymbolRegistry: [LuaLibFeature.Symbol],
|
|
149
|
-
Map: [LuaLibFeature.InstanceOf, LuaLibFeature.Iterator, LuaLibFeature.Symbol, LuaLibFeature.Class],
|
|
150
|
-
Set: [LuaLibFeature.InstanceOf, LuaLibFeature.Iterator, LuaLibFeature.Symbol, LuaLibFeature.Class],
|
|
151
|
-
WeakMap: [LuaLibFeature.InstanceOf, LuaLibFeature.Iterator, LuaLibFeature.Symbol, LuaLibFeature.Class],
|
|
152
|
-
WeakSet: [LuaLibFeature.InstanceOf, LuaLibFeature.Iterator, LuaLibFeature.Symbol, LuaLibFeature.Class],
|
|
153
|
-
};
|
|
154
|
-
/* eslint-enable @typescript-eslint/naming-convention */
|
|
155
|
-
function loadLuaLibFeatures(features, emitHost) {
|
|
156
|
-
let result = "";
|
|
104
|
+
exports.luaLibModulesInfoFileName = "lualib_module_info.json";
|
|
105
|
+
let luaLibModulesInfo;
|
|
106
|
+
function getLuaLibModulesInfo(emitHost) {
|
|
107
|
+
if (luaLibModulesInfo === undefined) {
|
|
108
|
+
const lualibPath = path.resolve(__dirname, `../dist/lualib/${exports.luaLibModulesInfoFileName}`);
|
|
109
|
+
const result = emitHost.readFile(lualibPath);
|
|
110
|
+
if (result !== undefined) {
|
|
111
|
+
luaLibModulesInfo = JSON.parse(result);
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
throw new Error(`Could not load lualib dependencies from '${lualibPath}'`);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return luaLibModulesInfo;
|
|
118
|
+
}
|
|
119
|
+
exports.getLuaLibModulesInfo = getLuaLibModulesInfo;
|
|
120
|
+
function readLuaLibFeature(feature, emitHost) {
|
|
121
|
+
const featurePath = path.resolve(__dirname, `../dist/lualib/${feature}.lua`);
|
|
122
|
+
const luaLibFeature = emitHost.readFile(featurePath);
|
|
123
|
+
if (luaLibFeature === undefined) {
|
|
124
|
+
throw new Error(`Could not load lualib feature from '${featurePath}'`);
|
|
125
|
+
}
|
|
126
|
+
return luaLibFeature;
|
|
127
|
+
}
|
|
128
|
+
exports.readLuaLibFeature = readLuaLibFeature;
|
|
129
|
+
function resolveRecursiveLualibFeatures(features, emitHost, luaLibModulesInfo = getLuaLibModulesInfo(emitHost)) {
|
|
157
130
|
const loadedFeatures = new Set();
|
|
131
|
+
const result = [];
|
|
158
132
|
function load(feature) {
|
|
133
|
+
var _a;
|
|
159
134
|
if (loadedFeatures.has(feature))
|
|
160
135
|
return;
|
|
161
136
|
loadedFeatures.add(feature);
|
|
162
|
-
const dependencies =
|
|
137
|
+
const dependencies = (_a = luaLibModulesInfo[feature]) === null || _a === void 0 ? void 0 : _a.dependencies;
|
|
163
138
|
if (dependencies) {
|
|
164
139
|
dependencies.forEach(load);
|
|
165
140
|
}
|
|
166
|
-
|
|
167
|
-
const luaLibFeature = emitHost.readFile(featurePath);
|
|
168
|
-
if (luaLibFeature !== undefined) {
|
|
169
|
-
result += luaLibFeature + "\n";
|
|
170
|
-
}
|
|
171
|
-
else {
|
|
172
|
-
throw new Error(`Could not load lualib feature from '${featurePath}'`);
|
|
173
|
-
}
|
|
141
|
+
result.push(feature);
|
|
174
142
|
}
|
|
175
143
|
for (const feature of features) {
|
|
176
144
|
load(feature);
|
|
177
145
|
}
|
|
178
146
|
return result;
|
|
179
147
|
}
|
|
180
|
-
exports.
|
|
148
|
+
exports.resolveRecursiveLualibFeatures = resolveRecursiveLualibFeatures;
|
|
149
|
+
function loadInlineLualibFeatures(features, emitHost) {
|
|
150
|
+
let result = "";
|
|
151
|
+
for (const feature of resolveRecursiveLualibFeatures(features, emitHost)) {
|
|
152
|
+
const luaLibFeature = readLuaLibFeature(feature, emitHost);
|
|
153
|
+
result += luaLibFeature + "\n";
|
|
154
|
+
}
|
|
155
|
+
return result;
|
|
156
|
+
}
|
|
157
|
+
exports.loadInlineLualibFeatures = loadInlineLualibFeatures;
|
|
158
|
+
function loadImportedLualibFeatures(features, emitHost) {
|
|
159
|
+
const luaLibModuleInfo = getLuaLibModulesInfo(emitHost);
|
|
160
|
+
const imports = Array.from(features).flatMap(feature => luaLibModuleInfo[feature].exports);
|
|
161
|
+
const requireCall = lua.createCallExpression(lua.createIdentifier("require"), [
|
|
162
|
+
lua.createStringLiteral("lualib_bundle"),
|
|
163
|
+
]);
|
|
164
|
+
if (imports.length === 0) {
|
|
165
|
+
return [];
|
|
166
|
+
}
|
|
167
|
+
const luaLibId = lua.createIdentifier("____lualib");
|
|
168
|
+
const importStatement = lua.createVariableDeclarationStatement(luaLibId, requireCall);
|
|
169
|
+
const statements = [importStatement];
|
|
170
|
+
// local <export> = ____luaLib.<export>
|
|
171
|
+
for (const item of imports) {
|
|
172
|
+
statements.push(lua.createVariableDeclarationStatement(lua.createIdentifier(item), lua.createTableIndexExpression(luaLibId, lua.createStringLiteral(item))));
|
|
173
|
+
}
|
|
174
|
+
return statements;
|
|
175
|
+
}
|
|
176
|
+
exports.loadImportedLualibFeatures = loadImportedLualibFeatures;
|
|
181
177
|
let luaLibBundleContent;
|
|
182
178
|
function getLuaLibBundle(emitHost) {
|
|
183
179
|
if (luaLibBundleContent === undefined) {
|
package/dist/LuaPrinter.js
CHANGED
|
@@ -3,11 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.LuaPrinter = exports.createPrinter = exports.tstlHeader = exports.escapeString = void 0;
|
|
4
4
|
const path = require("path");
|
|
5
5
|
const source_map_1 = require("source-map");
|
|
6
|
-
const _1 = require(".");
|
|
7
6
|
const CompilerOptions_1 = require("./CompilerOptions");
|
|
8
7
|
const lua = require("./LuaAST");
|
|
9
8
|
const LuaLib_1 = require("./LuaLib");
|
|
10
9
|
const safe_names_1 = require("./transformation/utils/safe-names");
|
|
10
|
+
const transpilation_1 = require("./transpilation");
|
|
11
11
|
const utils_1 = require("./utils");
|
|
12
12
|
// https://www.lua.org/pil/2.4.html
|
|
13
13
|
// https://www.ecma-international.org/ecma-262/10.0/index.html#table-34
|
|
@@ -79,7 +79,7 @@ class LuaPrinter {
|
|
|
79
79
|
this.sourceFile = sourceFile;
|
|
80
80
|
this.currentIndent = "";
|
|
81
81
|
this.options = program.getCompilerOptions();
|
|
82
|
-
this.luaFile = (0, utils_1.normalizeSlashes)((0,
|
|
82
|
+
this.luaFile = (0, utils_1.normalizeSlashes)((0, transpilation_1.getEmitPath)(this.sourceFile, this.program));
|
|
83
83
|
// Source nodes contain relative path from mapped lua file to original TS source file
|
|
84
84
|
this.relativeSourcePath = (0, utils_1.normalizeSlashes)(path.relative(path.dirname(this.luaFile), this.sourceFile));
|
|
85
85
|
}
|
|
@@ -133,23 +133,24 @@ class LuaPrinter {
|
|
|
133
133
|
if (!this.options.noHeader) {
|
|
134
134
|
header += exports.tstlHeader;
|
|
135
135
|
}
|
|
136
|
+
let statements = file.statements;
|
|
136
137
|
const luaLibImport = (_a = this.options.luaLibImport) !== null && _a !== void 0 ? _a : CompilerOptions_1.LuaLibImportKind.Require;
|
|
137
|
-
if (luaLibImport === CompilerOptions_1.LuaLibImportKind.
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
138
|
+
if (luaLibImport === CompilerOptions_1.LuaLibImportKind.Require && file.luaLibFeatures.size > 0) {
|
|
139
|
+
// Import lualib features
|
|
140
|
+
const importStatements = (0, LuaLib_1.loadImportedLualibFeatures)(file.luaLibFeatures, this.emitHost);
|
|
141
|
+
statements = importStatements.concat(statements);
|
|
141
142
|
}
|
|
142
143
|
else if (luaLibImport === CompilerOptions_1.LuaLibImportKind.Inline && file.luaLibFeatures.size > 0) {
|
|
143
144
|
// Inline lualib features
|
|
144
145
|
header += "-- Lua Library inline imports\n";
|
|
145
|
-
header += (0, LuaLib_1.
|
|
146
|
+
header += (0, LuaLib_1.loadInlineLualibFeatures)(file.luaLibFeatures, this.emitHost);
|
|
146
147
|
}
|
|
147
148
|
if (this.options.sourceMapTraceback && !(0, CompilerOptions_1.isBundleEnabled)(this.options)) {
|
|
148
149
|
// In bundle mode the traceback is being generated for the entire file in getBundleResult
|
|
149
150
|
// Otherwise, traceback is being generated locally
|
|
150
151
|
header += `${LuaPrinter.sourceMapTracebackPlaceholder}\n`;
|
|
151
152
|
}
|
|
152
|
-
return this.concatNodes(header, ...this.printStatementArray(
|
|
153
|
+
return this.concatNodes(header, ...this.printStatementArray(statements));
|
|
153
154
|
}
|
|
154
155
|
pushIndent() {
|
|
155
156
|
this.currentIndent += " ";
|
package/dist/cli/parse.js
CHANGED
|
@@ -11,6 +11,11 @@ exports.optionDeclarations = [
|
|
|
11
11
|
type: "enum",
|
|
12
12
|
choices: Object.values(CompilerOptions_1.BuildMode),
|
|
13
13
|
},
|
|
14
|
+
{
|
|
15
|
+
name: "extension",
|
|
16
|
+
description: 'File extension for the resulting Lua files. Defaults to ".lua"',
|
|
17
|
+
type: "string",
|
|
18
|
+
},
|
|
14
19
|
{
|
|
15
20
|
name: "luaBundle",
|
|
16
21
|
description: "The name of the lua file to bundle output lua to. Requires luaBundleEntry.",
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
function __TS__ArrayEvery(arr, callbackfn)
|
|
1
|
+
local function __TS__ArrayEvery(arr, callbackfn)
|
|
2
2
|
do
|
|
3
3
|
local i = 0
|
|
4
4
|
while i < #arr do
|
|
5
|
-
if not callbackfn(
|
|
5
|
+
if not callbackfn(nil, arr[i + 1], i, arr) then
|
|
6
6
|
return false
|
|
7
7
|
end
|
|
8
8
|
i = i + 1
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
function __TS__ArrayFilter(arr, callbackfn)
|
|
1
|
+
local function __TS__ArrayFilter(arr, callbackfn)
|
|
2
2
|
local result = {}
|
|
3
3
|
do
|
|
4
4
|
local i = 0
|
|
5
5
|
while i < #arr do
|
|
6
|
-
if callbackfn(
|
|
6
|
+
if callbackfn(nil, arr[i + 1], i, arr) then
|
|
7
7
|
result[#result + 1] = arr[i + 1]
|
|
8
8
|
end
|
|
9
9
|
i = i + 1
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
function __TS__ArrayFind(arr, predicate)
|
|
1
|
+
local function __TS__ArrayFind(arr, predicate)
|
|
2
2
|
local len = #arr
|
|
3
3
|
local k = 0
|
|
4
4
|
while k < len do
|
|
5
5
|
local elem = arr[k + 1]
|
|
6
|
-
if predicate(
|
|
6
|
+
if predicate(nil, elem, k, arr) then
|
|
7
7
|
return elem
|
|
8
8
|
end
|
|
9
9
|
k = k + 1
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
function __TS__ArrayFindIndex(arr, callbackFn)
|
|
1
|
+
local function __TS__ArrayFindIndex(arr, callbackFn)
|
|
2
2
|
do
|
|
3
3
|
local i = 0
|
|
4
4
|
local len = #arr
|
|
5
5
|
while i < len do
|
|
6
|
-
if callbackFn(
|
|
6
|
+
if callbackFn(nil, arr[i + 1], i, arr) then
|
|
7
7
|
return i
|
|
8
8
|
end
|
|
9
9
|
i = i + 1
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
function __TS__ArrayFlatMap(array, callback)
|
|
1
|
+
local function __TS__ArrayFlatMap(array, callback)
|
|
2
2
|
local result = {}
|
|
3
3
|
do
|
|
4
4
|
local i = 0
|
|
5
5
|
while i < #array do
|
|
6
|
-
local value = callback(
|
|
6
|
+
local value = callback(nil, array[i + 1], i, array)
|
|
7
7
|
if type(value) == "table" and __TS__ArrayIsArray(value) then
|
|
8
8
|
result = __TS__ArrayConcat(result, value)
|
|
9
9
|
else
|
package/dist/lualib/ArrayMap.lua
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
function __TS__ArrayMap(arr, callbackfn)
|
|
1
|
+
local function __TS__ArrayMap(arr, callbackfn)
|
|
2
2
|
local newArray = {}
|
|
3
3
|
do
|
|
4
4
|
local i = 0
|
|
5
5
|
while i < #arr do
|
|
6
|
-
newArray[i + 1] = callbackfn(
|
|
6
|
+
newArray[i + 1] = callbackfn(nil, arr[i + 1], i, arr)
|
|
7
7
|
i = i + 1
|
|
8
8
|
end
|
|
9
9
|
end
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function __TS__ArrayReduce(arr, callbackFn, ...)
|
|
1
|
+
local function __TS__ArrayReduce(arr, callbackFn, ...)
|
|
2
2
|
local len = #arr
|
|
3
3
|
local k = 0
|
|
4
4
|
local accumulator = nil
|
|
@@ -12,7 +12,7 @@ function __TS__ArrayReduce(arr, callbackFn, ...)
|
|
|
12
12
|
end
|
|
13
13
|
for i = k, len - 1 do
|
|
14
14
|
accumulator = callbackFn(
|
|
15
|
-
|
|
15
|
+
nil,
|
|
16
16
|
accumulator,
|
|
17
17
|
arr[i + 1],
|
|
18
18
|
i,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function __TS__ArrayReduceRight(arr, callbackFn, ...)
|
|
1
|
+
local function __TS__ArrayReduceRight(arr, callbackFn, ...)
|
|
2
2
|
local len = #arr
|
|
3
3
|
local k = len - 1
|
|
4
4
|
local accumulator = nil
|
|
@@ -12,7 +12,7 @@ function __TS__ArrayReduceRight(arr, callbackFn, ...)
|
|
|
12
12
|
end
|
|
13
13
|
for i = k, 0, -1 do
|
|
14
14
|
accumulator = callbackFn(
|
|
15
|
-
|
|
15
|
+
nil,
|
|
16
16
|
accumulator,
|
|
17
17
|
arr[i + 1],
|
|
18
18
|
i,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
function __TS__ArraySort(arr, compareFn)
|
|
1
|
+
local function __TS__ArraySort(arr, compareFn)
|
|
2
2
|
if compareFn ~= nil then
|
|
3
3
|
table.sort(
|
|
4
4
|
arr,
|
|
5
|
-
function(a, b) return compareFn(
|
|
5
|
+
function(a, b) return compareFn(nil, a, b) < 0 end
|
|
6
6
|
)
|
|
7
7
|
else
|
|
8
8
|
table.sort(arr)
|
package/dist/lualib/Await.lua
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
function __TS__AsyncAwaiter(generator)
|
|
1
|
+
local function __TS__AsyncAwaiter(generator)
|
|
2
2
|
return __TS__New(
|
|
3
3
|
__TS__Promise,
|
|
4
4
|
function(____, resolve, reject)
|
|
@@ -15,9 +15,9 @@ function __TS__AsyncAwaiter(generator)
|
|
|
15
15
|
function fulfilled(self, value)
|
|
16
16
|
local success, errorOrErrorHandler, resultOrError = coroutine.resume(asyncCoroutine, value)
|
|
17
17
|
if success then
|
|
18
|
-
step(
|
|
18
|
+
step(nil, resultOrError, errorOrErrorHandler)
|
|
19
19
|
else
|
|
20
|
-
reject(
|
|
20
|
+
reject(nil, errorOrErrorHandler)
|
|
21
21
|
end
|
|
22
22
|
end
|
|
23
23
|
function rejected(self, handler)
|
|
@@ -26,42 +26,42 @@ function __TS__AsyncAwaiter(generator)
|
|
|
26
26
|
local success, hasReturnedOrError, returnedValue = pcall(handler, value)
|
|
27
27
|
if success then
|
|
28
28
|
if hasReturnedOrError then
|
|
29
|
-
resolve(
|
|
29
|
+
resolve(nil, returnedValue)
|
|
30
30
|
else
|
|
31
|
-
step(
|
|
31
|
+
step(nil, hasReturnedOrError, handler)
|
|
32
32
|
end
|
|
33
33
|
else
|
|
34
|
-
reject(
|
|
34
|
+
reject(nil, hasReturnedOrError)
|
|
35
35
|
end
|
|
36
36
|
end
|
|
37
37
|
else
|
|
38
38
|
return function(____, value)
|
|
39
|
-
reject(
|
|
39
|
+
reject(nil, value)
|
|
40
40
|
end
|
|
41
41
|
end
|
|
42
42
|
end
|
|
43
43
|
function step(self, result, errorHandler)
|
|
44
44
|
if coroutine.status(asyncCoroutine) == "dead" then
|
|
45
|
-
resolve(
|
|
45
|
+
resolve(nil, result)
|
|
46
46
|
else
|
|
47
|
-
local ____self_1 = adopt(
|
|
47
|
+
local ____self_1 = adopt(nil, result)
|
|
48
48
|
____self_1["then"](
|
|
49
49
|
____self_1,
|
|
50
50
|
fulfilled,
|
|
51
|
-
rejected(
|
|
51
|
+
rejected(nil, errorHandler)
|
|
52
52
|
)
|
|
53
53
|
end
|
|
54
54
|
end
|
|
55
55
|
asyncCoroutine = coroutine.create(generator)
|
|
56
56
|
local success, errorOrErrorHandler, resultOrError = coroutine.resume(asyncCoroutine)
|
|
57
57
|
if success then
|
|
58
|
-
step(
|
|
58
|
+
step(nil, resultOrError, errorOrErrorHandler)
|
|
59
59
|
else
|
|
60
|
-
reject(
|
|
60
|
+
reject(nil, errorOrErrorHandler)
|
|
61
61
|
end
|
|
62
62
|
end
|
|
63
63
|
)
|
|
64
64
|
end
|
|
65
|
-
function __TS__Await(errorHandler, thing)
|
|
65
|
+
local function __TS__Await(errorHandler, thing)
|
|
66
66
|
return coroutine.yield(errorHandler, thing)
|
|
67
67
|
end
|
package/dist/lualib/Class.lua
CHANGED