@daffodil/category 0.81.1 → 0.83.0

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.
@@ -14,4 +14,4 @@ export interface DaffCategoryServiceInterface<V extends DaffGenericCategory<V> =
14
14
  */
15
15
  getByUrl(categoryRequest: DaffCategoryUrlRequest): Observable<DaffGetCategoryResponse<V, W>>;
16
16
  }
17
- export declare const DaffCategoryDriver: import("@angular/core").InjectionToken<any>, provideDaffCategoryDriver: <R extends any = any>(klass: import("@angular/core").Type<R>) => import("@angular/core").ExistingProvider;
17
+ export declare const DaffCategoryDriver: import("@angular/core").InjectionToken<DaffCategoryServiceInterface<DaffCategory, DaffProduct>>, provideDaffCategoryDriver: <R extends DaffCategoryServiceInterface<DaffCategory, DaffProduct> = DaffCategoryServiceInterface<DaffCategory, DaffProduct>>(klass: import("@angular/core").Type<R>) => import("@angular/core").ExistingProvider;
@@ -36,10 +36,10 @@ class DaffInMemoryCategoryService extends DaffInMemoryDriverBase {
36
36
  .set('currentPage', categoryRequest.currentPage ? categoryRequest.currentPage.toString() : null);
37
37
  return this.http.get(`${this.url}/${daffUriTruncateLeadingSlash(categoryRequest.url)}`, { params });
38
38
  }
39
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffInMemoryCategoryService, deps: [{ token: i1.HttpClient }, { token: i2.InMemoryBackendConfig }], target: i0.ɵɵFactoryTarget.Injectable }); }
40
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffInMemoryCategoryService, providedIn: 'root' }); }
39
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffInMemoryCategoryService, deps: [{ token: i1.HttpClient }, { token: i2.InMemoryBackendConfig }], target: i0.ɵɵFactoryTarget.Injectable }); }
40
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffInMemoryCategoryService, providedIn: 'root' }); }
41
41
  }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffInMemoryCategoryService, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffInMemoryCategoryService, decorators: [{
43
43
  type: Injectable,
44
44
  args: [{
45
45
  providedIn: 'root',
@@ -143,10 +143,10 @@ class DaffInMemoryBackendCategoryService {
143
143
  }
144
144
  return 1;
145
145
  }
146
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffInMemoryBackendCategoryService, deps: [{ token: i1$1.DaffCategoryFactory }, { token: i1$1.DaffCategoryPageMetadataFactory }, { token: i2$1.DaffInMemoryBackendProductService }], target: i0.ɵɵFactoryTarget.Injectable }); }
147
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffInMemoryBackendCategoryService, providedIn: 'root' }); }
146
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffInMemoryBackendCategoryService, deps: [{ token: i1$1.DaffCategoryFactory }, { token: i1$1.DaffCategoryPageMetadataFactory }, { token: i2$1.DaffInMemoryBackendProductService }], target: i0.ɵɵFactoryTarget.Injectable }); }
147
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffInMemoryBackendCategoryService, providedIn: 'root' }); }
148
148
  }
149
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffInMemoryBackendCategoryService, decorators: [{
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffInMemoryBackendCategoryService, decorators: [{
150
150
  type: Injectable,
151
151
  args: [{
152
152
  providedIn: 'root',
@@ -166,11 +166,11 @@ class DaffCategoryInMemoryDriverModule {
166
166
  ],
167
167
  };
168
168
  }
169
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryInMemoryDriverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
170
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryInMemoryDriverModule, imports: [CommonModule] }); }
171
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryInMemoryDriverModule, imports: [CommonModule] }); }
169
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryInMemoryDriverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
170
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryInMemoryDriverModule, imports: [CommonModule] }); }
171
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryInMemoryDriverModule, imports: [CommonModule] }); }
172
172
  }
173
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryInMemoryDriverModule, decorators: [{
173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryInMemoryDriverModule, decorators: [{
174
174
  type: NgModule,
175
175
  args: [{
176
176
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-category-driver-in-memory.mjs","sources":["../../../libs/category/driver/in-memory/src/collection-name.const.ts","../../../libs/category/driver/in-memory/src/drivers/category.service.ts","../../../libs/category/driver/in-memory/src/backend/category.service.ts","../../../libs/category/driver/in-memory/src/drivers/category-driver.module.ts","../../../libs/category/driver/in-memory/src/daffodil-category-driver-in-memory.ts"],"sourcesContent":["export const DAFF_CATEGORY_IN_MEMORY_COLLECTION_NAME = 'category';\n","import {\n HttpClient,\n HttpParams,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { InMemoryBackendConfig } from 'angular-in-memory-web-api';\nimport { Observable } from 'rxjs';\n\nimport {\n DaffGetCategoryResponse,\n DaffCategoryIdRequest,\n DaffCategoryUrlRequest,\n} from '@daffodil/category';\nimport { DaffCategoryServiceInterface } from '@daffodil/category/driver';\nimport { daffUriTruncateLeadingSlash } from '@daffodil/core/routing';\nimport { DaffInMemoryDriverBase } from '@daffodil/driver/in-memory';\n\nimport { DAFF_CATEGORY_IN_MEMORY_COLLECTION_NAME } from '../collection-name.const';\n\n/**\n * The category in memory driver for mocking the {@link DaffCategoryDriver} with in memory data.\n *\n * @inheritdoc\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffInMemoryCategoryService extends DaffInMemoryDriverBase implements DaffCategoryServiceInterface {\n constructor(\n private http: HttpClient,\n config: InMemoryBackendConfig,\n ) {\n super(config, DAFF_CATEGORY_IN_MEMORY_COLLECTION_NAME);\n }\n\n get(categoryRequest: DaffCategoryIdRequest): Observable<DaffGetCategoryResponse> {\n const params = new HttpParams()\n .set('pageSize', categoryRequest.pageSize ? categoryRequest.pageSize.toString() : null)\n .set('currentPage', categoryRequest.currentPage ? categoryRequest.currentPage.toString() : null);\n\n return this.http.get<DaffGetCategoryResponse>(`${this.url}/${categoryRequest.id}`, { params });\n }\n\n getByUrl(categoryRequest: DaffCategoryUrlRequest): Observable<DaffGetCategoryResponse> {\n const params = new HttpParams()\n .set('pageSize', categoryRequest.pageSize ? categoryRequest.pageSize.toString() : null)\n .set('currentPage', categoryRequest.currentPage ? categoryRequest.currentPage.toString() : null);\n\n return this.http.get<DaffGetCategoryResponse>(`${this.url}/${daffUriTruncateLeadingSlash(categoryRequest.url)}`, { params });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { faker } from '@faker-js/faker/locale/en_US';\nimport {\n InMemoryDbService,\n RequestInfoUtilities,\n ParsedRequestUrl,\n STATUS,\n} from 'angular-in-memory-web-api';\n\nimport {\n DaffCategory,\n DaffCategoryPageMetadata,\n} from '@daffodil/category';\nimport {\n DaffCategoryFactory,\n DaffCategoryPageMetadataFactory,\n} from '@daffodil/category/testing';\nimport { collect } from '@daffodil/core';\nimport { daffUriTruncateLeadingSlash } from '@daffodil/core/routing';\nimport { DaffInMemorySingleRouteableBackend } from '@daffodil/driver/in-memory';\nimport { DaffProduct } from '@daffodil/product';\nimport { DaffInMemoryBackendProductService } from '@daffodil/product/driver/in-memory';\n\nimport { DAFF_CATEGORY_IN_MEMORY_COLLECTION_NAME } from '../collection-name.const';\n\n/**\n * An in-memory service that mocks out the backend services for getting categories. See the angular in memory documentation for more details.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffInMemoryBackendCategoryService implements InMemoryDbService, DaffInMemorySingleRouteableBackend {\n readonly collectionName = DAFF_CATEGORY_IN_MEMORY_COLLECTION_NAME;\n\n protected _root: DaffCategory;\n protected _categories: DaffCategory[] = [];\n protected _categoryPageMetadata: DaffCategoryPageMetadata;\n\n get rootCategory(): DaffCategory {\n return this._root;\n }\n\n /**\n * The collection of categories in the backend.\n */\n get categories(): DaffCategory[] {\n return this._categories;\n }\n\n /**\n * The metadata associated with the current page.\n */\n get categoryPageMetadata(): DaffCategoryPageMetadata {\n return this._categoryPageMetadata;\n }\n\n constructor(\n private categoryFactory: DaffCategoryFactory,\n private metadataFactory: DaffCategoryPageMetadataFactory,\n private productInMemoryBackendService: DaffInMemoryBackendProductService,\n ) {\n this._root = this.categoryFactory.createTree(\n 3,\n this.productInMemoryBackendService.products.map(({ id }) => id),\n );\n this._categories = collect(\n this._root,\n (category) => category?.children || [],\n );\n }\n\n /**\n * @docs-private\n */\n parseRequestUrl(url: string, utils: RequestInfoUtilities): ParsedRequestUrl {\n return utils.parseRequestUrl(url);\n }\n\n /**\n * @docs-private\n */\n createDb(): any {\n return {\n categories: this.categories,\n };\n }\n\n /**\n * Get a category.\n *\n * @param reqInfo\n */\n get(reqInfo: any) {\n // this method is overloaded for both get by ID and URL so we check both\n const category = this.categories.filter(({ id, url }) => id === reqInfo.id || daffUriTruncateLeadingSlash(url) === reqInfo.id)[0];\n\n if (category) {\n this._categoryPageMetadata = this.metadataFactory.create({\n id: reqInfo.id,\n pageSize: this.generatePageSize(reqInfo),\n currentPage: this.getCurrentPageParam(reqInfo),\n totalPages: this.getTotalPages(category.product_ids, this.generatePageSize(reqInfo)),\n ids: this.trimProductIdsToSinglePage(category.product_ids, this.getCurrentPageParam(reqInfo), this.generatePageSize(reqInfo)),\n count: category.total_products,\n });\n\n return reqInfo.utils.createResponse$(() => ({\n body: {\n category,\n categoryPageMetadata: this._categoryPageMetadata,\n products: this.productInMemoryBackendService.products,\n },\n status: STATUS.OK,\n }));\n } else {\n this._categoryPageMetadata = null;\n return reqInfo.utils.createResponse$(() => ({\n body: {},\n status: STATUS.NOT_FOUND,\n }));\n }\n\n }\n\n protected getTotalPages(allIds: DaffProduct['id'][], pageSize: number) {\n return Math.ceil(allIds.length/pageSize);\n }\n\n protected trimProductIdsToSinglePage(allIds: any[], currentPage: number, pageSize: number) {\n const tempIds = [...allIds];\n tempIds.splice(0, (currentPage-1) * pageSize);\n tempIds.splice(pageSize, tempIds.length-pageSize);\n\n return tempIds;\n }\n\n protected generatePageSize(reqInfo) {\n if(reqInfo.req.params.map && reqInfo.req.params.map.get('pageSize') && reqInfo.req.params.map.get('pageSize')[0]) {\n return parseInt(reqInfo.req.params.map.get('pageSize')[0], 10);\n }\n return 10;\n }\n\n protected getCurrentPageParam(reqInfo) {\n if(reqInfo.req.params.map && reqInfo.req.params.map.get('currentPage') && reqInfo.req.params.map.get('currentPage')[0]) {\n return parseInt(reqInfo.req.params.map.get('currentPage')[0], 10);\n }\n return 1;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n NgModule,\n ModuleWithProviders,\n} from '@angular/core';\n\nimport { provideDaffCategoryDriver } from '@daffodil/category/driver';\nimport { provideDaffInMemoryBackends } from '@daffodil/driver/in-memory';\n\nimport { DaffInMemoryCategoryService } from './category.service';\nimport { DaffInMemoryBackendCategoryService } from '../backend/category.service';\n\n/**\n * A module that provides the {@link DaffInMemoryCategoryService} for the {@link DaffCategoryDriver} token.\n */\n@NgModule({\n imports: [\n CommonModule,\n ],\n})\nexport class DaffCategoryInMemoryDriverModule {\n static forRoot(): ModuleWithProviders<DaffCategoryInMemoryDriverModule> {\n return {\n ngModule: DaffCategoryInMemoryDriverModule,\n providers: [\n provideDaffCategoryDriver(DaffInMemoryCategoryService),\n provideDaffInMemoryBackends(DaffInMemoryBackendCategoryService),\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2"],"mappings":"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"}
1
+ {"version":3,"file":"daffodil-category-driver-in-memory.mjs","sources":["../../../libs/category/driver/in-memory/src/collection-name.const.ts","../../../libs/category/driver/in-memory/src/drivers/category.service.ts","../../../libs/category/driver/in-memory/src/backend/category.service.ts","../../../libs/category/driver/in-memory/src/drivers/category-driver.module.ts","../../../libs/category/driver/in-memory/src/daffodil-category-driver-in-memory.ts"],"sourcesContent":["export const DAFF_CATEGORY_IN_MEMORY_COLLECTION_NAME = 'category';\n","import {\n HttpClient,\n HttpParams,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { InMemoryBackendConfig } from 'angular-in-memory-web-api';\nimport { Observable } from 'rxjs';\n\nimport {\n DaffGetCategoryResponse,\n DaffCategoryIdRequest,\n DaffCategoryUrlRequest,\n} from '@daffodil/category';\nimport { DaffCategoryServiceInterface } from '@daffodil/category/driver';\nimport { daffUriTruncateLeadingSlash } from '@daffodil/core/routing';\nimport { DaffInMemoryDriverBase } from '@daffodil/driver/in-memory';\n\nimport { DAFF_CATEGORY_IN_MEMORY_COLLECTION_NAME } from '../collection-name.const';\n\n/**\n * The category in memory driver for mocking the {@link DaffCategoryDriver} with in memory data.\n *\n * @inheritdoc\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffInMemoryCategoryService extends DaffInMemoryDriverBase implements DaffCategoryServiceInterface {\n constructor(\n private http: HttpClient,\n config: InMemoryBackendConfig,\n ) {\n super(config, DAFF_CATEGORY_IN_MEMORY_COLLECTION_NAME);\n }\n\n get(categoryRequest: DaffCategoryIdRequest): Observable<DaffGetCategoryResponse> {\n const params = new HttpParams()\n .set('pageSize', categoryRequest.pageSize ? categoryRequest.pageSize.toString() : null)\n .set('currentPage', categoryRequest.currentPage ? categoryRequest.currentPage.toString() : null);\n\n return this.http.get<DaffGetCategoryResponse>(`${this.url}/${categoryRequest.id}`, { params });\n }\n\n getByUrl(categoryRequest: DaffCategoryUrlRequest): Observable<DaffGetCategoryResponse> {\n const params = new HttpParams()\n .set('pageSize', categoryRequest.pageSize ? categoryRequest.pageSize.toString() : null)\n .set('currentPage', categoryRequest.currentPage ? categoryRequest.currentPage.toString() : null);\n\n return this.http.get<DaffGetCategoryResponse>(`${this.url}/${daffUriTruncateLeadingSlash(categoryRequest.url)}`, { params });\n }\n}\n","import { Injectable } from '@angular/core';\nimport {\n InMemoryDbService,\n RequestInfoUtilities,\n ParsedRequestUrl,\n STATUS,\n} from 'angular-in-memory-web-api';\n\nimport {\n DaffCategory,\n DaffCategoryPageMetadata,\n} from '@daffodil/category';\nimport {\n DaffCategoryFactory,\n DaffCategoryPageMetadataFactory,\n} from '@daffodil/category/testing';\nimport { collect } from '@daffodil/core';\nimport { daffUriTruncateLeadingSlash } from '@daffodil/core/routing';\nimport { DaffInMemorySingleRouteableBackend } from '@daffodil/driver/in-memory';\nimport { DaffProduct } from '@daffodil/product';\nimport { DaffInMemoryBackendProductService } from '@daffodil/product/driver/in-memory';\n\nimport { DAFF_CATEGORY_IN_MEMORY_COLLECTION_NAME } from '../collection-name.const';\n\n/**\n * An in-memory service that mocks out the backend services for getting categories. See the angular in memory documentation for more details.\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffInMemoryBackendCategoryService implements InMemoryDbService, DaffInMemorySingleRouteableBackend {\n readonly collectionName = DAFF_CATEGORY_IN_MEMORY_COLLECTION_NAME;\n\n protected _root: DaffCategory;\n protected _categories: DaffCategory[] = [];\n protected _categoryPageMetadata: DaffCategoryPageMetadata;\n\n get rootCategory(): DaffCategory {\n return this._root;\n }\n\n /**\n * The collection of categories in the backend.\n */\n get categories(): DaffCategory[] {\n return this._categories;\n }\n\n /**\n * The metadata associated with the current page.\n */\n get categoryPageMetadata(): DaffCategoryPageMetadata {\n return this._categoryPageMetadata;\n }\n\n constructor(\n private categoryFactory: DaffCategoryFactory,\n private metadataFactory: DaffCategoryPageMetadataFactory,\n private productInMemoryBackendService: DaffInMemoryBackendProductService,\n ) {\n this._root = this.categoryFactory.createTree(\n 3,\n this.productInMemoryBackendService.products.map(({ id }) => id),\n );\n this._categories = collect(\n this._root,\n (category) => category?.children || [],\n );\n }\n\n /**\n * @docs-private\n */\n parseRequestUrl(url: string, utils: RequestInfoUtilities): ParsedRequestUrl {\n return utils.parseRequestUrl(url);\n }\n\n /**\n * @docs-private\n */\n createDb(): any {\n return {\n categories: this.categories,\n };\n }\n\n /**\n * Get a category.\n *\n * @param reqInfo\n */\n get(reqInfo: any) {\n // this method is overloaded for both get by ID and URL so we check both\n const category = this.categories.filter(({ id, url }) => id === reqInfo.id || daffUriTruncateLeadingSlash(url) === reqInfo.id)[0];\n\n if (category) {\n this._categoryPageMetadata = this.metadataFactory.create({\n id: reqInfo.id,\n pageSize: this.generatePageSize(reqInfo),\n currentPage: this.getCurrentPageParam(reqInfo),\n totalPages: this.getTotalPages(category.product_ids, this.generatePageSize(reqInfo)),\n ids: this.trimProductIdsToSinglePage(category.product_ids, this.getCurrentPageParam(reqInfo), this.generatePageSize(reqInfo)),\n count: category.total_products,\n });\n\n return reqInfo.utils.createResponse$(() => ({\n body: {\n category,\n categoryPageMetadata: this._categoryPageMetadata,\n products: this.productInMemoryBackendService.products,\n },\n status: STATUS.OK,\n }));\n } else {\n this._categoryPageMetadata = null;\n return reqInfo.utils.createResponse$(() => ({\n body: {},\n status: STATUS.NOT_FOUND,\n }));\n }\n\n }\n\n protected getTotalPages(allIds: DaffProduct['id'][], pageSize: number) {\n return Math.ceil(allIds.length/pageSize);\n }\n\n protected trimProductIdsToSinglePage(allIds: any[], currentPage: number, pageSize: number) {\n const tempIds = [...allIds];\n tempIds.splice(0, (currentPage-1) * pageSize);\n tempIds.splice(pageSize, tempIds.length-pageSize);\n\n return tempIds;\n }\n\n protected generatePageSize(reqInfo) {\n if(reqInfo.req.params.map && reqInfo.req.params.map.get('pageSize') && reqInfo.req.params.map.get('pageSize')[0]) {\n return parseInt(reqInfo.req.params.map.get('pageSize')[0], 10);\n }\n return 10;\n }\n\n protected getCurrentPageParam(reqInfo) {\n if(reqInfo.req.params.map && reqInfo.req.params.map.get('currentPage') && reqInfo.req.params.map.get('currentPage')[0]) {\n return parseInt(reqInfo.req.params.map.get('currentPage')[0], 10);\n }\n return 1;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n NgModule,\n ModuleWithProviders,\n} from '@angular/core';\n\nimport { provideDaffCategoryDriver } from '@daffodil/category/driver';\nimport { provideDaffInMemoryBackends } from '@daffodil/driver/in-memory';\n\nimport { DaffInMemoryCategoryService } from './category.service';\nimport { DaffInMemoryBackendCategoryService } from '../backend/category.service';\n\n/**\n * A module that provides the {@link DaffInMemoryCategoryService} for the {@link DaffCategoryDriver} token.\n */\n@NgModule({\n imports: [\n CommonModule,\n ],\n})\nexport class DaffCategoryInMemoryDriverModule {\n static forRoot(): ModuleWithProviders<DaffCategoryInMemoryDriverModule> {\n return {\n ngModule: DaffCategoryInMemoryDriverModule,\n providers: [\n provideDaffCategoryDriver(DaffInMemoryCategoryService),\n provideDaffInMemoryBackends(DaffInMemoryBackendCategoryService),\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2"],"mappings":"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"}
@@ -25,10 +25,10 @@ class DaffCategoryDriverMagentoCategoryFactory extends DaffModelFactory {
25
25
  constructor() {
26
26
  super(MockMagentoCategory);
27
27
  }
28
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryDriverMagentoCategoryFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
29
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryDriverMagentoCategoryFactory, providedIn: 'root' }); }
28
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryDriverMagentoCategoryFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
29
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryDriverMagentoCategoryFactory, providedIn: 'root' }); }
30
30
  }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryDriverMagentoCategoryFactory, decorators: [{
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryDriverMagentoCategoryFactory, decorators: [{
32
32
  type: Injectable,
33
33
  args: [{
34
34
  providedIn: 'root',
@@ -150,10 +150,10 @@ class DaffMagentoAppliedFiltersTransformService {
150
150
  ...this.productFilterRequestsTransformer.transform(daffFilters),
151
151
  };
152
152
  }
153
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffMagentoAppliedFiltersTransformService, deps: [{ token: i1.MagentoProductAppliedFiltersTransformService }], target: i0.ɵɵFactoryTarget.Injectable }); }
154
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffMagentoAppliedFiltersTransformService, providedIn: 'root' }); }
153
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffMagentoAppliedFiltersTransformService, deps: [{ token: i1.MagentoProductAppliedFiltersTransformService }], target: i0.ɵɵFactoryTarget.Injectable }); }
154
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffMagentoAppliedFiltersTransformService, providedIn: 'root' }); }
155
155
  }
156
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffMagentoAppliedFiltersTransformService, decorators: [{
156
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffMagentoAppliedFiltersTransformService, decorators: [{
157
157
  type: Injectable,
158
158
  args: [{
159
159
  providedIn: 'root',
@@ -168,10 +168,10 @@ class DaffMagentoCategoryPageConfigTransformerService {
168
168
  id: categoryResponse.category.uid,
169
169
  };
170
170
  }
171
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffMagentoCategoryPageConfigTransformerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
172
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffMagentoCategoryPageConfigTransformerService, providedIn: 'root' }); }
171
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffMagentoCategoryPageConfigTransformerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
172
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffMagentoCategoryPageConfigTransformerService, providedIn: 'root' }); }
173
173
  }
174
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffMagentoCategoryPageConfigTransformerService, decorators: [{
174
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffMagentoCategoryPageConfigTransformerService, decorators: [{
175
175
  type: Injectable,
176
176
  args: [{
177
177
  providedIn: 'root',
@@ -229,10 +229,10 @@ class DaffMagentoCategoryTransformerService {
229
229
  url: `/${breadcrumb.category_url_path}${category.url_suffix}`,
230
230
  };
231
231
  }
232
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffMagentoCategoryTransformerService, deps: [{ token: MAGENTO_CATEGORY_EXTRA_TRANSFORMS }], target: i0.ɵɵFactoryTarget.Injectable }); }
233
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffMagentoCategoryTransformerService, providedIn: 'root' }); }
232
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffMagentoCategoryTransformerService, deps: [{ token: MAGENTO_CATEGORY_EXTRA_TRANSFORMS }], target: i0.ɵɵFactoryTarget.Injectable }); }
233
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffMagentoCategoryTransformerService, providedIn: 'root' }); }
234
234
  }
235
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffMagentoCategoryTransformerService, decorators: [{
235
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffMagentoCategoryTransformerService, decorators: [{
236
236
  type: Injectable,
237
237
  args: [{
238
238
  providedIn: 'root',
@@ -256,10 +256,10 @@ class DaffMagentoCategoryResponseTransformService {
256
256
  products: completeCategory.products.map(product => this.magentoProductsTransform(product, mediaUrl)),
257
257
  };
258
258
  }
259
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffMagentoCategoryResponseTransformService, deps: [{ token: DaffMagentoCategoryTransformerService }, { token: DaffMagentoCategoryPageConfigTransformerService }, { token: DAFF_PRODUCT_MAGENTO_PRODUCT_TRANSFORM }], target: i0.ɵɵFactoryTarget.Injectable }); }
260
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffMagentoCategoryResponseTransformService, providedIn: 'root' }); }
259
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffMagentoCategoryResponseTransformService, deps: [{ token: DaffMagentoCategoryTransformerService }, { token: DaffMagentoCategoryPageConfigTransformerService }, { token: DAFF_PRODUCT_MAGENTO_PRODUCT_TRANSFORM }], target: i0.ɵɵFactoryTarget.Injectable }); }
260
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffMagentoCategoryResponseTransformService, providedIn: 'root' }); }
261
261
  }
262
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffMagentoCategoryResponseTransformService, decorators: [{
262
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffMagentoCategoryResponseTransformService, decorators: [{
263
263
  type: Injectable,
264
264
  args: [{
265
265
  providedIn: 'root',
@@ -382,10 +382,10 @@ class DaffMagentoCategoryService {
382
382
  };
383
383
  return this.magentoCategoryResponseTransformer.transform(completeCategory, mediaUrl);
384
384
  }
385
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffMagentoCategoryService, deps: [{ token: i1$1.Apollo }, { token: DaffMagentoCategoryResponseTransformService }, { token: DaffMagentoAppliedFiltersTransformService }, { token: MAGENTO_CATEGORY_CONFIG_TOKEN }, { token: MAGENTO_PRODUCT_CONFIG_TOKEN }, { token: DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_FRAGMENTS }, { token: DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_FRAGMENTS }, { token: MAGENTO_CATEGORY_EXTRA_FRAGMENTS }], target: i0.ɵɵFactoryTarget.Injectable }); }
386
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffMagentoCategoryService, providedIn: 'root' }); }
385
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffMagentoCategoryService, deps: [{ token: i1$1.Apollo }, { token: DaffMagentoCategoryResponseTransformService }, { token: DaffMagentoAppliedFiltersTransformService }, { token: MAGENTO_CATEGORY_CONFIG_TOKEN }, { token: MAGENTO_PRODUCT_CONFIG_TOKEN }, { token: DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_FRAGMENTS }, { token: DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_FRAGMENTS }, { token: MAGENTO_CATEGORY_EXTRA_FRAGMENTS }], target: i0.ɵɵFactoryTarget.Injectable }); }
386
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffMagentoCategoryService, providedIn: 'root' }); }
387
387
  }
