typescript-to-lua 1.10.0-beta.0 → 1.10.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 (112) hide show
  1. package/dist/lualib/5.0/Generator.lua +1 -1
  2. package/dist/lualib/5.0/SparseArraySpread.lua +1 -1
  3. package/dist/lualib/5.0/Unpack.lua +18 -1
  4. package/dist/lualib/5.0/lualib_bundle.lua +32 -15
  5. package/dist/lualib/5.0/lualib_module_info.json +3 -1
  6. package/dist/transformation/utils/diagnostics.js +1 -1
  7. package/dist/transformation/visitors/conditional.js +4 -0
  8. package/dist/transpilation/resolve.js +3 -3
  9. package/package.json +2 -2
  10. package/dist/lualib/ArrayConcat.lua +0 -22
  11. package/dist/lualib/ArrayEntries.lua +0 -13
  12. package/dist/lualib/ArrayEvery.lua +0 -8
  13. package/dist/lualib/ArrayFilter.lua +0 -11
  14. package/dist/lualib/ArrayFind.lua +0 -9
  15. package/dist/lualib/ArrayFindIndex.lua +0 -8
  16. package/dist/lualib/ArrayFlat.lua +0 -27
  17. package/dist/lualib/ArrayFlatMap.lua +0 -17
  18. package/dist/lualib/ArrayForEach.lua +0 -5
  19. package/dist/lualib/ArrayFrom.lua +0 -29
  20. package/dist/lualib/ArrayIncludes.lua +0 -19
  21. package/dist/lualib/ArrayIndexOf.lua +0 -24
  22. package/dist/lualib/ArrayIsArray.lua +0 -3
  23. package/dist/lualib/ArrayJoin.lua +0 -10
  24. package/dist/lualib/ArrayMap.lua +0 -7
  25. package/dist/lualib/ArrayPush.lua +0 -9
  26. package/dist/lualib/ArrayPushArray.lua +0 -8
  27. package/dist/lualib/ArrayReduce.lua +0 -23
  28. package/dist/lualib/ArrayReduceRight.lua +0 -23
  29. package/dist/lualib/ArrayReverse.lua +0 -12
  30. package/dist/lualib/ArraySetLength.lua +0 -12
  31. package/dist/lualib/ArraySlice.lua +0 -43
  32. package/dist/lualib/ArraySome.lua +0 -8
  33. package/dist/lualib/ArraySort.lua +0 -11
  34. package/dist/lualib/ArraySplice.lua +0 -77
  35. package/dist/lualib/ArrayToObject.lua +0 -7
  36. package/dist/lualib/ArrayUnshift.lua +0 -14
  37. package/dist/lualib/Await.lua +0 -54
  38. package/dist/lualib/Class.lua +0 -6
  39. package/dist/lualib/ClassExtends.lua +0 -24
  40. package/dist/lualib/CloneDescriptor.lua +0 -28
  41. package/dist/lualib/Decorate.lua +0 -36
  42. package/dist/lualib/DecorateParam.lua +0 -3
  43. package/dist/lualib/DelegatedYield.lua +0 -34
  44. package/dist/lualib/Delete.lua +0 -19
  45. package/dist/lualib/Error.lua +0 -77
  46. package/dist/lualib/FunctionBind.lua +0 -11
  47. package/dist/lualib/Generator.lua +0 -38
  48. package/dist/lualib/InstanceOf.lua +0 -18
  49. package/dist/lualib/InstanceOfObject.lua +0 -4
  50. package/dist/lualib/Iterator.lua +0 -40
  51. package/dist/lualib/LuaIteratorSpread.lua +0 -9
  52. package/dist/lualib/Map.lua +0 -140
  53. package/dist/lualib/MathAtan2.lua +0 -1
  54. package/dist/lualib/MathSign.lua +0 -8
  55. package/dist/lualib/New.lua +0 -5
  56. package/dist/lualib/Number.lua +0 -26
  57. package/dist/lualib/NumberIsFinite.lua +0 -3
  58. package/dist/lualib/NumberIsNaN.lua +0 -3
  59. package/dist/lualib/NumberToString.lua +0 -44
  60. package/dist/lualib/ObjectAssign.lua +0 -10
  61. package/dist/lualib/ObjectDefineProperty.lua +0 -59
  62. package/dist/lualib/ObjectEntries.lua +0 -9
  63. package/dist/lualib/ObjectFromEntries.lua +0 -20
  64. package/dist/lualib/ObjectGetOwnPropertyDescriptor.lua +0 -10
  65. package/dist/lualib/ObjectGetOwnPropertyDescriptors.lua +0 -7
  66. package/dist/lualib/ObjectKeys.lua +0 -9
  67. package/dist/lualib/ObjectRest.lua +0 -9
  68. package/dist/lualib/ObjectValues.lua +0 -9
  69. package/dist/lualib/ParseFloat.lua +0 -18
  70. package/dist/lualib/ParseInt.lua +0 -43
  71. package/dist/lualib/Promise.lua +0 -176
  72. package/dist/lualib/PromiseAll.lua +0 -44
  73. package/dist/lualib/PromiseAllSettled.lua +0 -48
  74. package/dist/lualib/PromiseAny.lua +0 -41
  75. package/dist/lualib/PromiseRace.lua +0 -28
  76. package/dist/lualib/Set.lua +0 -130
  77. package/dist/lualib/SetDescriptor.lua +0 -79
  78. package/dist/lualib/SourceMapTraceBack.lua +0 -54
  79. package/dist/lualib/SparseArrayNew.lua +0 -5
  80. package/dist/lualib/SparseArrayPush.lua +0 -9
  81. package/dist/lualib/SparseArraySpread.lua +0 -8
  82. package/dist/lualib/Spread.lua +0 -15
  83. package/dist/lualib/StringAccess.lua +0 -5
  84. package/dist/lualib/StringCharAt.lua +0 -9
  85. package/dist/lualib/StringCharCodeAt.lua +0 -13
  86. package/dist/lualib/StringEndsWith.lua +0 -6
  87. package/dist/lualib/StringIncludes.lua +0 -9
  88. package/dist/lualib/StringPadEnd.lua +0 -26
  89. package/dist/lualib/StringPadStart.lua +0 -26
  90. package/dist/lualib/StringReplace.lua +0 -20
  91. package/dist/lualib/StringReplaceAll.lua +0 -42
  92. package/dist/lualib/StringSlice.lua +0 -15
  93. package/dist/lualib/StringSplit.lua +0 -36
  94. package/dist/lualib/StringStartsWith.lua +0 -6
  95. package/dist/lualib/StringSubstr.lua +0 -15
  96. package/dist/lualib/StringSubstring.lua +0 -17
  97. package/dist/lualib/StringTrim.lua +0 -4
  98. package/dist/lualib/StringTrimEnd.lua +0 -4
  99. package/dist/lualib/StringTrimStart.lua +0 -4
  100. package/dist/lualib/Symbol.lua +0 -15
  101. package/dist/lualib/SymbolRegistry.lua +0 -17
  102. package/dist/lualib/TypeOf.lua +0 -10
  103. package/dist/lualib/Unpack.lua +0 -1
  104. package/dist/lualib/WeakMap.lua +0 -45
  105. package/dist/lualib/WeakSet.lua +0 -41
  106. package/dist/lualib/lualib_bundle.lua +0 -2518
  107. package/dist/lualib/lualib_module_info.json +0 -626
  108. package/dist/lualib/universal/universal/CountVarargs.lua +0 -3
  109. package/dist/lualib/universal/universal/Match.lua +0 -1
  110. package/dist/lualib/universal/universal/MathModf.lua +0 -1
  111. package/dist/lualib/universal/universal/SparseArraySpread.lua +0 -8
  112. package/dist/lualib/universal/universal/Unpack.lua +0 -1
