typescript-to-lua 1.25.2 → 1.26.1

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.
Files changed (105) hide show
  1. package/dist/CompilerOptions.js +2 -2
  2. package/dist/LuaAST.js +76 -77
  3. package/dist/LuaLib.d.ts +1 -0
  4. package/dist/LuaLib.js +13 -12
  5. package/dist/LuaPrinter.js +2 -2
  6. package/dist/cli/information.js +2 -2
  7. package/dist/cli/parse.js +3 -3
  8. package/dist/cli/report.d.ts +4 -4
  9. package/dist/cli/report.js +2 -2
  10. package/dist/cli/tsconfig.js +3 -4
  11. package/dist/lualib/5.0/MathSign.lua +5 -4
  12. package/dist/lualib/5.0/MathTrunc.lua +6 -0
  13. package/dist/lualib/5.0/Set.lua +58 -0
  14. package/dist/lualib/5.0/lualib_bundle.lua +79 -12
  15. package/dist/lualib/5.0/lualib_module_info.json +13 -1
  16. package/dist/lualib/universal/MathSign.lua +5 -4
  17. package/dist/lualib/universal/MathTrunc.lua +6 -0
  18. package/dist/lualib/universal/Set.lua +58 -0
  19. package/dist/lualib/universal/lualib_bundle.lua +79 -12
  20. package/dist/lualib/universal/lualib_module_info.json +13 -1
  21. package/dist/lualib-build/plugin.d.ts +1 -1
  22. package/dist/lualib-build/util.js +8 -9
  23. package/dist/measure-performance.js +7 -8
  24. package/dist/transformation/builtins/array.js +3 -4
  25. package/dist/transformation/builtins/console.js +1 -2
  26. package/dist/transformation/builtins/function.js +2 -3
  27. package/dist/transformation/builtins/global.js +1 -2
  28. package/dist/transformation/builtins/index.js +4 -5
  29. package/dist/transformation/builtins/map.js +1 -2
  30. package/dist/transformation/builtins/math.js +5 -3
  31. package/dist/transformation/builtins/number.js +3 -4
  32. package/dist/transformation/builtins/object.js +2 -3
  33. package/dist/transformation/builtins/promise.js +4 -5
  34. package/dist/transformation/builtins/string.js +3 -4
  35. package/dist/transformation/builtins/symbol.js +1 -2
  36. package/dist/transformation/context/context.d.ts +0 -3
  37. package/dist/transformation/index.js +2 -3
  38. package/dist/transformation/pre-transformers/using-transformer.js +1 -2
  39. package/dist/transformation/utils/annotations.js +5 -5
  40. package/dist/transformation/utils/assignment-validation.js +1 -2
  41. package/dist/transformation/utils/export.js +14 -14
  42. package/dist/transformation/utils/function-context.js +3 -3
  43. package/dist/transformation/utils/language-extensions.js +10 -10
  44. package/dist/transformation/utils/lua-ast.js +12 -12
  45. package/dist/transformation/utils/lualib.js +3 -3
  46. package/dist/transformation/utils/preceding-statements.js +1 -2
  47. package/dist/transformation/utils/safe-names.js +3 -3
  48. package/dist/transformation/utils/scope.js +11 -11
  49. package/dist/transformation/utils/symbols.js +4 -5
  50. package/dist/transformation/utils/typescript/index.js +13 -14
  51. package/dist/transformation/utils/typescript/nodes.js +8 -9
  52. package/dist/transformation/utils/typescript/types.js +10 -11
  53. package/dist/transformation/visitors/access.js +4 -4
  54. package/dist/transformation/visitors/async-await.js +3 -3
  55. package/dist/transformation/visitors/binary-expression/assignments.js +5 -6
  56. package/dist/transformation/visitors/binary-expression/bit.js +3 -3
  57. package/dist/transformation/visitors/binary-expression/compound.js +3 -3
  58. package/dist/transformation/visitors/binary-expression/destructuring-assignments.js +3 -4
  59. package/dist/transformation/visitors/binary-expression/index.js +4 -4
  60. package/dist/transformation/visitors/block.js +3 -3
  61. package/dist/transformation/visitors/call.js +6 -6
  62. package/dist/transformation/visitors/class/decorators.js +6 -7
  63. package/dist/transformation/visitors/class/index.js +14 -3
  64. package/dist/transformation/visitors/class/members/accessors.js +1 -2
  65. package/dist/transformation/visitors/class/members/constructor.js +3 -4
  66. package/dist/transformation/visitors/class/members/fields.js +2 -3
  67. package/dist/transformation/visitors/class/members/method.js +3 -4
  68. package/dist/transformation/visitors/class/setup.js +2 -3
  69. package/dist/transformation/visitors/class/utils.js +5 -6
  70. package/dist/transformation/visitors/conditional.js +3 -3
  71. package/dist/transformation/visitors/enum.js +2 -2
  72. package/dist/transformation/visitors/expression-list.js +4 -5
  73. package/dist/transformation/visitors/expression-statement.js +2 -2
  74. package/dist/transformation/visitors/function.js +9 -9
  75. package/dist/transformation/visitors/identifier.js +4 -4
  76. package/dist/transformation/visitors/language-extensions/call-extension.js +2 -2
  77. package/dist/transformation/visitors/language-extensions/identifier.js +2 -3
  78. package/dist/transformation/visitors/language-extensions/iterable.js +3 -4
  79. package/dist/transformation/visitors/language-extensions/multi.js +8 -9
  80. package/dist/transformation/visitors/language-extensions/range.js +3 -4
  81. package/dist/transformation/visitors/language-extensions/table.js +2 -2
  82. package/dist/transformation/visitors/language-extensions/vararg.js +2 -3
  83. package/dist/transformation/visitors/literal.js +3 -3
  84. package/dist/transformation/visitors/loops/utils.js +4 -5
  85. package/dist/transformation/visitors/modules/export.js +0 -3
  86. package/dist/transformation/visitors/modules/import.js +2 -2
  87. package/dist/transformation/visitors/namespace.js +3 -3
  88. package/dist/transformation/visitors/optional-chaining.js +6 -7
  89. package/dist/transformation/visitors/return.js +3 -3
  90. package/dist/transformation/visitors/spread.js +2 -2
  91. package/dist/transformation/visitors/typeof.js +2 -2
  92. package/dist/transformation/visitors/unary-expression.js +2 -2
  93. package/dist/transformation/visitors/variable-declaration.js +6 -6
  94. package/dist/transpilation/bundle.js +3 -3
  95. package/dist/transpilation/find-lua-requires.js +1 -2
  96. package/dist/transpilation/index.js +5 -6
  97. package/dist/transpilation/output-collector.js +1 -2
  98. package/dist/transpilation/plugins.js +1 -2
  99. package/dist/transpilation/resolve.js +1 -2
  100. package/dist/transpilation/transformers.js +2 -2
  101. package/dist/transpilation/transpile.js +1 -2
  102. package/dist/transpilation/transpiler.js +6 -6
  103. package/dist/transpilation/utils.js +2 -2
  104. package/dist/utils.js +9 -9
  105. package/package.json +6 -7
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.reportInvalidExtensionValue = exports.isIdentifierExtensionValue = void 0;
3
+ exports.isIdentifierExtensionValue = isIdentifierExtensionValue;
4
+ exports.reportInvalidExtensionValue = reportInvalidExtensionValue;
4
5
  const language_extensions_1 = require("../../utils/language-extensions");
