typescript-to-lua 1.34.0 → 1.36.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.
Files changed (116) hide show
  1. package/dist/CompilerOptions.js +34 -4
  2. package/dist/LuaAST.js +34 -1
  3. package/dist/LuaLib.js +35 -2
  4. package/dist/LuaPrinter.js +36 -3
  5. package/dist/cli/diagnostics.js +34 -1
  6. package/dist/cli/parse.js +35 -2
  7. package/dist/cli/report.js +34 -1
  8. package/dist/cli/tsconfig.js +36 -3
  9. package/dist/lualib/5.0/Map.lua +36 -12
  10. package/dist/lualib/5.0/ObjectAssign.lua +4 -2
  11. package/dist/lualib/5.0/Promise.lua +11 -20
  12. package/dist/lualib/5.0/Set.lua +36 -12
  13. package/dist/lualib/5.0/SetDescriptor.lua +7 -0
  14. package/dist/lualib/5.0/lualib_bundle.lua +94 -46
  15. package/dist/lualib/universal/Map.lua +36 -12
  16. package/dist/lualib/universal/ObjectAssign.lua +4 -2
  17. package/dist/lualib/universal/Promise.lua +11 -20
  18. package/dist/lualib/universal/Set.lua +36 -12
  19. package/dist/lualib/universal/SetDescriptor.lua +7 -0
  20. package/dist/lualib/universal/lualib_bundle.lua +94 -46
  21. package/dist/lualib-build/plugin.js +36 -3
  22. package/dist/lualib-build/util.js +34 -1
  23. package/dist/transformation/builtins/array.js +35 -2
  24. package/dist/transformation/builtins/console.js +35 -2
  25. package/dist/transformation/builtins/function.js +34 -1
  26. package/dist/transformation/builtins/index.js +35 -2
  27. package/dist/transformation/builtins/math.js +41 -3
  28. package/dist/transformation/builtins/number.js +42 -5
  29. package/dist/transformation/builtins/object.js +34 -1
  30. package/dist/transformation/builtins/promise.js +34 -1
  31. package/dist/transformation/builtins/string.js +34 -1
  32. package/dist/transformation/builtins/symbol.js +34 -1
  33. package/dist/transformation/context/context.js +35 -2
  34. package/dist/transformation/context/visitors.js +34 -1
  35. package/dist/transformation/index.js +34 -1
  36. package/dist/transformation/pre-transformers/using-transformer.js +34 -1
  37. package/dist/transformation/utils/annotations.js +34 -1
  38. package/dist/transformation/utils/assignment-validation.js +34 -1
  39. package/dist/transformation/utils/diagnostics.js +35 -2
  40. package/dist/transformation/utils/export.js +35 -2
  41. package/dist/transformation/utils/function-context.js +36 -4
  42. package/dist/transformation/utils/language-extensions.js +34 -1
  43. package/dist/transformation/utils/lua-ast.js +35 -2
  44. package/dist/transformation/utils/lualib.js +34 -1
  45. package/dist/transformation/utils/scope.d.ts +6 -0
  46. package/dist/transformation/utils/scope.js +56 -2
  47. package/dist/transformation/utils/typescript/index.js +27 -3
  48. package/dist/transformation/utils/typescript/nodes.js +34 -1
  49. package/dist/transformation/utils/typescript/types.js +34 -1
  50. package/dist/transformation/visitors/access.js +35 -2
  51. package/dist/transformation/visitors/async-await.js +35 -2
  52. package/dist/transformation/visitors/binary-expression/assignments.js +35 -2
  53. package/dist/transformation/visitors/binary-expression/bit.js +41 -2
  54. package/dist/transformation/visitors/binary-expression/compound.js +35 -2
  55. package/dist/transformation/visitors/binary-expression/destructuring-assignments.js +35 -2
  56. package/dist/transformation/visitors/binary-expression/index.js +35 -2
  57. package/dist/transformation/visitors/block.js +35 -2
  58. package/dist/transformation/visitors/break-continue.js +51 -2
  59. package/dist/transformation/visitors/call.js +35 -2
  60. package/dist/transformation/visitors/class/decorators.js +35 -2
  61. package/dist/transformation/visitors/class/index.js +35 -2
  62. package/dist/transformation/visitors/class/members/accessors.js +35 -2
  63. package/dist/transformation/visitors/class/members/constructor.js +35 -2
  64. package/dist/transformation/visitors/class/members/fields.js +34 -1
  65. package/dist/transformation/visitors/class/members/method.js +35 -2
  66. package/dist/transformation/visitors/class/new.js +34 -1
  67. package/dist/transformation/visitors/class/setup.js +35 -2
  68. package/dist/transformation/visitors/class/utils.js +34 -1
  69. package/dist/transformation/visitors/conditional.js +35 -2
  70. package/dist/transformation/visitors/delete.js +35 -2
  71. package/dist/transformation/visitors/enum.js +35 -2
  72. package/dist/transformation/visitors/errors.js +119 -21
  73. package/dist/transformation/visitors/expression-list.js +35 -2
  74. package/dist/transformation/visitors/expression-statement.js +34 -1
  75. package/dist/transformation/visitors/function.js +35 -2
  76. package/dist/transformation/visitors/identifier.js +35 -2
  77. package/dist/transformation/visitors/index.js +34 -1
  78. package/dist/transformation/visitors/language-extensions/iterable.js +35 -2
  79. package/dist/transformation/visitors/language-extensions/multi.js +35 -2
  80. package/dist/transformation/visitors/language-extensions/operators.js +34 -1
  81. package/dist/transformation/visitors/language-extensions/range.js +36 -3
  82. package/dist/transformation/visitors/language-extensions/table.js +34 -1
  83. package/dist/transformation/visitors/language-extensions/vararg.js +34 -1
  84. package/dist/transformation/visitors/literal.js +35 -2
  85. package/dist/transformation/visitors/loops/do-while.js +34 -1
  86. package/dist/transformation/visitors/loops/for-in.js +34 -1
  87. package/dist/transformation/visitors/loops/for-of.js +35 -2
  88. package/dist/transformation/visitors/loops/for.js +35 -2
  89. package/dist/transformation/visitors/loops/utils.js +35 -2
  90. package/dist/transformation/visitors/modules/export.js +36 -3
  91. package/dist/transformation/visitors/modules/import.js +36 -3
  92. package/dist/transformation/visitors/namespace.js +35 -2
  93. package/dist/transformation/visitors/optional-chaining.js +35 -2
  94. package/dist/transformation/visitors/return.js +75 -19
  95. package/dist/transformation/visitors/sourceFile.js +35 -2
  96. package/dist/transformation/visitors/spread.js +35 -2
  97. package/dist/transformation/visitors/switch.js +35 -2
  98. package/dist/transformation/visitors/template.js +35 -2
  99. package/dist/transformation/visitors/typeof.js +35 -2
  100. package/dist/transformation/visitors/typescript.js +34 -1
  101. package/dist/transformation/visitors/unary-expression.js +35 -2
  102. package/dist/transformation/visitors/variable-declaration.js +36 -3
  103. package/dist/transformation/visitors/void.js +35 -2
  104. package/dist/transpilation/bundle.js +34 -1
  105. package/dist/transpilation/diagnostics.d.ts +1 -1
  106. package/dist/transpilation/diagnostics.js +37 -3
  107. package/dist/transpilation/index.js +25 -3
  108. package/dist/transpilation/plugins.js +34 -1
  109. package/dist/transpilation/resolve.js +48 -12
  110. package/dist/transpilation/transformers.js +36 -3
  111. package/dist/transpilation/transpile.js +36 -3
  112. package/dist/transpilation/transpiler.js +56 -9
  113. package/dist/transpilation/utils.js +37 -4
  114. package/dist/tstl.js +37 -4
  115. package/dist/utils.js +37 -4
  116. package/package.json +9 -9
