typescript-to-lua 1.13.0 → 1.13.2
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/lualib/5.0/Await.lua +5 -11
- package/dist/lualib/5.0/Decorate.lua +1 -1
- package/dist/lualib/5.0/Error.lua +12 -18
- package/dist/lualib/5.0/Map.lua +3 -3
- package/dist/lualib/5.0/MathModf.lua +1 -7
- package/dist/lualib/5.0/ObjectDefineProperty.lua +21 -27
- package/dist/lualib/5.0/ParseFloat.lua +2 -8
- package/dist/lualib/5.0/ParseInt.lua +9 -21
- package/dist/lualib/5.0/Set.lua +3 -3
- package/dist/lualib/5.0/SetDescriptor.lua +2 -2
- package/dist/lualib/5.0/SourceMapTraceBack.lua +4 -4
- package/dist/lualib/5.0/StringReplace.lua +1 -7
- package/dist/lualib/5.0/SymbolRegistry.lua +1 -0
- package/dist/lualib/5.0/lualib_bundle.lua +65 -112
- package/dist/lualib/universal/Await.lua +5 -11
- package/dist/lualib/universal/Decorate.lua +1 -1
- package/dist/lualib/universal/Error.lua +12 -18
- package/dist/lualib/universal/Map.lua +3 -3
- package/dist/lualib/universal/ObjectDefineProperty.lua +21 -27
- package/dist/lualib/universal/ParseFloat.lua +2 -8
- package/dist/lualib/universal/ParseInt.lua +3 -15
- package/dist/lualib/universal/Set.lua +3 -3
- package/dist/lualib/universal/SetDescriptor.lua +2 -2
- package/dist/lualib/universal/SourceMapTraceBack.lua +5 -5
- package/dist/lualib/universal/StringReplace.lua +1 -7
- package/dist/lualib/universal/SymbolRegistry.lua +1 -0
- package/dist/lualib/universal/lualib_bundle.lua +59 -100
- package/dist/transformation/builtins/array.js +4 -3
- package/dist/transformation/builtins/math.js +4 -3
- package/dist/transformation/builtins/string.js +7 -4
- package/dist/transformation/utils/diagnostics.d.ts +4 -0
- package/dist/transformation/utils/diagnostics.js +3 -1
- package/dist/transformation/utils/lua-ast.js +10 -8
- package/dist/transformation/visitors/binary-expression/assignments.js +10 -4
- package/dist/transformation/visitors/language-extensions/multi.js +10 -9
- package/dist/transformation/visitors/spread.js +18 -3
- package/dist/transpilation/resolve.js +3 -0
- package/package.json +7 -7
|
@@ -4,6 +4,7 @@ exports.transformSpreadElement = exports.isOptimizedVarArgSpread = void 0;
|
|
|
4
4
|
const ts = require("typescript");
|
|
5
5
|
const CompilerOptions_1 = require("../../CompilerOptions");
|
|
6
6
|
const lua = require("../../LuaAST");
|
|
7
|
+
const utils_1 = require("../../utils");
|
|
7
8
|
const language_extensions_1 = require("../utils/language-extensions");
|
|
8
9
|
const lua_ast_1 = require("../utils/lua-ast");
|
|
9
10
|
const lualib_1 = require("../utils/lualib");
|
|
@@ -63,10 +64,24 @@ const transformSpreadElement = (node, context) => {
|
|
|
63
64
|
const innerExpression = context.transformExpression(node.expression);
|
|
64
65
|
if ((0, multi_1.isMultiReturnCall)(context, tsInnerExpression))
|
|
65
66
|
return innerExpression;
|
|
66
|
-
const
|
|
67
|
-
if (
|
|
68
|
-
|
|
67
|
+
const iterableExtensionType = (0, language_extensions_1.getIterableExtensionKindForNode)(context, node.expression);
|
|
68
|
+
if (iterableExtensionType) {
|
|
69
|
+
if (iterableExtensionType === language_extensions_1.IterableExtensionKind.Iterable) {
|
|
70
|
+
return (0, lualib_1.transformLuaLibFunction)(context, lualib_1.LuaLibFeature.LuaIteratorSpread, node, innerExpression);
|
|
71
|
+
}
|
|
72
|
+
else if (iterableExtensionType === language_extensions_1.IterableExtensionKind.Pairs) {
|
|
73
|
+
const objectEntries = (0, lualib_1.transformLuaLibFunction)(context, lualib_1.LuaLibFeature.ObjectEntries, node, innerExpression);
|
|
74
|
+
return (0, lua_ast_1.createUnpackCall)(context, objectEntries, node);
|
|
75
|
+
}
|
|
76
|
+
else if (iterableExtensionType === language_extensions_1.IterableExtensionKind.PairsKey) {
|
|
77
|
+
const objectKeys = (0, lualib_1.transformLuaLibFunction)(context, lualib_1.LuaLibFeature.ObjectKeys, node, innerExpression);
|
|
78
|
+
return (0, lua_ast_1.createUnpackCall)(context, objectKeys, node);
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
(0, utils_1.assertNever)(iterableExtensionType);
|
|
82
|
+
}
|
|
69
83
|
}
|
|
84
|
+
const type = context.checker.getTypeAtLocation(node.expression); // not ts-inner expression, in case of casts
|
|
70
85
|
if ((0, typescript_1.isArrayType)(context, type)) {
|
|
71
86
|
return (0, lua_ast_1.createUnpackCall)(context, innerExpression, node);
|
|
72
87
|
}
|
|
@@ -278,6 +278,9 @@ function replaceRequireInSourceMap(file, originalRequire, newRequire, extension)
|
|
|
278
278
|
}
|
|
279
279
|
}
|
|
280
280
|
function requirePathForFile(filePath, extension = ".lua") {
|
|
281
|
+
if (!extension.startsWith(".")) {
|
|
282
|
+
extension = `.${extension}`;
|
|
283
|
+
}
|
|
281
284
|
if (filePath.endsWith(extension)) {
|
|
282
285
|
return (0, utils_1.formatPathToLuaPath)(filePath.substring(0, filePath.length - extension.length));
|
|
283
286
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "typescript-to-lua",
|
|
3
|
-
"version": "1.13.
|
|
3
|
+
"version": "1.13.2",
|
|
4
4
|
"description": "A generic TypeScript to Lua transpiler. Write your code in TypeScript and publish Lua!",
|
|
5
5
|
"repository": "https://github.com/TypeScriptToLua/TypeScriptToLua",
|
|
6
6
|
"homepage": "https://typescripttolua.github.io/",
|
|
@@ -56,15 +56,15 @@
|
|
|
56
56
|
"@types/jest": "^27.5.2",
|
|
57
57
|
"@types/node": "^13.7.7",
|
|
58
58
|
"@types/resolve": "1.14.0",
|
|
59
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
60
|
-
"@typescript-eslint/parser": "^5.
|
|
61
|
-
"eslint": "^8.
|
|
62
|
-
"eslint-plugin-import": "^2.
|
|
63
|
-
"eslint-plugin-jest": "^26.
|
|
59
|
+
"@typescript-eslint/eslint-plugin": "^5.52.0",
|
|
60
|
+
"@typescript-eslint/parser": "^5.52.0",
|
|
61
|
+
"eslint": "^8.34.0",
|
|
62
|
+
"eslint-plugin-import": "^2.27.5",
|
|
63
|
+
"eslint-plugin-jest": "^26.9.0",
|
|
64
64
|
"fs-extra": "^8.1.0",
|
|
65
65
|
"javascript-stringify": "^2.0.1",
|
|
66
66
|
"jest": "^28.1.3",
|
|
67
|
-
"jest-circus": "^29.
|
|
67
|
+
"jest-circus": "^29.4.2",
|
|
68
68
|
"lua-types": "^2.13.0",
|
|
69
69
|
"lua-wasm-bindings": "^0.3.1",
|
|
70
70
|
"prettier": "^2.3.2",
|