388
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffMagentoCategoryService, decorators: [{
388
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffMagentoCategoryService, decorators: [{
389
389
  type: Injectable,
390
390
  args: [{
391
391
  providedIn: 'root',
@@ -426,11 +426,11 @@ class DaffCategoryMagentoDriverModule {
426
426
  ],
427
427
  };
428
428
  }
429
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryMagentoDriverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
430
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryMagentoDriverModule, imports: [CommonModule] }); }
431
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryMagentoDriverModule, imports: [CommonModule] }); }
429
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryMagentoDriverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
430
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryMagentoDriverModule, imports: [CommonModule] }); }
431
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryMagentoDriverModule, imports: [CommonModule] }); }
432
432
  }
433
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryMagentoDriverModule, decorators: [{
433
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryMagentoDriverModule, decorators: [{
434
434
  type: NgModule,
435
435
  args: [{
436
436
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-category-driver-magento.mjs","sources":["../../../libs/category/driver/magento/src/fragments/token.ts","../../../libs/category/driver/magento/src/transformers/truncate-url.ts","../../../libs/category/driver/magento/src/config/default.ts","../../../libs/category/driver/magento/src/interfaces/config.interface.ts","../../../libs/category/driver/magento/src/queries/resolve-url.ts","../../../libs/category/driver/magento/src/queries/fragments/category-tree.ts","../../../libs/category/driver/magento/src/queries/get-category-and-products.ts","../../../libs/category/driver/magento/src/transformers/applied-filter-transformer.service.ts","../../../libs/category/driver/magento/src/transformers/category-page-config-transformer.service.ts","../../../libs/category/driver/magento/src/transforms/token.ts","../../../libs/category/driver/magento/src/transformers/category-transformer.service.ts","../../../libs/category/driver/magento/src/transformers/category-response-transform.service.ts","../../../libs/category/driver/magento/src/transformers/pure/add-metadata-types-to-aggregates.ts","../../../libs/category/driver/magento/src/category.service.ts","../../../libs/category/driver/magento/src/category-driver.module.ts","../../../libs/category/driver/magento/src/daffodil-category-driver-magento.ts"],"sourcesContent":["import { DocumentNode } from '@apollo/client/core';\n\nimport { createMultiInjectionToken } from '@daffodil/core';\n\n\nexport const {\n /**\n * A multi-provider injection token for providing category tree transform logic in the Magento driver.\n * It is run after the standard transforms and passed both the current transformed Daffodil category and the Magento category.\n */\n token: MAGENTO_CATEGORY_EXTRA_FRAGMENTS,\n /**\n * Provides category tree transforms for the Magento category driver.\n *\n * See {@link MAGENTO_CATEGORY_EXTRA_FRAGMENTS}.\n *\n * @example\n * ```ts\n * providers: [\n * ...magentoProvideCategoryExtraFragments(\n * myCategoryExtraFragment\n * )\n * ]\n * ```\n */\n provider: magentoProvideCategoryExtraFragments,\n} = createMultiInjectionToken<DocumentNode>('MAGENTO_CATEGORY_EXTRA_FRAGMENTS');\n","import {\n daffUriTruncateQueryFragment,\n daffUriTruncateFileExtension,\n daffUriTruncateLeadingSlash,\n} from '@daffodil/core/routing';\n\n/**\n * Truncates leading slash, file extension, query params, and fragments.\n */\nexport const magentoCategoryTruncateUrl = (url: string): string =>\n daffUriTruncateLeadingSlash(daffUriTruncateFileExtension(daffUriTruncateQueryFragment(url)));\n","import { DaffCategoryMagentoDriverConfig } from '../interfaces/public_api';\nimport { magentoCategoryTruncateUrl } from '../transformers/truncate-url';\n\n/**\n * The default configuration for the {@link DaffCategoryMagentoDriverConfig}.\n */\nexport const MAGENTO_CATEGORY_CONFIG_DEFAULT: DaffCategoryMagentoDriverConfig = {\n truncateUrl: true,\n uriTruncationStrategy: magentoCategoryTruncateUrl,\n};\n","import { createConfigInjectionToken } from '@daffodil/core';\n\nimport { MAGENTO_CATEGORY_CONFIG_DEFAULT } from '../config/default';\n\nexport const {\n /**\n * The token used to provide @daffodil/category/driver/magento config data.\n * Mandatory for the Magento driver.\n */\n token: MAGENTO_CATEGORY_CONFIG_TOKEN,\n /**\n * Provider function for {@link MAGENTO_CATEGORY_CONFIG_TOKEN}.\n */\n provider: provideMagentoCategoryConfig,\n} = createConfigInjectionToken<DaffCategoryMagentoDriverConfig>(\n MAGENTO_CATEGORY_CONFIG_DEFAULT,\n 'MAGENTO_CATEGORY_CONFIG_TOKEN',\n);\n\n/**\n * An interface for providing @daffodil/category/driver/magento with necessary config values.\n */\nexport interface DaffCategoryMagentoDriverConfig {\n /**\n * Whether or not to attempt to truncate the category URL\n * during the {@link DaffMagentoCategoryService#getByUrl} call.\n * True by default.\n */\n truncateUrl?: boolean;\n /**\n * An optional custom function to truncate the URL.\n * Defaults to truncate leading slash, file extension, query params, and fragments.\n */\n uriTruncationStrategy?: (string) => string;\n}\n","import { gql } from 'apollo-angular';\n\nexport const DAFF_MAGENTO_RESOLVE_CATEGORY_URL_QUERY_NAME = 'MagentoResolveCategoryUrl';\n\n/**\n * This query retrieves a URL resolution from Magento and informs you about\n * what type of route the URL is.\n */\nexport const MagentoResolveCategoryUrl = gql`\n\tquery ${DAFF_MAGENTO_RESOLVE_CATEGORY_URL_QUERY_NAME}($url: String!) {\n\t\troute(url: $url) {\n __typename\n\t\t\t... on CategoryInterface {\n\t\t\t\tuid\n\t\t\t}\n\t\t}\n\t}\n`;\n","import { gql } from 'apollo-angular';\n\nexport const magentoCategoryTreeFragment = gql`\n fragment categoryTree on CategoryTree {\n uid\n url_path\n url_suffix\n canonical_url\n\t\tname\n\t\tlevel\n\t\tmeta_title\n\t\tmeta_description\n\t\tdescription\n\t\tbreadcrumbs {\n\t\t\tcategory_uid\n\t\t\tcategory_name\n\t\t\tcategory_level\n\t\t\tcategory_url_path\n\t\t}\n\t\tchildren_count\n }\n`;\n","import { gql } from 'apollo-angular';\nimport { DocumentNode } from 'graphql';\n\nimport {\n daffBuildFragmentDefinition,\n daffBuildFragmentNameSpread,\n} from '@daffodil/core/graphql';\nimport { magentoSearchResultPageInfoFragment } from '@daffodil/driver/magento';\nimport {\n magentoProductAggregationsFragment,\n magentoProductFragment,\n magentoProductSortFieldsFragment,\n} from '@daffodil/product/driver/magento';\n\nimport { magentoCategoryTreeFragment } from './fragments/public_api';\n\nexport const DAFF_MAGENTO_GET_CATEGORY_AND_PRODUCTS_QUERY_NAME = 'MagentoGetCategoryAndProducts';\n\nexport const MagentoGetCategoryAndProductsQuery = (extraCategoryFragments: DocumentNode[] = [], extraProductFragments: DocumentNode[] = []) => gql`\nquery ${DAFF_MAGENTO_GET_CATEGORY_AND_PRODUCTS_QUERY_NAME}($categoryFilters: CategoryFilterInput, $productFilter: ProductAttributeFilterInput!, $search: String, $pageSize: Int, $currentPage: Int, $sort: ProductAttributeSortInput)\n{\n categoryList(filters: $categoryFilters) {\n\t\t...categoryTree\n ${daffBuildFragmentNameSpread(...extraCategoryFragments)}\n\t}\n\tproducts(filter: $productFilter, search: $search, pageSize: $pageSize, currentPage: $currentPage, sort: $sort)\n\t{\n\t\ttotal_count\n\t\titems {\n\t\t\t...product\n ${daffBuildFragmentNameSpread(...extraProductFragments)}\n\t\t}\n\t\tpage_info {\n\t\t\t...magentoSearchResultPageInfo\n\t\t}\n\t\taggregations {\n\t\t\t...magentoProductAggregations\n\t\t}\n\t\tsort_fields {\n\t\t\t...magentoProductSortFields\n\t\t}\n\t}\n}\n${magentoCategoryTreeFragment}\n${magentoProductFragment}\n${magentoSearchResultPageInfoFragment}\n${magentoProductSortFieldsFragment}\n${magentoProductAggregationsFragment}\n${daffBuildFragmentDefinition(...extraCategoryFragments)}\n${daffBuildFragmentDefinition(...extraProductFragments)}\n`;\n","import { Injectable } from '@angular/core';\n\nimport { DaffCategory } from '@daffodil/category';\nimport { DaffFilterRequest } from '@daffodil/core';\nimport {\n MagentoProductFilterActionEnum,\n MagentoProductFilters,\n MagentoProductAppliedFiltersTransformService,\n} from '@daffodil/product/driver/magento';\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoAppliedFiltersTransformService {\n constructor(\n private productFilterRequestsTransformer: MagentoProductAppliedFiltersTransformService,\n ) {}\n\n transform(categoryId: DaffCategory['id'], daffFilters: DaffFilterRequest[]): MagentoProductFilters {\n const magentoFilters: MagentoProductFilters = {\n category_uid: {\n [MagentoProductFilterActionEnum.Equal]: categoryId,\n },\n };\n\n if(!daffFilters) {\n return magentoFilters;\n }\n\n return {\n ...magentoFilters,\n ...this.productFilterRequestsTransformer.transform(daffFilters),\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { DaffCategoryPageMetadata } from '@daffodil/category';\nimport { magentoProductCollectionMetadataTransform } from '@daffodil/product/driver/magento';\n\nimport { MagentoCompleteCategoryResponse } from '../models/public_api';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryPageConfigTransformerService {\n\n transform(categoryResponse: MagentoCompleteCategoryResponse): DaffCategoryPageMetadata {\n const aggregatesWithoutCategories = categoryResponse.aggregates.filter(aggregate => aggregate.attribute_code !== 'category_id');\n\n return {\n ...magentoProductCollectionMetadataTransform(\n aggregatesWithoutCategories,\n categoryResponse.page_info,\n categoryResponse.sort_fields,\n categoryResponse.products,\n categoryResponse.total_count,\n categoryResponse.appliedSortOption,\n categoryResponse.appliedSortDirection,\n ),\n id: categoryResponse.category.uid,\n };\n }\n}\n","// workaround https://github.com/graycoreio/daffodil/issues/1667\nimport { DaffCategory } from '@daffodil/category';\nimport { createMultiInjectionToken } from '@daffodil/core';\n\nimport { MagentoCategoryTreeTransform } from './type';\n\nexport const {\n /**\n * A multi-provider injection token for providing category transform logic in the Magento driver.\n * It is run after the standard transforms and passed both the current transformed Daffodil category and the Magento category.\n */\n token: MAGENTO_CATEGORY_EXTRA_TRANSFORMS,\n /**\n * Provides category transforms for the Magento category driver.\n *\n * See {@link MAGENTO_CATEGORY_EXTRA_TRANSFORMS}.\n *\n * @example\n * ```ts\n * providers: [\n * ...magentoProvideCategoryExtraTransforms(\n * myCategoryExtraTransform\n * )\n * ]\n * ```\n */\n provider: magentoProvideCategoryExtraTransforms,\n} = createMultiInjectionToken<MagentoCategoryTreeTransform>('MAGENTO_CATEGORY_EXTRA_TRANSFORMS');\n","import {\n Inject,\n Injectable,\n} from '@angular/core';\n\nimport {\n DaffCategory,\n DaffCategoryBreadcrumb,\n} from '@daffodil/category';\nimport { MagentoProduct } from '@daffodil/product/driver/magento';\n\nimport {\n MagentoBreadcrumb,\n MagentoCategory,\n} from '../models/public_api';\nimport {\n MAGENTO_CATEGORY_EXTRA_TRANSFORMS,\n MagentoCategoryTreeTransform,\n} from '../transforms/public_api';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryTransformerService {\n constructor(\n @Inject(MAGENTO_CATEGORY_EXTRA_TRANSFORMS) private extraTransforms: Array<MagentoCategoryTreeTransform>,\n ) {}\n\n transform(category: MagentoCategory, products: MagentoProduct[]): DaffCategory {\n return this.extraTransforms.reduce<DaffCategory>((acc, transform) => transform(acc, category, products), {\n id: category.uid,\n url: `/${category.url_path}${category.url_suffix}`,\n canonicalUrl: category.canonical_url,\n name: category.name,\n description: category.description,\n meta_title: category.meta_title,\n meta_description: category.meta_description,\n children_count: category.children_count,\n breadcrumbs: category.breadcrumbs\n ?.map(breadcrumb => this.transformBreadcrumb(breadcrumb, category))\n .sort((a, b) => a.level - b.level) || null,\n product_ids: products.map(product => product.sku),\n total_products: products.length,\n });\n }\n\n private transformBreadcrumb(breadcrumb: MagentoBreadcrumb, category: MagentoCategory): DaffCategoryBreadcrumb {\n return {\n id: breadcrumb.category_uid,\n name: breadcrumb.category_name,\n level: breadcrumb.category_level,\n url: `/${breadcrumb.category_url_path}${category.url_suffix}`,\n };\n }\n}\n","import {\n Inject,\n Injectable,\n} from '@angular/core';\n\nimport { DaffGetCategoryResponse } from '@daffodil/category';\nimport {\n DAFF_PRODUCT_MAGENTO_PRODUCT_TRANSFORM,\n DaffMagentoProductTransform,\n} from '@daffodil/product/driver/magento';\n\nimport { DaffMagentoCategoryPageConfigTransformerService } from './category-page-config-transformer.service';\nimport { DaffMagentoCategoryTransformerService } from './category-transformer.service';\nimport { MagentoCompleteCategoryResponse } from '../models/public_api';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryResponseTransformService {\n\n constructor(\n private magentoCategoryTransformerService: DaffMagentoCategoryTransformerService,\n private magentoCategoryPageConfigurationTransformerService: DaffMagentoCategoryPageConfigTransformerService,\n @Inject(DAFF_PRODUCT_MAGENTO_PRODUCT_TRANSFORM) private magentoProductsTransform: DaffMagentoProductTransform,\n ) {}\n\n transform(completeCategory: MagentoCompleteCategoryResponse, mediaUrl: string): DaffGetCategoryResponse {\n return {\n ...{ magentoCompleteCategoryResponse: completeCategory },\n category: this.magentoCategoryTransformerService.transform(completeCategory.category, completeCategory.products),\n categoryPageMetadata: this.magentoCategoryPageConfigurationTransformerService.transform(completeCategory),\n products: completeCategory.products.map(product => this.magentoProductsTransform(product, mediaUrl)),\n };\n }\n}\n","import {\n MagentoProductGetFilterTypesResponse,\n magentoProductGetMatchedAttributeType,\n} from '@daffodil/product/driver/magento';\n\nimport { MagentoGetCategoryAndProductsResponse } from '../../models/public_api';\n\nexport function addMetadataTypesToProductsResponse(\n attributeResponse: MagentoProductGetFilterTypesResponse,\n aggregationResponse: MagentoGetCategoryAndProductsResponse,\n): MagentoGetCategoryAndProductsResponse {\n return {\n ...aggregationResponse,\n products: {\n ...aggregationResponse.products,\n aggregations: [\n ...aggregationResponse.products.aggregations.map((aggregate) => ({\n ...aggregate,\n type: magentoProductGetMatchedAttributeType(aggregate, attributeResponse.__type.inputFields),\n })),\n ],\n },\n };\n}\n","import {\n Injectable,\n Inject,\n} from '@angular/core';\nimport { Apollo } from 'apollo-angular';\nimport { DocumentNode } from 'graphql';\nimport {\n Observable,\n combineLatest,\n} from 'rxjs';\nimport {\n map,\n switchMap,\n} from 'rxjs/operators';\n\nimport {\n DaffGetCategoryResponse,\n DaffCategoryUrlRequest,\n DaffCategoryRequestKind,\n DaffCategoryIdRequest,\n DaffCategoryRequest,\n} from '@daffodil/category';\nimport { DaffCategoryServiceInterface } from '@daffodil/category/driver';\nimport {\n daffApplyRequestsToFilters,\n DaffFilterRequest,\n} from '@daffodil/core';\nimport {\n DaffProductMagentoDriverConfig,\n DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_FRAGMENTS,\n MagentoProductGetFilterTypes,\n MagentoProductGetFilterTypesResponse,\n MAGENTO_PRODUCT_CONFIG_TOKEN,\n magentoAppliedSortOptionTransform,\n DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_FRAGMENTS,\n} from '@daffodil/product/driver/magento';\n\nimport { MAGENTO_CATEGORY_EXTRA_FRAGMENTS } from './fragments/public_api';\nimport {\n MAGENTO_CATEGORY_CONFIG_TOKEN,\n DaffCategoryMagentoDriverConfig,\n} from './interfaces/public_api';\nimport {\n MagentoGetCategoryAndProductsRequest,\n MagentoGetCategoryAndProductsResponse,\n MagentoCategoryUrlResolverResponse,\n MagentoCompleteCategoryResponse,\n} from './models/public_api';\nimport {\n MagentoGetCategoryAndProductsQuery,\n MagentoResolveCategoryUrl,\n} from './queries/public_api';\nimport {\n DaffMagentoCategoryResponseTransformService,\n DaffMagentoAppliedFiltersTransformService,\n} from './transformers/public_api';\nimport { addMetadataTypesToProductsResponse } from './transformers/pure/add-metadata-types-to-aggregates';\n\nconst applyFiltersOnResponse = (requests: DaffFilterRequest[], response: DaffGetCategoryResponse): DaffGetCategoryResponse => ({\n ...response,\n categoryPageMetadata: {\n ...response.categoryPageMetadata,\n filters: daffApplyRequestsToFilters(requests, response.categoryPageMetadata.filters),\n },\n});\n\n/**\n * A service for making magento apollo queries for categories. Should be provided via the {@link DaffCategoryDriver} token.\n *\n * @inheritdoc\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryService implements DaffCategoryServiceInterface {\n\n constructor(\n private apollo: Apollo,\n private magentoCategoryResponseTransformer: DaffMagentoCategoryResponseTransformService,\n private magentoAppliedFiltersTransformer: DaffMagentoAppliedFiltersTransformService,\n @Inject(MAGENTO_CATEGORY_CONFIG_TOKEN) private config: DaffCategoryMagentoDriverConfig,\n @Inject(MAGENTO_PRODUCT_CONFIG_TOKEN) private productConfig: DaffProductMagentoDriverConfig,\n @Inject(DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_FRAGMENTS) private extraProductFragments: DocumentNode[],\n @Inject(DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_FRAGMENTS) private extraProductPreviewFragments: DocumentNode[],\n @Inject(MAGENTO_CATEGORY_EXTRA_FRAGMENTS) private extraCategoryFragments: DocumentNode[],\n ) {}\n\n get(categoryRequest: DaffCategoryIdRequest): Observable<DaffGetCategoryResponse> {\n return combineLatest([\n this.apollo.query<MagentoProductGetFilterTypesResponse>({\n query: MagentoProductGetFilterTypes,\n }),\n this.apollo.query<MagentoGetCategoryAndProductsResponse>({\n query: MagentoGetCategoryAndProductsQuery(this.extraCategoryFragments, [\n ...this.extraProductFragments,\n ...this.extraProductPreviewFragments,\n ]),\n variables: this.getCategoryAndProductsQueryVariables(categoryRequest),\n }),\n ]).pipe(\n map(([\n filterTypes,\n categoryAndProducts,\n ]) => this.transformCategory(categoryAndProducts.data, filterTypes.data, categoryRequest,this.productConfig.baseMediaUrl)),\n map(result => categoryRequest.filterRequests\n ? applyFiltersOnResponse(categoryRequest.filterRequests, result)\n : result,\n ),\n );\n }\n\n getByUrl(categoryRequest: DaffCategoryUrlRequest): Observable<DaffGetCategoryResponse> {\n return combineLatest([\n this.apollo.query<MagentoCategoryUrlResolverResponse>({\n query: MagentoResolveCategoryUrl,\n variables: {\n url: categoryRequest.url,\n },\n }),\n this.apollo.query<MagentoProductGetFilterTypesResponse>({\n query: MagentoProductGetFilterTypes,\n }),\n ]).pipe(\n switchMap(([\n category,\n filterTypes,\n ]) => this.apollo.query<MagentoGetCategoryAndProductsResponse>({\n query: MagentoGetCategoryAndProductsQuery(this.extraCategoryFragments, [\n ...this.extraProductFragments,\n ...this.extraProductPreviewFragments,\n ]),\n variables: this.getCategoryAndProductsQueryVariables({\n ...categoryRequest,\n id: category.data.route?.uid,\n kind: DaffCategoryRequestKind.ID,\n }),\n }).pipe(\n map(categoryAndProducts => this.transformCategory(categoryAndProducts.data, filterTypes.data, categoryRequest, this.productConfig.baseMediaUrl)),\n map(result => categoryRequest.filterRequests\n ? applyFiltersOnResponse(categoryRequest.filterRequests, result)\n : result,\n ),\n )),\n );\n }\n\n private getCategoryAndProductsQueryVariables(request: DaffCategoryIdRequest): MagentoGetCategoryAndProductsRequest {\n const queryVariables = {\n productFilter: this.magentoAppliedFiltersTransformer.transform(request.id, request.filterRequests),\n categoryFilters: {\n category_uid: {\n eq: request.id,\n },\n },\n };\n if(request.pageSize) {\n queryVariables['pageSize'] = request.pageSize;\n }\n if(request.currentPage) {\n queryVariables['currentPage'] = request.currentPage;\n }\n if(request.appliedSortOption && request.appliedSortDirection) {\n queryVariables['sort'] = magentoAppliedSortOptionTransform(request.appliedSortOption, request.appliedSortDirection);\n }\n\n return queryVariables;\n }\n\n private transformCategory(\n categoryResponse: MagentoGetCategoryAndProductsResponse,\n filterTypesResponse: MagentoProductGetFilterTypesResponse,\n request: DaffCategoryRequest,\n mediaUrl: string,\n ): DaffGetCategoryResponse {\n const aggregations = addMetadataTypesToProductsResponse(filterTypesResponse, categoryResponse);\n const completeCategory: MagentoCompleteCategoryResponse = {\n category: categoryResponse.categoryList[0],\n products: categoryResponse.products.items,\n aggregates: aggregations.products.aggregations,\n sort_fields: aggregations.products.sort_fields,\n total_count: categoryResponse.products.total_count,\n page_info: categoryResponse.products.page_info,\n appliedSortOption: request.appliedSortOption,\n appliedSortDirection: request.appliedSortDirection,\n };\n\n return this.magentoCategoryResponseTransformer.transform(completeCategory, mediaUrl);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ModuleWithProviders,\n NgModule,\n} from '@angular/core';\n\nimport { provideDaffCategoryDriver } from '@daffodil/category/driver';\nimport { provideManyDaffMagentoCacheableOperations } from '@daffodil/driver/magento';\nimport { DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME } from '@daffodil/product/driver/magento';\n\nimport { DaffMagentoCategoryService } from './category.service';\nimport { MAGENTO_CATEGORY_CONFIG_DEFAULT } from './config/default';\nimport {\n DaffCategoryMagentoDriverConfig,\n provideMagentoCategoryConfig,\n} from './interfaces/public_api';\nimport {\n DAFF_MAGENTO_GET_CATEGORY_AND_PRODUCTS_QUERY_NAME,\n DAFF_MAGENTO_RESOLVE_CATEGORY_URL_QUERY_NAME,\n} from './queries/public_api';\nimport { DaffMagentoAppliedFiltersTransformService } from './transformers/applied-filter-transformer.service';\nimport { DaffMagentoCategoryPageConfigTransformerService } from './transformers/category-page-config-transformer.service';\nimport { DaffMagentoCategoryResponseTransformService } from './transformers/category-response-transform.service';\nimport { DaffMagentoCategoryTransformerService } from './transformers/category-transformer.service';\n\n/**\n * A module that provides the {@link DaffCategoryDriver} and {@link MAGENTO_CATEGORY_CONFIG_TOKEN} as the {@link DaffMagentoCategoryService} and\n * {@link MAGENTO_CATEGORY_CONFIG_DEFAULT} respectively\n */\n@NgModule({\n imports: [\n CommonModule,\n ],\n})\nexport class DaffCategoryMagentoDriverModule {\n static forRoot(config: DaffCategoryMagentoDriverConfig = MAGENTO_CATEGORY_CONFIG_DEFAULT): ModuleWithProviders<DaffCategoryMagentoDriverModule> {\n return {\n ngModule: DaffCategoryMagentoDriverModule,\n providers: [\n provideDaffCategoryDriver(DaffMagentoCategoryService),\n DaffMagentoCategoryPageConfigTransformerService,\n DaffMagentoCategoryResponseTransformService,\n DaffMagentoCategoryTransformerService,\n DaffMagentoAppliedFiltersTransformService,\n provideManyDaffMagentoCacheableOperations(\n DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME,\n DAFF_MAGENTO_GET_CATEGORY_AND_PRODUCTS_QUERY_NAME,\n DAFF_MAGENTO_RESOLVE_CATEGORY_URL_QUERY_NAME,\n ),\n provideMagentoCategoryConfig(config),\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.DaffMagentoCategoryResponseTransformService","i2.DaffMagentoAppliedFiltersTransformService"],"mappings":"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"}
1
+ {"version":3,"file":"daffodil-category-driver-magento.mjs","sources":["../../../libs/category/driver/magento/src/fragments/token.ts","../../../libs/category/driver/magento/src/transformers/truncate-url.ts","../../../libs/category/driver/magento/src/config/default.ts","../../../libs/category/driver/magento/src/interfaces/config.interface.ts","../../../libs/category/driver/magento/src/queries/resolve-url.ts","../../../libs/category/driver/magento/src/queries/fragments/category-tree.ts","../../../libs/category/driver/magento/src/queries/get-category-and-products.ts","../../../libs/category/driver/magento/src/transformers/applied-filter-transformer.service.ts","../../../libs/category/driver/magento/src/transformers/category-page-config-transformer.service.ts","../../../libs/category/driver/magento/src/transforms/token.ts","../../../libs/category/driver/magento/src/transformers/category-transformer.service.ts","../../../libs/category/driver/magento/src/transformers/category-response-transform.service.ts","../../../libs/category/driver/magento/src/transformers/pure/add-metadata-types-to-aggregates.ts","../../../libs/category/driver/magento/src/category.service.ts","../../../libs/category/driver/magento/src/category-driver.module.ts","../../../libs/category/driver/magento/src/daffodil-category-driver-magento.ts"],"sourcesContent":["import { DocumentNode } from '@apollo/client/core';\n\nimport { createMultiInjectionToken } from '@daffodil/core';\n\n\nexport const {\n /**\n * A multi-provider injection token for providing category tree transform logic in the Magento driver.\n * It is run after the standard transforms and passed both the current transformed Daffodil category and the Magento category.\n */\n token: MAGENTO_CATEGORY_EXTRA_FRAGMENTS,\n /**\n * Provides category tree transforms for the Magento category driver.\n *\n * See {@link MAGENTO_CATEGORY_EXTRA_FRAGMENTS}.\n *\n * @example\n * ```ts\n * providers: [\n * ...magentoProvideCategoryExtraFragments(\n * myCategoryExtraFragment\n * )\n * ]\n * ```\n */\n provider: magentoProvideCategoryExtraFragments,\n} = createMultiInjectionToken<DocumentNode>('MAGENTO_CATEGORY_EXTRA_FRAGMENTS');\n","import {\n daffUriTruncateQueryFragment,\n daffUriTruncateFileExtension,\n daffUriTruncateLeadingSlash,\n} from '@daffodil/core/routing';\n\n/**\n * Truncates leading slash, file extension, query params, and fragments.\n */\nexport const magentoCategoryTruncateUrl = (url: string): string =>\n daffUriTruncateLeadingSlash(daffUriTruncateFileExtension(daffUriTruncateQueryFragment(url)));\n","import { DaffCategoryMagentoDriverConfig } from '../interfaces/public_api';\nimport { magentoCategoryTruncateUrl } from '../transformers/truncate-url';\n\n/**\n * The default configuration for the {@link DaffCategoryMagentoDriverConfig}.\n */\nexport const MAGENTO_CATEGORY_CONFIG_DEFAULT: DaffCategoryMagentoDriverConfig = {\n truncateUrl: true,\n uriTruncationStrategy: magentoCategoryTruncateUrl,\n};\n","import { createConfigInjectionToken } from '@daffodil/core';\n\nimport { MAGENTO_CATEGORY_CONFIG_DEFAULT } from '../config/default';\n\nexport const {\n /**\n * The token used to provide @daffodil/category/driver/magento config data.\n * Mandatory for the Magento driver.\n */\n token: MAGENTO_CATEGORY_CONFIG_TOKEN,\n /**\n * Provider function for {@link MAGENTO_CATEGORY_CONFIG_TOKEN}.\n */\n provider: provideMagentoCategoryConfig,\n} = createConfigInjectionToken<DaffCategoryMagentoDriverConfig>(\n MAGENTO_CATEGORY_CONFIG_DEFAULT,\n 'MAGENTO_CATEGORY_CONFIG_TOKEN',\n);\n\n/**\n * An interface for providing @daffodil/category/driver/magento with necessary config values.\n */\nexport interface DaffCategoryMagentoDriverConfig {\n /**\n * Whether or not to attempt to truncate the category URL\n * during the {@link DaffMagentoCategoryService#getByUrl} call.\n * True by default.\n */\n truncateUrl?: boolean;\n /**\n * An optional custom function to truncate the URL.\n * Defaults to truncate leading slash, file extension, query params, and fragments.\n */\n uriTruncationStrategy?: (string) => string;\n}\n","import { gql } from 'apollo-angular';\n\nexport const DAFF_MAGENTO_RESOLVE_CATEGORY_URL_QUERY_NAME = 'MagentoResolveCategoryUrl';\n\n/**\n * This query retrieves a URL resolution from Magento and informs you about\n * what type of route the URL is.\n */\nexport const MagentoResolveCategoryUrl = gql`\n\tquery ${DAFF_MAGENTO_RESOLVE_CATEGORY_URL_QUERY_NAME}($url: String!) {\n\t\troute(url: $url) {\n __typename\n\t\t\t... on CategoryInterface {\n\t\t\t\tuid\n\t\t\t}\n\t\t}\n\t}\n`;\n","import { gql } from 'apollo-angular';\n\nexport const magentoCategoryTreeFragment = gql`\n fragment categoryTree on CategoryTree {\n uid\n url_path\n url_suffix\n canonical_url\n\t\tname\n\t\tlevel\n\t\tmeta_title\n\t\tmeta_description\n\t\tdescription\n\t\tbreadcrumbs {\n\t\t\tcategory_uid\n\t\t\tcategory_name\n\t\t\tcategory_level\n\t\t\tcategory_url_path\n\t\t}\n\t\tchildren_count\n }\n`;\n","import { gql } from 'apollo-angular';\nimport { DocumentNode } from 'graphql';\n\nimport {\n daffBuildFragmentDefinition,\n daffBuildFragmentNameSpread,\n} from '@daffodil/core/graphql';\nimport { magentoSearchResultPageInfoFragment } from '@daffodil/driver/magento';\nimport {\n magentoProductAggregationsFragment,\n magentoProductFragment,\n magentoProductSortFieldsFragment,\n} from '@daffodil/product/driver/magento';\n\nimport { magentoCategoryTreeFragment } from './fragments/public_api';\n\nexport const DAFF_MAGENTO_GET_CATEGORY_AND_PRODUCTS_QUERY_NAME = 'MagentoGetCategoryAndProducts';\n\nexport const MagentoGetCategoryAndProductsQuery = (extraCategoryFragments: DocumentNode[] = [], extraProductFragments: DocumentNode[] = []) => gql`\nquery ${DAFF_MAGENTO_GET_CATEGORY_AND_PRODUCTS_QUERY_NAME}($categoryFilters: CategoryFilterInput, $productFilter: ProductAttributeFilterInput!, $search: String, $pageSize: Int, $currentPage: Int, $sort: ProductAttributeSortInput)\n{\n categoryList(filters: $categoryFilters) {\n\t\t...categoryTree\n ${daffBuildFragmentNameSpread(...extraCategoryFragments)}\n\t}\n\tproducts(filter: $productFilter, search: $search, pageSize: $pageSize, currentPage: $currentPage, sort: $sort)\n\t{\n\t\ttotal_count\n\t\titems {\n\t\t\t...product\n ${daffBuildFragmentNameSpread(...extraProductFragments)}\n\t\t}\n\t\tpage_info {\n\t\t\t...magentoSearchResultPageInfo\n\t\t}\n\t\taggregations {\n\t\t\t...magentoProductAggregations\n\t\t}\n\t\tsort_fields {\n\t\t\t...magentoProductSortFields\n\t\t}\n\t}\n}\n${magentoCategoryTreeFragment}\n${magentoProductFragment}\n${magentoSearchResultPageInfoFragment}\n${magentoProductSortFieldsFragment}\n${magentoProductAggregationsFragment}\n${daffBuildFragmentDefinition(...extraCategoryFragments)}\n${daffBuildFragmentDefinition(...extraProductFragments)}\n`;\n","import { Injectable } from '@angular/core';\n\nimport { DaffCategory } from '@daffodil/category';\nimport { DaffFilterRequest } from '@daffodil/core';\nimport {\n MagentoProductFilterActionEnum,\n MagentoProductFilters,\n MagentoProductAppliedFiltersTransformService,\n} from '@daffodil/product/driver/magento';\n\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoAppliedFiltersTransformService {\n constructor(\n private productFilterRequestsTransformer: MagentoProductAppliedFiltersTransformService,\n ) {}\n\n transform(categoryId: DaffCategory['id'], daffFilters: DaffFilterRequest[]): MagentoProductFilters {\n const magentoFilters: MagentoProductFilters = {\n category_uid: {\n [MagentoProductFilterActionEnum.Equal]: categoryId,\n },\n };\n\n if(!daffFilters) {\n return magentoFilters;\n }\n\n return {\n ...magentoFilters,\n ...this.productFilterRequestsTransformer.transform(daffFilters),\n };\n }\n}\n","import { Injectable } from '@angular/core';\n\nimport { DaffCategoryPageMetadata } from '@daffodil/category';\nimport { magentoProductCollectionMetadataTransform } from '@daffodil/product/driver/magento';\n\nimport { MagentoCompleteCategoryResponse } from '../models/public_api';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryPageConfigTransformerService {\n\n transform(categoryResponse: MagentoCompleteCategoryResponse): DaffCategoryPageMetadata {\n const aggregatesWithoutCategories = categoryResponse.aggregates.filter(aggregate => aggregate.attribute_code !== 'category_id');\n\n return {\n ...magentoProductCollectionMetadataTransform(\n aggregatesWithoutCategories,\n categoryResponse.page_info,\n categoryResponse.sort_fields,\n categoryResponse.products,\n categoryResponse.total_count,\n categoryResponse.appliedSortOption,\n categoryResponse.appliedSortDirection,\n ),\n id: categoryResponse.category.uid,\n };\n }\n}\n","import { createMultiInjectionToken } from '@daffodil/core';\n\nimport { MagentoCategoryTreeTransform } from './type';\n\nexport const {\n /**\n * A multi-provider injection token for providing category transform logic in the Magento driver.\n * It is run after the standard transforms and passed both the current transformed Daffodil category and the Magento category.\n */\n token: MAGENTO_CATEGORY_EXTRA_TRANSFORMS,\n /**\n * Provides category transforms for the Magento category driver.\n *\n * See {@link MAGENTO_CATEGORY_EXTRA_TRANSFORMS}.\n *\n * @example\n * ```ts\n * providers: [\n * ...magentoProvideCategoryExtraTransforms(\n * myCategoryExtraTransform\n * )\n * ]\n * ```\n */\n provider: magentoProvideCategoryExtraTransforms,\n} = createMultiInjectionToken<MagentoCategoryTreeTransform>('MAGENTO_CATEGORY_EXTRA_TRANSFORMS');\n","import {\n Inject,\n Injectable,\n} from '@angular/core';\n\nimport {\n DaffCategory,\n DaffCategoryBreadcrumb,\n} from '@daffodil/category';\nimport { MagentoProduct } from '@daffodil/product/driver/magento';\n\nimport {\n MagentoBreadcrumb,\n MagentoCategory,\n} from '../models/public_api';\nimport {\n MAGENTO_CATEGORY_EXTRA_TRANSFORMS,\n MagentoCategoryTreeTransform,\n} from '../transforms/public_api';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryTransformerService {\n constructor(\n @Inject(MAGENTO_CATEGORY_EXTRA_TRANSFORMS) private extraTransforms: Array<MagentoCategoryTreeTransform>,\n ) {}\n\n transform(category: MagentoCategory, products: MagentoProduct[]): DaffCategory {\n return this.extraTransforms.reduce<DaffCategory>((acc, transform) => transform(acc, category, products), {\n id: category.uid,\n url: `/${category.url_path}${category.url_suffix}`,\n canonicalUrl: category.canonical_url,\n name: category.name,\n description: category.description,\n meta_title: category.meta_title,\n meta_description: category.meta_description,\n children_count: category.children_count,\n breadcrumbs: category.breadcrumbs\n ?.map(breadcrumb => this.transformBreadcrumb(breadcrumb, category))\n .sort((a, b) => a.level - b.level) || null,\n product_ids: products.map(product => product.sku),\n total_products: products.length,\n });\n }\n\n private transformBreadcrumb(breadcrumb: MagentoBreadcrumb, category: MagentoCategory): DaffCategoryBreadcrumb {\n return {\n id: breadcrumb.category_uid,\n name: breadcrumb.category_name,\n level: breadcrumb.category_level,\n url: `/${breadcrumb.category_url_path}${category.url_suffix}`,\n };\n }\n}\n","import {\n Inject,\n Injectable,\n} from '@angular/core';\n\nimport { DaffGetCategoryResponse } from '@daffodil/category';\nimport {\n DAFF_PRODUCT_MAGENTO_PRODUCT_TRANSFORM,\n DaffMagentoProductTransform,\n} from '@daffodil/product/driver/magento';\n\nimport { DaffMagentoCategoryPageConfigTransformerService } from './category-page-config-transformer.service';\nimport { DaffMagentoCategoryTransformerService } from './category-transformer.service';\nimport { MagentoCompleteCategoryResponse } from '../models/public_api';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryResponseTransformService {\n\n constructor(\n private magentoCategoryTransformerService: DaffMagentoCategoryTransformerService,\n private magentoCategoryPageConfigurationTransformerService: DaffMagentoCategoryPageConfigTransformerService,\n @Inject(DAFF_PRODUCT_MAGENTO_PRODUCT_TRANSFORM) private magentoProductsTransform: DaffMagentoProductTransform,\n ) {}\n\n transform(completeCategory: MagentoCompleteCategoryResponse, mediaUrl: string): DaffGetCategoryResponse {\n return {\n ...{ magentoCompleteCategoryResponse: completeCategory },\n category: this.magentoCategoryTransformerService.transform(completeCategory.category, completeCategory.products),\n categoryPageMetadata: this.magentoCategoryPageConfigurationTransformerService.transform(completeCategory),\n products: completeCategory.products.map(product => this.magentoProductsTransform(product, mediaUrl)),\n };\n }\n}\n","import {\n MagentoProductGetFilterTypesResponse,\n magentoProductGetMatchedAttributeType,\n} from '@daffodil/product/driver/magento';\n\nimport { MagentoGetCategoryAndProductsResponse } from '../../models/public_api';\n\nexport function addMetadataTypesToProductsResponse(\n attributeResponse: MagentoProductGetFilterTypesResponse,\n aggregationResponse: MagentoGetCategoryAndProductsResponse,\n): MagentoGetCategoryAndProductsResponse {\n return {\n ...aggregationResponse,\n products: {\n ...aggregationResponse.products,\n aggregations: [\n ...aggregationResponse.products.aggregations.map((aggregate) => ({\n ...aggregate,\n type: magentoProductGetMatchedAttributeType(aggregate, attributeResponse.__type.inputFields),\n })),\n ],\n },\n };\n}\n","import {\n Injectable,\n Inject,\n} from '@angular/core';\nimport { Apollo } from 'apollo-angular';\nimport { DocumentNode } from 'graphql';\nimport {\n Observable,\n combineLatest,\n} from 'rxjs';\nimport {\n map,\n switchMap,\n} from 'rxjs/operators';\n\nimport {\n DaffGetCategoryResponse,\n DaffCategoryUrlRequest,\n DaffCategoryRequestKind,\n DaffCategoryIdRequest,\n DaffCategoryRequest,\n} from '@daffodil/category';\nimport { DaffCategoryServiceInterface } from '@daffodil/category/driver';\nimport {\n daffApplyRequestsToFilters,\n DaffFilterRequest,\n} from '@daffodil/core';\nimport {\n DaffProductMagentoDriverConfig,\n DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_FRAGMENTS,\n MagentoProductGetFilterTypes,\n MagentoProductGetFilterTypesResponse,\n MAGENTO_PRODUCT_CONFIG_TOKEN,\n magentoAppliedSortOptionTransform,\n DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_FRAGMENTS,\n} from '@daffodil/product/driver/magento';\n\nimport { MAGENTO_CATEGORY_EXTRA_FRAGMENTS } from './fragments/public_api';\nimport {\n MAGENTO_CATEGORY_CONFIG_TOKEN,\n DaffCategoryMagentoDriverConfig,\n} from './interfaces/public_api';\nimport {\n MagentoGetCategoryAndProductsRequest,\n MagentoGetCategoryAndProductsResponse,\n MagentoCategoryUrlResolverResponse,\n MagentoCompleteCategoryResponse,\n} from './models/public_api';\nimport {\n MagentoGetCategoryAndProductsQuery,\n MagentoResolveCategoryUrl,\n} from './queries/public_api';\nimport {\n DaffMagentoCategoryResponseTransformService,\n DaffMagentoAppliedFiltersTransformService,\n} from './transformers/public_api';\nimport { addMetadataTypesToProductsResponse } from './transformers/pure/add-metadata-types-to-aggregates';\n\nconst applyFiltersOnResponse = (requests: DaffFilterRequest[], response: DaffGetCategoryResponse): DaffGetCategoryResponse => ({\n ...response,\n categoryPageMetadata: {\n ...response.categoryPageMetadata,\n filters: daffApplyRequestsToFilters(requests, response.categoryPageMetadata.filters),\n },\n});\n\n/**\n * A service for making magento apollo queries for categories. Should be provided via the {@link DaffCategoryDriver} token.\n *\n * @inheritdoc\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffMagentoCategoryService implements DaffCategoryServiceInterface {\n\n constructor(\n private apollo: Apollo,\n private magentoCategoryResponseTransformer: DaffMagentoCategoryResponseTransformService,\n private magentoAppliedFiltersTransformer: DaffMagentoAppliedFiltersTransformService,\n @Inject(MAGENTO_CATEGORY_CONFIG_TOKEN) private config: DaffCategoryMagentoDriverConfig,\n @Inject(MAGENTO_PRODUCT_CONFIG_TOKEN) private productConfig: DaffProductMagentoDriverConfig,\n @Inject(DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_FRAGMENTS) private extraProductFragments: DocumentNode[],\n @Inject(DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_FRAGMENTS) private extraProductPreviewFragments: DocumentNode[],\n @Inject(MAGENTO_CATEGORY_EXTRA_FRAGMENTS) private extraCategoryFragments: DocumentNode[],\n ) {}\n\n get(categoryRequest: DaffCategoryIdRequest): Observable<DaffGetCategoryResponse> {\n return combineLatest([\n this.apollo.query<MagentoProductGetFilterTypesResponse>({\n query: MagentoProductGetFilterTypes,\n }),\n this.apollo.query<MagentoGetCategoryAndProductsResponse>({\n query: MagentoGetCategoryAndProductsQuery(this.extraCategoryFragments, [\n ...this.extraProductFragments,\n ...this.extraProductPreviewFragments,\n ]),\n variables: this.getCategoryAndProductsQueryVariables(categoryRequest),\n }),\n ]).pipe(\n map(([\n filterTypes,\n categoryAndProducts,\n ]) => this.transformCategory(categoryAndProducts.data, filterTypes.data, categoryRequest,this.productConfig.baseMediaUrl)),\n map(result => categoryRequest.filterRequests\n ? applyFiltersOnResponse(categoryRequest.filterRequests, result)\n : result,\n ),\n );\n }\n\n getByUrl(categoryRequest: DaffCategoryUrlRequest): Observable<DaffGetCategoryResponse> {\n return combineLatest([\n this.apollo.query<MagentoCategoryUrlResolverResponse>({\n query: MagentoResolveCategoryUrl,\n variables: {\n url: categoryRequest.url,\n },\n }),\n this.apollo.query<MagentoProductGetFilterTypesResponse>({\n query: MagentoProductGetFilterTypes,\n }),\n ]).pipe(\n switchMap(([\n category,\n filterTypes,\n ]) => this.apollo.query<MagentoGetCategoryAndProductsResponse>({\n query: MagentoGetCategoryAndProductsQuery(this.extraCategoryFragments, [\n ...this.extraProductFragments,\n ...this.extraProductPreviewFragments,\n ]),\n variables: this.getCategoryAndProductsQueryVariables({\n ...categoryRequest,\n id: category.data.route?.uid,\n kind: DaffCategoryRequestKind.ID,\n }),\n }).pipe(\n map(categoryAndProducts => this.transformCategory(categoryAndProducts.data, filterTypes.data, categoryRequest, this.productConfig.baseMediaUrl)),\n map(result => categoryRequest.filterRequests\n ? applyFiltersOnResponse(categoryRequest.filterRequests, result)\n : result,\n ),\n )),\n );\n }\n\n private getCategoryAndProductsQueryVariables(request: DaffCategoryIdRequest): MagentoGetCategoryAndProductsRequest {\n const queryVariables = {\n productFilter: this.magentoAppliedFiltersTransformer.transform(request.id, request.filterRequests),\n categoryFilters: {\n category_uid: {\n eq: request.id,\n },\n },\n };\n if(request.pageSize) {\n queryVariables['pageSize'] = request.pageSize;\n }\n if(request.currentPage) {\n queryVariables['currentPage'] = request.currentPage;\n }\n if(request.appliedSortOption && request.appliedSortDirection) {\n queryVariables['sort'] = magentoAppliedSortOptionTransform(request.appliedSortOption, request.appliedSortDirection);\n }\n\n return queryVariables;\n }\n\n private transformCategory(\n categoryResponse: MagentoGetCategoryAndProductsResponse,\n filterTypesResponse: MagentoProductGetFilterTypesResponse,\n request: DaffCategoryRequest,\n mediaUrl: string,\n ): DaffGetCategoryResponse {\n const aggregations = addMetadataTypesToProductsResponse(filterTypesResponse, categoryResponse);\n const completeCategory: MagentoCompleteCategoryResponse = {\n category: categoryResponse.categoryList[0],\n products: categoryResponse.products.items,\n aggregates: aggregations.products.aggregations,\n sort_fields: aggregations.products.sort_fields,\n total_count: categoryResponse.products.total_count,\n page_info: categoryResponse.products.page_info,\n appliedSortOption: request.appliedSortOption,\n appliedSortDirection: request.appliedSortDirection,\n };\n\n return this.magentoCategoryResponseTransformer.transform(completeCategory, mediaUrl);\n }\n}\n","import { CommonModule } from '@angular/common';\nimport {\n ModuleWithProviders,\n NgModule,\n} from '@angular/core';\n\nimport { provideDaffCategoryDriver } from '@daffodil/category/driver';\nimport { provideManyDaffMagentoCacheableOperations } from '@daffodil/driver/magento';\nimport { DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME } from '@daffodil/product/driver/magento';\n\nimport { DaffMagentoCategoryService } from './category.service';\nimport { MAGENTO_CATEGORY_CONFIG_DEFAULT } from './config/default';\nimport {\n DaffCategoryMagentoDriverConfig,\n provideMagentoCategoryConfig,\n} from './interfaces/public_api';\nimport {\n DAFF_MAGENTO_GET_CATEGORY_AND_PRODUCTS_QUERY_NAME,\n DAFF_MAGENTO_RESOLVE_CATEGORY_URL_QUERY_NAME,\n} from './queries/public_api';\nimport { DaffMagentoAppliedFiltersTransformService } from './transformers/applied-filter-transformer.service';\nimport { DaffMagentoCategoryPageConfigTransformerService } from './transformers/category-page-config-transformer.service';\nimport { DaffMagentoCategoryResponseTransformService } from './transformers/category-response-transform.service';\nimport { DaffMagentoCategoryTransformerService } from './transformers/category-transformer.service';\n\n/**\n * A module that provides the {@link DaffCategoryDriver} and {@link MAGENTO_CATEGORY_CONFIG_TOKEN} as the {@link DaffMagentoCategoryService} and\n * {@link MAGENTO_CATEGORY_CONFIG_DEFAULT} respectively\n */\n@NgModule({\n imports: [\n CommonModule,\n ],\n})\nexport class DaffCategoryMagentoDriverModule {\n static forRoot(config: DaffCategoryMagentoDriverConfig = MAGENTO_CATEGORY_CONFIG_DEFAULT): ModuleWithProviders<DaffCategoryMagentoDriverModule> {\n return {\n ngModule: DaffCategoryMagentoDriverModule,\n providers: [\n provideDaffCategoryDriver(DaffMagentoCategoryService),\n DaffMagentoCategoryPageConfigTransformerService,\n DaffMagentoCategoryResponseTransformService,\n DaffMagentoCategoryTransformerService,\n DaffMagentoAppliedFiltersTransformService,\n provideManyDaffMagentoCacheableOperations(\n DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME,\n DAFF_MAGENTO_GET_CATEGORY_AND_PRODUCTS_QUERY_NAME,\n DAFF_MAGENTO_RESOLVE_CATEGORY_URL_QUERY_NAME,\n ),\n provideMagentoCategoryConfig(config),\n ],\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.DaffMagentoCategoryResponseTransformService","i2.DaffMagentoAppliedFiltersTransformService"],"mappings":"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"}
@@ -31,10 +31,10 @@ class DaffTestingCategoryService {
31
31
  products: this.productFactory.createMany(3),
32
32
  });
33
33
  }
34
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffTestingCategoryService, deps: [{ token: i1.DaffCategoryFactory }, { token: i1.DaffCategoryPageMetadataFactory }, { token: i2.DaffProductFactory }], target: i0.ɵɵFactoryTarget.Injectable }); }
35
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffTestingCategoryService, providedIn: 'root' }); }
34
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffTestingCategoryService, deps: [{ token: i1.DaffCategoryFactory }, { token: i1.DaffCategoryPageMetadataFactory }, { token: i2.DaffProductFactory }], target: i0.ɵɵFactoryTarget.Injectable }); }
35
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffTestingCategoryService, providedIn: 'root' }); }
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffTestingCategoryService, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffTestingCategoryService, decorators: [{
38
38
  type: Injectable,
39
39
  args: [{
40
40
  providedIn: 'root',
@@ -53,11 +53,11 @@ class DaffCategoryTestingDriverModule {
53
53
  ],
54
54
  };
55
55
  }
56
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryTestingDriverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
57
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryTestingDriverModule, imports: [CommonModule] }); }
58
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryTestingDriverModule, imports: [CommonModule] }); }
56
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryTestingDriverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
57
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryTestingDriverModule, imports: [CommonModule] }); }
58
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryTestingDriverModule, imports: [CommonModule] }); }
59
59
  }
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryTestingDriverModule, decorators: [{
60
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryTestingDriverModule, decorators: [{
61
61
  type: NgModule,
62
62
  args: [{
63
63
  imports: [
@@ -1,7 +1,5 @@
1
1
  import { createSingletonInjectionToken } from '@daffodil/core';
2
2
 
3
- //TODO(damienwebdev): This any generic is necessary until we ship Ivy packages, do not change it.
4
- //See: https://github.com/ng-packagr/ng-packagr/issues/1844
5
3
  const { token: DaffCategoryDriver,
6
4
  /**
7
5
  * Provider function for {@link DaffCategoryDriver}.
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-category-driver.mjs","sources":["../../../libs/category/driver/src/interfaces/category-service.interface.ts","../../../libs/category/driver/src/daffodil-category-driver.ts"],"sourcesContent":["import { Observable } from 'rxjs';\n\nimport {\n DaffGenericCategory,\n DaffCategory,\n DaffGetCategoryResponse,\n DaffCategoryIdRequest,\n DaffCategoryUrlRequest,\n} from '@daffodil/category';\nimport { createSingletonInjectionToken } from '@daffodil/core';\nimport { DaffProduct } from '@daffodil/product';\n\n/**\n * An interface for category service drivers.\n */\nexport interface DaffCategoryServiceInterface<\n V extends DaffGenericCategory<V> = DaffCategory,\n W extends DaffProduct = DaffProduct\n> {\n /**\n * Fetch a category by its ID.\n */\n get(categoryRequest: DaffCategoryIdRequest): Observable<DaffGetCategoryResponse<V, W>>;\n /**\n * Fetch a category by its associated URL.\n */\n getByUrl(categoryRequest: DaffCategoryUrlRequest): Observable<DaffGetCategoryResponse<V, W>>;\n}\n\n//TODO(damienwebdev): This any generic is necessary until we ship Ivy packages, do not change it.\n//See: https://github.com/ng-packagr/ng-packagr/issues/1844\nexport const {\n token: DaffCategoryDriver,\n /**\n * Provider function for {@link DaffCategoryDriver}.\n */\n provider: provideDaffCategoryDriver,\n} = createSingletonInjectionToken<any>('DaffCategoryDriver');\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AA6BA;AACA;AACO,MAAM,EACX,KAAK,EAAE,kBAAkB;AACzB;;AAEG;AACH,QAAQ,EAAE,yBAAyB,GACpC,GAAG,6BAA6B,CAAM,oBAAoB;;ACrC3D;;AAEG;;;;"}
1
+ {"version":3,"file":"daffodil-category-driver.mjs","sources":["../../../libs/category/driver/src/interfaces/category-service.interface.ts","../../../libs/category/driver/src/daffodil-category-driver.ts"],"sourcesContent":["import { Observable } from 'rxjs';\n\nimport {\n DaffGenericCategory,\n DaffCategory,\n DaffGetCategoryResponse,\n DaffCategoryIdRequest,\n DaffCategoryUrlRequest,\n} from '@daffodil/category';\nimport { createSingletonInjectionToken } from '@daffodil/core';\nimport { DaffProduct } from '@daffodil/product';\n\n/**\n * An interface for category service drivers.\n */\nexport interface DaffCategoryServiceInterface<\n V extends DaffGenericCategory<V> = DaffCategory,\n W extends DaffProduct = DaffProduct\n> {\n /**\n * Fetch a category by its ID.\n */\n get(categoryRequest: DaffCategoryIdRequest): Observable<DaffGetCategoryResponse<V, W>>;\n /**\n * Fetch a category by its associated URL.\n */\n getByUrl(categoryRequest: DaffCategoryUrlRequest): Observable<DaffGetCategoryResponse<V, W>>;\n}\n\nexport const {\n token: DaffCategoryDriver,\n /**\n * Provider function for {@link DaffCategoryDriver}.\n */\n provider: provideDaffCategoryDriver,\n} = createSingletonInjectionToken<DaffCategoryServiceInterface>('DaffCategoryDriver');\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AA6BO,MAAM,EACX,KAAK,EAAE,kBAAkB;AACzB;;AAEG;AACH,QAAQ,EAAE,yBAAyB,GACpC,GAAG,6BAA6B,CAA+B,oBAAoB;;ACnCpF;;AAEG;;;;"}
@@ -46,10 +46,10 @@ class DaffCategoryPageIdResolver {
46
46
  }));
47
47
  return isPlatformBrowser(this.platformId) ? of(true) : this.dispatcher.pipe(ofType(DaffCategoryPageActionTypes.CategoryPageLoadSuccessAction, DaffCategoryPageActionTypes.CategoryPageLoadFailureAction), map(() => true), take(1));
48
48
  }
49
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryPageIdResolver, deps: [{ token: PLATFORM_ID }, { token: DAFF_CATEGORY_ROUTING_OPTIONS_BUILDER }, { token: i1.Store }, { token: i1.ActionsSubject }], target: i0.ɵɵFactoryTarget.Injectable }); }
50
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryPageIdResolver }); }
49
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryPageIdResolver, deps: [{ token: PLATFORM_ID }, { token: DAFF_CATEGORY_ROUTING_OPTIONS_BUILDER }, { token: i1.Store }, { token: i1.ActionsSubject }], target: i0.ɵɵFactoryTarget.Injectable }); }
50
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryPageIdResolver }); }
51
51
  }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryPageIdResolver, decorators: [{
52
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryPageIdResolver, decorators: [{
53
53
  type: Injectable
54
54
  }], ctorParameters: () => [{ type: undefined, decorators: [{
55
55
  type: Inject,
@@ -75,10 +75,10 @@ class DaffCategoryRoutingUrlRequestBuilder {
75
75
  kind: DaffCategoryRequestKind.URL,
76
76
  };
77
77
  }
78
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryRoutingUrlRequestBuilder, deps: [{ token: DAFF_CATEGORY_ROUTING_OPTIONS_BUILDER }, { token: i1$1.DaffRoutingUriNormalizer }], target: i0.ɵɵFactoryTarget.Injectable }); }
79
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryRoutingUrlRequestBuilder, providedIn: 'any' }); }
78
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryRoutingUrlRequestBuilder, deps: [{ token: DAFF_CATEGORY_ROUTING_OPTIONS_BUILDER }, { token: i1$1.DaffRoutingUriNormalizer }], target: i0.ɵɵFactoryTarget.Injectable }); }
79
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryRoutingUrlRequestBuilder, providedIn: 'any' }); }
80
80
  }
