UNPKG

@spartacus/checkout

Version:

Checkout feature library for Spartacus

48 lines 9.24 kB
import { Injectable } from '@angular/core'; import { EMAIL_PATTERN, OCC_USER_ID_ANONYMOUS, OCC_USER_ID_GUEST, } from '@spartacus/core'; import { combineLatest } from 'rxjs'; import { filter, map, shareReplay, skipWhile, switchMap, tap, } from 'rxjs/operators'; import * as i0 from "@angular/core"; import * as i1 from "@spartacus/checkout/root"; import * as i2 from "@spartacus/core"; export class CheckoutDetailsService { constructor(checkoutService, checkoutDeliveryService, checkoutPaymentService, activeCartService) { this.checkoutService = checkoutService; this.checkoutDeliveryService = checkoutDeliveryService; this.checkoutPaymentService = checkoutPaymentService; this.activeCartService = activeCartService; this.cartId$ = combineLatest([ this.activeCartService.getActive(), this.activeCartService.isStable(), ]).pipe(filter(([, isStable]) => isStable), map(([cartData]) => { var _a; const cartUser = cartData.user; if (cartUser && (cartUser.uid === OCC_USER_ID_ANONYMOUS || cartUser.uid === OCC_USER_ID_GUEST || !!((_a = cartUser.uid) === null || _a === void 0 ? void 0 : _a.split('|').slice(1).join('|').match(EMAIL_PATTERN)))) { return cartData.guid; } return cartData.code; }), filter((cartId) => !!cartId)); this.getCheckoutDetailsLoaded$ = this.cartId$.pipe(tap((cartId) => this.checkoutService.loadCheckoutDetails(cartId)), shareReplay(1), switchMap(() => this.checkoutService.getCheckoutDetailsLoaded()), skipWhile((loaded) => !loaded)); } getDeliveryAddress() { return this.getCheckoutDetailsLoaded$.pipe(switchMap(() => this.checkoutDeliveryService.getDeliveryAddress())); } getSelectedDeliveryModeCode() { return this.getCheckoutDetailsLoaded$.pipe(switchMap(() => this.checkoutDeliveryService.getSelectedDeliveryModeCode())); } getPaymentDetails() { return this.getCheckoutDetailsLoaded$.pipe(switchMap(() => this.checkoutPaymentService.getPaymentDetails())); } } CheckoutDetailsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: CheckoutDetailsService, deps: [{ token: i1.CheckoutFacade }, { token: i1.CheckoutDeliveryFacade }, { token: i1.CheckoutPaymentFacade }, { token: i2.ActiveCartService }], target: i0.ɵɵFactoryTarget.Injectable }); CheckoutDetailsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: CheckoutDetailsService, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: CheckoutDetailsService, decorators: [{ type: Injectable, args: [{ providedIn: 'root', }] }], ctorParameters: function () { return [{ type: i1.CheckoutFacade }, { type: i1.CheckoutDeliveryFacade }, { type: i1.CheckoutPaymentFacade }, { type: i2.ActiveCartService }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tvdXQtZGV0YWlscy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vZmVhdHVyZS1saWJzL2NoZWNrb3V0L2NvbXBvbmVudHMvc2VydmljZXMvY2hlY2tvdXQtZGV0YWlscy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFNM0MsT0FBTyxFQUdMLGFBQWEsRUFDYixxQkFBcUIsRUFDckIsaUJBQWlCLEdBRWxCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUFFLGFBQWEsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQ0wsTUFBTSxFQUNOLEdBQUcsRUFDSCxXQUFXLEVBQ1gsU0FBUyxFQUNULFNBQVMsRUFDVCxHQUFHLEdBQ0osTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUt4QixNQUFNLE9BQU8sc0JBQXNCO0lBSWpDLFlBQ1ksZUFBK0IsRUFDL0IsdUJBQStDLEVBQy9DLHNCQUE2QyxFQUM3QyxpQkFBb0M7UUFIcEMsb0JBQWUsR0FBZixlQUFlLENBQWdCO1FBQy9CLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBd0I7UUFDL0MsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF1QjtRQUM3QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBRTlDLElBQUksQ0FBQyxPQUFPLEdBQUcsYUFBYSxDQUFDO1lBQzNCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLEVBQUU7WUFDbEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRTtTQUNsQyxDQUFDLENBQUMsSUFBSSxDQUNMLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQ2xDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRTs7WUFDakIsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztZQUUvQixJQUNFLFFBQVE7Z0JBQ1IsQ0FBQyxRQUFRLENBQUMsR0FBRyxLQUFLLHFCQUFxQjtvQkFDckMsUUFBUSxDQUFDLEdBQUcsS0FBSyxpQkFBaUI7b0JBQ2xDLENBQUMsQ0FBQyxDQUFBLE1BQUEsUUFBUSxDQUFDLEdBQUcsMENBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFBLENBQUMsRUFDckU7Z0JBQ0EsT0FBTyxRQUFRLENBQUMsSUFBYyxDQUFDO2FBQ2hDO1lBQ0QsT0FBTyxRQUFRLENBQUMsSUFBYyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxFQUNGLE1BQU0sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUM3QixDQUFDO1FBRUYsSUFBSSxDQUFDLHlCQUF5QixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNoRCxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDakUsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUNkLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLHdCQUF3QixFQUFFLENBQUMsRUFDaEUsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUMvQixDQUFDO0lBQ0osQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQ3hDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUNuRSxDQUFDO0lBQ0osQ0FBQztJQUVELDJCQUEyQjtRQUN6QixPQUFPLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQ3hDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FDYixJQUFJLENBQUMsdUJBQXVCLENBQUMsMkJBQTJCLEVBQUUsQ0FDM0QsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FDeEMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQ2pFLENBQUM7SUFDSixDQUFDOzttSEF6RFUsc0JBQXNCO3VIQUF0QixzQkFBc0IsY0FGckIsTUFBTTsyRkFFUCxzQkFBc0I7a0JBSGxDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ2hlY2tvdXREZWxpdmVyeUZhY2FkZSxcbiAgQ2hlY2tvdXRGYWNhZGUsXG4gIENoZWNrb3V0UGF5bWVudEZhY2FkZSxcbn0gZnJvbSAnQHNwYXJ0YWN1cy9jaGVja291dC9yb290JztcbmltcG9ydCB7XG4gIEFjdGl2ZUNhcnRTZXJ2aWNlLFxuICBBZGRyZXNzLFxuICBFTUFJTF9QQVRURVJOLFxuICBPQ0NfVVNFUl9JRF9BTk9OWU1PVVMsXG4gIE9DQ19VU0VSX0lEX0dVRVNULFxuICBQYXltZW50RGV0YWlscyxcbn0gZnJvbSAnQHNwYXJ0YWN1cy9jb3JlJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGZpbHRlcixcbiAgbWFwLFxuICBzaGFyZVJlcGxheSxcbiAgc2tpcFdoaWxlLFxuICBzd2l0Y2hNYXAsXG4gIHRhcCxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tvdXREZXRhaWxzU2VydmljZSB7XG4gIGNhcnRJZCQ6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgZ2V0Q2hlY2tvdXREZXRhaWxzTG9hZGVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgY2hlY2tvdXRTZXJ2aWNlOiBDaGVja291dEZhY2FkZSxcbiAgICBwcm90ZWN0ZWQgY2hlY2tvdXREZWxpdmVyeVNlcnZpY2U6IENoZWNrb3V0RGVsaXZlcnlGYWNhZGUsXG4gICAgcHJvdGVjdGVkIGNoZWNrb3V0UGF5bWVudFNlcnZpY2U6IENoZWNrb3V0UGF5bWVudEZhY2FkZSxcbiAgICBwcm90ZWN0ZWQgYWN0aXZlQ2FydFNlcnZpY2U6IEFjdGl2ZUNhcnRTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuY2FydElkJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5hY3RpdmVDYXJ0U2VydmljZS5nZXRBY3RpdmUoKSxcbiAgICAgIHRoaXMuYWN0aXZlQ2FydFNlcnZpY2UuaXNTdGFibGUoKSxcbiAgICBdKS5waXBlKFxuICAgICAgZmlsdGVyKChbLCBpc1N0YWJsZV0pID0+IGlzU3RhYmxlKSxcbiAgICAgIG1hcCgoW2NhcnREYXRhXSkgPT4ge1xuICAgICAgICBjb25zdCBjYXJ0VXNlciA9IGNhcnREYXRhLnVzZXI7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIGNhcnRVc2VyICYmXG4gICAgICAgICAgKGNhcnRVc2VyLnVpZCA9PT0gT0NDX1VTRVJfSURfQU5PTllNT1VTIHx8XG4gICAgICAgICAgICBjYXJ0VXNlci51aWQgPT09IE9DQ19VU0VSX0lEX0dVRVNUIHx8XG4gICAgICAgICAgICAhIWNhcnRVc2VyLnVpZD8uc3BsaXQoJ3wnKS5zbGljZSgxKS5qb2luKCd8JykubWF0Y2goRU1BSUxfUEFUVEVSTikpXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiBjYXJ0RGF0YS5ndWlkIGFzIHN0cmluZztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY2FydERhdGEuY29kZSBhcyBzdHJpbmc7XG4gICAgICB9KSxcbiAgICAgIGZpbHRlcigoY2FydElkKSA9PiAhIWNhcnRJZClcbiAgICApO1xuXG4gICAgdGhpcy5nZXRDaGVja291dERldGFpbHNMb2FkZWQkID0gdGhpcy5jYXJ0SWQkLnBpcGUoXG4gICAgICB0YXAoKGNhcnRJZCkgPT4gdGhpcy5jaGVja291dFNlcnZpY2UubG9hZENoZWNrb3V0RGV0YWlscyhjYXJ0SWQpKSxcbiAgICAgIHNoYXJlUmVwbGF5KDEpLFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuY2hlY2tvdXRTZXJ2aWNlLmdldENoZWNrb3V0RGV0YWlsc0xvYWRlZCgpKSxcbiAgICAgIHNraXBXaGlsZSgobG9hZGVkKSA9PiAhbG9hZGVkKVxuICAgICk7XG4gIH1cblxuICBnZXREZWxpdmVyeUFkZHJlc3MoKTogT2JzZXJ2YWJsZTxBZGRyZXNzPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q2hlY2tvdXREZXRhaWxzTG9hZGVkJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuY2hlY2tvdXREZWxpdmVyeVNlcnZpY2UuZ2V0RGVsaXZlcnlBZGRyZXNzKCkpXG4gICAgKTtcbiAgfVxuXG4gIGdldFNlbGVjdGVkRGVsaXZlcnlNb2RlQ29kZSgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmdldENoZWNrb3V0RGV0YWlsc0xvYWRlZCQucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PlxuICAgICAgICB0aGlzLmNoZWNrb3V0RGVsaXZlcnlTZXJ2aWNlLmdldFNlbGVjdGVkRGVsaXZlcnlNb2RlQ29kZSgpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIGdldFBheW1lbnREZXRhaWxzKCk6IE9ic2VydmFibGU8UGF5bWVudERldGFpbHM+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRDaGVja291dERldGFpbHNMb2FkZWQkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5jaGVja291dFBheW1lbnRTZXJ2aWNlLmdldFBheW1lbnREZXRhaWxzKCkpXG4gICAgKTtcbiAgfVxufVxuIl19