@@ -1,2518 +0,0 @@
1
- local function __TS__ArrayIsArray(value)
2
- return type(value) == "table" and (value[1] ~= nil or next(value) == nil)
3
- end
4
-
5
- local function __TS__ArrayConcat(self, ...)
6
- local items = {...}
7
- local result = {}
8
- local len = 0
9
- for i = 1, #self do
10
- len = len + 1
11
- result[len] = self[i]
12
- end
13
- for i = 1, #items do
14
- local item = items[i]
15
- if __TS__ArrayIsArray(item) then
16
- for j = 1, #item do
17
- len = len + 1
18
- result[len] = item[j]
19
- end
20
- else
21
- len = len + 1
22
- result[len] = item
23
- end
24
- end
25
- return result
26
- end
27
-
28
- local __TS__Symbol, Symbol
29
- do
30
- local symbolMetatable = {__tostring = function(self)
31
- return ("Symbol(" .. (self.description or "")) .. ")"
32
- end}
33
- function __TS__Symbol(description)
34
- return setmetatable({description = description}, symbolMetatable)
35
- end
36
- Symbol = {
37
- iterator = __TS__Symbol("Symbol.iterator"),
38
- hasInstance = __TS__Symbol("Symbol.hasInstance"),
39
- species = __TS__Symbol("Symbol.species"),
40
- toStringTag = __TS__Symbol("Symbol.toStringTag")
41
- }
42
- end
43
-
44
- local function __TS__ArrayEntries(array)
45
- local key = 0
46
- return {
47
- [Symbol.iterator] = function(self)
48
- return self
49
- end,
50
- next = function(self)
51
- local result = {done = array[key + 1] == nil, value = {key, array[key + 1]}}
52
- key = key + 1
53
- return result
54
- end
55
- }
56
- end
57
-
58
- local function __TS__ArrayEvery(self, callbackfn, thisArg)
59
- for i = 1, #self do
60
- if not callbackfn(thisArg, self[i], i - 1, self) then
61
- return false
62
- end
63
- end
64
- return true
65
- end
66
-
67
- local function __TS__ArrayFilter(self, callbackfn, thisArg)
68
- local result = {}
69
- local len = 0
70
- for i = 1, #self do
71
- if callbackfn(thisArg, self[i], i - 1, self) then
72
- len = len + 1
73
- result[len] = self[i]
74
- end
75
- end
76
- return result
77
- end
78
-
79
- local function __TS__ArrayForEach(self, callbackFn, thisArg)
80
- for i = 1, #self do
81
- callbackFn(thisArg, self[i], i - 1, self)
82
- end
83
- end
84
-
85
- local function __TS__ArrayFind(self, predicate, thisArg)
86
- for i = 1, #self do
87
- local elem = self[i]
88
- if predicate(thisArg, elem, i - 1, self) then
89
- return elem
90
- end
91
- end
92
- return nil
93
- end
94
-
95
- local function __TS__ArrayFindIndex(self, callbackFn, thisArg)
96
- for i = 1, #self do
97
- if callbackFn(thisArg, self[i], i - 1, self) then
98
- return i - 1
99
- end
100
- end
101
- return -1
102
- end
103
-
104
- local __TS__Iterator
105
- do
106
- local function iteratorGeneratorStep(self)
107
- local co = self.____coroutine
108
- local status, value = coroutine.resume(co)
109
- if not status then
110
- error(value, 0)
111
- end
112
- if coroutine.status(co) == "dead" then
113
- return
114
- end
115
- return true, value
116
- end
117
- local function iteratorIteratorStep(self)
118
- local result = self:next()
119
- if result.done then
120
- return
121
- end
122
- return true, result.value
123
- end
124
- local function iteratorStringStep(self, index)
125
- index = index + 1
126
- if index > #self then
127
- return
128
- end
129
- return index, string.sub(self, index, index)
130
- end
131
- function __TS__Iterator(iterable)
132
- if type(iterable) == "string" then
133
- return iteratorStringStep, iterable, 0
134
- elseif iterable.____coroutine ~= nil then
135
- return iteratorGeneratorStep, iterable
136
- elseif iterable[Symbol.iterator] then
137
- local iterator = iterable[Symbol.iterator](iterable)
138
- return iteratorIteratorStep, iterator
139
- else
140
- return ipairs(iterable)
141
- end
142
- end
143
- end
144
-
145
- local __TS__ArrayFrom
146
- do
147
- local function arrayLikeStep(self, index)
148
- index = index + 1
149
- if index > self.length then
150
- return
151
- end
152
- return index, self[index]
153
- end
154
- local function arrayLikeIterator(arr)
155
- if type(arr.length) == "number" then
156
- return arrayLikeStep, arr, 0
157
- end
158
- return __TS__Iterator(arr)
159
- end
160
- function __TS__ArrayFrom(arrayLike, mapFn, thisArg)
161
- local result = {}
162
- if mapFn == nil then
163
- for ____, v in arrayLikeIterator(arrayLike) do
164
- result[#result + 1] = v
165
- end
166
- else
167
- for i, v in arrayLikeIterator(arrayLike) do
168
- result[#result + 1] = mapFn(thisArg, v, i - 1)
169
- end
170
- end
171
- return result
172
- end
173
- end
174
-
175
- local function __TS__ArrayIncludes(self, searchElement, fromIndex)
176
- if fromIndex == nil then
177
- fromIndex = 0
178
- end
179
- local len = #self
180
- local k = fromIndex
181
- if fromIndex < 0 then
182
- k = len + fromIndex
183
- end
184
- if k < 0 then
185
- k = 0
186
- end
187
- for i = k + 1, len do
188
- if self[i] == searchElement then
189
- return true
190
- end
191
- end
192
- return false
193
- end
194
-
195
- local function __TS__ArrayIndexOf(self, searchElement, fromIndex)
196
- if fromIndex == nil then
197
- fromIndex = 0
198
- end
199
- local len = #self
200
- if len == 0 then
201
- return -1
202
- end
203
- if fromIndex >= len then
204
- return -1
205
- end
206
- if fromIndex < 0 then
207
- fromIndex = len + fromIndex
208
- if fromIndex < 0 then
209
- fromIndex = 0
210
- end
211
- end
212
- for i = fromIndex + 1, len do
213
- if self[i] == searchElement then
214
- return i - 1
215
- end
216
- end
217
- return -1
218
- end
219
-
220
- local function __TS__ArrayJoin(self, separator)
221
- if separator == nil then
222
- separator = ","
223
- end
224
- local parts = {}
225
- for i = 1, #self do
226
- parts[i] = tostring(self[i])
227
- end
228
- return table.concat(parts, separator)
229
- end
230
-
231
- local function __TS__ArrayMap(self, callbackfn, thisArg)
232
- local result = {}
233
- for i = 1, #self do
234
- result[i] = callbackfn(thisArg, self[i], i - 1, self)
235
- end
236
- return result
237
- end
238
-
239
- local function __TS__ArrayPush(self, ...)
240
- local items = {...}
241
- local len = #self
242
- for i = 1, #items do
243
- len = len + 1
244
- self[len] = items[i]
245
- end
246
- return len
247
- end
248
-
249
- local function __TS__ArrayPushArray(self, items)
250
- local len = #self
251
- for i = 1, #items do
252
- len = len + 1
253
- self[len] = items[i]
254
- end
255
- return len
256
- end
257
-
258
- local function __TS__ArrayReduce(self, callbackFn, ...)
259
- local len = #self
260
- local k = 0
261
- local accumulator = nil
262
- if select("#", ...) ~= 0 then
263
- accumulator = ...
264
- elseif len > 0 then
265
- accumulator = self[1]
266
- k = 1
267
- else
268
- error("Reduce of empty array with no initial value", 0)
269
- end
270
- for i = k + 1, len do
271
- accumulator = callbackFn(
272
- nil,
273
- accumulator,
274
- self[i],
275
- i - 1,
276
- self
277
- )
278
- end
279
- return accumulator
280
- end
281
-
282
- local function __TS__ArrayReduceRight(self, callbackFn, ...)
283
- local len = #self
284
- local k = len - 1
285
- local accumulator = nil
286
- if select("#", ...) ~= 0 then
287
- accumulator = ...
288
- elseif len > 0 then
289
- accumulator = self[k + 1]
290
- k = k - 1
291
- else
292
- error("Reduce of empty array with no initial value", 0)
293
- end
294
- for i = k + 1, 1, -1 do
295
- accumulator = callbackFn(
296
- nil,
297
- accumulator,
298
- self[i],
299
- i - 1,
300
- self
301
- )
302
- end
303
- return accumulator
304
- end
305
-
306
- local function __TS__ArrayReverse(self)
307
- local i = 1
308
- local j = #self
309
- while i < j do
310
- local temp = self[j]
311
- self[j] = self[i]
312
- self[i] = temp
313
- i = i + 1
314
- j = j - 1
315
- end
316
- return self
317
- end
318
-
319
- local function __TS__ArrayUnshift(self, ...)
320
- local items = {...}
321
- local numItemsToInsert = #items
322
- if numItemsToInsert == 0 then
323
- return #self
324
- end
325
- for i = #self, 1, -1 do
326
- self[i + numItemsToInsert] = self[i]
327
- end
328
- for i = 1, numItemsToInsert do
329
- self[i] = items[i]
330
- end
331
- return #self
332
- end
333
-
334
- local function __TS__ArraySort(self, compareFn)
335
- if compareFn ~= nil then
336
- table.sort(
337
- self,
338
- function(a, b) return compareFn(nil, a, b) < 0 end
339
- )
340
- else
341
- table.sort(self)
342
- end
343
- return self
344
- end
345
-
346
- local function __TS__ArraySlice(self, first, last)
347
- local len = #self
348
- local ____first_0 = first
349
- if ____first_0 == nil then
350
- ____first_0 = 0
351
- end
352
- first = ____first_0
353
- if first < 0 then
354
- first = len + first
355
- if first < 0 then
356
- first = 0
357
- end
358
- else
359
- if first > len then
360
- first = len
361
- end
362
- end
363
- local ____last_1 = last
364
- if ____last_1 == nil then
365
- ____last_1 = len
366
- end
367
- last = ____last_1
368
- if last < 0 then
369
- last = len + last
370
- if last < 0 then
371
- last = 0
372
- end
373
- else
374
- if last > len then
375
- last = len
376
- end
377
- end
378
- local out = {}
379
- first = first + 1
380
- last = last + 1
381
- local n = 1
382
- while first < last do
383
- out[n] = self[first]
384
- first = first + 1
385
- n = n + 1
386
- end
387
- return out
388
- end
389
-
390
- local function __TS__ArraySome(self, callbackfn, thisArg)
391
- for i = 1, #self do
392
- if callbackfn(thisArg, self[i], i - 1, self) then
393
- return true
394
- end
395
- end
396
- return false
397
- end
398
-
399
- local function __TS__ArraySplice(self, ...)
400
- local args = {...}
401
- local len = #self
402
- local actualArgumentCount = select("#", ...)
403
- local start = args[1]
404
- local deleteCount = args[2]
405
- if start < 0 then
406
- start = len + start
407
- if start < 0 then
408
- start = 0
409
- end
410
- elseif start > len then
411
- start = len
412
- end
413
- local itemCount = actualArgumentCount - 2
414
- if itemCount < 0 then
415
- itemCount = 0
416
- end
417
- local actualDeleteCount
418
- if actualArgumentCount == 0 then
419
- actualDeleteCount = 0
420
- elseif actualArgumentCount == 1 then
421
- actualDeleteCount = len - start
422
- else
423
- local ____deleteCount_0 = deleteCount
424
- if ____deleteCount_0 == nil then
425
- ____deleteCount_0 = 0
426
- end
427
- actualDeleteCount = ____deleteCount_0
428
- if actualDeleteCount < 0 then
429
- actualDeleteCount = 0
430
- end
431
- if actualDeleteCount > len - start then
432
- actualDeleteCount = len - start
433
- end
434
- end
435
- local out = {}
436
- for k = 1, actualDeleteCount do
437
- local from = start + k
438
- if self[from] ~= nil then
439
- out[k] = self[from]
440
- end
441
- end
442
- if itemCount < actualDeleteCount then
443
- for k = start + 1, len - actualDeleteCount do
444
- local from = k + actualDeleteCount
445
- local to = k + itemCount
446
- if self[from] then
447
- self[to] = self[from]
448
- else
449
- self[to] = nil
450
- end
451
- end
452
- for k = len - actualDeleteCount + itemCount + 1, len do
453
- self[k] = nil
454
- end
455
- elseif itemCount > actualDeleteCount then
456
- for k = len - actualDeleteCount, start + 1, -1 do
457
- local from = k + actualDeleteCount
458
- local to = k + itemCount
459
- if self[from] then
460
- self[to] = self[from]
461
- else
462
- self[to] = nil
463
- end
464
- end
465
- end
466
- local j = start + 1
467
- for i = 3, actualArgumentCount do
468
- self[j] = args[i]
469
- j = j + 1
470
- end
471
- for k = #self, len - actualDeleteCount + itemCount + 1, -1 do
472
- self[k] = nil
473
- end
474
- return out
475
- end
476
-
477
- local function __TS__ArrayToObject(self)
478
- local object = {}
479
- for i = 1, #self do
480
- object[i - 1] = self[i]
481
- end
482
- return object
483
- end
484
-
485
- local function __TS__ArrayFlat(self, depth)
486
- if depth == nil then
487
- depth = 1
488
- end
489
- local result = {}
490
- local len = 0
491
- for i = 1, #self do
492
- local value = self[i]
493
- if depth > 0 and __TS__ArrayIsArray(value) then
494
- local toAdd
495
- if depth == 1 then
496
- toAdd = value
497
- else
498
- toAdd = __TS__ArrayFlat(value, depth - 1)
499
- end
500
- for j = 1, #toAdd do
501
- local val = toAdd[j]
502
- len = len + 1
503
- result[len] = val
504
- end
505
- else
506
- len = len + 1
507
- result[len] = value
508
- end
509
- end
510
- return result
511
- end
512
-
513
- local function __TS__ArrayFlatMap(self, callback, thisArg)
514
- local result = {}
515
- local len = 0
516
- for i = 1, #self do
517
- local value = callback(thisArg, self[i], i - 1, self)
518
- if __TS__ArrayIsArray(value) then
519
- for j = 1, #value do
520
- len = len + 1
521
- result[len] = value[j]
522
- end
523
- else
524
- len = len + 1
525
- result[len] = value
526
- end
527
- end
528
- return result
529
- end
530
-
531
- local function __TS__ArraySetLength(self, length)
532
- if length < 0 or length ~= length or length == math.huge or math.floor(length) ~= length then
533
- error(
534
- "invalid array length: " .. tostring(length),
535
- 0
536
- )
537
- end
538
- for i = length + 1, #self do
539
- self[i] = nil
540
- end
541
- return length
542
- end
543
-
544
- local function __TS__InstanceOf(obj, classTbl)
545
- if type(classTbl) ~= "table" then
546
- error("Right-hand side of 'instanceof' is not an object", 0)
547
- end
548
- if classTbl[Symbol.hasInstance] ~= nil then
549
- return not not classTbl[Symbol.hasInstance](classTbl, obj)
550
- end
551
- if type(obj) == "table" then
552
- local luaClass = obj.constructor
553
- while luaClass ~= nil do
554
- if luaClass == classTbl then
555
- return true
556
- end
557
- luaClass = luaClass.____super
558
- end
559
- end
560
- return false
561
- end
562
-
563
- local function __TS__New(target, ...)
564
- local instance = setmetatable({}, target.prototype)
565
- instance:____constructor(...)
566
- return instance
567
- end
568
-
569
- local function __TS__Class(self)
570
- local c = {prototype = {}}
571
- c.prototype.__index = c.prototype
572
- c.prototype.constructor = c
573
- return c
574
- end
575
-
576
- local __TS__Unpack = table.unpack or unpack
577
-
578
- local function __TS__FunctionBind(fn, ...)
579
- local boundArgs = {...}
580
- return function(____, ...)
581
- local args = {...}
582
- __TS__ArrayUnshift(
583
- args,
584
- __TS__Unpack(boundArgs)
585
- )
586
- return fn(__TS__Unpack(args))
587
- end
588
- end
589
-
590
- local __TS__Promise
591
- do
592
- local function promiseDeferred(self)
593
- local resolve
594
- local reject
595
- local promise = __TS__New(
596
- __TS__Promise,
597
- function(____, res, rej)
598
- resolve = res
599
- reject = rej
600
- end
601
- )
602
- return {promise = promise, resolve = resolve, reject = reject}
603
- end
604
- local function isPromiseLike(self, thing)
605
- return __TS__InstanceOf(thing, __TS__Promise)
606
- end
607
- __TS__Promise = __TS__Class()
608
- __TS__Promise.name = "__TS__Promise"
609
- function __TS__Promise.prototype.____constructor(self, executor)
610
- self.state = 0
611
- self.fulfilledCallbacks = {}
612
- self.rejectedCallbacks = {}
613
- self.finallyCallbacks = {}
614
- do
615
- local function ____catch(e)
616
- self:reject(e)
617
- end
618
- local ____try, ____hasReturned = pcall(function()
619
- executor(
620
- nil,
621
- __TS__FunctionBind(self.resolve, self),
622
- __TS__FunctionBind(self.reject, self)
623
- )
624
- end)
625
- if not ____try then
626
- ____catch(____hasReturned)
627
- end
628
- end
629
- end
630
- function __TS__Promise.resolve(data)
631
- local promise = __TS__New(
632
- __TS__Promise,
633
- function()
634
- end
635
- )
636
- promise.state = 1
637
- promise.value = data
638
- return promise
639
- end
640
- function __TS__Promise.reject(reason)
641
- local promise = __TS__New(
642
- __TS__Promise,
643
- function()
644
- end
645
- )
646
- promise.state = 2
647
- promise.rejectionReason = reason
648
- return promise
649
- end
650
- __TS__Promise.prototype["then"] = function(self, onFulfilled, onRejected)
651
- local ____promiseDeferred_result_0 = promiseDeferred(nil)
652
- local promise = ____promiseDeferred_result_0.promise
653
- local resolve = ____promiseDeferred_result_0.resolve
654
- local reject = ____promiseDeferred_result_0.reject
655
- local isFulfilled = self.state == 1
656
- local isRejected = self.state == 2
657
- if onFulfilled then
658
- local internalCallback = self:createPromiseResolvingCallback(onFulfilled, resolve, reject)
659
- local ____self_fulfilledCallbacks_1 = self.fulfilledCallbacks
660
- ____self_fulfilledCallbacks_1[#____self_fulfilledCallbacks_1 + 1] = internalCallback
661
- if isFulfilled then
662
- internalCallback(nil, self.value)
663
- end
664
- else
665
- local ____self_fulfilledCallbacks_2 = self.fulfilledCallbacks
666
- ____self_fulfilledCallbacks_2[#____self_fulfilledCallbacks_2 + 1] = function(____, v) return resolve(nil, v) end
667
- end
668
- if onRejected then
669
- local internalCallback = self:createPromiseResolvingCallback(onRejected, resolve, reject)
670
- local ____self_rejectedCallbacks_3 = self.rejectedCallbacks
671
- ____self_rejectedCallbacks_3[#____self_rejectedCallbacks_3 + 1] = internalCallback
672
- if isRejected then
673
- internalCallback(nil, self.rejectionReason)
674
- end
675
- else
676
- local ____self_rejectedCallbacks_4 = self.rejectedCallbacks
677
- ____self_rejectedCallbacks_4[#____self_rejectedCallbacks_4 + 1] = function(____, err) return reject(nil, err) end
678
- end
679
- if isFulfilled then
680
- resolve(nil, self.value)
681
- end
682
- if isRejected then
683
- reject(nil, self.rejectionReason)
684
- end
685
- return promise
686
- end
687
- function __TS__Promise.prototype.catch(self, onRejected)
688
- return self["then"](self, nil, onRejected)
689
- end
690
- function __TS__Promise.prototype.finally(self, onFinally)
691
- if onFinally then
692
- local ____self_finallyCallbacks_5 = self.finallyCallbacks
693
- ____self_finallyCallbacks_5[#____self_finallyCallbacks_5 + 1] = onFinally
694
- if self.state ~= 0 then
695
- onFinally(nil)
696
- end
697
- end
698
- return self
699
- end
700
- function __TS__Promise.prototype.resolve(self, data)
701
- if __TS__InstanceOf(data, __TS__Promise) then
702
- data["then"](
703
- data,
704
- function(____, v) return self:resolve(v) end,
705
- function(____, err) return self:reject(err) end
706
- )
707
- return
708
- end
709
- if self.state == 0 then
710
- self.state = 1
711
- self.value = data
712
- for ____, callback in ipairs(self.fulfilledCallbacks) do
713
- callback(nil, data)
714
- end
715
- for ____, callback in ipairs(self.finallyCallbacks) do
716
- callback(nil)
717
- end
718
- end
719
- end
720
- function __TS__Promise.prototype.reject(self, reason)
721
- if self.state == 0 then
722
- self.state = 2
723
- self.rejectionReason = reason
724
- for ____, callback in ipairs(self.rejectedCallbacks) do
725
- callback(nil, reason)
726
- end
727
- for ____, callback in ipairs(self.finallyCallbacks) do
728
- callback(nil)
729
- end
730
- end
731
- end
732
- function __TS__Promise.prototype.createPromiseResolvingCallback(self, f, resolve, reject)
733
- return function(____, value)
734
- do
735
- local function ____catch(e)
736
- reject(nil, e)
737
- end
738
- local ____try, ____hasReturned = pcall(function()
739
- self:handleCallbackData(
740
- f(nil, value),
741
- resolve,
742
- reject
743
- )
744
- end)
745
- if not ____try then
746
- ____catch(____hasReturned)
747
- end
748
- end
749
- end
750
- end
751
- function __TS__Promise.prototype.handleCallbackData(self, data, resolve, reject)
752
- if isPromiseLike(nil, data) then
753
- local nextpromise = data
754
- if nextpromise.state == 1 then
755
- resolve(nil, nextpromise.value)
756
- elseif nextpromise.state == 2 then
757
- reject(nil, nextpromise.rejectionReason)
758
- else
759
- data["then"](data, resolve, reject)
760
- end
761
- else
762
- resolve(nil, data)
763
- end
764
- end
765
- end
766
-
767
- local function __TS__AsyncAwaiter(generator)
768
- return __TS__New(
769
- __TS__Promise,
770
- function(____, resolve, reject)
771
- local adopt, fulfilled, step, resolved, asyncCoroutine
772
- function adopt(self, value)
773
- local ____temp_0
774
- if __TS__InstanceOf(value, __TS__Promise) then
775
- ____temp_0 = value
776
- else
777
- ____temp_0 = __TS__Promise.resolve(value)
778
- end
779
- return ____temp_0
780
- end
781
- function fulfilled(self, value)
782
- local success, resultOrError = coroutine.resume(asyncCoroutine, value)
783
- if success then
784
- step(nil, resultOrError)
785
- else
786
- reject(nil, resultOrError)
787
- end
788
- end
789
- function step(self, result)
790
- if resolved then
791
- return
792
- end
793
- if coroutine.status(asyncCoroutine) == "dead" then
794
- resolve(nil, result)
795
- else
796
- local ____self_1 = adopt(nil, result)
797
- ____self_1["then"](____self_1, fulfilled, reject)
798
- end
799
- end
800
- resolved = false
801
- asyncCoroutine = coroutine.create(generator)
802
- local success, resultOrError = coroutine.resume(
803
- asyncCoroutine,
804
- function(____, v)
805
- resolved = true
806
- local ____self_2 = adopt(nil, v)
807
- ____self_2["then"](____self_2, resolve, reject)
808
- end
809
- )
810
- if success then
811
- step(nil, resultOrError)
812
- else
813
- reject(nil, resultOrError)
814
- end
815
- end
816
- )
817
- end
818
- local function __TS__Await(thing)
819
- return coroutine.yield(thing)
820
- end
821
-
822
- local function __TS__ClassExtends(target, base)
823
- target.____super = base
824
- local staticMetatable = setmetatable({__index = base}, base)
825
- setmetatable(target, staticMetatable)
826
- local baseMetatable = getmetatable(base)
827
- if baseMetatable then
828
- if type(baseMetatable.__index) == "function" then
829
- staticMetatable.__index = baseMetatable.__index
830
- end
831
- if type(baseMetatable.__newindex) == "function" then
832
- staticMetatable.__newindex = baseMetatable.__newindex
833
- end
834
- end
835
- setmetatable(target.prototype, base.prototype)
836
- if type(base.prototype.__index) == "function" then
837
- target.prototype.__index = base.prototype.__index
838
- end
839
- if type(base.prototype.__newindex) == "function" then
840
- target.prototype.__newindex = base.prototype.__newindex
841
- end
842
- if type(base.prototype.__tostring) == "function" then
843
- target.prototype.__tostring = base.prototype.__tostring
844
- end
845
- end
846
-
847
- local function __TS__CloneDescriptor(____bindingPattern0)
848
- local value
849
- local writable
850
- local set
851
- local get
852
- local configurable
853
- local enumerable
854
- enumerable = ____bindingPattern0.enumerable
855
- configurable = ____bindingPattern0.configurable
856
- get = ____bindingPattern0.get
857
- set = ____bindingPattern0.set
858
- writable = ____bindingPattern0.writable
859
- value = ____bindingPattern0.value
860
- local descriptor = {enumerable = enumerable == true, configurable = configurable == true}
861
- local hasGetterOrSetter = get ~= nil or set ~= nil
862
- local hasValueOrWritableAttribute = writable ~= nil or value ~= nil
863
- if hasGetterOrSetter and hasValueOrWritableAttribute then
864
- error("Invalid property descriptor. Cannot both specify accessors and a value or writable attribute.", 0)
865
- end
866
- if get or set then
867
- descriptor.get = get
868
- descriptor.set = set
869
- else
870
- descriptor.value = value
871
- descriptor.writable = writable == true
872
- end
873
- return descriptor
874
- end
875
-
876
- local function __TS__ObjectAssign(target, ...)
877
- local sources = {...}
878
- for i = 1, #sources do
879
- local source = sources[i]
880
- for key in pairs(source) do
881
- target[key] = source[key]
882
- end
883
- end
884
- return target
885
- end
886
-
887
- local function __TS__ObjectGetOwnPropertyDescriptor(object, key)
888
- local metatable = getmetatable(object)
889
- if not metatable then
890
- return
891
- end
892
- if not rawget(metatable, "_descriptors") then
893
- return
894
- end
895
- return rawget(metatable, "_descriptors")[key]
896
- end
897
-
898
- local __TS__SetDescriptor
899
- do
900
- local function descriptorIndex(self, key)
901
- local value = rawget(self, key)
902
- if value ~= nil then
903
- return value
904
- end
905
- local metatable = getmetatable(self)
906
- while metatable do
907
- local rawResult = rawget(metatable, key)
908
- if rawResult ~= nil then
909
- return rawResult
910
- end
911
- local descriptors = rawget(metatable, "_descriptors")
912
- if descriptors then
913
- local descriptor = descriptors[key]
914
- if descriptor then
915
- if descriptor.get then
916
- return descriptor.get(self)
917
- end
918
- return descriptor.value
919
- end
920
- end
921
- metatable = getmetatable(metatable)
922
- end
923
- end
924
- local function descriptorNewIndex(self, key, value)
925
- local metatable = getmetatable(self)
926
- while metatable do
927
- local descriptors = rawget(metatable, "_descriptors")
928
- if descriptors then
929
- local descriptor = descriptors[key]
930
- if descriptor then
931
- if descriptor.set then
932
- descriptor.set(self, value)
933
- else
934
- if descriptor.writable == false then
935
- error(
936
- ((("Cannot assign to read only property '" .. key) .. "' of object '") .. tostring(self)) .. "'",
937
- 0
938
- )
939
- end
940
- descriptor.value = value
941
- end
942
- return
943
- end
944
- end
945
- metatable = getmetatable(metatable)
946
- end
947
- rawset(self, key, value)
948
- end
949
- function __TS__SetDescriptor(target, key, desc, isPrototype)
950
- if isPrototype == nil then
951
- isPrototype = false
952
- end
953
- local ____isPrototype_0
954
- if isPrototype then
955
- ____isPrototype_0 = target
956
- else
957
- ____isPrototype_0 = getmetatable(target)
958
- end
959
- local metatable = ____isPrototype_0
960
- if not metatable then
961
- metatable = {}
962
- setmetatable(target, metatable)
963
- end
964
- local value = rawget(target, key)
965
- if value ~= nil then
966
- rawset(target, key, nil)
967
- end
968
- if not rawget(metatable, "_descriptors") then
969
- metatable._descriptors = {}
970
- end
971
- local descriptor = __TS__CloneDescriptor(desc)
972
- metatable._descriptors[key] = descriptor
973
- metatable.__index = descriptorIndex
974
- metatable.__newindex = descriptorNewIndex
975
- end
976
- end
977
-
978
- local function __TS__Decorate(decorators, target, key, desc)
979
- local result = target
980
- do
981
- local i = #decorators
982
- while i >= 0 do
983
- local decorator = decorators[i + 1]
984
- if decorator then
985
- local oldResult = result
986
- if key == nil then
987
- result = decorator(nil, result)
988
- elseif desc == true then
989
- local value = rawget(target, key)
990
- local descriptor = __TS__ObjectGetOwnPropertyDescriptor(target, key) or ({configurable = true, writable = true, value = value})
991
- local desc = decorator(nil, target, key, descriptor) or descriptor
992
- local isSimpleValue = desc.configurable == true and desc.writable == true and not desc.get and not desc.set
993
- if isSimpleValue then
994
- rawset(target, key, desc.value)
995
- else
996
- __TS__SetDescriptor(
997
- target,
998
- key,
999
- __TS__ObjectAssign({}, descriptor, desc)
1000
- )
1001
- end
1002
- elseif desc == false then
1003
- result = decorator(nil, target, key, desc)
1004
- else
1005
- result = decorator(nil, target, key)
1006
- end
1007
- result = result or oldResult
1008
- end
1009
- i = i - 1
1010
- end
1011
- end
1012
- return result
1013
- end
1014
-
1015
- local function __TS__DecorateParam(paramIndex, decorator)
1016
- return function(____, target, key) return decorator(nil, target, key, paramIndex) end
1017
- end
1018
-
1019
- local Error, RangeError, ReferenceError, SyntaxError, TypeError, URIError
1020
- do
1021
- local function getErrorStack(self, constructor)
1022
- local level = 1
1023
- while true do
1024
- local info = debug.getinfo(level, "f")
1025
- level = level + 1
1026
- if not info then
1027
- level = 1
1028
- break
1029
- elseif info.func == constructor then
1030
- break
1031
- end
1032
- end
1033
- return debug.traceback(nil, level)
1034
- end
1035
- local function wrapErrorToString(self, getDescription)
1036
- return function(self)
1037
- local description = getDescription(self)
1038
- local caller = debug.getinfo(3, "f")
1039
- if _VERSION == "Lua 5.1" or caller and caller.func ~= error then
1040
- return description
1041
- else
1042
- return (tostring(description) .. "\n") .. self.stack
1043
- end
1044
- end
1045
- end
1046
- local function initErrorClass(self, Type, name)
1047
- Type.name = name
1048
- return setmetatable(
1049
- Type,
1050
- {__call = function(____, _self, message) return __TS__New(Type, message) end}
1051
- )
1052
- end
1053
- local ____initErrorClass_2 = initErrorClass
1054
- local ____class_0 = __TS__Class()
1055
- ____class_0.name = ""
1056
- function ____class_0.prototype.____constructor(self, message)
1057
- if message == nil then
1058
- message = ""
1059
- end
1060
- self.message = message
1061
- self.name = "Error"
1062
- self.stack = getErrorStack(nil, self.constructor.new)
1063
- local metatable = getmetatable(self)
1064
- if not metatable.__errorToStringPatched then
1065
- metatable.__errorToStringPatched = true
1066
- metatable.__tostring = wrapErrorToString(nil, metatable.__tostring)
1067
- end
1068
- end
1069
- function ____class_0.prototype.__tostring(self)
1070
- local ____temp_1
1071
- if self.message ~= "" then
1072
- ____temp_1 = (self.name .. ": ") .. self.message
1073
- else
1074
- ____temp_1 = self.name
1075
- end
1076
- return ____temp_1
1077
- end
1078
- Error = ____initErrorClass_2(nil, ____class_0, "Error")
1079
- local function createErrorClass(self, name)
1080
- local ____initErrorClass_4 = initErrorClass
1081
- local ____class_3 = __TS__Class()
1082
- ____class_3.name = ____class_3.name
1083
- __TS__ClassExtends(____class_3, Error)
1084
- function ____class_3.prototype.____constructor(self, ...)
1085
- ____class_3.____super.prototype.____constructor(self, ...)
1086
- self.name = name
1087
- end
1088
- return ____initErrorClass_4(nil, ____class_3, name)
1089
- end
1090
- RangeError = createErrorClass(nil, "RangeError")
1091
- ReferenceError = createErrorClass(nil, "ReferenceError")
1092
- SyntaxError = createErrorClass(nil, "SyntaxError")
1093
- TypeError = createErrorClass(nil, "TypeError")
1094
- URIError = createErrorClass(nil, "URIError")
1095
- end
1096
-
1097
- local function __TS__ObjectGetOwnPropertyDescriptors(object)
1098
- local metatable = getmetatable(object)
1099
- if not metatable then
1100
- return {}
1101
- end
1102
- return rawget(metatable, "_descriptors") or ({})
1103
- end
1104
-
1105
- local function __TS__Delete(target, key)
1106
- local descriptors = __TS__ObjectGetOwnPropertyDescriptors(target)
1107
- local descriptor = descriptors[key]
1108
- if descriptor then
1109
- if not descriptor.configurable then
1110
- error(
1111
- __TS__New(
1112
- TypeError,
1113
- ((("Cannot delete property " .. tostring(key)) .. " of ") .. tostring(target)) .. "."
1114
- ),
1115
- 0
1116
- )
1117
- end
1118
- descriptors[key] = nil
1119
- return true
1120
- end
1121
- target[key] = nil
1122
- return true
1123
- end
1124
-
1125
- local function __TS__StringAccess(self, index)
1126
- if index >= 0 and index < #self then
1127
- return string.sub(self, index + 1, index + 1)
1128
- end
1129
- end
1130
-
1131
- local function __TS__DelegatedYield(iterable)
1132
- if type(iterable) == "string" then
1133
- for index = 0, #iterable - 1 do
1134
- coroutine.yield(__TS__StringAccess(iterable, index))
1135
- end
1136
- elseif iterable.____coroutine ~= nil then
1137
- local co = iterable.____coroutine
1138
- while true do
1139
- local status, value = coroutine.resume(co)
1140
- if not status then
1141
- error(value, 0)
1142
- end
1143
- if coroutine.status(co) == "dead" then
1144
- return value
1145
- else
1146
- coroutine.yield(value)
1147
- end
1148
- end
1149
- elseif iterable[Symbol.iterator] then
1150
- local iterator = iterable[Symbol.iterator](iterable)
1151
- while true do
1152
- local result = iterator:next()
1153
- if result.done then
1154
- return result.value
1155
- else
1156
- coroutine.yield(result.value)
1157
- end
1158
- end
1159
- else
1160
- for ____, value in ipairs(iterable) do
1161
- coroutine.yield(value)
1162
- end
1163
- end
1164
- end
1165
-
1166
- local __TS__Generator
1167
- do
1168
- local function generatorIterator(self)
1169
- return self
1170
- end
1171
- local function generatorNext(self, ...)
1172
- local co = self.____coroutine
1173
- if coroutine.status(co) == "dead" then
1174
- return {done = true}
1175
- end
1176
- local status, value = coroutine.resume(co, ...)
1177
- if not status then
1178
- error(value, 0)
1179
- end
1180
- return {
1181
- value = value,
1182
- done = coroutine.status(co) == "dead"
1183
- }
1184
- end
1185
- function __TS__Generator(fn)
1186
- return function(...)
1187
- local args = {...}
1188
- local argsLength = select("#", ...)
1189
- return {
1190
- ____coroutine = coroutine.create(function()
1191
- local ____fn_1 = fn
1192
- local ____unpack_0 = unpack
1193
- if ____unpack_0 == nil then
1194
- ____unpack_0 = table.unpack
1195
- end
1196
- return ____fn_1(____unpack_0(args, 1, argsLength))
1197
- end),
1198
- [Symbol.iterator] = generatorIterator,
1199
- next = generatorNext
1200
- }
1201
- end
1202
- end
1203
- end
1204
-
1205
- local function __TS__InstanceOfObject(value)
1206
- local valueType = type(value)
1207
- return valueType == "table" or valueType == "function"
1208
- end
1209
-
1210
- local function __TS__LuaIteratorSpread(self, state, firstKey)
1211
- local results = {}
1212
- local key, value = self(state, firstKey)
1213
- while key do
1214
- results[#results + 1] = {key, value}
1215
- key, value = self(state, key)
1216
- end
1217
- return __TS__Unpack(results)
1218
- end
1219
-
1220
- local Map
1221
- do
1222
- Map = __TS__Class()
1223
- Map.name = "Map"
1224
- function Map.prototype.____constructor(self, entries)
1225
- self[Symbol.toStringTag] = "Map"
1226
- self.items = {}
1227
- self.size = 0
1228
- self.nextKey = {}
1229
- self.previousKey = {}
1230
- if entries == nil then
1231
- return
1232
- end
1233
- local iterable = entries
1234
- if iterable[Symbol.iterator] then
1235
- local iterator = iterable[Symbol.iterator](iterable)
1236
- while true do
1237
- local result = iterator:next()
1238
- if result.done then
1239
- break
1240
- end
1241
- local value = result.value
1242
- self:set(value[1], value[2])
1243
- end
1244
- else
1245
- local array = entries
1246
- for ____, kvp in ipairs(array) do
1247
- self:set(kvp[1], kvp[2])
1248
- end
1249
- end
1250
- end
1251
- function Map.prototype.clear(self)
1252
- self.items = {}
1253
- self.nextKey = {}
1254
- self.previousKey = {}
1255
- self.firstKey = nil
1256
- self.lastKey = nil
1257
- self.size = 0
1258
- end
1259
- function Map.prototype.delete(self, key)
1260
- local contains = self:has(key)
1261
- if contains then
1262
- self.size = self.size - 1
1263
- local next = self.nextKey[key]
1264
- local previous = self.previousKey[key]
1265
- if next and previous then
1266
- self.nextKey[previous] = next
1267
- self.previousKey[next] = previous
1268
- elseif next then
1269
- self.firstKey = next
1270
- self.previousKey[next] = nil
1271
- elseif previous then
1272
- self.lastKey = previous
1273
- self.nextKey[previous] = nil
1274
- else
1275
- self.firstKey = nil
1276
- self.lastKey = nil
1277
- end
1278
- self.nextKey[key] = nil
1279
- self.previousKey[key] = nil
1280
- end
1281
- self.items[key] = nil
1282
- return contains
1283
- end
1284
- function Map.prototype.forEach(self, callback)
1285
- for ____, key in __TS__Iterator(self:keys()) do
1286
- callback(nil, self.items[key], key, self)
1287
- end
1288
- end
1289
- function Map.prototype.get(self, key)
1290
- return self.items[key]
1291
- end
1292
- function Map.prototype.has(self, key)
1293
- return self.nextKey[key] ~= nil or self.lastKey == key
1294
- end
1295
- function Map.prototype.set(self, key, value)
1296
- local isNewValue = not self:has(key)
1297
- if isNewValue then
1298
- self.size = self.size + 1
1299
- end
1300
- self.items[key] = value
1301
- if self.firstKey == nil then
1302
- self.firstKey = key
1303
- self.lastKey = key
1304
- elseif isNewValue then
1305
- self.nextKey[self.lastKey] = key
1306
- self.previousKey[key] = self.lastKey
1307
- self.lastKey = key
1308
- end
1309
- return self
1310
- end
1311
- Map.prototype[Symbol.iterator] = function(self)
1312
- return self:entries()
1313
- end
1314
- function Map.prototype.entries(self)
1315
- local items = self.items
1316
- local nextKey = self.nextKey
1317
- local key = self.firstKey
1318
- return {
1319
- [Symbol.iterator] = function(self)
1320
- return self
1321
- end,
1322
- next = function(self)
1323
- local result = {done = not key, value = {key, items[key]}}
1324
- key = nextKey[key]
1325
- return result
1326
- end
1327
- }
1328
- end
1329
- function Map.prototype.keys(self)
1330
- local nextKey = self.nextKey
1331
- local key = self.firstKey
1332
- return {
1333
- [Symbol.iterator] = function(self)
1334
- return self
1335
- end,
1336
- next = function(self)
1337
- local result = {done = not key, value = key}
1338
- key = nextKey[key]
1339
- return result
1340
- end
1341
- }
1342
- end
1343
- function Map.prototype.values(self)
1344
- local items = self.items
1345
- local nextKey = self.nextKey
1346
- local key = self.firstKey
1347
- return {
1348
- [Symbol.iterator] = function(self)
1349
- return self
1350
- end,
1351
- next = function(self)
1352
- local result = {done = not key, value = items[key]}
1353
- key = nextKey[key]
1354
- return result
1355
- end
1356
- }
1357
- end
1358
- Map[Symbol.species] = Map
1359
- end
1360
-
1361
- local __TS__MathAtan2 = math.atan2 or math.atan
1362
-
1363
- local function __TS__MathSign(val)
1364
- if val > 0 then
1365
- return 1
1366
- elseif val < 0 then
1367
- return -1
1368
- end
1369
- return 0
1370
- end
1371
-
1372
- local function __TS__Number(value)
1373
- local valueType = type(value)
1374
- if valueType == "number" then
1375
- return value
1376
- elseif valueType == "string" then
1377
- local numberValue = tonumber(value)
1378
- if numberValue then
1379
- return numberValue
1380
- end
1381
- if value == "Infinity" then
1382
- return math.huge
1383
- end
1384
- if value == "-Infinity" then
1385
- return -math.huge
1386
- end
1387
- local stringWithoutSpaces = string.gsub(value, "%s", "")
1388
- if stringWithoutSpaces == "" then
1389
- return 0
1390
- end
1391
- return 0 / 0
1392
- elseif valueType == "boolean" then
1393
- return value and 1 or 0
1394
- else
1395
- return 0 / 0
1396
- end
1397
- end
1398
-
1399
- local function __TS__NumberIsFinite(value)
1400
- return type(value) == "number" and value == value and value ~= math.huge and value ~= -math.huge
1401
- end
1402
-
1403
- local function __TS__NumberIsNaN(value)
1404
- return value ~= value
1405
- end
1406
-
1407
- local __TS__NumberToString
1408
- do
1409
- local radixChars = "0123456789abcdefghijklmnopqrstuvwxyz"
1410
- function __TS__NumberToString(self, radix)
1411
- if radix == nil or radix == 10 or self == math.huge or self == -math.huge or self ~= self then
1412
- return tostring(self)
1413
- end
1414
- radix = math.floor(radix)
1415
- if radix < 2 or radix > 36 then
1416
- error("toString() radix argument must be between 2 and 36", 0)
1417
- end
1418
- local integer, fraction = math.modf(math.abs(self))
1419
- local result = ""
1420
- if radix == 8 then
1421
- result = string.format("%o", integer)
1422
- elseif radix == 16 then
1423
- result = string.format("%x", integer)
1424
- else
1425
- repeat
1426
- do
1427
- result = __TS__StringAccess(radixChars, integer % radix) .. result
1428
- integer = math.floor(integer / radix)
1429
- end
1430
- until not (integer ~= 0)
1431
- end
1432
- if fraction ~= 0 then
1433
- result = result .. "."
1434
- local delta = 1e-16
1435
- repeat
1436
- do
1437
- fraction = fraction * radix
1438
- delta = delta * radix
1439
- local digit = math.floor(fraction)
1440
- result = result .. __TS__StringAccess(radixChars, digit)
1441
- fraction = fraction - digit
1442
- end
1443
- until not (fraction >= delta)
1444
- end
1445
- if self < 0 then
1446
- result = "-" .. result
1447
- end
1448
- return result
1449
- end
1450
- end
1451
-
1452
- local function __TS__ObjectDefineProperty(target, key, desc)
1453
- local ____temp_0
1454
- if type(key) == "number" then
1455
- ____temp_0 = key + 1
1456
- else
1457
- ____temp_0 = key
1458
- end
1459
- local luaKey = ____temp_0
1460
- local value = rawget(target, luaKey)
1461
- local hasGetterOrSetter = desc.get ~= nil or desc.set ~= nil
1462
- local descriptor
1463
- if hasGetterOrSetter then
1464
- if value ~= nil then
1465
- error(
1466
- "Cannot redefine property: " .. tostring(key),
1467
- 0
1468
- )
1469
- end
1470
- descriptor = desc
1471
- else
1472
- local valueExists = value ~= nil
1473
- local ____desc_set_5 = desc.set
1474
- local ____desc_get_6 = desc.get
1475
- local ____temp_1
1476
- if desc.configurable ~= nil then
1477
- ____temp_1 = desc.configurable
1478
- else
1479
- ____temp_1 = valueExists
1480
- end
1481
- local ____temp_2
1482
- if desc.enumerable ~= nil then
1483
- ____temp_2 = desc.enumerable
1484
- else
1485
- ____temp_2 = valueExists
1486
- end
1487
- local ____temp_3
1488
- if desc.writable ~= nil then
1489
- ____temp_3 = desc.writable
1490
- else
1491
- ____temp_3 = valueExists
1492
- end
1493
- local ____temp_4
1494
- if desc.value ~= nil then
1495
- ____temp_4 = desc.value
1496
- else
1497
- ____temp_4 = value
1498
- end
1499
- descriptor = {
1500
- set = ____desc_set_5,
1501
- get = ____desc_get_6,
1502
- configurable = ____temp_1,
1503
- enumerable = ____temp_2,
1504
- writable = ____temp_3,
1505
- value = ____temp_4
1506
- }
1507
- end
1508
- __TS__SetDescriptor(target, luaKey, descriptor)
1509
- return target
1510
- end
1511
-
1512
- local function __TS__ObjectEntries(obj)
1513
- local result = {}
1514
- local len = 0
1515
- for key in pairs(obj) do
1516
- len = len + 1
1517
- result[len] = {key, obj[key]}
1518
- end
1519
- return result
1520
- end
1521
-
1522
- local function __TS__ObjectFromEntries(entries)
1523
- local obj = {}
1524
- local iterable = entries
1525
- if iterable[Symbol.iterator] then
1526
- local iterator = iterable[Symbol.iterator](iterable)
1527
- while true do
1528
- local result = iterator:next()
1529
- if result.done then
1530
- break
1531
- end
1532
- local value = result.value
1533
- obj[value[1]] = value[2]
1534
- end
1535
- else
1536
- for ____, entry in ipairs(entries) do
1537
- obj[entry[1]] = entry[2]
1538
- end
1539
- end
1540
- return obj
1541
- end
1542
-
1543
- local function __TS__ObjectKeys(obj)
1544
- local result = {}
1545
- local len = 0
1546
- for key in pairs(obj) do
1547
- len = len + 1
1548
- result[len] = key
1549
- end
1550
- return result
1551
- end
1552
-
1553
- local function __TS__ObjectRest(target, usedProperties)
1554
- local result = {}
1555
- for property in pairs(target) do
1556
- if not usedProperties[property] then
1557
- result[property] = target[property]
1558
- end
1559
- end
1560
- return result
1561
- end
1562
-
1563
- local function __TS__ObjectValues(obj)
1564
- local result = {}
1565
- local len = 0
1566
- for key in pairs(obj) do
1567
- len = len + 1
1568
- result[len] = obj[key]
1569
- end
1570
- return result
1571
- end
1572
-
1573
- local function __TS__ParseFloat(numberString)
1574
- local infinityMatch = string.match(numberString, "^%s*(-?Infinity)")
1575
- if infinityMatch then
1576
- local ____temp_0
1577
- if __TS__StringAccess(infinityMatch, 0) == "-" then
1578
- ____temp_0 = -math.huge
1579
- else
1580
- ____temp_0 = math.huge
1581
- end
1582
- return ____temp_0
1583
- end
1584
- local number = tonumber(string.match(numberString, "^%s*(-?%d+%.?%d*)"))
1585
- local ____number_1 = number
1586
- if ____number_1 == nil then
1587
- ____number_1 = 0 / 0
1588
- end
1589
- return ____number_1
1590
- end
1591
-
1592
- local function __TS__StringSubstr(self, from, length)
1593
- if from ~= from then
1594
- from = 0
1595
- end
1596
- if length ~= nil then
1597
- if length ~= length or length <= 0 then
1598
- return ""
1599
- end
1600
- length = length + from
1601
- end
1602
- if from >= 0 then
1603
- from = from + 1
1604
- end
1605
- return string.sub(self, from, length)
1606
- end
1607
-
1608
- local function __TS__StringSubstring(self, start, ____end)
1609
- if ____end ~= ____end then
1610
- ____end = 0
1611
- end
1612
- if ____end ~= nil and start > ____end then
1613
- start, ____end = ____end, start
1614
- end
1615
- if start >= 0 then
1616
- start = start + 1
1617
- else
1618
- start = 1
1619
- end
1620
- if ____end ~= nil and ____end < 0 then
1621
- ____end = 0
1622
- end
1623
- return string.sub(self, start, ____end)
1624
- end
1625
-
1626
- local __TS__ParseInt
1627
- do
1628
- local parseIntBasePattern = "0123456789aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTvVwWxXyYzZ"
1629
- function __TS__ParseInt(numberString, base)
1630
- if base == nil then
1631
- base = 10
1632
- local hexMatch = string.match(numberString, "^%s*-?0[xX]")
1633
- if hexMatch then
1634
- base = 16
1635
- local ____string_match_result__0_0
1636
- if string.match(hexMatch, "-") then
1637
- ____string_match_result__0_0 = "-" .. __TS__StringSubstr(numberString, #hexMatch)
1638
- else
1639
- ____string_match_result__0_0 = __TS__StringSubstr(numberString, #hexMatch)
1640
- end
1641
- numberString = ____string_match_result__0_0
1642
- end
1643
- end
1644
- if base < 2 or base > 36 then
1645
- return 0 / 0
1646
- end
1647
- local ____temp_1
1648
- if base <= 10 then
1649
- ____temp_1 = __TS__StringSubstring(parseIntBasePattern, 0, base)
1650
- else
1651
- ____temp_1 = __TS__StringSubstr(parseIntBasePattern, 0, 10 + 2 * (base - 10))
1652
- end
1653
- local allowedDigits = ____temp_1
1654
- local pattern = ("^%s*(-?[" .. allowedDigits) .. "]*)"
1655
- local number = tonumber(
1656
- string.match(numberString, pattern),
1657
- base
1658
- )
1659
- if number == nil then
1660
- return 0 / 0
1661
- end
1662
- if number >= 0 then
1663
- return math.floor(number)
1664
- else
1665
- return math.ceil(number)
1666
- end
1667
- end
1668
- end
1669
-
1670
- local function __TS__PromiseAll(iterable)
1671
- local results = {}
1672
- local toResolve = {}
1673
- local numToResolve = 0
1674
- local i = 0
1675
- for ____, item in __TS__Iterator(iterable) do
1676
- if __TS__InstanceOf(item, __TS__Promise) then
1677
- if item.state == 1 then
1678
- results[i + 1] = item.value
1679
- elseif item.state == 2 then
1680
- return __TS__Promise.reject(item.rejectionReason)
1681
- else
1682
- numToResolve = numToResolve + 1
1683
- toResolve[i] = item
1684
- end
1685
- else
1686
- results[i + 1] = item
1687
- end
1688
- i = i + 1
1689
- end
1690
- if numToResolve == 0 then
1691
- return __TS__Promise.resolve(results)
1692
- end
1693
- return __TS__New(
1694
- __TS__Promise,
1695
- function(____, resolve, reject)
1696
- for index, promise in pairs(toResolve) do
1697
- promise["then"](
1698
- promise,
1699
- function(____, data)
1700
- results[index + 1] = data
1701
- numToResolve = numToResolve - 1
1702
- if numToResolve == 0 then
1703
- resolve(nil, results)
1704
- end
1705
- end,
1706
- function(____, reason)
1707
- reject(nil, reason)
1708
- end
1709
- )
1710
- end
1711
- end
1712
- )
1713
- end
1714
-
1715
- local function __TS__PromiseAllSettled(iterable)
1716
- local results = {}
1717
- local toResolve = {}
1718
- local numToResolve = 0
1719
- local i = 0
1720
- for ____, item in __TS__Iterator(iterable) do
1721
- if __TS__InstanceOf(item, __TS__Promise) then
1722
- if item.state == 1 then
1723
- results[i + 1] = {status = "fulfilled", value = item.value}
1724
- elseif item.state == 2 then
1725
- results[i + 1] = {status = "rejected", reason = item.rejectionReason}
1726
- else
1727
- numToResolve = numToResolve + 1
1728
- toResolve[i] = item
1729
- end
1730
- else
1731
- results[i + 1] = {status = "fulfilled", value = item}
1732
- end
1733
- i = i + 1
1734
- end
1735
- if numToResolve == 0 then
1736
- return __TS__Promise.resolve(results)
1737
- end
1738
- return __TS__New(
1739
- __TS__Promise,
1740
- function(____, resolve)
1741
- for index, promise in pairs(toResolve) do
1742
- promise["then"](
1743
- promise,
1744
- function(____, data)
1745
- results[index + 1] = {status = "fulfilled", value = data}
1746
- numToResolve = numToResolve - 1
1747
- if numToResolve == 0 then
1748
- resolve(nil, results)
1749
- end
1750
- end,
1751
- function(____, reason)
1752
- results[index + 1] = {status = "rejected", reason = reason}
1753
- numToResolve = numToResolve - 1
1754
- if numToResolve == 0 then
1755
- resolve(nil, results)
1756
- end
1757
- end
1758
- )
1759
- end
1760
- end
1761
- )
1762
- end
1763
-
1764
- local function __TS__PromiseAny(iterable)
1765
- local rejections = {}
1766
- local pending = {}
1767
- for ____, item in __TS__Iterator(iterable) do
1768
- if __TS__InstanceOf(item, __TS__Promise) then
1769
- if item.state == 1 then
1770
- return __TS__Promise.resolve(item.value)
1771
- elseif item.state == 2 then
1772
- rejections[#rejections + 1] = item.rejectionReason
1773
- else
1774
- pending[#pending + 1] = item
1775
- end
1776
- else
1777
- return __TS__Promise.resolve(item)
1778
- end
1779
- end
1780
- if #pending == 0 then
1781
- return __TS__Promise.reject("No promises to resolve with .any()")
1782
- end
1783
- local numResolved = 0
1784
- return __TS__New(
1785
- __TS__Promise,
1786
- function(____, resolve, reject)
1787
- for ____, promise in ipairs(pending) do
1788
- promise["then"](
1789
- promise,
1790
- function(____, data)
1791
- resolve(nil, data)
1792
- end,
1793
- function(____, reason)
1794
- rejections[#rejections + 1] = reason
1795
- numResolved = numResolved + 1
1796
- if numResolved == #pending then
1797
- reject(nil, {name = "AggregateError", message = "All Promises rejected", errors = rejections})
1798
- end
1799
- end
1800
- )
1801
- end
1802
- end
1803
- )
1804
- end
1805
-
1806
- local function __TS__PromiseRace(iterable)
1807
- local pending = {}
1808
- for ____, item in __TS__Iterator(iterable) do
1809
- if __TS__InstanceOf(item, __TS__Promise) then
1810
- if item.state == 1 then
1811
- return __TS__Promise.resolve(item.value)
1812
- elseif item.state == 2 then
1813
- return __TS__Promise.reject(item.rejectionReason)
1814
- else
1815
- pending[#pending + 1] = item
1816
- end
1817
- else
1818
- return __TS__Promise.resolve(item)
1819
- end
1820
- end
1821
- return __TS__New(
1822
- __TS__Promise,
1823
- function(____, resolve, reject)
1824
- for ____, promise in ipairs(pending) do
1825
- promise["then"](
1826
- promise,
1827
- function(____, value) return resolve(nil, value) end,
1828
- function(____, reason) return reject(nil, reason) end
1829
- )
1830
- end
1831
- end
1832
- )
1833
- end
1834
-
1835
- local Set
1836
- do
1837
- Set = __TS__Class()
1838
- Set.name = "Set"
1839
- function Set.prototype.____constructor(self, values)
1840
- self[Symbol.toStringTag] = "Set"
1841
- self.size = 0
1842
- self.nextKey = {}
1843
- self.previousKey = {}
1844
- if values == nil then
1845
- return
1846
- end
1847
- local iterable = values
1848
- if iterable[Symbol.iterator] then
1849
- local iterator = iterable[Symbol.iterator](iterable)
1850
- while true do
1851
- local result = iterator:next()
1852
- if result.done then
1853
- break
1854
- end
1855
- self:add(result.value)
1856
- end
1857
- else
1858
- local array = values
1859
- for ____, value in ipairs(array) do
1860
- self:add(value)
1861
- end
1862
- end
1863
- end
1864
- function Set.prototype.add(self, value)
1865
- local isNewValue = not self:has(value)
1866
- if isNewValue then
1867
- self.size = self.size + 1
1868
- end
1869
- if self.firstKey == nil then
1870
- self.firstKey = value
1871
- self.lastKey = value
1872
- elseif isNewValue then
1873
- self.nextKey[self.lastKey] = value
1874
- self.previousKey[value] = self.lastKey
1875
- self.lastKey = value
1876
- end
1877
- return self
1878
- end
1879
- function Set.prototype.clear(self)
1880
- self.nextKey = {}
1881
- self.previousKey = {}
1882
- self.firstKey = nil
1883
- self.lastKey = nil
1884
- self.size = 0
1885
- end
1886
- function Set.prototype.delete(self, value)
1887
- local contains = self:has(value)
1888
- if contains then
1889
- self.size = self.size - 1
1890
- local next = self.nextKey[value]
1891
- local previous = self.previousKey[value]
1892
- if next and previous then
1893
- self.nextKey[previous] = next
1894
- self.previousKey[next] = previous
1895
- elseif next then
1896
- self.firstKey = next
1897
- self.previousKey[next] = nil
1898
- elseif previous then
1899
- self.lastKey = previous
1900
- self.nextKey[previous] = nil
1901
- else
1902
- self.firstKey = nil
1903
- self.lastKey = nil
1904
- end
1905
- self.nextKey[value] = nil
1906
- self.previousKey[value] = nil
1907
- end
1908
- return contains
1909
- end
1910
- function Set.prototype.forEach(self, callback)
1911
- for ____, key in __TS__Iterator(self:keys()) do
1912
- callback(nil, key, key, self)
1913
- end
1914
- end
1915
- function Set.prototype.has(self, value)
1916
- return self.nextKey[value] ~= nil or self.lastKey == value
1917
- end
1918
- Set.prototype[Symbol.iterator] = function(self)
1919
- return self:values()
1920
- end
1921
- function Set.prototype.entries(self)
1922
- local nextKey = self.nextKey
1923
- local key = self.firstKey
1924
- return {
1925
- [Symbol.iterator] = function(self)
1926
- return self
1927
- end,
1928
- next = function(self)
1929
- local result = {done = not key, value = {key, key}}
1930
- key = nextKey[key]
1931
- return result
1932
- end
1933
- }
1934
- end
1935
- function Set.prototype.keys(self)
1936
- local nextKey = self.nextKey
1937
- local key = self.firstKey
1938
- return {
1939
- [Symbol.iterator] = function(self)
1940
- return self
1941
- end,
1942
- next = function(self)
1943
- local result = {done = not key, value = key}
1944
- key = nextKey[key]
1945
- return result
1946
- end
1947
- }
1948
- end
1949
- function Set.prototype.values(self)
1950
- local nextKey = self.nextKey
1951
- local key = self.firstKey
1952
- return {
1953
- [Symbol.iterator] = function(self)
1954
- return self
1955
- end,
1956
- next = function(self)
1957
- local result = {done = not key, value = key}
1958
- key = nextKey[key]
1959
- return result
1960
- end
1961
- }
1962
- end
1963
- Set[Symbol.species] = Set
1964
- end
1965
-
1966
- local function __TS__SparseArrayNew(...)
1967
- local sparseArray = {...}
1968
- sparseArray.sparseLength = select("#", ...)
1969
- return sparseArray
1970
- end
1971
-
1972
- local function __TS__SparseArrayPush(sparseArray, ...)
1973
- local args = {...}
1974
- local argsLen = select("#", ...)
1975
- local listLen = sparseArray.sparseLength
1976
- for i = 1, argsLen do
1977
- sparseArray[listLen + i] = args[i]
1978
- end
1979
- sparseArray.sparseLength = listLen + argsLen
1980
- end
1981
-
1982
- local function __TS__SparseArraySpread(sparseArray)
1983
- local ____unpack_0 = unpack
1984
- if ____unpack_0 == nil then
1985
- ____unpack_0 = table.unpack
1986
- end
1987
- local _unpack = ____unpack_0
1988
- return _unpack(sparseArray, 1, sparseArray.sparseLength)
1989
- end
1990
-
1991
- local WeakMap
1992
- do
1993
- WeakMap = __TS__Class()
1994
- WeakMap.name = "WeakMap"
1995
- function WeakMap.prototype.____constructor(self, entries)
1996
- self[Symbol.toStringTag] = "WeakMap"
1997
- self.items = {}
1998
- setmetatable(self.items, {__mode = "k"})
1999
- if entries == nil then
2000
- return
2001
- end
2002
- local iterable = entries
2003
- if iterable[Symbol.iterator] then
2004
- local iterator = iterable[Symbol.iterator](iterable)
2005
- while true do
2006
- local result = iterator:next()
2007
- if result.done then
2008
- break
2009
- end
2010
- local value = result.value
2011
- self.items[value[1]] = value[2]
2012
- end
2013
- else
2014
- for ____, kvp in ipairs(entries) do
2015
- self.items[kvp[1]] = kvp[2]
2016
- end
2017
- end
2018
- end
2019
- function WeakMap.prototype.delete(self, key)
2020
- local contains = self:has(key)
2021
- self.items[key] = nil
2022
- return contains
2023
- end
2024
- function WeakMap.prototype.get(self, key)
2025
- return self.items[key]
2026
- end
2027
- function WeakMap.prototype.has(self, key)
2028
- return self.items[key] ~= nil
2029
- end
2030
- function WeakMap.prototype.set(self, key, value)
2031
- self.items[key] = value
2032
- return self
2033
- end
2034
- WeakMap[Symbol.species] = WeakMap
2035
- end
2036
-
2037
- local WeakSet
2038
- do
2039
- WeakSet = __TS__Class()
2040
- WeakSet.name = "WeakSet"
2041
- function WeakSet.prototype.____constructor(self, values)
2042
- self[Symbol.toStringTag] = "WeakSet"
2043
- self.items = {}
2044
- setmetatable(self.items, {__mode = "k"})
2045
- if values == nil then
2046
- return
2047
- end
2048
- local iterable = values
2049
- if iterable[Symbol.iterator] then
2050
- local iterator = iterable[Symbol.iterator](iterable)
2051
- while true do
2052
- local result = iterator:next()
2053
- if result.done then
2054
- break
2055
- end
2056
- self.items[result.value] = true
2057
- end
2058
- else
2059
- for ____, value in ipairs(values) do
2060
- self.items[value] = true
2061
- end
2062
- end
2063
- end
2064
- function WeakSet.prototype.add(self, value)
2065
- self.items[value] = true
2066
- return self
2067
- end
2068
- function WeakSet.prototype.delete(self, value)
2069
- local contains = self:has(value)
2070
- self.items[value] = nil
2071
- return contains
2072
- end
2073
- function WeakSet.prototype.has(self, value)
2074
- return self.items[value] == true
2075
- end
2076
- WeakSet[Symbol.species] = WeakSet
2077
- end
2078
-
2079
- local function __TS__SourceMapTraceBack(fileName, sourceMap)
2080
- _G.__TS__sourcemap = _G.__TS__sourcemap or ({})
2081
- _G.__TS__sourcemap[fileName] = sourceMap
2082
- if _G.__TS__originalTraceback == nil then
2083
- local originalTraceback = debug.traceback
2084
- _G.__TS__originalTraceback = originalTraceback
2085
- debug.traceback = function(thread, message, level)
2086
- local trace
2087
- if thread == nil and message == nil and level == nil then
2088
- trace = originalTraceback()
2089
- else
2090
- trace = originalTraceback(thread, message, level)
2091
- end
2092
- if type(trace) ~= "string" then
2093
- return trace
2094
- end
2095
- local function replacer(____, file, srcFile, line)
2096
- local fileSourceMap = _G.__TS__sourcemap[file]
2097
- if fileSourceMap and fileSourceMap[line] then
2098
- local data = fileSourceMap[line]
2099
- if type(data) == "number" then
2100
- return (srcFile .. ":") .. tostring(data)
2101
- end
2102
- return (tostring(data.file) .. ":") .. tostring(data.line)
2103
- end
2104
- return (file .. ":") .. line
2105
- end
2106
- local result = string.gsub(
2107
- trace,
2108
- "(%S+)%.lua:(%d+)",
2109
- function(file, line) return replacer(nil, file .. ".lua", file .. ".ts", line) end
2110
- )
2111
- local function stringReplacer(____, file, line)
2112
- local fileSourceMap = _G.__TS__sourcemap[file]
2113
- if fileSourceMap and fileSourceMap[line] then
2114
- local chunkName = string.match(file, "%[string \"([^\"]+)\"%]")
2115
- local sourceName = string.gsub(chunkName, ".lua$", ".ts")
2116
- local data = fileSourceMap[line]
2117
- if type(data) == "number" then
2118
- return (sourceName .. ":") .. tostring(data)
2119
- end
2120
- return (tostring(data.file) .. ":") .. tostring(data.line)
2121
- end
2122
- return (file .. ":") .. line
2123
- end
2124
- result = string.gsub(
2125
- result,
2126
- "(%[string \"[^\"]+\"%]):(%d+)",
2127
- function(file, line) return stringReplacer(nil, file, line) end
2128
- )
2129
- return result
2130
- end
2131
- end
2132
- end
2133
-
2134
- local function __TS__Spread(iterable)
2135
- local arr = {}
2136
- if type(iterable) == "string" then
2137
- for i = 0, #iterable - 1 do
2138
- arr[i + 1] = __TS__StringAccess(iterable, i)
2139
- end
2140
- else
2141
- local len = 0
2142
- for ____, item in __TS__Iterator(iterable) do
2143
- len = len + 1
2144
- arr[len] = item
2145
- end
2146
- end
2147
- return __TS__Unpack(arr)
2148
- end
2149
-
2150
- local function __TS__StringCharAt(self, pos)
2151
- if pos ~= pos then
2152
- pos = 0
2153
- end
2154
- if pos < 0 then
2155
- return ""
2156
- end
2157
- return string.sub(self, pos + 1, pos + 1)
2158
- end
2159
-
2160
- local function __TS__StringCharCodeAt(self, index)
2161
- if index ~= index then
2162
- index = 0
2163
- end
2164
- if index < 0 then
2165
- return 0 / 0
2166
- end
2167
- local ____string_byte_result_0 = string.byte(self, index + 1)
2168
- if ____string_byte_result_0 == nil then
2169
- ____string_byte_result_0 = 0 / 0
2170
- end
2171
- return ____string_byte_result_0
2172
- end
2173
-
2174
- local function __TS__StringEndsWith(self, searchString, endPosition)
2175
- if endPosition == nil or endPosition > #self then
2176
- endPosition = #self
2177
- end
2178
- return string.sub(self, endPosition - #searchString + 1, endPosition) == searchString
2179
- end
2180
-
2181
- local function __TS__StringIncludes(self, searchString, position)
2182
- if not position then
2183
- position = 1
2184
- else
2185
- position = position + 1
2186
- end
2187
- local index = string.find(self, searchString, position, true)
2188
- return index ~= nil
2189
- end
2190
-
2191
- local function __TS__StringPadEnd(self, maxLength, fillString)
2192
- if fillString == nil then
2193
- fillString = " "
2194
- end
2195
- if maxLength ~= maxLength then
2196
- maxLength = 0
2197
- end
2198
- if maxLength == -math.huge or maxLength == math.huge then
2199
- error("Invalid string length", 0)
2200
- end
2201
- if #self >= maxLength or #fillString == 0 then
2202
- return self
2203
- end
2204
- maxLength = maxLength - #self
2205
- if maxLength > #fillString then
2206
- fillString = fillString .. string.rep(
2207
- fillString,
2208
- math.floor(maxLength / #fillString)
2209
- )
2210
- end
2211
- return self .. string.sub(
2212
- fillString,
2213
- 1,
2214
- math.floor(maxLength)
2215
- )
2216
- end
2217
-
2218
- local function __TS__StringPadStart(self, maxLength, fillString)
2219
- if fillString == nil then
2220
- fillString = " "
2221
- end
2222
- if maxLength ~= maxLength then
2223
- maxLength = 0
2224
- end
2225
- if maxLength == -math.huge or maxLength == math.huge then
2226
- error("Invalid string length", 0)
2227
- end
2228
- if #self >= maxLength or #fillString == 0 then
2229
- return self
2230
- end
2231
- maxLength = maxLength - #self
2232
- if maxLength > #fillString then
2233
- fillString = fillString .. string.rep(
2234
- fillString,
2235
- math.floor(maxLength / #fillString)
2236
- )
2237
- end
2238
- return string.sub(
2239
- fillString,
2240
- 1,
2241
- math.floor(maxLength)
2242
- ) .. self
2243
- end
2244
-
2245
- local __TS__StringReplace
2246
- do
2247
- local sub = string.sub
2248
- function __TS__StringReplace(source, searchValue, replaceValue)
2249
- local startPos, endPos = string.find(source, searchValue, nil, true)
2250
- if not startPos then
2251
- return source
2252
- end
2253
- local before = sub(source, 1, startPos - 1)
2254
- local ____temp_0
2255
- if type(replaceValue) == "string" then
2256
- ____temp_0 = replaceValue
2257
- else
2258
- ____temp_0 = replaceValue(nil, searchValue, startPos - 1, source)
2259
- end
2260
- local replacement = ____temp_0
2261
- local after = sub(source, endPos + 1)
2262
- return (before .. replacement) .. after
2263
- end
2264
- end
2265
-
2266
- local __TS__StringSplit
2267
- do
2268
- local sub = string.sub
2269
- local find = string.find
2270
- function __TS__StringSplit(source, separator, limit)
2271
- if limit == nil then
2272
- limit = 4294967295
2273
- end
2274
- if limit == 0 then
2275
- return {}
2276
- end
2277
- local result = {}
2278
- local resultIndex = 1
2279
- if separator == nil or separator == "" then
2280
- for i = 1, #source do
2281
- result[resultIndex] = sub(source, i, i)
2282
- resultIndex = resultIndex + 1
2283
- end
2284
- else
2285
- local currentPos = 1
2286
- while resultIndex <= limit do
2287
- local startPos, endPos = find(source, separator, currentPos, true)
2288
- if not startPos then
2289
- break
2290
- end
2291
- result[resultIndex] = sub(source, currentPos, startPos - 1)
2292
- resultIndex = resultIndex + 1
2293
- currentPos = endPos + 1
2294
- end
2295
- if resultIndex <= limit then
2296
- result[resultIndex] = sub(source, currentPos)
2297
- end
2298
- end
2299
- return result
2300
- end
2301
- end
2302
-
2303
- local __TS__StringReplaceAll
2304
- do
2305
- local sub = string.sub
2306
- local find = string.find
2307
- function __TS__StringReplaceAll(source, searchValue, replaceValue)
2308
- if type(replaceValue) == "string" then
2309
- local concat = table.concat(
2310
- __TS__StringSplit(source, searchValue),
2311
- replaceValue
2312
- )
2313
- if #searchValue == 0 then
2314
- return (replaceValue .. concat) .. replaceValue
2315
- end
2316
- return concat
2317
- end
2318
- local parts = {}
2319
- local partsIndex = 1
2320
- if #searchValue == 0 then
2321
- parts[1] = replaceValue(nil, "", 0, source)
2322
- partsIndex = 2
2323
- for i = 1, #source do
2324
- parts[partsIndex] = sub(source, i, i)
2325
- parts[partsIndex + 1] = replaceValue(nil, "", i, source)
2326
- partsIndex = partsIndex + 2
2327
- end
2328
- else
2329
- local currentPos = 1
2330
- while true do
2331
- local startPos, endPos = find(source, searchValue, currentPos, true)
2332
- if not startPos then
2333
- break
2334
- end
2335
- parts[partsIndex] = sub(source, currentPos, startPos - 1)
2336
- parts[partsIndex + 1] = replaceValue(nil, searchValue, startPos - 1, source)
2337
- partsIndex = partsIndex + 2
2338
- currentPos = endPos + 1
2339
- end
2340
- parts[partsIndex] = sub(source, currentPos)
2341
- end
2342
- return table.concat(parts)
2343
- end
2344
- end
2345
-
2346
- local function __TS__StringSlice(self, start, ____end)
2347
- if start == nil or start ~= start then
2348
- start = 0
2349
- end
2350
- if ____end ~= ____end then
2351
- ____end = 0
2352
- end
2353
- if start >= 0 then
2354
- start = start + 1
2355
- end
2356
- if ____end ~= nil and ____end < 0 then
2357
- ____end = ____end - 1
2358
- end
2359
- return string.sub(self, start, ____end)
2360
- end
2361
-
2362
- local function __TS__StringStartsWith(self, searchString, position)
2363
- if position == nil or position < 0 then
2364
- position = 0
2365
- end
2366
- return string.sub(self, position + 1, #searchString + position) == searchString
2367
- end
2368
-
2369
- local function __TS__StringTrim(self)
2370
- local result = string.gsub(self, "^[%s ]*(.-)[%s ]*$", "%1")
2371
- return result
2372
- end
2373
-
2374
- local function __TS__StringTrimEnd(self)
2375
- local result = string.gsub(self, "[%s ]*$", "")
2376
- return result
2377
- end
2378
-
2379
- local function __TS__StringTrimStart(self)
2380
- local result = string.gsub(self, "^[%s ]*", "")
2381
- return result
2382
- end
2383
-
2384
- local __TS__SymbolRegistryFor, __TS__SymbolRegistryKeyFor
2385
- do
2386
- local symbolRegistry = {}
2387
- function __TS__SymbolRegistryFor(key)
2388
- if not symbolRegistry[key] then
2389
- symbolRegistry[key] = __TS__Symbol(key)
2390
- end
2391
- return symbolRegistry[key]
2392
- end
2393
- function __TS__SymbolRegistryKeyFor(sym)
2394
- for key in pairs(symbolRegistry) do
2395
- if symbolRegistry[key] == sym then
2396
- return key
2397
- end
2398
- end
2399
- end
2400
- end
2401
-
2402
- local function __TS__TypeOf(value)
2403
- local luaType = type(value)
2404
- if luaType == "table" then
2405
- return "object"
2406
- elseif luaType == "nil" then
2407
- return "undefined"
2408
- else
2409
- return luaType
2410
- end
2411
- end
2412
-
2413
- return {
2414
- __TS__ArrayConcat = __TS__ArrayConcat,
2415
- __TS__ArrayEntries = __TS__ArrayEntries,
2416
- __TS__ArrayEvery = __TS__ArrayEvery,
2417
- __TS__ArrayFilter = __TS__ArrayFilter,
2418
- __TS__ArrayForEach = __TS__ArrayForEach,
2419
- __TS__ArrayFind = __TS__ArrayFind,
2420
- __TS__ArrayFindIndex = __TS__ArrayFindIndex,
2421
- __TS__ArrayFrom = __TS__ArrayFrom,
2422
- __TS__ArrayIncludes = __TS__ArrayIncludes,
2423
- __TS__ArrayIndexOf = __TS__ArrayIndexOf,
2424
- __TS__ArrayIsArray = __TS__ArrayIsArray,
2425
- __TS__ArrayJoin = __TS__ArrayJoin,
2426
- __TS__ArrayMap = __TS__ArrayMap,
2427
- __TS__ArrayPush = __TS__ArrayPush,
2428
- __TS__ArrayPushArray = __TS__ArrayPushArray,
2429
- __TS__ArrayReduce = __TS__ArrayReduce,
2430
- __TS__ArrayReduceRight = __TS__ArrayReduceRight,
2431
- __TS__ArrayReverse = __TS__ArrayReverse,
2432
- __TS__ArrayUnshift = __TS__ArrayUnshift,
2433
- __TS__ArraySort = __TS__ArraySort,
2434
- __TS__ArraySlice = __TS__ArraySlice,
2435
- __TS__ArraySome = __TS__ArraySome,
2436
- __TS__ArraySplice = __TS__ArraySplice,
2437
- __TS__ArrayToObject = __TS__ArrayToObject,
2438
- __TS__ArrayFlat = __TS__ArrayFlat,
2439
- __TS__ArrayFlatMap = __TS__ArrayFlatMap,
2440
- __TS__ArraySetLength = __TS__ArraySetLength,
2441
- __TS__AsyncAwaiter = __TS__AsyncAwaiter,
2442
- __TS__Await = __TS__Await,
2443
- __TS__Class = __TS__Class,
2444
- __TS__ClassExtends = __TS__ClassExtends,
2445
- __TS__CloneDescriptor = __TS__CloneDescriptor,
2446
- __TS__Decorate = __TS__Decorate,
2447
- __TS__DecorateParam = __TS__DecorateParam,
2448
- __TS__Delete = __TS__Delete,
2449
- __TS__DelegatedYield = __TS__DelegatedYield,
2450
- Error = Error,
2451
- RangeError = RangeError,
2452
- ReferenceError = ReferenceError,
2453
- SyntaxError = SyntaxError,
2454
- TypeError = TypeError,
2455
- URIError = URIError,
2456
- __TS__FunctionBind = __TS__FunctionBind,
2457
- __TS__Generator = __TS__Generator,
2458
- __TS__InstanceOf = __TS__InstanceOf,
2459
- __TS__InstanceOfObject = __TS__InstanceOfObject,
2460
- __TS__Iterator = __TS__Iterator,
2461
- __TS__LuaIteratorSpread = __TS__LuaIteratorSpread,
2462
- Map = Map,
2463
- __TS__MathAtan2 = __TS__MathAtan2,
2464
- __TS__MathSign = __TS__MathSign,
2465
- __TS__New = __TS__New,
2466
- __TS__Number = __TS__Number,
2467
- __TS__NumberIsFinite = __TS__NumberIsFinite,
2468
- __TS__NumberIsNaN = __TS__NumberIsNaN,
2469
- __TS__NumberToString = __TS__NumberToString,
2470
- __TS__ObjectAssign = __TS__ObjectAssign,
2471
- __TS__ObjectDefineProperty = __TS__ObjectDefineProperty,
2472
- __TS__ObjectEntries = __TS__ObjectEntries,
2473
- __TS__ObjectFromEntries = __TS__ObjectFromEntries,
2474
- __TS__ObjectGetOwnPropertyDescriptor = __TS__ObjectGetOwnPropertyDescriptor,
2475
- __TS__ObjectGetOwnPropertyDescriptors = __TS__ObjectGetOwnPropertyDescriptors,
2476
- __TS__ObjectKeys = __TS__ObjectKeys,
2477
- __TS__ObjectRest = __TS__ObjectRest,
2478
- __TS__ObjectValues = __TS__ObjectValues,
2479
- __TS__ParseFloat = __TS__ParseFloat,
2480
- __TS__ParseInt = __TS__ParseInt,
2481
- __TS__Promise = __TS__Promise,
2482
- __TS__PromiseAll = __TS__PromiseAll,
2483
- __TS__PromiseAllSettled = __TS__PromiseAllSettled,
2484
- __TS__PromiseAny = __TS__PromiseAny,
2485
- __TS__PromiseRace = __TS__PromiseRace,
2486
- Set = Set,
2487
- __TS__SetDescriptor = __TS__SetDescriptor,
2488
- __TS__SparseArrayNew = __TS__SparseArrayNew,
2489
- __TS__SparseArrayPush = __TS__SparseArrayPush,
2490
- __TS__SparseArraySpread = __TS__SparseArraySpread,
2491
- WeakMap = WeakMap,
2492
- WeakSet = WeakSet,
2493
- __TS__SourceMapTraceBack = __TS__SourceMapTraceBack,
2494
- __TS__Spread = __TS__Spread,
2495
- __TS__StringAccess = __TS__StringAccess,
2496
- __TS__StringCharAt = __TS__StringCharAt,
2497
- __TS__StringCharCodeAt = __TS__StringCharCodeAt,
2498
- __TS__StringEndsWith = __TS__StringEndsWith,
2499
- __TS__StringIncludes = __TS__StringIncludes,
2500
- __TS__StringPadEnd = __TS__StringPadEnd,
2501
- __TS__StringPadStart = __TS__StringPadStart,
2502
- __TS__StringReplace = __TS__StringReplace,
2503
- __TS__StringReplaceAll = __TS__StringReplaceAll,
2504
- __TS__StringSlice = __TS__StringSlice,
2505
- __TS__StringSplit = __TS__StringSplit,
2506
- __TS__StringStartsWith = __TS__StringStartsWith,
2507
- __TS__StringSubstr = __TS__StringSubstr,
2508
- __TS__StringSubstring = __TS__StringSubstring,
2509
- __TS__StringTrim = __TS__StringTrim,
2510
- __TS__StringTrimEnd = __TS__StringTrimEnd,
2511
- __TS__StringTrimStart = __TS__StringTrimStart,
2512
- __TS__Symbol = __TS__Symbol,
2513
- Symbol = Symbol,
2514
- __TS__SymbolRegistryFor = __TS__SymbolRegistryFor,
2515
- __TS__SymbolRegistryKeyFor = __TS__SymbolRegistryKeyFor,
2516
- __TS__TypeOf = __TS__TypeOf,
2517
- __TS__Unpack = __TS__Unpack
2518
- }