typescript-to-lua 1.3.3 → 1.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (139) hide show
  1. package/dist/CompilerOptions.d.ts +1 -1
  2. package/dist/CompilerOptions.js +0 -1
  3. package/dist/LuaLib.d.ts +13 -1
  4. package/dist/LuaLib.js +62 -65
  5. package/dist/LuaPrinter.js +13 -12
  6. package/dist/cli/parse.js +5 -0
  7. package/dist/index.d.ts +1 -0
  8. package/dist/index.js +5 -1
  9. package/dist/lualib/ArrayConcat.lua +1 -1
  10. package/dist/lualib/ArrayEntries.lua +1 -1
  11. package/dist/lualib/ArrayEvery.lua +2 -2
  12. package/dist/lualib/ArrayFilter.lua +2 -2
  13. package/dist/lualib/ArrayFind.lua +2 -2
  14. package/dist/lualib/ArrayFindIndex.lua +2 -2
  15. package/dist/lualib/ArrayFlat.lua +1 -1
  16. package/dist/lualib/ArrayFlatMap.lua +2 -2
  17. package/dist/lualib/ArrayForEach.lua +2 -2
  18. package/dist/lualib/ArrayFrom.lua +32 -0
  19. package/dist/lualib/ArrayIncludes.lua +1 -1
  20. package/dist/lualib/ArrayIndexOf.lua +1 -1
  21. package/dist/lualib/ArrayIsArray.lua +1 -1
  22. package/dist/lualib/ArrayJoin.lua +1 -1
  23. package/dist/lualib/ArrayMap.lua +2 -2
  24. package/dist/lualib/ArrayPush.lua +1 -1
  25. package/dist/lualib/ArrayReduce.lua +2 -2
  26. package/dist/lualib/ArrayReduceRight.lua +2 -2
  27. package/dist/lualib/ArrayReverse.lua +1 -1
  28. package/dist/lualib/ArraySetLength.lua +1 -1
  29. package/dist/lualib/ArrayShift.lua +1 -1
  30. package/dist/lualib/ArraySlice.lua +1 -1
  31. package/dist/lualib/ArraySome.lua +2 -2
  32. package/dist/lualib/ArraySort.lua +2 -2
  33. package/dist/lualib/ArraySplice.lua +1 -1
  34. package/dist/lualib/ArrayToObject.lua +1 -1
  35. package/dist/lualib/ArrayUnshift.lua +1 -1
  36. package/dist/lualib/Await.lua +13 -13
  37. package/dist/lualib/Class.lua +1 -1
  38. package/dist/lualib/ClassExtends.lua +1 -1
  39. package/dist/lualib/CloneDescriptor.lua +1 -1
  40. package/dist/lualib/Decorate.lua +5 -5
  41. package/dist/lualib/DecorateParam.lua +2 -2
  42. package/dist/lualib/DelegatedYield.lua +1 -1
  43. package/dist/lualib/Delete.lua +1 -1
  44. package/dist/lualib/Error.lua +68 -69
  45. package/dist/lualib/FunctionBind.lua +1 -1
  46. package/dist/lualib/Generator.lua +26 -23
  47. package/dist/lualib/InstanceOf.lua +1 -1
  48. package/dist/lualib/InstanceOfObject.lua +1 -1
  49. package/dist/lualib/Iterator.lua +35 -32
  50. package/dist/lualib/Map.lua +131 -129
  51. package/dist/lualib/MathAtan2.lua +1 -1
  52. package/dist/lualib/MathSign.lua +1 -1
  53. package/dist/lualib/New.lua +1 -1
  54. package/dist/lualib/Number.lua +1 -1
  55. package/dist/lualib/NumberIsFinite.lua +1 -1
  56. package/dist/lualib/NumberIsNaN.lua +1 -1
  57. package/dist/lualib/NumberToString.lua +42 -39
  58. package/dist/lualib/ObjectAssign.lua +1 -1
  59. package/dist/lualib/ObjectDefineProperty.lua +1 -1
  60. package/dist/lualib/ObjectEntries.lua +1 -1
  61. package/dist/lualib/ObjectFromEntries.lua +1 -1
  62. package/dist/lualib/ObjectGetOwnPropertyDescriptor.lua +1 -1
  63. package/dist/lualib/ObjectGetOwnPropertyDescriptors.lua +1 -1
  64. package/dist/lualib/ObjectKeys.lua +1 -1
  65. package/dist/lualib/ObjectRest.lua +1 -1
  66. package/dist/lualib/ObjectValues.lua +1 -1
  67. package/dist/lualib/ParseFloat.lua +1 -1
  68. package/dist/lualib/ParseInt.lua +39 -36
  69. package/dist/lualib/Promise.lua +148 -152
  70. package/dist/lualib/PromiseAll.lua +5 -5
  71. package/dist/lualib/PromiseAllSettled.lua +5 -5
  72. package/dist/lualib/PromiseAny.lua +5 -5
  73. package/dist/lualib/PromiseRace.lua +5 -5
  74. package/dist/lualib/Set.lua +120 -118
  75. package/dist/lualib/SetDescriptor.lua +67 -64
  76. package/dist/lualib/SourceMapTraceBack.lua +7 -6
  77. package/dist/lualib/SparseArrayNew.lua +1 -1
  78. package/dist/lualib/SparseArrayPush.lua +1 -1
  79. package/dist/lualib/SparseArraySpread.lua +1 -1
  80. package/dist/lualib/Spread.lua +1 -1
  81. package/dist/lualib/StringAccess.lua +1 -1
  82. package/dist/lualib/StringCharAt.lua +1 -1
  83. package/dist/lualib/StringCharCodeAt.lua +1 -1
  84. package/dist/lualib/StringConcat.lua +1 -1
  85. package/dist/lualib/StringEndsWith.lua +1 -1
  86. package/dist/lualib/StringIncludes.lua +1 -1
  87. package/dist/lualib/StringPadEnd.lua +1 -1
  88. package/dist/lualib/StringPadStart.lua +1 -1
  89. package/dist/lualib/StringReplace.lua +2 -2
  90. package/dist/lualib/StringReplaceAll.lua +4 -4
  91. package/dist/lualib/StringSlice.lua +1 -1
  92. package/dist/lualib/StringSplit.lua +1 -1
  93. package/dist/lualib/StringStartsWith.lua +1 -1
  94. package/dist/lualib/StringSubstr.lua +1 -1
  95. package/dist/lualib/StringSubstring.lua +1 -1
  96. package/dist/lualib/StringTrim.lua +1 -1
  97. package/dist/lualib/StringTrimEnd.lua +1 -1
  98. package/dist/lualib/StringTrimStart.lua +1 -1
  99. package/dist/lualib/Symbol.lua +14 -11
  100. package/dist/lualib/SymbolRegistry.lua +13 -10
  101. package/dist/lualib/TypeOf.lua +1 -1
  102. package/dist/lualib/Unpack.lua +1 -1
  103. package/dist/lualib/WeakMap.lua +41 -39
  104. package/dist/lualib/WeakSet.lua +37 -35
  105. package/dist/lualib/lualib_bundle.lua +1096 -932
  106. package/dist/lualib/lualib_module_info.json +628 -0
  107. package/dist/lualib-build/plugin.d.ts +23 -0
  108. package/dist/lualib-build/plugin.js +138 -0
  109. package/dist/lualib-build/util.d.ts +19 -0
  110. package/dist/lualib-build/util.js +43 -0
  111. package/dist/transformation/builtins/array.d.ts +1 -1
  112. package/dist/transformation/builtins/array.js +5 -0
  113. package/dist/transformation/builtins/function.js +2 -1
  114. package/dist/transformation/builtins/index.d.ts +1 -0
  115. package/dist/transformation/builtins/index.js +63 -16
  116. package/dist/transformation/context/index.js +5 -1
  117. package/dist/transformation/utils/diagnostics.d.ts +3 -0
  118. package/dist/transformation/utils/diagnostics.js +2 -1
  119. package/dist/transformation/utils/typescript/index.js +5 -1
  120. package/dist/transformation/utils/typescript/types.d.ts +2 -0
  121. package/dist/transformation/utils/typescript/types.js +10 -1
  122. package/dist/transformation/visitors/class/index.js +1 -5
  123. package/dist/transformation/visitors/class/new.d.ts +1 -2
  124. package/dist/transformation/visitors/class/new.js +1 -40
  125. package/dist/transformation/visitors/conditional.js +15 -14
  126. package/dist/transformation/visitors/identifier.js +5 -0
  127. package/dist/transformation/visitors/literal.js +22 -0
  128. package/dist/transformation/visitors/modules/import.js +4 -14
  129. package/dist/transpilation/bundle.js +1 -1
  130. package/dist/transpilation/index.js +5 -1
  131. package/dist/transpilation/plugins.d.ts +19 -1
  132. package/dist/transpilation/plugins.js +6 -2
  133. package/dist/transpilation/resolve.js +2 -2
  134. package/dist/transpilation/transpile.d.ts +1 -1
  135. package/dist/transpilation/transpile.js +13 -5
  136. package/dist/transpilation/transpiler.js +25 -11
  137. package/dist/transpilation/utils.d.ts +2 -0
  138. package/package.json +12 -11
  139. package/CHANGELOG.md +0 -703
