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 Actions.
 */ export enum DaffProductActionTypes { ProductLoadAction = '[Product] Load Action' , ProductLoadSuccessAction = '[Product] Load Success Action' , ProductLoadFailureAction = '[Product] Load Failure Action' } param payload export class DaffProductLoad implements Action { readonly type = DaffProductActionTypes . ProductLoadAction ; constructor ( public payload ) { } } param payload export class DaffProductLoadSuccess < T extends DaffProduct = DaffProduct > implements Action { readonly type = DaffProductActionTypes . ProductLoadSuccessAction ; constructor ( public payload ) { } } param payload export class DaffProductLoadFailure implements Action { readonly type = DaffProductActionTypes . ProductLoadFailureAction ; constructor ( public payload ) { } } export type DaffProductActions < T extends DaffProduct = DaffProduct > = DaffProductLoad | DaffProductLoadSuccess < T > | DaffProductLoadFailure ;