GitHub

DaffProductEntitiesMemoizedSelectors

import { DaffProductEntitiesMemoizedSelectors } from '@daffodil/product/state'

An interface for selectors related to product entities and prices for simple products.

interface DaffProductEntitiesMemoizedSelectors<T extends DaffProduct = DaffProduct> {
  selectProductEntitiesState: MemoizedSelector<DaffProductStateRootSlice<T>, EntityState<T>, DefaultProjectorFn<EntityState<T>>>
  selectProductIds: MemoizedSelector<DaffProductStateRootSlice<T>, string[] | number[], DefaultProjectorFn<string[] | number[]>>
  selectProductEntities: MemoizedSelector<DaffProductStateRootSlice<T>, Dictionary<T>, DefaultProjectorFn<Dictionary<T>>>
  selectAllProducts: MemoizedSelector<DaffProductStateRootSlice<T>, T[], DefaultProjectorFn<T[]>>
  selectProductTotal: MemoizedSelector<DaffProductStateRootSlice<T>, number, DefaultProjectorFn<number>>
  selectProduct: (productId: T["id"]) => MemoizedSelector<DaffProductStateRootSlice<T>, T, DefaultProjectorFn<T>>
  selectProductPrice: (productId: T["id"]) => MemoizedSelector<DaffProductStateRootSlice<T>, number, DefaultProjectorFn<number>>
  selectProductDiscountAmount: (productId: T["id"]) => MemoizedSelector<DaffProductStateRootSlice<T>, number, DefaultProjectorFn<number>>
  selectProductDiscountedPrice: (productId: T["id"]) => MemoizedSelector<DaffProductStateRootSlice<T>, number, DefaultProjectorFn<number>>
  selectProductDiscountPercent: (productId: T["id"]) => MemoizedSelector<DaffProductStateRootSlice<T>, number, DefaultProjectorFn<number>>
  selectProductHasDiscount: (productId: T["id"]) => MemoizedSelector<DaffProductStateRootSlice<T>, boolean, DefaultProjectorFn<boolean>>
  selectIsProductOutOfStock: (productId: T["id"]) => MemoizedSelector<DaffProductStateRootSlice<T>, boolean, DefaultProjectorFn<boolean>>
}

Properties

selectProductEntitiesState
MemoizedSelector<DaffProductStateRootSlice<T>, EntityState<T>, DefaultProjectorFn<EntityState<T>>>

Selects the ngrx entities state for products.

selectProductIds
MemoizedSelector<DaffProductStateRootSlice<T>, string[] | number[], DefaultProjectorFn<string[] | number[]>>

Selects all ids for products in state.

selectProductEntities
MemoizedSelector<DaffProductStateRootSlice<T>, Dictionary<T>, DefaultProjectorFn<Dictionary<T>>>

Selects the ngrx entities for all products in state.

selectAllProducts
MemoizedSelector<DaffProductStateRootSlice<T>, T[], DefaultProjectorFn<T[]>>

Selects all products in state as an array.

selectProductTotal
MemoizedSelector<DaffProductStateRootSlice<T>, number, DefaultProjectorFn<number>>

Selects the total number of products in state.

selectProduct
(productId: T["id"]) => MemoizedSelector<DaffProductStateRootSlice<T>, T, DefaultProjectorFn<T>>

Selects a product by id.

selectProductPrice
(productId: T["id"]) => MemoizedSelector<DaffProductStateRootSlice<T>, number, DefaultProjectorFn<number>>

Selects the price of a product.

selectProductDiscountAmount
(productId: T["id"]) => MemoizedSelector<DaffProductStateRootSlice<T>, number, DefaultProjectorFn<number>>

Selects the discount of a product as some amount of currency.

selectProductDiscountedPrice
(productId: T["id"]) => MemoizedSelector<DaffProductStateRootSlice<T>, number, DefaultProjectorFn<number>>

Selects the discounted price of a product.

selectProductDiscountPercent
(productId: T["id"]) => MemoizedSelector<DaffProductStateRootSlice<T>, number, DefaultProjectorFn<number>>

Selects the discount of a product as a percent of the original price.

selectProductHasDiscount
(productId: T["id"]) => MemoizedSelector<DaffProductStateRootSlice<T>, boolean, DefaultProjectorFn<boolean>>

Selects whether or not the product has a discount.

selectIsProductOutOfStock
(productId: T["id"]) => MemoizedSelector<DaffProductStateRootSlice<T>, boolean, DefaultProjectorFn<boolean>>

Selects whether or not a product is out of stock.