mirror of
https://github.com/AmberGraceRblx/luau-promise.git
synced 2025-04-24 15:50:01 +00:00
Format with stylua
This commit is contained in:
parent
81dc283f32
commit
6c38e41422
1 changed files with 56 additions and 86 deletions
80
lib/init.lua
80
lib/init.lua
|
@ -5,7 +5,7 @@
|
|||
local ERROR_NON_PROMISE_IN_LIST = "Non-promise value passed into %s at index %s"
|
||||
local ERROR_NON_LIST = "Please pass a list of promises to %s"
|
||||
local ERROR_NON_FUNCTION = "Please pass a handler function to %s!"
|
||||
local MODE_KEY_METATABLE = {__mode = "k"}
|
||||
local MODE_KEY_METATABLE = { __mode = "k" }
|
||||
|
||||
--[[
|
||||
Creates an enum dictionary with some metamethods to prevent common mistakes.
|
||||
|
@ -34,7 +34,8 @@ end
|
|||
|
||||
@class Error
|
||||
]=]
|
||||
local Error do
|
||||
local Error
|
||||
do
|
||||
Error = {
|
||||
Kind = makeEnum("Promise.Error.Kind", {
|
||||
"ExecutionError",
|
||||
|
@ -100,10 +101,13 @@ local Error do
|
|||
}
|
||||
|
||||
for _, runtimeError in ipairs(self:getErrorChain()) do
|
||||
table.insert(errorStrings, table.concat({
|
||||
table.insert(
|
||||
errorStrings,
|
||||
table.concat({
|
||||
runtimeError.trace or runtimeError.error,
|
||||
runtimeError.context,
|
||||
}, "\n"))
|
||||
}, "\n")
|
||||
)
|
||||
end
|
||||
|
||||
return table.concat(errorStrings, "\n")
|
||||
|
@ -200,7 +204,7 @@ end
|
|||
]=]
|
||||
local Promise = {
|
||||
Error = Error,
|
||||
Status = makeEnum("Promise.Status", {"Started", "Resolved", "Rejected", "Cancelled"}),
|
||||
Status = makeEnum("Promise.Status", { "Started", "Resolved", "Rejected", "Cancelled" }),
|
||||
_getTime = os.clock,
|
||||
_timeEvent = game:GetService("RunService").Heartbeat,
|
||||
}
|
||||
|
@ -273,13 +277,7 @@ function Promise._new(traceback, callback, parent)
|
|||
end
|
||||
|
||||
coroutine.wrap(function()
|
||||
local ok, _, result = runExecutor(
|
||||
self._source,
|
||||
callback,
|
||||
resolve,
|
||||
reject,
|
||||
onCancel
|
||||
)
|
||||
local ok, _, result = runExecutor(self._source, callback, resolve, reject, onCancel)
|
||||
|
||||
if not ok then
|
||||
reject(result[1])
|
||||
|
@ -518,11 +516,9 @@ function Promise._all(traceback, promises, amount)
|
|||
-- We can assume the values inside `promises` are all promises since we
|
||||
-- checked above.
|
||||
for i, promise in ipairs(promises) do
|
||||
newPromises[i] = promise:andThen(
|
||||
function(...)
|
||||
newPromises[i] = promise:andThen(function(...)
|
||||
resolveOne(i, ...)
|
||||
end,
|
||||
function(...)
|
||||
end, function(...)
|
||||
rejectedCount = rejectedCount + 1
|
||||
|
||||
if amount == nil or #promises - rejectedCount < amount then
|
||||
|
@ -531,8 +527,7 @@ function Promise._all(traceback, promises, amount)
|
|||
|
||||
reject(...)
|
||||
end
|
||||
end
|
||||
)
|
||||
end)
|
||||
end
|
||||
|
||||
if done then
|
||||
|
@ -718,11 +713,9 @@ function Promise.allSettled(promises)
|
|||
-- We can assume the values inside `promises` are all promises since we
|
||||
-- checked above.
|
||||
for i, promise in ipairs(promises) do
|
||||
newPromises[i] = promise:finally(
|
||||
function(...)
|
||||
newPromises[i] = promise:finally(function(...)
|
||||
resolveOne(i, ...)
|
||||
end
|
||||
)
|
||||
end)
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
@ -769,7 +762,7 @@ function Promise.race(promises)
|
|||
end
|
||||
|
||||
local function finalize(callback)
|
||||
return function (...)
|
||||
return function(...)
|
||||
cancel()
|
||||
finished = true
|
||||
return callback(...)
|
||||
|
@ -1197,22 +1190,12 @@ function Promise.prototype:_andThen(traceback, successHandler, failureHandler)
|
|||
|
||||
local successCallback = resolve
|
||||
if successHandler then
|
||||
successCallback = createAdvancer(
|
||||
traceback,
|
||||
successHandler,
|
||||
resolve,
|
||||
reject
|
||||
)
|
||||
successCallback = createAdvancer(traceback, successHandler, resolve, reject)
|
||||
end
|
||||
|
||||
local failureCallback = reject
|
||||
if failureHandler then
|
||||
failureCallback = createAdvancer(
|
||||
traceback,
|
||||
failureHandler,
|
||||
resolve,
|
||||
reject
|
||||
)
|
||||
failureCallback = createAdvancer(traceback, failureHandler, resolve, reject)
|
||||
end
|
||||
|
||||
if self._status == Promise.Status.Started then
|
||||
|
@ -1434,12 +1417,7 @@ function Promise.prototype:_finally(traceback, finallyHandler, onlyOk)
|
|||
return Promise._new(traceback, function(resolve, reject)
|
||||
local finallyCallback = resolve
|
||||
if finallyHandler then
|
||||
finallyCallback = createAdvancer(
|
||||
traceback,
|
||||
finallyHandler,
|
||||
resolve,
|
||||
reject
|
||||
)
|
||||
finallyCallback = createAdvancer(traceback, finallyHandler, resolve, reject)
|
||||
end
|
||||
|
||||
if onlyOk then
|
||||
|
@ -1739,8 +1717,7 @@ function Promise.prototype:_resolve(...)
|
|||
-- Without this warning, arguments sometimes mysteriously disappear
|
||||
if select("#", ...) > 1 then
|
||||
local message = string.format(
|
||||
"When returning a Promise from andThen, extra arguments are " ..
|
||||
"discarded! See:\n\n%s",
|
||||
"When returning a Promise from andThen, extra arguments are " .. "discarded! See:\n\n%s",
|
||||
self._source
|
||||
)
|
||||
warn(message)
|
||||
|
@ -1748,11 +1725,9 @@ function Promise.prototype:_resolve(...)
|
|||
|
||||
local chainedPromise = ...
|
||||
|
||||
local promise = chainedPromise:andThen(
|
||||
function(...)
|
||||
local promise = chainedPromise:andThen(function(...)
|
||||
self:_resolve(...)
|
||||
end,
|
||||
function(...)
|
||||
end, function(...)
|
||||
local maybeRuntimeError = chainedPromise._values[1]
|
||||
|
||||
-- Backwards compatibility < v2
|
||||
|
@ -1776,8 +1751,7 @@ function Promise.prototype:_resolve(...)
|
|||
end
|
||||
|
||||
self:_reject(...)
|
||||
end
|
||||
)
|
||||
end)
|
||||
|
||||
if promise._status == Promise.Status.Cancelled then
|
||||
self:cancel()
|
||||
|
@ -1832,11 +1806,7 @@ function Promise.prototype:_reject(...)
|
|||
end
|
||||
|
||||
-- Build a reasonable message
|
||||
local message = string.format(
|
||||
"Unhandled Promise rejection:\n\n%s\n\n%s",
|
||||
err,
|
||||
self._source
|
||||
)
|
||||
local message = string.format("Unhandled Promise rejection:\n\n%s\n\n%s", err, self._source)
|
||||
|
||||
if Promise.TEST then
|
||||
-- Don't spam output when we're running tests.
|
||||
|
@ -1938,7 +1908,7 @@ function Promise.retry(callback, times, ...)
|
|||
assert(type(callback) == "function", "Parameter #1 to Promise.retry must be a function")
|
||||
assert(type(times) == "number", "Parameter #2 to Promise.retry must be a number")
|
||||
|
||||
local args, length = {...}, select("#", ...)
|
||||
local args, length = { ... }, select("#", ...)
|
||||
|
||||
return Promise.resolve(callback(...)):catch(function(...)
|
||||
if times > 0 then
|
||||
|
|
Loading…
Reference in a new issue