typescript-to-lua 1.9.0 → 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 +11 -3
- package/dist/transformation/builtins/string.d.ts +1 -1
- package/dist/transformation/builtins/string.js +8 -1
- package/dist/transformation/utils/diagnostics.d.ts +2 -4
- package/dist/transformation/utils/lua-ast.js +3 -1
- package/dist/transformation/utils/typescript/index.js +2 -2
- 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/errors.js +4 -2
- package/dist/transformation/visitors/function.js +2 -1
- package/dist/transformation/visitors/language-extensions/operators.js +2 -1
- package/dist/transformation/visitors/literal.js +12 -4
- package/dist/transformation/visitors/modules/export.js +1 -1
- package/dist/transformation/visitors/spread.js +4 -1
- package/dist/transformation/visitors/typescript.js +1 -0
- package/dist/transpilation/bundle.js +11 -4
- 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
|