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
}
ObservableGet a product.
| Parameter | id: T["id"] |
|---|---|
| Description |
ObservableGet the original price for a product.
| Parameter | id: T["id"] |
|---|---|
| Description |
ObservableWhether a particular product has a discount.
| Parameter | id: T["id"] |
|---|---|
| Description |
ObservableGet the discount amount of a product.
| Parameter | id: T["id"] |
|---|---|
| Description |
ObservableGet the discounted price for a product.
| Parameter | id: T["id"] |
|---|---|
| Description |
ObservableGet the discount percent of a product.
| Parameter | id: T["id"] |
|---|---|
| Description |
ObservableWhether a product is out of stock.
| Parameter | id: T["id"] |
|---|---|
| Description |
void| Parameter | action: Action |
|---|---|
| Description |