@@ -1,4 +1,4 @@
1
- function __TS__AsyncAwaiter(generator)
1
+ local function __TS__AsyncAwaiter(generator)
2
2
  return __TS__New(
3
3
  __TS__Promise,
4
4
  function(____, resolve, reject)
@@ -15,9 +15,9 @@ function __TS__AsyncAwaiter(generator)
15
15
  function fulfilled(self, value)
16
16
  local success, errorOrErrorHandler, resultOrError = coroutine.resume(asyncCoroutine, value)
17
17
  if success then
18
- step(_G, resultOrError, errorOrErrorHandler)
18
+ step(nil, resultOrError, errorOrErrorHandler)
19
19
  else
20
- reject(_G, errorOrErrorHandler)
20
+ reject(nil, errorOrErrorHandler)
21
21
  end
22
22
  end
23
23
  function rejected(self, handler)
@@ -26,42 +26,42 @@ function __TS__AsyncAwaiter(generator)
26
26
  local success, hasReturnedOrError, returnedValue = pcall(handler, value)
27
27
  if success then
28
28
  if hasReturnedOrError then
29
- resolve(_G, returnedValue)
29
+ resolve(nil, returnedValue)
30
30
  else
31
- step(_G, hasReturnedOrError, handler)
31
+ step(nil, hasReturnedOrError, handler)
32
32
  end
33
33
  else
34
- reject(_G, hasReturnedOrError)
34
+ reject(nil, hasReturnedOrError)
35
35
  end
36
36
  end
37
37
  else
38
38
  return function(____, value)
39
- reject(_G, value)
39
+ reject(nil, value)
40
40
  end
41
41
  end
42
42
  end
43
43
  function step(self, result, errorHandler)
44
44
  if coroutine.status(asyncCoroutine) == "dead" then
45
- resolve(_G, result)
45
+ resolve(nil, result)
46
46
  else
47
- local ____self_1 = adopt(_G, result)
47
+ local ____self_1 = adopt(nil, result)
48
48
  ____self_1["then"](
49
49
  ____self_1,
50
50
  fulfilled,
51
- rejected(_G, errorHandler)
51
+ rejected(nil, errorHandler)
52
52
  )
53
53
  end
54
54
  end
55
55
  asyncCoroutine = coroutine.create(generator)
56
56
  local success, errorOrErrorHandler, resultOrError = coroutine.resume(asyncCoroutine)
57
57
  if success then
58
- step(_G, resultOrError, errorOrErrorHandler)
58
+ step(nil, resultOrError, errorOrErrorHandler)
59
59
  else
60
- reject(_G, errorOrErrorHandler)
60
+ reject(nil, errorOrErrorHandler)
61
61
  end
62
62
  end
63
63
  )
