GitHub

DaffProductFacade

A facade for getting state about a particular product.

import { DaffProductFacade } from '@daffodil/product/state'
@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>)
}

Properties

Name Type Description
getProduct Observable<T>

Get a product.

getPrice Observable<number>

Get the original price for a product.

hasDiscount Observable<boolean>

Whether a particular product has a discount.

getDiscountAmount Observable<number>

Get the discount amount of a product.

getDiscountedPrice Observable<number>

Get the discounted price for a product.

getDiscountPercent Observable<number>

Get the discount percent of a product.

isOutOfStock Observable<boolean>

Whether a product is out of stock.

dispatch