GitHub

DaffCategoryMemoizedSelectors

import { DaffCategoryMemoizedSelectors } from '@daffodil/category/state'

An interface for selectors that combine category metadata and category entities selectors.

interface DaffCategoryMemoizedSelectors<V extends DaffGenericCategory<V> = DaffCategory, W extends DaffProduct = DaffProduct> {
  selectCurrentCategory: MemoizedSelector<DaffCategoryStateRootSlice<V, DaffProduct>, V, DefaultProjectorFn<V>>
  selectCategoryPageProducts: MemoizedSelector<DaffCategoryStateRootSlice<V, W>, W[], DefaultProjectorFn<W[]>>
  selectCategory: (categoryId: V["id"]) => MemoizedSelector<DaffCategoryStateRootSlice<V, DaffProduct>, V, DefaultProjectorFn<V>>
  selectProductsByCategory: (categoryId: V["id"]) => MemoizedSelector<DaffCategoryStateRootSlice<V, W>, W[], DefaultProjectorFn<W[]>>
  selectTotalProductsByCategory: (categoryId: V["id"]) => MemoizedSelector<DaffCategoryStateRootSlice<V, DaffProduct>, number, DefaultProjectorFn<number>>
}

Properties

selectCurrentCategory
MemoizedSelector<DaffCategoryStateRootSlice<V, DaffProduct>, V, DefaultProjectorFn<V>>

Selects the current category

selectCategoryPageProducts
MemoizedSelector<DaffCategoryStateRootSlice<V, W>, W[], DefaultProjectorFn<W[]>>

Selects the products of the current category.

selectCategory
(categoryId: V["id"]) => MemoizedSelector<DaffCategoryStateRootSlice<V, DaffProduct>, V, DefaultProjectorFn<V>>

Selects a category by id.

selectProductsByCategory
(categoryId: V["id"]) => MemoizedSelector<DaffCategoryStateRootSlice<V, W>, W[], DefaultProjectorFn<W[]>>

Selects products by category id.

selectTotalProductsByCategory
(categoryId: V["id"]) => MemoizedSelector<DaffCategoryStateRootSlice<V, DaffProduct>, number, DefaultProjectorFn<number>>

Selects the total number of products in a category.