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
|
@@ -653,7 +653,6 @@ do
|
|
|
653
653
|
self.state = 0
|
|
654
654
|
self.fulfilledCallbacks = {}
|
|
655
655
|
self.rejectedCallbacks = {}
|
|
656
|
-
self.finallyCallbacks = {}
|
|
657
656
|
local success, ____error = ____pcall(
|
|
658
657
|
executor,
|
|
659
658
|
nil,
|
|
@@ -703,14 +702,17 @@ do
|
|
|
703
702
|
return self["then"](self, nil, onRejected)
|
|
704
703
|
end
|
|
705
704
|
function __TS__Promise.prototype.finally(self, onFinally)
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
if self.state ~= 0 then
|
|
705
|
+
return self["then"](
|
|
706
|
+
self,
|
|
707
|
+
onFinally and (function(____, value)
|
|
710
708
|
onFinally(nil)
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
709
|
+
return value
|
|
710
|
+
end) or nil,
|
|
711
|
+
onFinally and (function(____, reason)
|
|
712
|
+
onFinally(nil)
|
|
713
|
+
error(reason, 0)
|
|
714
|
+
end) or nil
|
|
715
|
+
)
|
|
714
716
|
end
|
|
715
717
|
function __TS__Promise.prototype.resolve(self, value)
|
|
716
718
|
if isPromiseLike(value) then
|
|
@@ -734,22 +736,11 @@ do
|
|
|
734
736
|
end
|
|
735
737
|
function __TS__Promise.prototype.invokeCallbacks(self, callbacks, value)
|
|
736
738
|
local callbacksLength = #callbacks
|
|
737
|
-
local finallyCallbacks = self.finallyCallbacks
|
|
738
|
-
local finallyCallbacksLength = #finallyCallbacks
|
|
739
739
|
if callbacksLength ~= 0 then
|
|
740
740
|
for i = 1, callbacksLength - 1 do
|
|
741
741
|
callbacks[i](callbacks, value)
|
|
742
742
|
end
|
|
743
|
-
|
|
744
|
-
return callbacks[callbacksLength](callbacks, value)
|
|
745
|
-
end
|
|
746
|
-
callbacks[callbacksLength](callbacks, value)
|
|
747
|
-
end
|
|
748
|
-
if finallyCallbacksLength ~= 0 then
|
|
749
|
-
for i = 1, finallyCallbacksLength - 1 do
|
|
750
|
-
finallyCallbacks[i](finallyCallbacks)
|
|
751
|
-
end
|
|
752
|
-
return finallyCallbacks[finallyCallbacksLength](finallyCallbacks)
|
|
743
|
+
return callbacks[callbacksLength](callbacks, value)
|
|
753
744
|
end
|
|
754
745
|
end
|
|
755
746
|
function __TS__Promise.prototype.createPromiseResolvingCallback(self, f, resolve, reject)
|
|
@@ -904,8 +895,10 @@ local function __TS__ObjectAssign(target, ...)
|
|
|
904
895
|
local sources = {...}
|
|
905
896
|
for i = 1, #sources do
|
|
906
897
|
local source = sources[i]
|
|
907
|
-
|
|
908
|
-
|
|
898
|
+
if type(source) == "table" then
|
|
899
|
+
for key in pairs(source) do
|
|
900
|
+
target[key] = source[key]
|
|
901
|
+
end
|
|
909
902
|
end
|
|
910
903
|
end
|
|
911
904
|
return target
|
|
@@ -1011,6 +1004,13 @@ do
|
|
|
1011
1004
|
metatable = {}
|
|
1012
1005
|
setmetatable(target, metatable)
|
|
1013
1006
|
end
|
|
1007
|
+
if not isPrototype and not rawget(metatable, "_isOwnDescriptorMetatable") then
|
|
1008
|
+
local instanceMetatable = {}
|
|
1009
|
+
instanceMetatable._isOwnDescriptorMetatable = true
|
|
1010
|
+
setmetatable(instanceMetatable, metatable)
|
|
1011
|
+
setmetatable(target, instanceMetatable)
|
|
1012
|
+
metatable = instanceMetatable
|
|
1013
|
+
end
|
|
1014
1014
|
local value = rawget(target, key)
|
|
1015
1015
|
if value ~= nil then
|
|
1016
1016
|
rawset(target, key, nil)
|
|
@@ -1383,46 +1383,70 @@ do
|
|
|
1383
1383
|
return self:entries()
|
|
1384
1384
|
end
|
|
1385
1385
|
function Map.prototype.entries(self)
|
|
1386
|
+
local function getFirstKey()
|
|
1387
|
+
return self.firstKey
|
|
1388
|
+
end
|
|
1386
1389
|
local items = self.items
|
|
1387
1390
|
local nextKey = self.nextKey
|
|
1388
|
-
local key
|
|
1391
|
+
local key
|
|
1392
|
+
local started = false
|
|
1389
1393
|
return {
|
|
1390
1394
|
[Symbol.iterator] = function(self)
|
|
1391
1395
|
return self
|
|
1392
1396
|
end,
|
|
1393
1397
|
next = function(self)
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
|
|
1398
|
+
if not started then
|
|
1399
|
+
started = true
|
|
1400
|
+
key = getFirstKey(nil)
|
|
1401
|
+
else
|
|
1402
|
+
key = nextKey[key]
|
|
1403
|
+
end
|
|
1404
|
+
return {done = not key, value = {key, items[key]}}
|
|
1397
1405
|
end
|
|
1398
1406
|
}
|
|
1399
1407
|
end
|
|
1400
1408
|
function Map.prototype.keys(self)
|
|
1409
|
+
local function getFirstKey()
|
|
1410
|
+
return self.firstKey
|
|
1411
|
+
end
|
|
1401
1412
|
local nextKey = self.nextKey
|
|
1402
|
-
local key
|
|
1413
|
+
local key
|
|
1414
|
+
local started = false
|
|
1403
1415
|
return {
|
|
1404
1416
|
[Symbol.iterator] = function(self)
|
|
1405
1417
|
return self
|
|
1406
1418
|
end,
|
|
1407
1419
|
next = function(self)
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1420
|
+
if not started then
|
|
1421
|
+
started = true
|
|
1422
|
+
key = getFirstKey(nil)
|
|
1423
|
+
else
|
|
1424
|
+
key = nextKey[key]
|
|
1425
|
+
end
|
|
1426
|
+
return {done = not key, value = key}
|
|
1411
1427
|
end
|
|
1412
1428
|
}
|
|
1413
1429
|
end
|
|
1414
1430
|
function Map.prototype.values(self)
|
|
1431
|
+
local function getFirstKey()
|
|
1432
|
+
return self.firstKey
|
|
1433
|
+
end
|
|
1415
1434
|
local items = self.items
|
|
1416
1435
|
local nextKey = self.nextKey
|
|
1417
|
-
local key
|
|
1436
|
+
local key
|
|
1437
|
+
local started = false
|
|
1418
1438
|
return {
|
|
1419
1439
|
[Symbol.iterator] = function(self)
|
|
1420
1440
|
return self
|
|
1421
1441
|
end,
|
|
1422
1442
|
next = function(self)
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1443
|
+
if not started then
|
|
1444
|
+
started = true
|
|
1445
|
+
key = getFirstKey(nil)
|
|
1446
|
+
else
|
|
1447
|
+
key = nextKey[key]
|
|
1448
|
+
end
|
|
1449
|
+
return {done = not key, value = items[key]}
|
|
1426
1450
|
end
|
|
1427
1451
|
}
|
|
1428
1452
|
end
|
|
@@ -1999,44 +2023,68 @@ do
|
|
|
1999
2023
|
return self:values()
|
|
2000
2024
|
end
|
|
2001
2025
|
function Set.prototype.entries(self)
|
|
2026
|
+
local function getFirstKey()
|
|
2027
|
+
return self.firstKey
|
|
2028
|
+
end
|
|
2002
2029
|
local nextKey = self.nextKey
|
|
2003
|
-
local key
|
|
2030
|
+
local key
|
|
2031
|
+
local started = false
|
|
2004
2032
|
return {
|
|
2005
2033
|
[Symbol.iterator] = function(self)
|
|
2006
2034
|
return self
|
|
2007
2035
|
end,
|
|
2008
2036
|
next = function(self)
|
|
2009
|
-
|
|
2010
|
-
|
|
2011
|
-
|
|
2037
|
+
if not started then
|
|
2038
|
+
started = true
|
|
2039
|
+
key = getFirstKey(nil)
|
|
2040
|
+
else
|
|
2041
|
+
key = nextKey[key]
|
|
2042
|
+
end
|
|
2043
|
+
return {done = not key, value = {key, key}}
|
|
2012
2044
|
end
|
|
2013
2045
|
}
|
|
2014
2046
|
end
|
|
2015
2047
|
function Set.prototype.keys(self)
|
|
2048
|
+
local function getFirstKey()
|
|
2049
|
+
return self.firstKey
|
|
2050
|
+
end
|
|
2016
2051
|
local nextKey = self.nextKey
|
|
2017
|
-
local key
|
|
2052
|
+
local key
|
|
2053
|
+
local started = false
|
|
2018
2054
|
return {
|
|
2019
2055
|
[Symbol.iterator] = function(self)
|
|
2020
2056
|
return self
|
|
2021
2057
|
end,
|
|
2022
2058
|
next = function(self)
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
|
|
2059
|
+
if not started then
|
|
2060
|
+
started = true
|
|
2061
|
+
key = getFirstKey(nil)
|
|
2062
|
+
else
|
|
2063
|
+
key = nextKey[key]
|
|
2064
|
+
end
|
|
2065
|
+
return {done = not key, value = key}
|
|
2026
2066
|
end
|
|
2027
2067
|
}
|
|
2028
2068
|
end
|
|
2029
2069
|
function Set.prototype.values(self)
|
|
2070
|
+
local function getFirstKey()
|
|
2071
|
+
return self.firstKey
|
|
2072
|
+
end
|
|
2030
2073
|
local nextKey = self.nextKey
|
|
2031
|
-
local key
|
|
2074
|
+
local key
|
|
2075
|
+
local started = false
|
|
2032
2076
|
return {
|
|
2033
2077
|
[Symbol.iterator] = function(self)
|
|
2034
2078
|
return self
|
|
2035
2079
|
end,
|
|
2036
2080
|
next = function(self)
|
|
2037
|
-
|
|
2038
|
-
|
|
2039
|
-
|
|
2081
|
+
if not started then
|
|
2082
|
+
started = true
|
|
2083
|
+
key = getFirstKey(nil)
|
|
2084
|
+
else
|
|
2085
|
+
key = nextKey[key]
|
|
2086
|
+
end
|
|
2087
|
+
return {done = not key, value = key}
|
|
2040
2088
|
end
|
|
2041
2089
|
}
|
|
2042
2090
|
end
|
|
@@ -2241,7 +2289,7 @@ local function __TS__SourceMapTraceBack(fileName, sourceMap)
|
|
|
2241
2289
|
end
|
|
2242
2290
|
local result = string.gsub(
|
|
2243
2291
|
trace,
|
|
2244
|
-
"(
|
|
2292
|
+
"([^%s<]+)%.lua:(%d+)",
|
|
2245
2293
|
function(file, line) return replacer(nil, file .. ".lua", file .. ".ts", line) end
|
|
2246
2294
|
)
|
|
2247
2295
|
local function stringReplacer(____, file, line)
|
|
@@ -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.lualibDiagnostic = void 0;
|
|
4
|
-
const ts = require("typescript");
|
|
5
|
-
const tstl = require("..");
|
|
6
|
-
const path = require("path");
|
|
37
|
+
const ts = __importStar(require("typescript"));
|
|
38
|
+
const tstl = __importStar(require(".."));
|
|
39
|
+
const path = __importStar(require("path"));
|
|
7
40
|
const LuaLib_1 = require("../LuaLib");
|
|
8
41
|
const util_1 = require("./util");
|
|
9
42
|
const utils_1 = require("../utils");
|
|
@@ -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.isExportTableDeclaration = isExportTableDeclaration;
|
|
4
37
|
exports.isExportTable = isExportTable;
|
|
@@ -8,7 +41,7 @@ exports.isExportAssignment = isExportAssignment;
|
|
|
8
41
|
exports.isRequire = isRequire;
|
|
9
42
|
exports.isImport = isImport;
|
|
10
43
|
exports.isExportsReturn = isExportsReturn;
|
|
11
|
-
const tstl = require("..");
|
|
44
|
+
const tstl = __importStar(require(".."));
|
|
12
45
|
function isExportTableDeclaration(node) {
|
|
13
46
|
return tstl.isVariableDeclarationStatement(node) && isExportTable(node.left[0]);
|
|
14
47
|
}
|
|
@@ -1,11 +1,44 @@
|
|
|
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.transformArrayConstructorCall = transformArrayConstructorCall;
|
|
4
37
|
exports.transformArrayPrototypeCall = transformArrayPrototypeCall;
|
|
5
38
|
exports.transformArrayProperty = transformArrayProperty;
|
|
6
|
-
const ts = require("typescript");
|
|
39
|
+
const ts = __importStar(require("typescript"));
|
|
7
40
|
const CompilerOptions_1 = require("../../CompilerOptions");
|
|
8
|
-
const lua = require("../../LuaAST");
|
|
41
|
+
const lua = __importStar(require("../../LuaAST"));
|
|
9
42
|
const diagnostics_1 = require("../utils/diagnostics");
|
|
10
43
|
const lualib_1 = require("../utils/lualib");
|
|
11
44
|
const call_1 = require("../visitors/call");
|
|
@@ -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.transformConsoleCall = transformConsoleCall;
|
|
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 diagnostics_1 = require("../utils/diagnostics");
|
|
7
40
|
const call_1 = require("../visitors/call");
|
|
8
41
|
const isStringFormatTemplate = (node) => ts.isStringLiteral(node) && node.text.includes("%");
|
|
@@ -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.transformFunctionPrototypeCall = transformFunctionPrototypeCall;
|
|
4
37
|
exports.transformFunctionProperty = transformFunctionProperty;
|
|
5
38
|
const CompilerOptions_1 = require("../../CompilerOptions");
|
|
6
|
-
const lua = require("../../LuaAST");
|
|
39
|
+
const lua = __importStar(require("../../LuaAST"));
|
|
7
40
|
const diagnostics_1 = require("../utils/diagnostics");
|
|
8
41
|
const function_context_1 = require("../utils/function-context");
|
|
9
42
|
const lualib_1 = require("../utils/lualib");
|
|
@@ -1,12 +1,45 @@
|
|
|
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.transformBuiltinPropertyAccessExpression = transformBuiltinPropertyAccessExpression;
|
|
4
37
|
exports.transformBuiltinCallExpression = transformBuiltinCallExpression;
|
|
5
38
|
exports.transformBuiltinIdentifierExpression = transformBuiltinIdentifierExpression;
|
|
6
39
|
exports.checkForLuaLibType = checkForLuaLibType;
|
|
7
40
|
exports.tryGetStandardLibrarySymbolOfType = tryGetStandardLibrarySymbolOfType;
|
|
8
|
-
const ts = require("typescript");
|
|
9
|
-
const lua = require("../../LuaAST");
|
|
41
|
+
const ts = __importStar(require("typescript"));
|
|
42
|
+
const lua = __importStar(require("../../LuaAST"));
|
|
10
43
|
const lua_ast_1 = require("../utils/lua-ast");
|
|
11
44
|
const lualib_1 = require("../utils/lualib");
|
|
12
45
|
const symbols_1 = require("../utils/symbols");
|
|
@@ -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.transformMathProperty = transformMathProperty;
|
|
4
37
|
exports.transformMathCall = transformMathCall;
|
|
5
38
|
const CompilerOptions_1 = require("../../CompilerOptions");
|
|
6
|
-
const lua = require("../../LuaAST");
|
|
39
|
+
const lua = __importStar(require("../../LuaAST"));
|
|
7
40
|
const diagnostics_1 = require("../utils/diagnostics");
|
|
8
41
|
const lualib_1 = require("../utils/lualib");
|
|
9
42
|
const call_1 = require("../visitors/call");
|
|
@@ -33,13 +66,18 @@ function transformMathCall(context, node, calledMethod) {
|
|
|
33
66
|
const math = lua.createIdentifier("math");
|
|
34
67
|
const expressionName = calledMethod.name.text;
|
|
35
68
|
switch (expressionName) {
|
|
36
|
-
// Lua 5.3
|
|
69
|
+
// Lua 5.3+: math.atan(y, x)
|
|
37
70
|
// Otherwise: math.atan2(y, x)
|
|
38
71
|
case "atan2": {
|
|
39
72
|
if (context.luaTarget === CompilerOptions_1.LuaTarget.Universal) {
|
|
40
73
|
return (0, lualib_1.transformLuaLibFunction)(context, lualib_1.LuaLibFeature.MathAtan2, node, ...params);
|
|
41
74
|
}
|
|
42
|
-
const
|
|
75
|
+
const useAtan2 = context.luaTarget === CompilerOptions_1.LuaTarget.Lua50 ||
|
|
76
|
+
context.luaTarget === CompilerOptions_1.LuaTarget.Lua51 ||
|
|
77
|
+
context.luaTarget === CompilerOptions_1.LuaTarget.Lua52 ||
|
|
78
|
+
context.luaTarget === CompilerOptions_1.LuaTarget.LuaJIT ||
|
|
79
|
+
context.luaTarget === CompilerOptions_1.LuaTarget.Luau;
|
|
80
|
+
const method = lua.createStringLiteral(useAtan2 ? "atan2" : "atan");
|
|
43
81
|
return lua.createCallExpression(lua.createTableIndexExpression(math, method), params, node);
|
|
44
82
|
}
|
|
45
83
|
// (math.log(x) / Math.LNe)
|
|
@@ -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.transformNumberPrototypeCall = transformNumberPrototypeCall;
|
|
4
37
|
exports.transformNumberProperty = transformNumberProperty;
|
|
5
38
|
exports.transformNumberConstructorCall = transformNumberConstructorCall;
|
|
6
|
-
const lua = require("../../LuaAST");
|
|
39
|
+
const lua = __importStar(require("../../LuaAST"));
|
|
7
40
|
const lua_ast_1 = require("../utils/lua-ast");
|
|
8
41
|
const diagnostics_1 = require("../utils/diagnostics");
|
|
9
42
|
const lualib_1 = require("../utils/lualib");
|
|
@@ -59,13 +92,17 @@ function transformNumberProperty(context, node) {
|
|
|
59
92
|
case "EPSILON":
|
|
60
93
|
return lua.createBinaryExpression(lua.createNumericLiteral(2), lua.createNumericLiteral(-52), lua.SyntaxKind.PowerOperator, node);
|
|
61
94
|
case "MIN_VALUE":
|
|
62
|
-
|
|
95
|
+
// 2 ^ -1074 = 5e-324 (smallest positive double)
|
|
96
|
+
return lua.createBinaryExpression(lua.createNumericLiteral(2), lua.createNumericLiteral(-1074), lua.SyntaxKind.PowerOperator, node);
|
|
63
97
|
case "MIN_SAFE_INTEGER":
|
|
64
|
-
|
|
98
|
+
// -(2 ^ 53 - 1) = -9007199254740991
|
|
99
|
+
return lua.createUnaryExpression(lua.createParenthesizedExpression(lua.createBinaryExpression(lua.createBinaryExpression(lua.createNumericLiteral(2), lua.createNumericLiteral(53), lua.SyntaxKind.PowerOperator), lua.createNumericLiteral(1), lua.SyntaxKind.SubtractionOperator)), lua.SyntaxKind.NegationOperator, node);
|
|
65
100
|
case "MAX_SAFE_INTEGER":
|
|
66
|
-
|
|
101
|
+
// 2 ^ 53 - 1 = 9007199254740991
|
|
102
|
+
return lua.createBinaryExpression(lua.createBinaryExpression(lua.createNumericLiteral(2), lua.createNumericLiteral(53), lua.SyntaxKind.PowerOperator), lua.createNumericLiteral(1), lua.SyntaxKind.SubtractionOperator, node);
|
|
67
103
|
case "MAX_VALUE":
|
|
68
|
-
|
|
104
|
+
// (2 - 2 ^ -52) * 2 ^ 1023 = 1.7976931348623157e+308
|
|
105
|
+
return lua.createBinaryExpression(lua.createParenthesizedExpression(lua.createBinaryExpression(lua.createNumericLiteral(2), lua.createBinaryExpression(lua.createNumericLiteral(2), lua.createNumericLiteral(-52), lua.SyntaxKind.PowerOperator), lua.SyntaxKind.SubtractionOperator)), lua.createBinaryExpression(lua.createNumericLiteral(2), lua.createNumericLiteral(1023), lua.SyntaxKind.PowerOperator), lua.SyntaxKind.MultiplicationOperator, node);
|
|
69
106
|
default:
|
|
70
107
|
context.diagnostics.push((0, diagnostics_1.unsupportedProperty)(node.name, "Number", name));
|
|
71
108
|
}
|