GitHub

DaffOperationEntityStateAdapterInterface

import { DaffOperationEntityStateAdapterInterface } from '@daffodil/core/state'

An entity state adapter that takes care of managing contextual operation and error state for entities.

interface DaffOperationEntityStateAdapterInterface<T extends DaffIdentifiable = DaffIdentifiable> {
  list<S extends DaffOperationEntityState<T> = DaffOperationEntityState<T>>(
    entities: T[]
    state: S
  ): S
  preload<S extends DaffOperationEntityState<T> = DaffOperationEntityState<T>>(
    id: string
    state: S
  ): S
  load<S extends DaffOperationEntityState<T> = DaffOperationEntityState<T>>(
    entity: T
    state: S
  ): S
  preadd<S extends DaffOperationEntityState<T> = DaffOperationEntityState<T>>(
    entity: T
    state: S
    placeholderId?: string
  ): S
  add<S extends DaffOperationEntityState<T> = DaffOperationEntityState<T>>(
    entity: T
    state: S
    placeholderId?: string
  ): S
  preupdate<S extends DaffOperationEntityState<T> = DaffOperationEntityState<T>>(
    entity: Partial<T> & DaffIdentifiable
    state: S
  ): S
  update<S extends DaffOperationEntityState<T> = DaffOperationEntityState<T>>(
    entity: Partial<T> & DaffIdentifiable
    state: S
  ): S
  preremove<S extends DaffOperationEntityState<T> = DaffOperationEntityState<T>>(
    key: string
    state: S
  ): S
  remove<S extends DaffOperationEntityState<T> = DaffOperationEntityState<T>>(
    key: string
    state: S
  ): S
  operationFailed<S extends DaffOperationEntityState<T> = DaffOperationEntityState<T>>(
    key: string
    errors: DaffStateError[]
    state: S
  ): S
  resetState<S extends DaffOperationEntityState<T> = DaffOperationEntityState<T>>(
    key: string
    state: S
  ): S
  getInitialState<S extends DaffOperationEntityState<T> = DaffOperationEntityState<T>>(state?: S): S
  getSelectors<TRootState>(selectState: (state: TRootState) => DaffOperationEntityState<T>): DaffOperationEntityStateSelectors<TRootState, T>
}

() Methods

list
S

Stores a list of entities in state and resets them all to stable.

Parameters
Parameterentities: T[]
Description
Parameterstate: S
Description
preload
S

Optimistically adds a placeholder entity into state if necessary and sets the entity to resolving.

Parameters
Parameterid: string
Description
Parameterstate: S
Description
load
S

Upserts the entity into state and resets operation state and errors.

Parameters
Parameterentity: T
Description
Parameterstate: S
Description
preadd
S

Adds a placeholder entity into state if placeholderId is specified and sets state to adding.

Parameters
Parameterentity: T
Description
Parameterstate: S
Description
ParameterplaceholderId: string
Description
add
S

Adds the entity into state, sets operation state to added, and resets errors.

Parameters
Parameterentity: T
Description
Parameterstate: S
Description
ParameterplaceholderId: string
Description
preupdate
S

Sets the entity's operation state to mutating.

Parameters
Parameterentity: Partial & DaffIdentifiable
Description
Parameterstate: S
Description
update
S

Upserts the entity into state, sets operation state to mutated, and resets errors.

Parameters
Parameterentity: Partial & DaffIdentifiable
Description
Parameterstate: S
Description
preremove
S

Sets the entity's operation state to deleting.

Parameters
Parameterkey: string
Description
Parameterstate: S
Description
remove
S

Removes the entity from state.

Parameters
Parameterkey: string
Description
Parameterstate: S
Description
operationFailed
S

Resets the entity's operation state and stores errors on the entity.

Parameters
Parameterkey: string
Description
Parametererrors: DaffStateError[]
Description
Parameterstate: S
Description
resetState
S

Resets the entity's operation state to stable.

Parameters
Parameterkey: string
Description
Parameterstate: S
Description
getInitialState
S

Gets an empty entity state.

Parameters
Parameterstate: S
Description
getSelectors
DaffOperationEntityStateSelectors<TRootState, T>

Gets entity selectors.

Parameters
ParameterselectState: (state: TRootState) => DaffOperationEntityState
Description