96 lines
2.5 KiB
Lua
96 lines
2.5 KiB
Lua
---@meta
|
|
|
|
---
|
|
---
|
|
---
|
|
---[View documents](http://www.lua.org/manual/5.1/manual.html#pdf-coroutine)
|
|
---
|
|
---@class coroutinelib
|
|
coroutine = {}
|
|
|
|
---
|
|
---Creates a new coroutine, with body `f`. `f` must be a function. Returns this new coroutine, an object with type `"thread"`.
|
|
---
|
|
---[View documents](http://www.lua.org/manual/5.1/manual.html#pdf-coroutine.create)
|
|
---
|
|
---@param f async fun(...):...
|
|
---@return thread
|
|
---@nodiscard
|
|
function coroutine.create(f) end
|
|
|
|
---
|
|
---Returns true when the running coroutine can yield.
|
|
---
|
|
---[View documents](http://www.lua.org/manual/5.1/manual.html#pdf-coroutine.isyieldable)
|
|
---
|
|
---@return boolean
|
|
---@nodiscard
|
|
function coroutine.isyieldable() end
|
|
|
|
---@version >5.4
|
|
---
|
|
---Closes coroutine `co` , closing all its pending to-be-closed variables and putting the coroutine in a dead state.
|
|
---
|
|
---[View documents](http://www.lua.org/manual/5.1/manual.html#pdf-coroutine.close)
|
|
---
|
|
---@param co thread
|
|
---@return boolean noerror
|
|
---@return any errorobject
|
|
function coroutine.close(co) end
|
|
|
|
---
|
|
---Starts or continues the execution of coroutine `co`.
|
|
---
|
|
---[View documents](http://www.lua.org/manual/5.1/manual.html#pdf-coroutine.resume)
|
|
---
|
|
---@param co thread
|
|
---@param val1? any
|
|
---@return boolean success
|
|
---@return any ...
|
|
function coroutine.resume(co, val1, ...) end
|
|
|
|
---
|
|
---Returns the running coroutine plus a boolean, true when the running coroutine is the main one.
|
|
---
|
|
---[View documents](http://www.lua.org/manual/5.1/manual.html#pdf-coroutine.running)
|
|
---
|
|
---@return thread running
|
|
---@return boolean ismain
|
|
---@nodiscard
|
|
function coroutine.running() end
|
|
|
|
---
|
|
---Returns the status of coroutine `co`.
|
|
---
|
|
---[View documents](http://www.lua.org/manual/5.1/manual.html#pdf-coroutine.status)
|
|
---
|
|
---@param co thread
|
|
---@return
|
|
---| '"running"' # Is running.
|
|
---| '"suspended"' # Is suspended or not started.
|
|
---| '"normal"' # Is active but not running.
|
|
---| '"dead"' # Has finished or stopped with an error.
|
|
---@nodiscard
|
|
function coroutine.status(co) end
|
|
|
|
---
|
|
---Creates a new coroutine, with body `f`; `f` must be a function. Returns a function that resumes the coroutine each time it is called.
|
|
---
|
|
---[View documents](http://www.lua.org/manual/5.1/manual.html#pdf-coroutine.wrap)
|
|
---
|
|
---@param f async fun(...):...
|
|
---@return fun(...):...
|
|
---@nodiscard
|
|
function coroutine.wrap(f) end
|
|
|
|
---
|
|
---Suspends the execution of the calling coroutine.
|
|
---
|
|
---[View documents](http://www.lua.org/manual/5.1/manual.html#pdf-coroutine.yield)
|
|
---
|
|
---@async
|
|
---@return any ...
|
|
function coroutine.yield(...) end
|
|
|
|
return coroutine
|