64
64
  end
65
- function __TS__Await(errorHandler, thing)
65
+ local function __TS__Await(errorHandler, thing)
66
66
  return coroutine.yield(errorHandler, thing)
67
67
  end
@@ -1,4 +1,4 @@
1
- function __TS__Class(self)
1
+ local function __TS__Class(self)
2
2
  local c = {prototype = {}}
3
3
  c.prototype.__index = c.prototype
4
4
  c.prototype.constructor = c
@@ -1,4 +1,4 @@
1
- function __TS__ClassExtends(target, base)
1
+ local function __TS__ClassExtends(target, base)
2
2
  target.____super = base
3
3
  local staticMetatable = setmetatable({__index = base}, base)
4
4
  setmetatable(target, staticMetatable)
@@ -1,4 +1,4 @@
1
- function __TS__CloneDescriptor(____bindingPattern0)
1
+ local function __TS__CloneDescriptor(____bindingPattern0)
2
2
  local value
3
3
  local writable
4
4
  local set
@@ -1,4 +1,4 @@
1
- function __TS__Decorate(decorators, target, key, desc)
1
+ local function __TS__Decorate(decorators, target, key, desc)
2
2
  local result = target
3
3
  do
4
4
  local i = #decorators
@@ -7,11 +7,11 @@ function __TS__Decorate(decorators, target, key, desc)
7
7
  if decorator then
