Package-level declarations

Types

Link copied to clipboard
@Serializable
@SerialName(value = "ChangeScreenState")
data class ChangeScreenStateEventSchema(val id: String, val trigger: EventTrigger, val events: SerializableImmutableList<EventSchema>?, val state: ChangeScreenStateEventSchema.State) : EventSchema

Moves the screen this event lives in to another State: Initial (its loading state), Failure (its failure state), or Success with the content to display.

Link copied to clipboard
@Serializable
@SerialName(value = "GetScreen")
data class GetScreenEventSchema(val id: String, val trigger: EventTrigger, val events: SerializableImmutableList<EventSchema>?, val method: HttpMethod = HttpMethod.GET, val body: AnySerializable?, val headers: Map<String, String>?, val timeoutMillis: Long? = null) : EventSchema

Fetches the payload of the screen this event lives in and emits it downstream, without applying it. Pair it with ChangeScreenState to decide when and how the fetched content is installed — that split is what makes custom loading and error flows possible.

Link copied to clipboard
@Serializable
@SerialName(value = "RefreshScreen")
data class RefreshScreenEventSchema(val id: String, val trigger: EventTrigger, val events: SerializableImmutableList<EventSchema>?, val method: HttpMethod = HttpMethod.GET, val body: AnySerializable?, val headers: Map<String, String>?, val timeoutMillis: Long? = null) : EventSchema

Refetches the screen this event lives in and applies the result to it. The screen is moved to its initial (loading) state, then to success with the new content or to its failure state — unlike GetScreen, no extra event is needed to install what came back.