simpo-component-library 3.6.632 → 3.6.633

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,12 +5,11 @@ import { firstValueFrom } from 'rxjs';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "./storage.service";
7
7
  import * as i2 from "./rest.service";
8
- import * as i3 from "./analytics.service";
8
+ // import { AnalyticsService } from './analytics.service';
9
9
  export class CartService {
10
- constructor(storageService, restService, analyticsService) {
10
+ constructor(storageService, restService) {
11
11
  this.storageService = storageService;
12
12
  this.restService = restService;
13
- this.analyticsService = analyticsService;
14
13
  }
15
14
  addItemFromCartPage(product, userCart) {
16
15
  if (product.quantity) {
@@ -55,7 +54,7 @@ export class CartService {
55
54
  if (variantId) {
56
55
  analyticsEvent['VARIANT_ID'] = variantId;
57
56
  }
58
- this.analyticsService.trackUser(analyticsEvent, type);
57
+ // this.analyticsService.trackUser(analyticsEvent, type);
59
58
  }
60
59
  addItemToFavourite(product, varientId) {
61
60
  const orderedItem = this.objectMapper(product, varientId);
@@ -111,7 +110,7 @@ export class CartService {
111
110
  objectMapper(product, variantId) {
112
111
  return new OrderedItems(product, variantId);
113
112
  }
114
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CartService, deps: [{ token: i1.StorageServiceService }, { token: i2.RestService }, { token: i3.AnalyticsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
113
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CartService, deps: [{ token: i1.StorageServiceService }, { token: i2.RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
115
114
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CartService, providedIn: 'root' }); }
116
115
  }
117
116
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CartService, decorators: [{
@@ -119,5 +118,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
119
118
  args: [{
120
119
  providedIn: 'root',
121
120
  }]
122
- }], ctorParameters: () => [{ type: i1.StorageServiceService }, { type: i2.RestService }, { type: i3.AnalyticsService }] });
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZXJ2aWNlcy9jYXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3RFLE9BQU8sRUFBVyx5QkFBeUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBS3ZGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBTXRDLE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFlBQ21CLGNBQXFDLEVBQ3JDLFdBQXdCLEVBQ3hCLGdCQUFrQztRQUZsQyxtQkFBYyxHQUFkLGNBQWMsQ0FBdUI7UUFDckMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUVyRCxDQUFDO0lBR00sbUJBQW1CLENBQUMsT0FBcUIsRUFBRSxRQUFhO1FBQzdELElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3JCLCtCQUErQjtZQUMvQiw4REFBOEQ7WUFDOUQsdUNBQXVDO1lBQ3ZDLHdCQUF3QjtZQUN4QixNQUFNO1lBQ04sSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUF1QixDQUFDLENBQUM7WUFDOUQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxDQUFDO2FBQU0sQ0FBQztZQUNOLHdCQUF3QjtZQUN4QixJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDakMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxDQUFDO0lBQ0gsQ0FBQztJQUNNLHVCQUF1QixDQUFDLE9BQXFCLEVBQUUsWUFBaUI7UUFDckUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNsRCxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFDTSwwQkFBMEIsQ0FBQyxPQUFxQixFQUFFLFlBQWlCO1FBQ3hFLElBQUksQ0FBQyxjQUFjLENBQUMseUJBQXlCLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVNLGFBQWEsQ0FBQyxPQUErQixFQUFFLFNBQWtCO1FBQ3RFLElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUVwRSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQWtCLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDckUsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLFdBQTJCLENBQUMsQ0FBQztRQUMzRSxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLGtCQUFrQixFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ3pFLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQWtCLENBQUMsQ0FBQztRQUNyRCxDQUFDO0lBQ0gsQ0FBQztJQUVNLG9CQUFvQixDQUN6QixTQUFpQixFQUNqQixJQUF3QyxFQUN4QyxTQUFrQjtRQUdsQixNQUFNLGNBQWMsR0FBUTtZQUMxQixVQUFVLEVBQUUsU0FBUztZQUNyQixRQUFRLEVBQUUsQ0FBQztTQUNaLENBQUM7UUFFRixJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsY0FBYyxDQUFDLFlBQVksQ0FBQyxHQUFHLFNBQVMsQ0FBQztRQUMzQyxDQUFDO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUNNLGtCQUFrQixDQUFDLE9BQWdCLEVBQUUsU0FBa0I7UUFFNUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRU0sS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUFnQixFQUFFLFNBQWtCO1FBQzlELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRTFELE1BQU0sSUFBSSxHQUFnQixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBRXhELElBQUksSUFBSSxFQUFFLENBQUM7WUFDVCxNQUFNLE9BQU8sR0FBRyxJQUFJLHlCQUF5QixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUV4RixJQUFJLENBQUM7Z0JBQ0gsTUFBTSxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztnQkFDN0QsT0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixPQUFPLENBQUMsS0FBSyxDQUFDLG9DQUFvQyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUMzRCxPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7UUFFSCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQztnQkFDSCxNQUFNLFNBQVMsR0FBUSxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBRWhFLE1BQU0sYUFBYSxHQUFtQixNQUFNLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO29CQUMxRSxTQUFTLENBQUMsU0FBUyxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDbkUsU0FBUyxDQUFDLE9BQU8sR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2pFLENBQUMsQ0FBQyxDQUFDO2dCQUVILE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQWtCLEVBQUUsRUFBRSxDQUNuRSxJQUFJLENBQUMsTUFBTSxLQUFLLE9BQU8sQ0FBQyxNQUFNO29CQUM5QixDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDN0UsQ0FBQztnQkFFRixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztvQkFDeEIsTUFBTSxJQUFJLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUN6RCxPQUFPLElBQUksQ0FBQztnQkFDZCxDQUFDO2dCQUVELE9BQU8sS0FBSyxDQUFDO1lBRWYsQ0FBQztZQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7Z0JBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxnREFBZ0QsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDdkUsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFHTSxvQkFBb0IsQ0FBQyxPQUFxQjtRQUMvQyxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFDTSx5QkFBeUIsQ0FBQyxXQUF5QjtRQUN4RCxJQUFJLENBQUMsY0FBYyxDQUFDLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFDTSx1QkFBdUIsQ0FBQyxTQUFpQjtRQUM5QyxJQUFJLENBQUMsY0FBYyxDQUFDLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFDTSxrQkFBa0IsQ0FBQyxPQUErQjtRQUN2RCxJQUFJLENBQUMsY0FBYyxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBQ08sWUFBWSxDQUFDLE9BQWdCLEVBQUUsU0FBa0I7UUFDdkQsT0FBTyxJQUFJLFlBQVksQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDOUMsQ0FBQzsrR0EvSFUsV0FBVzttSEFBWCxXQUFXLGNBRlYsTUFBTTs7NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPcmRlcmVkSXRlbXMgfSBmcm9tICcuLi9lY29tbWVyY2Uvc3R5bGVzL09yZGVyZWRJdGVtcy5tb2RhbCc7XHJcbmltcG9ydCB7IFByb2R1Y3QsIHN5bmNJdGVtVG9TZXJ2ZXJEQlJlcXVlc3QgfSBmcm9tICcuLi9lY29tbWVyY2Uvc3R5bGVzL3Byb2R1Y3QubW9kYWwnO1xyXG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4vcmVzdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2VTZXJ2aWNlIH0gZnJvbSAnLi9zdG9yYWdlLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDYXJ0IH0gZnJvbSAnLi4vZWNvbW1lcmNlL3N0eWxlcy9jYXJ0Lm1vZGFsJztcclxuaW1wb3J0IHsgVXNlciB9IGZyb20gJy4uL2Vjb21tZXJjZS9zdHlsZXMvdXNlci5tb2RhbCc7XHJcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEFuYWx5dGljc1NlcnZpY2UgfSBmcm9tICcuL2FuYWx5dGljcy5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXJ0U2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0b3JhZ2VTZXJ2aWNlOiBTdG9yYWdlU2VydmljZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc3RTZXJ2aWNlOiBSZXN0U2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgYW5hbHl0aWNzU2VydmljZTogQW5hbHl0aWNzU2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBhZGRJdGVtRnJvbUNhcnRQYWdlKHByb2R1Y3Q6IE9yZGVyZWRJdGVtcywgdXNlckNhcnQ6IGFueSkge1xyXG4gICAgaWYgKHByb2R1Y3QucXVhbnRpdHkpIHtcclxuICAgICAgLy8gbGV0IHByb2R1Y3RJZHg6IG51bWJlciA9IC0xO1xyXG4gICAgICAvLyBVc2VyQ2FydC5vcmRlcmVkSXRlbXMuZm9yRWFjaCgoaXRlbTogT3JkZXJlZEl0ZW1zLCBpZHgpPT4ge1xyXG4gICAgICAvLyAgIGlmIChpdGVtLml0ZW1JZCA9PSBwcm9kdWN0Lml0ZW1JZClcclxuICAgICAgLy8gICAgIHByb2R1Y3RJZHggPSBpZHg7XHJcbiAgICAgIC8vIH0pO1xyXG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmFkZFByb2R1Y3RUb0NhcnQocHJvZHVjdCBhcyBPcmRlcmVkSXRlbXMpO1xyXG4gICAgICByZXR1cm4gdGhpcy5yZXN0U2VydmljZS5hZGRJdGVtVG9EQih1c2VyQ2FydCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyByZW1vdmUgaXRlbSBmcm9tIGNhcnRcclxuICAgICAgdGhpcy5yZW1vdmVJdGVtRnJvbUNhcnQocHJvZHVjdCk7XHJcbiAgICAgIHJldHVybiB0aGlzLnJlc3RTZXJ2aWNlLmFkZEl0ZW1Ub0RCKHVzZXJDYXJ0KTtcclxuICAgIH1cclxuICB9XHJcbiAgcHVibGljIGFkZEl0ZW1Gcm9tV2lzaGxpc3RQYWdlKHByb2R1Y3Q6IE9yZGVyZWRJdGVtcywgdXNlcldpc2hsaXN0OiBhbnkpIHtcclxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuYWRkUHJvZHVjdFRvV2lzaGxpc3QocHJvZHVjdCk7XHJcbiAgICByZXR1cm4gdGhpcy5yZXN0U2VydmljZS5hZGRJdGVtVG9EQih1c2VyV2lzaGxpc3QpO1xyXG4gIH1cclxuICBwdWJsaWMgcmVtb3ZlSXRlbUZyb21XaXNobGlzdFBhZ2UocHJvZHVjdDogT3JkZXJlZEl0ZW1zLCB1c2VyV2lzaGxpc3Q6IGFueSkge1xyXG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5yZW1vdmVQcm9kdWN0RnJvbVdpc2hsaXN0KHByb2R1Y3QudmFyaWVudElkKTtcclxuICAgIHJldHVybiB0aGlzLnJlc3RTZXJ2aWNlLmFkZEl0ZW1Ub0RCKHVzZXJXaXNobGlzdCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYWRkSXRlbVRvQ2FydChwcm9kdWN0OiBQcm9kdWN0IHwgT3JkZXJlZEl0ZW1zLCB2YXJpZW50SWQ/OiBzdHJpbmcpIHtcclxuICAgIGlmIChwcm9kdWN0LnF1YW50aXR5KSB7XHJcbiAgICAgIHRoaXMuY2FwdHVyZUNhcnRBbmFseXRpY3MocHJvZHVjdC5pdGVtSWQsICdBRERfVE9fQ0FSVCcsIHZhcmllbnRJZCk7XHJcblxyXG4gICAgICBjb25zdCBvcmRlcmVkSXRlbSA9IHRoaXMub2JqZWN0TWFwcGVyKHByb2R1Y3QgYXMgUHJvZHVjdCwgdmFyaWVudElkKTtcclxuICAgICAgcmV0dXJuIHRoaXMuc3RvcmFnZVNlcnZpY2UuYWRkUHJvZHVjdFRvQ2FydChvcmRlcmVkSXRlbSBhcyBPcmRlcmVkSXRlbXMpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jYXB0dXJlQ2FydEFuYWx5dGljcyhwcm9kdWN0Lml0ZW1JZCwgJ1JFTU9WRV9GUk9NX0NBUlQnLCB2YXJpZW50SWQpO1xyXG4gICAgICByZXR1cm4gdGhpcy5yZW1vdmVJdGVtRnJvbUNhcnQocHJvZHVjdCBhcyBQcm9kdWN0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBjYXB0dXJlQ2FydEFuYWx5dGljcyhcclxuICAgIHByb2R1Y3RJZDogc3RyaW5nLFxyXG4gICAgdHlwZTogJ0FERF9UT19DQVJUJyB8ICdSRU1PVkVfRlJPTV9DQVJUJyxcclxuICAgIHZhcmlhbnRJZD86IHN0cmluZ1xyXG4gICkge1xyXG5cclxuICAgIGNvbnN0IGFuYWx5dGljc0V2ZW50OiBhbnkgPSB7XHJcbiAgICAgIFBST0RVQ1RfSUQ6IHByb2R1Y3RJZCxcclxuICAgICAgUVVBTlRJVFk6IDFcclxuICAgIH07XHJcblxyXG4gICAgaWYgKHZhcmlhbnRJZCkge1xyXG4gICAgICBhbmFseXRpY3NFdmVudFsnVkFSSUFOVF9JRCddID0gdmFyaWFudElkO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYW5hbHl0aWNzU2VydmljZS50cmFja1VzZXIoYW5hbHl0aWNzRXZlbnQsIHR5cGUpO1xyXG4gIH1cclxuICBwdWJsaWMgYWRkSXRlbVRvRmF2b3VyaXRlKHByb2R1Y3Q6IFByb2R1Y3QsIHZhcmllbnRJZD86IHN0cmluZykge1xyXG5cclxuICAgIGNvbnN0IG9yZGVyZWRJdGVtID0gdGhpcy5vYmplY3RNYXBwZXIocHJvZHVjdCwgdmFyaWVudElkKTtcclxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuYWRkUHJvZHVjdFRvV2lzaGxpc3Qob3JkZXJlZEl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGFkZEl0ZW1Ub1RyaWFsKHByb2R1Y3Q6IFByb2R1Y3QsIHZhcmllbnRJZD86IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG4gICAgY29uc3Qgb3JkZXJlZEl0ZW0gPSB0aGlzLm9iamVjdE1hcHBlcihwcm9kdWN0LCB2YXJpZW50SWQpO1xyXG5cclxuICAgIGNvbnN0IHVzZXI6IFVzZXIgfCBudWxsID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRVc2VyKCk7XHJcblxyXG4gICAgaWYgKHVzZXIpIHtcclxuICAgICAgY29uc3QgcmVxdWVzdCA9IG5ldyBzeW5jSXRlbVRvU2VydmVyREJSZXF1ZXN0KHVzZXIudXNlcklkLCAnVFJJQUxfQ0FSVCcsIFtvcmRlcmVkSXRlbV0pO1xyXG5cclxuICAgICAgdHJ5IHtcclxuICAgICAgICBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLnJlc3RTZXJ2aWNlLmFkZFRyaWFsSXRlbShyZXF1ZXN0KSk7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgYWRkaW5nIHRyaWFsIGl0ZW0gdG8gc2VydmVyOicsIGVycm9yKTtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGNvbnN0IGRiUmVxdWVzdDogYW55ID0gYXdhaXQgdGhpcy5zdG9yYWdlU2VydmljZS5nZXRUcmlhbENhcnQoKTtcclxuXHJcbiAgICAgICAgY29uc3QgdHJpYWxDYXJ0SXRlbTogT3JkZXJlZEl0ZW1zW10gPSBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICAgICAgICBkYlJlcXVlc3Qub25zdWNjZXNzID0gKGV2ZW50OiBhbnkpID0+IHJlc29sdmUoZXZlbnQudGFyZ2V0LnJlc3VsdCk7XHJcbiAgICAgICAgICBkYlJlcXVlc3Qub25lcnJvciA9IChldmVudDogYW55KSA9PiByZWplY3QoZXZlbnQudGFyZ2V0LmVycm9yKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgY29uc3QgaXNJdGVtQWxyZWFkeUFkZGVkID0gdHJpYWxDYXJ0SXRlbS5zb21lKChpdGVtOiBPcmRlcmVkSXRlbXMpID0+XHJcbiAgICAgICAgICBpdGVtLml0ZW1JZCA9PT0gcHJvZHVjdC5pdGVtSWQgJiZcclxuICAgICAgICAgIChwcm9kdWN0Py5pdGVtVmFyaWFudD8ubGVuZ3RoID09PSAwIHx8IHByb2R1Y3QudmFyaWVudElkID09PSBpdGVtLnZhcmllbnRJZClcclxuICAgICAgICApO1xyXG5cclxuICAgICAgICBpZiAoIWlzSXRlbUFscmVhZHlBZGRlZCkge1xyXG4gICAgICAgICAgYXdhaXQgdGhpcy5zdG9yYWdlU2VydmljZS5hZGRQcm9kdWN0VG9UcmlhbChvcmRlcmVkSXRlbSk7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgYWNjZXNzaW5nIHRyaWFsIGNhcnQgZnJvbSBsb2NhbCBzdG9yYWdlOicsIGVycm9yKTtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgYWRkSXRlbVRvRmF2RnJvbUNhcnQocHJvZHVjdDogT3JkZXJlZEl0ZW1zKSB7XHJcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmFkZFByb2R1Y3RUb1dpc2hsaXN0KHByb2R1Y3QpO1xyXG4gIH1cclxuICBwdWJsaWMgYWRkT3JkZXJlZEl0ZW1Ub0Zhdm91cml0ZShvcmRlcmVkSXRlbTogT3JkZXJlZEl0ZW1zKSB7XHJcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmFkZFByb2R1Y3RUb1dpc2hsaXN0KG9yZGVyZWRJdGVtKTtcclxuICB9XHJcbiAgcHVibGljIHJlbW92ZUl0ZW1Gcm9tRmF2b3VyaXRlKHZhcmllbnRJZDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZVByb2R1Y3RGcm9tV2lzaGxpc3QodmFyaWVudElkKTtcclxuICB9XHJcbiAgcHVibGljIHJlbW92ZUl0ZW1Gcm9tQ2FydChwcm9kdWN0OiBQcm9kdWN0IHwgT3JkZXJlZEl0ZW1zKSB7XHJcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZVByb2R1Y3RGcm9tQ2FydChwcm9kdWN0LnZhcmllbnRJZCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgb2JqZWN0TWFwcGVyKHByb2R1Y3Q6IFByb2R1Y3QsIHZhcmlhbnRJZD86IHN0cmluZyk6IE9yZGVyZWRJdGVtcyB7XHJcbiAgICByZXR1cm4gbmV3IE9yZGVyZWRJdGVtcyhwcm9kdWN0LCB2YXJpYW50SWQpO1xyXG4gIH1cclxufVxyXG4iXX0=
121
+ }], ctorParameters: () => [{ type: i1.StorageServiceService }, { type: i2.RestService }] });
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZXJ2aWNlcy9jYXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixVQUFVLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3RFLE9BQU8sRUFBVyx5QkFBeUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBS3ZGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7QUFDdEMsMERBQTBEO0FBSzFELE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFlBQ21CLGNBQXFDLEVBQ3JDLFdBQXdCO1FBRHhCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtRQUNyQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUczQyxDQUFDO0lBR00sbUJBQW1CLENBQUMsT0FBcUIsRUFBRSxRQUFhO1FBQzdELElBQUksT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ3JCLCtCQUErQjtZQUMvQiw4REFBOEQ7WUFDOUQsdUNBQXVDO1lBQ3ZDLHdCQUF3QjtZQUN4QixNQUFNO1lBQ04sSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUF1QixDQUFDLENBQUM7WUFDOUQsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxDQUFDO2FBQU0sQ0FBQztZQUNOLHdCQUF3QjtZQUN4QixJQUFJLENBQUMsa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDakMsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoRCxDQUFDO0lBQ0gsQ0FBQztJQUNNLHVCQUF1QixDQUFDLE9BQXFCLEVBQUUsWUFBaUI7UUFDckUsSUFBSSxD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Qyx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBQ00sa0JBQWtCLENBQUMsT0FBK0I7UUFDdkQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUNPLFlBQVksQ0FBQyxPQUFnQixFQUFFLFNBQWtCO1FBQ3ZELE9BQU8sSUFBSSxZQUFZLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7K0dBL0hVLFdBQVc7bUhBQVgsV0FBVyxjQUZWLE1BQU07OzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT3JkZXJlZEl0ZW1zIH0gZnJvbSAnLi4vZWNvbW1lcmNlL3N0eWxlcy9PcmRlcmVkSXRlbXMubW9kYWwnO1xyXG5pbXBvcnQgeyBQcm9kdWN0LCBzeW5jSXRlbVRvU2VydmVyREJSZXF1ZXN0IH0gZnJvbSAnLi4vZWNvbW1lcmNlL3N0eWxlcy9wcm9kdWN0Lm1vZGFsJztcclxuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuL3Jlc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IFN0b3JhZ2VTZXJ2aWNlU2VydmljZSB9IGZyb20gJy4vc3RvcmFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2FydCB9IGZyb20gJy4uL2Vjb21tZXJjZS9zdHlsZXMvY2FydC5tb2RhbCc7XHJcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi9lY29tbWVyY2Uvc3R5bGVzL3VzZXIubW9kYWwnO1xyXG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xyXG4vLyBpbXBvcnQgeyBBbmFseXRpY3NTZXJ2aWNlIH0gZnJvbSAnLi9hbmFseXRpY3Muc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2FydFNlcnZpY2Uge1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSByZXN0U2VydmljZTogUmVzdFNlcnZpY2UsXHJcbiAgICAvLyBwcml2YXRlIHJlYWRvbmx5IGFuYWx5dGljc1NlcnZpY2U6IEFuYWx5dGljc1NlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgYWRkSXRlbUZyb21DYXJ0UGFnZShwcm9kdWN0OiBPcmRlcmVkSXRlbXMsIHVzZXJDYXJ0OiBhbnkpIHtcclxuICAgIGlmIChwcm9kdWN0LnF1YW50aXR5KSB7XHJcbiAgICAgIC8vIGxldCBwcm9kdWN0SWR4OiBudW1iZXIgPSAtMTtcclxuICAgICAgLy8gVXNlckNhcnQub3JkZXJlZEl0ZW1zLmZvckVhY2goKGl0ZW06IE9yZGVyZWRJdGVtcywgaWR4KT0+IHtcclxuICAgICAgLy8gICBpZiAoaXRlbS5pdGVtSWQgPT0gcHJvZHVjdC5pdGVtSWQpXHJcbiAgICAgIC8vICAgICBwcm9kdWN0SWR4ID0gaWR4O1xyXG4gICAgICAvLyB9KTtcclxuICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5hZGRQcm9kdWN0VG9DYXJ0KHByb2R1Y3QgYXMgT3JkZXJlZEl0ZW1zKTtcclxuICAgICAgcmV0dXJuIHRoaXMucmVzdFNlcnZpY2UuYWRkSXRlbVRvREIodXNlckNhcnQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgLy8gcmVtb3ZlIGl0ZW0gZnJvbSBjYXJ0XHJcbiAgICAgIHRoaXMucmVtb3ZlSXRlbUZyb21DYXJ0KHByb2R1Y3QpO1xyXG4gICAgICByZXR1cm4gdGhpcy5yZXN0U2VydmljZS5hZGRJdGVtVG9EQih1c2VyQ2FydCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHB1YmxpYyBhZGRJdGVtRnJvbVdpc2hsaXN0UGFnZShwcm9kdWN0OiBPcmRlcmVkSXRlbXMsIHVzZXJXaXNobGlzdDogYW55KSB7XHJcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmFkZFByb2R1Y3RUb1dpc2hsaXN0KHByb2R1Y3QpO1xyXG4gICAgcmV0dXJuIHRoaXMucmVzdFNlcnZpY2UuYWRkSXRlbVRvREIodXNlcldpc2hsaXN0KTtcclxuICB9XHJcbiAgcHVibGljIHJlbW92ZUl0ZW1Gcm9tV2lzaGxpc3RQYWdlKHByb2R1Y3Q6IE9yZGVyZWRJdGVtcywgdXNlcldpc2hsaXN0OiBhbnkpIHtcclxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UucmVtb3ZlUHJvZHVjdEZyb21XaXNobGlzdChwcm9kdWN0LnZhcmllbnRJZCk7XHJcbiAgICByZXR1cm4gdGhpcy5yZXN0U2VydmljZS5hZGRJdGVtVG9EQih1c2VyV2lzaGxpc3QpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFkZEl0ZW1Ub0NhcnQocHJvZHVjdDogUHJvZHVjdCB8IE9yZGVyZWRJdGVtcywgdmFyaWVudElkPzogc3RyaW5nKSB7XHJcbiAgICBpZiAocHJvZHVjdC5xdWFudGl0eSkge1xyXG4gICAgICB0aGlzLmNhcHR1cmVDYXJ0QW5hbHl0aWNzKHByb2R1Y3QuaXRlbUlkLCAnQUREX1RPX0NBUlQnLCB2YXJpZW50SWQpO1xyXG5cclxuICAgICAgY29uc3Qgb3JkZXJlZEl0ZW0gPSB0aGlzLm9iamVjdE1hcHBlcihwcm9kdWN0IGFzIFByb2R1Y3QsIHZhcmllbnRJZCk7XHJcbiAgICAgIHJldHVybiB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmFkZFByb2R1Y3RUb0NhcnQob3JkZXJlZEl0ZW0gYXMgT3JkZXJlZEl0ZW1zKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY2FwdHVyZUNhcnRBbmFseXRpY3MocHJvZHVjdC5pdGVtSWQsICdSRU1PVkVfRlJPTV9DQVJUJywgdmFyaWVudElkKTtcclxuICAgICAgcmV0dXJuIHRoaXMucmVtb3ZlSXRlbUZyb21DYXJ0KHByb2R1Y3QgYXMgUHJvZHVjdCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2FwdHVyZUNhcnRBbmFseXRpY3MoXHJcbiAgICBwcm9kdWN0SWQ6IHN0cmluZyxcclxuICAgIHR5cGU6ICdBRERfVE9fQ0FSVCcgfCAnUkVNT1ZFX0ZST01fQ0FSVCcsXHJcbiAgICB2YXJpYW50SWQ/OiBzdHJpbmdcclxuICApIHtcclxuXHJcbiAgICBjb25zdCBhbmFseXRpY3NFdmVudDogYW55ID0ge1xyXG4gICAgICBQUk9EVUNUX0lEOiBwcm9kdWN0SWQsXHJcbiAgICAgIFFVQU5USVRZOiAxXHJcbiAgICB9O1xyXG5cclxuICAgIGlmICh2YXJpYW50SWQpIHtcclxuICAgICAgYW5hbHl0aWNzRXZlbnRbJ1ZBUklBTlRfSUQnXSA9IHZhcmlhbnRJZDtcclxuICAgIH1cclxuXHJcbiAgICAvLyB0aGlzLmFuYWx5dGljc1NlcnZpY2UudHJhY2tVc2VyKGFuYWx5dGljc0V2ZW50LCB0eXBlKTtcclxuICB9XHJcbiAgcHVibGljIGFkZEl0ZW1Ub0Zhdm91cml0ZShwcm9kdWN0OiBQcm9kdWN0LCB2YXJpZW50SWQ/OiBzdHJpbmcpIHtcclxuXHJcbiAgICBjb25zdCBvcmRlcmVkSXRlbSA9IHRoaXMub2JqZWN0TWFwcGVyKHByb2R1Y3QsIHZhcmllbnRJZCk7XHJcbiAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmFkZFByb2R1Y3RUb1dpc2hsaXN0KG9yZGVyZWRJdGVtKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBhZGRJdGVtVG9UcmlhbChwcm9kdWN0OiBQcm9kdWN0LCB2YXJpZW50SWQ/OiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIGNvbnN0IG9yZGVyZWRJdGVtID0gdGhpcy5vYmplY3RNYXBwZXIocHJvZHVjdCwgdmFyaWVudElkKTtcclxuXHJcbiAgICBjb25zdCB1c2VyOiBVc2VyIHwgbnVsbCA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VXNlcigpO1xyXG5cclxuICAgIGlmICh1c2VyKSB7XHJcbiAgICAgIGNvbnN0IHJlcXVlc3QgPSBuZXcgc3luY0l0ZW1Ub1NlcnZlckRCUmVxdWVzdCh1c2VyLnVzZXJJZCwgJ1RSSUFMX0NBUlQnLCBbb3JkZXJlZEl0ZW1dKTtcclxuXHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5yZXN0U2VydmljZS5hZGRUcmlhbEl0ZW0ocmVxdWVzdCkpO1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGFkZGluZyB0cmlhbCBpdGVtIHRvIHNlcnZlcjonLCBlcnJvcik7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBjb25zdCBkYlJlcXVlc3Q6IGFueSA9IGF3YWl0IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VHJpYWxDYXJ0KCk7XHJcblxyXG4gICAgICAgIGNvbnN0IHRyaWFsQ2FydEl0ZW06IE9yZGVyZWRJdGVtc1tdID0gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgICAgZGJSZXF1ZXN0Lm9uc3VjY2VzcyA9IChldmVudDogYW55KSA9PiByZXNvbHZlKGV2ZW50LnRhcmdldC5yZXN1bHQpO1xyXG4gICAgICAgICAgZGJSZXF1ZXN0Lm9uZXJyb3IgPSAoZXZlbnQ6IGFueSkgPT4gcmVqZWN0KGV2ZW50LnRhcmdldC5lcnJvcik7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIGNvbnN0IGlzSXRlbUFscmVhZHlBZGRlZCA9IHRyaWFsQ2FydEl0ZW0uc29tZSgoaXRlbTogT3JkZXJlZEl0ZW1zKSA9PlxyXG4gICAgICAgICAgaXRlbS5pdGVtSWQgPT09IHByb2R1Y3QuaXRlbUlkICYmXHJcbiAgICAgICAgICAocHJvZHVjdD8uaXRlbVZhcmlhbnQ/Lmxlbmd0aCA9PT0gMCB8fCBwcm9kdWN0LnZhcmllbnRJZCA9PT0gaXRlbS52YXJpZW50SWQpXHJcbiAgICAgICAgKTtcclxuXHJcbiAgICAgICAgaWYgKCFpc0l0ZW1BbHJlYWR5QWRkZWQpIHtcclxuICAgICAgICAgIGF3YWl0IHRoaXMuc3RvcmFnZVNlcnZpY2UuYWRkUHJvZHVjdFRvVHJpYWwob3JkZXJlZEl0ZW0pO1xyXG4gICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcblxyXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGFjY2Vzc2luZyB0cmlhbCBjYXJ0IGZyb20gbG9jYWwgc3RvcmFnZTonLCBlcnJvcik7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgcHVibGljIGFkZEl0ZW1Ub0ZhdkZyb21DYXJ0KHByb2R1Y3Q6IE9yZGVyZWRJdGVtcykge1xyXG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5hZGRQcm9kdWN0VG9XaXNobGlzdChwcm9kdWN0KTtcclxuICB9XHJcbiAgcHVibGljIGFkZE9yZGVyZWRJdGVtVG9GYXZvdXJpdGUob3JkZXJlZEl0ZW06IE9yZGVyZWRJdGVtcykge1xyXG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5hZGRQcm9kdWN0VG9XaXNobGlzdChvcmRlcmVkSXRlbSk7XHJcbiAgfVxyXG4gIHB1YmxpYyByZW1vdmVJdGVtRnJvbUZhdm91cml0ZSh2YXJpZW50SWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5yZW1vdmVQcm9kdWN0RnJvbVdpc2hsaXN0KHZhcmllbnRJZCk7XHJcbiAgfVxyXG4gIHB1YmxpYyByZW1vdmVJdGVtRnJvbUNhcnQocHJvZHVjdDogUHJvZHVjdCB8IE9yZGVyZWRJdGVtcykge1xyXG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5yZW1vdmVQcm9kdWN0RnJvbUNhcnQocHJvZHVjdC52YXJpZW50SWQpO1xyXG4gIH1cclxuICBwcml2YXRlIG9iamVjdE1hcHBlcihwcm9kdWN0OiBQcm9kdWN0LCB2YXJpYW50SWQ/OiBzdHJpbmcpOiBPcmRlcmVkSXRlbXMge1xyXG4gICAgcmV0dXJuIG5ldyBPcmRlcmVkSXRlbXMocHJvZHVjdCwgdmFyaWFudElkKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,5 +1,5 @@
1
1
  import * as i4 from '@angular/common';
