function Promise.resolved(...)local J=select("\035",...)if J==0 then return _emptyFulfilledPromise elseif J==1 and Promise.isPromise(...)then local J=...if not J._pendingExecuteList then return J end end local v=Promise.new()v:Resolve(...)return v end
--[=[
	Returns a resolved promise with the following values

	@param ... Values to resolve to
	@return Promise<T>
]=]
function Promise.resolved(...)
	local n = select("#", ...)
	if n == 0 then
		-- Reuse promise here to save on calls to Promise.resolved()
		return _emptyFulfilledPromise
	elseif n == 1 and Promise.isPromise(...) then
		local promise = (...)

		-- Resolving to promise that is already resolved. Just return the promise!
		if not promise._pendingExecuteList then
			return promise
		end
	end

	local promise = Promise.new()
	promise:Resolve(...)
	return promise
end