81
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryRoutingUrlRequestBuilder, decorators: [{
81
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryRoutingUrlRequestBuilder, decorators: [{
82
82
  type: Injectable,
83
83
  args: [{
84
84
  providedIn: 'any',
@@ -105,10 +105,10 @@ class DaffCategoryPageUrlResolver {
105
105
  this.store.dispatch(new DaffCategoryPageLoadByUrl(this.requestBuilder.build(route, state)));
106
106
  return isPlatformBrowser(this.platformId) ? of(true) : this.dispatcher.pipe(ofType(DaffCategoryPageActionTypes.CategoryPageLoadSuccessAction, DaffCategoryPageActionTypes.CategoryPageLoadFailureAction), map(() => true), take(1));
107
107
  }
108
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryPageUrlResolver, deps: [{ token: PLATFORM_ID }, { token: i1.Store }, { token: i1.ActionsSubject }, { token: DaffCategoryRoutingUrlRequestBuilder }], target: i0.ɵɵFactoryTarget.Injectable }); }
109
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryPageUrlResolver }); }
108
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryPageUrlResolver, deps: [{ token: PLATFORM_ID }, { token: i1.Store }, { token: i1.ActionsSubject }, { token: DaffCategoryRoutingUrlRequestBuilder }], target: i0.ɵɵFactoryTarget.Injectable }); }
109
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryPageUrlResolver }); }
110
110
  }
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryPageUrlResolver, decorators: [{
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryPageUrlResolver, decorators: [{
112
112
  type: Injectable
113
113
  }], ctorParameters: () => [{ type: undefined, decorators: [{
114
114
  type: Inject,
@@ -144,17 +144,17 @@ class DaffCategoryRoutingCollectionEffects extends DaffProductRoutingCollectionE
144
144
  constructor(actions$, router, collectionFacade, getQueryParams, route) {
145
145
  super(actions$, router, Object.values(DaffCategoryPageProductCollectionActionTypes), collectionFacade, getQueryParams, route);
146
146
  }
147
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryRoutingCollectionEffects, deps: [{ token: i1$2.Actions }, { token: i2.Router }, { token: i3.DaffCategoryProductCollectionFacade }, { token: i4.DaffProductGetQueryParamsFromRequest }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable }); }
148
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryRoutingCollectionEffects }); }
147
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryRoutingCollectionEffects, deps: [{ token: i1$2.Actions }, { token: i2.Router }, { token: i3.DaffCategoryProductCollectionFacade }, { token: i4.DaffProductGetQueryParamsFromRequest }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Injectable }); }
148
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryRoutingCollectionEffects }); }
149
149
  }