2
- import { CommonModule, isPlatformBrowser, NgStyle, NgFor, DOCUMENT, DatePipe, NgIf } from '@angular/common';
2
+ import { CommonModule, isPlatformBrowser, NgStyle, NgFor, DatePipe, NgIf, DOCUMENT } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
4
  import { Component, Input, EventEmitter, Injectable, Directive, HostListener, InjectionToken, Inject, inject, PLATFORM_ID, ViewChild, ElementRef, Renderer2, forwardRef, Output, Pipe, Optional, NgModule, ViewChildren } from '@angular/core';
5
5
  import { MatGridListModule } from '@angular/material/grid-list';
@@ -19,7 +19,7 @@ import * as i6 from '@angular/material/icon';
19
19
  import { MatIconModule, MatIcon } from '@angular/material/icon';
20
20
  import * as i8$1 from '@angular/cdk/scrolling';
21
21
  import { CdkVirtualScrollViewport, ScrollingModule } from '@angular/cdk/scrolling';
22
- import { map, startWith, debounceTime, distinctUntilChanged, switchMap, fromEvent, filter, forkJoin, interval, firstValueFrom, catchError, of } from 'rxjs';
22
+ import { map, startWith, debounceTime, distinctUntilChanged, switchMap, fromEvent, filter, forkJoin, firstValueFrom, interval, catchError, of } from 'rxjs';
23
23
  import * as i7 from 'ng-lazyload-image';
