typescript-to-lua 1.8.2 → 1.10.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 (246) hide show
  1. package/dist/CompilerOptions.d.ts +1 -0
  2. package/dist/CompilerOptions.js +1 -0
  3. package/dist/LuaAST.d.ts +43 -37
  4. package/dist/LuaAST.js +48 -38
  5. package/dist/LuaLib.d.ts +12 -6
  6. package/dist/LuaLib.js +31 -21
  7. package/dist/LuaPrinter.d.ts +1 -0
  8. package/dist/LuaPrinter.js +10 -4
  9. package/dist/lualib/5.0/ArrayConcat.lua +22 -0
  10. package/dist/lualib/{ArrayEntries.lua → 5.0/ArrayEntries.lua} +0 -0
  11. package/dist/lualib/5.0/ArrayEvery.lua +8 -0
  12. package/dist/lualib/5.0/ArrayFilter.lua +11 -0
  13. package/dist/lualib/5.0/ArrayFind.lua +9 -0
  14. package/dist/lualib/5.0/ArrayFindIndex.lua +8 -0
  15. package/dist/lualib/5.0/ArrayFlat.lua +27 -0
  16. package/dist/lualib/5.0/ArrayFlatMap.lua +17 -0
  17. package/dist/lualib/5.0/ArrayForEach.lua +5 -0
  18. package/dist/lualib/5.0/ArrayFrom.lua +29 -0
  19. package/dist/lualib/5.0/ArrayIncludes.lua +19 -0
  20. package/dist/lualib/5.0/ArrayIndexOf.lua +24 -0
  21. package/dist/lualib/{ArrayIsArray.lua → 5.0/ArrayIsArray.lua} +0 -0
  22. package/dist/lualib/5.0/ArrayJoin.lua +10 -0
  23. package/dist/lualib/5.0/ArrayMap.lua +7 -0
  24. package/dist/lualib/5.0/ArrayPush.lua +9 -0
  25. package/dist/lualib/5.0/ArrayPushArray.lua +8 -0
  26. package/dist/lualib/5.0/ArrayReduce.lua +23 -0
  27. package/dist/lualib/5.0/ArrayReduceRight.lua +23 -0
  28. package/dist/lualib/5.0/ArrayReverse.lua +12 -0
  29. package/dist/lualib/5.0/ArraySetLength.lua +12 -0
  30. package/dist/lualib/5.0/ArraySlice.lua +43 -0
  31. package/dist/lualib/5.0/ArraySome.lua +8 -0
  32. package/dist/lualib/{ArraySort.lua → 5.0/ArraySort.lua} +0 -0
  33. package/dist/lualib/5.0/ArraySplice.lua +77 -0
  34. package/dist/lualib/5.0/ArrayToObject.lua +7 -0
  35. package/dist/lualib/5.0/ArrayUnshift.lua +14 -0
  36. package/dist/lualib/{Await.lua → 5.0/Await.lua} +0 -0
  37. package/dist/lualib/{Class.lua → 5.0/Class.lua} +0 -0
  38. package/dist/lualib/{ClassExtends.lua → 5.0/ClassExtends.lua} +0 -0
  39. package/dist/lualib/{CloneDescriptor.lua → 5.0/CloneDescriptor.lua} +0 -0
  40. package/dist/lualib/5.0/CountVarargs.lua +4 -0
  41. package/dist/lualib/5.0/Decorate.lua +36 -0
  42. package/dist/lualib/{DecorateParam.lua → 5.0/DecorateParam.lua} +0 -0
  43. package/dist/lualib/5.0/DelegatedYield.lua +34 -0
  44. package/dist/lualib/{Delete.lua → 5.0/Delete.lua} +0 -0
  45. package/dist/lualib/5.0/Error.lua +85 -0
  46. package/dist/lualib/5.0/FunctionBind.lua +11 -0
  47. package/dist/lualib/5.0/Generator.lua +34 -0
  48. package/dist/lualib/{InstanceOf.lua → 5.0/InstanceOf.lua} +0 -0
  49. package/dist/lualib/{InstanceOfObject.lua → 5.0/InstanceOfObject.lua} +0 -0
  50. package/dist/lualib/5.0/Iterator.lua +40 -0
  51. package/dist/lualib/5.0/LuaIteratorSpread.lua +9 -0
  52. package/dist/lualib/{Map.lua → 5.0/Map.lua} +0 -0
  53. package/dist/lualib/5.0/Match.lua +13 -0
  54. package/dist/lualib/{MathAtan2.lua → 5.0/MathAtan2.lua} +0 -0
  55. package/dist/lualib/5.0/MathModf.lua +10 -0
  56. package/dist/lualib/{MathSign.lua → 5.0/MathSign.lua} +0 -0
  57. package/dist/lualib/5.0/Modulo50.lua +3 -0
  58. package/dist/lualib/5.0/New.lua +5 -0
  59. package/dist/lualib/5.0/Number.lua +26 -0
  60. package/dist/lualib/5.0/NumberIsFinite.lua +3 -0
  61. package/dist/lualib/{NumberIsNaN.lua → 5.0/NumberIsNaN.lua} +0 -0
  62. package/dist/lualib/5.0/NumberToString.lua +47 -0
  63. package/dist/lualib/5.0/ObjectAssign.lua +10 -0
  64. package/dist/lualib/{ObjectDefineProperty.lua → 5.0/ObjectDefineProperty.lua} +0 -0
  65. package/dist/lualib/{ObjectEntries.lua → 5.0/ObjectEntries.lua} +0 -0
  66. package/dist/lualib/{ObjectFromEntries.lua → 5.0/ObjectFromEntries.lua} +0 -0
  67. package/dist/lualib/{ObjectGetOwnPropertyDescriptor.lua → 5.0/ObjectGetOwnPropertyDescriptor.lua} +0 -0
  68. package/dist/lualib/{ObjectGetOwnPropertyDescriptors.lua → 5.0/ObjectGetOwnPropertyDescriptors.lua} +0 -0
  69. package/dist/lualib/{ObjectKeys.lua → 5.0/ObjectKeys.lua} +0 -0
  70. package/dist/lualib/{ObjectRest.lua → 5.0/ObjectRest.lua} +0 -0
  71. package/dist/lualib/{ObjectValues.lua → 5.0/ObjectValues.lua} +0 -0
  72. package/dist/lualib/5.0/ParseFloat.lua +18 -0
  73. package/dist/lualib/5.0/ParseInt.lua +49 -0
  74. package/dist/lualib/5.0/Promise.lua +176 -0
  75. package/dist/lualib/{PromiseAll.lua → 5.0/PromiseAll.lua} +0 -0
  76. package/dist/lualib/{PromiseAllSettled.lua → 5.0/PromiseAllSettled.lua} +0 -0
  77. package/dist/lualib/5.0/PromiseAny.lua +41 -0
  78. package/dist/lualib/5.0/PromiseRace.lua +28 -0
  79. package/dist/lualib/{Set.lua → 5.0/Set.lua} +0 -0
  80. package/dist/lualib/{SetDescriptor.lua → 5.0/SetDescriptor.lua} +0 -0
  81. package/dist/lualib/5.0/SourceMapTraceBack.lua +56 -0
  82. package/dist/lualib/5.0/SparseArrayNew.lua +5 -0
  83. package/dist/lualib/5.0/SparseArrayPush.lua +9 -0
  84. package/dist/lualib/5.0/SparseArraySpread.lua +3 -0
  85. package/dist/lualib/5.0/Spread.lua +15 -0
  86. package/dist/lualib/5.0/StringAccess.lua +5 -0
  87. package/dist/lualib/{StringCharAt.lua → 5.0/StringCharAt.lua} +0 -0
  88. package/dist/lualib/{StringCharCodeAt.lua → 5.0/StringCharCodeAt.lua} +0 -0
  89. package/dist/lualib/5.0/StringEndsWith.lua +10 -0
  90. package/dist/lualib/{StringIncludes.lua → 5.0/StringIncludes.lua} +0 -0
  91. package/dist/lualib/5.0/StringPadEnd.lua +26 -0
  92. package/dist/lualib/5.0/StringPadStart.lua +26 -0
  93. package/dist/lualib/{StringReplace.lua → 5.0/StringReplace.lua} +0 -0
  94. package/dist/lualib/5.0/StringReplaceAll.lua +42 -0
  95. package/dist/lualib/{StringSlice.lua → 5.0/StringSlice.lua} +0 -0
  96. package/dist/lualib/5.0/StringSplit.lua +36 -0
  97. package/dist/lualib/5.0/StringStartsWith.lua +10 -0
  98. package/dist/lualib/{StringSubstr.lua → 5.0/StringSubstr.lua} +0 -0
  99. package/dist/lualib/{StringSubstring.lua → 5.0/StringSubstring.lua} +0 -0
  100. package/dist/lualib/{StringTrim.lua → 5.0/StringTrim.lua} +0 -0
  101. package/dist/lualib/{StringTrimEnd.lua → 5.0/StringTrimEnd.lua} +0 -0
  102. package/dist/lualib/{StringTrimStart.lua → 5.0/StringTrimStart.lua} +0 -0
  103. package/dist/lualib/{Symbol.lua → 5.0/Symbol.lua} +0 -0
  104. package/dist/lualib/{SymbolRegistry.lua → 5.0/SymbolRegistry.lua} +0 -0
  105. package/dist/lualib/{TypeOf.lua → 5.0/TypeOf.lua} +0 -0
  106. package/dist/lualib/5.0/Unpack.lua +1 -0
  107. package/dist/lualib/{WeakMap.lua → 5.0/WeakMap.lua} +0 -0
  108. package/dist/lualib/{WeakSet.lua → 5.0/WeakSet.lua} +0 -0
  109. package/dist/lualib/5.0/lualib_bundle.lua +2574 -0
  110. package/dist/lualib/5.0/lualib_module_info.json +672 -0
  111. package/dist/lualib/{ArrayConcat.lua → universal/ArrayConcat.lua} +0 -0
  112. package/dist/lualib/universal/ArrayEntries.lua +13 -0
  113. package/dist/lualib/{ArrayEvery.lua → universal/ArrayEvery.lua} +0 -0
  114. package/dist/lualib/{ArrayFilter.lua → universal/ArrayFilter.lua} +0 -0
  115. package/dist/lualib/{ArrayFind.lua → universal/ArrayFind.lua} +0 -0
  116. package/dist/lualib/{ArrayFindIndex.lua → universal/ArrayFindIndex.lua} +0 -0
  117. package/dist/lualib/{ArrayFlat.lua → universal/ArrayFlat.lua} +0 -0
  118. package/dist/lualib/{ArrayFlatMap.lua → universal/ArrayFlatMap.lua} +0 -0
  119. package/dist/lualib/{ArrayForEach.lua → universal/ArrayForEach.lua} +0 -0
  120. package/dist/lualib/{ArrayFrom.lua → universal/ArrayFrom.lua} +0 -0
  121. package/dist/lualib/{ArrayIncludes.lua → universal/ArrayIncludes.lua} +0 -0
  122. package/dist/lualib/{ArrayIndexOf.lua → universal/ArrayIndexOf.lua} +0 -0
  123. package/dist/lualib/universal/ArrayIsArray.lua +3 -0
  124. package/dist/lualib/{ArrayJoin.lua → universal/ArrayJoin.lua} +0 -0
  125. package/dist/lualib/{ArrayMap.lua → universal/ArrayMap.lua} +0 -0
  126. package/dist/lualib/{ArrayPush.lua → universal/ArrayPush.lua} +0 -0
  127. package/dist/lualib/{ArrayPushArray.lua → universal/ArrayPushArray.lua} +0 -0
  128. package/dist/lualib/{ArrayReduce.lua → universal/ArrayReduce.lua} +1 -1
  129. package/dist/lualib/{ArrayReduceRight.lua → universal/ArrayReduceRight.lua} +1 -1
  130. package/dist/lualib/{ArrayReverse.lua → universal/ArrayReverse.lua} +0 -0
  131. package/dist/lualib/{ArraySetLength.lua → universal/ArraySetLength.lua} +0 -0
  132. package/dist/lualib/{ArraySlice.lua → universal/ArraySlice.lua} +0 -0
  133. package/dist/lualib/{ArraySome.lua → universal/ArraySome.lua} +0 -0
  134. package/dist/lualib/universal/ArraySort.lua +11 -0
  135. package/dist/lualib/{ArraySplice.lua → universal/ArraySplice.lua} +1 -1
  136. package/dist/lualib/{ArrayToObject.lua → universal/ArrayToObject.lua} +0 -0
  137. package/dist/lualib/{ArrayUnshift.lua → universal/ArrayUnshift.lua} +0 -0
  138. package/dist/lualib/universal/Await.lua +54 -0
  139. package/dist/lualib/universal/Class.lua +6 -0
  140. package/dist/lualib/universal/ClassExtends.lua +24 -0
  141. package/dist/lualib/universal/CloneDescriptor.lua +28 -0
  142. package/dist/lualib/universal/CountVarargs.lua +3 -0
  143. package/dist/lualib/{Decorate.lua → universal/Decorate.lua} +0 -0
  144. package/dist/lualib/universal/DecorateParam.lua +3 -0
  145. package/dist/lualib/{DelegatedYield.lua → universal/DelegatedYield.lua} +0 -0
  146. package/dist/lualib/universal/Delete.lua +19 -0
  147. package/dist/lualib/{Error.lua → universal/Error.lua} +7 -2
  148. package/dist/lualib/{FunctionBind.lua → universal/FunctionBind.lua} +0 -0
  149. package/dist/lualib/{Generator.lua → universal/Generator.lua} +2 -9
  150. package/dist/lualib/universal/InstanceOf.lua +18 -0
  151. package/dist/lualib/universal/InstanceOfObject.lua +4 -0
  152. package/dist/lualib/{Iterator.lua → universal/Iterator.lua} +0 -0
  153. package/dist/lualib/{LuaIteratorSpread.lua → universal/LuaIteratorSpread.lua} +0 -0
  154. package/dist/lualib/universal/Map.lua +140 -0
  155. package/dist/lualib/universal/Match.lua +1 -0
  156. package/dist/lualib/universal/MathAtan2.lua +1 -0
  157. package/dist/lualib/universal/MathModf.lua +1 -0
  158. package/dist/lualib/universal/MathSign.lua +8 -0
  159. package/dist/lualib/universal/Modulo50.lua +3 -0
  160. package/dist/lualib/{New.lua → universal/New.lua} +0 -0
  161. package/dist/lualib/{Number.lua → universal/Number.lua} +0 -0
  162. package/dist/lualib/{NumberIsFinite.lua → universal/NumberIsFinite.lua} +0 -0
  163. package/dist/lualib/universal/NumberIsNaN.lua +3 -0
  164. package/dist/lualib/{NumberToString.lua → universal/NumberToString.lua} +1 -1
  165. package/dist/lualib/{ObjectAssign.lua → universal/ObjectAssign.lua} +0 -0
  166. package/dist/lualib/universal/ObjectDefineProperty.lua +59 -0
  167. package/dist/lualib/universal/ObjectEntries.lua +9 -0
  168. package/dist/lualib/universal/ObjectFromEntries.lua +20 -0
  169. package/dist/lualib/universal/ObjectGetOwnPropertyDescriptor.lua +10 -0
  170. package/dist/lualib/universal/ObjectGetOwnPropertyDescriptors.lua +7 -0
  171. package/dist/lualib/universal/ObjectKeys.lua +9 -0
  172. package/dist/lualib/universal/ObjectRest.lua +9 -0
  173. package/dist/lualib/universal/ObjectValues.lua +9 -0
  174. package/dist/lualib/{ParseFloat.lua → universal/ParseFloat.lua} +2 -2
  175. package/dist/lualib/{ParseInt.lua → universal/ParseInt.lua} +7 -7
  176. package/dist/lualib/{Promise.lua → universal/Promise.lua} +0 -0
  177. package/dist/lualib/universal/PromiseAll.lua +44 -0
  178. package/dist/lualib/universal/PromiseAllSettled.lua +48 -0
  179. package/dist/lualib/{PromiseAny.lua → universal/PromiseAny.lua} +0 -0
  180. package/dist/lualib/{PromiseRace.lua → universal/PromiseRace.lua} +0 -0
  181. package/dist/lualib/universal/Set.lua +130 -0
  182. package/dist/lualib/universal/SetDescriptor.lua +79 -0
  183. package/dist/lualib/{SourceMapTraceBack.lua → universal/SourceMapTraceBack.lua} +3 -1
  184. package/dist/lualib/{SparseArrayNew.lua → universal/SparseArrayNew.lua} +1 -1
  185. package/dist/lualib/{SparseArrayPush.lua → universal/SparseArrayPush.lua} +1 -1
  186. package/dist/lualib/{SparseArraySpread.lua → universal/SparseArraySpread.lua} +0 -0
  187. package/dist/lualib/{Spread.lua → universal/Spread.lua} +0 -0
  188. package/dist/lualib/{StringAccess.lua → universal/StringAccess.lua} +0 -0
  189. package/dist/lualib/universal/StringCharAt.lua +9 -0
  190. package/dist/lualib/universal/StringCharCodeAt.lua +13 -0
  191. package/dist/lualib/{StringEndsWith.lua → universal/StringEndsWith.lua} +0 -0
  192. package/dist/lualib/universal/StringIncludes.lua +9 -0
  193. package/dist/lualib/{StringPadEnd.lua → universal/StringPadEnd.lua} +0 -0
  194. package/dist/lualib/{StringPadStart.lua → universal/StringPadStart.lua} +0 -0
  195. package/dist/lualib/universal/StringReplace.lua +20 -0
  196. package/dist/lualib/{StringReplaceAll.lua → universal/StringReplaceAll.lua} +0 -0
  197. package/dist/lualib/universal/StringSlice.lua +15 -0
  198. package/dist/lualib/{StringSplit.lua → universal/StringSplit.lua} +0 -0
  199. package/dist/lualib/{StringStartsWith.lua → universal/StringStartsWith.lua} +0 -0
  200. package/dist/lualib/universal/StringSubstr.lua +15 -0
  201. package/dist/lualib/universal/StringSubstring.lua +17 -0
  202. package/dist/lualib/universal/StringTrim.lua +4 -0
  203. package/dist/lualib/universal/StringTrimEnd.lua +4 -0
  204. package/dist/lualib/universal/StringTrimStart.lua +4 -0
  205. package/dist/lualib/universal/Symbol.lua +15 -0
  206. package/dist/lualib/universal/SymbolRegistry.lua +17 -0
  207. package/dist/lualib/universal/TypeOf.lua +10 -0
  208. package/dist/lualib/{Unpack.lua → universal/Unpack.lua} +0 -0
  209. package/dist/lualib/universal/WeakMap.lua +45 -0
  210. package/dist/lualib/universal/WeakSet.lua +41 -0
  211. package/dist/lualib/{lualib_bundle.lua → universal/lualib_bundle.lua} +53 -37
  212. package/dist/lualib/{lualib_module_info.json → universal/lualib_module_info.json} +49 -4
  213. package/dist/lualib-build/plugin.js +12 -2
  214. package/dist/transformation/builtins/array.d.ts +1 -1
  215. package/dist/transformation/builtins/array.js +12 -2
  216. package/dist/transformation/builtins/function.js +4 -2
  217. package/dist/transformation/builtins/index.js +11 -3
  218. package/dist/transformation/builtins/string.d.ts +1 -1
  219. package/dist/transformation/builtins/string.js +8 -1
  220. package/dist/transformation/utils/diagnostics.d.ts +5 -4
  221. package/dist/transformation/utils/diagnostics.js +2 -1
  222. package/dist/transformation/utils/lua-ast.js +3 -1
  223. package/dist/transformation/utils/typescript/index.js +2 -2
  224. package/dist/transformation/visitors/access.js +11 -0
  225. package/dist/transformation/visitors/binary-expression/bit.js +4 -2
  226. package/dist/transformation/visitors/binary-expression/index.js +4 -0
  227. package/dist/transformation/visitors/break-continue.js +4 -2
  228. package/dist/transformation/visitors/class/index.js +9 -4
  229. package/dist/transformation/visitors/class/members/fields.js +6 -2
  230. package/dist/transformation/visitors/class/members/method.js +4 -2
  231. package/dist/transformation/visitors/conditional.d.ts +1 -0
  232. package/dist/transformation/visitors/conditional.js +12 -1
  233. package/dist/transformation/visitors/errors.js +4 -2
  234. package/dist/transformation/visitors/function.js +2 -1
  235. package/dist/transformation/visitors/identifier.js +4 -1
  236. package/dist/transformation/visitors/language-extensions/operators.js +2 -1
  237. package/dist/transformation/visitors/literal.js +12 -4
  238. package/dist/transformation/visitors/loops/do-while.js +5 -0
  239. package/dist/transformation/visitors/modules/export.js +1 -1
  240. package/dist/transformation/visitors/spread.js +4 -1
  241. package/dist/transformation/visitors/typescript.js +1 -0
  242. package/dist/transpilation/bundle.js +15 -6
  243. package/dist/transpilation/resolve.js +3 -3
  244. package/dist/transpilation/transpiler.js +3 -1
  245. package/package.json +18 -18
  246. package/language-extensions/index.d.ts +0 -676