@@ -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, insideTryCatch) {
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
- let returnValues = (0, call_1.transformArguments)(context, innerNode.arguments);
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, false);
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
- let results;
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
- else {
62
- // Empty return
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
- ? initializer.elements.map(e => context.transformExpression(e))
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");
@@ -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 pathsWithoutBaseUrl: (() => ts.Diagnostic) & {
35
+ export declare const emitPathCollision: ((outputPath: string, file1: string, file2: string) => ts.Diagnostic) & {
36
36
  code: number;
37
37
  };
@@ -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
- exports.pathsWithoutBaseUrl = exports.unsupportedJsxEmit = exports.cannotBundleLibrary = exports.usingLuaBundleWithInlineMightGenerateDuplicateCode = exports.luaBundleEntryIsRequired = exports.couldNotFindBundleEntryPoint = exports.transformerShouldBeATsTransformerFactory = exports.shouldHaveAExport = exports.couldNotResolveFrom = exports.toLoadItShouldBeTranspiled = exports.couldNotReadDependency = exports.couldNotResolveRequire = void 0;
4
- const ts = require("typescript");
36
+ exports.emitPathCollision = exports.unsupportedJsxEmit = exports.cannotBundleLibrary = exports.usingLuaBundleWithInlineMightGenerateDuplicateCode = exports.luaBundleEntryIsRequired = exports.couldNotFindBundleEntryPoint = exports.transformerShouldBeATsTransformerFactory = exports.shouldHaveAExport = exports.couldNotResolveFrom = exports.toLoadItShouldBeTranspiled = exports.couldNotReadDependency = exports.couldNotResolveRequire = void 0;
37
+ const ts = __importStar(require("typescript"));
5
38
  const utils_1 = require("../utils");
6
39
  const createDiagnosticFactory = (getMessage, category = ts.DiagnosticCategory.Error) => (0, utils_1.createSerialDiagnosticFactory)((...args) => ({ messageText: getMessage(...args), category }));
7
40
  exports.couldNotResolveRequire = createDiagnosticFactory((requirePath, containingFile) => `Could not resolve lua source files for require path '${requirePath}' in file ${containingFile}.`);
@@ -19,5 +52,6 @@ exports.usingLuaBundleWithInlineMightGenerateDuplicateCode = (0, utils_1.createS
19
52
  }));
20
53
  exports.cannotBundleLibrary = createDiagnosticFactory(() => 'Cannot bundle projects with "buildmode": "library". Projects including the library can still bundle (which will include external library files).');
21
54
  exports.unsupportedJsxEmit = createDiagnosticFactory(() => 'JSX is only supported with "react" jsx option.');
22
- exports.pathsWithoutBaseUrl = createDiagnosticFactory(() => "When configuring 'paths' in tsconfig.json, the option 'baseUrl' must also be provided.");
55
+ exports.emitPathCollision = createDiagnosticFactory((outputPath, file1, file2) => `Output path '${outputPath}' is used by both '${file1}' and '${file2}'. ` +
56
+ `Dots in file/directory names are replaced with underscores for Lua module resolution.`);
23
57
  //# sourceMappingURL=diagnostics.js.map