24
24
  import { LazyLoadImageModule } from 'ng-lazyload-image';
25
25
  import * as i1 from '@angular/common/http';
@@ -34,7 +34,7 @@ import * as i10$1 from '@angular/material/progress-spinner';
34
34
  import { MatProgressSpinner, MatProgressSpinnerModule } from '@angular/material/progress-spinner';
35
35
  import { CdkDrag, CdkDragPlaceholder, moveItemInArray } from '@angular/cdk/drag-drop';
36
36
  import * as i2$2 from '@angular/router';
37
- import { NavigationEnd, RouterLink } from '@angular/router';
37
+ import { RouterLink, NavigationEnd } from '@angular/router';
38
38
  import * as i1$2 from '@angular/platform-browser';
39
39
  import * as i7$1 from 'ngx-skeleton-loader';
40
40
  import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
@@ -8424,161 +8424,11 @@ class OrderedItems {
8424
8424
  }
8425
8425
  }
8426
8426
 
8427
- class AnalyticsService {
8428
- constructor(http, platformId, document, storageService, API_URL, storage, router) {
8429
- this.http = http;
8430
- this.platformId = platformId;
8431
- this.document = document;
8432
- this.storageService = storageService;
8433
- this.API_URL = API_URL;
8434
- this.storage = storage;
8435
- this.router = router;
8436
- this.eventQueue = [];
8437
- this.BATCH_SIZE = 10;
8438
- this.FLUSH_INTERVAL = 5000; // 5 seconds
8439
- // ===== Duration Tracking =====
8440
- this.currentPage = '';
8441
- this.currentContextMetadata = null;
8442
- this.contextStartTime = null;
8443
- this.contextActiveTime = 0;
8444
- this.currentEvent = '';
8445
- this.startAutoFlush();
8446
- this.listenToUnload();
8447
- this.listenToRouteChange();
8448
- }
8449
- startNewContext(metadata, event) {
8450
- this.closeCurrentContext(); // close previous filter session
8451
- this.currentContextMetadata = metadata;
8452
- this.contextStartTime = Date.now();
8453
- this.contextActiveTime = 0;
8454
- this.currentEvent = event;
8455
- }
8456
- getCurrentContext() {
8457
- return this.currentContextMetadata;
8458
- }
8459
- closeCurrentContext(useBeacon = false) {
8460
- if (!this.currentContextMetadata)
8461
- return;
8462
- if (this.contextStartTime) {
8463
- this.contextActiveTime += Date.now() - this.contextStartTime;
8464
- }
8465
- const user = this.storageService.getUser();
8466
- const requestFrom = this.storage.getItem('REQUEST_FROM');
8467
- if (!user || requestFrom === 'ECOMMERCE')
8468
- return;
8469
- const event = {
8470
- businessId: this.storage.getItem('bId') || '',
8471
- businessName: this.storage.getItem('bName') || '',
8472
- userId: user.userId,
8473
- createdTimeStamp: new Date().toISOString(),
8474
- page: this.currentPage,
8475
- duration: this.contextActiveTime,
8476
- eventType: this.currentEvent,
8477
- metadata: this.currentContextMetadata
8478
- };
8479
- if (useBeacon) {
8480
- fetch(this.API_URL + 'ecommerce/analytics/batch', {
8481
- method: 'POST',
8482
- body: JSON.stringify([event]),
8483
- headers: {
8484
- 'Content-Type': 'application/json'
8485
- },
8486
- keepalive: true
8487
- });
8488
- }
8489
- else {
8490
- this.eventQueue.push(event);
8491
- }
8492
- this.currentContextMetadata = null;
8493
- this.contextStartTime = null;
8494
- this.contextActiveTime = 0;
8495
- this.currentEvent = '';
8496
- }
8497
- // ===============================
8498
- // 🔥 ROUTE CHANGE LISTENER
8499
- // ===============================
8500
- listenToRouteChange() {
8501
- this.router.events.subscribe(event => {
8502
- if (event instanceof NavigationEnd) {
8503
- // Close previous page context
8504
- this.closeCurrentContext();
8505
- this.currentPage = this.router.url.split('?')[0];
8506
- this.contextStartTime = Date.now();
8507
- this.contextActiveTime = 0;
8508
- }
8509
- });
8510
- }
8511
- trackUser(event, eventType) {
8512
- const user = this.storageService.getUser();
8513
- const requestFrom = this.storage.getItem('REQUEST_FROM');
8514
- if (user === null || requestFrom === 'ECOMMERCE') {
8515
- return;
8516
- }
8517
- const page = this.router.url.split('?')[0];
8518
- this.eventQueue.push({
8519
- businessId: this.storage.getItem('bId') || '',
8520
- businessName: this.storage.getItem('bName') || '',
8521
- userId: user?.userId,
8522
- createdTimeStamp: new Date().toISOString(),
8523
- page: page,
8524
- metadata: event,
8525
- eventType: eventType
8526
- });
8527
- if (this.eventQueue.length >= this.BATCH_SIZE) {
8528
- this.flush();
8529
- }
8530
- }
8531
- startAutoFlush() {
8532
- interval(this.FLUSH_INTERVAL).subscribe(() => {
8533
- if (this.eventQueue.length > 0) {
8534
- this.flush();
8535
- }
8536
- });
8537
- }
8538
- flush() {
8539
- const eventsToSend = [...this.eventQueue];
8540
- this.eventQueue = [];
8541
- this.http.post(this.API_URL + 'ecommerce/analytics/batch', eventsToSend)
8542
- .subscribe({ error: () => { } });
8543
- }
8544
- listenToUnload() {
8545
- this.document.addEventListener('visibilitychange', () => {
8546
- if (this.document.visibilityState === 'visible') {
8547
- this.contextStartTime = Date.now();
8548
- }
8549
- else {
8550
- if (this.contextStartTime) {
8551
- this.contextActiveTime += Date.now() - this.contextStartTime;
8552
- }
8553
- this.closeCurrentContext(true);
8554
- }
8555
- });
8556
- }
8557
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnalyticsService, deps: [{ token: i1.HttpClient }, { token: PLATFORM_ID }, { token: DOCUMENT }, { token: StorageServiceService }, { token: API_URL }, { token: LOCAL_STORAGE }, { token: i2$2.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
8558
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnalyticsService, providedIn: 'root' }); }
8559
- }
8560
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnalyticsService, decorators: [{
8561
- type: Injectable,
8562
- args: [{ providedIn: 'root' }]
8563
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: Object, decorators: [{
8564
- type: Inject,
8565
- args: [PLATFORM_ID]
8566
- }] }, { type: Document, decorators: [{
8567
- type: Inject,
8568
- args: [DOCUMENT]
8569
- }] }, { type: StorageServiceService }, { type: undefined, decorators: [{
8570
- type: Inject,
8571
- args: [API_URL]
8572
- }] }, { type: undefined, decorators: [{
8573
- type: Inject,
8574
- args: [LOCAL_STORAGE]
8575
- }] }, { type: i2$2.Router }] });
8576
-
8427
+ // import { AnalyticsService } from './analytics.service';
8577
8428
  class CartService {
8578
- constructor(storageService, restService, analyticsService) {
8429
+ constructor(storageService, restService) {
8579
8430
  this.storageService = storageService;
8580
8431
  this.restService = restService;
8581
- this.analyticsService = analyticsService;
8582
8432
  }
8583
8433
  addItemFromCartPage(product, userCart) {
8584
8434
  if (product.quantity) {
@@ -8623,7 +8473,7 @@ class CartService {
8623
8473
  if (variantId) {
8624
8474
  analyticsEvent['VARIANT_ID'] = variantId;
8625
8475
  }
8626
- this.analyticsService.trackUser(analyticsEvent, type);
8476
+ // this.analyticsService.trackUser(analyticsEvent, type);
8627
8477
  }
8628
8478
  addItemToFavourite(product, varientId) {
8629
8479
  const orderedItem = this.objectMapper(product, varientId);
@@ -8679,7 +8529,7 @@ class CartService {
8679
8529
  objectMapper(product, variantId) {
8680
8530
  return new OrderedItems(product, variantId);
8681
8531
  }
8682
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CartService, deps: [{ token: StorageServiceService }, { token: RestService }, { token: AnalyticsService }], target: i0.ɵɵFactoryTarget.Injectable }); }
8532
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CartService, deps: [{ token: StorageServiceService }, { token: RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
8683
8533
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CartService, providedIn: 'root' }); }
8684
8534
  }
8685
8535
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CartService, decorators: [{
@@ -8687,7 +8537,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
8687
8537
  args: [{
8688
8538
  providedIn: 'root',
8689
8539
  }]
8690
- }], ctorParameters: () => [{ type: StorageServiceService }, { type: RestService }, { type: AnalyticsService }] });
8540
+ }], ctorParameters: () => [{ type: StorageServiceService }, { type: RestService }] });
8691
8541
 
