Package-level declarations

Types

Link copied to clipboard
abstract class Stage<S : Stage<S>>

用于 StageLoop 中进行循环的状态集。 Stage 会被 StageLoop 的泛型所约束,通常情况下需要实现 Stage 并提供特定的类型界限,例如:

Link copied to clipboard
interface StageLoop<S : Stage<S>>

可挂起的事件循环器。

Link copied to clipboard
abstract class State<S : State<S>>

一个单向流转可挂起的 "状态机"

Functions

Link copied to clipboard
expect fun <S : Stage<S>> DefaultStageLoop(): StageLoop<S>

创建一个默认的 StageLoop 实现。

actual fun <S : Stage<S>> DefaultStageLoop(): StageLoop<S>

创建一个默认的 StageLoop 实现。

actual fun <S : Stage<S>> DefaultStageLoop(): StageLoop<S>

构建一个默认的 StageLoop 实现。 在 JVM 平台实现中内部的事件队列是并发安全的。

actual fun <S : Stage<S>> DefaultStageLoop(): StageLoop<S>

创建一个默认的 StageLoop 实现。

actual fun <S : Stage<S>> DefaultStageLoop(): StageLoop<S>

创建一个默认的 StageLoop 实现。

Inherited functions

Link copied to clipboard
inline suspend fun <S : State<S>> S.loop(onEach: (S) -> Boolean = { true }, onNext: (S?) -> S? = { it }): S

通过指定的 State 开启状态循环并直到状态消失。

inline suspend fun <S : Stage<S>> StageLoop<S>.loop(crossinline condition: (next: S?) -> Boolean = { next -> next != null }, crossinline exceptionHandle: (Throwable) -> Unit = { e -> throw e })

通过提供的 StageLoop 进行循环。