8
8
  local oldResult = result
9
9
  if key == nil then
10
- result = decorator(_G, result)
10
+ result = decorator(nil, result)
11
11
  elseif desc == true then
12
12
  local value = rawget(target, key)
13
13
  local descriptor = __TS__ObjectGetOwnPropertyDescriptor(target, key) or ({configurable = true, writable = true, value = value})
14
- local desc = decorator(_G, target, key, descriptor) or descriptor
14
+ local desc = decorator(nil, target, key, descriptor) or descriptor
15
15
  local isSimpleValue = desc.configurable == true and desc.writable == true and not desc.get and not desc.set
16
16
  if isSimpleValue then
17
17
  rawset(target, key, desc.value)
@@ -23,9 +23,9 @@ function __TS__Decorate(decorators, target, key, desc)
23
23
  )
24
24
  end
25
25
  elseif desc == false then
26
- result = decorator(_G, target, key, desc)
26
+ result = decorator(nil, target, key, desc)
27
27
  else
28
- result = decorator(_G, target, key)
28
+ result = decorator(nil, target, key)
29
29
  end
30
30
  result = result or oldResult
31
31
  end
@@ -1,3 +1,3 @@
1
- function __TS__DecorateParam(paramIndex, decorator)
2
- return function(____, target, key) return decorator(_G, target, key, paramIndex) end
1
+ local function __TS__DecorateParam(paramIndex, decorator)
2
+ return function(____, target, key) return decorator(nil, target, key, paramIndex) end
3
3
  end
@@ -1,4 +1,4 @@
1
- function __TS__DelegatedYield(iterable)
1
+ local function __TS__DelegatedYield(iterable)
2
2
  if type(iterable) == "string" then
3
3
  for index = 0, #iterable - 1 do
4
4
  coroutine.yield(__TS__StringAccess(iterable, index))
@@ -1,4 +1,4 @@
1
- function __TS__Delete(target, key)
1
+ local function __TS__Delete(target, key)
2
2
  local descriptors = __TS__ObjectGetOwnPropertyDescriptors(target)
3
3
  local descriptor = descriptors[key]
4
4
  if descriptor then
@@ -1,78 +1,77 @@
1
- function __TS__GetErrorStack(self, constructor)
2
- local level = 1
3
- while true do
4
- local info = debug.getinfo(level, "f")
5
- level = level + 1
6
- if not info then
7
- level = 1
8
- break
9
- elseif info.func == constructor then
10
- break
1
+ local Error, RangeError, ReferenceError, SyntaxError, TypeError, URIError
2
+ do
3
+ local function getErrorStack(self, constructor)
4
+ local level = 1
5
+ while true do
6
+ local info = debug.getinfo(level, "f")
7
+ level = level + 1
8
+ if not info then
9
+ level = 1
10
+ break
11
+ elseif info.func == constructor then
12
+ break
13
+ end
11
14
  end
15
+ return debug.traceback(nil, level)
12
16
  end
13
- return debug.traceback(nil, level)
14
- end
15
- function __TS__WrapErrorToString(self, getDescription)
16
- return function(self)
17
- local description = getDescription(self)
18
- local caller = debug.getinfo(3, "f")
19
- if _VERSION == "Lua 5.1" or caller and caller.func ~= error then
20
- return description
21
- else
22
- return (tostring(description) .. "\n") .. self.stack
17
+ local function wrapErrorToString(self, getDescription)
18
+ return function(self)
19
+ local description = getDescription(self)
20
+ local caller = debug.getinfo(3, "f")
21
+ if _VERSION == "Lua 5.1" or caller and caller.func ~= error then
22
+ return description
23
+ else
24
+ return (tostring(description) .. "\n") .. self.stack
25
+ end
23
26
  end
24
27
  end
25
- end
26
- function __TS__InitErrorClass(self, Type, name)
27
- Type.name = name
28
- return setmetatable(
29
- Type,
30
- {__call = function(____, _self, message) return __TS__New(Type, message) end}
31
- )
32
- end
33
- local ____TS__InitErrorClass_3 = __TS__InitErrorClass
34
- local ____G_2 = _G
35
- ____class_0 = __TS__Class()
36
- ____class_0.name = ""
37
- function ____class_0.prototype.____constructor(self, message)
38
- if message == nil then
39
- message = ""
28
+ local function initErrorClass(self, Type, name)
29
+ Type.name = name
30
+ return setmetatable(
31
+ Type,
32
+ {__call = function(____, _self, message) return __TS__New(Type, message) end}
33
+ )
40
34
  end
