import { Action } from '@ngrx/store' ; import { DaffStateError } from '@daffodil/core/state' ; import { DaffProduct } from '@daffodil/product' ; import { DaffProductDriverResponse } from '@daffodil/product/driver' ; /**
 * Action types for Product Page Actions.
 */ export enum DaffProductPageActionTypes { ProductPageLoadByUrlAction = '[Product Page] Load By URL Action' , ProductPageLoadAction = '[Product Page] Load Action' , ProductPageLoadSuccessAction = '[Product Page] Load Success Action' , ProductPageLoadFailureAction = '[Product Page] Load Failure Action' , UpdateQtyAction = '[Product Page] Update Qty Action' } param payload export class DaffProductPageLoadByUrl < T extends DaffProduct = DaffProduct > implements Action { readonly type = DaffProductPageActionTypes . ProductPageLoadByUrlAction ; constructor ( public payload ) { } } param payload export class DaffProductPageLoad implements Action { readonly type = DaffProductPageActionTypes . ProductPageLoadAction ; constructor ( public payload ) { } } param payload export class DaffProductPageLoadSuccess < T extends DaffProduct = DaffProduct > implements Action { readonly type = DaffProductPageActionTypes . ProductPageLoadSuccessAction ; constructor ( public payload ) { } } param payload export class DaffProductPageLoadFailure implements Action { readonly type = DaffProductPageActionTypes . ProductPageLoadFailureAction ; constructor ( public payload ) { } } param payload export class DaffProductPageUpdateQty implements Action { readonly type = DaffProductPageActionTypes . UpdateQtyAction ; constructor ( public payload ) { } } export type DaffProductPageActions < T extends DaffProduct = DaffProduct > = DaffProductPageLoadByUrl < T > | DaffProductPageLoad | DaffProductPageLoadSuccess < T > | DaffProductPageLoadFailure | DaffProductPageUpdateQty ;