8692
8542
  class CartComponent extends BaseSection {
8693
8543
  constructor(_eventService, cartService, router, restService, matDialog, storageService, messageService, bottomSheet, activatedRoute, matDialogData, dialogRef) {
@@ -17965,6 +17815,156 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
17965
17815
  type: Input
17966
17816
  }] } });
17967
17817
 
17818
+ class AnalyticsService {
17819
+ constructor(http, platformId, document, storageService, API_URL, storage, router) {
17820
+ this.http = http;
17821
+ this.platformId = platformId;
17822
+ this.document = document;
17823
+ this.storageService = storageService;
17824
+ this.API_URL = API_URL;
17825
+ this.storage = storage;
17826
+ this.router = router;
17827
+ this.eventQueue = [];
17828
+ this.BATCH_SIZE = 10;
17829
+ this.FLUSH_INTERVAL = 5000; // 5 seconds
17830
+ // ===== Duration Tracking =====
17831
+ this.currentPage = '';
17832
+ this.currentContextMetadata = null;
17833
+ this.contextStartTime = null;
17834
+ this.contextActiveTime = 0;
17835
+ this.currentEvent = '';
17836
+ this.startAutoFlush();
17837
+ this.listenToUnload();
17838
+ this.listenToRouteChange();
17839
+ }
17840
+ startNewContext(metadata, event) {
17841
+ this.closeCurrentContext(); // close previous filter session
17842
+ this.currentContextMetadata = metadata;
17843
+ this.contextStartTime = Date.now();
17844
+ this.contextActiveTime = 0;
17845
+ this.currentEvent = event;
17846
+ }
17847
+ getCurrentContext() {
17848
+ return this.currentContextMetadata;
17849
+ }
17850
+ closeCurrentContext(useBeacon = false) {
17851
+ if (!this.currentContextMetadata)
17852
+ return;
17853
+ if (this.contextStartTime) {
17854
+ this.contextActiveTime += Date.now() - this.contextStartTime;
17855
+ }
17856
+ const user = this.storageService.getUser();
17857
+ const requestFrom = this.storage.getItem('REQUEST_FROM');
17858
+ if (!user || requestFrom === 'ECOMMERCE')
17859
+ return;
17860
+ const event = {
17861
+ businessId: this.storage.getItem('bId') || '',
17862
+ businessName: this.storage.getItem('bName') || '',
17863
+ userId: user.userId,
17864
+ createdTimeStamp: new Date().toISOString(),
17865
+ page: this.currentPage,
17866
+ duration: this.contextActiveTime,
17867
+ eventType: this.currentEvent,
17868
+ metadata: this.currentContextMetadata
17869
+ };
17870
+ if (useBeacon) {
17871
+ fetch(this.API_URL + 'ecommerce/analytics/batch', {
17872
+ method: 'POST',
17873
+ body: JSON.stringify([event]),
17874
+ headers: {
17875
+ 'Content-Type': 'application/json'
17876
+ },
17877
+ keepalive: true
17878
+ });
17879
+ }
17880
+ else {
17881
+ this.eventQueue.push(event);
17882
+ }
17883
+ this.currentContextMetadata = null;
17884
+ this.contextStartTime = null;
17885
+ this.contextActiveTime = 0;
17886
+ this.currentEvent = '';
17887
+ }
17888
+ // ===============================
17889
+ // 🔥 ROUTE CHANGE LISTENER
17890
+ // ===============================
17891
+ listenToRouteChange() {
17892
+ this.router.events.subscribe(event => {
17893
+ if (event instanceof NavigationEnd) {
17894
+ // Close previous page context
17895
+ this.closeCurrentContext();
17896
+ this.currentPage = this.router.url.split('?')[0];
17897
+ this.contextStartTime = Date.now();
17898
+ this.contextActiveTime = 0;
17899
+ }
17900
+ });
17901
+ }
17902
+ trackUser(event, eventType) {
17903
+ const user = this.storageService.getUser();
17904
+ const requestFrom = this.storage.getItem('REQUEST_FROM');
17905
+ if (user === null || requestFrom === 'ECOMMERCE') {
17906
+ return;
17907
+ }
17908
+ const page = this.router.url.split('?')[0];
17909
+ this.eventQueue.push({
17910
+ businessId: this.storage.getItem('bId') || '',
17911
+ businessName: this.storage.getItem('bName') || '',
17912
+ userId: user?.userId,
17913
+ createdTimeStamp: new Date().toISOString(),
17914
+ page: page,
17915
+ metadata: event,
17916
+ eventType: eventType
17917
+ });
17918
+ if (this.eventQueue.length >= this.BATCH_SIZE) {
17919
+ this.flush();
17920
+ }
17921
+ }
17922
+ startAutoFlush() {
17923
+ interval(this.FLUSH_INTERVAL).subscribe(() => {
17924
+ if (this.eventQueue.length > 0) {
17925
+ this.flush();
17926
+ }
17927
+ });
17928
+ }
17929
+ flush() {
17930
+ const eventsToSend = [...this.eventQueue];
17931
+ this.eventQueue = [];
17932
+ this.http.post(this.API_URL + 'ecommerce/analytics/batch', eventsToSend)
17933
+ .subscribe({ error: () => { } });
17934
+ }
17935
+ listenToUnload() {
17936
+ this.document.addEventListener('visibilitychange', () => {
17937
+ if (this.document.visibilityState === 'visible') {
17938
+ this.contextStartTime = Date.now();
17939
+ }
17940
+ else {
17941
+ if (this.contextStartTime) {
17942
+ this.contextActiveTime += Date.now() - this.contextStartTime;
17943
+ }
17944
+ this.closeCurrentContext(true);
17945
+ }
17946
+ });
17947
+ }
17948
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnalyticsService, deps: [{ token: i1.HttpClient }, { token: PLATFORM_ID }, { token: DOCUMENT }, { token: StorageServiceService }, { token: API_URL }, { token: LOCAL_STORAGE }, { token: i2$2.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
17949
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnalyticsService, providedIn: 'root' }); }
17950
+ }
17951
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AnalyticsService, decorators: [{
17952
+ type: Injectable,
17953
+ args: [{ providedIn: 'root' }]
17954
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: Object, decorators: [{
17955
+ type: Inject,
17956
+ args: [PLATFORM_ID]
17957
+ }] }, { type: Document, decorators: [{
17958
+ type: Inject,
17959
+ args: [DOCUMENT]
17960
+ }] }, { type: StorageServiceService }, { type: undefined, decorators: [{
17961
+ type: Inject,
17962
+ args: [API_URL]
17963
+ }] }, { type: undefined, decorators: [{
17964
+ type: Inject,
17965
+ args: [LOCAL_STORAGE]
17966
+ }] }, { type: i2$2.Router }] });
17967
+
17968
17968
  class ProductDescComponent extends BaseSection {
17969
17969
  constructor(platformId, _eventService, router, activatedRoute, restService, cartService, storageService, messageService, metaTagService, titleService, bottomSheet, renderer, matDialog, analyticsService) {
17970
17970
  super();