150
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryRoutingCollectionEffects, decorators: [{
150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryRoutingCollectionEffects, decorators: [{
151
151
  type: Injectable
152
152
  }], ctorParameters: () => [{ type: i1$2.Actions }, { type: i2.Router }, { type: i3.DaffCategoryProductCollectionFacade }, { type: i4.DaffProductGetQueryParamsFromRequest }, { type: i2.ActivatedRoute }] });
153
153
 
154
154
  class DaffCategoryRoutingModule {
155
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
156
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryRoutingModule, imports: [DaffProductRoutingModule, i1$2.EffectsFeatureModule] }); }
157
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryRoutingModule, providers: [
155
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
156
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryRoutingModule, imports: [DaffProductRoutingModule, i1$2.EffectsFeatureModule] }); }
157
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryRoutingModule, providers: [
158
158
  DaffCategoryPageIdResolver,
159
159
  DaffCategoryPageUrlResolver,
160
160
  DaffCategoryRoutingUrlRequestBuilder,
@@ -179,7 +179,7 @@ class DaffCategoryRoutingModule {
179
179
  DaffCategoryRoutingCollectionEffects,
180
180
  ])] }); }
181
181
  }
182
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryRoutingModule, decorators: [{
182
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryRoutingModule, decorators: [{
183
183
  type: NgModule,
184
184
  args: [{
185
185
  imports: [
@@ -35,10 +35,10 @@ class MockDaffCategoryFacade {
35
35
  ;
36
36
  dispatch(action) { }
37
37
  ;
38
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: MockDaffCategoryFacade, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
39
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: MockDaffCategoryFacade, providedIn: 'root' }); }
38
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: MockDaffCategoryFacade, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
39
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: MockDaffCategoryFacade, providedIn: 'root' }); }
40
40
  }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: MockDaffCategoryFacade, decorators: [{
41
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: MockDaffCategoryFacade, decorators: [{
42
42
  type: Injectable,
43
43
  args: [{ providedIn: 'root' }]
44
44
  }] });
@@ -47,14 +47,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImpor
47
47
  * A module that mocks out the {@link DaffCategoryFacade} with {@link MockDaffCategoryFacade} for testing environments.
48
48
  */
49
49
  class DaffCategoryStateTestingModule {
50
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryStateTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
51
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryStateTestingModule }); }
52
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryStateTestingModule, providers: [
50
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryStateTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
51
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryStateTestingModule }); }
52
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryStateTestingModule, providers: [
53
53
  { provide: DaffCategoryFacade, useExisting: MockDaffCategoryFacade },
54
54
  { provide: DaffCategoryProductCollectionFacade, useExisting: MockDaffCollectionFacade },
55
55
  ] }); }
56
56
  }
57
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryStateTestingModule, decorators: [{
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryStateTestingModule, decorators: [{
58
58
  type: NgModule,
59
59
  args: [{
60
60
  providers: [
@@ -502,10 +502,10 @@ class DaffCategoryFacade {
502
502
  dispatch(action) {
503
503
  this.store.dispatch(action);
504
504
  }
505
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryFacade, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
506
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryFacade, providedIn: 'root' }); }
505
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryFacade, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
506
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryFacade, providedIn: 'root' }); }
507
507
  }
508
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryFacade, decorators: [{
508
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryFacade, decorators: [{
509
509
  type: Injectable,
510
510
  args: [{
511
511
  providedIn: 'root',
@@ -516,10 +516,10 @@ class DaffCategoryProductCollectionFacade extends DaffCollectionFacade {
516
516
  constructor(store) {
517
517
  super(store, getCategoryProductCollectionSelectors());
518
518
  }
519
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryProductCollectionFacade, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
520
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryProductCollectionFacade, providedIn: 'root' }); }
519
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryProductCollectionFacade, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
520
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryProductCollectionFacade, providedIn: 'root' }); }
521
521
  }
522
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryProductCollectionFacade, decorators: [{
522
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryProductCollectionFacade, decorators: [{
523
523
  type: Injectable,
524
524
  args: [{
525
525
  providedIn: 'root',
@@ -564,10 +564,10 @@ class DaffCategoryPageMetadataEffects {
564
564
  new DaffCategoryPageLoadSuccess(resp),
565
565
  ]), catchError((error) => of(new DaffCategoryPageLoadFailure(this.errorMatcher(error))))))));
566
566
  }
567
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryPageMetadataEffects, deps: [{ token: i1$1.Actions }, { token: DaffCategoryDriver }, { token: DAFF_CATEGORY_ERROR_MATCHER }, { token: DaffCategoryProductCollectionFacade }], target: i0.ɵɵFactoryTarget.Injectable }); }
568
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryPageMetadataEffects }); }
567
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryPageMetadataEffects, deps: [{ token: i1$1.Actions }, { token: DaffCategoryDriver }, { token: DAFF_CATEGORY_ERROR_MATCHER }, { token: DaffCategoryProductCollectionFacade }], target: i0.ɵɵFactoryTarget.Injectable }); }
568
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryPageMetadataEffects }); }
569
569
  }
570
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryPageMetadataEffects, decorators: [{
570
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryPageMetadataEffects, decorators: [{
571
571
  type: Injectable
572
572
  }], ctorParameters: () => [{ type: i1$1.Actions }, { type: undefined, decorators: [{
573
573
  type: Inject,
@@ -591,10 +591,10 @@ class DaffCategoryPageEffects {
591
591
  new DaffCategoryPageLoadSuccess(resp),
592
592
  ]), catchError((error) => of(new DaffCategoryPageLoadFailure(this.errorMatcher(error))))))));
593
593
  }
594
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryPageEffects, deps: [{ token: i1$1.Actions }, { token: DaffCategoryDriver }, { token: DAFF_CATEGORY_ERROR_MATCHER }], target: i0.ɵɵFactoryTarget.Injectable }); }
595
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryPageEffects }); }
594
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryPageEffects, deps: [{ token: i1$1.Actions }, { token: DaffCategoryDriver }, { token: DAFF_CATEGORY_ERROR_MATCHER }], target: i0.ɵɵFactoryTarget.Injectable }); }
595
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryPageEffects }); }
596
596
  }
597
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryPageEffects, decorators: [{
597
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryPageEffects, decorators: [{
598
598
  type: Injectable
599
599
  }], ctorParameters: () => [{ type: i1$1.Actions }, { type: undefined, decorators: [{
600
600
  type: Inject,
@@ -611,10 +611,10 @@ class DaffCategoryEffects {
611
611
  this.errorMatcher = errorMatcher;
612
612
  this.loadCategory$ = createEffect(() => this.actions$.pipe(ofType(DaffCategoryActionTypes.CategoryLoadAction), mergeMap((action) => this.driver.get(action.request).pipe(switchMap((resp) => of(new DaffProductGridLoadSuccess(resp.products), new DaffCategoryLoadSuccess(resp))), catchError((error) => of(new DaffCategoryLoadFailure(this.errorMatcher(error))))))));
613
613
  }
614
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryEffects, deps: [{ token: i1$1.Actions }, { token: DaffCategoryDriver }, { token: DAFF_CATEGORY_ERROR_MATCHER }], target: i0.ɵɵFactoryTarget.Injectable }); }
615
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryEffects }); }
614
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryEffects, deps: [{ token: i1$1.Actions }, { token: DaffCategoryDriver }, { token: DAFF_CATEGORY_ERROR_MATCHER }], target: i0.ɵɵFactoryTarget.Injectable }); }
615
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryEffects }); }
616
616
  }
617
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryEffects, decorators: [{
617
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryEffects, decorators: [{
618
618
  type: Injectable
619
619
  }], ctorParameters: () => [{ type: i1$1.Actions }, { type: undefined, decorators: [{
620
620
  type: Inject,
@@ -647,13 +647,13 @@ provider: provideDaffCategoryReducers, } = createSingleInjectionToken('DAFF_CATE
647
647
  * A module that provides default reducers and effects for the category redux state.
648
648
  */
649
649
  class DaffCategoryStateModule {
650
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
651
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryStateModule, imports: [i1.StoreFeatureModule, i1$1.EffectsFeatureModule, DaffProductStateModule] }); }
652
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryStateModule, imports: [StoreModule.forFeature(DAFF_CATEGORY_STORE_FEATURE_KEY, DAFF_CATEGORY_REDUCERS),
650
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
651
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryStateModule, imports: [i1.StoreFeatureModule, i1$1.EffectsFeatureModule, DaffProductStateModule] }); }
652
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryStateModule, imports: [StoreModule.forFeature(DAFF_CATEGORY_STORE_FEATURE_KEY, DAFF_CATEGORY_REDUCERS),
653
653
  EffectsModule.forFeature([DaffCategoryEffects, DaffCategoryPageEffects, DaffCategoryPageMetadataEffects]),
654
654
  DaffProductStateModule] }); }
655
655
  }
656
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryStateModule, decorators: [{
656
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryStateModule, decorators: [{
657
657
  type: NgModule,
658
658
  args: [{
659
659
  imports: [
@@ -700,13 +700,13 @@ const daffCategoryProductReducers = {
700
700
  * A module that provides injectable reducers into product state.
701
701
  */
702
702
  class DaffCategoryProductStateModule {
703
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryProductStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
704
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryProductStateModule, imports: [DaffProductStateModule] }); }
705
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryProductStateModule, providers: [
703
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryProductStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
704
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryProductStateModule, imports: [DaffProductStateModule] }); }
705
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryProductStateModule, providers: [
706
706
  ...daffProductProvideExtraReducers(combineReducers(daffCategoryProductReducers)),
707
707
  ], imports: [DaffProductStateModule] }); }
708
708
  }
