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>>
}
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. |