Interface IViewStateRepository<E, S, V, EM>

View State repository interface

Author

Иван Дугалић / Ivan Dugalic /

Idugalic

interface IViewStateRepository<E, S, V, EM> {
    fetch: ((event) => Promise<null | S & V>);
    save: ((state, eventMetadata, version) => Promise<S & V>);
}

Type Parameters

  • E

    Event

  • S

    State

  • V

    Version of the state

  • EM

    Event Metadata

Hierarchy (view full)

Properties

Properties

fetch: ((event) => Promise<null | S & V>)

Fetch state

Type declaration

    • (event): Promise<null | S & V>
    • Parameters

      • event: E & EM

        Event of type E with metadata of type EM

      Returns Promise<null | S & V>

Returns

current state / S with version / V, or NULL

save: ((state, eventMetadata, version) => Promise<S & V>)

Save state

Type declaration

    • (state, eventMetadata, version): Promise<S & V>
    • Parameters

      • state: S

        State and Event Metadata of type S & EM

      • eventMetadata: EM

        Event Metadata of type EM

      • version: null | V

        State version of type V | null

      Returns Promise<S & V>

Returns

newly saved State and Version of type S & V

Generated using TypeDoc