Package-level declarations

Types

Link copied to clipboard
interface Action

Interface for actions.

Link copied to clipboard
interface Closeable

Interface for closeable resources.

Link copied to clipboard
abstract class ContinueNode(val context: FlowContext, val workflow: Workflow, val input: JsonObject, val actions: List<Action>) : Node, Closeable

Abstract class for a ContinueNode in the workflow.

Link copied to clipboard
data object EmptySession : Session

Object for an EmptySession. An EmptySession represents a session with no value.

Link copied to clipboard
data class ErrorNode(val input: JsonObject = buildJsonObject { }, val message: String) : Node

Represents a failure node in the workflow.

Link copied to clipboard
data class FailureNode(val cause: Throwable) : Node

Represents an error node in the workflow.

Link copied to clipboard
class FlowContext(val flowContext: SharedContext)

Class representing the context of a flow.

Link copied to clipboard
typealias FormBuilder = ParametersBuilder

Typealias for FormBuilder.

Link copied to clipboard
interface Module<ModuleConfig : Any>

Interface for a Module. A Module represents a unit of functionality in the application.

Link copied to clipboard

Class for a ModuleRegistry. A ModuleRegistry represents a registry of modules in the application.

Link copied to clipboard
sealed interface Node

Sealed interface for Node. Represents a node in the workflow.

Link copied to clipboard

Enum class representing the mode of module override.

Link copied to clipboard
class Request

Class for a Request. A Request represents a request to be sent over the network.

Link copied to clipboard
class Response(val request: Request, httpResponse: HttpResponse)

Class for a Response. A Response represents a response received from a network request.

Link copied to clipboard
interface Session

Interface for a Session. A Session represents a user's session in the application.

Link copied to clipboard

Class for a Setup. A Setup represents the setup of a module in the application.

Link copied to clipboard

Class for a SharedContext. A SharedContext represents a shared context in the application.

Link copied to clipboard
data class SuccessNode(val input: JsonObject = buildJsonObject {}, val session: Session) : Node

Represents a success node in the workflow.

Link copied to clipboard
class Workflow(val config: WorkflowConfig)

Class representing a workflow.

Link copied to clipboard
open class WorkflowConfig

DSL class for configuring a Workflow.

Functions

Link copied to clipboard
inline fun catch(block: () -> Node): Node

Tries to execute the given block and returns an Error node if an exception is thrown.

Link copied to clipboard
fun Workflow(block: WorkflowConfig.() -> Unit = {}): Workflow

Creates a new Workflow instance with the provided configuration block.