@@ -0,0 +1,26 @@
1
+ local function __TS__Number(value)
2
+ local valueType = type(value)
3
+ if valueType == "number" then
4
+ return value
5
+ elseif valueType == "string" then
6
+ local numberValue = tonumber(value)
7
+ if numberValue then
8
+ return numberValue
9
+ end
10
+ if value == "Infinity" then
11
+ return 1 / 0
12
+ end
13
+ if value == "-Infinity" then
14
+ return -(1 / 0)
15
+ end
16
+ local stringWithoutSpaces = string.gsub(value, "%s", "")
17
+ if stringWithoutSpaces == "" then
18
+ return 0
19
+ end
20
+ return 0 / 0
21
+ elseif valueType == "boolean" then
22
+ return value and 1 or 0
23
+ else
24
+ return 0 / 0
25
+ end
26
+ end
@@ -0,0 +1,3 @@
1
+ local function __TS__NumberIsFinite(value)
2
+ return type(value) == "number" and value == value and value ~= 1 / 0 and value ~= -(1 / 0)
3
+ end
@@ -0,0 +1,47 @@
1
+ local __TS__NumberToString
2
+ do
3
+ local radixChars = "0123456789abcdefghijklmnopqrstuvwxyz"
4
+ function __TS__NumberToString(self, radix)
5
+ if radix == nil or radix == 10 or self == 1 / 0 or self == -(1 / 0) or self ~= self then
6
+ return tostring(self)
7
+ end
8
+ radix = math.floor(radix)
9
+ if radix < 2 or radix > 36 then
10
+ error("toString() radix argument must be between 2 and 36", 0)
11
+ end
12
+ local integer, fraction = __TS__MathModf(math.abs(self))
13
+ local result = ""
14
+ if radix == 8 then
15
+ result = string.format("%o", integer)
16
+ elseif radix == 16 then
17
+ result = string.format("%x", integer)
18
+ else
19
+ repeat
20
+ do
21
+ result = __TS__StringAccess(
22
+ radixChars,
23
+ __TS__Modulo50(integer, radix)
24
+ ) .. result
25
+ integer = math.floor(integer / radix)
26
+ end
27
+ until not (integer ~= 0)
28
+ end
29
+ if fraction ~= 0 then
30
+ result = result .. "."
31
+ local delta = 1e-16
32
+ repeat
33
+ do
34
+ fraction = fraction * radix
35
+ delta = delta * radix
36
+ local digit = math.floor(fraction)
37
+ result = result .. __TS__StringAccess(radixChars, digit)
38
+ fraction = fraction - digit
39
+ end
40
+ until not (fraction >= delta)
41
+ end
42
+ if self < 0 then
43
+ result = "-" .. result
44
+ end
45
+ return result
46
+ end
47
+ end
@@ -0,0 +1,10 @@
1
+ local function __TS__ObjectAssign(target, ...)
2
+ local sources = arg
3
+ for i = 1, table.getn(sources) do
4
+ local source = sources[i]
5
+ for key in pairs(source) do
6
+ target[key] = source[key]
7
+ end
8
+ end
9
+ return target
10
+ end
@@ -0,0 +1,18 @@
1
+ local function __TS__ParseFloat(numberString)
2
+ local infinityMatch = __TS__Match(numberString, "^%s*(-?Infinity)")
3
+ if infinityMatch then
4
+ local ____temp_0
5
+ if __TS__StringAccess(infinityMatch, 0) == "-" then
6
+ ____temp_0 = -(1 / 0)
7
+ else
8
+ ____temp_0 = 1 / 0
9
+ end
10
+ return ____temp_0
11
+ end
12
+ local number = tonumber(__TS__Match(numberString, "^%s*(-?%d+%.?%d*)"))
13
+ local ____number_1 = number
14
+ if ____number_1 == nil then
15
+ ____number_1 = 0 / 0
16
+ end
17
+ return ____number_1
18
+ end
@@ -0,0 +1,49 @@
1
+ local __TS__ParseInt
2
+ do
3
+ local parseIntBasePattern = "0123456789aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTvVwWxXyYzZ"
4
+ function __TS__ParseInt(numberString, base)
5
+ if base == nil then
6
+ base = 10
7
+ local hexMatch = __TS__Match(numberString, "^%s*-?0[xX]")
8
+ if hexMatch then
9
+ base = 16
10
+ local ____TS__Match_result__0_0
11
+ if __TS__Match(hexMatch, "-") then
12
+ ____TS__Match_result__0_0 = "-" .. __TS__StringSubstr(
13
+ numberString,
14
+ string.len(hexMatch)
15
+ )
16
+ else
17
+ ____TS__Match_result__0_0 = __TS__StringSubstr(
18
+ numberString,
19
+ string.len(hexMatch)
20
+ )
21
+ end
22
+ numberString = ____TS__Match_result__0_0
23
+ end
24
+ end
25
+ if base < 2 or base > 36 then
26
+ return 0 / 0
27
+ end
28
+ local ____temp_1
29
+ if base <= 10 then
30
+ ____temp_1 = __TS__StringSubstring(parseIntBasePattern, 0, base)
31
+ else
32
+ ____temp_1 = __TS__StringSubstr(parseIntBasePattern, 0, 10 + 2 * (base - 10))
33
+ end
34
+ local allowedDigits = ____temp_1
35
+ local pattern = ("^%s*(-?[" .. allowedDigits) .. "]*)"
36
+ local number = tonumber(
37
+ __TS__Match(numberString, pattern),
38
+ base
39
+ )
40
+ if number == nil then
41
+ return 0 / 0
42
+ end
43
+ if number >= 0 then
44
+ return math.floor(number)
45
+ else
46
+ return math.ceil(number)
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,176 @@
1
+ local __TS__Promise
2
+ do
3
+ local function promiseDeferred(self)
4
+ local resolve
5
+ local reject
6
+ local promise = __TS__New(
7
+ __TS__Promise,
8
+ function(____, res, rej)
9
+ resolve = res
10
+ reject = rej
11
+ end
12
+ )
13
+ return {promise = promise, resolve = resolve, reject = reject}
14
+ end
15
+ local function isPromiseLike(self, thing)
16
+ return __TS__InstanceOf(thing, __TS__Promise)
17
+ end
18
+ __TS__Promise = __TS__Class()
19
+ __TS__Promise.name = "__TS__Promise"
20
+ function __TS__Promise.prototype.____constructor(self, executor)
21
+ self.state = 0
22
+ self.fulfilledCallbacks = {}
23
+ self.rejectedCallbacks = {}
24
+ self.finallyCallbacks = {}
25
+ do
26
+ local function ____catch(e)
27
+ self:reject(e)
28
+ end
29
+ local ____try, ____hasReturned = pcall(function()
30
+ executor(
31
+ nil,
32
+ __TS__FunctionBind(self.resolve, self),
33
+ __TS__FunctionBind(self.reject, self)
34
+ )
35
+ end)
36
+ if not ____try then
37
+ ____catch(____hasReturned)
38
+ end
39
+ end
40
+ end
41
+ function __TS__Promise.resolve(data)
42
+ local promise = __TS__New(
43
+ __TS__Promise,
44
+ function()
45
+ end
46
+ )
47
+ promise.state = 1
48
+ promise.value = data
49
+ return promise
50
+ end
51
+ function __TS__Promise.reject(reason)
52
+ local promise = __TS__New(
53
+ __TS__Promise,
54
+ function()
55
+ end
56
+ )
57
+ promise.state = 2
58
+ promise.rejectionReason = reason
59
+ return promise
60
+ end
61
+ __TS__Promise.prototype["then"] = function(self, onFulfilled, onRejected)
62
+ local ____promiseDeferred_result_0 = promiseDeferred(nil)
63
+ local promise = ____promiseDeferred_result_0.promise
64
+ local resolve = ____promiseDeferred_result_0.resolve
65
+ local reject = ____promiseDeferred_result_0.reject
66
+ local isFulfilled = self.state == 1
67
+ local isRejected = self.state == 2
68
+ if onFulfilled then
69
+ local internalCallback = self:createPromiseResolvingCallback(onFulfilled, resolve, reject)
70
+ local ____self_fulfilledCallbacks_1 = self.fulfilledCallbacks
71
+ ____self_fulfilledCallbacks_1[table.getn(____self_fulfilledCallbacks_1) + 1] = internalCallback
72
+ if isFulfilled then
73
+ internalCallback(nil, self.value)
74
+ end
75
+ else
76
+ local ____self_fulfilledCallbacks_2 = self.fulfilledCallbacks
77
+ ____self_fulfilledCallbacks_2[table.getn(____self_fulfilledCallbacks_2) + 1] = function(____, v) return resolve(nil, v) end
78
+ end
79
+ if onRejected then
80
+ local internalCallback = self:createPromiseResolvingCallback(onRejected, resolve, reject)
81
+ local ____self_rejectedCallbacks_3 = self.rejectedCallbacks
82
+ ____self_rejectedCallbacks_3[table.getn(____self_rejectedCallbacks_3) + 1] = internalCallback
83
+ if isRejected then
84
+ internalCallback(nil, self.rejectionReason)
85
+ end
86
+ else
87
+ local ____self_rejectedCallbacks_4 = self.rejectedCallbacks
88
+ ____self_rejectedCallbacks_4[table.getn(____self_rejectedCallbacks_4) + 1] = function(____, err) return reject(nil, err) end
89
+ end
90
+ if isFulfilled then
91
+ resolve(nil, self.value)
92
+ end
93
+ if isRejected then
94
+ reject(nil, self.rejectionReason)
95
+ end
96
+ return promise
97
+ end
98
+ function __TS__Promise.prototype.catch(self, onRejected)
99
+ return self["then"](self, nil, onRejected)
100
+ end
101
+ function __TS__Promise.prototype.finally(self, onFinally)
102
+ if onFinally then
103
+ local ____self_finallyCallbacks_5 = self.finallyCallbacks
104
+ ____self_finallyCallbacks_5[table.getn(____self_finallyCallbacks_5) + 1] = onFinally
105
+ if self.state ~= 0 then
106
+ onFinally(nil)
107
+ end
108
+ end
109
+ return self
110
+ end
111
+ function __TS__Promise.prototype.resolve(self, data)
112
+ if __TS__InstanceOf(data, __TS__Promise) then
113
+ data["then"](
114
+ data,
115
+ function(____, v) return self:resolve(v) end,
116
+ function(____, err) return self:reject(err) end
117
+ )
118
+ return
119
+ end
120
+ if self.state == 0 then
121
+ self.state = 1
122
+ self.value = data
123
+ for ____, callback in ipairs(self.fulfilledCallbacks) do
124
+ callback(nil, data)
125
+ end
126
+ for ____, callback in ipairs(self.finallyCallbacks) do
127
+ callback(nil)
128
+ end
129
+ end
130
+ end
131
+ function __TS__Promise.prototype.reject(self, reason)
132
+ if self.state == 0 then
133
+ self.state = 2
134
+ self.rejectionReason = reason
135
+ for ____, callback in ipairs(self.rejectedCallbacks) do
136
+ callback(nil, reason)
137
+ end
138
+ for ____, callback in ipairs(self.finallyCallbacks) do
139
+ callback(nil)
140
+ end
141
+ end
142
+ end
143
+ function __TS__Promise.prototype.createPromiseResolvingCallback(self, f, resolve, reject)
144
+ return function(____, value)
145
+ do
146
+ local function ____catch(e)
147
+ reject(nil, e)
148
+ end
149
+ local ____try, ____hasReturned = pcall(function()
150
+ self:handleCallbackData(
151
+ f(nil, value),
152
+ resolve,
153
+ reject
154
+ )
155
+ end)
156
+ if not ____try then
157
+ ____catch(____hasReturned)
158
+ end
159
+ end
160
+ end
161
+ end
162
+ function __TS__Promise.prototype.handleCallbackData(self, data, resolve, reject)
163
+ if isPromiseLike(nil, data) then
164
+ local nextpromise = data
165
+ if nextpromise.state == 1 then
166
+ resolve(nil, nextpromise.value)
167
+ elseif nextpromise.state == 2 then
168
+ reject(nil, nextpromise.rejectionReason)
169
+ else
170
+ data["then"](data, resolve, reject)
171
+ end
172
+ else
173
+ resolve(nil, data)
174
+ end
175
+ end
176
+ end
@@ -0,0 +1,41 @@
1
+ local function __TS__PromiseAny(iterable)
2
+ local rejections = {}
3
+ local pending = {}
4
+ for ____, item in __TS__Iterator(iterable) do
5
+ if __TS__InstanceOf(item, __TS__Promise) then
6
+ if item.state == 1 then
7
+ return __TS__Promise.resolve(item.value)
8
+ elseif item.state == 2 then
9
+ rejections[table.getn(rejections) + 1] = item.rejectionReason
10
+ else
11
+ pending[table.getn(pending) + 1] = item
12
+ end
13
+ else
14
+ return __TS__Promise.resolve(item)
15
+ end
16
+ end
17
+ if table.getn(pending) == 0 then
18
+ return __TS__Promise.reject("No promises to resolve with .any()")
19
+ end
20
+ local numResolved = 0
21
+ return __TS__New(
22
+ __TS__Promise,
23
+ function(____, resolve, reject)
24
+ for ____, promise in ipairs(pending) do
25
+ promise["then"](
26
+ promise,
27
+ function(____, data)
28
+ resolve(nil, data)
29
+ end,
30
+ function(____, reason)
31
+ rejections[table.getn(rejections) + 1] = reason
32
+ numResolved = numResolved + 1
33
+ if numResolved == table.getn(pending) then
34
+ reject(nil, {name = "AggregateError", message = "All Promises rejected", errors = rejections})
35
+ end
36
+ end
37
+ )
38
+ end
39
+ end
40
+ )
41
+ end
@@ -0,0 +1,28 @@
1
+ local function __TS__PromiseRace(iterable)
2
+ local pending = {}
3
+ for ____, item in __TS__Iterator(iterable) do
4
+ if __TS__InstanceOf(item, __TS__Promise) then
5
+ if item.state == 1 then
6
+ return __TS__Promise.resolve(item.value)
7
+ elseif item.state == 2 then
8
+ return __TS__Promise.reject(item.rejectionReason)
9
+ else
10
+ pending[table.getn(pending) + 1] = item
11
+ end
12
+ else
13
+ return __TS__Promise.resolve(item)
14
+ end
15
+ end
16
+ return __TS__New(
17
+ __TS__Promise,
18
+ function(____, resolve, reject)
19
+ for ____, promise in ipairs(pending) do
20
+ promise["then"](
21
+ promise,
22
+ function(____, value) return resolve(nil, value) end,
23
+ function(____, reason) return reject(nil, reason) end
24
+ )
25
+ end
26
+ end
27
+ )
28
+ end
File without changes
@@ -0,0 +1,56 @@
1
+ local function __TS__SourceMapTraceBack(fileName, sourceMap)
2
+ _G.__TS__sourcemap = _G.__TS__sourcemap or ({})
3
+ _G.__TS__sourcemap[fileName] = sourceMap
4
+ if _G.__TS__originalTraceback == nil then
5
+ local originalTraceback = debug.traceback
6
+ _G.__TS__originalTraceback = originalTraceback
7
+ debug.traceback = function(thread, message, level)
8
+ local trace
9
+ if thread == nil and message == nil and level == nil then
10
+ trace = originalTraceback()
11
+ elseif __TS__StringIncludes(_VERSION, "Lua 5.0") then
12
+ trace = originalTraceback((("[Level " .. tostring(level)) .. "] ") .. tostring(message))
13
+ else
14
+ trace = originalTraceback(thread, message, level)
15
+ end
16
+ if type(trace) ~= "string" then
17
+ return trace
18
+ end
19
+ local function replacer(____, file, srcFile, line)
20
+ local fileSourceMap = _G.__TS__sourcemap[file]
21
+ if fileSourceMap and fileSourceMap[line] then
22
+ local data = fileSourceMap[line]
23
+ if type(data) == "number" then
24
+ return (srcFile .. ":") .. tostring(data)
25
+ end
26
+ return (tostring(data.file) .. ":") .. tostring(data.line)
27
+ end
28
+ return (file .. ":") .. line
29
+ end
30
+ local result = string.gsub(
31
+ trace,
32
+ "(%S+)%.lua:(%d+)",
33
+ function(file, line) return replacer(nil, file .. ".lua", file .. ".ts", line) end
34
+ )
35
+ local function stringReplacer(____, file, line)
36
+ local fileSourceMap = _G.__TS__sourcemap[file]
37
+ if fileSourceMap and fileSourceMap[line] then
38
+ local chunkName = __TS__Match(file, "%[string \"([^\"]+)\"%]")
39
+ local sourceName = string.gsub(chunkName, ".lua$", ".ts")
40
+ local data = fileSourceMap[line]
41
+ if type(data) == "number" then
42
+ return (sourceName .. ":") .. tostring(data)
43
+ end
44
+ return (tostring(data.file) .. ":") .. tostring(data.line)
45
+ end
46
+ return (file .. ":") .. line
47
+ end
48
+ result = string.gsub(
49
+ result,
50
+ "(%[string \"[^\"]+\"%]):(%d+)",
51
+ function(file, line) return stringReplacer(nil, file, line) end
52
+ )
53
+ return result
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,5 @@
1
+ local function __TS__SparseArrayNew(...)
2
+ local sparseArray = {unpack(arg)}
3
+ sparseArray.sparseLength = __TS__CountVarargs(unpack(arg))
4
+ return sparseArray
5
+ end
@@ -0,0 +1,9 @@
1
+ local function __TS__SparseArrayPush(sparseArray, ...)
2
+ local args = arg
3
+ local argsLen = __TS__CountVarargs(unpack(arg))
4
+ local listLen = sparseArray.sparseLength
5
+ for i = 1, argsLen do
6
+ sparseArray[listLen + i] = args[i]
7
+ end
8
+ sparseArray.sparseLength = listLen + argsLen
9
+ end
@@ -0,0 +1,3 @@
1
+ local function __TS__SparseArraySpread(sparseArray)
2
+ return unpack(nil, sparseArray, 1, sparseArray.sparseLength)
3
+ end
@@ -0,0 +1,15 @@
1
+ local function __TS__Spread(iterable)
2
+ local arr = {}
3
+ if type(iterable) == "string" then
4
+ for i = 0, string.len(iterable) - 1 do
5
+ arr[i + 1] = __TS__StringAccess(iterable, i)
6
+ end
7
+ else
8
+ local len = 0
9
+ for ____, item in __TS__Iterator(iterable) do
10
+ len = len + 1
11
+ arr[len] = item
12
+ end
13
+ end
14
+ return unpack(arr)
15
+ end
@@ -0,0 +1,5 @@
1
+ local function __TS__StringAccess(self, index)
2
+ if index >= 0 and index < string.len(self) then
3
+ return string.sub(self, index + 1, index + 1)
4
+ end
5
+ end
@@ -0,0 +1,10 @@
1
+ local function __TS__StringEndsWith(self, searchString, endPosition)
2
+ if endPosition == nil or endPosition > string.len(self) then
3
+ endPosition = string.len(self)
4
+ end
5
+ return string.sub(
6
+ self,
7
+ endPosition - string.len(searchString) + 1,
8
+ endPosition
9
+ ) == searchString
10
+ end
@@ -0,0 +1,26 @@
1
+ local function __TS__StringPadEnd(self, maxLength, fillString)
2
+ if fillString == nil then
3
+ fillString = " "
4
+ end
5
+ if maxLength ~= maxLength then
6
+ maxLength = 0
7
+ end
8
+ if maxLength == -(1 / 0) or maxLength == 1 / 0 then
9
+ error("Invalid string length", 0)
10
+ end
11
+ if string.len(self) >= maxLength or string.len(fillString) == 0 then
12
+ return self
13
+ end
14
+ maxLength = maxLength - string.len(self)
15
+ if maxLength > string.len(fillString) then
16
+ fillString = fillString .. string.rep(
17
+ fillString,
18
+ math.floor(maxLength / string.len(fillString))
19
+ )
20
+ end
21
+ return self .. string.sub(
22
+ fillString,
23
+ 1,
24
+ math.floor(maxLength)
25
+ )
26
+ end
@@ -0,0 +1,26 @@
1
+ local function __TS__StringPadStart(self, maxLength, fillString)
2
+ if fillString == nil then
3
+ fillString = " "
4
+ end
5
+ if maxLength ~= maxLength then
6
+ maxLength = 0
7
+ end
8
+ if maxLength == -(1 / 0) or maxLength == 1 / 0 then
9
+ error("Invalid string length", 0)
10
+ end
11
+ if string.len(self) >= maxLength or string.len(fillString) == 0 then
12
+ return self
13
+ end
14
+ maxLength = maxLength - string.len(self)
15
+ if maxLength > string.len(fillString) then
16
+ fillString = fillString .. string.rep(
17
+ fillString,
18
+ math.floor(maxLength / string.len(fillString))
19
+ )
20
+ end
21
+ return string.sub(
22
+ fillString,
23
+ 1,
24
+ math.floor(maxLength)
25
+ ) .. self
26
+ end
@@ -0,0 +1,42 @@
1
+ local __TS__StringReplaceAll
2
+ do
3
+ local sub = string.sub
4
+ local find = string.find
5
+ function __TS__StringReplaceAll(source, searchValue, replaceValue)
6
+ if type(replaceValue) == "string" then
7
+ local concat = table.concat(
8
+ __TS__StringSplit(source, searchValue),
9
+ replaceValue
10
+ )
11
+ if string.len(searchValue) == 0 then
12
+ return (replaceValue .. concat) .. replaceValue
13
+ end
14
+ return concat
15
+ end
16
+ local parts = {}
17
+ local partsIndex = 1
18
+ if string.len(searchValue) == 0 then
19
+ parts[1] = replaceValue(nil, "", 0, source)
20
+ partsIndex = 2
21
+ for i = 1, string.len(source) do
22
+ parts[partsIndex] = sub(source, i, i)
23
+ parts[partsIndex + 1] = replaceValue(nil, "", i, source)
24
+ partsIndex = partsIndex + 2
25
+ end
26
+ else
27
+ local currentPos = 1
28
+ while true do
29
+ local startPos, endPos = find(source, searchValue, currentPos, true)
30
+ if not startPos then
31
+ break
32
+ end
33
+ parts[partsIndex] = sub(source, currentPos, startPos - 1)
34
+ parts[partsIndex + 1] = replaceValue(nil, searchValue, startPos - 1, source)
35
+ partsIndex = partsIndex + 2
36
+ currentPos = endPos + 1
37
+ end
38
+ parts[partsIndex] = sub(source, currentPos)
39
+ end
40
+ return table.concat(parts)
41
+ end
42
+ end