709
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryProductStateModule, decorators: [{
709
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryProductStateModule, decorators: [{
710
710
  type: NgModule,
711
711
  args: [{
712
712
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-category-state.mjs","sources":["../../../libs/category/state/src/actions/category-page-filter.actions.ts","../../../libs/category/state/src/actions/category-page.actions.ts","../../../libs/category/state/src/reducers/category-entities/category-entities-adapter.ts","../../../libs/category/state/src/reducers/category/category.reducer.ts","../../../libs/category/state/src/actions/category.actions.ts","../../../libs/category/state/src/reducers/category-entities/category-entities.reducer.ts","../../../libs/category/state/src/reducers/page-metadata/reducer.ts","../../../libs/category/state/src/reducers/category-reducers.ts","../../../libs/category/state/src/reducers/category-store-feature-key.ts","../../../libs/category/state/src/reducers/token/extra.token.ts","../../../libs/category/state/src/selectors/category-feature.selector.ts","../../../libs/category/state/src/selectors/category-entities/category-entities.selector.ts","../../../libs/category/state/src/selectors/category-page/category-page.selector.ts","../../../libs/category/state/src/selectors/collection/selectors.ts","../../../libs/category/state/src/selectors/category.selector.ts","../../../libs/category/state/src/facades/page/category.facade.ts","../../../libs/category/state/src/facades/collection/facade.ts","../../../libs/category/state/src/injection-tokens/error-matcher.token.ts","../../../libs/category/state/src/effects/category-page-metadata.effects.ts","../../../libs/category/state/src/effects/category-page.effects.ts","../../../libs/category/state/src/effects/category.effects.ts","../../../libs/category/state/src/reducers/token/reducers.token.ts","../../../libs/category/state/src/category-state.module.ts","../../../libs/category/state/src/reducers/product.reducer.ts","../../../libs/category/state/src/reducers/product-reducers.ts","../../../libs/category/state/src/product-state.module.ts","../../../libs/category/state/src/daffodil-category-state.ts"],"sourcesContent":["import { Action } from '@ngrx/store';\n\nimport { DaffCategoryRequest } from '@daffodil/category';\nimport {\n DaffFilterRequest,\n DaffFilterToggleRequest,\n} from '@daffodil/core';\n\n/**\n * The possible types of category page filter actions.\n */\nexport enum DaffCategoryPageProductCollectionActionTypes {\n CategoryPageReplaceFiltersAction = '[@daffodil/category] Category Page Replace Filters Action',\n CategoryPageApplyFiltersAction = '[@daffodil/category] Category Page Apply Filters Action',\n CategoryPageRemoveFiltersAction = '[@daffodil/category] Category Page Remove Filters Action',\n CategoryPageClearFiltersAction = '[@daffodil/category] Category Page Clear Filters Action',\n CategoryPageToggleFilterAction = '[@daffodil/category] Category Page Toggle Filter Action',\n CategoryPageChangeSizeAction = '[@daffodil/category] Category Page Change Size Action',\n CategoryPageChangeCurrentPageAction = '[@daffodil/category] Category Page Change Current Page Action',\n CategoryPageChangeSortingOptionAction = '[@daffodil/category] Category Page Change Sorting Option Action',\n}\n\n/**\n * An action for replacing the filters for the current category.\n * All existing filters will be removed and the specified filters will be applied.\n *\n * @param filters - Filters to be set on the current category.\n */\nexport class DaffCategoryPageReplaceFilters implements Action {\n readonly type = DaffCategoryPageProductCollectionActionTypes.CategoryPageReplaceFiltersAction;\n\n constructor(public filters: DaffFilterRequest[]) { }\n}\n\n/**\n * An action for applying the specified filters for the current category.\n *\n * @param filters - Filters to be applied to the current category.\n */\nexport class DaffCategoryPageApplyFilters implements Action {\n readonly type = DaffCategoryPageProductCollectionActionTypes.CategoryPageApplyFiltersAction;\n\n constructor(public filters: DaffFilterRequest[]) { }\n}\n\n/**\n * An action for removing the specified filters for the current category.\n *\n * @param filters - Filters to be removed from the current category.\n */\nexport class DaffCategoryPageRemoveFilters implements Action {\n readonly type = DaffCategoryPageProductCollectionActionTypes.CategoryPageRemoveFiltersAction;\n\n constructor(public filters: DaffFilterRequest[]) { }\n}\n\n/**\n * An action for removing all the filters for the current category.\n */\nexport class DaffCategoryPageClearFilters implements Action {\n readonly type = DaffCategoryPageProductCollectionActionTypes.CategoryPageClearFiltersAction;\n}\n\n/**\n * An action for toggling a filters for the current category.\n *\n * @param filter - Filter to be toggled on the current category.\n */\nexport class DaffCategoryPageToggleFilter implements Action {\n readonly type = DaffCategoryPageProductCollectionActionTypes.CategoryPageToggleFilterAction;\n\n constructor(public filter: DaffFilterToggleRequest) { }\n}\n\n\n/**\n * An action for changing the number of products shown on each page for the selected category.\n *\n * @param pageSize - The number of products per page.\n */\nexport class DaffCategoryPageChangePageSize implements Action {\n readonly type = DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSizeAction;\n\n constructor(public pageSize: number) { }\n}\n\n/**\n * An action for changing the current page of products for the selected category.\n *\n * @param currentPage - The current page of products for the selected category.\n */\nexport class DaffCategoryPageChangeCurrentPage implements Action {\n readonly type = DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeCurrentPageAction;\n\n constructor(public currentPage: number) { }\n}\n\n/**\n * An action for changing the sorting option for the selected category.\n *\n * @param sort - The sort option to be applied.\n */\nexport class DaffCategoryPageChangeSortingOption implements Action {\n readonly type = DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSortingOptionAction;\n\n constructor(\n public sort: {\n option: DaffCategoryRequest['appliedSortOption'];\n direction: DaffCategoryRequest['appliedSortDirection'];\n },\n ) { }\n}\n\nexport type DaffCategoryPageProductCollectionActions =\n | DaffCategoryPageReplaceFilters\n | DaffCategoryPageApplyFilters\n | DaffCategoryPageRemoveFilters\n | DaffCategoryPageClearFilters\n | DaffCategoryPageToggleFilter\n | DaffCategoryPageChangePageSize\n | DaffCategoryPageChangeCurrentPage\n | DaffCategoryPageChangeSortingOption;\n","import { Action } from '@ngrx/store';\n\nimport {\n DaffCategoryRequest,\n DaffGenericCategory,\n DaffCategory,\n DaffGetCategoryResponse,\n DaffCategoryIdRequest,\n DaffCategoryUrlRequest,\n} from '@daffodil/category';\nimport { DaffStateError } from '@daffodil/core/state';\nimport { DaffProduct } from '@daffodil/product';\n\n/**\n * The possible types of category page actions.\n */\nexport enum DaffCategoryPageActionTypes {\n CategoryPageLoadAction = '[@daffodil/category] Category Page Load Action',\n CategoryPageLoadByUrlAction = '[@daffodil/category] Category Page Load By URL Action',\n CategoryPageLoadSuccessAction = '[@daffodil/category] Category Page Load Success Action',\n CategoryPageLoadFailureAction = '[@daffodil/category] Category Page Load Failure Action',\n}\n\n/**\n * An action triggered to initialize a category page load request.\n * This is intended to be used for loading full category pages.\n * Queries the category by ID.\n *\n * @param request - DaffCategoryRequest object\n */\nexport class DaffCategoryPageLoad implements Action {\n readonly type = DaffCategoryPageActionTypes.CategoryPageLoadAction;\n\n constructor(public request: DaffCategoryIdRequest) { }\n}\n\n/**\n * An action triggered to initialize a category page load request.\n * This is intended to be used for loading full category pages.\n * Queries the category by URL.\n *\n * @param request - DaffCategoryRequest object\n */\nexport class DaffCategoryPageLoadByUrl implements Action {\n readonly type = DaffCategoryPageActionTypes.CategoryPageLoadByUrlAction;\n\n constructor(public request: DaffCategoryUrlRequest) { }\n}\n\n/**\n * An action triggered upon a successful category page request.\n *\n * @param response - DaffGetCategoryResponse object\n */\nexport class DaffCategoryPageLoadSuccess<\n V extends DaffGenericCategory<V> = DaffCategory,\n W extends DaffProduct = DaffProduct\n> implements Action {\n readonly type = DaffCategoryPageActionTypes.CategoryPageLoadSuccessAction;\n\n constructor(public response: DaffGetCategoryResponse<V, W>) { }\n}\n\n/**\n * An action triggered upon a failed category page request.\n *\n * @param errorMessage - an error message\n */\nexport class DaffCategoryPageLoadFailure implements Action {\n readonly type = DaffCategoryPageActionTypes.CategoryPageLoadFailureAction;\n\n constructor(public errorMessage: DaffStateError) { }\n}\n\n\nexport type DaffCategoryPageActions<\n U extends DaffGenericCategory<U> = DaffCategory,\n W extends DaffProduct = DaffProduct\n> =\n | DaffCategoryPageLoad\n | DaffCategoryPageLoadByUrl\n | DaffCategoryPageLoadSuccess<U, W>\n | DaffCategoryPageLoadFailure;\n","import {\n EntityAdapter,\n createEntityAdapter,\n} from '@ngrx/entity';\n\nimport {\n DaffGenericCategory,\n DaffCategory,\n} from '@daffodil/category';\n\nexport function daffCategoryEntitiesAdapter<T extends DaffGenericCategory<T> = DaffCategory>(): EntityAdapter<T> {\n return createEntityAdapter<T>();\n}\n","import { DaffGenericCategory } from '@daffodil/category';\nimport {\n daffCompleteOperation,\n daffOperationFailed,\n daffOperationInitialState,\n daffStartMutation,\n daffStartResolution,\n DaffState,\n} from '@daffodil/core/state';\nimport { DaffProduct } from '@daffodil/product';\n\nimport { DaffCategoryReducerState } from './category-reducer-state.interface';\nimport {\n DaffCategoryPageProductCollectionActionTypes,\n DaffCategoryPageProductCollectionActions,\n} from '../../actions/category-page-filter.actions';\nimport { DaffCategoryPageActions } from '../../actions/category-page.actions';\nimport { DaffCategoryPageActionTypes } from '../../actions/category-page.actions';\nimport { DaffCategoryActions } from '../../actions/category.actions';\n\nexport const daffCategoryInitialState: DaffCategoryReducerState = {\n ...daffOperationInitialState,\n id: null,\n};\n\n/**\n * Returns the state for category data except for category entities.\n */\nexport function daffCategoryReducer<U extends DaffGenericCategory<U>, W extends DaffProduct>(\n state = daffCategoryInitialState,\n action: DaffCategoryActions<U, W> | DaffCategoryPageActions<U, W> | DaffCategoryPageProductCollectionActions,\n): DaffCategoryReducerState {\n switch (action.type) {\n case DaffCategoryPageActionTypes.CategoryPageLoadAction:\n case DaffCategoryPageActionTypes.CategoryPageLoadByUrlAction:\n return {\n ...daffStartResolution(state),\n id: null,\n };\n\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSizeAction:\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeCurrentPageAction:\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSortingOptionAction:\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageReplaceFiltersAction:\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageApplyFiltersAction:\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageClearFiltersAction:\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageRemoveFiltersAction:\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageToggleFilterAction:\n return daffStartMutation(state);\n\n case DaffCategoryPageActionTypes.CategoryPageLoadSuccessAction:\n return {\n ...daffCompleteOperation(state),\n id: action.response.category.id,\n };\n\n case DaffCategoryPageActionTypes.CategoryPageLoadFailureAction:\n return daffOperationFailed([action.errorMessage], state);\n\n default:\n return state;\n }\n}\n","import { Action } from '@ngrx/store';\n\nimport {\n DaffGenericCategory,\n DaffCategory,\n DaffGetCategoryResponse,\n DaffCategoryIdRequest,\n} from '@daffodil/category';\nimport { DaffStateError } from '@daffodil/core/state';\nimport { DaffProduct } from '@daffodil/product';\n\n/**\n * The possible types of category actions.\n */\nexport enum DaffCategoryActionTypes {\n CategoryLoadAction = '[@daffodil/category] Category Load Action',\n CategoryLoadSuccessAction = '[@daffodil/category] Category Load Success Action',\n CategoryLoadFailureAction = '[@daffodil/category] Category Load Failure Action'\n}\n\n/**\n * An action triggered to initialize a category load request.\n *\n * @param request - DaffCategoryRequest object\n */\nexport class DaffCategoryLoad implements Action {\n readonly type = DaffCategoryActionTypes.CategoryLoadAction;\n\n constructor(public request: DaffCategoryIdRequest) { }\n}\n\n/**\n * An action triggered upon a successful category request.\n *\n * @param response - DaffGetCategoryResponse object\n */\nexport class DaffCategoryLoadSuccess<\n V extends DaffGenericCategory<V> = DaffCategory,\n W extends DaffProduct = DaffProduct\n> implements Action {\n readonly type = DaffCategoryActionTypes.CategoryLoadSuccessAction;\n\n constructor(public response: DaffGetCategoryResponse<V, W>) { }\n}\n\n/**\n * An action triggered upon a failed category request.\n *\n * @param errorMessage - an error message\n */\nexport class DaffCategoryLoadFailure implements Action {\n readonly type = DaffCategoryActionTypes.CategoryLoadFailureAction;\n\n constructor(public errorMessage: DaffStateError) { }\n}\n\nexport type DaffCategoryActions<\n U extends DaffGenericCategory<U> = DaffCategory,\n W extends DaffProduct = DaffProduct\n> =\n | DaffCategoryLoad\n | DaffCategoryLoadSuccess<U, W>\n | DaffCategoryLoadFailure;\n","import { EntityState } from '@ngrx/entity';\n\nimport {\n DaffGenericCategory,\n DaffCategory,\n} from '@daffodil/category';\nimport { DaffProduct } from '@daffodil/product';\n\nimport { daffCategoryEntitiesAdapter } from './category-entities-adapter';\nimport {\n DaffCategoryPageActionTypes,\n DaffCategoryPageActions,\n} from '../../actions/category-page.actions';\nimport {\n DaffCategoryActionTypes,\n DaffCategoryActions,\n} from '../../actions/category.actions';\n\n/**\n * A reducer function to store category entities from DaffCategoryLoadSuccess and DaffCategoryPageLoadSuccess actions.\n */\nexport function daffCategoryEntitiesReducer<\n V extends DaffGenericCategory<V> = DaffCategory,\n W extends DaffProduct = DaffProduct\n>(\n state = daffCategoryEntitiesAdapter<V>().getInitialState(),\n action: DaffCategoryActions<V,W> | DaffCategoryPageActions<V,W>,\n): EntityState<V> {\n switch (action.type) {\n case DaffCategoryActionTypes.CategoryLoadSuccessAction:\n case DaffCategoryPageActionTypes.CategoryPageLoadSuccessAction:\n return daffCategoryEntitiesAdapter<V>().upsertOne(\n {\n id: action.response.category.id,\n ...action.response.category,\n },\n state,\n );\n default:\n return state;\n }\n}\n","import { DaffGenericCategory } from '@daffodil/category';\nimport {\n daffApplyRequestsToFilters,\n daffClearFilters,\n daffRemoveRequestsFromFilters,\n daffToggleRequestOnFilters,\n} from '@daffodil/core';\nimport {\n daffCollectionReducerInitialState,\n getCollectionStateAdapter,\n} from '@daffodil/core/state';\nimport { DaffProduct } from '@daffodil/product';\n\nimport { DaffCategoryPageMetadataReducerState } from './state.interface';\nimport {\n DaffCategoryPageProductCollectionActionTypes,\n DaffCategoryPageProductCollectionActions,\n} from '../../actions/category-page-filter.actions';\nimport { DaffCategoryPageActions } from '../../actions/category-page.actions';\nimport { DaffCategoryPageActionTypes } from '../../actions/category-page.actions';\nimport { DaffCategoryActions } from '../../actions/category.actions';\n\nexport const daffCategoryPageMetadataInitialState: DaffCategoryPageMetadataReducerState = {\n ...daffCollectionReducerInitialState,\n id: null,\n};\n\n/**\n * Returns the state for category data except for category entities.\n */\nexport function daffCategoryPageMetadataReducer<U extends DaffGenericCategory<U>, W extends DaffProduct>(\n state = daffCategoryPageMetadataInitialState,\n action: DaffCategoryActions<U, W> | DaffCategoryPageActions<U, W> | DaffCategoryPageProductCollectionActions,\n): DaffCategoryPageMetadataReducerState {\n const adapter = getCollectionStateAdapter<DaffCategoryPageMetadataReducerState>();\n switch (action.type) {\n case DaffCategoryPageActionTypes.CategoryPageLoadAction:\n case DaffCategoryPageActionTypes.CategoryPageLoadByUrlAction:\n return {\n ...adapter.storeRequest(action.request, daffCategoryPageMetadataInitialState),\n id: null,\n };\n\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSizeAction:\n return adapter.setPageSize(action.pageSize, state);\n\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeCurrentPageAction:\n return adapter.setCurrentPage(action.currentPage, state);\n\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSortingOptionAction:\n return adapter.setSort(action.sort.option, action.sort.direction, state);\n\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageReplaceFiltersAction:\n return adapter.setFilters(daffApplyRequestsToFilters(action.filters, daffClearFilters(state.filters)), state);\n\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageApplyFiltersAction:\n return adapter.setFilters(daffApplyRequestsToFilters(action.filters, state.filters), state);\n\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageClearFiltersAction:\n return adapter.setFilters(daffClearFilters(state.filters), state);\n\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageRemoveFiltersAction:\n return adapter.setFilters(daffRemoveRequestsFromFilters(action.filters, state.filters), state);\n\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageToggleFilterAction:\n return adapter.setFilters(daffToggleRequestOnFilters(action.filter, state.filters), state);\n\n case DaffCategoryPageActionTypes.CategoryPageLoadSuccessAction:\n return {\n ...adapter.setMetadata({\n currentPage: action.response.categoryPageMetadata.currentPage,\n pageSize: action.response.categoryPageMetadata.pageSize,\n filters: action.response.categoryPageMetadata.filters,\n sortOptions: action.response.categoryPageMetadata.sortOptions,\n totalPages: action.response.categoryPageMetadata.totalPages,\n count: action.response.categoryPageMetadata.count,\n ids: action.response.categoryPageMetadata.ids,\n appliedSortOption: action.response.categoryPageMetadata.appliedSortOption || action.response.categoryPageMetadata.sortOptions.default,\n appliedSortDirection: action.response.categoryPageMetadata.appliedSortDirection,\n }, state),\n id: action.response.categoryPageMetadata.id,\n };\n\n default:\n return state;\n }\n}\n","import { ActionReducerMap } from '@ngrx/store';\n\nimport { daffCategoryReducer } from './category/category.reducer';\nimport { daffCategoryEntitiesReducer } from './category-entities/category-entities.reducer';\nimport { DaffCategoryReducersState } from './category-reducers.interface';\nimport { daffCategoryPageMetadataReducer } from './page-metadata/reducer';\n\n/**\n * All daffodil defined category reducers.\n */\nexport const daffCategoryReducers: ActionReducerMap<DaffCategoryReducersState> = {\n category: daffCategoryReducer,\n categoryEntities: daffCategoryEntitiesReducer,\n pageMetadata: daffCategoryPageMetadataReducer,\n};\n","/**\n * The key for the slice of category related redux state in the global redux state object.\n */\nexport const DAFF_CATEGORY_STORE_FEATURE_KEY = 'daffCategory';\n","import { ActionReducer } from '@ngrx/store';\n\nimport { createMultiInjectionToken } from '@daffodil/core';\n\nimport { DaffCategoryReducersState } from '../category-reducers.interface';\n\nexport const {\n /**\n * A token to hold the injectable extra reducers.\n *\n * Prefer using {@link daffCategoryProvideExtraReducers}.\n */\n token: DAFF_CATEGORY_EXTRA_REDUCERS,\n /**\n * Provides additional reducers that run after the standard Daffodil category reducers.\n *\n * @example\n * ```ts\n * providers: [\n * ...daffCategoryProvideExtraReducers(\n * myReducer1,\n * myReducer2\n * )\n * ]\n * ```\n */\n provider: daffCategoryProvideExtraReducers,\n} = createMultiInjectionToken<ActionReducer<DaffCategoryReducersState>>(\n 'DAFF_CATEGORY_EXTRA_REDUCERS',\n { providedIn: 'any' },\n);\n","import {\n createFeatureSelector,\n MemoizedSelector,\n} from '@ngrx/store';\n\nimport {\n DaffGenericCategory,\n DaffCategory,\n} from '@daffodil/category';\n\nimport {\n DaffCategoryReducersState,\n DAFF_CATEGORY_STORE_FEATURE_KEY,\n DaffCategoryStateRootSlice,\n} from '../reducers/public_api';\n\n/**\n * An interface for the entire category feature state.\n */\nexport interface DaffCategoryFeatureMemoizedSelectors<\n V extends DaffGenericCategory<V> = DaffCategory,\n> {\n selectCategoryFeatureState: MemoizedSelector<DaffCategoryStateRootSlice<V>, DaffCategoryReducersState<V>>;\n}\n\n/**\n * A function that returns a selector for the entire category feature state.\n */\nexport const getDaffCategoryFeatureSelector = (() => {\n let cache;\n return <V extends DaffGenericCategory<V>>(): DaffCategoryFeatureMemoizedSelectors<V> => cache = cache\n ? cache\n : { selectCategoryFeatureState: createFeatureSelector<DaffCategoryStateRootSlice<V>,DaffCategoryReducersState<V>>(DAFF_CATEGORY_STORE_FEATURE_KEY) };\n})();\n","import {\n Dictionary,\n EntityState,\n} from '@ngrx/entity';\nimport {\n createSelector,\n MemoizedSelector,\n} from '@ngrx/store';\n\nimport {\n DaffGenericCategory,\n DaffCategory,\n} from '@daffodil/category';\n\nimport { daffCategoryEntitiesAdapter } from '../../reducers/category-entities/category-entities-adapter';\nimport { DaffCategoryReducersState } from '../../reducers/category-reducers.interface';\nimport { DaffCategoryStateRootSlice } from '../../reducers/public_api';\nimport { getDaffCategoryFeatureSelector } from '../category-feature.selector';\n\n/**\n * An interface to describe all selectors related to category ngrx entities state.\n */\nexport interface DaffCategoryEntitiesMemoizedSelectors<V extends DaffGenericCategory<V> = DaffCategory> {\n /**\n * Selects ngrx category entities state.\n */\n selectCategoryEntitiesState: MemoizedSelector<DaffCategoryStateRootSlice<V>, EntityState<V>>;\n /**\n * Selects the ids of all categories in state.\n */\n selectCategoryIds: MemoizedSelector<DaffCategoryStateRootSlice<V>, string[] | number[]>;\n /**\n * Selects all categories in state as a dictionary.\n */\n selectCategoryEntities: MemoizedSelector<DaffCategoryStateRootSlice<V>, Dictionary<V>>;\n /**\n * Selects all categories in state as an array.\n */\n selectAllCategories: MemoizedSelector<DaffCategoryStateRootSlice<V>, V[]>;\n /**\n * Selects the total number of categories in state.\n */\n selectCategoryTotal: MemoizedSelector<DaffCategoryStateRootSlice<V>, number>;\n}\n\nconst createCategoryFeatureSelectors = <V extends DaffGenericCategory<V>>(): DaffCategoryEntitiesMemoizedSelectors<V> => {\n\n const entitiesSelectors = daffCategoryEntitiesAdapter<V>().getSelectors();\n const categoryFeatureState = getDaffCategoryFeatureSelector<V>().selectCategoryFeatureState;\n\n const selectCategoryEntitiesState = createSelector(\n categoryFeatureState,\n (state: DaffCategoryReducersState<V>) => state.categoryEntities,\n );\n\n const selectCategoryIds = createSelector(\n selectCategoryEntitiesState,\n entitiesSelectors.selectIds,\n );\n\n const selectCategoryEntities = createSelector(\n selectCategoryEntitiesState,\n entitiesSelectors.selectEntities,\n );\n\n const selectAllCategories = createSelector(\n selectCategoryEntitiesState,\n entitiesSelectors.selectAll,\n );\n\n const selectCategoryTotal = createSelector(\n selectCategoryEntitiesState,\n entitiesSelectors.selectTotal,\n );\n\n return {\n selectCategoryEntitiesState,\n selectCategoryIds,\n selectCategoryEntities,\n selectAllCategories,\n selectCategoryTotal,\n };\n};\n\n/**\n * A function that returns all selectors related to category entities.\n */\nexport const getDaffCategoryEntitiesSelectors = (() => {\n let cache;\n return <V extends DaffGenericCategory<V>>(): DaffCategoryEntitiesMemoizedSelectors<V> => cache = cache\n ? cache\n : createCategoryFeatureSelectors<V>();\n})();\n","import {\n createSelector,\n MemoizedSelector,\n} from '@ngrx/store';\n\nimport {\n DaffGenericCategory,\n DaffCategory,\n DaffCategoryPageMetadata,\n} from '@daffodil/category';\nimport {\n daffOperationStateSelectorFactory,\n DaffOperationStateSelectors,\n DaffState,\n DaffStateError,\n} from '@daffodil/core/state';\n\nimport {\n DaffCategoryReducerState,\n DaffCategoryReducersState,\n DaffCategoryStateRootSlice,\n} from '../../reducers/public_api';\nimport { getDaffCategoryFeatureSelector } from '../category-feature.selector';\n\n/**\n * An interface to describe all selectors related to the category page metadata, category loading, and errors.\n */\nexport interface DaffCategoryPageMemoizedSelectors<\n V extends DaffGenericCategory<V> = DaffCategory\n> extends DaffOperationStateSelectors<DaffCategoryStateRootSlice<V>, DaffCategoryReducerState> {\n /**\n * Selects all state related to the category page metadata, category loading, and errors.\n */\n selectCategoryState: MemoizedSelector<DaffCategoryStateRootSlice<V>, DaffCategoryReducerState>;\n /**\n * Selects the ids of all products in the current category page.\n */\n selectCategoryPageProductIds: MemoizedSelector<DaffCategoryStateRootSlice<V>, DaffCategoryPageMetadata['ids']>;\n /**\n * Selects whether the category page has no products.\n */\n selectIsCategoryPageEmpty: MemoizedSelector<DaffCategoryStateRootSlice<V>, boolean>;\n /**\n * Selects the id of the current category.\n */\n selectCurrentCategoryId: MemoizedSelector<DaffCategoryStateRootSlice<V>, DaffCategoryPageMetadata['id']>;\n}\n\nconst createCategoryPageSelectors = <V extends DaffGenericCategory<V>>(): DaffCategoryPageMemoizedSelectors<V> => {\n const selectCategoryFeatureState = getDaffCategoryFeatureSelector<V>().selectCategoryFeatureState;\n\n const selectCategoryState = createSelector(\n selectCategoryFeatureState,\n (state: DaffCategoryReducersState<V>) => state.category,\n );\n\n const selectCategoryPageMetadata = createSelector(\n selectCategoryFeatureState,\n (state: DaffCategoryReducersState<V>) => state.pageMetadata,\n );\n\n const selectCategoryPageProductIds = createSelector(\n selectCategoryPageMetadata,\n (state: DaffCategoryPageMetadata) => state.ids,\n );\n\n const selectIsCategoryPageEmpty = createSelector<DaffCategoryStateRootSlice<V>, [ V['product_ids']], boolean>(\n selectCategoryPageProductIds,\n (state: V['product_ids']) => !state.length,\n );\n\n const selectCurrentCategoryId = createSelector(\n selectCategoryState,\n (state: DaffCategoryReducerState) => state.id,\n );\n\n\n return {\n ...daffOperationStateSelectorFactory(selectCategoryState),\n selectCategoryState,\n selectCategoryPageProductIds,\n selectIsCategoryPageEmpty,\n selectCurrentCategoryId,\n };\n};\n\n/**\n * A function that returns all selectors related to the category page metadata, category loading, and errors.\n * Returns {@link DaffCategoryPageMemoizedSelectors}.\n */\nexport const getDaffCategoryPageSelectors = (() => {\n let cache;\n return <V extends DaffGenericCategory<V>>(): DaffCategoryPageMemoizedSelectors<V> => cache = cache\n ? cache\n : createCategoryPageSelectors<V>();\n})();\n","import { createSelector } from '@ngrx/store';\n\nimport { DaffCategoryPageMetadata } from '@daffodil/category';\nimport {\n DaffCollectionMemoizedSelectors,\n daffCollectionSelectorFactory,\n} from '@daffodil/core/state';\n\nimport { DaffCategoryStateRootSlice } from '../../reducers/public_api';\nimport { getDaffCategoryFeatureSelector } from '../category-feature.selector';\n\nexport type DaffCategoryPageProductCollectionSelectors = DaffCollectionMemoizedSelectors<DaffCategoryStateRootSlice, DaffCategoryPageMetadata>;\n\nconst {\n selectCategoryFeatureState,\n} = getDaffCategoryFeatureSelector();\n\nconst selectCategoryProductCollectionState = createSelector(\n selectCategoryFeatureState,\n state => state.pageMetadata,\n);\n\nexport const getCategoryProductCollectionSelectors = (() => {\n let cache;\n return (): DaffCategoryPageProductCollectionSelectors =>\n cache = cache || daffCollectionSelectorFactory<DaffCategoryStateRootSlice, DaffCategoryPageMetadata>(selectCategoryProductCollectionState);\n})();\n","import { Dictionary } from '@ngrx/entity';\nimport {\n createSelector,\n MemoizedSelector,\n defaultMemoize,\n} from '@ngrx/store';\n\nimport {\n DaffGenericCategory,\n DaffCategory,\n} from '@daffodil/category';\nimport { DaffProduct } from '@daffodil/product';\nimport { getDaffProductSelectors } from '@daffodil/product/state';\n\nimport { DaffCategoryEntitiesMemoizedSelectors } from './category-entities/category-entities.selector';\nimport { getDaffCategoryEntitiesSelectors } from './category-entities/category-entities.selector';\nimport {\n DaffCategoryFeatureMemoizedSelectors,\n getDaffCategoryFeatureSelector,\n} from './category-feature.selector';\nimport {\n DaffCategoryPageMemoizedSelectors,\n getDaffCategoryPageSelectors,\n} from './category-page/category-page.selector';\nimport {\n DaffCategoryPageProductCollectionSelectors,\n getCategoryProductCollectionSelectors,\n} from './collection/selectors';\nimport { DaffCategoryStateRootSlice } from '../reducers/public_api';\n\n/**\n * An interface for selectors that combine category metadata and category entities selectors.\n */\nexport interface DaffCategoryMemoizedSelectors<\n V extends DaffGenericCategory<V> = DaffCategory,\n W extends DaffProduct = DaffProduct\n> extends\n DaffCategoryFeatureMemoizedSelectors<V>,\n DaffCategoryPageMemoizedSelectors<V>,\n DaffCategoryPageProductCollectionSelectors,\n DaffCategoryEntitiesMemoizedSelectors<V> {\n /**\n * Selects the current category\n */\n selectCurrentCategory: MemoizedSelector<DaffCategoryStateRootSlice<V>, V>;\n /**\n * Selects the products of the current category.\n */\n selectCategoryPageProducts: MemoizedSelector<DaffCategoryStateRootSlice<V, W>, W[]>;\n /**\n * Selects a category by id.\n *\n * @param categoryId a category id.\n */\n selectCategory: (categoryId: V['id']) => MemoizedSelector<DaffCategoryStateRootSlice<V>, V>;\n /**\n * Selects products by category id.\n *\n * @param categoryId a category id.\n */\n selectProductsByCategory: (categoryId: V['id']) => MemoizedSelector<DaffCategoryStateRootSlice<V, W>, W[]>;\n /**\n * Selects the total number of products in a category.\n *\n * @param categoryId a category id.\n */\n selectTotalProductsByCategory: (categoryId: V['id']) => MemoizedSelector<DaffCategoryStateRootSlice<V>, number>;\n}\n\nconst createCategorySelectors = <V extends DaffGenericCategory<V>, W extends DaffProduct>(): DaffCategoryMemoizedSelectors<V, W> => {\n const { selectAllProducts,selectProductEntities } = getDaffProductSelectors<W>();\n\n const {\n selectCategoryEntities,\n } = getDaffCategoryEntitiesSelectors<V>();\n const {\n selectCurrentCategoryId,\n selectCategoryPageProductIds,\n } = getDaffCategoryPageSelectors<V>();\n /**\n * Combinatoric Category Selectors\n */\n const selectCurrentCategory = createSelector<DaffCategoryStateRootSlice<V, W>, [Dictionary<V>, string], V>(\n selectCategoryEntities,\n selectCurrentCategoryId,\n (entities: Dictionary<V>, currentCategoryId: V['id']) => entities[currentCategoryId],\n );\n\n const selectCategoryPageProducts = createSelector<DaffCategoryStateRootSlice<V, W>, [string[], Dictionary<W>], W[]>(\n selectCategoryPageProductIds,\n selectProductEntities,\n (ids, products: Dictionary<W>) => ids.map(id => products[id]).filter(p => p != null),\n );\n\n const selectCategory: (categoryId: V['id']) => MemoizedSelector<DaffCategoryStateRootSlice<V>, V> =\n defaultMemoize((categoryId: V['id']) => createSelector(\n selectCategoryEntities,\n (entities: Dictionary<V>) => entities[categoryId],\n )).memoized;\n\n const selectProductsByCategory = defaultMemoize((categoryId: V['id']) => createSelector<DaffCategoryStateRootSlice<V, W>, [V, W[]], W[]>(\n selectCategory(categoryId),\n selectAllProducts,\n (category, products) => category?.product_ids\n ? products.filter(product => category.product_ids.indexOf(product.id) >= 0)\n : [],\n )).memoized;\n\n const selectTotalProductsByCategory = defaultMemoize((categoryId: V['id']) => createSelector(\n selectProductsByCategory(categoryId),\n (products: DaffProduct[]) => products.length,\n )).memoized;\n\n return {\n ...getDaffCategoryFeatureSelector<V>(),\n ...getDaffCategoryEntitiesSelectors<V>(),\n ...getDaffCategoryPageSelectors<V>(),\n ...getCategoryProductCollectionSelectors(),\n selectCurrentCategory,\n selectCategoryPageProducts,\n selectCategory,\n selectProductsByCategory,\n selectTotalProductsByCategory,\n };\n};\n\n/**\n * A function that returns all combinatoric category selectors.\n */\nexport const getDaffCategorySelectors = (() => {\n let cache;\n return <\n V extends DaffGenericCategory<V> = DaffCategory,\n W extends DaffProduct = DaffProduct\n >(): DaffCategoryMemoizedSelectors<V, W> => cache = cache\n ? cache\n : createCategorySelectors<V, W>();\n})();\n","import { Injectable } from '@angular/core';\nimport {\n Store,\n select,\n Action,\n} from '@ngrx/store';\nimport { Observable } from 'rxjs';\n\nimport {\n DaffGenericCategory,\n DaffCategory,\n} from '@daffodil/category';\nimport { DaffStateError } from '@daffodil/core/state';\nimport { DaffProduct } from '@daffodil/product';\n\nimport { DaffCategoryFacadeInterface } from './category-facade.interface';\nimport {\n DaffCategoryStateRootSlice,\n DaffCategoryReducerState,\n} from '../../reducers/public_api';\nimport { getDaffCategorySelectors } from '../../selectors/category.selector';\n\n/**\n * A facade for interacting with the category state.\n * This facade exposes many parts of the state for easy access and allows dispatching of actions.\n *\n * @inheritdoc\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFacade<\n V extends DaffGenericCategory<V> = DaffCategory,\n W extends DaffProduct = DaffProduct\n> implements DaffCategoryFacadeInterface<V, W> {\n private categorySelectors = getDaffCategorySelectors<V,W>();\n\n category$: Observable<V>;\n loadingState$: Observable<DaffCategoryReducerState['daffState']>;\n loading$: Observable<boolean>;\n mutating$: Observable<boolean>;\n resolving$: Observable<boolean>;\n products$: Observable<W[]>;\n errors$: Observable<DaffStateError[]>;\n hasErrors$: Observable<boolean>;\n isCategoryEmpty$: Observable<boolean>;\n\n getCategoryById(id: V['id']): Observable<V> {\n return this.store.pipe(select(this.categorySelectors.selectCategory(id)));\n }\n\n getProductsByCategory(categoryId: V['id']): Observable<W[]> {\n return this.store.pipe(select(this.categorySelectors.selectProductsByCategory(categoryId)));\n }\n\n getTotalProductsByCategory(categoryId: V['id']): Observable<number> {\n return this.store.pipe(select(this.categorySelectors.selectTotalProductsByCategory(categoryId)));\n }\n\n constructor(private store: Store<DaffCategoryStateRootSlice<V, W>>) {\n this.category$ = this.store.pipe(select(this.categorySelectors.selectCurrentCategory));\n this.products$ = this.store.pipe(select(this.categorySelectors.selectCategoryPageProducts));\n this.loadingState$ = this.store.pipe(select(this.categorySelectors.selectLoadingState));\n this.loading$ = this.store.pipe(select(this.categorySelectors.selectLoading));\n this.mutating$ = this.store.pipe(select(this.categorySelectors.selectMutating));\n this.resolving$ = this.store.pipe(select(this.categorySelectors.selectResolving));\n this.errors$ = this.store.pipe(select(this.categorySelectors.selectErrors));\n this.hasErrors$ = this.store.pipe(select(this.categorySelectors.selectHasErrors));\n this.isCategoryEmpty$ = this.store.pipe(select(this.categorySelectors.selectIsCategoryPageEmpty));\n }\n\n /**\n * Dispatches the given action.\n *\n * @param action action to dispatch.\n */\n dispatch(action: Action) {\n this.store.dispatch(action);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\n\nimport {\n DaffCollectionFacade,\n DaffCollectionFacadeInterface,\n} from '@daffodil/core/state';\n\nimport { DaffCategoryStateRootSlice } from '../../reducers/public_api';\nimport { getCategoryProductCollectionSelectors } from '../../selectors/collection/selectors';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryProductCollectionFacade extends DaffCollectionFacade<DaffCategoryStateRootSlice> implements DaffCollectionFacadeInterface {\n constructor(\n store: Store<DaffCategoryStateRootSlice>,\n ) {\n super(\n store,\n getCategoryProductCollectionSelectors(),\n );\n }\n}\n","import { createSingleInjectionToken } from '@daffodil/core';\nimport { daffTransformErrorToStateError } from '@daffodil/core/state';\n\nexport const {\n /**\n * Transforms `DaffError`s into `DaffStateError`s before they are serialized into state.\n * Can be used to further refine Daffodil errors into more specific app errors.\n */\n token: DAFF_CATEGORY_ERROR_MATCHER,\n /**\n * Provider function for {@link DAFF_CATEGORY_ERROR_MATCHER}.\n */\n provider: provideDaffCategoryErrorMatcher,\n} = createSingleInjectionToken<typeof daffTransformErrorToStateError>(\n 'DAFF_CATEGORY_ERROR_MATCHER',\n { factory: () => daffTransformErrorToStateError },\n);\n","import {\n Injectable,\n Inject,\n} from '@angular/core';\nimport {\n Actions,\n createEffect,\n ofType,\n} from '@ngrx/effects';\nimport {\n of,\n Observable,\n asyncScheduler,\n} from 'rxjs';\nimport { AsyncScheduler } from 'rxjs/internal/scheduler/AsyncScheduler';\nimport {\n switchMap,\n catchError,\n map,\n throttleTime,\n withLatestFrom,\n} from 'rxjs/operators';\n\nimport {\n DaffGenericCategory,\n DaffGetCategoryResponse,\n DaffCategoryRequestKind,\n DaffCategoryIdRequest,\n} from '@daffodil/category';\nimport { DaffCategoryPageMetadata } from '@daffodil/category';\nimport {\n DaffCategoryDriver,\n DaffCategoryServiceInterface,\n} from '@daffodil/category/driver';\nimport {\n DaffError,\n daffFiltersToRequests,\n} from '@daffodil/core';\nimport { ErrorTransformer } from '@daffodil/core/state';\nimport { DaffProduct } from '@daffodil/product';\nimport { DaffProductGridLoadSuccess } from '@daffodil/product/state';\n\nimport {\n DaffCategoryPageProductCollectionActionTypes,\n DaffCategoryPageProductCollectionActions,\n} from '../actions/category-page-filter.actions';\nimport {\n DaffCategoryPageLoadSuccess,\n DaffCategoryPageLoadFailure,\n} from '../actions/category-page.actions';\nimport { DaffCategoryProductCollectionFacade } from '../facades/public_api';\nimport { DAFF_CATEGORY_ERROR_MATCHER } from '../injection-tokens/public_api';\n\n@Injectable()\nexport class DaffCategoryPageMetadataEffects<\n V extends DaffGenericCategory<V>,\n W extends DaffProduct\n> {\n\n constructor(\n private actions$: Actions,\n @Inject(DaffCategoryDriver) private driver: DaffCategoryServiceInterface<V, W>,\n @Inject(DAFF_CATEGORY_ERROR_MATCHER) private errorMatcher: ErrorTransformer,\n private facade: DaffCategoryProductCollectionFacade,\n ){}\n\n /**\n * Updates the filters applied to the category page. It will take the currently\n * applied filters from state, form them into a request, and attempt to apply\n * that request to a backend service.\n *\n * @param throttleWindow the amount of time to delay when apply/removing filters\n * in a sequence.\n */\n\n update$: (throttleWindow: number, scheduler: AsyncScheduler) => Observable<\n DaffProductGridLoadSuccess\n | DaffCategoryPageLoadSuccess\n | DaffCategoryPageLoadFailure\n > = createEffect(() => (throttleWindow = 300, scheduler = asyncScheduler) => this.actions$.pipe(\n ofType(\n DaffCategoryPageProductCollectionActionTypes.CategoryPageReplaceFiltersAction,\n DaffCategoryPageProductCollectionActionTypes.CategoryPageApplyFiltersAction,\n DaffCategoryPageProductCollectionActionTypes.CategoryPageClearFiltersAction,\n DaffCategoryPageProductCollectionActionTypes.CategoryPageRemoveFiltersAction,\n DaffCategoryPageProductCollectionActionTypes.CategoryPageToggleFilterAction,\n DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSizeAction,\n DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeCurrentPageAction,\n DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSortingOptionAction,\n ),\n withLatestFrom(this.facade.metadata$),\n map((\n [action, metadata]: [DaffCategoryPageProductCollectionActions, DaffCategoryPageMetadata],\n ): DaffCategoryIdRequest => ({\n kind: DaffCategoryRequestKind.ID,\n id: metadata.id,\n filterRequests: daffFiltersToRequests(metadata.filters),\n appliedSortOption: metadata.appliedSortOption,\n appliedSortDirection: metadata.appliedSortDirection,\n currentPage: metadata.currentPage,\n pageSize: metadata.pageSize,\n })),\n throttleTime(throttleWindow, scheduler, { leading: true, trailing: true }),\n switchMap(payload => this.driver.get(payload).pipe(\n switchMap((resp: DaffGetCategoryResponse<V, W>) => [\n new DaffProductGridLoadSuccess(resp.products),\n new DaffCategoryPageLoadSuccess(resp),\n ]),\n catchError((error: DaffError) => of(new DaffCategoryPageLoadFailure(this.errorMatcher(error)))),\n )),\n ));\n}\n","import {\n Injectable,\n Inject,\n} from '@angular/core';\nimport {\n Actions,\n createEffect,\n ofType,\n} from '@ngrx/effects';\nimport {\n of,\n Observable,\n} from 'rxjs';\nimport {\n switchMap,\n catchError,\n} from 'rxjs/operators';\n\nimport {\n DaffGenericCategory,\n DaffGetCategoryResponse,\n} from '@daffodil/category';\nimport {\n DaffCategoryDriver,\n DaffCategoryServiceInterface,\n} from '@daffodil/category/driver';\nimport { DaffError } from '@daffodil/core';\nimport { ErrorTransformer } from '@daffodil/core/state';\nimport { DaffProduct } from '@daffodil/product';\nimport { DaffProductGridLoadSuccess } from '@daffodil/product/state';\n\nimport {\n DaffCategoryPageLoadSuccess,\n DaffCategoryPageLoad,\n DaffCategoryPageLoadFailure,\n DaffCategoryPageActionTypes,\n DaffCategoryPageLoadByUrl,\n} from '../actions/category-page.actions';\nimport { DAFF_CATEGORY_ERROR_MATCHER } from '../injection-tokens/public_api';\n\n@Injectable()\nexport class DaffCategoryPageEffects<\n V extends DaffGenericCategory<V>,\n W extends DaffProduct\n> {\n constructor(\n private actions$: Actions,\n @Inject(DaffCategoryDriver) private driver: DaffCategoryServiceInterface<V, W>,\n @Inject(DAFF_CATEGORY_ERROR_MATCHER) private errorMatcher: ErrorTransformer,\n ) {}\n\n loadCategoryPage$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(DaffCategoryPageActionTypes.CategoryPageLoadAction),\n switchMap((action: DaffCategoryPageLoad) => this.driver.get(action.request).pipe(\n switchMap((resp: DaffGetCategoryResponse<V, W>) => [\n new DaffProductGridLoadSuccess(resp.products),\n new DaffCategoryPageLoadSuccess(resp),\n ]),\n catchError((error: DaffError) => of(new DaffCategoryPageLoadFailure(this.errorMatcher(error)))),\n )),\n ));\n\n\n loadCategoryPageByUrl$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(DaffCategoryPageActionTypes.CategoryPageLoadByUrlAction),\n switchMap((action: DaffCategoryPageLoadByUrl) => this.driver.getByUrl(action.request).pipe(\n switchMap((resp: DaffGetCategoryResponse<V, W>) => [\n new DaffProductGridLoadSuccess(resp.products),\n new DaffCategoryPageLoadSuccess(resp),\n ]),\n catchError((error: DaffError) => of(new DaffCategoryPageLoadFailure(this.errorMatcher(error)))),\n )),\n ));\n}\n","import {\n Injectable,\n Inject,\n} from '@angular/core';\nimport {\n Actions,\n createEffect,\n ofType,\n} from '@ngrx/effects';\nimport {\n of,\n Observable,\n} from 'rxjs';\nimport {\n switchMap,\n catchError,\n mergeMap,\n} from 'rxjs/operators';\n\nimport {\n DaffGenericCategory,\n DaffGetCategoryResponse,\n} from '@daffodil/category';\nimport {\n DaffCategoryDriver,\n DaffCategoryServiceInterface,\n} from '@daffodil/category/driver';\nimport { DaffError } from '@daffodil/core';\nimport { ErrorTransformer } from '@daffodil/core/state';\nimport { DaffProduct } from '@daffodil/product';\nimport { DaffProductGridLoadSuccess } from '@daffodil/product/state';\n\nimport {\n DaffCategoryActionTypes,\n DaffCategoryLoad,\n DaffCategoryLoadSuccess,\n DaffCategoryLoadFailure,\n} from '../actions/category.actions';\nimport { DAFF_CATEGORY_ERROR_MATCHER } from '../injection-tokens/public_api';\n\n@Injectable()\nexport class DaffCategoryEffects<\n V extends DaffGenericCategory<V>,\n W extends DaffProduct\n> {\n\n constructor(\n private actions$: Actions,\n @Inject(DaffCategoryDriver) private driver: DaffCategoryServiceInterface<V,W>,\n @Inject(DAFF_CATEGORY_ERROR_MATCHER) private errorMatcher: ErrorTransformer,\n ) {}\n\n\n loadCategory$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(DaffCategoryActionTypes.CategoryLoadAction),\n mergeMap((action: DaffCategoryLoad) => this.driver.get(action.request).pipe(\n switchMap((resp: DaffGetCategoryResponse<V,W>) => of(\n new DaffProductGridLoadSuccess(resp.products),\n new DaffCategoryLoadSuccess(resp),\n )),\n catchError((error: DaffError) => of(new DaffCategoryLoadFailure(this.errorMatcher(error)))),\n )),\n ));\n}\n","import { inject } from '@angular/core';\nimport {\n ActionReducer,\n combineReducers,\n} from '@ngrx/store';\n\n// these unused imports are a workaround\nimport { DaffCategory } from '@daffodil/category';\nimport { createSingleInjectionToken } from '@daffodil/core';\nimport { daffComposeReducers } from '@daffodil/core/state';\n\nimport { DAFF_CATEGORY_EXTRA_REDUCERS } from './extra.token';\nimport { daffCategoryReducers } from '../category-reducers';\nimport { DaffCategoryReducersState } from '../category-reducers.interface';\n\nexport const {\n /**\n * An internal token to hold the Daffodil category reducers.\n * Includes the extra and standard reducers.\n *\n * @docs-private\n */\n token: DAFF_CATEGORY_REDUCERS,\n /**\n * Provider function for {@link DAFF_CATEGORY_REDUCERS}.\n */\n provider: provideDaffCategoryReducers,\n} = createSingleInjectionToken<ActionReducer<DaffCategoryReducersState>>(\n 'DAFF_CATEGORY_REDUCERS',\n {\n providedIn: 'any',\n factory: () => daffComposeReducers([\n combineReducers(daffCategoryReducers),\n ...inject(DAFF_CATEGORY_EXTRA_REDUCERS),\n ]),\n },\n);\n","import { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport { DaffProductStateModule } from '@daffodil/product/state';\n\nimport { DaffCategoryPageMetadataEffects } from './effects/category-page-metadata.effects';\nimport { DaffCategoryPageEffects } from './effects/category-page.effects';\nimport { DaffCategoryEffects } from './effects/category.effects';\nimport { DAFF_CATEGORY_STORE_FEATURE_KEY } from './reducers/public_api';\nimport { DAFF_CATEGORY_REDUCERS } from './reducers/token/reducers.token';\n\n/**\n * A module that provides default reducers and effects for the category redux state.\n */\n@NgModule({\n imports: [\n StoreModule.forFeature(DAFF_CATEGORY_STORE_FEATURE_KEY, DAFF_CATEGORY_REDUCERS),\n EffectsModule.forFeature([DaffCategoryEffects, DaffCategoryPageEffects, DaffCategoryPageMetadataEffects]),\n DaffProductStateModule,\n ],\n})\nexport class DaffCategoryStateModule {}\n","import { DaffGenericCategory } from '@daffodil/category';\nimport {\n daffCompleteOperation,\n daffStartMutation,\n daffStartResolution,\n} from '@daffodil/core/state';\nimport { DaffProduct } from '@daffodil/product';\nimport {\n daffProductReducerInitialState,\n DaffProductReducerState,\n} from '@daffodil/product/state';\n\nimport {\n DaffCategoryPageProductCollectionActionTypes,\n DaffCategoryPageProductCollectionActions,\n} from '../actions/category-page-filter.actions';\nimport { DaffCategoryPageActions } from '../actions/category-page.actions';\nimport { DaffCategoryPageActionTypes } from '../actions/category-page.actions';\nimport { DaffCategoryActions } from '../actions/category.actions';\n\n/**\n * Modifies product state for category actions.\n */\nexport function daffCategoryProductReducer<U extends DaffGenericCategory<U>, W extends DaffProduct>(\n state: DaffProductReducerState = daffProductReducerInitialState,\n action: DaffCategoryActions<U, W> | DaffCategoryPageActions<U, W> | DaffCategoryPageProductCollectionActions,\n): DaffProductReducerState {\n switch (action.type) {\n case DaffCategoryPageActionTypes.CategoryPageLoadAction:\n case DaffCategoryPageActionTypes.CategoryPageLoadByUrlAction:\n return daffStartResolution(state);\n\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSizeAction:\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeCurrentPageAction:\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSortingOptionAction:\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageReplaceFiltersAction:\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageApplyFiltersAction:\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageClearFiltersAction:\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageRemoveFiltersAction:\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageToggleFilterAction:\n return daffStartMutation(state);\n\n case DaffCategoryPageActionTypes.CategoryPageLoadSuccessAction:\n case DaffCategoryPageActionTypes.CategoryPageLoadFailureAction:\n return daffCompleteOperation(state);\n\n default:\n return state;\n }\n}\n","import { ActionReducerMap } from '@ngrx/store';\n\nimport { daffIdentityReducer } from '@daffodil/core/state';\nimport { DaffProductReducersState } from '@daffodil/product/state';\n\nimport { daffCategoryProductReducer } from './product.reducer';\n\nexport const daffCategoryProductReducers: ActionReducerMap<DaffProductReducersState> = {\n product: daffCategoryProductReducer,\n productGrid: daffIdentityReducer,\n products: daffIdentityReducer,\n bestSellers: daffIdentityReducer,\n};\n","import { NgModule } from '@angular/core';\nimport { combineReducers } from '@ngrx/store';\n\nimport {\n daffProductProvideExtraReducers,\n DaffProductStateModule,\n} from '@daffodil/product/state';\n\nimport { daffCategoryProductReducers } from './reducers/product-reducers';\n\n/**\n * A module that provides injectable reducers into product state.\n */\n@NgModule({\n imports: [\n DaffProductStateModule,\n ],\n providers: [\n ...daffProductProvideExtraReducers(\n combineReducers(daffCategoryProductReducers),\n ),\n ],\n})\nexport class DaffCategoryProductStateModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.DaffCategoryProductCollectionFacade"],"mappings":"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"}
1
+ {"version":3,"file":"daffodil-category-state.mjs","sources":["../../../libs/category/state/src/actions/category-page-filter.actions.ts","../../../libs/category/state/src/actions/category-page.actions.ts","../../../libs/category/state/src/reducers/category-entities/category-entities-adapter.ts","../../../libs/category/state/src/reducers/category/category.reducer.ts","../../../libs/category/state/src/actions/category.actions.ts","../../../libs/category/state/src/reducers/category-entities/category-entities.reducer.ts","../../../libs/category/state/src/reducers/page-metadata/reducer.ts","../../../libs/category/state/src/reducers/category-reducers.ts","../../../libs/category/state/src/reducers/category-store-feature-key.ts","../../../libs/category/state/src/reducers/token/extra.token.ts","../../../libs/category/state/src/selectors/category-feature.selector.ts","../../../libs/category/state/src/selectors/category-entities/category-entities.selector.ts","../../../libs/category/state/src/selectors/category-page/category-page.selector.ts","../../../libs/category/state/src/selectors/collection/selectors.ts","../../../libs/category/state/src/selectors/category.selector.ts","../../../libs/category/state/src/facades/page/category.facade.ts","../../../libs/category/state/src/facades/collection/facade.ts","../../../libs/category/state/src/injection-tokens/error-matcher.token.ts","../../../libs/category/state/src/effects/category-page-metadata.effects.ts","../../../libs/category/state/src/effects/category-page.effects.ts","../../../libs/category/state/src/effects/category.effects.ts","../../../libs/category/state/src/reducers/token/reducers.token.ts","../../../libs/category/state/src/category-state.module.ts","../../../libs/category/state/src/reducers/product.reducer.ts","../../../libs/category/state/src/reducers/product-reducers.ts","../../../libs/category/state/src/product-state.module.ts","../../../libs/category/state/src/daffodil-category-state.ts"],"sourcesContent":["import { Action } from '@ngrx/store';\n\nimport { DaffCategoryRequest } from '@daffodil/category';\nimport {\n DaffFilterRequest,\n DaffFilterToggleRequest,\n} from '@daffodil/core';\n\n/**\n * The possible types of category page filter actions.\n */\nexport enum DaffCategoryPageProductCollectionActionTypes {\n CategoryPageReplaceFiltersAction = '[@daffodil/category] Category Page Replace Filters Action',\n CategoryPageApplyFiltersAction = '[@daffodil/category] Category Page Apply Filters Action',\n CategoryPageRemoveFiltersAction = '[@daffodil/category] Category Page Remove Filters Action',\n CategoryPageClearFiltersAction = '[@daffodil/category] Category Page Clear Filters Action',\n CategoryPageToggleFilterAction = '[@daffodil/category] Category Page Toggle Filter Action',\n CategoryPageChangeSizeAction = '[@daffodil/category] Category Page Change Size Action',\n CategoryPageChangeCurrentPageAction = '[@daffodil/category] Category Page Change Current Page Action',\n CategoryPageChangeSortingOptionAction = '[@daffodil/category] Category Page Change Sorting Option Action',\n}\n\n/**\n * An action for replacing the filters for the current category.\n * All existing filters will be removed and the specified filters will be applied.\n *\n * @param filters - Filters to be set on the current category.\n */\nexport class DaffCategoryPageReplaceFilters implements Action {\n readonly type = DaffCategoryPageProductCollectionActionTypes.CategoryPageReplaceFiltersAction;\n\n constructor(public filters: DaffFilterRequest[]) { }\n}\n\n/**\n * An action for applying the specified filters for the current category.\n *\n * @param filters - Filters to be applied to the current category.\n */\nexport class DaffCategoryPageApplyFilters implements Action {\n readonly type = DaffCategoryPageProductCollectionActionTypes.CategoryPageApplyFiltersAction;\n\n constructor(public filters: DaffFilterRequest[]) { }\n}\n\n/**\n * An action for removing the specified filters for the current category.\n *\n * @param filters - Filters to be removed from the current category.\n */\nexport class DaffCategoryPageRemoveFilters implements Action {\n readonly type = DaffCategoryPageProductCollectionActionTypes.CategoryPageRemoveFiltersAction;\n\n constructor(public filters: DaffFilterRequest[]) { }\n}\n\n/**\n * An action for removing all the filters for the current category.\n */\nexport class DaffCategoryPageClearFilters implements Action {\n readonly type = DaffCategoryPageProductCollectionActionTypes.CategoryPageClearFiltersAction;\n}\n\n/**\n * An action for toggling a filters for the current category.\n *\n * @param filter - Filter to be toggled on the current category.\n */\nexport class DaffCategoryPageToggleFilter implements Action {\n readonly type = DaffCategoryPageProductCollectionActionTypes.CategoryPageToggleFilterAction;\n\n constructor(public filter: DaffFilterToggleRequest) { }\n}\n\n\n/**\n * An action for changing the number of products shown on each page for the selected category.\n *\n * @param pageSize - The number of products per page.\n */\nexport class DaffCategoryPageChangePageSize implements Action {\n readonly type = DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSizeAction;\n\n constructor(public pageSize: number) { }\n}\n\n/**\n * An action for changing the current page of products for the selected category.\n *\n * @param currentPage - The current page of products for the selected category.\n */\nexport class DaffCategoryPageChangeCurrentPage implements Action {\n readonly type = DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeCurrentPageAction;\n\n constructor(public currentPage: number) { }\n}\n\n/**\n * An action for changing the sorting option for the selected category.\n *\n * @param sort - The sort option to be applied.\n */\nexport class DaffCategoryPageChangeSortingOption implements Action {\n readonly type = DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSortingOptionAction;\n\n constructor(\n public sort: {\n option: DaffCategoryRequest['appliedSortOption'];\n direction: DaffCategoryRequest['appliedSortDirection'];\n },\n ) { }\n}\n\nexport type DaffCategoryPageProductCollectionActions =\n | DaffCategoryPageReplaceFilters\n | DaffCategoryPageApplyFilters\n | DaffCategoryPageRemoveFilters\n | DaffCategoryPageClearFilters\n | DaffCategoryPageToggleFilter\n | DaffCategoryPageChangePageSize\n | DaffCategoryPageChangeCurrentPage\n | DaffCategoryPageChangeSortingOption;\n","import { Action } from '@ngrx/store';\n\nimport {\n DaffGenericCategory,\n DaffCategory,\n DaffGetCategoryResponse,\n DaffCategoryIdRequest,\n DaffCategoryUrlRequest,\n} from '@daffodil/category';\nimport { DaffStateError } from '@daffodil/core/state';\nimport { DaffProduct } from '@daffodil/product';\n\n/**\n * The possible types of category page actions.\n */\nexport enum DaffCategoryPageActionTypes {\n CategoryPageLoadAction = '[@daffodil/category] Category Page Load Action',\n CategoryPageLoadByUrlAction = '[@daffodil/category] Category Page Load By URL Action',\n CategoryPageLoadSuccessAction = '[@daffodil/category] Category Page Load Success Action',\n CategoryPageLoadFailureAction = '[@daffodil/category] Category Page Load Failure Action',\n}\n\n/**\n * An action triggered to initialize a category page load request.\n * This is intended to be used for loading full category pages.\n * Queries the category by ID.\n *\n * @param request - DaffCategoryRequest object\n */\nexport class DaffCategoryPageLoad implements Action {\n readonly type = DaffCategoryPageActionTypes.CategoryPageLoadAction;\n\n constructor(public request: DaffCategoryIdRequest) { }\n}\n\n/**\n * An action triggered to initialize a category page load request.\n * This is intended to be used for loading full category pages.\n * Queries the category by URL.\n *\n * @param request - DaffCategoryRequest object\n */\nexport class DaffCategoryPageLoadByUrl implements Action {\n readonly type = DaffCategoryPageActionTypes.CategoryPageLoadByUrlAction;\n\n constructor(public request: DaffCategoryUrlRequest) { }\n}\n\n/**\n * An action triggered upon a successful category page request.\n *\n * @param response - DaffGetCategoryResponse object\n */\nexport class DaffCategoryPageLoadSuccess<\n V extends DaffGenericCategory<V> = DaffCategory,\n W extends DaffProduct = DaffProduct\n> implements Action {\n readonly type = DaffCategoryPageActionTypes.CategoryPageLoadSuccessAction;\n\n constructor(public response: DaffGetCategoryResponse<V, W>) { }\n}\n\n/**\n * An action triggered upon a failed category page request.\n *\n * @param errorMessage - an error message\n */\nexport class DaffCategoryPageLoadFailure implements Action {\n readonly type = DaffCategoryPageActionTypes.CategoryPageLoadFailureAction;\n\n constructor(public errorMessage: DaffStateError) { }\n}\n\n\nexport type DaffCategoryPageActions<\n U extends DaffGenericCategory<U> = DaffCategory,\n W extends DaffProduct = DaffProduct\n> =\n | DaffCategoryPageLoad\n | DaffCategoryPageLoadByUrl\n | DaffCategoryPageLoadSuccess<U, W>\n | DaffCategoryPageLoadFailure;\n","import {\n EntityAdapter,\n createEntityAdapter,\n} from '@ngrx/entity';\n\nimport {\n DaffGenericCategory,\n DaffCategory,\n} from '@daffodil/category';\n\nexport function daffCategoryEntitiesAdapter<T extends DaffGenericCategory<T> = DaffCategory>(): EntityAdapter<T> {\n return createEntityAdapter<T>();\n}\n","import { DaffGenericCategory } from '@daffodil/category';\nimport {\n daffCompleteOperation,\n daffOperationFailed,\n daffOperationInitialState,\n daffStartMutation,\n daffStartResolution,\n} from '@daffodil/core/state';\nimport { DaffProduct } from '@daffodil/product';\n\nimport { DaffCategoryReducerState } from './category-reducer-state.interface';\nimport {\n DaffCategoryPageProductCollectionActionTypes,\n DaffCategoryPageProductCollectionActions,\n} from '../../actions/category-page-filter.actions';\nimport { DaffCategoryPageActions } from '../../actions/category-page.actions';\nimport { DaffCategoryPageActionTypes } from '../../actions/category-page.actions';\nimport { DaffCategoryActions } from '../../actions/category.actions';\n\nexport const daffCategoryInitialState: DaffCategoryReducerState = {\n ...daffOperationInitialState,\n id: null,\n};\n\n/**\n * Returns the state for category data except for category entities.\n */\nexport function daffCategoryReducer<U extends DaffGenericCategory<U>, W extends DaffProduct>(\n state = daffCategoryInitialState,\n action: DaffCategoryActions<U, W> | DaffCategoryPageActions<U, W> | DaffCategoryPageProductCollectionActions,\n): DaffCategoryReducerState {\n switch (action.type) {\n case DaffCategoryPageActionTypes.CategoryPageLoadAction:\n case DaffCategoryPageActionTypes.CategoryPageLoadByUrlAction:\n return {\n ...daffStartResolution(state),\n id: null,\n };\n\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSizeAction:\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeCurrentPageAction:\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSortingOptionAction:\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageReplaceFiltersAction:\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageApplyFiltersAction:\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageClearFiltersAction:\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageRemoveFiltersAction:\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageToggleFilterAction:\n return daffStartMutation(state);\n\n case DaffCategoryPageActionTypes.CategoryPageLoadSuccessAction:\n return {\n ...daffCompleteOperation(state),\n id: action.response.category.id,\n };\n\n case DaffCategoryPageActionTypes.CategoryPageLoadFailureAction:\n return daffOperationFailed([action.errorMessage], state);\n\n default:\n return state;\n }\n}\n","import { Action } from '@ngrx/store';\n\nimport {\n DaffGenericCategory,\n DaffCategory,\n DaffGetCategoryResponse,\n DaffCategoryIdRequest,\n} from '@daffodil/category';\nimport { DaffStateError } from '@daffodil/core/state';\nimport { DaffProduct } from '@daffodil/product';\n\n/**\n * The possible types of category actions.\n */\nexport enum DaffCategoryActionTypes {\n CategoryLoadAction = '[@daffodil/category] Category Load Action',\n CategoryLoadSuccessAction = '[@daffodil/category] Category Load Success Action',\n CategoryLoadFailureAction = '[@daffodil/category] Category Load Failure Action'\n}\n\n/**\n * An action triggered to initialize a category load request.\n *\n * @param request - DaffCategoryRequest object\n */\nexport class DaffCategoryLoad implements Action {\n readonly type = DaffCategoryActionTypes.CategoryLoadAction;\n\n constructor(public request: DaffCategoryIdRequest) { }\n}\n\n/**\n * An action triggered upon a successful category request.\n *\n * @param response - DaffGetCategoryResponse object\n */\nexport class DaffCategoryLoadSuccess<\n V extends DaffGenericCategory<V> = DaffCategory,\n W extends DaffProduct = DaffProduct\n> implements Action {\n readonly type = DaffCategoryActionTypes.CategoryLoadSuccessAction;\n\n constructor(public response: DaffGetCategoryResponse<V, W>) { }\n}\n\n/**\n * An action triggered upon a failed category request.\n *\n * @param errorMessage - an error message\n */\nexport class DaffCategoryLoadFailure implements Action {\n readonly type = DaffCategoryActionTypes.CategoryLoadFailureAction;\n\n constructor(public errorMessage: DaffStateError) { }\n}\n\nexport type DaffCategoryActions<\n U extends DaffGenericCategory<U> = DaffCategory,\n W extends DaffProduct = DaffProduct\n> =\n | DaffCategoryLoad\n | DaffCategoryLoadSuccess<U, W>\n | DaffCategoryLoadFailure;\n","import { EntityState } from '@ngrx/entity';\n\nimport {\n DaffGenericCategory,\n DaffCategory,\n} from '@daffodil/category';\nimport { DaffProduct } from '@daffodil/product';\n\nimport { daffCategoryEntitiesAdapter } from './category-entities-adapter';\nimport {\n DaffCategoryPageActionTypes,\n DaffCategoryPageActions,\n} from '../../actions/category-page.actions';\nimport {\n DaffCategoryActionTypes,\n DaffCategoryActions,\n} from '../../actions/category.actions';\n\n/**\n * A reducer function to store category entities from DaffCategoryLoadSuccess and DaffCategoryPageLoadSuccess actions.\n */\nexport function daffCategoryEntitiesReducer<\n V extends DaffGenericCategory<V> = DaffCategory,\n W extends DaffProduct = DaffProduct\n>(\n state = daffCategoryEntitiesAdapter<V>().getInitialState(),\n action: DaffCategoryActions<V,W> | DaffCategoryPageActions<V,W>,\n): EntityState<V> {\n switch (action.type) {\n case DaffCategoryActionTypes.CategoryLoadSuccessAction:\n case DaffCategoryPageActionTypes.CategoryPageLoadSuccessAction:\n return daffCategoryEntitiesAdapter<V>().upsertOne(\n {\n id: action.response.category.id,\n ...action.response.category,\n },\n state,\n );\n default:\n return state;\n }\n}\n","import { DaffGenericCategory } from '@daffodil/category';\nimport {\n daffApplyRequestsToFilters,\n daffClearFilters,\n daffRemoveRequestsFromFilters,\n daffToggleRequestOnFilters,\n} from '@daffodil/core';\nimport {\n daffCollectionReducerInitialState,\n getCollectionStateAdapter,\n} from '@daffodil/core/state';\nimport { DaffProduct } from '@daffodil/product';\n\nimport { DaffCategoryPageMetadataReducerState } from './state.interface';\nimport {\n DaffCategoryPageProductCollectionActionTypes,\n DaffCategoryPageProductCollectionActions,\n} from '../../actions/category-page-filter.actions';\nimport { DaffCategoryPageActions } from '../../actions/category-page.actions';\nimport { DaffCategoryPageActionTypes } from '../../actions/category-page.actions';\nimport { DaffCategoryActions } from '../../actions/category.actions';\n\nexport const daffCategoryPageMetadataInitialState: DaffCategoryPageMetadataReducerState = {\n ...daffCollectionReducerInitialState,\n id: null,\n};\n\n/**\n * Returns the state for category data except for category entities.\n */\nexport function daffCategoryPageMetadataReducer<U extends DaffGenericCategory<U>, W extends DaffProduct>(\n state = daffCategoryPageMetadataInitialState,\n action: DaffCategoryActions<U, W> | DaffCategoryPageActions<U, W> | DaffCategoryPageProductCollectionActions,\n): DaffCategoryPageMetadataReducerState {\n const adapter = getCollectionStateAdapter<DaffCategoryPageMetadataReducerState>();\n switch (action.type) {\n case DaffCategoryPageActionTypes.CategoryPageLoadAction:\n case DaffCategoryPageActionTypes.CategoryPageLoadByUrlAction:\n return {\n ...adapter.storeRequest(action.request, daffCategoryPageMetadataInitialState),\n id: null,\n };\n\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSizeAction:\n return adapter.setPageSize(action.pageSize, state);\n\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeCurrentPageAction:\n return adapter.setCurrentPage(action.currentPage, state);\n\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSortingOptionAction:\n return adapter.setSort(action.sort.option, action.sort.direction, state);\n\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageReplaceFiltersAction:\n return adapter.setFilters(daffApplyRequestsToFilters(action.filters, daffClearFilters(state.filters)), state);\n\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageApplyFiltersAction:\n return adapter.setFilters(daffApplyRequestsToFilters(action.filters, state.filters), state);\n\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageClearFiltersAction:\n return adapter.setFilters(daffClearFilters(state.filters), state);\n\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageRemoveFiltersAction:\n return adapter.setFilters(daffRemoveRequestsFromFilters(action.filters, state.filters), state);\n\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageToggleFilterAction:\n return adapter.setFilters(daffToggleRequestOnFilters(action.filter, state.filters), state);\n\n case DaffCategoryPageActionTypes.CategoryPageLoadSuccessAction:\n return {\n ...adapter.setMetadata({\n currentPage: action.response.categoryPageMetadata.currentPage,\n pageSize: action.response.categoryPageMetadata.pageSize,\n filters: action.response.categoryPageMetadata.filters,\n sortOptions: action.response.categoryPageMetadata.sortOptions,\n totalPages: action.response.categoryPageMetadata.totalPages,\n count: action.response.categoryPageMetadata.count,\n ids: action.response.categoryPageMetadata.ids,\n appliedSortOption: action.response.categoryPageMetadata.appliedSortOption || action.response.categoryPageMetadata.sortOptions.default,\n appliedSortDirection: action.response.categoryPageMetadata.appliedSortDirection,\n }, state),\n id: action.response.categoryPageMetadata.id,\n };\n\n default:\n return state;\n }\n}\n","import { ActionReducerMap } from '@ngrx/store';\n\nimport { daffCategoryReducer } from './category/category.reducer';\nimport { daffCategoryEntitiesReducer } from './category-entities/category-entities.reducer';\nimport { DaffCategoryReducersState } from './category-reducers.interface';\nimport { daffCategoryPageMetadataReducer } from './page-metadata/reducer';\n\n/**\n * All daffodil defined category reducers.\n */\nexport const daffCategoryReducers: ActionReducerMap<DaffCategoryReducersState> = {\n category: daffCategoryReducer,\n categoryEntities: daffCategoryEntitiesReducer,\n pageMetadata: daffCategoryPageMetadataReducer,\n};\n","/**\n * The key for the slice of category related redux state in the global redux state object.\n */\nexport const DAFF_CATEGORY_STORE_FEATURE_KEY = 'daffCategory';\n","import { ActionReducer } from '@ngrx/store';\n\nimport { createMultiInjectionToken } from '@daffodil/core';\n\nimport { DaffCategoryReducersState } from '../category-reducers.interface';\n\nexport const {\n /**\n * A token to hold the injectable extra reducers.\n *\n * Prefer using {@link daffCategoryProvideExtraReducers}.\n */\n token: DAFF_CATEGORY_EXTRA_REDUCERS,\n /**\n * Provides additional reducers that run after the standard Daffodil category reducers.\n *\n * @example\n * ```ts\n * providers: [\n * ...daffCategoryProvideExtraReducers(\n * myReducer1,\n * myReducer2\n * )\n * ]\n * ```\n */\n provider: daffCategoryProvideExtraReducers,\n} = createMultiInjectionToken<ActionReducer<DaffCategoryReducersState>>(\n 'DAFF_CATEGORY_EXTRA_REDUCERS',\n { providedIn: 'any' },\n);\n","import {\n createFeatureSelector,\n MemoizedSelector,\n} from '@ngrx/store';\n\nimport {\n DaffGenericCategory,\n DaffCategory,\n} from '@daffodil/category';\n\nimport {\n DaffCategoryReducersState,\n DAFF_CATEGORY_STORE_FEATURE_KEY,\n DaffCategoryStateRootSlice,\n} from '../reducers/public_api';\n\n/**\n * An interface for the entire category feature state.\n */\nexport interface DaffCategoryFeatureMemoizedSelectors<\n V extends DaffGenericCategory<V> = DaffCategory,\n> {\n selectCategoryFeatureState: MemoizedSelector<DaffCategoryStateRootSlice<V>, DaffCategoryReducersState<V>>;\n}\n\n/**\n * A function that returns a selector for the entire category feature state.\n */\nexport const getDaffCategoryFeatureSelector = (() => {\n let cache;\n return <V extends DaffGenericCategory<V>>(): DaffCategoryFeatureMemoizedSelectors<V> => cache = cache\n ? cache\n : { selectCategoryFeatureState: createFeatureSelector<DaffCategoryStateRootSlice<V>,DaffCategoryReducersState<V>>(DAFF_CATEGORY_STORE_FEATURE_KEY) };\n})();\n","import {\n Dictionary,\n EntityState,\n} from '@ngrx/entity';\nimport {\n createSelector,\n MemoizedSelector,\n} from '@ngrx/store';\n\nimport {\n DaffGenericCategory,\n DaffCategory,\n} from '@daffodil/category';\n\nimport { daffCategoryEntitiesAdapter } from '../../reducers/category-entities/category-entities-adapter';\nimport { DaffCategoryReducersState } from '../../reducers/category-reducers.interface';\nimport { DaffCategoryStateRootSlice } from '../../reducers/public_api';\nimport { getDaffCategoryFeatureSelector } from '../category-feature.selector';\n\n/**\n * An interface to describe all selectors related to category ngrx entities state.\n */\nexport interface DaffCategoryEntitiesMemoizedSelectors<V extends DaffGenericCategory<V> = DaffCategory> {\n /**\n * Selects ngrx category entities state.\n */\n selectCategoryEntitiesState: MemoizedSelector<DaffCategoryStateRootSlice<V>, EntityState<V>>;\n /**\n * Selects the ids of all categories in state.\n */\n selectCategoryIds: MemoizedSelector<DaffCategoryStateRootSlice<V>, string[] | number[]>;\n /**\n * Selects all categories in state as a dictionary.\n */\n selectCategoryEntities: MemoizedSelector<DaffCategoryStateRootSlice<V>, Dictionary<V>>;\n /**\n * Selects all categories in state as an array.\n */\n selectAllCategories: MemoizedSelector<DaffCategoryStateRootSlice<V>, V[]>;\n /**\n * Selects the total number of categories in state.\n */\n selectCategoryTotal: MemoizedSelector<DaffCategoryStateRootSlice<V>, number>;\n}\n\nconst createCategoryFeatureSelectors = <V extends DaffGenericCategory<V>>(): DaffCategoryEntitiesMemoizedSelectors<V> => {\n\n const entitiesSelectors = daffCategoryEntitiesAdapter<V>().getSelectors();\n const categoryFeatureState = getDaffCategoryFeatureSelector<V>().selectCategoryFeatureState;\n\n const selectCategoryEntitiesState = createSelector(\n categoryFeatureState,\n (state: DaffCategoryReducersState<V>) => state.categoryEntities,\n );\n\n const selectCategoryIds = createSelector(\n selectCategoryEntitiesState,\n entitiesSelectors.selectIds,\n );\n\n const selectCategoryEntities = createSelector(\n selectCategoryEntitiesState,\n entitiesSelectors.selectEntities,\n );\n\n const selectAllCategories = createSelector(\n selectCategoryEntitiesState,\n entitiesSelectors.selectAll,\n );\n\n const selectCategoryTotal = createSelector(\n selectCategoryEntitiesState,\n entitiesSelectors.selectTotal,\n );\n\n return {\n selectCategoryEntitiesState,\n selectCategoryIds,\n selectCategoryEntities,\n selectAllCategories,\n selectCategoryTotal,\n };\n};\n\n/**\n * A function that returns all selectors related to category entities.\n */\nexport const getDaffCategoryEntitiesSelectors = (() => {\n let cache;\n return <V extends DaffGenericCategory<V>>(): DaffCategoryEntitiesMemoizedSelectors<V> => cache = cache\n ? cache\n : createCategoryFeatureSelectors<V>();\n})();\n","import {\n createSelector,\n MemoizedSelector,\n} from '@ngrx/store';\n\nimport {\n DaffGenericCategory,\n DaffCategory,\n DaffCategoryPageMetadata,\n} from '@daffodil/category';\nimport {\n daffOperationStateSelectorFactory,\n DaffOperationStateSelectors,\n} from '@daffodil/core/state';\n\nimport {\n DaffCategoryReducerState,\n DaffCategoryReducersState,\n DaffCategoryStateRootSlice,\n} from '../../reducers/public_api';\nimport { getDaffCategoryFeatureSelector } from '../category-feature.selector';\n\n/**\n * An interface to describe all selectors related to the category page metadata, category loading, and errors.\n */\nexport interface DaffCategoryPageMemoizedSelectors<\n V extends DaffGenericCategory<V> = DaffCategory\n> extends DaffOperationStateSelectors<DaffCategoryStateRootSlice<V>, DaffCategoryReducerState> {\n /**\n * Selects all state related to the category page metadata, category loading, and errors.\n */\n selectCategoryState: MemoizedSelector<DaffCategoryStateRootSlice<V>, DaffCategoryReducerState>;\n /**\n * Selects the ids of all products in the current category page.\n */\n selectCategoryPageProductIds: MemoizedSelector<DaffCategoryStateRootSlice<V>, DaffCategoryPageMetadata['ids']>;\n /**\n * Selects whether the category page has no products.\n */\n selectIsCategoryPageEmpty: MemoizedSelector<DaffCategoryStateRootSlice<V>, boolean>;\n /**\n * Selects the id of the current category.\n */\n selectCurrentCategoryId: MemoizedSelector<DaffCategoryStateRootSlice<V>, DaffCategoryPageMetadata['id']>;\n}\n\nconst createCategoryPageSelectors = <V extends DaffGenericCategory<V>>(): DaffCategoryPageMemoizedSelectors<V> => {\n const selectCategoryFeatureState = getDaffCategoryFeatureSelector<V>().selectCategoryFeatureState;\n\n const selectCategoryState = createSelector(\n selectCategoryFeatureState,\n (state: DaffCategoryReducersState<V>) => state.category,\n );\n\n const selectCategoryPageMetadata = createSelector(\n selectCategoryFeatureState,\n (state: DaffCategoryReducersState<V>) => state.pageMetadata,\n );\n\n const selectCategoryPageProductIds = createSelector(\n selectCategoryPageMetadata,\n (state: DaffCategoryPageMetadata) => state.ids,\n );\n\n const selectIsCategoryPageEmpty = createSelector<DaffCategoryStateRootSlice<V>, [ V['product_ids']], boolean>(\n selectCategoryPageProductIds,\n (state: V['product_ids']) => !state.length,\n );\n\n const selectCurrentCategoryId = createSelector(\n selectCategoryState,\n (state: DaffCategoryReducerState) => state.id,\n );\n\n\n return {\n ...daffOperationStateSelectorFactory(selectCategoryState),\n selectCategoryState,\n selectCategoryPageProductIds,\n selectIsCategoryPageEmpty,\n selectCurrentCategoryId,\n };\n};\n\n/**\n * A function that returns all selectors related to the category page metadata, category loading, and errors.\n * Returns {@link DaffCategoryPageMemoizedSelectors}.\n */\nexport const getDaffCategoryPageSelectors = (() => {\n let cache;\n return <V extends DaffGenericCategory<V>>(): DaffCategoryPageMemoizedSelectors<V> => cache = cache\n ? cache\n : createCategoryPageSelectors<V>();\n})();\n","import { createSelector } from '@ngrx/store';\n\nimport { DaffCategoryPageMetadata } from '@daffodil/category';\nimport {\n DaffCollectionMemoizedSelectors,\n daffCollectionSelectorFactory,\n} from '@daffodil/core/state';\n\nimport { DaffCategoryStateRootSlice } from '../../reducers/public_api';\nimport { getDaffCategoryFeatureSelector } from '../category-feature.selector';\n\nexport type DaffCategoryPageProductCollectionSelectors = DaffCollectionMemoizedSelectors<DaffCategoryStateRootSlice, DaffCategoryPageMetadata>;\n\nconst {\n selectCategoryFeatureState,\n} = getDaffCategoryFeatureSelector();\n\nconst selectCategoryProductCollectionState = createSelector(\n selectCategoryFeatureState,\n state => state.pageMetadata,\n);\n\nexport const getCategoryProductCollectionSelectors = (() => {\n let cache;\n return (): DaffCategoryPageProductCollectionSelectors =>\n cache = cache || daffCollectionSelectorFactory<DaffCategoryStateRootSlice, DaffCategoryPageMetadata>(selectCategoryProductCollectionState);\n})();\n","import { Dictionary } from '@ngrx/entity';\nimport {\n createSelector,\n MemoizedSelector,\n defaultMemoize,\n} from '@ngrx/store';\n\nimport {\n DaffGenericCategory,\n DaffCategory,\n} from '@daffodil/category';\nimport { DaffProduct } from '@daffodil/product';\nimport { getDaffProductSelectors } from '@daffodil/product/state';\n\nimport { DaffCategoryEntitiesMemoizedSelectors } from './category-entities/category-entities.selector';\nimport { getDaffCategoryEntitiesSelectors } from './category-entities/category-entities.selector';\nimport {\n DaffCategoryFeatureMemoizedSelectors,\n getDaffCategoryFeatureSelector,\n} from './category-feature.selector';\nimport {\n DaffCategoryPageMemoizedSelectors,\n getDaffCategoryPageSelectors,\n} from './category-page/category-page.selector';\nimport {\n DaffCategoryPageProductCollectionSelectors,\n getCategoryProductCollectionSelectors,\n} from './collection/selectors';\nimport { DaffCategoryStateRootSlice } from '../reducers/public_api';\n\n/**\n * An interface for selectors that combine category metadata and category entities selectors.\n */\nexport interface DaffCategoryMemoizedSelectors<\n V extends DaffGenericCategory<V> = DaffCategory,\n W extends DaffProduct = DaffProduct\n> extends\n DaffCategoryFeatureMemoizedSelectors<V>,\n DaffCategoryPageMemoizedSelectors<V>,\n DaffCategoryPageProductCollectionSelectors,\n DaffCategoryEntitiesMemoizedSelectors<V> {\n /**\n * Selects the current category\n */\n selectCurrentCategory: MemoizedSelector<DaffCategoryStateRootSlice<V>, V>;\n /**\n * Selects the products of the current category.\n */\n selectCategoryPageProducts: MemoizedSelector<DaffCategoryStateRootSlice<V, W>, W[]>;\n /**\n * Selects a category by id.\n *\n * @param categoryId a category id.\n */\n selectCategory: (categoryId: V['id']) => MemoizedSelector<DaffCategoryStateRootSlice<V>, V>;\n /**\n * Selects products by category id.\n *\n * @param categoryId a category id.\n */\n selectProductsByCategory: (categoryId: V['id']) => MemoizedSelector<DaffCategoryStateRootSlice<V, W>, W[]>;\n /**\n * Selects the total number of products in a category.\n *\n * @param categoryId a category id.\n */\n selectTotalProductsByCategory: (categoryId: V['id']) => MemoizedSelector<DaffCategoryStateRootSlice<V>, number>;\n}\n\nconst createCategorySelectors = <V extends DaffGenericCategory<V>, W extends DaffProduct>(): DaffCategoryMemoizedSelectors<V, W> => {\n const { selectAllProducts,selectProductEntities } = getDaffProductSelectors<W>();\n\n const {\n selectCategoryEntities,\n } = getDaffCategoryEntitiesSelectors<V>();\n const {\n selectCurrentCategoryId,\n selectCategoryPageProductIds,\n } = getDaffCategoryPageSelectors<V>();\n /**\n * Combinatoric Category Selectors\n */\n const selectCurrentCategory = createSelector<DaffCategoryStateRootSlice<V, W>, [Dictionary<V>, string], V>(\n selectCategoryEntities,\n selectCurrentCategoryId,\n (entities: Dictionary<V>, currentCategoryId: V['id']) => entities[currentCategoryId],\n );\n\n const selectCategoryPageProducts = createSelector<DaffCategoryStateRootSlice<V, W>, [string[], Dictionary<W>], W[]>(\n selectCategoryPageProductIds,\n selectProductEntities,\n (ids, products: Dictionary<W>) => ids.map(id => products[id]).filter(p => p != null),\n );\n\n const selectCategory: (categoryId: V['id']) => MemoizedSelector<DaffCategoryStateRootSlice<V>, V> =\n defaultMemoize((categoryId: V['id']) => createSelector(\n selectCategoryEntities,\n (entities: Dictionary<V>) => entities[categoryId],\n )).memoized;\n\n const selectProductsByCategory = defaultMemoize((categoryId: V['id']) => createSelector<DaffCategoryStateRootSlice<V, W>, [V, W[]], W[]>(\n selectCategory(categoryId),\n selectAllProducts,\n (category, products) => category?.product_ids\n ? products.filter(product => category.product_ids.indexOf(product.id) >= 0)\n : [],\n )).memoized;\n\n const selectTotalProductsByCategory = defaultMemoize((categoryId: V['id']) => createSelector(\n selectProductsByCategory(categoryId),\n (products: DaffProduct[]) => products.length,\n )).memoized;\n\n return {\n ...getDaffCategoryFeatureSelector<V>(),\n ...getDaffCategoryEntitiesSelectors<V>(),\n ...getDaffCategoryPageSelectors<V>(),\n ...getCategoryProductCollectionSelectors(),\n selectCurrentCategory,\n selectCategoryPageProducts,\n selectCategory,\n selectProductsByCategory,\n selectTotalProductsByCategory,\n };\n};\n\n/**\n * A function that returns all combinatoric category selectors.\n */\nexport const getDaffCategorySelectors = (() => {\n let cache;\n return <\n V extends DaffGenericCategory<V> = DaffCategory,\n W extends DaffProduct = DaffProduct\n >(): DaffCategoryMemoizedSelectors<V, W> => cache = cache\n ? cache\n : createCategorySelectors<V, W>();\n})();\n","import { Injectable } from '@angular/core';\nimport {\n Store,\n select,\n Action,\n} from '@ngrx/store';\nimport { Observable } from 'rxjs';\n\nimport {\n DaffGenericCategory,\n DaffCategory,\n} from '@daffodil/category';\nimport { DaffStateError } from '@daffodil/core/state';\nimport { DaffProduct } from '@daffodil/product';\n\nimport { DaffCategoryFacadeInterface } from './category-facade.interface';\nimport {\n DaffCategoryStateRootSlice,\n DaffCategoryReducerState,\n} from '../../reducers/public_api';\nimport { getDaffCategorySelectors } from '../../selectors/category.selector';\n\n/**\n * A facade for interacting with the category state.\n * This facade exposes many parts of the state for easy access and allows dispatching of actions.\n *\n * @inheritdoc\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryFacade<\n V extends DaffGenericCategory<V> = DaffCategory,\n W extends DaffProduct = DaffProduct\n> implements DaffCategoryFacadeInterface<V, W> {\n private categorySelectors = getDaffCategorySelectors<V,W>();\n\n category$: Observable<V>;\n loadingState$: Observable<DaffCategoryReducerState['daffState']>;\n loading$: Observable<boolean>;\n mutating$: Observable<boolean>;\n resolving$: Observable<boolean>;\n products$: Observable<W[]>;\n errors$: Observable<DaffStateError[]>;\n hasErrors$: Observable<boolean>;\n isCategoryEmpty$: Observable<boolean>;\n\n getCategoryById(id: V['id']): Observable<V> {\n return this.store.pipe(select(this.categorySelectors.selectCategory(id)));\n }\n\n getProductsByCategory(categoryId: V['id']): Observable<W[]> {\n return this.store.pipe(select(this.categorySelectors.selectProductsByCategory(categoryId)));\n }\n\n getTotalProductsByCategory(categoryId: V['id']): Observable<number> {\n return this.store.pipe(select(this.categorySelectors.selectTotalProductsByCategory(categoryId)));\n }\n\n constructor(private store: Store<DaffCategoryStateRootSlice<V, W>>) {\n this.category$ = this.store.pipe(select(this.categorySelectors.selectCurrentCategory));\n this.products$ = this.store.pipe(select(this.categorySelectors.selectCategoryPageProducts));\n this.loadingState$ = this.store.pipe(select(this.categorySelectors.selectLoadingState));\n this.loading$ = this.store.pipe(select(this.categorySelectors.selectLoading));\n this.mutating$ = this.store.pipe(select(this.categorySelectors.selectMutating));\n this.resolving$ = this.store.pipe(select(this.categorySelectors.selectResolving));\n this.errors$ = this.store.pipe(select(this.categorySelectors.selectErrors));\n this.hasErrors$ = this.store.pipe(select(this.categorySelectors.selectHasErrors));\n this.isCategoryEmpty$ = this.store.pipe(select(this.categorySelectors.selectIsCategoryPageEmpty));\n }\n\n /**\n * Dispatches the given action.\n *\n * @param action action to dispatch.\n */\n dispatch(action: Action) {\n this.store.dispatch(action);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\n\nimport {\n DaffCollectionFacade,\n DaffCollectionFacadeInterface,\n} from '@daffodil/core/state';\n\nimport { DaffCategoryStateRootSlice } from '../../reducers/public_api';\nimport { getCategoryProductCollectionSelectors } from '../../selectors/collection/selectors';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class DaffCategoryProductCollectionFacade extends DaffCollectionFacade<DaffCategoryStateRootSlice> implements DaffCollectionFacadeInterface {\n constructor(\n store: Store<DaffCategoryStateRootSlice>,\n ) {\n super(\n store,\n getCategoryProductCollectionSelectors(),\n );\n }\n}\n","import { createSingleInjectionToken } from '@daffodil/core';\nimport { daffTransformErrorToStateError } from '@daffodil/core/state';\n\nexport const {\n /**\n * Transforms `DaffError`s into `DaffStateError`s before they are serialized into state.\n * Can be used to further refine Daffodil errors into more specific app errors.\n */\n token: DAFF_CATEGORY_ERROR_MATCHER,\n /**\n * Provider function for {@link DAFF_CATEGORY_ERROR_MATCHER}.\n */\n provider: provideDaffCategoryErrorMatcher,\n} = createSingleInjectionToken<typeof daffTransformErrorToStateError>(\n 'DAFF_CATEGORY_ERROR_MATCHER',\n { factory: () => daffTransformErrorToStateError },\n);\n","import {\n Injectable,\n Inject,\n} from '@angular/core';\nimport {\n Actions,\n createEffect,\n ofType,\n} from '@ngrx/effects';\nimport {\n of,\n Observable,\n asyncScheduler,\n} from 'rxjs';\nimport { AsyncScheduler } from 'rxjs/internal/scheduler/AsyncScheduler';\nimport {\n switchMap,\n catchError,\n map,\n throttleTime,\n withLatestFrom,\n} from 'rxjs/operators';\n\nimport {\n DaffGenericCategory,\n DaffGetCategoryResponse,\n DaffCategoryRequestKind,\n DaffCategoryIdRequest,\n} from '@daffodil/category';\nimport { DaffCategoryPageMetadata } from '@daffodil/category';\nimport {\n DaffCategoryDriver,\n DaffCategoryServiceInterface,\n} from '@daffodil/category/driver';\nimport {\n DaffError,\n daffFiltersToRequests,\n} from '@daffodil/core';\nimport { ErrorTransformer } from '@daffodil/core/state';\nimport { DaffProduct } from '@daffodil/product';\nimport { DaffProductGridLoadSuccess } from '@daffodil/product/state';\n\nimport {\n DaffCategoryPageProductCollectionActionTypes,\n DaffCategoryPageProductCollectionActions,\n} from '../actions/category-page-filter.actions';\nimport {\n DaffCategoryPageLoadSuccess,\n DaffCategoryPageLoadFailure,\n} from '../actions/category-page.actions';\nimport { DaffCategoryProductCollectionFacade } from '../facades/public_api';\nimport { DAFF_CATEGORY_ERROR_MATCHER } from '../injection-tokens/public_api';\n\n@Injectable()\nexport class DaffCategoryPageMetadataEffects<\n V extends DaffGenericCategory<V>,\n W extends DaffProduct\n> {\n\n constructor(\n private actions$: Actions,\n @Inject(DaffCategoryDriver) private driver: DaffCategoryServiceInterface<V, W>,\n @Inject(DAFF_CATEGORY_ERROR_MATCHER) private errorMatcher: ErrorTransformer,\n private facade: DaffCategoryProductCollectionFacade,\n ){}\n\n /**\n * Updates the filters applied to the category page. It will take the currently\n * applied filters from state, form them into a request, and attempt to apply\n * that request to a backend service.\n *\n * @param throttleWindow the amount of time to delay when apply/removing filters\n * in a sequence.\n */\n\n update$: (throttleWindow: number, scheduler: AsyncScheduler) => Observable<\n DaffProductGridLoadSuccess\n | DaffCategoryPageLoadSuccess\n | DaffCategoryPageLoadFailure\n > = createEffect(() => (throttleWindow = 300, scheduler = asyncScheduler) => this.actions$.pipe(\n ofType(\n DaffCategoryPageProductCollectionActionTypes.CategoryPageReplaceFiltersAction,\n DaffCategoryPageProductCollectionActionTypes.CategoryPageApplyFiltersAction,\n DaffCategoryPageProductCollectionActionTypes.CategoryPageClearFiltersAction,\n DaffCategoryPageProductCollectionActionTypes.CategoryPageRemoveFiltersAction,\n DaffCategoryPageProductCollectionActionTypes.CategoryPageToggleFilterAction,\n DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSizeAction,\n DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeCurrentPageAction,\n DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSortingOptionAction,\n ),\n withLatestFrom(this.facade.metadata$),\n map((\n [action, metadata]: [DaffCategoryPageProductCollectionActions, DaffCategoryPageMetadata],\n ): DaffCategoryIdRequest => ({\n kind: DaffCategoryRequestKind.ID,\n id: metadata.id,\n filterRequests: daffFiltersToRequests(metadata.filters),\n appliedSortOption: metadata.appliedSortOption,\n appliedSortDirection: metadata.appliedSortDirection,\n currentPage: metadata.currentPage,\n pageSize: metadata.pageSize,\n })),\n throttleTime(throttleWindow, scheduler, { leading: true, trailing: true }),\n switchMap(payload => this.driver.get(payload).pipe(\n switchMap((resp: DaffGetCategoryResponse<V, W>) => [\n new DaffProductGridLoadSuccess(resp.products),\n new DaffCategoryPageLoadSuccess(resp),\n ]),\n catchError((error: DaffError) => of(new DaffCategoryPageLoadFailure(this.errorMatcher(error)))),\n )),\n ));\n}\n","import {\n Injectable,\n Inject,\n} from '@angular/core';\nimport {\n Actions,\n createEffect,\n ofType,\n} from '@ngrx/effects';\nimport {\n of,\n Observable,\n} from 'rxjs';\nimport {\n switchMap,\n catchError,\n} from 'rxjs/operators';\n\nimport {\n DaffGenericCategory,\n DaffGetCategoryResponse,\n} from '@daffodil/category';\nimport {\n DaffCategoryDriver,\n DaffCategoryServiceInterface,\n} from '@daffodil/category/driver';\nimport { DaffError } from '@daffodil/core';\nimport { ErrorTransformer } from '@daffodil/core/state';\nimport { DaffProduct } from '@daffodil/product';\nimport { DaffProductGridLoadSuccess } from '@daffodil/product/state';\n\nimport {\n DaffCategoryPageLoadSuccess,\n DaffCategoryPageLoad,\n DaffCategoryPageLoadFailure,\n DaffCategoryPageActionTypes,\n DaffCategoryPageLoadByUrl,\n} from '../actions/category-page.actions';\nimport { DAFF_CATEGORY_ERROR_MATCHER } from '../injection-tokens/public_api';\n\n@Injectable()\nexport class DaffCategoryPageEffects<\n V extends DaffGenericCategory<V>,\n W extends DaffProduct\n> {\n constructor(\n private actions$: Actions,\n @Inject(DaffCategoryDriver) private driver: DaffCategoryServiceInterface<V, W>,\n @Inject(DAFF_CATEGORY_ERROR_MATCHER) private errorMatcher: ErrorTransformer,\n ) {}\n\n loadCategoryPage$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(DaffCategoryPageActionTypes.CategoryPageLoadAction),\n switchMap((action: DaffCategoryPageLoad) => this.driver.get(action.request).pipe(\n switchMap((resp: DaffGetCategoryResponse<V, W>) => [\n new DaffProductGridLoadSuccess(resp.products),\n new DaffCategoryPageLoadSuccess(resp),\n ]),\n catchError((error: DaffError) => of(new DaffCategoryPageLoadFailure(this.errorMatcher(error)))),\n )),\n ));\n\n\n loadCategoryPageByUrl$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(DaffCategoryPageActionTypes.CategoryPageLoadByUrlAction),\n switchMap((action: DaffCategoryPageLoadByUrl) => this.driver.getByUrl(action.request).pipe(\n switchMap((resp: DaffGetCategoryResponse<V, W>) => [\n new DaffProductGridLoadSuccess(resp.products),\n new DaffCategoryPageLoadSuccess(resp),\n ]),\n catchError((error: DaffError) => of(new DaffCategoryPageLoadFailure(this.errorMatcher(error)))),\n )),\n ));\n}\n","import {\n Injectable,\n Inject,\n} from '@angular/core';\nimport {\n Actions,\n createEffect,\n ofType,\n} from '@ngrx/effects';\nimport {\n of,\n Observable,\n} from 'rxjs';\nimport {\n switchMap,\n catchError,\n mergeMap,\n} from 'rxjs/operators';\n\nimport {\n DaffGenericCategory,\n DaffGetCategoryResponse,\n} from '@daffodil/category';\nimport {\n DaffCategoryDriver,\n DaffCategoryServiceInterface,\n} from '@daffodil/category/driver';\nimport { DaffError } from '@daffodil/core';\nimport { ErrorTransformer } from '@daffodil/core/state';\nimport { DaffProduct } from '@daffodil/product';\nimport { DaffProductGridLoadSuccess } from '@daffodil/product/state';\n\nimport {\n DaffCategoryActionTypes,\n DaffCategoryLoad,\n DaffCategoryLoadSuccess,\n DaffCategoryLoadFailure,\n} from '../actions/category.actions';\nimport { DAFF_CATEGORY_ERROR_MATCHER } from '../injection-tokens/public_api';\n\n@Injectable()\nexport class DaffCategoryEffects<\n V extends DaffGenericCategory<V>,\n W extends DaffProduct\n> {\n\n constructor(\n private actions$: Actions,\n @Inject(DaffCategoryDriver) private driver: DaffCategoryServiceInterface<V,W>,\n @Inject(DAFF_CATEGORY_ERROR_MATCHER) private errorMatcher: ErrorTransformer,\n ) {}\n\n\n loadCategory$: Observable<any> = createEffect(() => this.actions$.pipe(\n ofType(DaffCategoryActionTypes.CategoryLoadAction),\n mergeMap((action: DaffCategoryLoad) => this.driver.get(action.request).pipe(\n switchMap((resp: DaffGetCategoryResponse<V,W>) => of(\n new DaffProductGridLoadSuccess(resp.products),\n new DaffCategoryLoadSuccess(resp),\n )),\n catchError((error: DaffError) => of(new DaffCategoryLoadFailure(this.errorMatcher(error)))),\n )),\n ));\n}\n","import { inject } from '@angular/core';\nimport {\n ActionReducer,\n combineReducers,\n} from '@ngrx/store';\n\nimport { createSingleInjectionToken } from '@daffodil/core';\nimport { daffComposeReducers } from '@daffodil/core/state';\n\nimport { DAFF_CATEGORY_EXTRA_REDUCERS } from './extra.token';\nimport { daffCategoryReducers } from '../category-reducers';\nimport { DaffCategoryReducersState } from '../category-reducers.interface';\n\nexport const {\n /**\n * An internal token to hold the Daffodil category reducers.\n * Includes the extra and standard reducers.\n *\n * @docs-private\n */\n token: DAFF_CATEGORY_REDUCERS,\n /**\n * Provider function for {@link DAFF_CATEGORY_REDUCERS}.\n */\n provider: provideDaffCategoryReducers,\n} = createSingleInjectionToken<ActionReducer<DaffCategoryReducersState>>(\n 'DAFF_CATEGORY_REDUCERS',\n {\n providedIn: 'any',\n factory: () => daffComposeReducers([\n combineReducers(daffCategoryReducers),\n ...inject(DAFF_CATEGORY_EXTRA_REDUCERS),\n ]),\n },\n);\n","import { NgModule } from '@angular/core';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\n\nimport { DaffProductStateModule } from '@daffodil/product/state';\n\nimport { DaffCategoryPageMetadataEffects } from './effects/category-page-metadata.effects';\nimport { DaffCategoryPageEffects } from './effects/category-page.effects';\nimport { DaffCategoryEffects } from './effects/category.effects';\nimport { DAFF_CATEGORY_STORE_FEATURE_KEY } from './reducers/public_api';\nimport { DAFF_CATEGORY_REDUCERS } from './reducers/token/reducers.token';\n\n/**\n * A module that provides default reducers and effects for the category redux state.\n */\n@NgModule({\n imports: [\n StoreModule.forFeature(DAFF_CATEGORY_STORE_FEATURE_KEY, DAFF_CATEGORY_REDUCERS),\n EffectsModule.forFeature([DaffCategoryEffects, DaffCategoryPageEffects, DaffCategoryPageMetadataEffects]),\n DaffProductStateModule,\n ],\n})\nexport class DaffCategoryStateModule {}\n","import { DaffGenericCategory } from '@daffodil/category';\nimport {\n daffCompleteOperation,\n daffStartMutation,\n daffStartResolution,\n} from '@daffodil/core/state';\nimport { DaffProduct } from '@daffodil/product';\nimport {\n daffProductReducerInitialState,\n DaffProductReducerState,\n} from '@daffodil/product/state';\n\nimport {\n DaffCategoryPageProductCollectionActionTypes,\n DaffCategoryPageProductCollectionActions,\n} from '../actions/category-page-filter.actions';\nimport { DaffCategoryPageActions } from '../actions/category-page.actions';\nimport { DaffCategoryPageActionTypes } from '../actions/category-page.actions';\nimport { DaffCategoryActions } from '../actions/category.actions';\n\n/**\n * Modifies product state for category actions.\n */\nexport function daffCategoryProductReducer<U extends DaffGenericCategory<U>, W extends DaffProduct>(\n state: DaffProductReducerState = daffProductReducerInitialState,\n action: DaffCategoryActions<U, W> | DaffCategoryPageActions<U, W> | DaffCategoryPageProductCollectionActions,\n): DaffProductReducerState {\n switch (action.type) {\n case DaffCategoryPageActionTypes.CategoryPageLoadAction:\n case DaffCategoryPageActionTypes.CategoryPageLoadByUrlAction:\n return daffStartResolution(state);\n\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSizeAction:\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeCurrentPageAction:\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSortingOptionAction:\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageReplaceFiltersAction:\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageApplyFiltersAction:\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageClearFiltersAction:\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageRemoveFiltersAction:\n case DaffCategoryPageProductCollectionActionTypes.CategoryPageToggleFilterAction:\n return daffStartMutation(state);\n\n case DaffCategoryPageActionTypes.CategoryPageLoadSuccessAction:\n case DaffCategoryPageActionTypes.CategoryPageLoadFailureAction:\n return daffCompleteOperation(state);\n\n default:\n return state;\n }\n}\n","import { ActionReducerMap } from '@ngrx/store';\n\nimport { daffIdentityReducer } from '@daffodil/core/state';\nimport { DaffProductReducersState } from '@daffodil/product/state';\n\nimport { daffCategoryProductReducer } from './product.reducer';\n\nexport const daffCategoryProductReducers: ActionReducerMap<DaffProductReducersState> = {\n product: daffCategoryProductReducer,\n productGrid: daffIdentityReducer,\n products: daffIdentityReducer,\n bestSellers: daffIdentityReducer,\n};\n","import { NgModule } from '@angular/core';\nimport { combineReducers } from '@ngrx/store';\n\nimport {\n daffProductProvideExtraReducers,\n DaffProductStateModule,\n} from '@daffodil/product/state';\n\nimport { daffCategoryProductReducers } from './reducers/product-reducers';\n\n/**\n * A module that provides injectable reducers into product state.\n */\n@NgModule({\n imports: [\n DaffProductStateModule,\n ],\n providers: [\n ...daffProductProvideExtraReducers(\n combineReducers(daffCategoryProductReducers),\n ),\n ],\n})\nexport class DaffCategoryProductStateModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.DaffCategoryProductCollectionFacade"],"mappings":"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"}
@@ -20,10 +20,10 @@ class DaffCategoryBreadcrumbFactory extends DaffModelFactory {
20
20
  constructor() {
21
21
  super(MockCategoryBreadcrumb);
22
22
  }
23
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryBreadcrumbFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
24
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryBreadcrumbFactory, providedIn: 'root' }); }
23
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryBreadcrumbFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
24
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryBreadcrumbFactory, providedIn: 'root' }); }
25
25
  }
