@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
TypeScript
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;
}