import { DaffProductFacade } from '@daffodil/product/state'
A facade for getting state about a particular product.
@Injectable()
class DaffProductFacade<<T extends DaffProduct = DaffProduct>> implements DaffProductFacadeInterface<T> {
getProduct(id: T["id"]): Observable<T>
getPrice(id: T["id"]): Observable<number>
hasDiscount(id: T["id"]): Observable<boolean>
getDiscountAmount(id: T["id"]): Observable<number>
getDiscountedPrice(id: T["id"]): Observable<number>
getDiscountPercent(id: T["id"]): Observable<number>
isOutOfStock(id: T["id"]): Observable<boolean>
dispatch(action: Action<string>): void
}
Observable<T>
Get a product.
Parameter | id: T["id"] |
---|---|
Description |
Observable<number>
Get the original price for a product.
Parameter | id: T["id"] |
---|---|
Description |
Observable<boolean>
Whether a particular product has a discount.
Parameter | id: T["id"] |
---|---|
Description |
Observable<number>
Get the discount amount of a product.
Parameter | id: T["id"] |
---|---|
Description |
Observable<number>
Get the discounted price for a product.
Parameter | id: T["id"] |
---|---|
Description |
Observable<number>
Get the discount percent of a product.
Parameter | id: T["id"] |
---|---|
Description |
Observable<boolean>
Whether a product is out of stock.
Parameter | id: T["id"] |
---|---|
Description |
void
Parameter | action: Action |
---|---|
Description |