typescript-to-lua 1.33.2 → 1.35.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 -0
- package/dist/CompilerOptions.js +35 -4
- package/dist/LuaAST.js +34 -1
- package/dist/LuaLib.js +35 -2
- package/dist/LuaPrinter.js +36 -3
- package/dist/cli/diagnostics.js +34 -1
- package/dist/cli/parse.js +35 -2
- package/dist/cli/report.js +34 -1
- package/dist/cli/tsconfig.js +36 -3
- package/dist/lualib/5.0/Map.lua +36 -12
- package/dist/lualib/5.0/ObjectAssign.lua +4 -2
- package/dist/lualib/5.0/Promise.lua +11 -20
- package/dist/lualib/5.0/Set.lua +36 -12
- package/dist/lualib/5.0/SetDescriptor.lua +7 -0
- package/dist/lualib/5.0/SourceMapTraceBack.lua +1 -1
- package/dist/lualib/5.0/lualib_bundle.lua +95 -47
- package/dist/lualib/universal/Map.lua +36 -12
- package/dist/lualib/universal/ObjectAssign.lua +4 -2
- package/dist/lualib/universal/Promise.lua +11 -20
- package/dist/lualib/universal/Set.lua +36 -12
- package/dist/lualib/universal/SetDescriptor.lua +7 -0
- package/dist/lualib/universal/SourceMapTraceBack.lua +1 -1
- package/dist/lualib/universal/lualib_bundle.lua +95 -47
- package/dist/lualib-build/plugin.js +36 -3
- package/dist/lualib-build/util.js +34 -1
- package/dist/transformation/builtins/array.js +35 -2
- package/dist/transformation/builtins/console.js +35 -2
- package/dist/transformation/builtins/function.js +34 -1
- package/dist/transformation/builtins/index.js +35 -2
- package/dist/transformation/builtins/math.js +41 -3
- package/dist/transformation/builtins/number.js +42 -5
- package/dist/transformation/builtins/object.js +34 -1
- package/dist/transformation/builtins/promise.js +34 -1
- package/dist/transformation/builtins/string.js +34 -1
- package/dist/transformation/builtins/symbol.js +34 -1
- package/dist/transformation/context/context.js +35 -2
- package/dist/transformation/context/visitors.js +34 -1
- package/dist/transformation/index.js +34 -1
- package/dist/transformation/pre-transformers/using-transformer.js +34 -1
- package/dist/transformation/utils/annotations.js +34 -1
- package/dist/transformation/utils/assignment-validation.js +34 -1
- package/dist/transformation/utils/diagnostics.js +35 -2
- package/dist/transformation/utils/export.js +35 -2
- package/dist/transformation/utils/function-context.js +36 -4
- package/dist/transformation/utils/language-extensions.js +34 -1
- package/dist/transformation/utils/lua-ast.js +35 -2
- package/dist/transformation/utils/lualib.js +34 -1
- package/dist/transformation/utils/scope.d.ts +6 -0
- package/dist/transformation/utils/scope.js +56 -2
- package/dist/transformation/utils/typescript/index.js +27 -3
- package/dist/transformation/utils/typescript/nodes.js +34 -1
- package/dist/transformation/utils/typescript/types.js +34 -1
- package/dist/transformation/visitors/access.js +35 -2
- package/dist/transformation/visitors/async-await.js +35 -2
- package/dist/transformation/visitors/binary-expression/assignments.js +35 -2
- package/dist/transformation/visitors/binary-expression/bit.js +41 -2
- package/dist/transformation/visitors/binary-expression/compound.js +35 -2
- package/dist/transformation/visitors/binary-expression/destructuring-assignments.js +35 -2
- package/dist/transformation/visitors/binary-expression/index.js +35 -2
- package/dist/transformation/visitors/block.js +35 -2
- package/dist/transformation/visitors/break-continue.js +52 -2
- package/dist/transformation/visitors/call.js +35 -2
- package/dist/transformation/visitors/class/decorators.js +35 -2
- package/dist/transformation/visitors/class/index.js +35 -2
- package/dist/transformation/visitors/class/members/accessors.js +35 -2
- package/dist/transformation/visitors/class/members/constructor.js +35 -2
- package/dist/transformation/visitors/class/members/fields.js +34 -1
- package/dist/transformation/visitors/class/members/method.js +35 -2
- package/dist/transformation/visitors/class/new.js +34 -1
- package/dist/transformation/visitors/class/setup.js +35 -2
- package/dist/transformation/visitors/class/utils.js +34 -1
- package/dist/transformation/visitors/conditional.js +35 -2
- package/dist/transformation/visitors/delete.js +35 -2
- package/dist/transformation/visitors/enum.js +36 -3
- package/dist/transformation/visitors/errors.js +119 -21
- package/dist/transformation/visitors/expression-list.js +35 -2
- package/dist/transformation/visitors/expression-statement.js +34 -1
- package/dist/transformation/visitors/function.js +35 -2
- package/dist/transformation/visitors/identifier.js +35 -2
- package/dist/transformation/visitors/index.js +34 -1
- package/dist/transformation/visitors/language-extensions/iterable.js +35 -2
- package/dist/transformation/visitors/language-extensions/multi.js +35 -2
- package/dist/transformation/visitors/language-extensions/operators.js +34 -1
- package/dist/transformation/visitors/language-extensions/range.js +36 -3
- package/dist/transformation/visitors/language-extensions/table.js +34 -1
- package/dist/transformation/visitors/language-extensions/vararg.js +34 -1
- package/dist/transformation/visitors/literal.js +35 -2
- package/dist/transformation/visitors/loops/do-while.js +34 -1
- package/dist/transformation/visitors/loops/for-in.js +34 -1
- package/dist/transformation/visitors/loops/for-of.js +35 -2
- package/dist/transformation/visitors/loops/for.js +35 -2
- package/dist/transformation/visitors/loops/utils.js +35 -2
- package/dist/transformation/visitors/modules/export.js +36 -3
- package/dist/transformation/visitors/modules/import.js +36 -3
- package/dist/transformation/visitors/namespace.js +35 -2
- package/dist/transformation/visitors/optional-chaining.js +35 -2
- package/dist/transformation/visitors/return.js +75 -19
- package/dist/transformation/visitors/sourceFile.js +35 -2
- package/dist/transformation/visitors/spread.js +35 -2
- package/dist/transformation/visitors/switch.js +35 -2
- package/dist/transformation/visitors/template.js +35 -2
- package/dist/transformation/visitors/typeof.js +35 -2
- package/dist/transformation/visitors/typescript.js +34 -1
- package/dist/transformation/visitors/unary-expression.js +35 -2
- package/dist/transformation/visitors/variable-declaration.js +36 -3
- package/dist/transformation/visitors/void.js +35 -2
- package/dist/transpilation/bundle.js +37 -2
- package/dist/transpilation/diagnostics.d.ts +1 -1
- package/dist/transpilation/diagnostics.js +37 -3
- package/dist/transpilation/index.js +25 -3
- package/dist/transpilation/plugins.js +34 -1
- package/dist/transpilation/resolve.js +48 -12
- package/dist/transpilation/transformers.js +36 -3
- package/dist/transpilation/transpile.js +36 -3
- package/dist/transpilation/transpiler.js +56 -9
- package/dist/transpilation/utils.js +37 -4
- package/dist/tstl.js +37 -4
- package/dist/utils.js +37 -4
- package/package.json +11 -11
|
@@ -1,10 +1,43 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
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);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.transformReturnStatement = void 0;
|
|
4
37
|
exports.transformExpressionBodyToReturnStatement = transformExpressionBodyToReturnStatement;
|
|
5
38
|
exports.createReturnStatement = createReturnStatement;
|
|
6
|
-
const ts = require("typescript");
|
|
7
|
-
const lua = require("../../LuaAST");
|
|
39
|
+
const ts = __importStar(require("typescript"));
|
|
40
|
+
const lua = __importStar(require("../../LuaAST"));
|
|
8
41
|
const assignment_validation_1 = require("../utils/assignment-validation");
|
|
9
42
|
const lua_ast_1 = require("../utils/lua-ast");
|
|
10
43
|
const scope_1 = require("../utils/scope");
|
|
@@ -12,7 +45,7 @@ const call_1 = require("./call");
|
|
|
12
45
|
const multi_1 = require("./language-extensions/multi");
|
|
13
46
|
const diagnostics_1 = require("../utils/diagnostics");
|
|
14
47
|
const typescript_1 = require("../utils/typescript");
|
|
15
|
-
function transformExpressionsInReturn(context, node
|
|
48
|
+
function transformExpressionsInReturn(context, node) {
|
|
16
49
|
const expressionType = context.checker.getTypeAtLocation(node);
|
|
17
50
|
// skip type assertions
|
|
18
51
|
// don't skip parenthesis as it may arise confusion with lua behavior (where parenthesis are significant)
|
|
@@ -25,17 +58,7 @@ function transformExpressionsInReturn(context, node, insideTryCatch) {
|
|
|
25
58
|
if (type && !(0, multi_1.canBeMultiReturnType)(type)) {
|
|
26
59
|
context.diagnostics.push((0, diagnostics_1.invalidMultiFunctionReturnType)(innerNode));
|
|
27
60
|
}
|
|
28
|
-
|
|
29
|
-
if (insideTryCatch) {
|
|
30
|
-
returnValues = [(0, lua_ast_1.wrapInTable)(...returnValues)]; // Wrap results when returning inside try/catch
|
|
31
|
-
}
|
|
32
|
-
return returnValues;
|
|
33
|
-
}
|
|
34
|
-
// Force-wrap LuaMultiReturn when returning inside try/catch
|
|
35
|
-
if (insideTryCatch &&
|
|
36
|
-
(0, multi_1.returnsMultiType)(context, innerNode) &&
|
|
37
|
-
!(0, multi_1.shouldMultiReturnCallBeWrapped)(context, innerNode)) {
|
|
38
|
-
return [(0, lua_ast_1.wrapInTable)(context.transformExpression(node))];
|
|
61
|
+
return (0, call_1.transformArguments)(context, innerNode.arguments);
|
|
39
62
|
}
|
|
40
63
|
}
|
|
41
64
|
else if ((0, multi_1.isInMultiReturnFunction)(context, innerNode) && (0, multi_1.isMultiReturnType)(expressionType)) {
|
|
@@ -45,23 +68,56 @@ function transformExpressionsInReturn(context, node, insideTryCatch) {
|
|
|
45
68
|
return [context.transformExpression(node)];
|
|
46
69
|
}
|
|
47
70
|
function transformExpressionBodyToReturnStatement(context, node) {
|
|
48
|
-
const expressions = transformExpressionsInReturn(context, node
|
|
71
|
+
const expressions = transformExpressionsInReturn(context, node);
|
|
49
72
|
return createReturnStatement(context, expressions, node);
|
|
50
73
|
}
|
|
74
|
+
function transformReturnExpressionForTryCatch(context, node) {
|
|
75
|
+
const innerNode = ts.skipOuterExpressions(node, ts.OuterExpressionKinds.Assertions);
|
|
76
|
+
if (ts.isCallExpression(innerNode)) {
|
|
77
|
+
if ((0, multi_1.isMultiFunctionCall)(context, innerNode)) {
|
|
78
|
+
const type = context.checker.getContextualType(node);
|
|
79
|
+
if (type && !(0, multi_1.canBeMultiReturnType)(type)) {
|
|
80
|
+
context.diagnostics.push((0, diagnostics_1.invalidMultiFunctionReturnType)(innerNode));
|
|
81
|
+
}
|
|
82
|
+
return (0, lua_ast_1.wrapInTable)(...(0, call_1.transformArguments)(context, innerNode.arguments));
|
|
83
|
+
}
|
|
84
|
+
if ((0, multi_1.returnsMultiType)(context, innerNode) && !(0, multi_1.shouldMultiReturnCallBeWrapped)(context, innerNode)) {
|
|
85
|
+
return (0, lua_ast_1.wrapInTable)(context.transformExpression(node));
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
return context.transformExpression(node);
|
|
89
|
+
}
|
|
51
90
|
const transformReturnStatement = (statement, context) => {
|
|
52
|
-
|
|
91
|
+
const asyncTryScope = (0, typescript_1.isInAsyncFunction)(statement) ? (0, scope_1.findAsyncTryScopeInStack)(context) : undefined;
|
|
53
92
|
if (statement.expression) {
|
|
54
93
|
const expressionType = context.checker.getTypeAtLocation(statement.expression);
|
|
55
94
|
const returnType = context.checker.getContextualType(statement.expression);
|
|
56
95
|
if (returnType) {
|
|
57
96
|
(0, assignment_validation_1.validateAssignment)(context, statement, expressionType, returnType);
|
|
58
97
|
}
|
|
59
|
-
results = transformExpressionsInReturn(context, statement.expression, isInTryCatch(context));
|
|
60
98
|
}
|
|
61
|
-
|
|
62
|
-
|
|
99
|
+
if (asyncTryScope) {
|
|
100
|
+
asyncTryScope.asyncTryHasReturn = true;
|
|
101
|
+
const stmts = [
|
|
102
|
+
lua.createAssignmentStatement(lua.createIdentifier("____hasReturned"), lua.createBooleanLiteral(true), statement),
|
|
103
|
+
];
|
|
104
|
+
if (statement.expression) {
|
|
105
|
+
const returnValue = transformReturnExpressionForTryCatch(context, statement.expression);
|
|
106
|
+
stmts.push(lua.createAssignmentStatement(lua.createIdentifier("____returnValue"), returnValue, statement));
|
|
107
|
+
}
|
|
108
|
+
stmts.push(lua.createReturnStatement([], statement));
|
|
109
|
+
return stmts;
|
|
110
|
+
}
|
|
111
|
+
let results;
|
|
112
|
+
if (!statement.expression) {
|
|
63
113
|
results = [];
|
|
64
114
|
}
|
|
115
|
+
else if (isInTryCatch(context)) {
|
|
116
|
+
results = [transformReturnExpressionForTryCatch(context, statement.expression)];
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
results = transformExpressionsInReturn(context, statement.expression);
|
|
120
|
+
}
|
|
65
121
|
return createReturnStatement(context, results, statement);
|
|
66
122
|
};
|
|
67
123
|
exports.transformReturnStatement = transformReturnStatement;
|
|
@@ -1,8 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
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);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.transformSourceFileNode = void 0;
|
|
4
|
-
const ts = require("typescript");
|
|
5
|
-
const lua = require("../../LuaAST");
|
|
37
|
+
const ts = __importStar(require("typescript"));
|
|
38
|
+
const lua = __importStar(require("../../LuaAST"));
|
|
6
39
|
const utils_1 = require("../../utils");
|
|
7
40
|
const lua_ast_1 = require("../utils/lua-ast");
|
|
8
41
|
const preceding_statements_1 = require("../utils/preceding-statements");
|
|
@@ -1,10 +1,43 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
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);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.transformSpreadElement = void 0;
|
|
4
37
|
exports.isOptimizedVarArgSpread = isOptimizedVarArgSpread;
|
|
5
|
-
const ts = require("typescript");
|
|
38
|
+
const ts = __importStar(require("typescript"));
|
|
6
39
|
const CompilerOptions_1 = require("../../CompilerOptions");
|
|
7
|
-
const lua = require("../../LuaAST");
|
|
40
|
+
const lua = __importStar(require("../../LuaAST"));
|
|
8
41
|
const utils_1 = require("../../utils");
|
|
9
42
|
const language_extensions_1 = require("../utils/language-extensions");
|
|
10
43
|
const lua_ast_1 = require("../utils/lua-ast");
|
|
@@ -1,8 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
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);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.transformSwitchStatement = void 0;
|
|
4
|
-
const ts = require("typescript");
|
|
5
|
-
const lua = require("../../LuaAST");
|
|
37
|
+
const ts = __importStar(require("typescript"));
|
|
38
|
+
const lua = __importStar(require("../../LuaAST"));
|
|
6
39
|
const preceding_statements_1 = require("../utils/preceding-statements");
|
|
7
40
|
const scope_1 = require("../utils/scope");
|
|
8
41
|
const binary_expression_1 = require("./binary-expression");
|
|
@@ -1,8 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
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);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.transformTaggedTemplateExpression = exports.transformTemplateExpression = void 0;
|
|
4
|
-
const ts = require("typescript");
|
|
5
|
-
const lua = require("../../LuaAST");
|
|
37
|
+
const ts = __importStar(require("typescript"));
|
|
38
|
+
const lua = __importStar(require("../../LuaAST"));
|
|
6
39
|
const function_context_1 = require("../utils/function-context");
|
|
7
40
|
const lua_ast_1 = require("../utils/lua-ast");
|
|
8
41
|
const typescript_1 = require("../utils/typescript");
|
|
@@ -1,9 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
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);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.transformTypeOfExpression = void 0;
|
|
4
37
|
exports.transformTypeOfBinaryExpression = transformTypeOfBinaryExpression;
|
|
5
|
-
const ts = require("typescript");
|
|
6
|
-
const lua = require("../../LuaAST");
|
|
38
|
+
const ts = __importStar(require("typescript"));
|
|
39
|
+
const lua = __importStar(require("../../LuaAST"));
|
|
7
40
|
const LuaLib_1 = require("../../LuaLib");
|
|
8
41
|
const lualib_1 = require("../utils/lualib");
|
|
9
42
|
const binary_expression_1 = require("./binary-expression");
|
|
@@ -1,7 +1,40 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
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);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.typescriptVisitors = void 0;
|
|
4
|
-
const ts = require("typescript");
|
|
37
|
+
const ts = __importStar(require("typescript"));
|
|
5
38
|
const assignment_validation_1 = require("../utils/assignment-validation");
|
|
6
39
|
const transformAssertionExpression = (expression, context) => {
|
|
7
40
|
if (!ts.isConstTypeReference(expression.type)) {
|
|
@@ -1,9 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
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);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.transformPrefixUnaryExpression = exports.transformPostfixUnaryExpression = void 0;
|
|
4
37
|
exports.transformUnaryExpressionStatement = transformUnaryExpressionStatement;
|
|
5
|
-
const ts = require("typescript");
|
|
6
|
-
const lua = require("../../LuaAST");
|
|
38
|
+
const ts = __importStar(require("typescript"));
|
|
39
|
+
const lua = __importStar(require("../../LuaAST"));
|
|
7
40
|
const utils_1 = require("../../utils");
|
|
8
41
|
const bit_1 = require("./binary-expression/bit");
|
|
9
42
|
const compound_1 = require("./binary-expression/compound");
|
|
@@ -1,4 +1,37 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
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);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.transformVariableStatement = void 0;
|
|
4
37
|
exports.transformArrayBindingElement = transformArrayBindingElement;
|
|
@@ -6,8 +39,8 @@ exports.transformBindingPattern = transformBindingPattern;
|
|
|
6
39
|
exports.transformBindingVariableDeclaration = transformBindingVariableDeclaration;
|
|
7
40
|
exports.transformVariableDeclaration = transformVariableDeclaration;
|
|
8
41
|
exports.checkVariableDeclarationList = checkVariableDeclarationList;
|
|
9
|
-
const ts = require("typescript");
|
|
10
|
-
const lua = require("../../LuaAST");
|
|
42
|
+
const ts = __importStar(require("typescript"));
|
|
43
|
+
const lua = __importStar(require("../../LuaAST"));
|
|
11
44
|
const utils_1 = require("../../utils");
|
|
12
45
|
const assignment_validation_1 = require("../utils/assignment-validation");
|
|
13
46
|
const diagnostics_1 = require("../utils/diagnostics");
|
|
@@ -148,7 +181,7 @@ function transformBindingVariableDeclaration(context, bindingPattern, initialize
|
|
|
148
181
|
else if (ts.isArrayLiteralExpression(initializer)) {
|
|
149
182
|
// Don't unpack array literals
|
|
150
183
|
const values = initializer.elements.length > 0
|
|
151
|
-
?
|
|
184
|
+
? (0, expression_list_1.transformExpressionList)(context, initializer.elements)
|
|
152
185
|
: lua.createNilLiteral();
|
|
153
186
|
statements.push(...(0, lua_ast_1.createLocalOrExportedOrGlobalDeclaration)(context, vars, values, initializer));
|
|
154
187
|
}
|
|
@@ -1,8 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
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);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.transformVoidExpression = void 0;
|
|
4
|
-
const ts = require("typescript");
|
|
5
|
-
const lua = require("../../LuaAST");
|
|
37
|
+
const ts = __importStar(require("typescript"));
|
|
38
|
+
const lua = __importStar(require("../../LuaAST"));
|
|
6
39
|
const expression_statement_1 = require("./expression-statement");
|
|
7
40
|
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/void
|
|
8
41
|
const transformVoidExpression = (node, context) => {
|
|
@@ -1,9 +1,42 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
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);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.sourceMapTracebackBundlePlaceholder = void 0;
|
|
4
37
|
exports.printStackTraceBundleOverride = printStackTraceBundleOverride;
|
|
5
38
|
exports.getBundleResult = getBundleResult;
|
|
6
|
-
const path = require("path");
|
|
39
|
+
const path = __importStar(require("path"));
|
|
7
40
|
const source_map_1 = require("source-map");
|
|
8
41
|
const CompilerOptions_1 = require("../CompilerOptions");
|
|
9
42
|
const LuaPrinter_1 = require("../LuaPrinter");
|
|
@@ -93,7 +126,9 @@ function getBundleResult(program, files) {
|
|
|
93
126
|
const moduleTable = createModuleTableNode(moduleTableEntries);
|
|
94
127
|
// return require("<entry module path>")
|
|
95
128
|
const args = options.luaTarget === CompilerOptions_1.LuaTarget.Lua50 ? "unpack(arg == nil and {} or arg)" : "...";
|
|
96
|
-
|
|
129
|
+
// Avoid producing a tail-call (which removes the bundle's stack frame) by assigning the `require` result to a local and returning it.
|
|
130
|
+
const entryPath = createModulePath(entryModuleFilePath !== null && entryModuleFilePath !== void 0 ? entryModuleFilePath : entryModule, program);
|
|
131
|
+
const entryPoint = `local ____entry = require(${entryPath}, ${args})\nreturn ____entry\n`;
|
|
97
132
|
const footers = [];
|
|
98
133
|
if (options.sourceMapTraceback) {
|
|
99
134
|
// Generates SourceMapTraceback for the entire file
|
|
@@ -32,6 +32,6 @@ export declare const cannotBundleLibrary: (() => ts.Diagnostic) & {
|
|
|
32
32
|
export declare const unsupportedJsxEmit: (() => ts.Diagnostic) & {
|
|
33
33
|
code: number;
|
|
34
34
|
};
|
|
35
|
-
export declare const
|
|
35
|
+
export declare const emitPathCollision: ((outputPath: string, file1: string, file2: string) => ts.Diagnostic) & {
|
|
36
36
|
code: number;
|
|
37
37
|
};
|