typescript-to-lua 1.8.1 → 1.10.0-beta.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 (252) 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/5.0/ArrayEntries.lua +13 -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/5.0/ArrayIsArray.lua +3 -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/5.0/ArraySort.lua +11 -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/5.0/Await.lua +54 -0
  37. package/dist/lualib/5.0/Class.lua +6 -0
  38. package/dist/lualib/5.0/ClassExtends.lua +24 -0
  39. package/dist/lualib/5.0/CloneDescriptor.lua +28 -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/5.0/DecorateParam.lua +3 -0
  43. package/dist/lualib/5.0/DelegatedYield.lua +34 -0
  44. package/dist/lualib/5.0/Delete.lua +19 -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/5.0/InstanceOf.lua +18 -0
  49. package/dist/lualib/5.0/InstanceOfObject.lua +4 -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/5.0/Map.lua +140 -0
  53. package/dist/lualib/5.0/Match.lua +13 -0
  54. package/dist/lualib/5.0/MathAtan2.lua +1 -0
  55. package/dist/lualib/5.0/MathModf.lua +10 -0
  56. package/dist/lualib/5.0/MathSign.lua +8 -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/5.0/NumberIsNaN.lua +3 -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/5.0/ObjectDefineProperty.lua +59 -0
  65. package/dist/lualib/5.0/ObjectEntries.lua +9 -0
  66. package/dist/lualib/5.0/ObjectFromEntries.lua +20 -0
  67. package/dist/lualib/5.0/ObjectGetOwnPropertyDescriptor.lua +10 -0
  68. package/dist/lualib/5.0/ObjectGetOwnPropertyDescriptors.lua +7 -0
  69. package/dist/lualib/5.0/ObjectKeys.lua +9 -0
  70. package/dist/lualib/5.0/ObjectRest.lua +9 -0
  71. package/dist/lualib/5.0/ObjectValues.lua +9 -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/5.0/PromiseAll.lua +44 -0
  76. package/dist/lualib/5.0/PromiseAllSettled.lua +48 -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/5.0/Set.lua +130 -0
  80. package/dist/lualib/5.0/SetDescriptor.lua +79 -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/5.0/StringCharAt.lua +9 -0
  88. package/dist/lualib/5.0/StringCharCodeAt.lua +13 -0
  89. package/dist/lualib/5.0/StringEndsWith.lua +10 -0
  90. package/dist/lualib/5.0/StringIncludes.lua +9 -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/5.0/StringReplace.lua +20 -0
  94. package/dist/lualib/5.0/StringReplaceAll.lua +42 -0
  95. package/dist/lualib/5.0/StringSlice.lua +15 -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/5.0/StringSubstr.lua +15 -0
  99. package/dist/lualib/5.0/StringSubstring.lua +17 -0
  100. package/dist/lualib/5.0/StringTrim.lua +4 -0
  101. package/dist/lualib/5.0/StringTrimEnd.lua +4 -0
  102. package/dist/lualib/5.0/StringTrimStart.lua +4 -0
  103. package/dist/lualib/5.0/Symbol.lua +15 -0
  104. package/dist/lualib/5.0/SymbolRegistry.lua +17 -0
  105. package/dist/lualib/5.0/TypeOf.lua +10 -0
  106. package/dist/lualib/5.0/Unpack.lua +1 -0
  107. package/dist/lualib/5.0/WeakMap.lua +45 -0
  108. package/dist/lualib/5.0/WeakSet.lua +41 -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/universal/ArrayConcat.lua +22 -0
  112. package/dist/lualib/universal/ArrayEntries.lua +13 -0
  113. package/dist/lualib/universal/ArrayEvery.lua +8 -0
  114. package/dist/lualib/universal/ArrayFilter.lua +11 -0
  115. package/dist/lualib/universal/ArrayFind.lua +9 -0
  116. package/dist/lualib/universal/ArrayFindIndex.lua +8 -0
  117. package/dist/lualib/universal/ArrayFlat.lua +27 -0
  118. package/dist/lualib/universal/ArrayFlatMap.lua +17 -0
  119. package/dist/lualib/universal/ArrayForEach.lua +5 -0
  120. package/dist/lualib/universal/ArrayFrom.lua +29 -0
  121. package/dist/lualib/universal/ArrayIncludes.lua +19 -0
  122. package/dist/lualib/universal/ArrayIndexOf.lua +24 -0
  123. package/dist/lualib/universal/ArrayIsArray.lua +3 -0
  124. package/dist/lualib/universal/ArrayJoin.lua +10 -0
  125. package/dist/lualib/universal/ArrayMap.lua +7 -0
  126. package/dist/lualib/universal/ArrayPush.lua +9 -0
  127. package/dist/lualib/universal/ArrayPushArray.lua +8 -0
  128. package/dist/lualib/universal/ArrayReduce.lua +23 -0
  129. package/dist/lualib/universal/ArrayReduceRight.lua +23 -0
  130. package/dist/lualib/universal/ArrayReverse.lua +12 -0
  131. package/dist/lualib/universal/ArraySetLength.lua +12 -0
  132. package/dist/lualib/universal/ArraySlice.lua +43 -0
  133. package/dist/lualib/universal/ArraySome.lua +8 -0
  134. package/dist/lualib/universal/ArraySort.lua +11 -0
  135. package/dist/lualib/universal/ArraySplice.lua +77 -0
  136. package/dist/lualib/universal/ArrayToObject.lua +7 -0
  137. package/dist/lualib/universal/ArrayUnshift.lua +14 -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/universal/Decorate.lua +36 -0
  144. package/dist/lualib/universal/DecorateParam.lua +3 -0
  145. package/dist/lualib/universal/DelegatedYield.lua +34 -0
  146. package/dist/lualib/universal/Delete.lua +19 -0
  147. package/dist/lualib/universal/Error.lua +82 -0
  148. package/dist/lualib/universal/FunctionBind.lua +11 -0
  149. package/dist/lualib/universal/Generator.lua +31 -0
  150. package/dist/lualib/universal/InstanceOf.lua +18 -0
  151. package/dist/lualib/universal/InstanceOfObject.lua +4 -0
  152. package/dist/lualib/universal/Iterator.lua +40 -0
  153. package/dist/lualib/universal/LuaIteratorSpread.lua +9 -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/universal/New.lua +5 -0
  161. package/dist/lualib/universal/Number.lua +26 -0
  162. package/dist/lualib/universal/NumberIsFinite.lua +3 -0
  163. package/dist/lualib/universal/NumberIsNaN.lua +3 -0
  164. package/dist/lualib/universal/NumberToString.lua +44 -0
  165. package/dist/lualib/universal/ObjectAssign.lua +10 -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/universal/ParseFloat.lua +18 -0
  175. package/dist/lualib/universal/ParseInt.lua +43 -0
  176. package/dist/lualib/universal/Promise.lua +176 -0
  177. package/dist/lualib/universal/PromiseAll.lua +44 -0
  178. package/dist/lualib/universal/PromiseAllSettled.lua +48 -0
  179. package/dist/lualib/universal/PromiseAny.lua +41 -0
  180. package/dist/lualib/universal/PromiseRace.lua +28 -0
  181. package/dist/lualib/universal/Set.lua +130 -0
  182. package/dist/lualib/universal/SetDescriptor.lua +79 -0
  183. package/dist/lualib/universal/SourceMapTraceBack.lua +56 -0
  184. package/dist/lualib/universal/SparseArrayNew.lua +5 -0
  185. package/dist/lualib/universal/SparseArrayPush.lua +9 -0
  186. package/dist/lualib/universal/SparseArraySpread.lua +8 -0
  187. package/dist/lualib/universal/Spread.lua +15 -0
  188. package/dist/lualib/universal/StringAccess.lua +5 -0
  189. package/dist/lualib/universal/StringCharAt.lua +9 -0
  190. package/dist/lualib/universal/StringCharCodeAt.lua +13 -0
  191. package/dist/lualib/universal/StringEndsWith.lua +6 -0
  192. package/dist/lualib/universal/StringIncludes.lua +9 -0
  193. package/dist/lualib/universal/StringPadEnd.lua +26 -0
  194. package/dist/lualib/universal/StringPadStart.lua +26 -0
  195. package/dist/lualib/universal/StringReplace.lua +20 -0
  196. package/dist/lualib/universal/StringReplaceAll.lua +42 -0
  197. package/dist/lualib/universal/StringSlice.lua +15 -0
  198. package/dist/lualib/universal/StringSplit.lua +36 -0
  199. package/dist/lualib/universal/StringStartsWith.lua +6 -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/universal/Unpack.lua +1 -0
  209. package/dist/lualib/universal/WeakMap.lua +45 -0
  210. package/dist/lualib/universal/WeakSet.lua +41 -0
  211. package/dist/lualib/universal/lualib_bundle.lua +2534 -0
  212. package/dist/lualib/universal/lualib_module_info.json +671 -0
  213. package/dist/lualib/universal/universal/CountVarargs.lua +3 -0
  214. package/dist/lualib/universal/universal/Match.lua +1 -0
  215. package/dist/lualib/universal/universal/MathModf.lua +1 -0
  216. package/dist/lualib/universal/universal/SparseArraySpread.lua +8 -0
  217. package/dist/lualib/universal/universal/Unpack.lua +1 -0
  218. package/dist/lualib-build/plugin.js +12 -2
  219. package/dist/transformation/builtins/array.d.ts +1 -1
  220. package/dist/transformation/builtins/array.js +12 -2
  221. package/dist/transformation/builtins/function.js +4 -2
  222. package/dist/transformation/builtins/index.js +28 -10
  223. package/dist/transformation/builtins/string.d.ts +1 -1
  224. package/dist/transformation/builtins/string.js +8 -1
  225. package/dist/transformation/utils/diagnostics.d.ts +5 -4
  226. package/dist/transformation/utils/diagnostics.js +2 -1
  227. package/dist/transformation/utils/lua-ast.js +3 -1
  228. package/dist/transformation/utils/typescript/index.js +2 -2
  229. package/dist/transformation/visitors/access.js +11 -0
  230. package/dist/transformation/visitors/binary-expression/bit.js +4 -2
  231. package/dist/transformation/visitors/binary-expression/index.js +4 -0
  232. package/dist/transformation/visitors/break-continue.js +4 -2
  233. package/dist/transformation/visitors/class/index.js +9 -4
  234. package/dist/transformation/visitors/class/members/fields.js +6 -2
  235. package/dist/transformation/visitors/class/members/method.js +4 -2
  236. package/dist/transformation/visitors/conditional.d.ts +1 -0
  237. package/dist/transformation/visitors/conditional.js +12 -1
  238. package/dist/transformation/visitors/errors.js +4 -2
  239. package/dist/transformation/visitors/function.js +2 -1
  240. package/dist/transformation/visitors/identifier.js +4 -1
  241. package/dist/transformation/visitors/language-extensions/multi.js +3 -1
  242. package/dist/transformation/visitors/language-extensions/operators.js +2 -1
  243. package/dist/transformation/visitors/literal.js +12 -4
  244. package/dist/transformation/visitors/loops/do-while.js +5 -0
  245. package/dist/transformation/visitors/modules/export.js +1 -1
  246. package/dist/transformation/visitors/return.js +12 -7
  247. package/dist/transformation/visitors/spread.js +4 -1
  248. package/dist/transformation/visitors/typescript.js +1 -0
  249. package/dist/transpilation/bundle.js +15 -6
  250. package/dist/transpilation/transpiler.js +3 -1
  251. package/package.json +18 -18
  252. package/language-extensions/index.d.ts +0 -676
