Header menu logo FCQRS

SagaBuilder Module

Contains types and functions for building and initializing sagas

Types

Type Description

SagaStateWrapper<'UserState, 'TEvent>

Standard wrapper for saga states that includes NotStarted/Started

Functions and values

Function or value Description

init actorApi sagaData userHandleEvent userApplySideEffects userApply originatorFactory sagaName snapshotPolicy

Full Usage: init actorApi sagaData userHandleEvent userApplySideEffects userApply originatorFactory sagaName snapshotPolicy

Parameters:
Returns: EntityFac<obj>

High-level saga initialization that handles all wrapping automatically

actorApi : IActor
sagaData : 'SagaData
userHandleEvent : obj -> SagaState<'SagaData, 'UserState option> -> EventAction<'UserState>
userApplySideEffects : SagaState<'SagaData, 'UserState> -> bool -> SagaTransition<'UserState> * ExecuteCommand list
userApply : SagaState<'SagaData, SagaStateWrapper<'UserState, 'TEvent>> -> SagaState<'SagaData, SagaStateWrapper<'UserState, 'TEvent>>
originatorFactory : string -> IEntityRef<obj>
sagaName : string
snapshotPolicy : SnapshotPolicy
Returns: EntityFac<obj>

initSimple actorApi sagaData userHandleEvent userApplySideEffects userApply originatorFactory sagaName snapshotPolicy

Full Usage: initSimple actorApi sagaData userHandleEvent userApplySideEffects userApply originatorFactory sagaName snapshotPolicy

Parameters:
Returns: EntityFac<obj>

Simplified saga initialization with unwrapped apply function

actorApi : IActor
sagaData : 'SagaData
userHandleEvent : obj -> SagaState<'SagaData, 'UserState option> -> EventAction<'UserState>
userApplySideEffects : SagaState<'SagaData, 'UserState> -> bool -> SagaTransition<'UserState> * ExecuteCommand list
userApply : SagaState<'SagaData, 'UserState> -> SagaState<'SagaData, 'UserState>
originatorFactory : string -> IEntityRef<obj>
sagaName : string
snapshotPolicy : SnapshotPolicy
Returns: EntityFac<obj>

Type something to start searching.