41
- self.message = message
42
- self.name = "Error"
43
- self.stack = __TS__GetErrorStack(_G, self.constructor.new)
44
- local metatable = getmetatable(self)
45
- if not metatable.__errorToStringPatched then
46
- metatable.__errorToStringPatched = true
47
- metatable.__tostring = __TS__WrapErrorToString(_G, metatable.__tostring)
35
+ local ____initErrorClass_2 = initErrorClass
36
+ local ____class_0 = __TS__Class()
37
+ ____class_0.name = ""
38
+ function ____class_0.prototype.____constructor(self, message)
39
+ if message == nil then
40
+ message = ""
41
+ end
42
+ self.message = message
43
+ self.name = "Error"
44
+ self.stack = getErrorStack(nil, self.constructor.new)
45
+ local metatable = getmetatable(self)
46
+ if not metatable.__errorToStringPatched then
47
+ metatable.__errorToStringPatched = true
48
+ metatable.__tostring = wrapErrorToString(nil, metatable.__tostring)
49
+ end
48
50
  end
49
- end
50
- function ____class_0.prototype.__tostring(self)
51
- local ____temp_1
52
- if self.message ~= "" then
53
- ____temp_1 = (self.name .. ": ") .. self.message
54
- else
55
- ____temp_1 = self.name
51
+ function ____class_0.prototype.__tostring(self)
52
+ local ____temp_1
53
+ if self.message ~= "" then
54
+ ____temp_1 = (self.name .. ": ") .. self.message
55
+ else
56
+ ____temp_1 = self.name
57
+ end
58
+ return ____temp_1
56
59
  end
57
- return ____temp_1
58
- end
59
- Error = ____TS__InitErrorClass_3(____G_2, ____class_0, "Error")
60
- for ____, errorName in ipairs({
61
- "RangeError",
62
- "ReferenceError",
63
- "SyntaxError",
64
- "TypeError",
65
- "URIError"
66
- }) do
67
- local ____G_7 = _G
68
- local ____TS__InitErrorClass_6 = __TS__InitErrorClass
69
- local ____G_5 = _G
70
- local ____class_4 = __TS__Class()
71
- ____class_4.name = ____class_4.name
72
- __TS__ClassExtends(____class_4, Error)
73
- function ____class_4.prototype.____constructor(self, ...)
74
- Error.prototype.____constructor(self, ...)
75
- self.name = errorName
60
+ Error = ____initErrorClass_2(nil, ____class_0, "Error")
61
+ local function createErrorClass(self, name)
62
+ local ____initErrorClass_4 = initErrorClass
63
+ local ____class_3 = __TS__Class()
64
+ ____class_3.name = ____class_3.name
65
+ __TS__ClassExtends(____class_3, Error)
66
+ function ____class_3.prototype.____constructor(self, ...)
67
+ ____class_3.____super.prototype.____constructor(self, ...)
68
+ self.name = name
69
+ end
70
+ return ____initErrorClass_4(nil, ____class_3, name)
76
71
  end
77
- ____G_7[errorName] = ____TS__InitErrorClass_6(____G_5, ____class_4, errorName)
72
+ RangeError = createErrorClass(nil, "RangeError")
73
+ ReferenceError = createErrorClass(nil, "ReferenceError")
74
+ SyntaxError = createErrorClass(nil, "SyntaxError")
75
+ TypeError = createErrorClass(nil, "TypeError")
76
+ URIError = createErrorClass(nil, "URIError")
78
77
  end
@@ -1,4 +1,4 @@
1
- function __TS__FunctionBind(fn, thisArg, ...)
1
+ local function __TS__FunctionBind(fn, thisArg, ...)
2
2
  local boundArgs = {...}
3
3
  return function(____, ...)
4
4
  local args = {...}
@@ -1,28 +1,31 @@
1
- function __TS__GeneratorIterator(self)
2
- return self
3
- end
4
- function __TS__GeneratorNext(self, ...)
5
- local co = self.____coroutine
6
- if coroutine.status(co) == "dead" then
7
- return {done = true}
8
- end
9
- local status, value = coroutine.resume(co, ...)
10
- if not status then
11
- error(value, 0)
1
+ local __TS__Generator
2
+ do
3
+ local function generatorIterator(self)
4
+ return self
12
5
  end