@@ -0,0 +1,9 @@
1
+ local function __TS__StringIncludes(self, searchString, position)
2
+ if not position then
3
+ position = 1
4
+ else
5
+ position = position + 1
6
+ end
7
+ local index = string.find(self, searchString, position, true)
8
+ return index ~= nil
9
+ 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,20 @@
1
+ local __TS__StringReplace
2
+ do
3
+ local sub = string.sub
4
+ function __TS__StringReplace(source, searchValue, replaceValue)
5
+ local startPos, endPos = string.find(source, searchValue, nil, true)
6
+ if not startPos then
7
+ return source
8
+ end
9
+ local before = sub(source, 1, startPos - 1)
10
+ local ____temp_0
11
+ if type(replaceValue) == "string" then
12
+ ____temp_0 = replaceValue
13
+ else
14
+ ____temp_0 = replaceValue(nil, searchValue, startPos - 1, source)
15
+ end
16
+ local replacement = ____temp_0
17
+ local after = sub(source, endPos + 1)
18
+ return (before .. replacement) .. after
19
+ end
20
+ 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
@@ -0,0 +1,15 @@
1
+ local function __TS__StringSlice(self, start, ____end)
2
+ if start == nil or start ~= start then
3
+ start = 0
4
+ end
5
+ if ____end ~= ____end then
6
+ ____end = 0
7
+ end
8
+ if start >= 0 then
9
+ start = start + 1
10
+ end
11
+ if ____end ~= nil and ____end < 0 then
12
+ ____end = ____end - 1
13
+ end
14
+ return string.sub(self, start, ____end)
15
+ end
@@ -0,0 +1,36 @@
1
+ local __TS__StringSplit
2
+ do
3
+ local sub = string.sub
4
+ local find = string.find
5
+ function __TS__StringSplit(source, separator, limit)
6
+ if limit == nil then
7
+ limit = 4294967295
8
+ end
9
+ if limit == 0 then
10
+ return {}
11
+ end
12
+ local result = {}
13
+ local resultIndex = 1
14
+ if separator == nil or separator == "" then
15
+ for i = 1, string.len(source) do
16
+ result[resultIndex] = sub(source, i, i)
17
+ resultIndex = resultIndex + 1
18
+ end
19
+ else
20
+ local currentPos = 1
21
+ while resultIndex <= limit do
22
+ local startPos, endPos = find(source, separator, currentPos, true)
23
+ if not startPos then
24
+ break
25
+ end
26
+ result[resultIndex] = sub(source, currentPos, startPos - 1)
27
+ resultIndex = resultIndex + 1
28
+ currentPos = endPos + 1
29
+ end
30
+ if resultIndex <= limit then
31
+ result[resultIndex] = sub(source, currentPos)
32
+ end
33
+ end
34
+ return result
35
+ end
36
+ end
@@ -0,0 +1,10 @@
1
+ local function __TS__StringStartsWith(self, searchString, position)
2
+ if position == nil or position < 0 then
3
+ position = 0
4
+ end
5
+ return string.sub(
6
+ self,
7
+ position + 1,
8
+ string.len(searchString) + position
9
+ ) == searchString
10
+ end
@@ -0,0 +1,15 @@
1
+ local function __TS__StringSubstr(self, from, length)
2
+ if from ~= from then
3
+ from = 0
4
+ end
5
+ if length ~= nil then
6
+ if length ~= length or length <= 0 then
7
+ return ""
8
+ end
9
+ length = length + from
10
+ end
11
+ if from >= 0 then
12
+ from = from + 1
13
+ end
14
+ return string.sub(self, from, length)
15
+ end
@@ -0,0 +1,17 @@
1
+ local function __TS__StringSubstring(self, start, ____end)
2
+ if ____end ~= ____end then
3
+ ____end = 0
4
+ end
5
+ if ____end ~= nil and start > ____end then
6
+ start, ____end = ____end, start
7
+ end
8
+ if start >= 0 then
9
+ start = start + 1
10
+ else
11
+ start = 1
12
+ end
13
+ if ____end ~= nil and ____end < 0 then
14
+ ____end = 0
15
+ end
16
+ return string.sub(self, start, ____end)
17
+ end
@@ -0,0 +1,4 @@
1
+ local function __TS__StringTrim(self)
2
+ local result = string.gsub(self, "^[%s ]*(.-)[%s ]*$", "%1")
3
+ return result
4
+ end
@@ -0,0 +1,4 @@
1
+ local function __TS__StringTrimEnd(self)
2
+ local result = string.gsub(self, "[%s ]*$", "")
3
+ return result
4
+ end
@@ -0,0 +1,4 @@
1
+ local function __TS__StringTrimStart(self)
2
+ local result = string.gsub(self, "^[%s ]*", "")
3
+ return result
4
+ end
@@ -0,0 +1,15 @@
1
+ local __TS__Symbol, Symbol
2
+ do
3
+ local symbolMetatable = {__tostring = function(self)
4
+ return ("Symbol(" .. (self.description or "")) .. ")"
5
+ end}
6
+ function __TS__Symbol(description)
7
+ return setmetatable({description = description}, symbolMetatable)
8
+ end
9
+ Symbol = {
10
+ iterator = __TS__Symbol("Symbol.iterator"),
11
+ hasInstance = __TS__Symbol("Symbol.hasInstance"),
12
+ species = __TS__Symbol("Symbol.species"),
13
+ toStringTag = __TS__Symbol("Symbol.toStringTag")
14
+ }
15
+ end
@@ -0,0 +1,17 @@
1
+ local __TS__SymbolRegistryFor, __TS__SymbolRegistryKeyFor
2
+ do
3
+ local symbolRegistry = {}
4
+ function __TS__SymbolRegistryFor(key)
5
+ if not symbolRegistry[key] then
6
+ symbolRegistry[key] = __TS__Symbol(key)
7
+ end
8
+ return symbolRegistry[key]
9
+ end
10
+ function __TS__SymbolRegistryKeyFor(sym)
11
+ for key in pairs(symbolRegistry) do
12
+ if symbolRegistry[key] == sym then
13
+ return key
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,10 @@
1
+ local function __TS__TypeOf(value)
2
+ local luaType = type(value)
3
+ if luaType == "table" then
4
+ return "object"
5
+ elseif luaType == "nil" then
6
+ return "undefined"
7
+ else
8
+ return luaType
9
+ end
10
+ end
@@ -0,0 +1 @@
1
+ local __TS__Unpack = unpack
@@ -0,0 +1,45 @@
1
+ local WeakMap
2
+ do
3
+ WeakMap = __TS__Class()
4
+ WeakMap.name = "WeakMap"
5
+ function WeakMap.prototype.____constructor(self, entries)
6
+ self[Symbol.toStringTag] = "WeakMap"
7
+ self.items = {}
8
+ setmetatable(self.items, {__mode = "k"})
9
+ if entries == nil then
10
+ return
11
+ end
12
+ local iterable = entries
13
+ if iterable[Symbol.iterator] then
14
+ local iterator = iterable[Symbol.iterator](iterable)
15
+ while true do
16
+ local result = iterator:next()
17
+ if result.done then
18
+ break
19
+ end
20
+ local value = result.value
21
+ self.items[value[1]] = value[2]
22
+ end
23
+ else
24
+ for ____, kvp in ipairs(entries) do
25
+ self.items[kvp[1]] = kvp[2]
26
+ end
27
+ end
28
+ end
29
+ function WeakMap.prototype.delete(self, key)
30
+ local contains = self:has(key)
31
+ self.items[key] = nil
32
+ return contains
33
+ end
34
+ function WeakMap.prototype.get(self, key)
35
+ return self.items[key]
36
+ end
37
+ function WeakMap.prototype.has(self, key)
38
+ return self.items[key] ~= nil
39
+ end
40
+ function WeakMap.prototype.set(self, key, value)
41
+ self.items[key] = value
42
+ return self
43
+ end
44
+ WeakMap[Symbol.species] = WeakMap
45
+ end
@@ -0,0 +1,41 @@
1
+ local WeakSet
2
+ do
3
+ WeakSet = __TS__Class()
4
+ WeakSet.name = "WeakSet"
5
+ function WeakSet.prototype.____constructor(self, values)
6
+ self[Symbol.toStringTag] = "WeakSet"
7
+ self.items = {}
8
+ setmetatable(self.items, {__mode = "k"})
9
+ if values == nil then
10
+ return
11
+ end
12
+ local iterable = values
13
+ if iterable[Symbol.iterator] then
14
+ local iterator = iterable[Symbol.iterator](iterable)
15
+ while true do
16
+ local result = iterator:next()
17
+ if result.done then
18
+ break
19
+ end
20
+ self.items[result.value] = true
21
+ end
22
+ else
23
+ for ____, value in ipairs(values) do
24
+ self.items[value] = true
25
+ end
26
+ end
27
+ end
28
+ function WeakSet.prototype.add(self, value)
29
+ self.items[value] = true
30
+ return self
31
+ end
32
+ function WeakSet.prototype.delete(self, value)
33
+ local contains = self:has(value)
34
+ self.items[value] = nil
35
+ return contains
36
+ end
37
+ function WeakSet.prototype.has(self, value)
38
+ return self.items[value] == true
39
+ end
40
+ WeakSet[Symbol.species] = WeakSet
41
+ end