26
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryBreadcrumbFactory, decorators: [{
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryBreadcrumbFactory, decorators: [{
27
27
  type: Injectable,
28
28
  args: [{
29
29
  providedIn: 'root',
@@ -77,10 +77,10 @@ class DaffCategoryFactory extends DaffModelFactory {
77
77
  ...partial,
78
78
  });
79
79
  }
80
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryFactory, deps: [{ token: DaffCategoryBreadcrumbFactory }], target: i0.ɵɵFactoryTarget.Injectable }); }
81
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryFactory, providedIn: 'root' }); }
80
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryFactory, deps: [{ token: DaffCategoryBreadcrumbFactory }], target: i0.ɵɵFactoryTarget.Injectable }); }
81
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryFactory, providedIn: 'root' }); }
82
82
  }
83
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryFactory, decorators: [{
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryFactory, decorators: [{
84
84
  type: Injectable,
85
85
  args: [{
86
86
  providedIn: 'root',
@@ -110,10 +110,10 @@ class DaffCategoryPageMetadataFactory extends DaffModelFactory {
110
110
  constructor(pageInfoFactory, sortFieldsFactory, filterFactory) {
111
111
  super(MockCategoryPageMetadata, pageInfoFactory, sortFieldsFactory, filterFactory);
112
112
  }
113
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryPageMetadataFactory, deps: [{ token: i1.DaffNumericallyPaginableFactory }, { token: i1.DaffSortableFactory }, { token: i1.DaffFilterFactory }], target: i0.ɵɵFactoryTarget.Injectable }); }
114
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryPageMetadataFactory, providedIn: 'root' }); }
113
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryPageMetadataFactory, deps: [{ token: i1.DaffNumericallyPaginableFactory }, { token: i1.DaffSortableFactory }, { token: i1.DaffFilterFactory }], target: i0.ɵɵFactoryTarget.Injectable }); }
114
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryPageMetadataFactory, providedIn: 'root' }); }
115
115
  }
