Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | 179x 229x 179x 1x 179x 17x | import { CategoryView } from 'ish-core/models/category-view/category-view.model'; import { Product, VariationProduct, VariationProductMaster } from 'ish-core/models/product/product.model'; export type ProductView = Partial<SimpleProductView> & Partial<Omit<VariationProductView, 'type'>> & Partial<Omit<VariationProductMasterView, 'type'>>; interface SimpleProductView extends Product { defaultCategory: CategoryView; } interface VariationProductView extends VariationProduct, SimpleProductView { type: VariationProduct['type']; } interface VariationProductMasterView extends VariationProductMaster, SimpleProductView { type: VariationProductMaster['type']; defaultVariationSKU: string; } export function createProductView(product: Product, defaultCategory?: CategoryView): SimpleProductView { return ( product && { ...product, defaultCategory, } ); } export function createVariationProductMasterView( product: VariationProductMaster, defaultVariationSKU: string, defaultCategory?: CategoryView ): VariationProductMasterView { return ( product && { ...createProductView(product, defaultCategory), type: 'VariationProductMaster', defaultVariationSKU, } ); } export function createVariationProductView( product: VariationProduct, defaultCategory?: CategoryView ): VariationProductView { return ( product && { ...createProductView(product, defaultCategory), type: 'VariationProduct', } ); } |