UNPKG

@spartacus/core

Version:

Spartacus - the core framework

41 lines 6.91 kB
import { Injectable } from '@angular/core'; import { PRODUCT_NORMALIZER } from '../../../product/connectors/product/converters'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common/http"; import * as i2 from "../../services/occ-endpoints.service"; import * as i3 from "../../../util/converter.service"; import * as i4 from "../../services/occ-requests-optimizer.service"; export class OccProductAdapter { constructor(http, occEndpoints, converter, requestsOptimizer) { this.http = http; this.occEndpoints = occEndpoints; this.converter = converter; this.requestsOptimizer = requestsOptimizer; } load(productCode, scope) { return this.http .get(this.getEndpoint(productCode, scope)) .pipe(this.converter.pipeable(PRODUCT_NORMALIZER)); } loadMany(products) { const scopedDataWithUrls = products.map((model) => ({ scopedData: model, url: this.getEndpoint(model.code, model.scope), })); return this.requestsOptimizer .scopedDataLoad(scopedDataWithUrls) .map((scopedProduct) => (Object.assign(Object.assign({}, scopedProduct), { data$: scopedProduct.data$.pipe(this.converter.pipeable(PRODUCT_NORMALIZER)) }))); } getEndpoint(code, scope) { return this.occEndpoints.buildUrl('product', { urlParams: { productCode: code }, scope, }); } } OccProductAdapter.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: OccProductAdapter, deps: [{ token: i1.HttpClient }, { token: i2.OccEndpointsService }, { token: i3.ConverterService }, { token: i4.OccRequestsOptimizerService }], target: i0.ɵɵFactoryTarget.Injectable }); OccProductAdapter.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: OccProductAdapter }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: OccProductAdapter, decorators: [{ type: Injectable }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.OccEndpointsService }, { type: i3.ConverterService }, { type: i4.OccRequestsOptimizerService }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2NjLXByb2R1Y3QuYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvc3JjL29jYy9hZGFwdGVycy9wcm9kdWN0L29jYy1wcm9kdWN0LmFkYXB0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0zQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnREFBZ0QsQ0FBQzs7Ozs7O0FBUXBGLE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFDWSxJQUFnQixFQUNoQixZQUFpQyxFQUNqQyxTQUEyQixFQUMzQixpQkFBOEM7UUFIOUMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUNoQixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDakMsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUE2QjtJQUN2RCxDQUFDO0lBRUosSUFBSSxDQUFDLFdBQW1CLEVBQUUsS0FBYztRQUN0QyxPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO2FBQ3pDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVELFFBQVEsQ0FBQyxRQUE2QjtRQUNwQyxNQUFNLGtCQUFrQixHQUF3QixRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZFLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLEdBQUcsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQztTQUMvQyxDQUFDLENBQUMsQ0FBQztRQUVKLE9BQU8sSUFBSSxDQUFDLGlCQUFpQjthQUMxQixjQUFjLENBQWMsa0JBQWtCLENBQUM7YUFDL0MsR0FBRyxDQUNGLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FDaEIsQ0FBQyxnQ0FDSSxhQUFhLEtBQ2hCLEtBQUssRUFBRSxhQUFhLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDN0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsa0JBQWtCLENBQUMsQ0FDNUMsR0FDb0IsQ0FBQSxDQUMxQixDQUFDO0lBQ04sQ0FBQztJQUVTLFdBQVcsQ0FBQyxJQUFZLEVBQUUsS0FBYztRQUNoRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRTtZQUMzQyxTQUFTLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFO1lBQ2hDLEtBQUs7U0FDTixDQUFDLENBQUM7SUFDTCxDQUFDOzs4R0F0Q1UsaUJBQWlCO2tIQUFqQixpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFByb2R1Y3RBZGFwdGVyIH0gZnJvbSAnLi4vLi4vLi4vcHJvZHVjdC9jb25uZWN0b3JzL3Byb2R1Y3QvcHJvZHVjdC5hZGFwdGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPY2NFbmRwb2ludHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb2NjLWVuZHBvaW50cy5zZXJ2aWNlJztcbmltcG9ydCB7IENvbnZlcnRlclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi91dGlsL2NvbnZlcnRlci5zZXJ2aWNlJztcbmltcG9ydCB7IFBST0RVQ1RfTk9STUFMSVpFUiB9IGZyb20gJy4uLy4uLy4uL3Byb2R1Y3QvY29ubmVjdG9ycy9wcm9kdWN0L2NvbnZlcnRlcnMnO1xuaW1wb3J0IHsgUHJvZHVjdCB9IGZyb20gJy4uLy4uLy4uL21vZGVsL3Byb2R1Y3QubW9kZWwnO1xuaW1wb3J0IHsgU2NvcGVkUHJvZHVjdERhdGEgfSBmcm9tICcuLi8uLi8uLi9wcm9kdWN0L2Nvbm5lY3RvcnMvcHJvZHVjdC9zY29wZWQtcHJvZHVjdC1kYXRhJztcbmltcG9ydCB7IFNjb3BlZERhdGFXaXRoVXJsIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb2NjLWZpZWxkcy5zZXJ2aWNlJztcbmltcG9ydCB7IE9jYyB9IGZyb20gJy4uLy4uL29jYy1tb2RlbHMnO1xuaW1wb3J0IHsgT2NjUmVxdWVzdHNPcHRpbWl6ZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb2NjLXJlcXVlc3RzLW9wdGltaXplci5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE9jY1Byb2R1Y3RBZGFwdGVyIGltcGxlbWVudHMgUHJvZHVjdEFkYXB0ZXIge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgaHR0cDogSHR0cENsaWVudCxcbiAgICBwcm90ZWN0ZWQgb2NjRW5kcG9pbnRzOiBPY2NFbmRwb2ludHNTZXJ2aWNlLFxuICAgIHByb3RlY3RlZCBjb252ZXJ0ZXI6IENvbnZlcnRlclNlcnZpY2UsXG4gICAgcHJvdGVjdGVkIHJlcXVlc3RzT3B0aW1pemVyOiBPY2NSZXF1ZXN0c09wdGltaXplclNlcnZpY2VcbiAgKSB7fVxuXG4gIGxvYWQocHJvZHVjdENvZGU6IHN0cmluZywgc2NvcGU/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFByb2R1Y3Q+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0KHRoaXMuZ2V0RW5kcG9pbnQocHJvZHVjdENvZGUsIHNjb3BlKSlcbiAgICAgIC5waXBlKHRoaXMuY29udmVydGVyLnBpcGVhYmxlKFBST0RVQ1RfTk9STUFMSVpFUikpO1xuICB9XG5cbiAgbG9hZE1hbnkocHJvZHVjdHM6IFNjb3BlZFByb2R1Y3REYXRhW10pOiBTY29wZWRQcm9kdWN0RGF0YVtdIHtcbiAgICBjb25zdCBzY29wZWREYXRhV2l0aFVybHM6IFNjb3BlZERhdGFXaXRoVXJsW10gPSBwcm9kdWN0cy5tYXAoKG1vZGVsKSA9PiAoe1xuICAgICAgc2NvcGVkRGF0YTogbW9kZWwsXG4gICAgICB1cmw6IHRoaXMuZ2V0RW5kcG9pbnQobW9kZWwuY29kZSwgbW9kZWwuc2NvcGUpLFxuICAgIH0pKTtcblxuICAgIHJldHVybiB0aGlzLnJlcXVlc3RzT3B0aW1pemVyXG4gICAgICAuc2NvcGVkRGF0YUxvYWQ8T2NjLlByb2R1Y3Q+KHNjb3BlZERhdGFXaXRoVXJscylcbiAgICAgIC5tYXAoXG4gICAgICAgIChzY29wZWRQcm9kdWN0KSA9PlxuICAgICAgICAgICh7XG4gICAgICAgICAgICAuLi5zY29wZWRQcm9kdWN0LFxuICAgICAgICAgICAgZGF0YSQ6IHNjb3BlZFByb2R1Y3QuZGF0YSQucGlwZShcbiAgICAgICAgICAgICAgdGhpcy5jb252ZXJ0ZXIucGlwZWFibGUoUFJPRFVDVF9OT1JNQUxJWkVSKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICB9IGFzIFNjb3BlZFByb2R1Y3REYXRhKVxuICAgICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRFbmRwb2ludChjb2RlOiBzdHJpbmcsIHNjb3BlPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5vY2NFbmRwb2ludHMuYnVpbGRVcmwoJ3Byb2R1Y3QnLCB7XG4gICAgICB1cmxQYXJhbXM6IHsgcHJvZHVjdENvZGU6IGNvZGUgfSxcbiAgICAgIHNjb3BlLFxuICAgIH0pO1xuICB9XG59XG4iXX0=