116
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.7", ngImport: i0, type: DaffCategoryPageMetadataFactory, decorators: [{
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.5", ngImport: i0, type: DaffCategoryPageMetadataFactory, decorators: [{
117
117
  type: Injectable,
118
118
  args: [{
119
119
  providedIn: 'root',
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-category.mjs","sources":["../../../libs/category/src/models/category-request.ts","../../../libs/category/src/daffodil-category.ts"],"sourcesContent":["import {\n ID,\n DaffLocatable,\n} from '@daffodil/core';\nimport { DaffCollectionRequest } from '@daffodil/core';\n\nimport { DaffCategory } from './category';\n\n/**\n * When you request a category page, there's two ways to do so, via URL or via ID.\n */\nexport enum DaffCategoryRequestKind {\n URL = 'URL',\n // eslint-disable-next-line @typescript-eslint/no-shadow\n ID = 'ID'\n}\n\n/**\n * The request used to retrieve a category and its relevant items.\n */\nexport type DaffCategoryRequest = DaffCategoryIdRequest | DaffCategoryUrlRequest;\n\n/**\n * A request used to retrieve a category by its uid.\n */\nexport interface DaffCategoryIdRequest extends DaffCollectionRequest {\n id: DaffCategory['id'];\n kind: DaffCategoryRequestKind.ID;\n}\n\n/**\n * A request used to retrieve a category by its URL.\n * The qualified URL without domain.\n * e.g. a/path/to/the/category.html\n */\nexport interface DaffCategoryUrlRequest extends DaffCollectionRequest, DaffLocatable {\n kind: DaffCategoryRequestKind.URL;\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAQA;;AAEG;IACS;AAAZ,CAAA,UAAY,uBAAuB,EAAA;AACjC,IAAA,uBAAA,CAAA,KAAA,CAAA,GAAA,KAAW;;AAEX,IAAA,uBAAA,CAAA,IAAA,CAAA,GAAA,IAAS;AACX,CAAC,EAJW,uBAAuB,KAAvB,uBAAuB,GAIlC,EAAA,CAAA,CAAA;AAsBA;;ACrCD;;AAEG;;;;"}
1
+ {"version":3,"file":"daffodil-category.mjs","sources":["../../../libs/category/src/models/category-request.ts","../../../libs/category/src/daffodil-category.ts"],"sourcesContent":["import { DaffLocatable } from '@daffodil/core';\nimport { DaffCollectionRequest } from '@daffodil/core';\n\nimport { DaffCategory } from './category';\n\n/**\n * When you request a category page, there's two ways to do so, via URL or via ID.\n */\nexport enum DaffCategoryRequestKind {\n URL = 'URL',\n // eslint-disable-next-line @typescript-eslint/no-shadow\n ID = 'ID'\n}\n\n/**\n * The request used to retrieve a category and its relevant items.\n */\nexport type DaffCategoryRequest = DaffCategoryIdRequest | DaffCategoryUrlRequest;\n\n/**\n * A request used to retrieve a category by its uid.\n */\nexport interface DaffCategoryIdRequest extends DaffCollectionRequest {\n id: DaffCategory['id'];\n kind: DaffCategoryRequestKind.ID;\n}\n\n/**\n * A request used to retrieve a category by its URL.\n * The qualified URL without domain.\n * e.g. a/path/to/the/category.html\n */\nexport interface DaffCategoryUrlRequest extends DaffCollectionRequest, DaffLocatable {\n kind: DaffCategoryRequestKind.URL;\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAKA;;AAEG;IACS;AAAZ,CAAA,UAAY,uBAAuB,EAAA;AACjC,IAAA,uBAAA,CAAA,KAAA,CAAA,GAAA,KAAW;;AAEX,IAAA,uBAAA,CAAA,IAAA,CAAA,GAAA,IAAS;AACX,CAAC,EAJW,uBAAuB,KAAvB,uBAAuB,GAIlC,EAAA,CAAA,CAAA;AAsBA;;AClCD;;AAEG;;;;"}
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name":"@daffodil/category","nx":{"targets":{"build":{"outputs":["{workspaceRoot}/dist/category"]}}},"version":"0.81.1","description":"An ecommerce categories package that has multi-platform support and state management features.","repository":{"type":"git","url":"https://github.com/graycoreio/daffodil"},"author":"Graycore LLC","license":"MIT","bugs":{"url":"https://github.com/graycoreio/daffodil/issues"},"publishConfig":{"directory":"../../dist/category"},"homepage":"https://github.com/graycoreio/daffodil","peerDependencies":{"@angular/common":"^19.0.0","@angular/core":"^19.0.0","@daffodil/core":"0.81.1","@daffodil/product":"0.81.1","@ngrx/effects":"^19.0.0","@ngrx/entity":"^19.0.0","@ngrx/store":"^19.0.0","rxjs":"7.8.1"},"optionalDependencies":{"@apollo/client":"^3.12.6","@daffodil/driver":"0.81.1","angular-in-memory-web-api":"^0.19.0","apollo-angular":"^8.0.0","@faker-js/faker":"^7.6.0"},"module":"fesm2022/daffodil-category.mjs","typings":"index.d.ts","exports":{"./package.json":{"default":"./package.json"},".":{"types":"./index.d.ts","default":"./fesm2022/daffodil-category.mjs"},"./driver":{"types":"./driver/index.d.ts","default":"./fesm2022/daffodil-category-driver.mjs"},"./routing":{"types":"./routing/index.d.ts","default":"./fesm2022/daffodil-category-routing.mjs"},"./state":{"types":"./state/index.d.ts","default":"./fesm2022/daffodil-category-state.mjs"},"./testing":{"types":"./testing/index.d.ts","default":"./fesm2022/daffodil-category-testing.mjs"},"./driver/in-memory":{"types":"./driver/in-memory/index.d.ts","default":"./fesm2022/daffodil-category-driver-in-memory.mjs"},"./driver/magento":{"types":"./driver/magento/index.d.ts","default":"./fesm2022/daffodil-category-driver-magento.mjs"},"./driver/testing":{"types":"./driver/testing/index.d.ts","default":"./fesm2022/daffodil-category-driver-testing.mjs"},"./state/testing":{"types":"./state/testing/index.d.ts","default":"./fesm2022/daffodil-category-state-testing.mjs"},"./driver/magento/testing":{"types":"./driver/magento/testing/index.d.ts","default":"./fesm2022/daffodil-category-driver-magento-testing.mjs"}},"sideEffects":false,"dependencies":{"tslib":"^2.3.0"}}
1
+ {"name":"@daffodil/category","nx":{"targets":{"build":{"outputs":["{workspaceRoot}/dist/category"]}}},"version":"0.83.0","description":"An ecommerce categories package that has multi-platform support and state management features.","repository":{"type":"git","url":"https://github.com/graycoreio/daffodil"},"author":"Graycore LLC","license":"MIT","bugs":{"url":"https://github.com/graycoreio/daffodil/issues"},"publishConfig":{"directory":"../../dist/category"},"homepage":"https://github.com/graycoreio/daffodil","peerDependencies":{"@angular/common":"^19.0.0","@angular/core":"^19.0.0","@daffodil/core":"0.83.0","@daffodil/product":"0.83.0","@ngrx/effects":"^19.0.0","@ngrx/entity":"^19.0.0","@ngrx/store":"^19.0.0","rxjs":"7.8.1"},"optionalDependencies":{"@apollo/client":"^3.12.6","@daffodil/driver":"0.83.0","angular-in-memory-web-api":"^0.19.0","apollo-angular":"^8.0.0","@faker-js/faker":"^7.6.0"},"module":"fesm2022/daffodil-category.mjs","typings":"index.d.ts","exports":{"./package.json":{"default":"./package.json"},".":{"types":"./index.d.ts","default":"./fesm2022/daffodil-category.mjs"},"./driver":{"types":"./driver/index.d.ts","default":"./fesm2022/daffodil-category-driver.mjs"},"./routing":{"types":"./routing/index.d.ts","default":"./fesm2022/daffodil-category-routing.mjs"},"./state":{"types":"./state/index.d.ts","default":"./fesm2022/daffodil-category-state.mjs"},"./testing":{"types":"./testing/index.d.ts","default":"./fesm2022/daffodil-category-testing.mjs"},"./driver/in-memory":{"types":"./driver/in-memory/index.d.ts","default":"./fesm2022/daffodil-category-driver-in-memory.mjs"},"./driver/magento":{"types":"./driver/magento/index.d.ts","default":"./fesm2022/daffodil-category-driver-magento.mjs"},"./driver/testing":{"types":"./driver/testing/index.d.ts","default":"./fesm2022/daffodil-category-driver-testing.mjs"},"./state/testing":{"types":"./state/testing/index.d.ts","default":"./fesm2022/daffodil-category-state-testing.mjs"},"./driver/magento/testing":{"types":"./driver/magento/testing/index.d.ts","default":"./fesm2022/daffodil-category-driver-magento-testing.mjs"}},"sideEffects":false,"dependencies":{"tslib":"^2.3.0"}}
@@ -1,4 +1,3 @@
1
1
  import { ActionReducer } from '@ngrx/store';
2
- import { DaffCategory } from '@daffodil/category';
3
2
  import { DaffCategoryReducersState } from '../category-reducers.interface';
4
- export declare const DAFF_CATEGORY_REDUCERS: import("@angular/core").InjectionToken<ActionReducer<DaffCategoryReducersState<DaffCategory>, import("@ngrx/store").Action<string>>>, provideDaffCategoryReducers: <R extends ActionReducer<DaffCategoryReducersState<DaffCategory>, import("@ngrx/store").Action<string>> = ActionReducer<DaffCategoryReducersState<DaffCategory>, import("@ngrx/store").Action<string>>>(value: R) => import("@angular/core").ValueProvider;
3
+ export declare const DAFF_CATEGORY_REDUCERS: import("@angular/core").InjectionToken<ActionReducer<DaffCategoryReducersState<import("@daffodil/category").DaffCategory>, import("@ngrx/store").Action<string>>>, provideDaffCategoryReducers: <R extends ActionReducer<DaffCategoryReducersState<import("@daffodil/category").DaffCategory>, import("@ngrx/store").Action<string>> = ActionReducer<DaffCategoryReducersState<import("@daffodil/category").DaffCategory>, import("@ngrx/store").Action<string>>>(value: R) => import("@angular/core").ValueProvider;