typescript-to-lua 1.8.2 → 1.10.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/{ArrayEntries.lua → 5.0/ArrayEntries.lua} +0 -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/{ArrayIsArray.lua → 5.0/ArrayIsArray.lua} +0 -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/{ArraySort.lua → 5.0/ArraySort.lua} +0 -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/{Await.lua → 5.0/Await.lua} +0 -0
- package/dist/lualib/{Class.lua → 5.0/Class.lua} +0 -0
- package/dist/lualib/{ClassExtends.lua → 5.0/ClassExtends.lua} +0 -0
- package/dist/lualib/{CloneDescriptor.lua → 5.0/CloneDescriptor.lua} +0 -0
- package/dist/lualib/5.0/CountVarargs.lua +4 -0
- package/dist/lualib/5.0/Decorate.lua +36 -0
- package/dist/lualib/{DecorateParam.lua → 5.0/DecorateParam.lua} +0 -0
- package/dist/lualib/5.0/DelegatedYield.lua +34 -0
- package/dist/lualib/{Delete.lua → 5.0/Delete.lua} +0 -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/{InstanceOf.lua → 5.0/InstanceOf.lua} +0 -0
- package/dist/lualib/{InstanceOfObject.lua → 5.0/InstanceOfObject.lua} +0 -0
- package/dist/lualib/5.0/Iterator.lua +40 -0
- package/dist/lualib/5.0/LuaIteratorSpread.lua +9 -0
- package/dist/lualib/{Map.lua → 5.0/Map.lua} +0 -0
- package/dist/lualib/5.0/Match.lua +13 -0
- package/dist/lualib/{MathAtan2.lua → 5.0/MathAtan2.lua} +0 -0
- package/dist/lualib/5.0/MathModf.lua +10 -0
- package/dist/lualib/{MathSign.lua → 5.0/MathSign.lua} +0 -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/{NumberIsNaN.lua → 5.0/NumberIsNaN.lua} +0 -0
- package/dist/lualib/5.0/NumberToString.lua +47 -0
- package/dist/lualib/5.0/ObjectAssign.lua +10 -0
- package/dist/lualib/{ObjectDefineProperty.lua → 5.0/ObjectDefineProperty.lua} +0 -0
- package/dist/lualib/{ObjectEntries.lua → 5.0/ObjectEntries.lua} +0 -0
- package/dist/lualib/{ObjectFromEntries.lua → 5.0/ObjectFromEntries.lua} +0 -0
- package/dist/lualib/{ObjectGetOwnPropertyDescriptor.lua → 5.0/ObjectGetOwnPropertyDescriptor.lua} +0 -0
- package/dist/lualib/{ObjectGetOwnPropertyDescriptors.lua → 5.0/ObjectGetOwnPropertyDescriptors.lua} +0 -0
- package/dist/lualib/{ObjectKeys.lua → 5.0/ObjectKeys.lua} +0 -0
- package/dist/lualib/{ObjectRest.lua → 5.0/ObjectRest.lua} +0 -0
- package/dist/lualib/{ObjectValues.lua → 5.0/ObjectValues.lua} +0 -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/{PromiseAll.lua → 5.0/PromiseAll.lua} +0 -0
- package/dist/lualib/{PromiseAllSettled.lua → 5.0/PromiseAllSettled.lua} +0 -0
- package/dist/lualib/5.0/PromiseAny.lua +41 -0
- package/dist/lualib/5.0/PromiseRace.lua +28 -0
- package/dist/lualib/{Set.lua → 5.0/Set.lua} +0 -0
- package/dist/lualib/{SetDescriptor.lua → 5.0/SetDescriptor.lua} +0 -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/{StringCharAt.lua → 5.0/StringCharAt.lua} +0 -0
- package/dist/lualib/{StringCharCodeAt.lua → 5.0/StringCharCodeAt.lua} +0 -0
- package/dist/lualib/5.0/StringEndsWith.lua +10 -0
- package/dist/lualib/{StringIncludes.lua → 5.0/StringIncludes.lua} +0 -0
- package/dist/lualib/5.0/StringPadEnd.lua +26 -0
- package/dist/lualib/5.0/StringPadStart.lua +26 -0
- package/dist/lualib/{StringReplace.lua → 5.0/StringReplace.lua} +0 -0
- package/dist/lualib/5.0/StringReplaceAll.lua +42 -0
- package/dist/lualib/{StringSlice.lua → 5.0/StringSlice.lua} +0 -0
- package/dist/lualib/5.0/StringSplit.lua +36 -0
- package/dist/lualib/5.0/StringStartsWith.lua +10 -0
- package/dist/lualib/{StringSubstr.lua → 5.0/StringSubstr.lua} +0 -0
- package/dist/lualib/{StringSubstring.lua → 5.0/StringSubstring.lua} +0 -0
- package/dist/lualib/{StringTrim.lua → 5.0/StringTrim.lua} +0 -0
- package/dist/lualib/{StringTrimEnd.lua → 5.0/StringTrimEnd.lua} +0 -0
- package/dist/lualib/{StringTrimStart.lua → 5.0/StringTrimStart.lua} +0 -0
- package/dist/lualib/{Symbol.lua → 5.0/Symbol.lua} +0 -0
- package/dist/lualib/{SymbolRegistry.lua → 5.0/SymbolRegistry.lua} +0 -0
- package/dist/lualib/{TypeOf.lua → 5.0/TypeOf.lua} +0 -0
- package/dist/lualib/5.0/Unpack.lua +1 -0
- package/dist/lualib/{WeakMap.lua → 5.0/WeakMap.lua} +0 -0
- package/dist/lualib/{WeakSet.lua → 5.0/WeakSet.lua} +0 -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/{ArrayConcat.lua → universal/ArrayConcat.lua} +0 -0
- package/dist/lualib/universal/ArrayEntries.lua +13 -0
- package/dist/lualib/{ArrayEvery.lua → universal/ArrayEvery.lua} +0 -0
- package/dist/lualib/{ArrayFilter.lua → universal/ArrayFilter.lua} +0 -0
- package/dist/lualib/{ArrayFind.lua → universal/ArrayFind.lua} +0 -0
- package/dist/lualib/{ArrayFindIndex.lua → universal/ArrayFindIndex.lua} +0 -0
- package/dist/lualib/{ArrayFlat.lua → universal/ArrayFlat.lua} +0 -0
- package/dist/lualib/{ArrayFlatMap.lua → universal/ArrayFlatMap.lua} +0 -0
- package/dist/lualib/{ArrayForEach.lua → universal/ArrayForEach.lua} +0 -0
- package/dist/lualib/{ArrayFrom.lua → universal/ArrayFrom.lua} +0 -0
- package/dist/lualib/{ArrayIncludes.lua → universal/ArrayIncludes.lua} +0 -0
- package/dist/lualib/{ArrayIndexOf.lua → universal/ArrayIndexOf.lua} +0 -0
- package/dist/lualib/universal/ArrayIsArray.lua +3 -0
- package/dist/lualib/{ArrayJoin.lua → universal/ArrayJoin.lua} +0 -0
- package/dist/lualib/{ArrayMap.lua → universal/ArrayMap.lua} +0 -0
- package/dist/lualib/{ArrayPush.lua → universal/ArrayPush.lua} +0 -0
- package/dist/lualib/{ArrayPushArray.lua → universal/ArrayPushArray.lua} +0 -0
- package/dist/lualib/{ArrayReduce.lua → universal/ArrayReduce.lua} +1 -1
- package/dist/lualib/{ArrayReduceRight.lua → universal/ArrayReduceRight.lua} +1 -1
- package/dist/lualib/{ArrayReverse.lua → universal/ArrayReverse.lua} +0 -0
- package/dist/lualib/{ArraySetLength.lua → universal/ArraySetLength.lua} +0 -0
- package/dist/lualib/{ArraySlice.lua → universal/ArraySlice.lua} +0 -0
- package/dist/lualib/{ArraySome.lua → universal/ArraySome.lua} +0 -0
- package/dist/lualib/universal/ArraySort.lua +11 -0
- package/dist/lualib/{ArraySplice.lua → universal/ArraySplice.lua} +1 -1
- package/dist/lualib/{ArrayToObject.lua → universal/ArrayToObject.lua} +0 -0
- package/dist/lualib/{ArrayUnshift.lua → universal/ArrayUnshift.lua} +0 -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/{Decorate.lua → universal/Decorate.lua} +0 -0
- package/dist/lualib/universal/DecorateParam.lua +3 -0
- package/dist/lualib/{DelegatedYield.lua → universal/DelegatedYield.lua} +0 -0
- package/dist/lualib/universal/Delete.lua +19 -0
- package/dist/lualib/{Error.lua → universal/Error.lua} +7 -2
- package/dist/lualib/{FunctionBind.lua → universal/FunctionBind.lua} +0 -0
- package/dist/lualib/{Generator.lua → universal/Generator.lua} +2 -9
- package/dist/lualib/universal/InstanceOf.lua +18 -0
- package/dist/lualib/universal/InstanceOfObject.lua +4 -0
- package/dist/lualib/{Iterator.lua → universal/Iterator.lua} +0 -0
- package/dist/lualib/{LuaIteratorSpread.lua → universal/LuaIteratorSpread.lua} +0 -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/{New.lua → universal/New.lua} +0 -0
- package/dist/lualib/{Number.lua → universal/Number.lua} +0 -0
- package/dist/lualib/{NumberIsFinite.lua → universal/NumberIsFinite.lua} +0 -0
- package/dist/lualib/universal/NumberIsNaN.lua +3 -0
- package/dist/lualib/{NumberToString.lua → universal/NumberToString.lua} +1 -1
- package/dist/lualib/{ObjectAssign.lua → universal/ObjectAssign.lua} +0 -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/{ParseFloat.lua → universal/ParseFloat.lua} +2 -2
- package/dist/lualib/{ParseInt.lua → universal/ParseInt.lua} +7 -7
- package/dist/lualib/{Promise.lua → universal/Promise.lua} +0 -0
- package/dist/lualib/universal/PromiseAll.lua +44 -0
- package/dist/lualib/universal/PromiseAllSettled.lua +48 -0
- package/dist/lualib/{PromiseAny.lua → universal/PromiseAny.lua} +0 -0
- package/dist/lualib/{PromiseRace.lua → universal/PromiseRace.lua} +0 -0
- package/dist/lualib/universal/Set.lua +130 -0
- package/dist/lualib/universal/SetDescriptor.lua +79 -0
- package/dist/lualib/{SourceMapTraceBack.lua → universal/SourceMapTraceBack.lua} +3 -1
- package/dist/lualib/{SparseArrayNew.lua → universal/SparseArrayNew.lua} +1 -1
- package/dist/lualib/{SparseArrayPush.lua → universal/SparseArrayPush.lua} +1 -1
- package/dist/lualib/{SparseArraySpread.lua → universal/SparseArraySpread.lua} +0 -0
- package/dist/lualib/{Spread.lua → universal/Spread.lua} +0 -0
- package/dist/lualib/{StringAccess.lua → universal/StringAccess.lua} +0 -0
- package/dist/lualib/universal/StringCharAt.lua +9 -0
- package/dist/lualib/universal/StringCharCodeAt.lua +13 -0
- package/dist/lualib/{StringEndsWith.lua → universal/StringEndsWith.lua} +0 -0
- package/dist/lualib/universal/StringIncludes.lua +9 -0
- package/dist/lualib/{StringPadEnd.lua → universal/StringPadEnd.lua} +0 -0
- package/dist/lualib/{StringPadStart.lua → universal/StringPadStart.lua} +0 -0
- package/dist/lualib/universal/StringReplace.lua +20 -0
- package/dist/lualib/{StringReplaceAll.lua → universal/StringReplaceAll.lua} +0 -0
- package/dist/lualib/universal/StringSlice.lua +15 -0
- package/dist/lualib/{StringSplit.lua → universal/StringSplit.lua} +0 -0
- package/dist/lualib/{StringStartsWith.lua → universal/StringStartsWith.lua} +0 -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/{Unpack.lua → universal/Unpack.lua} +0 -0
- package/dist/lualib/universal/WeakMap.lua +45 -0
- package/dist/lualib/universal/WeakSet.lua +41 -0
- package/dist/lualib/{lualib_bundle.lua → universal/lualib_bundle.lua} +53 -37
- package/dist/lualib/{lualib_module_info.json → universal/lualib_module_info.json} +49 -4
- 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 +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/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/spread.js +4 -1
- package/dist/transformation/visitors/typescript.js +1 -0
- package/dist/transpilation/bundle.js +15 -6
- package/dist/transpilation/resolve.js +3 -3
- 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__Number(value)
|
|
2
|
+
local valueType = type(value)
|
|
3
|
+
if valueType == "number" then
|
|
4
|
+
return value
|
|
5
|
+
elseif valueType == "string" then
|
|
6
|
+
local numberValue = tonumber(value)
|
|
7
|
+
if numberValue then
|
|
8
|
+
return numberValue
|
|
9
|
+
end
|
|
10
|
+
if value == "Infinity" then
|
|
11
|
+
return 1 / 0
|
|
12
|
+
end
|
|
13
|
+
if value == "-Infinity" then
|
|
14
|
+
return -(1 / 0)
|
|
15
|
+
end
|
|
16
|
+
local stringWithoutSpaces = string.gsub(value, "%s", "")
|
|
17
|
+
if stringWithoutSpaces == "" then
|
|
18
|
+
return 0
|
|
19
|
+
end
|
|
20
|
+
return 0 / 0
|
|
21
|
+
elseif valueType == "boolean" then
|
|
22
|
+
return value and 1 or 0
|
|
23
|
+
else
|
|
24
|
+
return 0 / 0
|
|
25
|
+
end
|
|
26
|
+
end
|
|
File without changes
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
local __TS__NumberToString
|
|
2
|
+
do
|
|
3
|
+
local radixChars = "0123456789abcdefghijklmnopqrstuvwxyz"
|
|
4
|
+
function __TS__NumberToString(self, radix)
|
|
5
|
+
if radix == nil or radix == 10 or self == 1 / 0 or self == -(1 / 0) or self ~= self then
|
|
6
|
+
return tostring(self)
|
|
7
|
+
end
|
|
8
|
+
radix = math.floor(radix)
|
|
9
|
+
if radix < 2 or radix > 36 then
|
|
10
|
+
error("toString() radix argument must be between 2 and 36", 0)
|
|
11
|
+
end
|
|
12
|
+
local integer, fraction = __TS__MathModf(math.abs(self))
|
|
13
|
+
local result = ""
|
|
14
|
+
if radix == 8 then
|
|
15
|
+
result = string.format("%o", integer)
|
|
16
|
+
elseif radix == 16 then
|
|
17
|
+
result = string.format("%x", integer)
|
|
18
|
+
else
|
|
19
|
+
repeat
|
|
20
|
+
do
|
|
21
|
+
result = __TS__StringAccess(
|
|
22
|
+
radixChars,
|
|
23
|
+
__TS__Modulo50(integer, radix)
|
|
24
|
+
) .. result
|
|
25
|
+
integer = math.floor(integer / radix)
|
|
26
|
+
end
|
|
27
|
+
until not (integer ~= 0)
|
|
28
|
+
end
|
|
29
|
+
if fraction ~= 0 then
|
|
30
|
+
result = result .. "."
|
|
31
|
+
local delta = 1e-16
|
|
32
|
+
repeat
|
|
33
|
+
do
|
|
34
|
+
fraction = fraction * radix
|
|
35
|
+
delta = delta * radix
|
|
36
|
+
local digit = math.floor(fraction)
|
|
37
|
+
result = result .. __TS__StringAccess(radixChars, digit)
|
|
38
|
+
fraction = fraction - digit
|
|
39
|
+
end
|
|
40
|
+
until not (fraction >= delta)
|
|
41
|
+
end
|
|
42
|
+
if self < 0 then
|
|
43
|
+
result = "-" .. result
|
|
44
|
+
end
|
|
45
|
+
return result
|
|
46
|
+
end
|
|
47
|
+
end
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/dist/lualib/{ObjectGetOwnPropertyDescriptor.lua → 5.0/ObjectGetOwnPropertyDescriptor.lua}
RENAMED
|
File without changes
|
package/dist/lualib/{ObjectGetOwnPropertyDescriptors.lua → 5.0/ObjectGetOwnPropertyDescriptors.lua}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
local function __TS__ParseFloat(numberString)
|
|
2
|
+
local infinityMatch = __TS__Match(numberString, "^%s*(-?Infinity)")
|
|
3
|
+
if infinityMatch then
|
|
4
|
+
local ____temp_0
|
|
5
|
+
if __TS__StringAccess(infinityMatch, 0) == "-" then
|
|
6
|
+
____temp_0 = -(1 / 0)
|
|
7
|
+
else
|
|
8
|
+
____temp_0 = 1 / 0
|
|
9
|
+
end
|
|
10
|
+
return ____temp_0
|
|
11
|
+
end
|
|
12
|
+
local number = tonumber(__TS__Match(numberString, "^%s*(-?%d+%.?%d*)"))
|
|
13
|
+
local ____number_1 = number
|
|
14
|
+
if ____number_1 == nil then
|
|
15
|
+
____number_1 = 0 / 0
|
|
16
|
+
end
|
|
17
|
+
return ____number_1
|
|
18
|
+
end
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
local __TS__ParseInt
|
|
2
|
+
do
|
|
3
|
+
local parseIntBasePattern = "0123456789aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTvVwWxXyYzZ"
|
|
4
|
+
function __TS__ParseInt(numberString, base)
|
|
5
|
+
if base == nil then
|
|
6
|
+
base = 10
|
|
7
|
+
local hexMatch = __TS__Match(numberString, "^%s*-?0[xX]")
|
|
8
|
+
if hexMatch then
|
|
9
|
+
base = 16
|
|
10
|
+
local ____TS__Match_result__0_0
|
|
11
|
+
if __TS__Match(hexMatch, "-") then
|
|
12
|
+
____TS__Match_result__0_0 = "-" .. __TS__StringSubstr(
|
|
13
|
+
numberString,
|
|
14
|
+
string.len(hexMatch)
|
|
15
|
+
)
|
|
16
|
+
else
|
|
17
|
+
____TS__Match_result__0_0 = __TS__StringSubstr(
|
|
18
|
+
numberString,
|
|
19
|
+
string.len(hexMatch)
|
|
20
|
+
)
|
|
21
|
+
end
|
|
22
|
+
numberString = ____TS__Match_result__0_0
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
if base < 2 or base > 36 then
|
|
26
|
+
return 0 / 0
|
|
27
|
+
end
|
|
28
|
+
local ____temp_1
|
|
29
|
+
if base <= 10 then
|
|
30
|
+
____temp_1 = __TS__StringSubstring(parseIntBasePattern, 0, base)
|
|
31
|
+
else
|
|
32
|
+
____temp_1 = __TS__StringSubstr(parseIntBasePattern, 0, 10 + 2 * (base - 10))
|
|
33
|
+
end
|
|
34
|
+
local allowedDigits = ____temp_1
|
|
35
|
+
local pattern = ("^%s*(-?[" .. allowedDigits) .. "]*)"
|
|
36
|
+
local number = tonumber(
|
|
37
|
+
__TS__Match(numberString, pattern),
|
|
38
|
+
base
|
|
39
|
+
)
|
|
40
|
+
if number == nil then
|
|
41
|
+
return 0 / 0
|
|
42
|
+
end
|
|
43
|
+
if number >= 0 then
|
|
44
|
+
return math.floor(number)
|
|
45
|
+
else
|
|
46
|
+
return math.ceil(number)
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
end
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
local __TS__Promise
|
|
2
|
+
do
|
|
3
|
+
local function promiseDeferred(self)
|
|
4
|
+
local resolve
|
|
5
|
+
local reject
|
|
6
|
+
local promise = __TS__New(
|
|
7
|
+
__TS__Promise,
|
|
8
|
+
function(____, res, rej)
|
|
9
|
+
resolve = res
|
|
10
|
+
reject = rej
|
|
11
|
+
end
|
|
12
|
+
)
|
|
13
|
+
return {promise = promise, resolve = resolve, reject = reject}
|
|
14
|
+
end
|
|
15
|
+
local function isPromiseLike(self, thing)
|
|
16
|
+
return __TS__InstanceOf(thing, __TS__Promise)
|
|
17
|
+
end
|
|
18
|
+
__TS__Promise = __TS__Class()
|
|
19
|
+
__TS__Promise.name = "__TS__Promise"
|
|
20
|
+
function __TS__Promise.prototype.____constructor(self, executor)
|
|
21
|
+
self.state = 0
|
|
22
|
+
self.fulfilledCallbacks = {}
|
|
23
|
+
self.rejectedCallbacks = {}
|
|
24
|
+
self.finallyCallbacks = {}
|
|
25
|
+
do
|
|
26
|
+
local function ____catch(e)
|
|
27
|
+
self:reject(e)
|
|
28
|
+
end
|
|
29
|
+
local ____try, ____hasReturned = pcall(function()
|
|
30
|
+
executor(
|
|
31
|
+
nil,
|
|
32
|
+
__TS__FunctionBind(self.resolve, self),
|
|
33
|
+
__TS__FunctionBind(self.reject, self)
|
|
34
|
+
)
|
|
35
|
+
end)
|
|
36
|
+
if not ____try then
|
|
37
|
+
____catch(____hasReturned)
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
function __TS__Promise.resolve(data)
|
|
42
|
+
local promise = __TS__New(
|
|
43
|
+
__TS__Promise,
|
|
44
|
+
function()
|
|
45
|
+
end
|
|
46
|
+
)
|
|
47
|
+
promise.state = 1
|
|
48
|
+
promise.value = data
|
|
49
|
+
return promise
|
|
50
|
+
end
|
|
51
|
+
function __TS__Promise.reject(reason)
|
|
52
|
+
local promise = __TS__New(
|
|
53
|
+
__TS__Promise,
|
|
54
|
+
function()
|
|
55
|
+
end
|
|
56
|
+
)
|
|
57
|
+
promise.state = 2
|
|
58
|
+
promise.rejectionReason = reason
|
|
59
|
+
return promise
|
|
60
|
+
end
|
|
61
|
+
__TS__Promise.prototype["then"] = function(self, onFulfilled, onRejected)
|
|
62
|
+
local ____promiseDeferred_result_0 = promiseDeferred(nil)
|
|
63
|
+
local promise = ____promiseDeferred_result_0.promise
|
|
64
|
+
local resolve = ____promiseDeferred_result_0.resolve
|
|
65
|
+
local reject = ____promiseDeferred_result_0.reject
|
|
66
|
+
local isFulfilled = self.state == 1
|
|
67
|
+
local isRejected = self.state == 2
|
|
68
|
+
if onFulfilled then
|
|
69
|
+
local internalCallback = self:createPromiseResolvingCallback(onFulfilled, resolve, reject)
|
|
70
|
+
local ____self_fulfilledCallbacks_1 = self.fulfilledCallbacks
|
|
71
|
+
____self_fulfilledCallbacks_1[table.getn(____self_fulfilledCallbacks_1) + 1] = internalCallback
|
|
72
|
+
if isFulfilled then
|
|
73
|
+
internalCallback(nil, self.value)
|
|
74
|
+
end
|
|
75
|
+
else
|
|
76
|
+
local ____self_fulfilledCallbacks_2 = self.fulfilledCallbacks
|
|
77
|
+
____self_fulfilledCallbacks_2[table.getn(____self_fulfilledCallbacks_2) + 1] = function(____, v) return resolve(nil, v) end
|
|
78
|
+
end
|
|
79
|
+
if onRejected then
|
|
80
|
+
local internalCallback = self:createPromiseResolvingCallback(onRejected, resolve, reject)
|
|
81
|
+
local ____self_rejectedCallbacks_3 = self.rejectedCallbacks
|
|
82
|
+
____self_rejectedCallbacks_3[table.getn(____self_rejectedCallbacks_3) + 1] = internalCallback
|
|
83
|
+
if isRejected then
|
|
84
|
+
internalCallback(nil, self.rejectionReason)
|
|
85
|
+
end
|
|
86
|
+
else
|
|
87
|
+
local ____self_rejectedCallbacks_4 = self.rejectedCallbacks
|
|
88
|
+
____self_rejectedCallbacks_4[table.getn(____self_rejectedCallbacks_4) + 1] = function(____, err) return reject(nil, err) end
|
|
89
|
+
end
|
|
90
|
+
if isFulfilled then
|
|
91
|
+
resolve(nil, self.value)
|
|
92
|
+
end
|
|
93
|
+
if isRejected then
|
|
94
|
+
reject(nil, self.rejectionReason)
|
|
95
|
+
end
|
|
96
|
+
return promise
|
|
97
|
+
end
|
|
98
|
+
function __TS__Promise.prototype.catch(self, onRejected)
|
|
99
|
+
return self["then"](self, nil, onRejected)
|
|
100
|
+
end
|
|
101
|
+
function __TS__Promise.prototype.finally(self, onFinally)
|
|
102
|
+
if onFinally then
|
|
103
|
+
local ____self_finallyCallbacks_5 = self.finallyCallbacks
|
|
104
|
+
____self_finallyCallbacks_5[table.getn(____self_finallyCallbacks_5) + 1] = onFinally
|
|
105
|
+
if self.state ~= 0 then
|
|
106
|
+
onFinally(nil)
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
return self
|
|
110
|
+
end
|
|
111
|
+
function __TS__Promise.prototype.resolve(self, data)
|
|
112
|
+
if __TS__InstanceOf(data, __TS__Promise) then
|
|
113
|
+
data["then"](
|
|
114
|
+
data,
|
|
115
|
+
function(____, v) return self:resolve(v) end,
|
|
116
|
+
function(____, err) return self:reject(err) end
|
|
117
|
+
)
|
|
118
|
+
return
|
|
119
|
+
end
|
|
120
|
+
if self.state == 0 then
|
|
121
|
+
self.state = 1
|
|
122
|
+
self.value = data
|
|
123
|
+
for ____, callback in ipairs(self.fulfilledCallbacks) do
|
|
124
|
+
callback(nil, data)
|
|
125
|
+
end
|
|
126
|
+
for ____, callback in ipairs(self.finallyCallbacks) do
|
|
127
|
+
callback(nil)
|
|
128
|
+
end
|
|
129
|
+
end
|
|
130
|
+
end
|
|
131
|
+
function __TS__Promise.prototype.reject(self, reason)
|
|
132
|
+
if self.state == 0 then
|
|
133
|
+
self.state = 2
|
|
134
|
+
self.rejectionReason = reason
|
|
135
|
+
for ____, callback in ipairs(self.rejectedCallbacks) do
|
|
136
|
+
callback(nil, reason)
|
|
137
|
+
end
|
|
138
|
+
for ____, callback in ipairs(self.finallyCallbacks) do
|
|
139
|
+
callback(nil)
|
|
140
|
+
end
|
|
141
|
+
end
|
|
142
|
+
end
|
|
143
|
+
function __TS__Promise.prototype.createPromiseResolvingCallback(self, f, resolve, reject)
|
|
144
|
+
return function(____, value)
|
|
145
|
+
do
|
|
146
|
+
local function ____catch(e)
|
|
147
|
+
reject(nil, e)
|
|
148
|
+
end
|
|
149
|
+
local ____try, ____hasReturned = pcall(function()
|
|
150
|
+
self:handleCallbackData(
|
|
151
|
+
f(nil, value),
|
|
152
|
+
resolve,
|
|
153
|
+
reject
|
|
154
|
+
)
|
|
155
|
+
end)
|
|
156
|
+
if not ____try then
|
|
157
|
+
____catch(____hasReturned)
|
|
158
|
+
end
|
|
159
|
+
end
|
|
160
|
+
end
|
|
161
|
+
end
|
|
162
|
+
function __TS__Promise.prototype.handleCallbackData(self, data, resolve, reject)
|
|
163
|
+
if isPromiseLike(nil, data) then
|
|
164
|
+
local nextpromise = data
|
|
165
|
+
if nextpromise.state == 1 then
|
|
166
|
+
resolve(nil, nextpromise.value)
|
|
167
|
+
elseif nextpromise.state == 2 then
|
|
168
|
+
reject(nil, nextpromise.rejectionReason)
|
|
169
|
+
else
|
|
170
|
+
data["then"](data, resolve, reject)
|
|
171
|
+
end
|
|
172
|
+
else
|
|
173
|
+
resolve(nil, data)
|
|
174
|
+
end
|
|
175
|
+
end
|
|
176
|
+
end
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
local function __TS__PromiseAny(iterable)
|
|
2
|
+
local rejections = {}
|
|
3
|
+
local pending = {}
|
|
4
|
+
for ____, item in __TS__Iterator(iterable) do
|
|
5
|
+
if __TS__InstanceOf(item, __TS__Promise) then
|
|
6
|
+
if item.state == 1 then
|
|
7
|
+
return __TS__Promise.resolve(item.value)
|
|
8
|
+
elseif item.state == 2 then
|
|
9
|
+
rejections[table.getn(rejections) + 1] = item.rejectionReason
|
|
10
|
+
else
|
|
11
|
+
pending[table.getn(pending) + 1] = item
|
|
12
|
+
end
|
|
13
|
+
else
|
|
14
|
+
return __TS__Promise.resolve(item)
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
if table.getn(pending) == 0 then
|
|
18
|
+
return __TS__Promise.reject("No promises to resolve with .any()")
|
|
19
|
+
end
|
|
20
|
+
local numResolved = 0
|
|
21
|
+
return __TS__New(
|
|
22
|
+
__TS__Promise,
|
|
23
|
+
function(____, resolve, reject)
|
|
24
|
+
for ____, promise in ipairs(pending) do
|
|
25
|
+
promise["then"](
|
|
26
|
+
promise,
|
|
27
|
+
function(____, data)
|
|
28
|
+
resolve(nil, data)
|
|
29
|
+
end,
|
|
30
|
+
function(____, reason)
|
|
31
|
+
rejections[table.getn(rejections) + 1] = reason
|
|
32
|
+
numResolved = numResolved + 1
|
|
33
|
+
if numResolved == table.getn(pending) then
|
|
34
|
+
reject(nil, {name = "AggregateError", message = "All Promises rejected", errors = rejections})
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
)
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
)
|
|
41
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
local function __TS__PromiseRace(iterable)
|
|
2
|
+
local pending = {}
|
|
3
|
+
for ____, item in __TS__Iterator(iterable) do
|
|
4
|
+
if __TS__InstanceOf(item, __TS__Promise) then
|
|
5
|
+
if item.state == 1 then
|
|
6
|
+
return __TS__Promise.resolve(item.value)
|
|
7
|
+
elseif item.state == 2 then
|
|
8
|
+
return __TS__Promise.reject(item.rejectionReason)
|
|
9
|
+
else
|
|
10
|
+
pending[table.getn(pending) + 1] = item
|
|
11
|
+
end
|
|
12
|
+
else
|
|
13
|
+
return __TS__Promise.resolve(item)
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
return __TS__New(
|
|
17
|
+
__TS__Promise,
|
|
18
|
+
function(____, resolve, reject)
|
|
19
|
+
for ____, promise in ipairs(pending) do
|
|
20
|
+
promise["then"](
|
|
21
|
+
promise,
|
|
22
|
+
function(____, value) return resolve(nil, value) end,
|
|
23
|
+
function(____, reason) return reject(nil, reason) end
|
|
24
|
+
)
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
)
|
|
28
|
+
end
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
local function __TS__SourceMapTraceBack(fileName, sourceMap)
|
|
2
|
+
_G.__TS__sourcemap = _G.__TS__sourcemap or ({})
|
|
3
|
+
_G.__TS__sourcemap[fileName] = sourceMap
|
|
4
|
+
if _G.__TS__originalTraceback == nil then
|
|
5
|
+
local originalTraceback = debug.traceback
|
|
6
|
+
_G.__TS__originalTraceback = originalTraceback
|
|
7
|
+
debug.traceback = function(thread, message, level)
|
|
8
|
+
local trace
|
|
9
|
+
if thread == nil and message == nil and level == nil then
|
|
10
|
+
trace = originalTraceback()
|
|
11
|
+
elseif __TS__StringIncludes(_VERSION, "Lua 5.0") then
|
|
12
|
+
trace = originalTraceback((("[Level " .. tostring(level)) .. "] ") .. tostring(message))
|
|
13
|
+
else
|
|
14
|
+
trace = originalTraceback(thread, message, level)
|
|
15
|
+
end
|
|
16
|
+
if type(trace) ~= "string" then
|
|
17
|
+
return trace
|
|
18
|
+
end
|
|
19
|
+
local function replacer(____, file, srcFile, line)
|
|
20
|
+
local fileSourceMap = _G.__TS__sourcemap[file]
|
|
21
|
+
if fileSourceMap and fileSourceMap[line] then
|
|
22
|
+
local data = fileSourceMap[line]
|
|
23
|
+
if type(data) == "number" then
|
|
24
|
+
return (srcFile .. ":") .. tostring(data)
|
|
25
|
+
end
|
|
26
|
+
return (tostring(data.file) .. ":") .. tostring(data.line)
|
|
27
|
+
end
|
|
28
|
+
return (file .. ":") .. line
|
|
29
|
+
end
|
|
30
|
+
local result = string.gsub(
|
|
31
|
+
trace,
|
|
32
|
+
"(%S+)%.lua:(%d+)",
|
|
33
|
+
function(file, line) return replacer(nil, file .. ".lua", file .. ".ts", line) end
|
|
34
|
+
)
|
|
35
|
+
local function stringReplacer(____, file, line)
|
|
36
|
+
local fileSourceMap = _G.__TS__sourcemap[file]
|
|
37
|
+
if fileSourceMap and fileSourceMap[line] then
|
|
38
|
+
local chunkName = __TS__Match(file, "%[string \"([^\"]+)\"%]")
|
|
39
|
+
local sourceName = string.gsub(chunkName, ".lua$", ".ts")
|
|
40
|
+
local data = fileSourceMap[line]
|
|
41
|
+
if type(data) == "number" then
|
|
42
|
+
return (sourceName .. ":") .. tostring(data)
|
|
43
|
+
end
|
|
44
|
+
return (tostring(data.file) .. ":") .. tostring(data.line)
|
|
45
|
+
end
|
|
46
|
+
return (file .. ":") .. line
|
|
47
|
+
end
|
|
48
|
+
result = string.gsub(
|
|
49
|
+
result,
|
|
50
|
+
"(%[string \"[^\"]+\"%]):(%d+)",
|
|
51
|
+
function(file, line) return stringReplacer(nil, file, line) end
|
|
52
|
+
)
|
|
53
|
+
return result
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
local function __TS__SparseArrayPush(sparseArray, ...)
|
|
2
|
+
local args = arg
|
|
3
|
+
local argsLen = __TS__CountVarargs(unpack(arg))
|
|
4
|
+
local listLen = sparseArray.sparseLength
|
|
5
|
+
for i = 1, argsLen do
|
|
6
|
+
sparseArray[listLen + i] = args[i]
|
|
7
|
+
end
|
|
8
|
+
sparseArray.sparseLength = listLen + argsLen
|
|
9
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
local function __TS__Spread(iterable)
|
|
2
|
+
local arr = {}
|
|
3
|
+
if type(iterable) == "string" then
|
|
4
|
+
for i = 0, string.len(iterable) - 1 do
|
|
5
|
+
arr[i + 1] = __TS__StringAccess(iterable, i)
|
|
6
|
+
end
|
|
7
|
+
else
|
|
8
|
+
local len = 0
|
|
9
|
+
for ____, item in __TS__Iterator(iterable) do
|
|
10
|
+
len = len + 1
|
|
11
|
+
arr[len] = item
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
return unpack(arr)
|
|
15
|
+
end
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
local function __TS__StringEndsWith(self, searchString, endPosition)
|
|
2
|
+
if endPosition == nil or endPosition > string.len(self) then
|
|
3
|
+
endPosition = string.len(self)
|
|
4
|
+
end
|
|
5
|
+
return string.sub(
|
|
6
|
+
self,
|
|
7
|
+
endPosition - string.len(searchString) + 1,
|
|
8
|
+
endPosition
|
|
9
|
+
) == searchString
|
|
10
|
+
end
|
|
File without changes
|
|
@@ -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 == -(1 / 0) or maxLength == 1 / 0 then
|
|
9
|
+
error("Invalid string length", 0)
|
|
10
|
+
end
|
|
11
|
+
if string.len(self) >= maxLength or string.len(fillString) == 0 then
|
|
12
|
+
return self
|
|
13
|
+
end
|
|
14
|
+
maxLength = maxLength - string.len(self)
|
|
15
|
+
if maxLength > string.len(fillString) then
|
|
16
|
+
fillString = fillString .. string.rep(
|
|
17
|
+
fillString,
|
|
18
|
+
math.floor(maxLength / string.len(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 == -(1 / 0) or maxLength == 1 / 0 then
|
|
9
|
+
error("Invalid string length", 0)
|
|
10
|
+
end
|
|
11
|
+
if string.len(self) >= maxLength or string.len(fillString) == 0 then
|
|
12
|
+
return self
|
|
13
|
+
end
|
|
14
|
+
maxLength = maxLength - string.len(self)
|
|
15
|
+
if maxLength > string.len(fillString) then
|
|
16
|
+
fillString = fillString .. string.rep(
|
|
17
|
+
fillString,
|
|
18
|
+
math.floor(maxLength / string.len(fillString))
|
|
19
|
+
)
|
|
20
|
+
end
|
|
21
|
+
return string.sub(
|
|
22
|
+
fillString,
|
|
23
|
+
1,
|
|
24
|
+
math.floor(maxLength)
|
|
25
|
+
) .. self
|
|
26
|
+
end
|
|
File without changes
|
|
@@ -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 string.len(searchValue) == 0 then
|
|
12
|
+
return (replaceValue .. concat) .. replaceValue
|
|
13
|
+
end
|
|
14
|
+
return concat
|
|
15
|
+
end
|
|
16
|
+
local parts = {}
|
|
17
|
+
local partsIndex = 1
|
|
18
|
+
if string.len(searchValue) == 0 then
|
|
19
|
+
parts[1] = replaceValue(nil, "", 0, source)
|
|
20
|
+
partsIndex = 2
|
|
21
|
+
for i = 1, string.len(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
|
|
File without changes
|