typescript-to-lua 1.4.0 → 1.4.3

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 (78) hide show
  1. package/dist/CompilerOptions.d.ts +4 -1
  2. package/dist/LuaAST.d.ts +9 -7
  3. package/dist/LuaAST.js +19 -13
  4. package/dist/LuaLib.d.ts +2 -2
  5. package/dist/LuaLib.js +2 -2
  6. package/dist/LuaPrinter.js +10 -11
  7. package/dist/cli/parse.js +5 -0
  8. package/dist/index.d.ts +1 -1
  9. package/dist/lualib/ArrayConcat.lua +16 -12
  10. package/dist/lualib/ArrayEvery.lua +4 -8
  11. package/dist/lualib/ArrayFilter.lua +6 -8
  12. package/dist/lualib/ArrayFind.lua +4 -7
  13. package/dist/lualib/ArrayFindIndex.lua +4 -9
  14. package/dist/lualib/ArrayFlat.lua +17 -7
  15. package/dist/lualib/ArrayFlatMap.lua +11 -10
  16. package/dist/lualib/ArrayForEach.lua +3 -7
  17. package/dist/lualib/ArrayFrom.lua +29 -0
  18. package/dist/lualib/ArrayIncludes.lua +2 -2
  19. package/dist/lualib/ArrayIndexOf.lua +13 -21
  20. package/dist/lualib/ArrayIsArray.lua +1 -1
  21. package/dist/lualib/ArrayJoin.lua +4 -7
  22. package/dist/lualib/ArrayMap.lua +5 -9
  23. package/dist/lualib/ArrayPush.lua +6 -4
  24. package/dist/lualib/ArrayPushArray.lua +8 -0
  25. package/dist/lualib/ArrayReduce.lua +8 -8
  26. package/dist/lualib/ArrayReduceRight.lua +8 -8
  27. package/dist/lualib/ArrayReverse.lua +7 -7
  28. package/dist/lualib/ArraySetLength.lua +3 -7
  29. package/dist/lualib/ArraySlice.lua +26 -19
  30. package/dist/lualib/ArraySome.lua +4 -8
  31. package/dist/lualib/ArraySort.lua +4 -4
  32. package/dist/lualib/ArraySplice.lua +47 -58
  33. package/dist/lualib/ArrayToObject.lua +3 -7
  34. package/dist/lualib/ArrayUnshift.lua +11 -8
  35. package/dist/lualib/FunctionBind.lua +5 -11
  36. package/dist/lualib/ObjectAssign.lua +5 -7
  37. package/dist/lualib/ObjectEntries.lua +3 -1
  38. package/dist/lualib/ObjectKeys.lua +3 -1
  39. package/dist/lualib/ObjectValues.lua +3 -1
  40. package/dist/lualib/Promise.lua +8 -7
  41. package/dist/lualib/PromiseAny.lua +3 -3
  42. package/dist/lualib/PromiseRace.lua +1 -1
  43. package/dist/lualib/Spread.lua +5 -7
  44. package/dist/lualib/StringReplace.lua +17 -14
  45. package/dist/lualib/StringReplaceAll.lua +36 -29
  46. package/dist/lualib/StringSplit.lua +32 -32
  47. package/dist/lualib/lualib_bundle.lua +425 -421
  48. package/dist/lualib/lualib_module_info.json +21 -22
  49. package/dist/transformation/builtins/array.d.ts +2 -2
  50. package/dist/transformation/builtins/array.js +40 -2
  51. package/dist/transformation/builtins/promise.d.ts +1 -0
  52. package/dist/transformation/builtins/promise.js +2 -1
  53. package/dist/transformation/builtins/string.js +1 -1
  54. package/dist/transformation/utils/diagnostics.d.ts +7 -2
  55. package/dist/transformation/utils/diagnostics.js +4 -1
  56. package/dist/transformation/utils/lua-ast.d.ts +1 -0
  57. package/dist/transformation/utils/lua-ast.js +6 -2
  58. package/dist/transformation/utils/typescript/index.d.ts +1 -0
  59. package/dist/transformation/utils/typescript/index.js +9 -1
  60. package/dist/transformation/visitors/call.js +4 -0
  61. package/dist/transformation/visitors/class/index.js +1 -1
  62. package/dist/transformation/visitors/class/members/accessors.js +1 -1
  63. package/dist/transformation/visitors/class/members/constructor.js +1 -1
  64. package/dist/transformation/visitors/errors.js +4 -2
  65. package/dist/transformation/visitors/function.js +4 -4
  66. package/dist/transformation/visitors/modules/import.d.ts +1 -0
  67. package/dist/transformation/visitors/modules/import.js +9 -1
  68. package/dist/transformation/visitors/spread.js +1 -7
  69. package/dist/transpilation/plugins.d.ts +10 -3
  70. package/dist/transpilation/plugins.js +6 -2
  71. package/dist/transpilation/resolve.js +1 -0
  72. package/dist/transpilation/transpile.d.ts +1 -1
  73. package/dist/transpilation/transpile.js +1 -6
  74. package/dist/transpilation/transpiler.js +19 -9
  75. package/dist/transpilation/utils.d.ts +2 -0
  76. package/package.json +1 -1
  77. package/dist/lualib/ArrayShift.lua +0 -3
  78. package/dist/lualib/StringConcat.lua +0 -8
@@ -1,36 +1,36 @@
1
- local function __TS__StringSplit(source, separator, limit)
2
- if limit == nil then
3
- limit = 4294967295
4
- end
5
- if limit == 0 then
6
- return {}
7
- end
8
- local out = {}
9
- local index = 0
10
- local count = 0
11
- if separator == nil or separator == "" then
12
- while index < #source - 1 and count < limit do
13
- out[count + 1] = __TS__StringAccess(source, index)
14
- count = count + 1
15
- index = index + 1
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
16
8
  end
17
- else
18
- local separatorLength = #separator
19
- local nextIndex = (string.find(source, separator, nil, true) or 0) - 1
20
- while nextIndex >= 0 and count < limit do
21
- out[count + 1] = __TS__StringSubstring(source, index, nextIndex)
22
- count = count + 1
23
- index = nextIndex + separatorLength
24
- nextIndex = (string.find(
25
- source,
26
- separator,
27
- math.max(index + 1, 1),
28
- true
29
- ) or 0) - 1
9
+ if limit == 0 then
10
+ return {}
30
11
  end
12
+ local result = {}
13
+ local resultIndex = 1
14
+ if separator == nil or separator == "" then
15
+ for i = 1, #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
31
35
  end
32
- if count < limit then
33
- out[count + 1] = __TS__StringSubstring(source, index)
34
- end
35
- return out
36
36
  end