5
6
  const diagnostics_1 = require("../../utils/diagnostics");
6
7
  const extensionKindToValueName = {
@@ -11,7 +12,6 @@ const extensionKindToValueName = {
11
12
  function isIdentifierExtensionValue(symbol, extensionKind) {
12
13
  return symbol !== undefined && extensionKindToValueName[extensionKind] === symbol.name;
13
14
  }
14
- exports.isIdentifierExtensionValue = isIdentifierExtensionValue;
15
15
  function reportInvalidExtensionValue(context, identifier, extensionKind) {
16
16
  if (extensionKind === language_extensions_1.ExtensionKind.MultiFunction) {
17
17
  context.diagnostics.push((0, diagnostics_1.invalidMultiFunctionUse)(identifier));
@@ -23,5 +23,4 @@ function reportInvalidExtensionValue(context, identifier, extensionKind) {
23
23
  context.diagnostics.push((0, diagnostics_1.invalidVarargUse)(identifier));
24
24
  }
25
25
  }
26
- exports.reportInvalidExtensionValue = reportInvalidExtensionValue;
27
26
  //# sourceMappingURL=identifier.js.map
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transformForOfPairsKeyIterableStatement = exports.transformForOfPairsIterableStatement = exports.transformForOfIterableStatement = void 0;
3
+ exports.transformForOfIterableStatement = transformForOfIterableStatement;
4
+ exports.transformForOfPairsIterableStatement = transformForOfPairsIterableStatement;
5
+ exports.transformForOfPairsKeyIterableStatement = transformForOfPairsKeyIterableStatement;
4
6
  const ts = require("typescript");
5
7
  const lua = require("../../../LuaAST");
6
8
  const utils_1 = require("../loops/utils");
@@ -51,14 +53,12 @@ function transformForOfIterableStatement(context, statement, block) {
51
53
  const identifier = (0, utils_1.transformForInitializer)(context, statement.initializer, block);
52
54
  return lua.createForInStatement(block, [identifier], [luaIterator], statement);
53
55
  }
54
- exports.transformForOfIterableStatement = transformForOfIterableStatement;
55
56
  function transformForOfPairsIterableStatement(context, statement, block) {
56
57
  const pairsCall = lua.createCallExpression(lua.createIdentifier("pairs"), [
57
58
  context.transformExpression(statement.expression),
58
59
  ]);
59
60
  return transformForOfMultiIterableStatement(context, statement, block, pairsCall, diagnostics_1.invalidPairsIterableWithoutDestructuring);
60
61
  }
61
- exports.transformForOfPairsIterableStatement = transformForOfPairsIterableStatement;
62
62
  function transformForOfPairsKeyIterableStatement(context, statement, block) {
63
63
  const pairsCall = lua.createCallExpression(lua.createIdentifier("pairs"), [
64
64
  context.transformExpression(statement.expression),
@@ -66,5 +66,4 @@ function transformForOfPairsKeyIterableStatement(context, statement, block) {
66
66
  const identifier = (0, utils_1.transformForInitializer)(context, statement.initializer, block);
67
67
  return lua.createForInStatement(block, [identifier], [pairsCall], statement);
68
68
  }
69
- exports.transformForOfPairsKeyIterableStatement = transformForOfPairsKeyIterableStatement;
70
69
  //# sourceMappingURL=iterable.js.map
@@ -1,6 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.shouldMultiReturnCallBeWrapped = exports.isInMultiReturnFunction = exports.isMultiFunctionNode = exports.isMultiReturnCall = exports.returnsMultiType = exports.isMultiFunctionCall = exports.canBeMultiReturnType = exports.isMultiReturnType = void 0;
3
+ exports.isMultiReturnType = isMultiReturnType;
4
+ exports.canBeMultiReturnType = canBeMultiReturnType;
5
+ exports.isMultiFunctionCall = isMultiFunctionCall;
6
+ exports.returnsMultiType = returnsMultiType;
7
+ exports.isMultiReturnCall = isMultiReturnCall;
8
+ exports.isMultiFunctionNode = isMultiFunctionNode;
9
+ exports.isInMultiReturnFunction = isInMultiReturnFunction;
10
+ exports.shouldMultiReturnCallBeWrapped = shouldMultiReturnCallBeWrapped;
4
11
  const ts = require("typescript");
5
12
  const extensions = require("../../utils/language-extensions");
6
13
  const language_extensions_1 = require("../../utils/language-extensions");
@@ -9,33 +16,27 @@ const multiReturnExtensionName = "__tstlMultiReturn";
9
16
  function isMultiReturnType(type) {
10
17
  return type.getProperty(multiReturnExtensionName) !== undefined;
11
18
  }
12
- exports.isMultiReturnType = isMultiReturnType;
13
19
  function canBeMultiReturnType(type) {
14
20
  return ((type.flags & ts.TypeFlags.Any) !== 0 ||
15
21
  isMultiReturnType(type) ||
16
22
  (type.isUnion() && type.types.some(t => canBeMultiReturnType(t))));
17
23
  }
18
- exports.canBeMultiReturnType = canBeMultiReturnType;
19
24
  function isMultiFunctionCall(context, expression) {
20
25
  return isMultiFunctionNode(context, expression.expression);
21
26
  }
22
- exports.isMultiFunctionCall = isMultiFunctionCall;
23
27
  function returnsMultiType(context, node) {
24
28
  const signature = context.checker.getResolvedSignature(node);
25
29
  const type = signature === null || signature === void 0 ? void 0 : signature.getReturnType();
26
30
  return type ? isMultiReturnType(type) : false;
27
31
  }
28
- exports.returnsMultiType = returnsMultiType;
29
32
  function isMultiReturnCall(context, expression) {
30
33
  return ts.isCallExpression(expression) && returnsMultiType(context, expression);
31
34
  }
32
- exports.isMultiReturnCall = isMultiReturnCall;
33
35
  function isMultiFunctionNode(context, node) {
34
36
  return (ts.isIdentifier(node) &&
35
37
  node.text === "$multi" &&
36
38
  (0, language_extensions_1.getExtensionKindForNode)(context, node) === extensions.ExtensionKind.MultiFunction);
37
39
  }
38
- exports.isMultiFunctionNode = isMultiFunctionNode;
39
40
  function isInMultiReturnFunction(context, node) {
40
41
  const declaration = (0, typescript_1.findFirstNodeAbove)(node, ts.isFunctionLike);
41
42
  if (!declaration) {
@@ -45,7 +46,6 @@ function isInMultiReturnFunction(context, node) {
45
46
  const type = signature === null || signature === void 0 ? void 0 : signature.getReturnType();
46
47
  return type ? isMultiReturnType(type) : false;
47
48
  }
48
- exports.isInMultiReturnFunction = isInMultiReturnFunction;
49
49
  function shouldMultiReturnCallBeWrapped(context, node) {
50
50
  if (!returnsMultiType(context, node)) {
51
51
  return false;
@@ -85,5 +85,4 @@ function shouldMultiReturnCallBeWrapped(context, node) {
85
85
  }
86
86
  return true;
87
87
  }
88
- exports.shouldMultiReturnCallBeWrapped = shouldMultiReturnCallBeWrapped;
89
88
  //# sourceMappingURL=multi.js.map
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transformRangeStatement = exports.isRangeFunctionNode = exports.isRangeFunction = void 0;
3
+ exports.isRangeFunction = isRangeFunction;
4
+ exports.isRangeFunctionNode = isRangeFunctionNode;
5
+ exports.transformRangeStatement = transformRangeStatement;
4
6
  const ts = require("typescript");
5
7
  const lua = require("../../../LuaAST");
6
8
  const extensions = require("../../utils/language-extensions");
@@ -13,13 +15,11 @@ const language_extensions_1 = require("../../utils/language-extensions");
13
15
  function isRangeFunction(context, expression) {
14
16
  return isRangeFunctionNode(context, expression.expression);
15
17
  }
16
- exports.isRangeFunction = isRangeFunction;
17
18
  function isRangeFunctionNode(context, node) {
18
19
  return (ts.isIdentifier(node) &&
19
20
  node.text === "$range" &&
20
21
  (0, language_extensions_1.getExtensionKindForNode)(context, node) === extensions.ExtensionKind.RangeFunction);
21
22
  }
22
- exports.isRangeFunctionNode = isRangeFunctionNode;
23
23
  function getControlVariable(context, statement) {
24
24
  if (!ts.isVariableDeclarationList(statement.initializer)) {
25
25
  context.diagnostics.push((0, diagnostics_1.invalidRangeControlVariable)(statement.initializer));
@@ -39,5 +39,4 @@ function transformRangeStatement(context, statement, block) {
39
39
  const [start = lua.createNumericLiteral(0), limit = lua.createNumericLiteral(0), step] = (0, call_1.transformArguments)(context, statement.expression.arguments, context.checker.getResolvedSignature(statement.expression));
40
40
  return lua.createForStatement(block, controlVariable, start, limit, step, statement);
41
41
  }
42
- exports.transformRangeStatement = transformRangeStatement;
43
42
  //# sourceMappingURL=range.js.map
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.tableExtensionTransformers = exports.tableNewExtensions = exports.isTableNewCall = void 0;
3
+ exports.tableExtensionTransformers = exports.tableNewExtensions = void 0;
4
+ exports.isTableNewCall = isTableNewCall;
4
5
  const lua = require("../../../LuaAST");
5
6
  const language_extensions_1 = require("../../utils/language-extensions");
6
7
  const expression_list_1 = require("../expression-list");
7
8
  function isTableNewCall(context, node) {
8
9
  return (0, language_extensions_1.getExtensionKindForNode)(context, node.expression) === language_extensions_1.ExtensionKind.TableNewType;
9
10
  }
10
- exports.isTableNewCall = isTableNewCall;
11
11
  exports.tableNewExtensions = [language_extensions_1.ExtensionKind.TableNewType];
12
12
  exports.tableExtensionTransformers = {
13
13
  [language_extensions_1.ExtensionKind.TableDeleteType]: transformTableDeleteExpression,
@@ -1,13 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isVarargConstantNode = exports.isGlobalVarargConstant = void 0;
3
+ exports.isGlobalVarargConstant = isGlobalVarargConstant;
4
+ exports.isVarargConstantNode = isVarargConstantNode;
4
5
  const extensions = require("../../utils/language-extensions");
5
6
  const language_extensions_1 = require("../../utils/language-extensions");
6
7
  const scope_1 = require("../../utils/scope");
7
8
  function isGlobalVarargConstant(context, symbol, scope) {
8
9
  return scope.type === scope_1.ScopeType.File && isVarargConstantSymbol(context, symbol);
9
10
  }
10
- exports.isGlobalVarargConstant = isGlobalVarargConstant;
11
11
  function isVarargConstantSymbol(context, symbol) {
12
12
  return (symbol.getName() === "$vararg" &&
13
13
  (0, language_extensions_1.getExtensionKindForSymbol)(context, symbol) === extensions.ExtensionKind.VarargConstant);
@@ -16,5 +16,4 @@ function isVarargConstantNode(context, node) {
16
16
  const symbol = context.checker.getSymbolAtLocation(node);
17
17
  return symbol !== undefined && isVarargConstantSymbol(context, symbol);
18
18
  }
19
- exports.isVarargConstantNode = isVarargConstantNode;
20
19
  //# sourceMappingURL=vararg.js.map
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.literalVisitors = exports.createShorthandIdentifier = exports.transformPropertyName = void 0;
3
+ exports.literalVisitors = void 0;
4
+ exports.transformPropertyName = transformPropertyName;
5
+ exports.createShorthandIdentifier = createShorthandIdentifier;
4
6
  const ts = require("typescript");
5
7
  const lua = require("../../LuaAST");
6
8
  const utils_1 = require("../../utils");
@@ -27,11 +29,9 @@ function transformPropertyName(context, node) {
27
29
  return context.transformExpression(node);
28
30
  }
29
31
  }
30
- exports.transformPropertyName = transformPropertyName;
31
32
  function createShorthandIdentifier(context, valueSymbol, propertyIdentifier) {
32
33
  return (0, identifier_1.transformIdentifierWithSymbol)(context, propertyIdentifier, valueSymbol);
33
34
  }
34
- exports.createShorthandIdentifier = createShorthandIdentifier;
35
35
  const transformNumericLiteralExpression = (expression, context) => {
36
36
  if (expression.text === "Infinity") {
37
37
  if (context.luaTarget === CompilerOptions_1.LuaTarget.Lua50) {
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.invertCondition = exports.transformForInitializer = exports.getVariableDeclarationBinding = exports.transformLoopBody = void 0;
3
+ exports.transformLoopBody = transformLoopBody;
4
+ exports.getVariableDeclarationBinding = getVariableDeclarationBinding;
5
+ exports.transformForInitializer = transformForInitializer;
6
+ exports.invertCondition = invertCondition;
4
7
  const ts = require("typescript");
5
8
  const lua = require("../../../LuaAST");
6
9
  const preceding_statements_1 = require("../../utils/preceding-statements");
@@ -33,7 +36,6 @@ function transformLoopBody(context, loop) {
33
36
  ];
34
37
  }
35
38
  }
36
- exports.transformLoopBody = transformLoopBody;
37
39
  function getVariableDeclarationBinding(context, node) {
38
40
  (0, variable_declaration_1.checkVariableDeclarationList)(context, node);
39
41
  if (node.declarations.length === 0) {
@@ -41,7 +43,6 @@ function getVariableDeclarationBinding(context, node) {
41
43
  }
42
44
  return node.declarations[0].name;
43
45
  }
44
- exports.getVariableDeclarationBinding = getVariableDeclarationBinding;
45
46
  function transformForInitializer(context, initializer, block) {
46
47
  const valueVariable = lua.createIdentifier("____value");
47
48
  context.pushScope(scope_1.ScopeType.LoopInitializer);
@@ -67,7 +68,6 @@ function transformForInitializer(context, initializer, block) {
67
68
  context.popScope();
68
69
  return valueVariable;
69
70
  }
70
- exports.transformForInitializer = transformForInitializer;
71
71
  function invertCondition(expression) {
72
72
  if (lua.isUnaryExpression(expression) && expression.operator === lua.SyntaxKind.NotOperator) {
73
73
  return expression.operand;
@@ -78,5 +78,4 @@ function invertCondition(expression) {
78
78
  return notExpression;
79
79
  }
80
80
  }
81
- exports.invertCondition = invertCondition;
82
81
  //# sourceMappingURL=utils.js.map
@@ -30,9 +30,6 @@ const transformExportAssignment = (node, context) => {
30
30
  exports.transformExportAssignment = transformExportAssignment;
31
31
  function transformExportAll(context, node) {
32
32
  (0, utils_1.assert)(node.moduleSpecifier);
33
- if (!context.resolver.moduleExportsSomeValue(node.moduleSpecifier)) {
34
- return undefined;
35
- }
36
33
  const moduleRequire = (0, import_1.createModuleRequire)(context, node.moduleSpecifier);
37
34
  // export * as ns from "...";
38
35
  // exports.ns = require(...)
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transformImportExpression = exports.transformImportEqualsDeclaration = exports.transformExternalModuleReference = exports.transformImportDeclaration = exports.createModuleRequire = void 0;
3
+ exports.transformImportExpression = exports.transformImportEqualsDeclaration = exports.transformExternalModuleReference = exports.transformImportDeclaration = void 0;
4
+ exports.createModuleRequire = createModuleRequire;
4
5
  const path = require("path");
5
6
  const ts = require("typescript");
6
7
  const lua = require("../../../LuaAST");
@@ -30,7 +31,6 @@ function createModuleRequire(context, moduleSpecifier, tsOriginal = moduleSpecif
30
31
  }
31
32
  return lua.createCallExpression(lua.createIdentifier("require"), params, tsOriginal);
32
33
  }
33
- exports.createModuleRequire = createModuleRequire;
34
34
  function shouldBeImported(context, importNode) {
35
35
  return context.resolver.isReferencedAliasDeclaration(importNode);
36
36
  }
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transformModuleDeclaration = exports.createModuleLocalNameIdentifier = exports.createModuleLocalName = void 0;
3
+ exports.transformModuleDeclaration = void 0;
4
+ exports.createModuleLocalName = createModuleLocalName;
5
+ exports.createModuleLocalNameIdentifier = createModuleLocalNameIdentifier;
4
6
  const ts = require("typescript");
5
7
  const lua = require("../../LuaAST");
6
8
  const export_1 = require("../utils/export");
@@ -17,7 +19,6 @@ function createModuleLocalName(context, module) {
17
19
  }
18
20
  return createModuleLocalNameIdentifier(context, module);
19
21
  }
20
- exports.createModuleLocalName = createModuleLocalName;
21
22
  function createModuleLocalNameIdentifier(context, declaration) {
22
23
  const moduleSymbol = context.checker.getSymbolAtLocation(declaration.name);
23
24
  if (moduleSymbol !== undefined && (0, safe_names_1.isUnsafeName)(moduleSymbol.name, context.options)) {
@@ -25,7 +26,6 @@ function createModuleLocalNameIdentifier(context, declaration) {
25
26
  }
26
27
  return (0, identifier_1.transformIdentifier)(context, declaration.name);
27
28
  }
28
- exports.createModuleLocalNameIdentifier = createModuleLocalNameIdentifier;
29
29
  // TODO: Do it based on transform result?
30
30
  function moduleHasEmittedBody(node) {
31
31
  if (node.body) {
@@ -1,6 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transformOptionalDeleteExpression = exports.transformOptionalChainWithCapture = exports.transformOptionalChain = exports.getOptionalContinuationData = exports.isOptionalContinuation = exports.captureThisValue = void 0;
3
+ exports.captureThisValue = captureThisValue;
4
+ exports.isOptionalContinuation = isOptionalContinuation;
5
+ exports.getOptionalContinuationData = getOptionalContinuationData;
6
+ exports.transformOptionalChain = transformOptionalChain;
7
+ exports.transformOptionalChainWithCapture = transformOptionalChainWithCapture;
8
+ exports.transformOptionalDeleteExpression = transformOptionalDeleteExpression;
4
9
  const ts = require("typescript");
5
10
  const lua = require("../../LuaAST");
6
11
  const context_1 = require("../context");
@@ -48,7 +53,6 @@ function captureThisValue(context, expression, thisValueCapture, tsOriginal) {
48
53
  context.addPrecedingStatements(tempAssignment);
49
54
  return thisValueCapture;
50
55
  }
51
- exports.captureThisValue = captureThisValue;
52
56
  const optionalContinuations = new WeakMap();
53
57
  // should be translated verbatim to lua
54
58
  function createOptionalContinuationIdentifier(text, tsOriginal) {
@@ -62,15 +66,12 @@ function createOptionalContinuationIdentifier(text, tsOriginal) {
62
66
  function isOptionalContinuation(node) {
63
67
  return ts.isIdentifier(node) && optionalContinuations.has(node);
64
68
  }
65
- exports.isOptionalContinuation = isOptionalContinuation;
66
69
  function getOptionalContinuationData(identifier) {
67
70
  return optionalContinuations.get(identifier);
68
71
  }
69
- exports.getOptionalContinuationData = getOptionalContinuationData;
70
72
  function transformOptionalChain(context, node) {
71
73
  return transformOptionalChainWithCapture(context, node, undefined).expression;
72
74
  }
73
- exports.transformOptionalChain = transformOptionalChain;
74
75
  function transformOptionalChainWithCapture(context, tsNode, thisValueCapture, isDelete) {
75
76
  const luaTempName = context.createTempName("opt");
76
77
  const { expression: tsLeftExpression, chain } = flattenChain(tsNode);
@@ -209,10 +210,8 @@ function transformOptionalChainWithCapture(context, tsNode, thisValueCapture, is
209
210
  return { expression: resultIdentifier, thisValue: returnThisValue };
210
211
  }
211
212
  }
212
- exports.transformOptionalChainWithCapture = transformOptionalChainWithCapture;
213
213
  function transformOptionalDeleteExpression(context, node, innerExpression) {
214
214
  transformOptionalChainWithCapture(context, innerExpression, undefined, node);
215
215
  return lua.createBooleanLiteral(true, node);
216
216
  }
217
- exports.transformOptionalDeleteExpression = transformOptionalDeleteExpression;
218
217
  //# sourceMappingURL=optional-chaining.js.map
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createReturnStatement = exports.transformReturnStatement = exports.transformExpressionBodyToReturnStatement = void 0;
3
+ exports.transformReturnStatement = void 0;
4
+ exports.transformExpressionBodyToReturnStatement = transformExpressionBodyToReturnStatement;
5
+ exports.createReturnStatement = createReturnStatement;
4
6
  const ts = require("typescript");
5
7
  const lua = require("../../LuaAST");
6
8
  const assignment_validation_1 = require("../utils/assignment-validation");
@@ -46,7 +48,6 @@ function transformExpressionBodyToReturnStatement(context, node) {
46
48
  const expressions = transformExpressionsInReturn(context, node, false);
47
49
  return createReturnStatement(context, expressions, node);
48
50
  }
49
- exports.transformExpressionBodyToReturnStatement = transformExpressionBodyToReturnStatement;
50
51
  const transformReturnStatement = (statement, context) => {
51
52
  let results;
52
53
  if (statement.expression) {
@@ -76,7 +77,6 @@ function createReturnStatement(context, values, node) {
76
77
  }
77
78
  return lua.createReturnStatement(values, node);
78
79
  }
79
- exports.createReturnStatement = createReturnStatement;
80
80
  function isInTryCatch(context) {
81
81
  // Check if context is in a try or catch
82
82
  let insideTryCatch = false;
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transformSpreadElement = exports.isOptimizedVarArgSpread = void 0;
3
+ exports.transformSpreadElement = void 0;
4
+ exports.isOptimizedVarArgSpread = isOptimizedVarArgSpread;
4
5
  const ts = require("typescript");
5
6
  const CompilerOptions_1 = require("../../CompilerOptions");
6
7
  const lua = require("../../LuaAST");
@@ -50,7 +51,6 @@ function isOptimizedVarArgSpread(context, symbol, identifier) {
50
51
  }
51
52
  return true;
52
53
  }
53
- exports.isOptimizedVarArgSpread = isOptimizedVarArgSpread;
54
54
  // TODO: Currently it's also used as an array member
55
55
  const transformSpreadElement = (node, context) => {
56
56
  const tsInnerExpression = ts.skipOuterExpressions(node.expression);
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transformTypeOfBinaryExpression = exports.transformTypeOfExpression = void 0;
3
+ exports.transformTypeOfExpression = void 0;
4
+ exports.transformTypeOfBinaryExpression = transformTypeOfBinaryExpression;
4
5
  const ts = require("typescript");
5
6
  const lua = require("../../LuaAST");
6
7
  const LuaLib_1 = require("../../LuaLib");
@@ -47,5 +48,4 @@ function transformTypeOfBinaryExpression(context, node) {
47
48
  context.addPrecedingStatements(precedingStatements);
48
49
  return result;
49
50
  }
50
- exports.transformTypeOfBinaryExpression = transformTypeOfBinaryExpression;
51
51
  //# sourceMappingURL=typeof.js.map
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transformPrefixUnaryExpression = exports.transformPostfixUnaryExpression = exports.transformUnaryExpressionStatement = void 0;
3
+ exports.transformPrefixUnaryExpression = exports.transformPostfixUnaryExpression = void 0;
4
+ exports.transformUnaryExpressionStatement = transformUnaryExpressionStatement;
4
5
  const ts = require("typescript");
5
6
  const lua = require("../../LuaAST");
6
7
  const utils_1 = require("../../utils");
@@ -20,7 +21,6 @@ function transformUnaryExpressionStatement(context, node) {
20
21
  return (0, compound_1.transformCompoundAssignmentStatement)(context, expression, expression.operand, ts.factory.createNumericLiteral(1), replacementOperator);
21
22
  }
22
23
  }
23
- exports.transformUnaryExpressionStatement = transformUnaryExpressionStatement;
24
24
  const transformPostfixUnaryExpression = (expression, context) => {
25
25
  switch (expression.operator) {
26
26
  case ts.SyntaxKind.PlusPlusToken:
@@ -1,6 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.transformVariableStatement = exports.checkVariableDeclarationList = exports.transformVariableDeclaration = exports.transformBindingVariableDeclaration = exports.transformBindingPattern = exports.transformArrayBindingElement = void 0;
3
+ exports.transformVariableStatement = void 0;
4
+ exports.transformArrayBindingElement = transformArrayBindingElement;
5
+ exports.transformBindingPattern = transformBindingPattern;
6
+ exports.transformBindingVariableDeclaration = transformBindingVariableDeclaration;
7
+ exports.transformVariableDeclaration = transformVariableDeclaration;
8
+ exports.checkVariableDeclarationList = checkVariableDeclarationList;
4
9
  const ts = require("typescript");
5
10
  const lua = require("../../LuaAST");
6
11
  const utils_1 = require("../../utils");
@@ -37,7 +42,6 @@ function transformArrayBindingElement(context, name) {
37
42
  (0, utils_1.assertNever)(name);
38
43
  }
39
44
  }
40
- exports.transformArrayBindingElement = transformArrayBindingElement;
41
45
  function transformBindingPattern(context, pattern, table, propertyAccessStack = []) {
42
46
  var _a;
43
47
  const result = [];
@@ -111,7 +115,6 @@ function transformBindingPattern(context, pattern, table, propertyAccessStack =
111
115
  propertyAccessStack.pop();
112
116
  return result;
113
117
  }
114
- exports.transformBindingPattern = transformBindingPattern;
115
118
  function transformBindingVariableDeclaration(context, bindingPattern, initializer) {
116
119
  const statements = [];
117
120
  // For object, nested or rest bindings fall back to transformBindingPattern
@@ -169,7 +172,6 @@ function transformBindingVariableDeclaration(context, bindingPattern, initialize
169
172
  }
170
173
  return statements;
171
174
  }
172
- exports.transformBindingVariableDeclaration = transformBindingVariableDeclaration;
173
175
  // TODO: FunctionVisitor<ts.VariableDeclaration>
174
176
  function transformVariableDeclaration(context, statement) {
175
177
  if (statement.initializer && statement.type) {
@@ -204,7 +206,6 @@ function transformVariableDeclaration(context, statement) {
204
206
  return (0, function_1.isFunctionTypeWithProperties)(context, context.checker.getTypeAtLocation(statement.name));
205
207
  }
206
208
  }
207
- exports.transformVariableDeclaration = transformVariableDeclaration;
208
209
  function checkVariableDeclarationList(context, node) {
209
210
  if ((node.flags & (ts.NodeFlags.Let | ts.NodeFlags.Const | ts.NodeFlags.Using | ts.NodeFlags.AwaitUsing)) === 0) {
210
211
  const token = ts.getOriginalNode(node).getFirstToken();
@@ -212,7 +213,6 @@ function checkVariableDeclarationList(context, node) {
212
213
  context.diagnostics.push((0, diagnostics_1.unsupportedVarDeclaration)(token));
213
214
  }
214
215
  }
215
- exports.checkVariableDeclarationList = checkVariableDeclarationList;
216
216
  const transformVariableStatement = (node, context) => {
217
217
  checkVariableDeclarationList(context, node.declarationList);
218
218
  return node.declarationList.declarations.flatMap(declaration => transformVariableDeclaration(context, declaration));
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getBundleResult = exports.printStackTraceBundleOverride = exports.sourceMapTracebackBundlePlaceholder = void 0;
3
+ exports.sourceMapTracebackBundlePlaceholder = void 0;
4
+ exports.printStackTraceBundleOverride = printStackTraceBundleOverride;
5
+ exports.getBundleResult = getBundleResult;
4
6
  const path = require("path");
5
7
  const source_map_1 = require("source-map");
6
8
  const CompilerOptions_1 = require("../CompilerOptions");
@@ -72,7 +74,6 @@ function printStackTraceBundleOverride(rootNode) {
72
74
  const mapString = "{" + mapItems.join(",") + "}";
73
75
  return `__TS__SourceMapTraceBack(debug.getinfo(1).short_src, ${mapString});`;
74
76
  }
75
- exports.printStackTraceBundleOverride = printStackTraceBundleOverride;
76
77
  function getBundleResult(program, files) {
77
78
  var _a, _b, _c;
78
79
  const diagnostics = [];
@@ -116,7 +117,6 @@ function getBundleResult(program, files) {
116
117
  },
117
118
  ];
118
119
  }
119
- exports.getBundleResult = getBundleResult;
120
120
  function moduleSourceNode({ code, sourceMapNode }, modulePath) {
121
121
  const tableEntryHead = `[${modulePath}] = function(...) \n`;
122
122
  const tableEntryTail = " end,\n";
@@ -1,10 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findLuaRequires = void 0;
3
+ exports.findLuaRequires = findLuaRequires;
4
4
  function findLuaRequires(lua) {
5
5
  return findRequire(lua, 0);
6
6
  }
7
- exports.findLuaRequires = findLuaRequires;
8
7
  function findRequire(lua, offset) {
9
8
  const result = [];
10
9
  while (offset < lua.length) {
@@ -14,7 +14,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.transpileString = exports.transpileVirtualProject = exports.createVirtualProgram = exports.transpileProject = exports.transpileFiles = void 0;
17
+ exports.transpileFiles = transpileFiles;
18
+ exports.transpileProject = transpileProject;
19
+ exports.createVirtualProgram = createVirtualProgram;
20
+ exports.transpileVirtualProject = transpileVirtualProject;
21
+ exports.transpileString = transpileString;
18
22
  const fs = require("fs");
19
23
  const path = require("path");
20
24
  const ts = require("typescript");
@@ -31,7 +35,6 @@ function transpileFiles(rootNames, options = {}, writeFile) {
31
35
  const diagnostics = ts.sortAndDeduplicateDiagnostics([...preEmitDiagnostics, ...transpileDiagnostics]);
32
36
  return { diagnostics: [...diagnostics], emitSkipped };
33
37
  }
34
- exports.transpileFiles = transpileFiles;
35
38
  function transpileProject(configFileName, optionsToExtend, writeFile) {
36
39
  const parseResult = (0, tsconfig_1.parseConfigFileWithSystem)(configFileName, optionsToExtend);
37
40
  if (parseResult.errors.length > 0) {
@@ -39,7 +42,6 @@ function transpileProject(configFileName, optionsToExtend, writeFile) {
39
42
  }
40
43
  return transpileFiles(parseResult.fileNames, parseResult.options, writeFile);
41
44
  }
42
- exports.transpileProject = transpileProject;
43
45
  const libCache = {};
44
46
  /** @internal */
45
47
  function createVirtualProgram(input, options = {}) {
@@ -80,7 +82,6 @@ function createVirtualProgram(input, options = {}) {
80
82
  };
81
83
  return ts.createProgram(Object.keys(normalizedFiles), options, compilerHost);
82
84
  }
83
- exports.createVirtualProgram = createVirtualProgram;
84
85
  function transpileVirtualProject(files, options = {}) {
85
86
  const program = createVirtualProgram(files, options);
86
87
  const preEmitDiagnostics = ts.getPreEmitDiagnostics(program);
@@ -89,7 +90,6 @@ function transpileVirtualProject(files, options = {}) {
89
90
  const diagnostics = ts.sortAndDeduplicateDiagnostics([...preEmitDiagnostics, ...transpileDiagnostics]);
90
91
  return { diagnostics: [...diagnostics], transpiledFiles: collector.files };
91
92
  }
92
- exports.transpileVirtualProject = transpileVirtualProject;
93
93
  function transpileString(main, options = {}) {
94
94
  const { diagnostics, transpiledFiles } = transpileVirtualProject({ "main.ts": main }, options);
95
95
  return {
@@ -97,5 +97,4 @@ function transpileString(main, options = {}) {
97
97
  file: transpiledFiles.find(({ sourceFiles }) => sourceFiles.some(f => f.fileName === "main.ts")),
98
98
  };
99
99
  }
100
- exports.transpileString = transpileString;
101
100
  //# sourceMappingURL=index.js.map
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createEmitOutputCollector = void 0;
3
+ exports.createEmitOutputCollector = createEmitOutputCollector;
4
4
  const utils_1 = require("../utils");
5
5
  function createEmitOutputCollector(luaExtension = ".lua") {
6
6
  const files = [];
@@ -34,5 +34,4 @@ function createEmitOutputCollector(luaExtension = ".lua") {
34
34
  };
35
35
  return { writeFile, files };
36
36
  }
37
- exports.createEmitOutputCollector = createEmitOutputCollector;
38
37
  //# sourceMappingURL=output-collector.js.map
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPlugins = void 0;
3
+ exports.getPlugins = getPlugins;
4
4
  const utils_1 = require("./utils");
5
5
  const performance = require("../measure-performance");
6
6
  function getPlugins(program) {
@@ -25,5 +25,4 @@ function getPlugins(program) {
25
25
  performance.endSection("getPlugins");
26
26
  return { diagnostics, plugins: pluginsFromOptions };
27
27
  }
28
- exports.getPlugins = getPlugins;
29
28
  //# sourceMappingURL=plugins.js.map
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolveDependencies = void 0;
3
+ exports.resolveDependencies = resolveDependencies;
4
4
  const path = require("path");
5
5
  const resolve = require("enhanced-resolve");
6
6
  const fs = require("fs");
@@ -290,7 +290,6 @@ function resolveDependencies(program, files, emitHost, plugins) {
290
290
  }
291
291
  return { resolvedFiles: [...resolutionContext.resolvedFiles.values()], diagnostics: resolutionContext.diagnostics };
292
292
  }
293
- exports.resolveDependencies = resolveDependencies;
294
293
  function shouldRewriteRequires(resolvedDependency, program) {
295
294
  return !isBuildModeLibrary(program) || !isNodeModulesFile(resolvedDependency);
296
295
  }
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.stripParenthesisExpressionsTransformer = exports.noImplicitSelfTransformer = exports.getTransformers = void 0;
3
+ exports.stripParenthesisExpressionsTransformer = exports.noImplicitSelfTransformer = void 0;
4
+ exports.getTransformers = getTransformers;
4
5
  const ts = require("typescript");
5
6
  // TODO: Don't depend on CLI?
6
7
  const cliDiagnostics = require("../cli/diagnostics");
@@ -33,7 +34,6 @@ function getTransformers(program, diagnostics, customTransformers, onSourceFile)
33
34
  ],
34
35
  };
35
36
  }
36
- exports.getTransformers = getTransformers;
37
37
  const noImplicitSelfTransformer = () => node => {
38
38
  const transformSourceFile = node => {
39
39
  const empty = ts.factory.createNotEmittedStatement(undefined);
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getProgramTranspileResult = void 0;
3
+ exports.getProgramTranspileResult = getProgramTranspileResult;
4
4
  const path = require("path");
5
5
  const ts = require("typescript");
6
6
  const CompilerOptions_1 = require("../CompilerOptions");
@@ -115,5 +115,4 @@ function getProgramTranspileResult(emitHost, writeFileResult, { program, sourceF
115
115
  performance.endSection("afterPrint");
116
116
  return { diagnostics, transpiledFiles };
117
117
  }
118
- exports.getProgramTranspileResult = getProgramTranspileResult;
119
118
  //# sourceMappingURL=transpile.js.map