UNPKG

@spartacus/storefront

Version:

Spartacus Storefront is a package that you can include in your application, which allows you to add default storefront features.

34 lines (33 loc) 1.38 kB
import { ActionsSubject } from '@ngrx/store'; import { CartActions } from '@spartacus/core'; import { Observable } from 'rxjs'; import { ProductData, ProductImportInfo } from './import-to-cart.model'; /** * An abstract class for contexts based on cart (active cart, saved cart) which share part of logic - mainly handle cart actions and map results. */ export declare abstract class CartOrderEntriesContext { protected actionsSubject: ActionsSubject; protected constructor(actionsSubject: ActionsSubject); addEntries(products: ProductData[]): Observable<ProductImportInfo>; /** * Add products and returns cartId of context cart * * @param { ProductData[] } products * @returns {string} cartId - necessary to get results */ protected abstract add(products: ProductData[]): Observable<string>; /** * Get emission of add entry results from actions subject * * @param {string} cartId * @returns {Observable<ProductImportInfo>} */ protected getResults(cartId: string): Observable<ProductImportInfo>; /** * Map actions to summary messages * * @param {CartActions.CartAddEntrySuccess | CartActions.CartAddEntryFail} action * @returns ProductImportInfo */ protected mapMessages(action: CartActions.CartAddEntrySuccess | CartActions.CartAddEntryFail): ProductImportInfo; }