A facade for getting state about a particular product.
| Name | Type | Description | 
|---|---|---|
| loading$ | Observable<boolean> | Whether the product page is loading. | 
| 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 |