GitHub

DaffSearchSelectors

import { DaffSearchSelectors } from '@daffodil/search/state'

Selectors for the main part of search state.

interface DaffSearchSelectors<T extends DaffSearchResult = DaffSearchResult, R extends DaffSearchStateRootSlice<T> = DaffSearchStateRootSlice<T>> {
  selectSearchLoading: MemoizedSelector<R, boolean, DefaultProjectorFn<boolean>>
  selectSearchErrors: MemoizedSelector<R, DaffStateError[], DefaultProjectorFn<DaffStateError[]>>
  selectSearchResultIds: MemoizedSelector<R, Record<T["kind"], T["id"][]>, DefaultProjectorFn<Record<T["kind"], T["id"][]>>>
  selectRecent: MemoizedSelector<R, string[], DefaultProjectorFn<string[]>>
  selectResultCount: MemoizedSelector<R, number, DefaultProjectorFn<number>>
}

Properties

selectSearchLoading
MemoizedSelector<R, boolean, DefaultProjectorFn<boolean>>

Selects whether there is a pending search operation.

selectSearchErrors
MemoizedSelector<R, DaffStateError[], DefaultProjectorFn<DaffStateError[]>>

Selects the list of search errors, if any.

selectSearchResultIds
MemoizedSelector<R, Record<T["kind"], T["id"][]>, DefaultProjectorFn<Record<T["kind"], T["id"][]>>>

Selects the results of the most recent search grouped by kind.

selectRecent
MemoizedSelector<R, string[], DefaultProjectorFn<string[]>>

Selects the recent search queries.

selectResultCount
MemoizedSelector<R, number, DefaultProjectorFn<number>>

Selects the number of results in the most recent search.