typescript-to-lua 1.8.1 → 1.10.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/CompilerOptions.d.ts +1 -0
- package/dist/CompilerOptions.js +1 -0
- package/dist/LuaAST.d.ts +43 -37
- package/dist/LuaAST.js +48 -38
- package/dist/LuaLib.d.ts +12 -6
- package/dist/LuaLib.js +31 -21
- package/dist/LuaPrinter.d.ts +1 -0
- package/dist/LuaPrinter.js +10 -4
- package/dist/lualib/5.0/ArrayConcat.lua +22 -0
- package/dist/lualib/5.0/ArrayEntries.lua +13 -0
- package/dist/lualib/5.0/ArrayEvery.lua +8 -0
- package/dist/lualib/5.0/ArrayFilter.lua +11 -0
- package/dist/lualib/5.0/ArrayFind.lua +9 -0
- package/dist/lualib/5.0/ArrayFindIndex.lua +8 -0
- package/dist/lualib/5.0/ArrayFlat.lua +27 -0
- package/dist/lualib/5.0/ArrayFlatMap.lua +17 -0
- package/dist/lualib/5.0/ArrayForEach.lua +5 -0
- package/dist/lualib/5.0/ArrayFrom.lua +29 -0
- package/dist/lualib/5.0/ArrayIncludes.lua +19 -0
- package/dist/lualib/5.0/ArrayIndexOf.lua +24 -0
- package/dist/lualib/5.0/ArrayIsArray.lua +3 -0
- package/dist/lualib/5.0/ArrayJoin.lua +10 -0
- package/dist/lualib/5.0/ArrayMap.lua +7 -0
- package/dist/lualib/5.0/ArrayPush.lua +9 -0
- package/dist/lualib/5.0/ArrayPushArray.lua +8 -0
- package/dist/lualib/5.0/ArrayReduce.lua +23 -0
- package/dist/lualib/5.0/ArrayReduceRight.lua +23 -0
- package/dist/lualib/5.0/ArrayReverse.lua +12 -0
- package/dist/lualib/5.0/ArraySetLength.lua +12 -0
- package/dist/lualib/5.0/ArraySlice.lua +43 -0
- package/dist/lualib/5.0/ArraySome.lua +8 -0
- package/dist/lualib/5.0/ArraySort.lua +11 -0
- package/dist/lualib/5.0/ArraySplice.lua +77 -0
- package/dist/lualib/5.0/ArrayToObject.lua +7 -0
- package/dist/lualib/5.0/ArrayUnshift.lua +14 -0
- package/dist/lualib/5.0/Await.lua +54 -0
- package/dist/lualib/5.0/Class.lua +6 -0
- package/dist/lualib/5.0/ClassExtends.lua +24 -0
- package/dist/lualib/5.0/CloneDescriptor.lua +28 -0
- package/dist/lualib/5.0/CountVarargs.lua +4 -0
- package/dist/lualib/5.0/Decorate.lua +36 -0
- package/dist/lualib/5.0/DecorateParam.lua +3 -0
- package/dist/lualib/5.0/DelegatedYield.lua +34 -0
- package/dist/lualib/5.0/Delete.lua +19 -0
- package/dist/lualib/5.0/Error.lua +85 -0
- package/dist/lualib/5.0/FunctionBind.lua +11 -0
- package/dist/lualib/5.0/Generator.lua +34 -0
- package/dist/lualib/5.0/InstanceOf.lua +18 -0
- package/dist/lualib/5.0/InstanceOfObject.lua +4 -0
- package/dist/lualib/5.0/Iterator.lua +40 -0
- package/dist/lualib/5.0/LuaIteratorSpread.lua +9 -0
- package/dist/lualib/5.0/Map.lua +140 -0
- package/dist/lualib/5.0/Match.lua +13 -0
- package/dist/lualib/5.0/MathAtan2.lua +1 -0
- package/dist/lualib/5.0/MathModf.lua +10 -0
- package/dist/lualib/5.0/MathSign.lua +8 -0
- package/dist/lualib/5.0/Modulo50.lua +3 -0
- package/dist/lualib/5.0/New.lua +5 -0
- package/dist/lualib/5.0/Number.lua +26 -0
- package/dist/lualib/5.0/NumberIsFinite.lua +3 -0
- package/dist/lualib/5.0/NumberIsNaN.lua +3 -0
- package/dist/lualib/5.0/NumberToString.lua +47 -0
- package/dist/lualib/5.0/ObjectAssign.lua +10 -0
- package/dist/lualib/5.0/ObjectDefineProperty.lua +59 -0
- package/dist/lualib/5.0/ObjectEntries.lua +9 -0
- package/dist/lualib/5.0/ObjectFromEntries.lua +20 -0
- package/dist/lualib/5.0/ObjectGetOwnPropertyDescriptor.lua +10 -0
- package/dist/lualib/5.0/ObjectGetOwnPropertyDescriptors.lua +7 -0
- package/dist/lualib/5.0/ObjectKeys.lua +9 -0
- package/dist/lualib/5.0/ObjectRest.lua +9 -0
- package/dist/lualib/5.0/ObjectValues.lua +9 -0
- package/dist/lualib/5.0/ParseFloat.lua +18 -0
- package/dist/lualib/5.0/ParseInt.lua +49 -0
- package/dist/lualib/5.0/Promise.lua +176 -0
- package/dist/lualib/5.0/PromiseAll.lua +44 -0
- package/dist/lualib/5.0/PromiseAllSettled.lua +48 -0
- package/dist/lualib/5.0/PromiseAny.lua +41 -0
- package/dist/lualib/5.0/PromiseRace.lua +28 -0
- package/dist/lualib/5.0/Set.lua +130 -0
- package/dist/lualib/5.0/SetDescriptor.lua +79 -0
- package/dist/lualib/5.0/SourceMapTraceBack.lua +56 -0
- package/dist/lualib/5.0/SparseArrayNew.lua +5 -0
- package/dist/lualib/5.0/SparseArrayPush.lua +9 -0
- package/dist/lualib/5.0/SparseArraySpread.lua +3 -0
- package/dist/lualib/5.0/Spread.lua +15 -0
- package/dist/lualib/5.0/StringAccess.lua +5 -0
- package/dist/lualib/5.0/StringCharAt.lua +9 -0
- package/dist/lualib/5.0/StringCharCodeAt.lua +13 -0
- package/dist/lualib/5.0/StringEndsWith.lua +10 -0
- package/dist/lualib/5.0/StringIncludes.lua +9 -0
- package/dist/lualib/5.0/StringPadEnd.lua +26 -0
- package/dist/lualib/5.0/StringPadStart.lua +26 -0
- package/dist/lualib/5.0/StringReplace.lua +20 -0
- package/dist/lualib/5.0/StringReplaceAll.lua +42 -0
- package/dist/lualib/5.0/StringSlice.lua +15 -0
- package/dist/lualib/5.0/StringSplit.lua +36 -0
- package/dist/lualib/5.0/StringStartsWith.lua +10 -0
- package/dist/lualib/5.0/StringSubstr.lua +15 -0
- package/dist/lualib/5.0/StringSubstring.lua +17 -0
- package/dist/lualib/5.0/StringTrim.lua +4 -0
- package/dist/lualib/5.0/StringTrimEnd.lua +4 -0
- package/dist/lualib/5.0/StringTrimStart.lua +4 -0
- package/dist/lualib/5.0/Symbol.lua +15 -0
- package/dist/lualib/5.0/SymbolRegistry.lua +17 -0
- package/dist/lualib/5.0/TypeOf.lua +10 -0
- package/dist/lualib/5.0/Unpack.lua +1 -0
- package/dist/lualib/5.0/WeakMap.lua +45 -0
- package/dist/lualib/5.0/WeakSet.lua +41 -0
- package/dist/lualib/5.0/lualib_bundle.lua +2574 -0
- package/dist/lualib/5.0/lualib_module_info.json +672 -0
- package/dist/lualib/universal/ArrayConcat.lua +22 -0
- package/dist/lualib/universal/ArrayEntries.lua +13 -0
- package/dist/lualib/universal/ArrayEvery.lua +8 -0
- package/dist/lualib/universal/ArrayFilter.lua +11 -0
- package/dist/lualib/universal/ArrayFind.lua +9 -0
- package/dist/lualib/universal/ArrayFindIndex.lua +8 -0
- package/dist/lualib/universal/ArrayFlat.lua +27 -0
- package/dist/lualib/universal/ArrayFlatMap.lua +17 -0
- package/dist/lualib/universal/ArrayForEach.lua +5 -0
- package/dist/lualib/universal/ArrayFrom.lua +29 -0
- package/dist/lualib/universal/ArrayIncludes.lua +19 -0
- package/dist/lualib/universal/ArrayIndexOf.lua +24 -0
- package/dist/lualib/universal/ArrayIsArray.lua +3 -0
- package/dist/lualib/universal/ArrayJoin.lua +10 -0
- package/dist/lualib/universal/ArrayMap.lua +7 -0
- package/dist/lualib/universal/ArrayPush.lua +9 -0
- package/dist/lualib/universal/ArrayPushArray.lua +8 -0
- package/dist/lualib/universal/ArrayReduce.lua +23 -0
- package/dist/lualib/universal/ArrayReduceRight.lua +23 -0
- package/dist/lualib/universal/ArrayReverse.lua +12 -0
- package/dist/lualib/universal/ArraySetLength.lua +12 -0
- package/dist/lualib/universal/ArraySlice.lua +43 -0
- package/dist/lualib/universal/ArraySome.lua +8 -0
- package/dist/lualib/universal/ArraySort.lua +11 -0
- package/dist/lualib/universal/ArraySplice.lua +77 -0
- package/dist/lualib/universal/ArrayToObject.lua +7 -0
- package/dist/lualib/universal/ArrayUnshift.lua +14 -0
- package/dist/lualib/universal/Await.lua +54 -0
- package/dist/lualib/universal/Class.lua +6 -0
- package/dist/lualib/universal/ClassExtends.lua +24 -0
- package/dist/lualib/universal/CloneDescriptor.lua +28 -0
- package/dist/lualib/universal/CountVarargs.lua +3 -0
- package/dist/lualib/universal/Decorate.lua +36 -0
- package/dist/lualib/universal/DecorateParam.lua +3 -0
- package/dist/lualib/universal/DelegatedYield.lua +34 -0
- package/dist/lualib/universal/Delete.lua +19 -0
- package/dist/lualib/universal/Error.lua +82 -0
- package/dist/lualib/universal/FunctionBind.lua +11 -0
- package/dist/lualib/universal/Generator.lua +31 -0
- package/dist/lualib/universal/InstanceOf.lua +18 -0
- package/dist/lualib/universal/InstanceOfObject.lua +4 -0
- package/dist/lualib/universal/Iterator.lua +40 -0
- package/dist/lualib/universal/LuaIteratorSpread.lua +9 -0
- package/dist/lualib/universal/Map.lua +140 -0
- package/dist/lualib/universal/Match.lua +1 -0
- package/dist/lualib/universal/MathAtan2.lua +1 -0
- package/dist/lualib/universal/MathModf.lua +1 -0
- package/dist/lualib/universal/MathSign.lua +8 -0
- package/dist/lualib/universal/Modulo50.lua +3 -0
- package/dist/lualib/universal/New.lua +5 -0
- package/dist/lualib/universal/Number.lua +26 -0
- package/dist/lualib/universal/NumberIsFinite.lua +3 -0
- package/dist/lualib/universal/NumberIsNaN.lua +3 -0
- package/dist/lualib/universal/NumberToString.lua +44 -0
- package/dist/lualib/universal/ObjectAssign.lua +10 -0
- package/dist/lualib/universal/ObjectDefineProperty.lua +59 -0
- package/dist/lualib/universal/ObjectEntries.lua +9 -0
- package/dist/lualib/universal/ObjectFromEntries.lua +20 -0
- package/dist/lualib/universal/ObjectGetOwnPropertyDescriptor.lua +10 -0
- package/dist/lualib/universal/ObjectGetOwnPropertyDescriptors.lua +7 -0
- package/dist/lualib/universal/ObjectKeys.lua +9 -0
- package/dist/lualib/universal/ObjectRest.lua +9 -0
- package/dist/lualib/universal/ObjectValues.lua +9 -0
- package/dist/lualib/universal/ParseFloat.lua +18 -0
- package/dist/lualib/universal/ParseInt.lua +43 -0
- package/dist/lualib/universal/Promise.lua +176 -0
- package/dist/lualib/universal/PromiseAll.lua +44 -0
- package/dist/lualib/universal/PromiseAllSettled.lua +48 -0
- package/dist/lualib/universal/PromiseAny.lua +41 -0
- package/dist/lualib/universal/PromiseRace.lua +28 -0
- package/dist/lualib/universal/Set.lua +130 -0
- package/dist/lualib/universal/SetDescriptor.lua +79 -0
- package/dist/lualib/universal/SourceMapTraceBack.lua +56 -0
- package/dist/lualib/universal/SparseArrayNew.lua +5 -0
- package/dist/lualib/universal/SparseArrayPush.lua +9 -0
- package/dist/lualib/universal/SparseArraySpread.lua +8 -0
- package/dist/lualib/universal/Spread.lua +15 -0
- package/dist/lualib/universal/StringAccess.lua +5 -0
- package/dist/lualib/universal/StringCharAt.lua +9 -0
- package/dist/lualib/universal/StringCharCodeAt.lua +13 -0
- package/dist/lualib/universal/StringEndsWith.lua +6 -0
- package/dist/lualib/universal/StringIncludes.lua +9 -0
- package/dist/lualib/universal/StringPadEnd.lua +26 -0
- package/dist/lualib/universal/StringPadStart.lua +26 -0
- package/dist/lualib/universal/StringReplace.lua +20 -0
- package/dist/lualib/universal/StringReplaceAll.lua +42 -0
- package/dist/lualib/universal/StringSlice.lua +15 -0
- package/dist/lualib/universal/StringSplit.lua +36 -0
- package/dist/lualib/universal/StringStartsWith.lua +6 -0
- package/dist/lualib/universal/StringSubstr.lua +15 -0
- package/dist/lualib/universal/StringSubstring.lua +17 -0
- package/dist/lualib/universal/StringTrim.lua +4 -0
- package/dist/lualib/universal/StringTrimEnd.lua +4 -0
- package/dist/lualib/universal/StringTrimStart.lua +4 -0
- package/dist/lualib/universal/Symbol.lua +15 -0
- package/dist/lualib/universal/SymbolRegistry.lua +17 -0
- package/dist/lualib/universal/TypeOf.lua +10 -0
- package/dist/lualib/universal/Unpack.lua +1 -0
- package/dist/lualib/universal/WeakMap.lua +45 -0
- package/dist/lualib/universal/WeakSet.lua +41 -0
- package/dist/lualib/universal/lualib_bundle.lua +2534 -0
- package/dist/lualib/universal/lualib_module_info.json +671 -0
- package/dist/lualib/universal/universal/CountVarargs.lua +3 -0
- package/dist/lualib/universal/universal/Match.lua +1 -0
- package/dist/lualib/universal/universal/MathModf.lua +1 -0
- package/dist/lualib/universal/universal/SparseArraySpread.lua +8 -0
- package/dist/lualib/universal/universal/Unpack.lua +1 -0
- package/dist/lualib-build/plugin.js +12 -2
- package/dist/transformation/builtins/array.d.ts +1 -1
- package/dist/transformation/builtins/array.js +12 -2
- package/dist/transformation/builtins/function.js +4 -2
- package/dist/transformation/builtins/index.js +28 -10
- package/dist/transformation/builtins/string.d.ts +1 -1
- package/dist/transformation/builtins/string.js +8 -1
- package/dist/transformation/utils/diagnostics.d.ts +5 -4
- package/dist/transformation/utils/diagnostics.js +2 -1
- package/dist/transformation/utils/lua-ast.js +3 -1
- package/dist/transformation/utils/typescript/index.js +2 -2
- package/dist/transformation/visitors/access.js +11 -0
- package/dist/transformation/visitors/binary-expression/bit.js +4 -2
- package/dist/transformation/visitors/binary-expression/index.js +4 -0
- package/dist/transformation/visitors/break-continue.js +4 -2
- package/dist/transformation/visitors/class/index.js +9 -4
- package/dist/transformation/visitors/class/members/fields.js +6 -2
- package/dist/transformation/visitors/class/members/method.js +4 -2
- package/dist/transformation/visitors/conditional.d.ts +1 -0
- package/dist/transformation/visitors/conditional.js +12 -1
- package/dist/transformation/visitors/errors.js +4 -2
- package/dist/transformation/visitors/function.js +2 -1
- package/dist/transformation/visitors/identifier.js +4 -1
- package/dist/transformation/visitors/language-extensions/multi.js +3 -1
- package/dist/transformation/visitors/language-extensions/operators.js +2 -1
- package/dist/transformation/visitors/literal.js +12 -4
- package/dist/transformation/visitors/loops/do-while.js +5 -0
- package/dist/transformation/visitors/modules/export.js +1 -1
- package/dist/transformation/visitors/return.js +12 -7
- package/dist/transformation/visitors/spread.js +4 -1
- package/dist/transformation/visitors/typescript.js +1 -0
- package/dist/transpilation/bundle.js +15 -6
- package/dist/transpilation/transpiler.js +3 -1
- package/package.json +18 -18
- package/language-extensions/index.d.ts +0 -676
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
local function __TS__StringPadEnd(self, maxLength, fillString)
|
|
2
|
+
if fillString == nil then
|
|
3
|
+
fillString = " "
|
|
4
|
+
end
|
|
5
|
+
if maxLength ~= maxLength then
|
|
6
|
+
maxLength = 0
|
|
7
|
+
end
|
|
8
|
+
if maxLength == -math.huge or maxLength == math.huge then
|
|
9
|
+
error("Invalid string length", 0)
|
|
10
|
+
end
|
|
11
|
+
if #self >= maxLength or #fillString == 0 then
|
|
12
|
+
return self
|
|
13
|
+
end
|
|
14
|
+
maxLength = maxLength - #self
|
|
15
|
+
if maxLength > #fillString then
|
|
16
|
+
fillString = fillString .. string.rep(
|
|
17
|
+
fillString,
|
|
18
|
+
math.floor(maxLength / #fillString)
|
|
19
|
+
)
|
|
20
|
+
end
|
|
21
|
+
return self .. string.sub(
|
|
22
|
+
fillString,
|
|
23
|
+
1,
|
|
24
|
+
math.floor(maxLength)
|
|
25
|
+
)
|
|
26
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
local function __TS__StringPadStart(self, maxLength, fillString)
|
|
2
|
+
if fillString == nil then
|
|
3
|
+
fillString = " "
|
|
4
|
+
end
|
|
5
|
+
if maxLength ~= maxLength then
|
|
6
|
+
maxLength = 0
|
|
7
|
+
end
|
|
8
|
+
if maxLength == -math.huge or maxLength == math.huge then
|
|
9
|
+
error("Invalid string length", 0)
|
|
10
|
+
end
|
|
11
|
+
if #self >= maxLength or #fillString == 0 then
|
|
12
|
+
return self
|
|
13
|
+
end
|
|
14
|
+
maxLength = maxLength - #self
|
|
15
|
+
if maxLength > #fillString then
|
|
16
|
+
fillString = fillString .. string.rep(
|
|
17
|
+
fillString,
|
|
18
|
+
math.floor(maxLength / #fillString)
|
|
19
|
+
)
|
|
20
|
+
end
|
|
21
|
+
return string.sub(
|
|
22
|
+
fillString,
|
|
23
|
+
1,
|
|
24
|
+
math.floor(maxLength)
|
|
25
|
+
) .. self
|
|
26
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
local __TS__StringReplace
|
|
2
|
+
do
|
|
3
|
+
local sub = string.sub
|
|
4
|
+
function __TS__StringReplace(source, searchValue, replaceValue)
|
|
5
|
+
local startPos, endPos = string.find(source, searchValue, nil, true)
|
|
6
|
+
if not startPos then
|
|
7
|
+
return source
|
|
8
|
+
end
|
|
9
|
+
local before = sub(source, 1, startPos - 1)
|
|
10
|
+
local ____temp_0
|
|
11
|
+
if type(replaceValue) == "string" then
|
|
12
|
+
____temp_0 = replaceValue
|
|
13
|
+
else
|
|
14
|
+
____temp_0 = replaceValue(nil, searchValue, startPos - 1, source)
|
|
15
|
+
end
|
|
16
|
+
local replacement = ____temp_0
|
|
17
|
+
local after = sub(source, endPos + 1)
|
|
18
|
+
return (before .. replacement) .. after
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
local __TS__StringReplaceAll
|
|
2
|
+
do
|
|
3
|
+
local sub = string.sub
|
|
4
|
+
local find = string.find
|
|
5
|
+
function __TS__StringReplaceAll(source, searchValue, replaceValue)
|
|
6
|
+
if type(replaceValue) == "string" then
|
|
7
|
+
local concat = table.concat(
|
|
8
|
+
__TS__StringSplit(source, searchValue),
|
|
9
|
+
replaceValue
|
|
10
|
+
)
|
|
11
|
+
if #searchValue == 0 then
|
|
12
|
+
return (replaceValue .. concat) .. replaceValue
|
|
13
|
+
end
|
|
14
|
+
return concat
|
|
15
|
+
end
|
|
16
|
+
local parts = {}
|
|
17
|
+
local partsIndex = 1
|
|
18
|
+
if #searchValue == 0 then
|
|
19
|
+
parts[1] = replaceValue(nil, "", 0, source)
|
|
20
|
+
partsIndex = 2
|
|
21
|
+
for i = 1, #source do
|
|
22
|
+
parts[partsIndex] = sub(source, i, i)
|
|
23
|
+
parts[partsIndex + 1] = replaceValue(nil, "", i, source)
|
|
24
|
+
partsIndex = partsIndex + 2
|
|
25
|
+
end
|
|
26
|
+
else
|
|
27
|
+
local currentPos = 1
|
|
28
|
+
while true do
|
|
29
|
+
local startPos, endPos = find(source, searchValue, currentPos, true)
|
|
30
|
+
if not startPos then
|
|
31
|
+
break
|
|
32
|
+
end
|
|
33
|
+
parts[partsIndex] = sub(source, currentPos, startPos - 1)
|
|
34
|
+
parts[partsIndex + 1] = replaceValue(nil, searchValue, startPos - 1, source)
|
|
35
|
+
partsIndex = partsIndex + 2
|
|
36
|
+
currentPos = endPos + 1
|
|
37
|
+
end
|
|
38
|
+
parts[partsIndex] = sub(source, currentPos)
|
|
39
|
+
end
|
|
40
|
+
return table.concat(parts)
|
|
41
|
+
end
|
|
42
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
local function __TS__StringSlice(self, start, ____end)
|
|
2
|
+
if start == nil or start ~= start then
|
|
3
|
+
start = 0
|
|
4
|
+
end
|
|
5
|
+
if ____end ~= ____end then
|
|
6
|
+
____end = 0
|
|
7
|
+
end
|
|
8
|
+
if start >= 0 then
|
|
9
|
+
start = start + 1
|
|
10
|
+
end
|
|
11
|
+
if ____end ~= nil and ____end < 0 then
|
|
12
|
+
____end = ____end - 1
|
|
13
|
+
end
|
|
14
|
+
return string.sub(self, start, ____end)
|
|
15
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
local __TS__StringSplit
|
|
2
|
+
do
|
|
3
|
+
local sub = string.sub
|
|
4
|
+
local find = string.find
|
|
5
|
+
function __TS__StringSplit(source, separator, limit)
|
|
6
|
+
if limit == nil then
|
|
7
|
+
limit = 4294967295
|
|
8
|
+
end
|
|
9
|
+
if limit == 0 then
|
|
10
|
+
return {}
|
|
11
|
+
end
|
|
12
|
+
local result = {}
|
|
13
|
+
local resultIndex = 1
|
|
14
|
+
if separator == nil or separator == "" then
|
|
15
|
+
for i = 1, #source do
|
|
16
|
+
result[resultIndex] = sub(source, i, i)
|
|
17
|
+
resultIndex = resultIndex + 1
|
|
18
|
+
end
|
|
19
|
+
else
|
|
20
|
+
local currentPos = 1
|
|
21
|
+
while resultIndex <= limit do
|
|
22
|
+
local startPos, endPos = find(source, separator, currentPos, true)
|
|
23
|
+
if not startPos then
|
|
24
|
+
break
|
|
25
|
+
end
|
|
26
|
+
result[resultIndex] = sub(source, currentPos, startPos - 1)
|
|
27
|
+
resultIndex = resultIndex + 1
|
|
28
|
+
currentPos = endPos + 1
|
|
29
|
+
end
|
|
30
|
+
if resultIndex <= limit then
|
|
31
|
+
result[resultIndex] = sub(source, currentPos)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
return result
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
local function __TS__StringSubstr(self, from, length)
|
|
2
|
+
if from ~= from then
|
|
3
|
+
from = 0
|
|
4
|
+
end
|
|
5
|
+
if length ~= nil then
|
|
6
|
+
if length ~= length or length <= 0 then
|
|
7
|
+
return ""
|
|
8
|
+
end
|
|
9
|
+
length = length + from
|
|
10
|
+
end
|
|
11
|
+
if from >= 0 then
|
|
12
|
+
from = from + 1
|
|
13
|
+
end
|
|
14
|
+
return string.sub(self, from, length)
|
|
15
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
local function __TS__StringSubstring(self, start, ____end)
|
|
2
|
+
if ____end ~= ____end then
|
|
3
|
+
____end = 0
|
|
4
|
+
end
|
|
5
|
+
if ____end ~= nil and start > ____end then
|
|
6
|
+
start, ____end = ____end, start
|
|
7
|
+
end
|
|
8
|
+
if start >= 0 then
|
|
9
|
+
start = start + 1
|
|
10
|
+
else
|
|
11
|
+
start = 1
|
|
12
|
+
end
|
|
13
|
+
if ____end ~= nil and ____end < 0 then
|
|
14
|
+
____end = 0
|
|
15
|
+
end
|
|
16
|
+
return string.sub(self, start, ____end)
|
|
17
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
local __TS__Symbol, Symbol
|
|
2
|
+
do
|
|
3
|
+
local symbolMetatable = {__tostring = function(self)
|
|
4
|
+
return ("Symbol(" .. (self.description or "")) .. ")"
|
|
5
|
+
end}
|
|
6
|
+
function __TS__Symbol(description)
|
|
7
|
+
return setmetatable({description = description}, symbolMetatable)
|
|
8
|
+
end
|
|
9
|
+
Symbol = {
|
|
10
|
+
iterator = __TS__Symbol("Symbol.iterator"),
|
|
11
|
+
hasInstance = __TS__Symbol("Symbol.hasInstance"),
|
|
12
|
+
species = __TS__Symbol("Symbol.species"),
|
|
13
|
+
toStringTag = __TS__Symbol("Symbol.toStringTag")
|
|
14
|
+
}
|
|
15
|
+
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
local __TS__SymbolRegistryFor, __TS__SymbolRegistryKeyFor
|
|
2
|
+
do
|
|
3
|
+
local symbolRegistry = {}
|
|
4
|
+
function __TS__SymbolRegistryFor(key)
|
|
5
|
+
if not symbolRegistry[key] then
|
|
6
|
+
symbolRegistry[key] = __TS__Symbol(key)
|
|
7
|
+
end
|
|
8
|
+
return symbolRegistry[key]
|
|
9
|
+
end
|
|
10
|
+
function __TS__SymbolRegistryKeyFor(sym)
|
|
11
|
+
for key in pairs(symbolRegistry) do
|
|
12
|
+
if symbolRegistry[key] == sym then
|
|
13
|
+
return key
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
local __TS__Unpack = table.unpack or unpack
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
local WeakMap
|
|
2
|
+
do
|
|
3
|
+
WeakMap = __TS__Class()
|
|
4
|
+
WeakMap.name = "WeakMap"
|
|
5
|
+
function WeakMap.prototype.____constructor(self, entries)
|
|
6
|
+
self[Symbol.toStringTag] = "WeakMap"
|
|
7
|
+
self.items = {}
|
|
8
|
+
setmetatable(self.items, {__mode = "k"})
|
|
9
|
+
if entries == nil then
|
|
10
|
+
return
|
|
11
|
+
end
|
|
12
|
+
local iterable = entries
|
|
13
|
+
if iterable[Symbol.iterator] then
|
|
14
|
+
local iterator = iterable[Symbol.iterator](iterable)
|
|
15
|
+
while true do
|
|
16
|
+
local result = iterator:next()
|
|
17
|
+
if result.done then
|
|
18
|
+
break
|
|
19
|
+
end
|
|
20
|
+
local value = result.value
|
|
21
|
+
self.items[value[1]] = value[2]
|
|
22
|
+
end
|
|
23
|
+
else
|
|
24
|
+
for ____, kvp in ipairs(entries) do
|
|
25
|
+
self.items[kvp[1]] = kvp[2]
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
function WeakMap.prototype.delete(self, key)
|
|
30
|
+
local contains = self:has(key)
|
|
31
|
+
self.items[key] = nil
|
|
32
|
+
return contains
|
|
33
|
+
end
|
|
34
|
+
function WeakMap.prototype.get(self, key)
|
|
35
|
+
return self.items[key]
|
|
36
|
+
end
|
|
37
|
+
function WeakMap.prototype.has(self, key)
|
|
38
|
+
return self.items[key] ~= nil
|
|
39
|
+
end
|
|
40
|
+
function WeakMap.prototype.set(self, key, value)
|
|
41
|
+
self.items[key] = value
|
|
42
|
+
return self
|
|
43
|
+
end
|
|
44
|
+
WeakMap[Symbol.species] = WeakMap
|
|
45
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
local WeakSet
|
|
2
|
+
do
|
|
3
|
+
WeakSet = __TS__Class()
|
|
4
|
+
WeakSet.name = "WeakSet"
|
|
5
|
+
function WeakSet.prototype.____constructor(self, values)
|
|
6
|
+
self[Symbol.toStringTag] = "WeakSet"
|
|
7
|
+
self.items = {}
|
|
8
|
+
setmetatable(self.items, {__mode = "k"})
|
|
9
|
+
if values == nil then
|
|
10
|
+
return
|
|
11
|
+
end
|
|
12
|
+
local iterable = values
|
|
13
|
+
if iterable[Symbol.iterator] then
|
|
14
|
+
local iterator = iterable[Symbol.iterator](iterable)
|
|
15
|
+
while true do
|
|
16
|
+
local result = iterator:next()
|
|
17
|
+
if result.done then
|
|
18
|
+
break
|
|
19
|
+
end
|
|
20
|
+
self.items[result.value] = true
|
|
21
|
+
end
|
|
22
|
+
else
|
|
23
|
+
for ____, value in ipairs(values) do
|
|
24
|
+
self.items[value] = true
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
function WeakSet.prototype.add(self, value)
|
|
29
|
+
self.items[value] = true
|
|
30
|
+
return self
|
|
31
|
+
end
|
|
32
|
+
function WeakSet.prototype.delete(self, value)
|
|
33
|
+
local contains = self:has(value)
|
|
34
|
+
self.items[value] = nil
|
|
35
|
+
return contains
|
|
36
|
+
end
|
|
37
|
+
function WeakSet.prototype.has(self, value)
|
|
38
|
+
return self.items[value] == true
|
|
39
|
+
end
|
|
40
|
+
WeakSet[Symbol.species] = WeakSet
|
|
41
|
+
end
|