13
- return {
14
- value = value,
15
- done = coroutine.status(co) == "dead"
16
- }
17
- end
18
- function __TS__Generator(fn)
19
- return function(...)
20
- local args = {...}
21
- local argsLength = select("#", ...)
6
+ local function generatorNext(self, ...)
7
+ local co = self.____coroutine
8
+ if coroutine.status(co) == "dead" then
9
+ return {done = true}
10
+ end
11
+ local status, value = coroutine.resume(co, ...)
12
+ if not status then
13
+ error(value, 0)
14
+ end
22
15
  return {
23
- ____coroutine = coroutine.create(function() return fn((unpack or table.unpack)(args, 1, argsLength)) end),
24
- [Symbol.iterator] = __TS__GeneratorIterator,
25
- next = __TS__GeneratorNext
16
+ value = value,
17
+ done = coroutine.status(co) == "dead"
26
18
  }
27
19
  end
20
+ function __TS__Generator(fn)
21
+ return function(...)
22
+ local args = {...}
23
+ local argsLength = select("#", ...)
24
+ return {
25
+ ____coroutine = coroutine.create(function() return fn((unpack or table.unpack)(args, 1, argsLength)) end),
26
+ [Symbol.iterator] = generatorIterator,
27
+ next = generatorNext
28
+ }
29
+ end
30
+ end
28
31
  end
@@ -1,4 +1,4 @@
1
- function __TS__InstanceOf(obj, classTbl)
1
+ local function __TS__InstanceOf(obj, classTbl)
2
2
  if type(classTbl) ~= "table" then
3
3
  error("Right-hand side of 'instanceof' is not an object", 0)
4
4
  end
@@ -1,4 +1,4 @@
1
- function __TS__InstanceOfObject(value)
1
+ local function __TS__InstanceOfObject(value)
2
2
  local valueType = type(value)
3
3
  return valueType == "table" or valueType == "function"
4
4
  end
@@ -1,37 +1,40 @@
1
- function __TS__IteratorGeneratorStep(self)
2
- local co = self.____coroutine
3
- local status, value = coroutine.resume(co)
4
- if not status then
5
- error(value, 0)
1
+ local __TS__Iterator
2
+ do
3
+ local function iteratorGeneratorStep(self)
4
+ local co = self.____coroutine
5
+ local status, value = coroutine.resume(co)
6
+ if not status then
7
+ error(value, 0)
8
+ end
9
+ if coroutine.status(co) == "dead" then
10
+ return
11
+ end
12
+ return true, value
6
13
  end
7
- if coroutine.status(co) == "dead" then
8
- return
14
+ local function iteratorIteratorStep(self)
15
+ local result = self:next()
16
+ if result.done then
17
+ return
18
+ end
19
+ return true, result.value
9
20
  end
10
- return true, value
11
- end
12
- function __TS__IteratorIteratorStep(self)
13
- local result = self:next()
14
- if result.done then
15
- return
16
- end
17
- return true, result.value
18
- end
19
- function __TS__IteratorStringStep(self, index)
20
- index = index + 1
21
- if index > #self then
22
- return
21
+ local function iteratorStringStep(self, index)
22
+ index = index + 1
23
+ if index > #self then
24
+ return
25
+ end
26
+ return index, string.sub(self, index, index)
23
27
  end
24
- return index, string.sub(self, index, index)
25
- end
26
- function __TS__Iterator(iterable)
27
- if type(iterable) == "string" then
28
- return __TS__IteratorStringStep, iterable, 0
29
- elseif iterable.____coroutine ~= nil then
30
- return __TS__IteratorGeneratorStep, iterable
31
- elseif iterable[Symbol.iterator] then
32
- local iterator = iterable[Symbol.iterator](iterable)
33
- return __TS__IteratorIteratorStep, iterator
34
- else
35
- return ipairs(iterable)
28
+ function __TS__Iterator(iterable)
29
+ if type(iterable) == "string" then
30
+ return iteratorStringStep, iterable, 0
31
+ elseif iterable.____coroutine ~= nil then
32
+ return iteratorGeneratorStep, iterable
33
+ elseif iterable[Symbol.iterator] then
34
+ local iterator = iterable[Symbol.iterator](iterable)
35
+ return iteratorIteratorStep, iterator
36
+ else
37
+ return ipairs(iterable)
38
+ end
36
39
  end
37
40
  end