@daffodil/category 0.77.0 → 0.79.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.
Files changed (52) hide show
  1. package/driver/in-memory/backend/category.service.d.ts +3 -1
  2. package/driver/in-memory/collection-name.const.d.ts +1 -0
  3. package/driver/in-memory/drivers/category.service.d.ts +4 -3
  4. package/driver/interfaces/category-service.interface.d.ts +1 -2
  5. package/driver/magento/interfaces/config.interface.d.ts +1 -6
  6. package/driver/public_api.d.ts +1 -1
  7. package/esm2022/driver/in-memory/backend/category.service.mjs +3 -1
  8. package/esm2022/driver/in-memory/collection-name.const.mjs +2 -0
  9. package/esm2022/driver/in-memory/drivers/category-driver.module.mjs +6 -6
  10. package/esm2022/driver/in-memory/drivers/category.service.mjs +12 -8
  11. package/esm2022/driver/interfaces/category-service.interface.mjs +7 -3
  12. package/esm2022/driver/magento/category-driver.module.mjs +8 -31
  13. package/esm2022/driver/magento/interfaces/config.interface.mjs +8 -3
  14. package/esm2022/driver/public_api.mjs +2 -2
  15. package/esm2022/driver/testing/drivers/category-driver.module.mjs +3 -6
  16. package/esm2022/routing/injection-tokens/public_api.mjs +2 -2
  17. package/esm2022/routing/injection-tokens/request/builder.token.mjs +8 -3
  18. package/esm2022/routing/injection-tokens/request/builders.token.mjs +6 -11
  19. package/esm2022/routing/resolvers/category-page/category-page.resolver.mjs +2 -2
  20. package/esm2022/state/actions/category-page-filter.actions.mjs +2 -2
  21. package/esm2022/state/category-state.module.mjs +4 -4
  22. package/esm2022/state/effects/category-page-metadata.effects.mjs +55 -0
  23. package/esm2022/state/effects/category-page.effects.mjs +8 -38
  24. package/esm2022/state/injection-tokens/error-matcher.token.mjs +8 -3
  25. package/esm2022/state/injection-tokens/public_api.mjs +2 -2
  26. package/esm2022/state/reducers/token/extra.token.mjs +5 -13
  27. package/esm2022/state/reducers/token/reducers.token.mjs +9 -3
  28. package/fesm2022/daffodil-category-driver-in-memory.mjs +43 -40
  29. package/fesm2022/daffodil-category-driver-in-memory.mjs.map +1 -1
  30. package/fesm2022/daffodil-category-driver-magento.mjs +14 -32
  31. package/fesm2022/daffodil-category-driver-magento.mjs.map +1 -1
  32. package/fesm2022/daffodil-category-driver-testing.mjs +2 -5
  33. package/fesm2022/daffodil-category-driver-testing.mjs.map +1 -1
  34. package/fesm2022/daffodil-category-driver.mjs +7 -3
  35. package/fesm2022/daffodil-category-driver.mjs.map +1 -1
  36. package/fesm2022/daffodil-category-routing.mjs +14 -13
  37. package/fesm2022/daffodil-category-routing.mjs.map +1 -1
  38. package/fesm2022/daffodil-category-state.mjs +32 -54
  39. package/fesm2022/daffodil-category-state.mjs.map +1 -1
  40. package/package.json +1 -1
  41. package/routing/injection-tokens/public_api.d.ts +1 -1
  42. package/routing/injection-tokens/request/builder.token.d.ts +1 -5
  43. package/routing/injection-tokens/request/builders.token.d.ts +1 -23
  44. package/routing/resolvers/category-page/category-page.resolver.d.ts +1 -1
  45. package/state/actions/category-page-filter.actions.d.ts +1 -1
  46. package/state/effects/{category-page-filter.effects.d.ts → category-page-metadata.effects.d.ts} +4 -4
  47. package/state/effects/category-page.effects.d.ts +1 -8
  48. package/state/injection-tokens/error-matcher.token.d.ts +1 -6
  49. package/state/injection-tokens/public_api.d.ts +1 -1
  50. package/state/reducers/token/extra.token.d.ts +1 -20
  51. package/state/reducers/token/reducers.token.d.ts +1 -8
  52. package/esm2022/state/effects/category-page-filter.effects.mjs +0 -55
@@ -2,7 +2,7 @@ import { NgModule } from '@angular/core';
2
2
  import { EffectsModule } from '@ngrx/effects';
3
3
  import { StoreModule } from '@ngrx/store';
4
4
  import { DaffProductStateModule } from '@daffodil/product/state';
5
- import { DaffCategoryPageFilterEffects } from './effects/category-page-filter.effects';
5
+ import { DaffCategoryPageMetadataEffects } from './effects/category-page-metadata.effects';
6
6
  import { DaffCategoryPageEffects } from './effects/category-page.effects';
7
7
  import { DaffCategoryEffects } from './effects/category.effects';
8
8
  import { DAFF_CATEGORY_STORE_FEATURE_KEY } from './reducers/public_api';
@@ -17,7 +17,7 @@ export class DaffCategoryStateModule {
17
17
  /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCategoryStateModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
18
18
  /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: DaffCategoryStateModule, imports: [i1.StoreFeatureModule, i2.EffectsFeatureModule, DaffProductStateModule] }); }
19
19
  /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCategoryStateModule, imports: [StoreModule.forFeature(DAFF_CATEGORY_STORE_FEATURE_KEY, DAFF_CATEGORY_REDUCERS),
20
- EffectsModule.forFeature([DaffCategoryEffects, DaffCategoryPageEffects, DaffCategoryPageFilterEffects]),
20
+ EffectsModule.forFeature([DaffCategoryEffects, DaffCategoryPageEffects, DaffCategoryPageMetadataEffects]),
21
21
  DaffProductStateModule] }); }
22
22
  }
23
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCategoryStateModule, decorators: [{
@@ -25,9 +25,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
25
25
  args: [{
26
26
  imports: [
27
27
  StoreModule.forFeature(DAFF_CATEGORY_STORE_FEATURE_KEY, DAFF_CATEGORY_REDUCERS),
28
- EffectsModule.forFeature([DaffCategoryEffects, DaffCategoryPageEffects, DaffCategoryPageFilterEffects]),
28
+ EffectsModule.forFeature([DaffCategoryEffects, DaffCategoryPageEffects, DaffCategoryPageMetadataEffects]),
29
29
  DaffProductStateModule,
30
30
  ],
31
31
  }]
32
32
  }] });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktc3RhdGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy9jYXRlZ29yeS9zdGF0ZS9zcmMvY2F0ZWdvcnktc3RhdGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWpFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7O0FBRXpFOztHQUVHO0FBUUgsTUFBTSxPQUFPLHVCQUF1QjtpSUFBdkIsdUJBQXVCO2tJQUF2Qix1QkFBdUIsNERBSGhDLHNCQUFzQjtrSUFHYix1QkFBdUIsWUFMaEMsV0FBVyxDQUFDLFVBQVUsQ0FBQywrQkFBK0IsRUFBRSxzQkFBc0IsQ0FBQztZQUMvRSxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUsNkJBQTZCLENBQUMsQ0FBQztZQUN2RyxzQkFBc0I7OzJGQUdiLHVCQUF1QjtrQkFQbkMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsV0FBVyxDQUFDLFVBQVUsQ0FBQywrQkFBK0IsRUFBRSxzQkFBc0IsQ0FBQzt3QkFDL0UsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLDZCQUE2QixDQUFDLENBQUM7d0JBQ3ZHLHNCQUFzQjtxQkFDdkI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWZmZWN0c01vZHVsZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgU3RvcmVNb2R1bGUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5cbmltcG9ydCB7IERhZmZQcm9kdWN0U3RhdGVNb2R1bGUgfSBmcm9tICdAZGFmZm9kaWwvcHJvZHVjdC9zdGF0ZSc7XG5cbmltcG9ydCB7IERhZmZDYXRlZ29yeVBhZ2VGaWx0ZXJFZmZlY3RzIH0gZnJvbSAnLi9lZmZlY3RzL2NhdGVnb3J5LXBhZ2UtZmlsdGVyLmVmZmVjdHMnO1xuaW1wb3J0IHsgRGFmZkNhdGVnb3J5UGFnZUVmZmVjdHMgfSBmcm9tICcuL2VmZmVjdHMvY2F0ZWdvcnktcGFnZS5lZmZlY3RzJztcbmltcG9ydCB7IERhZmZDYXRlZ29yeUVmZmVjdHMgfSBmcm9tICcuL2VmZmVjdHMvY2F0ZWdvcnkuZWZmZWN0cyc7XG5pbXBvcnQgeyBEQUZGX0NBVEVHT1JZX1NUT1JFX0ZFQVRVUkVfS0VZIH0gZnJvbSAnLi9yZWR1Y2Vycy9wdWJsaWNfYXBpJztcbmltcG9ydCB7IERBRkZfQ0FURUdPUllfUkVEVUNFUlMgfSBmcm9tICcuL3JlZHVjZXJzL3Rva2VuL3JlZHVjZXJzLnRva2VuJztcblxuLyoqXG4gKiBBIG1vZHVsZSB0aGF0IHByb3ZpZGVzIGRlZmF1bHQgcmVkdWNlcnMgYW5kIGVmZmVjdHMgZm9yIHRoZSBjYXRlZ29yeSByZWR1eCBzdGF0ZS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIFN0b3JlTW9kdWxlLmZvckZlYXR1cmUoREFGRl9DQVRFR09SWV9TVE9SRV9GRUFUVVJFX0tFWSwgREFGRl9DQVRFR09SWV9SRURVQ0VSUyksXG4gICAgRWZmZWN0c01vZHVsZS5mb3JGZWF0dXJlKFtEYWZmQ2F0ZWdvcnlFZmZlY3RzLCBEYWZmQ2F0ZWdvcnlQYWdlRWZmZWN0cywgRGFmZkNhdGVnb3J5UGFnZUZpbHRlckVmZmVjdHNdKSxcbiAgICBEYWZmUHJvZHVjdFN0YXRlTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEYWZmQ2F0ZWdvcnlTdGF0ZU1vZHVsZSB7fVxuIl19
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktc3RhdGUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGlicy9jYXRlZ29yeS9zdGF0ZS9zcmMvY2F0ZWdvcnktc3RhdGUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWpFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzNGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7O0FBRXpFOztHQUVHO0FBUUgsTUFBTSxPQUFPLHVCQUF1QjtpSUFBdkIsdUJBQXVCO2tJQUF2Qix1QkFBdUIsNERBSGhDLHNCQUFzQjtrSUFHYix1QkFBdUIsWUFMaEMsV0FBVyxDQUFDLFVBQVUsQ0FBQywrQkFBK0IsRUFBRSxzQkFBc0IsQ0FBQztZQUMvRSxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUMsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUsK0JBQStCLENBQUMsQ0FBQztZQUN6RyxzQkFBc0I7OzJGQUdiLHVCQUF1QjtrQkFQbkMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsV0FBVyxDQUFDLFVBQVUsQ0FBQywrQkFBK0IsRUFBRSxzQkFBc0IsQ0FBQzt3QkFDL0UsYUFBYSxDQUFDLFVBQVUsQ0FBQyxDQUFDLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLCtCQUErQixDQUFDLENBQUM7d0JBQ3pHLHNCQUFzQjtxQkFDdkI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWZmZWN0c01vZHVsZSB9IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHsgU3RvcmVNb2R1bGUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5cbmltcG9ydCB7IERhZmZQcm9kdWN0U3RhdGVNb2R1bGUgfSBmcm9tICdAZGFmZm9kaWwvcHJvZHVjdC9zdGF0ZSc7XG5cbmltcG9ydCB7IERhZmZDYXRlZ29yeVBhZ2VNZXRhZGF0YUVmZmVjdHMgfSBmcm9tICcuL2VmZmVjdHMvY2F0ZWdvcnktcGFnZS1tZXRhZGF0YS5lZmZlY3RzJztcbmltcG9ydCB7IERhZmZDYXRlZ29yeVBhZ2VFZmZlY3RzIH0gZnJvbSAnLi9lZmZlY3RzL2NhdGVnb3J5LXBhZ2UuZWZmZWN0cyc7XG5pbXBvcnQgeyBEYWZmQ2F0ZWdvcnlFZmZlY3RzIH0gZnJvbSAnLi9lZmZlY3RzL2NhdGVnb3J5LmVmZmVjdHMnO1xuaW1wb3J0IHsgREFGRl9DQVRFR09SWV9TVE9SRV9GRUFUVVJFX0tFWSB9IGZyb20gJy4vcmVkdWNlcnMvcHVibGljX2FwaSc7XG5pbXBvcnQgeyBEQUZGX0NBVEVHT1JZX1JFRFVDRVJTIH0gZnJvbSAnLi9yZWR1Y2Vycy90b2tlbi9yZWR1Y2Vycy50b2tlbic7XG5cbi8qKlxuICogQSBtb2R1bGUgdGhhdCBwcm92aWRlcyBkZWZhdWx0IHJlZHVjZXJzIGFuZCBlZmZlY3RzIGZvciB0aGUgY2F0ZWdvcnkgcmVkdXggc3RhdGUuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBTdG9yZU1vZHVsZS5mb3JGZWF0dXJlKERBRkZfQ0FURUdPUllfU1RPUkVfRkVBVFVSRV9LRVksIERBRkZfQ0FURUdPUllfUkVEVUNFUlMpLFxuICAgIEVmZmVjdHNNb2R1bGUuZm9yRmVhdHVyZShbRGFmZkNhdGVnb3J5RWZmZWN0cywgRGFmZkNhdGVnb3J5UGFnZUVmZmVjdHMsIERhZmZDYXRlZ29yeVBhZ2VNZXRhZGF0YUVmZmVjdHNdKSxcbiAgICBEYWZmUHJvZHVjdFN0YXRlTW9kdWxlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEYWZmQ2F0ZWdvcnlTdGF0ZU1vZHVsZSB7fVxuIl19
@@ -0,0 +1,55 @@
1
+ import { Injectable, Inject, } from '@angular/core';
2
+ import { Actions, createEffect, ofType, } from '@ngrx/effects';
3
+ import { of, asyncScheduler, } from 'rxjs';
4
+ import { switchMap, catchError, map, throttleTime, withLatestFrom, } from 'rxjs/operators';
5
+ import { DaffCategoryRequestKind, } from '@daffodil/category';
6
+ import { DaffCategoryDriver, } from '@daffodil/category/driver';
7
+ import { daffFiltersToRequests, } from '@daffodil/core';
8
+ import { DaffProductGridLoadSuccess } from '@daffodil/product/state';
9
+ import { DaffCategoryPageProductCollectionActionTypes, } from '../actions/category-page-filter.actions';
10
+ import { DaffCategoryPageLoadSuccess, DaffCategoryPageLoadFailure, } from '../actions/category-page.actions';
11
+ import { DaffCategoryProductCollectionFacade } from '../facades/public_api';
12
+ import { DAFF_CATEGORY_ERROR_MATCHER } from '../injection-tokens/public_api';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "@ngrx/effects";
15
+ import * as i2 from "../facades/public_api";
16
+ export class DaffCategoryPageMetadataEffects {
17
+ constructor(actions$, driver, errorMatcher, facade) {
18
+ this.actions$ = actions$;
19
+ this.driver = driver;
20
+ this.errorMatcher = errorMatcher;
21
+ this.facade = facade;
22
+ /**
23
+ * Updates the filters applied to the category page. It will take the currently
24
+ * applied filters from state, form them into a request, and attempt to apply
25
+ * that request to a backend service.
26
+ *
27
+ * @param throttleWindow the amount of time to delay when apply/removing filters
28
+ * in a sequence.
29
+ */
30
+ this.update$ = createEffect(() => (throttleWindow = 300, scheduler = asyncScheduler) => this.actions$.pipe(ofType(DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeFiltersAction, DaffCategoryPageProductCollectionActionTypes.CategoryPageReplaceFiltersAction, DaffCategoryPageProductCollectionActionTypes.CategoryPageApplyFiltersAction, DaffCategoryPageProductCollectionActionTypes.CategoryPageClearFiltersAction, DaffCategoryPageProductCollectionActionTypes.CategoryPageRemoveFiltersAction, DaffCategoryPageProductCollectionActionTypes.CategoryPageToggleFilterAction, DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSizeAction, DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeCurrentPageAction, DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSortingOptionAction), withLatestFrom(this.facade.metadata$), map(([action, metadata]) => ({
31
+ kind: DaffCategoryRequestKind.ID,
32
+ id: metadata.id,
33
+ filterRequests: daffFiltersToRequests(metadata.filters),
34
+ appliedSortOption: metadata.appliedSortOption,
35
+ appliedSortDirection: metadata.appliedSortDirection,
36
+ currentPage: metadata.currentPage,
37
+ pageSize: metadata.pageSize,
38
+ })), throttleTime(throttleWindow, scheduler, { leading: true, trailing: true }), switchMap(payload => this.driver.get(payload).pipe(switchMap((resp) => [
39
+ new DaffProductGridLoadSuccess(resp.products),
40
+ new DaffCategoryPageLoadSuccess(resp),
41
+ ]), catchError((error) => of(new DaffCategoryPageLoadFailure(this.errorMatcher(error))))))));
42
+ }
43
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCategoryPageMetadataEffects, deps: [{ token: i1.Actions }, { token: DaffCategoryDriver }, { token: DAFF_CATEGORY_ERROR_MATCHER }, { token: i2.DaffCategoryProductCollectionFacade }], target: i0.ɵɵFactoryTarget.Injectable }); }
44
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCategoryPageMetadataEffects }); }
45
+ }
46
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCategoryPageMetadataEffects, decorators: [{
47
+ type: Injectable
48
+ }], ctorParameters: () => [{ type: i1.Actions }, { type: undefined, decorators: [{
49
+ type: Inject,
50
+ args: [DaffCategoryDriver]
51
+ }] }, { type: undefined, decorators: [{
52
+ type: Inject,
53
+ args: [DAFF_CATEGORY_ERROR_MATCHER]
54
+ }] }, { type: i2.DaffCategoryProductCollectionFacade }] });
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktcGFnZS1tZXRhZGF0YS5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jYXRlZ29yeS9zdGF0ZS9zcmMvZWZmZWN0cy9jYXRlZ29yeS1wYWdlLW1ldGFkYXRhLmVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFVBQVUsRUFDVixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLE9BQU8sRUFDUCxZQUFZLEVBQ1osTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxFQUFFLEVBRUYsY0FBYyxHQUNmLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBQ1YsR0FBRyxFQUNILFlBQVksRUFDWixjQUFjLEdBQ2YsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBR0wsdUJBQXVCLEdBRXhCLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUNMLGtCQUFrQixHQUVuQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFFTCxxQkFBcUIsR0FDdEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVyRSxPQUFPLEVBQ0wsNENBQTRDLEdBRTdDLE1BQU0seUNBQXlDLENBQUM7QUFDakQsT0FBTyxFQUNMLDJCQUEyQixFQUMzQiwyQkFBMkIsR0FDNUIsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxQyxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7OztBQUc3RSxNQUFNLE9BQU8sK0JBQStCO0lBSzFDLFlBQ1UsUUFBaUIsRUFDVyxNQUEwQyxFQUNqQyxZQUE4QixFQUNuRSxNQUEyQztRQUgzQyxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ1csV0FBTSxHQUFOLE1BQU0sQ0FBb0M7UUFDakMsaUJBQVksR0FBWixZQUFZLENBQWtCO1FBQ25FLFdBQU0sR0FBTixNQUFNLENBQXFDO1FBR3JEOzs7Ozs7O1dBT0c7UUFFSCxZQUFPLEdBSUgsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsY0FBYyxHQUFHLEdBQUcsRUFBRSxTQUFTLEdBQUcsY0FBYyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDM0YsTUFBTSxDQUNKLDRDQUE0QyxDQUFDLCtCQUErQixFQUM1RSw0Q0FBNEMsQ0FBQyxnQ0FBZ0MsRUFDN0UsNENBQTRDLENBQUMsOEJBQThCLEVBQzNFLDRDQUE0QyxDQUFDLDhCQUE4QixFQUMzRSw0Q0FBNEMsQ0FBQywrQkFBK0IsRUFDNUUsNENBQTRDLENBQUMsOEJBQThCLEVBQzNFLDRDQUE0QyxDQUFDLDRCQUE0QixFQUN6RSw0Q0FBNEMsQ0FBQyxtQ0FBbUMsRUFDaEYsNENBQTRDLENBQUMscUNBQXFDLENBQ25GLEVBQ0QsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQ3JDLEdBQUcsQ0FBQyxDQUNGLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBdUUsRUFDakUsRUFBRSxDQUFDLENBQUM7WUFDM0IsSUFBSSxFQUFFLHVCQUF1QixDQUFDLEVBQUU7WUFDaEMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxFQUFFO1lBQ2YsY0FBYyxFQUFFLHFCQUFxQixDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUM7WUFDdkQsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLGlCQUFpQjtZQUM3QyxvQkFBb0IsRUFBRSxRQUFRLENBQUMsb0JBQW9CO1lBQ25ELFdBQVcsRUFBRSxRQUFRLENBQUMsV0FBVztZQUNqQyxRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7U0FDNUIsQ0FBQyxDQUFDLEVBQ0gsWUFBWSxDQUFDLGNBQWMsRUFBRSxTQUFTLEVBQUUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUMxRSxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ2hELFNBQVMsQ0FBQyxDQUFDLElBQW1DLEVBQUUsRUFBRSxDQUFDO1lBQ2pELElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUM3QyxJQUFJLDJCQUEyQixDQUFDLElBQUksQ0FBQztTQUN0QyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsS0FBZ0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksMkJBQTJCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDaEcsQ0FBQyxDQUNILENBQUMsQ0FBQztJQS9DSCxDQUFDO2lJQVZRLCtCQUErQix5Q0FPaEMsa0JBQWtCLGFBQ2xCLDJCQUEyQjtxSUFSMUIsK0JBQStCOzsyRkFBL0IsK0JBQStCO2tCQUQzQyxVQUFVOzswQkFRTixNQUFNOzJCQUFDLGtCQUFrQjs7MEJBQ3pCLE1BQU07MkJBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5qZWN0YWJsZSxcbiAgSW5qZWN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFjdGlvbnMsXG4gIGNyZWF0ZUVmZmVjdCxcbiAgb2ZUeXBlLFxufSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7XG4gIG9mLFxuICBPYnNlcnZhYmxlLFxuICBhc3luY1NjaGVkdWxlcixcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBc3luY1NjaGVkdWxlciB9IGZyb20gJ3J4anMvaW50ZXJuYWwvc2NoZWR1bGVyL0FzeW5jU2NoZWR1bGVyJztcbmltcG9ydCB7XG4gIHN3aXRjaE1hcCxcbiAgY2F0Y2hFcnJvcixcbiAgbWFwLFxuICB0aHJvdHRsZVRpbWUsXG4gIHdpdGhMYXRlc3RGcm9tLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7XG4gIERhZmZHZW5lcmljQ2F0ZWdvcnksXG4gIERhZmZHZXRDYXRlZ29yeVJlc3BvbnNlLFxuICBEYWZmQ2F0ZWdvcnlSZXF1ZXN0S2luZCxcbiAgRGFmZkNhdGVnb3J5SWRSZXF1ZXN0LFxufSBmcm9tICdAZGFmZm9kaWwvY2F0ZWdvcnknO1xuaW1wb3J0IHsgRGFmZkNhdGVnb3J5UGFnZU1ldGFkYXRhIH0gZnJvbSAnQGRhZmZvZGlsL2NhdGVnb3J5JztcbmltcG9ydCB7XG4gIERhZmZDYXRlZ29yeURyaXZlcixcbiAgRGFmZkNhdGVnb3J5U2VydmljZUludGVyZmFjZSxcbn0gZnJvbSAnQGRhZmZvZGlsL2NhdGVnb3J5L2RyaXZlcic7XG5pbXBvcnQge1xuICBEYWZmRXJyb3IsXG4gIGRhZmZGaWx0ZXJzVG9SZXF1ZXN0cyxcbn0gZnJvbSAnQGRhZmZvZGlsL2NvcmUnO1xuaW1wb3J0IHsgRXJyb3JUcmFuc2Zvcm1lciB9IGZyb20gJ0BkYWZmb2RpbC9jb3JlL3N0YXRlJztcbmltcG9ydCB7IERhZmZQcm9kdWN0IH0gZnJvbSAnQGRhZmZvZGlsL3Byb2R1Y3QnO1xuaW1wb3J0IHsgRGFmZlByb2R1Y3RHcmlkTG9hZFN1Y2Nlc3MgfSBmcm9tICdAZGFmZm9kaWwvcHJvZHVjdC9zdGF0ZSc7XG5cbmltcG9ydCB7XG4gIERhZmZDYXRlZ29yeVBhZ2VQcm9kdWN0Q29sbGVjdGlvbkFjdGlvblR5cGVzLFxuICBEYWZmQ2F0ZWdvcnlQYWdlUHJvZHVjdENvbGxlY3Rpb25BY3Rpb25zLFxufSBmcm9tICcuLi9hY3Rpb25zL2NhdGVnb3J5LXBhZ2UtZmlsdGVyLmFjdGlvbnMnO1xuaW1wb3J0IHtcbiAgRGFmZkNhdGVnb3J5UGFnZUxvYWRTdWNjZXNzLFxuICBEYWZmQ2F0ZWdvcnlQYWdlTG9hZEZhaWx1cmUsXG59IGZyb20gJy4uL2FjdGlvbnMvY2F0ZWdvcnktcGFnZS5hY3Rpb25zJztcbmltcG9ydCB7IERhZmZDYXRlZ29yeVByb2R1Y3RDb2xsZWN0aW9uRmFjYWRlIH0gZnJvbSAnLi4vZmFjYWRlcy9wdWJsaWNfYXBpJztcbmltcG9ydCB7IERBRkZfQ0FURUdPUllfRVJST1JfTUFUQ0hFUiB9IGZyb20gJy4uL2luamVjdGlvbi10b2tlbnMvcHVibGljX2FwaSc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEYWZmQ2F0ZWdvcnlQYWdlTWV0YWRhdGFFZmZlY3RzPFxuICBWIGV4dGVuZHMgRGFmZkdlbmVyaWNDYXRlZ29yeTxWPixcbiAgVyBleHRlbmRzIERhZmZQcm9kdWN0XG4+IHtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFjdGlvbnMkOiBBY3Rpb25zLFxuICAgIEBJbmplY3QoRGFmZkNhdGVnb3J5RHJpdmVyKSBwcml2YXRlIGRyaXZlcjogRGFmZkNhdGVnb3J5U2VydmljZUludGVyZmFjZTxWLCBXPixcbiAgICBASW5qZWN0KERBRkZfQ0FURUdPUllfRVJST1JfTUFUQ0hFUikgcHJpdmF0ZSBlcnJvck1hdGNoZXI6IEVycm9yVHJhbnNmb3JtZXIsXG4gICAgcHJpdmF0ZSBmYWNhZGU6IERhZmZDYXRlZ29yeVByb2R1Y3RDb2xsZWN0aW9uRmFjYWRlLFxuICApe31cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgZmlsdGVycyBhcHBsaWVkIHRvIHRoZSBjYXRlZ29yeSBwYWdlLiBJdCB3aWxsIHRha2UgdGhlIGN1cnJlbnRseVxuICAgKiBhcHBsaWVkIGZpbHRlcnMgZnJvbSBzdGF0ZSwgZm9ybSB0aGVtIGludG8gYSByZXF1ZXN0LCBhbmQgYXR0ZW1wdCB0byBhcHBseVxuICAgKiB0aGF0IHJlcXVlc3QgdG8gYSBiYWNrZW5kIHNlcnZpY2UuXG4gICAqXG4gICAqIEBwYXJhbSB0aHJvdHRsZVdpbmRvdyB0aGUgYW1vdW50IG9mIHRpbWUgdG8gZGVsYXkgd2hlbiBhcHBseS9yZW1vdmluZyBmaWx0ZXJzXG4gICAqIGluIGEgc2VxdWVuY2UuXG4gICAqL1xuXG4gIHVwZGF0ZSQ6ICh0aHJvdHRsZVdpbmRvdzogbnVtYmVyLCBzY2hlZHVsZXI6IEFzeW5jU2NoZWR1bGVyKSA9PiBPYnNlcnZhYmxlPFxuICBEYWZmUHJvZHVjdEdyaWRMb2FkU3VjY2Vzc1xuICB8IERhZmZDYXRlZ29yeVBhZ2VMb2FkU3VjY2Vzc1xuICB8IERhZmZDYXRlZ29yeVBhZ2VMb2FkRmFpbHVyZVxuICA+ID0gY3JlYXRlRWZmZWN0KCgpID0+ICh0aHJvdHRsZVdpbmRvdyA9IDMwMCwgc2NoZWR1bGVyID0gYXN5bmNTY2hlZHVsZXIpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShcbiAgICAgICAgRGFmZkNhdGVnb3J5UGFnZVByb2R1Y3RDb2xsZWN0aW9uQWN0aW9uVHlwZXMuQ2F0ZWdvcnlQYWdlQ2hhbmdlRmlsdGVyc0FjdGlvbixcbiAgICAgICAgRGFmZkNhdGVnb3J5UGFnZVByb2R1Y3RDb2xsZWN0aW9uQWN0aW9uVHlwZXMuQ2F0ZWdvcnlQYWdlUmVwbGFjZUZpbHRlcnNBY3Rpb24sXG4gICAgICAgIERhZmZDYXRlZ29yeVBhZ2VQcm9kdWN0Q29sbGVjdGlvbkFjdGlvblR5cGVzLkNhdGVnb3J5UGFnZUFwcGx5RmlsdGVyc0FjdGlvbixcbiAgICAgICAgRGFmZkNhdGVnb3J5UGFnZVByb2R1Y3RDb2xsZWN0aW9uQWN0aW9uVHlwZXMuQ2F0ZWdvcnlQYWdlQ2xlYXJGaWx0ZXJzQWN0aW9uLFxuICAgICAgICBEYWZmQ2F0ZWdvcnlQYWdlUHJvZHVjdENvbGxlY3Rpb25BY3Rpb25UeXBlcy5DYXRlZ29yeVBhZ2VSZW1vdmVGaWx0ZXJzQWN0aW9uLFxuICAgICAgICBEYWZmQ2F0ZWdvcnlQYWdlUHJvZHVjdENvbGxlY3Rpb25BY3Rpb25UeXBlcy5DYXRlZ29yeVBhZ2VUb2dnbGVGaWx0ZXJBY3Rpb24sXG4gICAgICAgIERhZmZDYXRlZ29yeVBhZ2VQcm9kdWN0Q29sbGVjdGlvbkFjdGlvblR5cGVzLkNhdGVnb3J5UGFnZUNoYW5nZVNpemVBY3Rpb24sXG4gICAgICAgIERhZmZDYXRlZ29yeVBhZ2VQcm9kdWN0Q29sbGVjdGlvbkFjdGlvblR5cGVzLkNhdGVnb3J5UGFnZUNoYW5nZUN1cnJlbnRQYWdlQWN0aW9uLFxuICAgICAgICBEYWZmQ2F0ZWdvcnlQYWdlUHJvZHVjdENvbGxlY3Rpb25BY3Rpb25UeXBlcy5DYXRlZ29yeVBhZ2VDaGFuZ2VTb3J0aW5nT3B0aW9uQWN0aW9uLFxuICAgICAgKSxcbiAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuZmFjYWRlLm1ldGFkYXRhJCksXG4gICAgICBtYXAoKFxuICAgICAgICBbYWN0aW9uLCBtZXRhZGF0YV06IFtEYWZmQ2F0ZWdvcnlQYWdlUHJvZHVjdENvbGxlY3Rpb25BY3Rpb25zLCBEYWZmQ2F0ZWdvcnlQYWdlTWV0YWRhdGFdLFxuICAgICAgKTogRGFmZkNhdGVnb3J5SWRSZXF1ZXN0ID0+ICh7XG4gICAgICAgIGtpbmQ6IERhZmZDYXRlZ29yeVJlcXVlc3RLaW5kLklELFxuICAgICAgICBpZDogbWV0YWRhdGEuaWQsXG4gICAgICAgIGZpbHRlclJlcXVlc3RzOiBkYWZmRmlsdGVyc1RvUmVxdWVzdHMobWV0YWRhdGEuZmlsdGVycyksXG4gICAgICAgIGFwcGxpZWRTb3J0T3B0aW9uOiBtZXRhZGF0YS5hcHBsaWVkU29ydE9wdGlvbixcbiAgICAgICAgYXBwbGllZFNvcnREaXJlY3Rpb246IG1ldGFkYXRhLmFwcGxpZWRTb3J0RGlyZWN0aW9uLFxuICAgICAgICBjdXJyZW50UGFnZTogbWV0YWRhdGEuY3VycmVudFBhZ2UsXG4gICAgICAgIHBhZ2VTaXplOiBtZXRhZGF0YS5wYWdlU2l6ZSxcbiAgICAgIH0pKSxcbiAgICAgIHRocm90dGxlVGltZSh0aHJvdHRsZVdpbmRvdywgc2NoZWR1bGVyLCB7IGxlYWRpbmc6IHRydWUsIHRyYWlsaW5nOiB0cnVlIH0pLFxuICAgICAgc3dpdGNoTWFwKHBheWxvYWQgPT4gdGhpcy5kcml2ZXIuZ2V0KHBheWxvYWQpLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgocmVzcDogRGFmZkdldENhdGVnb3J5UmVzcG9uc2U8ViwgVz4pID0+IFtcbiAgICAgICAgICBuZXcgRGFmZlByb2R1Y3RHcmlkTG9hZFN1Y2Nlc3MocmVzcC5wcm9kdWN0cyksXG4gICAgICAgICAgbmV3IERhZmZDYXRlZ29yeVBhZ2VMb2FkU3VjY2VzcyhyZXNwKSxcbiAgICAgICAgXSksXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBEYWZmRXJyb3IpID0+IG9mKG5ldyBEYWZmQ2F0ZWdvcnlQYWdlTG9hZEZhaWx1cmUodGhpcy5lcnJvck1hdGNoZXIoZXJyb3IpKSkpLFxuICAgICAgKSksXG4gICAgKSk7XG59XG4iXX0=
@@ -1,58 +1,28 @@
1
1
  import { Injectable, Inject, } from '@angular/core';
2
2
  import { Actions, createEffect, ofType, } from '@ngrx/effects';
3
- import { Store, select, } from '@ngrx/store';
4
3
  import { of, } from 'rxjs';
5
- import { switchMap, catchError, withLatestFrom, } from 'rxjs/operators';
6
- import { DaffCategoryRequestKind, } from '@daffodil/category';
4
+ import { switchMap, catchError, } from 'rxjs/operators';
7
5
  import { DaffCategoryDriver, } from '@daffodil/category/driver';
8
- import { daffFiltersToRequests, } from '@daffodil/core';
9
6
  import { DaffProductGridLoadSuccess } from '@daffodil/product/state';
10
- import { DaffCategoryPageProductCollectionActionTypes, } from '../actions/category-page-filter.actions';
11
7
  import { DaffCategoryPageLoadSuccess, DaffCategoryPageLoadFailure, DaffCategoryPageActionTypes, } from '../actions/category-page.actions';
12
8
  import { DAFF_CATEGORY_ERROR_MATCHER } from '../injection-tokens/public_api';
13
- import { getDaffCategorySelectors } from '../selectors/category.selector';
14
9
  import * as i0 from "@angular/core";
15
10
  import * as i1 from "@ngrx/effects";
16
- import * as i2 from "@ngrx/store";
17
11
  export class DaffCategoryPageEffects {
18
- constructor(actions$, driver, errorMatcher, store) {
12
+ constructor(actions$, driver, errorMatcher) {
19
13
  this.actions$ = actions$;
20
14
  this.driver = driver;
21
15
  this.errorMatcher = errorMatcher;
22
- this.store = store;
23
- this.categorySelectors = getDaffCategorySelectors();
24
- this.loadCategoryPage$ = createEffect(() => this.actions$.pipe(ofType(DaffCategoryPageActionTypes.CategoryPageLoadAction), switchMap((action) => this.processCategoryGetRequest(action.request))));
25
- this.loadCategoryPageByUrl$ = createEffect(() => this.actions$.pipe(ofType(DaffCategoryPageActionTypes.CategoryPageLoadByUrlAction), switchMap((action) => this.driver.getByUrl(action.request).pipe(switchMap((resp) => [
16
+ this.loadCategoryPage$ = createEffect(() => this.actions$.pipe(ofType(DaffCategoryPageActionTypes.CategoryPageLoadAction), switchMap((action) => this.driver.get(action.request).pipe(switchMap((resp) => [
26
17
  new DaffProductGridLoadSuccess(resp.products),
27
18
  new DaffCategoryPageLoadSuccess(resp),
28
19
  ]), catchError((error) => of(new DaffCategoryPageLoadFailure(this.errorMatcher(error))))))));
29
- this.changeCategoryPageSize$ = createEffect(() => this.actions$.pipe(ofType(DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSizeAction), withLatestFrom(this.store.pipe(select(this.categorySelectors.selectCollectionMetadata))), switchMap(([action, metadata]) => this.processCategoryGetRequest({
30
- ...metadata,
31
- kind: DaffCategoryRequestKind.ID,
32
- filterRequests: daffFiltersToRequests(metadata.filters),
33
- pageSize: action.pageSize,
34
- }))));
35
- this.changeCategoryCurrentPage$ = createEffect(() => this.actions$.pipe(ofType(DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeCurrentPageAction), withLatestFrom(this.store.pipe(select(this.categorySelectors.selectCollectionMetadata))), switchMap(([action, metadata]) => this.processCategoryGetRequest({
36
- ...metadata,
37
- kind: DaffCategoryRequestKind.ID,
38
- filterRequests: daffFiltersToRequests(metadata.filters),
39
- currentPage: action.currentPage,
40
- }))));
41
- this.changeCategorySort$ = createEffect(() => this.actions$.pipe(ofType(DaffCategoryPageProductCollectionActionTypes.CategoryPageChangeSortingOptionAction), withLatestFrom(this.store.pipe(select(this.categorySelectors.selectCollectionMetadata))), switchMap(([action, metadata]) => this.processCategoryGetRequest({
42
- ...metadata,
43
- kind: DaffCategoryRequestKind.ID,
44
- filterRequests: daffFiltersToRequests(metadata.filters),
45
- appliedSortOption: action.sort.option,
46
- appliedSortDirection: action.sort.direction,
47
- }))));
48
- }
49
- processCategoryGetRequest(payload) {
50
- return this.driver.get(payload).pipe(switchMap((resp) => [
20
+ this.loadCategoryPageByUrl$ = createEffect(() => this.actions$.pipe(ofType(DaffCategoryPageActionTypes.CategoryPageLoadByUrlAction), switchMap((action) => this.driver.getByUrl(action.request).pipe(switchMap((resp) => [
51
21
  new DaffProductGridLoadSuccess(resp.products),
52
22
  new DaffCategoryPageLoadSuccess(resp),
53
- ]), catchError((error) => of(new DaffCategoryPageLoadFailure(this.errorMatcher(error)))));
23
+ ]), catchError((error) => of(new DaffCategoryPageLoadFailure(this.errorMatcher(error))))))));
54
24
  }
55
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCategoryPageEffects, deps: [{ token: i1.Actions }, { token: DaffCategoryDriver }, { token: DAFF_CATEGORY_ERROR_MATCHER }, { token: i2.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
25
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCategoryPageEffects, deps: [{ token: i1.Actions }, { token: DaffCategoryDriver }, { token: DAFF_CATEGORY_ERROR_MATCHER }], target: i0.ɵɵFactoryTarget.Injectable }); }
56
26
  /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCategoryPageEffects }); }
57
27
  }
58
28
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCategoryPageEffects, decorators: [{
@@ -63,5 +33,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
63
33
  }] }, { type: undefined, decorators: [{
64
34
  type: Inject,
65
35
  args: [DAFF_CATEGORY_ERROR_MATCHER]
66
- }] }, { type: i2.Store }] });
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktcGFnZS5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jYXRlZ29yeS9zdGF0ZS9zcmMvZWZmZWN0cy9jYXRlZ29yeS1wYWdlLmVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFVBQVUsRUFDVixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLE9BQU8sRUFDUCxZQUFZLEVBQ1osTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFDTCxFQUFFLEdBRUgsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixjQUFjLEdBQ2YsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBR0wsdUJBQXVCLEdBR3hCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUNMLGtCQUFrQixHQUVuQixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFFTCxxQkFBcUIsR0FDdEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUd4QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVyRSxPQUFPLEVBSUwsNENBQTRDLEdBQzdDLE1BQU0seUNBQXlDLENBQUM7QUFDakQsT0FBTyxFQUNMLDJCQUEyQixFQUUzQiwyQkFBMkIsRUFDM0IsMkJBQTJCLEdBRTVCLE1BQU0sa0NBQWtDLENBQUM7QUFDMUMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDN0UsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7QUFHMUUsTUFBTSxPQUFPLHVCQUF1QjtJQUlsQyxZQUNVLFFBQWlCLEVBQ1csTUFBMEMsRUFDakMsWUFBOEIsRUFDbkUs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QUMsa0JBQWtCOzswQkFDekIsTUFBTTsyQkFBQywyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbmplY3RhYmxlLFxuICBJbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWN0aW9ucyxcbiAgY3JlYXRlRWZmZWN0LFxuICBvZlR5cGUsXG59IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHtcbiAgU3RvcmUsXG4gIHNlbGVjdCxcbn0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgb2YsXG4gIE9ic2VydmFibGUsXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgc3dpdGNoTWFwLFxuICBjYXRjaEVycm9yLFxuICB3aXRoTGF0ZXN0RnJvbSxcbn0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge1xuICBEYWZmR2VuZXJpY0NhdGVnb3J5LFxuICBEYWZmR2V0Q2F0ZWdvcnlSZXNwb25zZSxcbiAgRGFmZkNhdGVnb3J5UmVxdWVzdEtpbmQsXG4gIERhZmZDYXRlZ29yeUlkUmVxdWVzdCxcbiAgRGFmZkNhdGVnb3J5UGFnZU1ldGFkYXRhLFxufSBmcm9tICdAZGFmZm9kaWwvY2F0ZWdvcnknO1xuaW1wb3J0IHtcbiAgRGFmZkNhdGVnb3J5RHJpdmVyLFxuICBEYWZmQ2F0ZWdvcnlTZXJ2aWNlSW50ZXJmYWNlLFxufSBmcm9tICdAZGFmZm9kaWwvY2F0ZWdvcnkvZHJpdmVyJztcbmltcG9ydCB7XG4gIERhZmZFcnJvcixcbiAgZGFmZkZpbHRlcnNUb1JlcXVlc3RzLFxufSBmcm9tICdAZGFmZm9kaWwvY29yZSc7XG5pbXBvcnQgeyBFcnJvclRyYW5zZm9ybWVyIH0gZnJvbSAnQGRhZmZvZGlsL2NvcmUvc3RhdGUnO1xuaW1wb3J0IHsgRGFmZlByb2R1Y3QgfSBmcm9tICdAZGFmZm9kaWwvcHJvZHVjdCc7XG5pbXBvcnQgeyBEYWZmUHJvZHVjdEdyaWRMb2FkU3VjY2VzcyB9IGZyb20gJ0BkYWZmb2RpbC9wcm9kdWN0L3N0YXRlJztcblxuaW1wb3J0IHtcbiAgRGFmZkNhdGVnb3J5UGFnZUNoYW5nZUN1cnJlbnRQYWdlLFxuICBEYWZmQ2F0ZWdvcnlQYWdlQ2hhbmdlUGFnZVNpemUsXG4gIERhZmZDYXRlZ29yeVBhZ2VDaGFuZ2VTb3J0aW5nT3B0aW9uLFxuICBEYWZmQ2F0ZWdvcnlQYWdlUHJvZHVjdENvbGxlY3Rpb25BY3Rpb25UeXBlcyxcbn0gZnJvbSAnLi4vYWN0aW9ucy9jYXRlZ29yeS1wYWdlLWZpbHRlci5hY3Rpb25zJztcbmltcG9ydCB7XG4gIERhZmZDYXRlZ29yeVBhZ2VMb2FkU3VjY2VzcyxcbiAgRGFmZkNhdGVnb3J5UGFnZUxvYWQsXG4gIERhZmZDYXRlZ29yeVBhZ2VMb2FkRmFpbHVyZSxcbiAgRGFmZkNhdGVnb3J5UGFnZUFjdGlvblR5cGVzLFxuICBEYWZmQ2F0ZWdvcnlQYWdlTG9hZEJ5VXJsLFxufSBmcm9tICcuLi9hY3Rpb25zL2NhdGVnb3J5LXBhZ2UuYWN0aW9ucyc7XG5pbXBvcnQgeyBEQUZGX0NBVEVHT1JZX0VSUk9SX01BVENIRVIgfSBmcm9tICcuLi9pbmplY3Rpb24tdG9rZW5zL3B1YmxpY19hcGknO1xuaW1wb3J0IHsgZ2V0RGFmZkNhdGVnb3J5U2VsZWN0b3JzIH0gZnJvbSAnLi4vc2VsZWN0b3JzL2NhdGVnb3J5LnNlbGVjdG9yJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERhZmZDYXRlZ29yeVBhZ2VFZmZlY3RzPFxuICBWIGV4dGVuZHMgRGFmZkdlbmVyaWNDYXRlZ29yeTxWPixcbiAgVyBleHRlbmRzIERhZmZQcm9kdWN0XG4+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBhY3Rpb25zJDogQWN0aW9ucyxcbiAgICBASW5qZWN0KERhZmZDYXRlZ29yeURyaXZlcikgcHJpdmF0ZSBkcml2ZXI6IERhZmZDYXRlZ29yeVNlcnZpY2VJbnRlcmZhY2U8ViwgVz4sXG4gICAgQEluamVjdChEQUZGX0NBVEVHT1JZX0VSUk9SX01BVENIRVIpIHByaXZhdGUgZXJyb3JNYXRjaGVyOiBFcnJvclRyYW5zZm9ybWVyLFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPGFueT4sXG4gICkge31cblxuICBwcml2YXRlIGNhdGVnb3J5U2VsZWN0b3JzID0gZ2V0RGFmZkNhdGVnb3J5U2VsZWN0b3JzPFYsIFc+KCk7XG5cbiAgbG9hZENhdGVnb3J5UGFnZSQ6IE9ic2VydmFibGU8YW55PiA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgb2ZUeXBlKERhZmZDYXRlZ29yeVBhZ2VBY3Rpb25UeXBlcy5DYXRlZ29yeVBhZ2VMb2FkQWN0aW9uKSxcbiAgICBzd2l0Y2hNYXAoKGFjdGlvbjogRGFmZkNhdGVnb3J5UGFnZUxvYWQpID0+IHRoaXMucHJvY2Vzc0NhdGVnb3J5R2V0UmVxdWVzdChhY3Rpb24ucmVxdWVzdCkpLFxuICApKTtcblxuXG4gIGxvYWRDYXRlZ29yeVBhZ2VCeVVybCQ6IE9ic2VydmFibGU8YW55PiA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgb2ZUeXBlKERhZmZDYXRlZ29yeVBhZ2VBY3Rpb25UeXBlcy5DYXRlZ29yeVBhZ2VMb2FkQnlVcmxBY3Rpb24pLFxuICAgIHN3aXRjaE1hcCgoYWN0aW9uOiBEYWZmQ2F0ZWdvcnlQYWdlTG9hZEJ5VXJsKSA9PiB0aGlzLmRyaXZlci5nZXRCeVVybChhY3Rpb24ucmVxdWVzdCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgocmVzcDogRGFmZkdldENhdGVnb3J5UmVzcG9uc2U8ViwgVz4pID0+IFtcbiAgICAgICAgbmV3IERhZmZQcm9kdWN0R3JpZExvYWRTdWNjZXNzKHJlc3AucHJvZHVjdHMpLFxuICAgICAgICBuZXcgRGFmZkNhdGVnb3J5UGFnZUxvYWRTdWNjZXNzKHJlc3ApLFxuICAgICAgXSksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogRGFmZkVycm9yKSA9PiBvZihuZXcgRGFmZkNhdGVnb3J5UGFnZUxvYWRGYWlsdXJlKHRoaXMuZXJyb3JNYXRjaGVyKGVycm9yKSkpKSxcbiAgICApKSxcbiAgKSk7XG5cblxuICBjaGFuZ2VDYXRlZ29yeVBhZ2VTaXplJDogT2JzZXJ2YWJsZTxhbnk+ID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICBvZlR5cGUoRGFmZkNhdGVnb3J5UGFnZVByb2R1Y3RDb2xsZWN0aW9uQWN0aW9uVHlwZXMuQ2F0ZWdvcnlQYWdlQ2hhbmdlU2l6ZUFjdGlvbiksXG4gICAgd2l0aExhdGVzdEZyb20oXG4gICAgICB0aGlzLnN0b3JlLnBpcGUoc2VsZWN0KHRoaXMuY2F0ZWdvcnlTZWxlY3RvcnMuc2VsZWN0Q29sbGVjdGlvbk1ldGFkYXRhKSksXG4gICAgKSxcbiAgICBzd2l0Y2hNYXAoKFthY3Rpb24sIG1ldGFkYXRhXTogW0RhZmZDYXRlZ29yeVBhZ2VDaGFuZ2VQYWdlU2l6ZSwgRGFmZkNhdGVnb3J5UGFnZU1ldGFkYXRhXSkgPT4gdGhpcy5wcm9jZXNzQ2F0ZWdvcnlHZXRSZXF1ZXN0KHtcbiAgICAgIC4uLm1ldGFkYXRhLFxuICAgICAga2luZDogRGFmZkNhdGVnb3J5UmVxdWVzdEtpbmQuSUQsXG4gICAgICBmaWx0ZXJSZXF1ZXN0czogZGFmZkZpbHRlcnNUb1JlcXVlc3RzKG1ldGFkYXRhLmZpbHRlcnMpLFxuICAgICAgcGFnZVNpemU6IGFjdGlvbi5wYWdlU2l6ZSxcbiAgICB9KSksXG4gICkpO1xuXG5cbiAgY2hhbmdlQ2F0ZWdvcnlDdXJyZW50UGFnZSQ6IE9ic2VydmFibGU8YW55PiA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgb2ZUeXBlKERhZmZDYXRlZ29yeVBhZ2VQcm9kdWN0Q29sbGVjdGlvbkFjdGlvblR5cGVzLkNhdGVnb3J5UGFnZUNoYW5nZUN1cnJlbnRQYWdlQWN0aW9uKSxcbiAgICB3aXRoTGF0ZXN0RnJvbShcbiAgICAgIHRoaXMuc3RvcmUucGlwZShzZWxlY3QodGhpcy5jYXRlZ29yeVNlbGVjdG9ycy5zZWxlY3RDb2xsZWN0aW9uTWV0YWRhdGEpKSxcbiAgICApLFxuICAgIHN3aXRjaE1hcCgoW2FjdGlvbiwgbWV0YWRhdGFdOiBbRGFmZkNhdGVnb3J5UGFnZUNoYW5nZUN1cnJlbnRQYWdlLCBEYWZmQ2F0ZWdvcnlQYWdlTWV0YWRhdGFdKSA9PiB0aGlzLnByb2Nlc3NDYXRlZ29yeUdldFJlcXVlc3Qoe1xuICAgICAgLi4ubWV0YWRhdGEsXG4gICAgICBraW5kOiBEYWZmQ2F0ZWdvcnlSZXF1ZXN0S2luZC5JRCxcbiAgICAgIGZpbHRlclJlcXVlc3RzOiBkYWZmRmlsdGVyc1RvUmVxdWVzdHMobWV0YWRhdGEuZmlsdGVycyksXG4gICAgICBjdXJyZW50UGFnZTogYWN0aW9uLmN1cnJlbnRQYWdlLFxuICAgIH0pKSxcbiAgKSk7XG5cblxuICBjaGFuZ2VDYXRlZ29yeVNvcnQkOiBPYnNlcnZhYmxlPGFueT4gPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgIG9mVHlwZShEYWZmQ2F0ZWdvcnlQYWdlUHJvZHVjdENvbGxlY3Rpb25BY3Rpb25UeXBlcy5DYXRlZ29yeVBhZ2VDaGFuZ2VTb3J0aW5nT3B0aW9uQWN0aW9uKSxcbiAgICB3aXRoTGF0ZXN0RnJvbShcbiAgICAgIHRoaXMuc3RvcmUucGlwZShzZWxlY3QodGhpcy5jYXRlZ29yeVNlbGVjdG9ycy5zZWxlY3RDb2xsZWN0aW9uTWV0YWRhdGEpKSxcbiAgICApLFxuICAgIHN3aXRjaE1hcCgoW2FjdGlvbiwgbWV0YWRhdGFdOiBbRGFmZkNhdGVnb3J5UGFnZUNoYW5nZVNvcnRpbmdPcHRpb24sIERhZmZDYXRlZ29yeVBhZ2VNZXRhZGF0YV0pID0+IHRoaXMucHJvY2Vzc0NhdGVnb3J5R2V0UmVxdWVzdCh7XG4gICAgICAuLi5tZXRhZGF0YSxcbiAgICAgIGtpbmQ6IERhZmZDYXRlZ29yeVJlcXVlc3RLaW5kLklELFxuICAgICAgZmlsdGVyUmVxdWVzdHM6IGRhZmZGaWx0ZXJzVG9SZXF1ZXN0cyhtZXRhZGF0YS5maWx0ZXJzKSxcbiAgICAgIGFwcGxpZWRTb3J0T3B0aW9uOiBhY3Rpb24uc29ydC5vcHRpb24sXG4gICAgICBhcHBsaWVkU29ydERpcmVjdGlvbjogYWN0aW9uLnNvcnQuZGlyZWN0aW9uLFxuICAgIH0pKSxcbiAgKSk7XG5cbiAgcHJpdmF0ZSBwcm9jZXNzQ2F0ZWdvcnlHZXRSZXF1ZXN0KHBheWxvYWQ6IERhZmZDYXRlZ29yeUlkUmVxdWVzdCkge1xuICAgIHJldHVybiB0aGlzLmRyaXZlci5nZXQocGF5bG9hZCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgocmVzcDogRGFmZkdldENhdGVnb3J5UmVzcG9uc2U8ViwgVz4pID0+IFtcbiAgICAgICAgbmV3IERhZmZQcm9kdWN0R3JpZExvYWRTdWNjZXNzKHJlc3AucHJvZHVjdHMpLFxuICAgICAgICBuZXcgRGFmZkNhdGVnb3J5UGFnZUxvYWRTdWNjZXNzKHJlc3ApLFxuICAgICAgXSksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogRGFmZkVycm9yKSA9PiBvZihuZXcgRGFmZkNhdGVnb3J5UGFnZUxvYWRGYWlsdXJlKHRoaXMuZXJyb3JNYXRjaGVyKGVycm9yKSkpKSxcbiAgICApO1xuICB9XG59XG4iXX0=
36
+ }] }] });
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcnktcGFnZS5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jYXRlZ29yeS9zdGF0ZS9zcmMvZWZmZWN0cy9jYXRlZ29yeS1wYWdlLmVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFVBQVUsRUFDVixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLE9BQU8sRUFDUCxZQUFZLEVBQ1osTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxFQUFFLEdBRUgsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsR0FDWCxNQUFNLGdCQUFnQixDQUFDO0FBTXhCLE9BQU8sRUFDTCxrQkFBa0IsR0FFbkIsTUFBTSwyQkFBMkIsQ0FBQztBQUluQyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVyRSxPQUFPLEVBQ0wsMkJBQTJCLEVBRTNCLDJCQUEyQixFQUMzQiwyQkFBMkIsR0FFNUIsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBRzdFLE1BQU0sT0FBTyx1QkFBdUI7SUFJbEMsWUFDVSxRQUFpQixFQUNXLE1BQTBDLEVBQ2pDLFlBQThCO1FBRm5FLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDVyxXQUFNLEdBQU4sTUFBTSxDQUFvQztRQUNqQyxpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFHN0Usc0JBQWlCLEdBQW9CLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDeEUsTUFBTSxDQUFDLDJCQUEyQixDQUFDLHNCQUFzQixDQUFDLEVBQzFELFNBQVMsQ0FBQyxDQUFDLE1BQTRCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQzlFLFNBQVMsQ0FBQyxDQUFDLElBQW1DLEVBQUUsRUFBRSxDQUFDO1lBQ2pELElBQUksMEJBQTBCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUM3QyxJQUFJLDJCQUEyQixDQUFDLElBQUksQ0FBQztTQUN0QyxDQUFDLEVBQ0YsVUFBVSxDQUFDLENBQUMsS0FBZ0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksMkJBQTJCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDaEcsQ0FBQyxDQUNILENBQUMsQ0FBQztRQUdILDJCQUFzQixHQUFvQixZQUFZLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQzdFLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQywyQkFBMkIsQ0FBQyxFQUMvRCxTQUFTLENBQUMsQ0FBQyxNQUFpQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUN4RixTQUFTLENBQUMsQ0FBQyxJQUFtQyxFQUFFLEVBQUUsQ0FBQztZQUNqRCxJQUFJLDBCQUEwQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDN0MsSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLENBQUM7U0FDdEMsQ0FBQyxFQUNGLFVBQVUsQ0FBQyxDQUFDLEtBQWdCLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLDJCQUEyQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ2hHLENBQUMsQ0FDSCxDQUFDLENBQUM7SUF2QkEsQ0FBQztpSUFSTyx1QkFBdUIseUNBTXhCLGtCQUFrQixhQUNsQiwyQkFBMkI7cUlBUDFCLHVCQUF1Qjs7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVTs7MEJBT04sTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUN6QixNQUFNOzJCQUFDLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEluamVjdGFibGUsXG4gIEluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBY3Rpb25zLFxuICBjcmVhdGVFZmZlY3QsXG4gIG9mVHlwZSxcbn0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQge1xuICBvZixcbiAgT2JzZXJ2YWJsZSxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBzd2l0Y2hNYXAsXG4gIGNhdGNoRXJyb3IsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHtcbiAgRGFmZkdlbmVyaWNDYXRlZ29yeSxcbiAgRGFmZkdldENhdGVnb3J5UmVzcG9uc2UsXG59IGZyb20gJ0BkYWZmb2RpbC9jYXRlZ29yeSc7XG5pbXBvcnQge1xuICBEYWZmQ2F0ZWdvcnlEcml2ZXIsXG4gIERhZmZDYXRlZ29yeVNlcnZpY2VJbnRlcmZhY2UsXG59IGZyb20gJ0BkYWZmb2RpbC9jYXRlZ29yeS9kcml2ZXInO1xuaW1wb3J0IHsgRGFmZkVycm9yIH0gZnJvbSAnQGRhZmZvZGlsL2NvcmUnO1xuaW1wb3J0IHsgRXJyb3JUcmFuc2Zvcm1lciB9IGZyb20gJ0BkYWZmb2RpbC9jb3JlL3N0YXRlJztcbmltcG9ydCB7IERhZmZQcm9kdWN0IH0gZnJvbSAnQGRhZmZvZGlsL3Byb2R1Y3QnO1xuaW1wb3J0IHsgRGFmZlByb2R1Y3RHcmlkTG9hZFN1Y2Nlc3MgfSBmcm9tICdAZGFmZm9kaWwvcHJvZHVjdC9zdGF0ZSc7XG5cbmltcG9ydCB7XG4gIERhZmZDYXRlZ29yeVBhZ2VMb2FkU3VjY2VzcyxcbiAgRGFmZkNhdGVnb3J5UGFnZUxvYWQsXG4gIERhZmZDYXRlZ29yeVBhZ2VMb2FkRmFpbHVyZSxcbiAgRGFmZkNhdGVnb3J5UGFnZUFjdGlvblR5cGVzLFxuICBEYWZmQ2F0ZWdvcnlQYWdlTG9hZEJ5VXJsLFxufSBmcm9tICcuLi9hY3Rpb25zL2NhdGVnb3J5LXBhZ2UuYWN0aW9ucyc7XG5pbXBvcnQgeyBEQUZGX0NBVEVHT1JZX0VSUk9SX01BVENIRVIgfSBmcm9tICcuLi9pbmplY3Rpb24tdG9rZW5zL3B1YmxpY19hcGknO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGFmZkNhdGVnb3J5UGFnZUVmZmVjdHM8XG4gIFYgZXh0ZW5kcyBEYWZmR2VuZXJpY0NhdGVnb3J5PFY+LFxuICBXIGV4dGVuZHMgRGFmZlByb2R1Y3Rcbj4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGFjdGlvbnMkOiBBY3Rpb25zLFxuICAgIEBJbmplY3QoRGFmZkNhdGVnb3J5RHJpdmVyKSBwcml2YXRlIGRyaXZlcjogRGFmZkNhdGVnb3J5U2VydmljZUludGVyZmFjZTxWLCBXPixcbiAgICBASW5qZWN0KERBRkZfQ0FURUdPUllfRVJST1JfTUFUQ0hFUikgcHJpdmF0ZSBlcnJvck1hdGNoZXI6IEVycm9yVHJhbnNmb3JtZXIsXG4gICkge31cblxuICBsb2FkQ2F0ZWdvcnlQYWdlJDogT2JzZXJ2YWJsZTxhbnk+ID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICBvZlR5cGUoRGFmZkNhdGVnb3J5UGFnZUFjdGlvblR5cGVzLkNhdGVnb3J5UGFnZUxvYWRBY3Rpb24pLFxuICAgIHN3aXRjaE1hcCgoYWN0aW9uOiBEYWZmQ2F0ZWdvcnlQYWdlTG9hZCkgPT4gdGhpcy5kcml2ZXIuZ2V0KGFjdGlvbi5yZXF1ZXN0KS5waXBlKFxuICAgICAgc3dpdGNoTWFwKChyZXNwOiBEYWZmR2V0Q2F0ZWdvcnlSZXNwb25zZTxWLCBXPikgPT4gW1xuICAgICAgICBuZXcgRGFmZlByb2R1Y3RHcmlkTG9hZFN1Y2Nlc3MocmVzcC5wcm9kdWN0cyksXG4gICAgICAgIG5ldyBEYWZmQ2F0ZWdvcnlQYWdlTG9hZFN1Y2Nlc3MocmVzcCksXG4gICAgICBdKSxcbiAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBEYWZmRXJyb3IpID0+IG9mKG5ldyBEYWZmQ2F0ZWdvcnlQYWdlTG9hZEZhaWx1cmUodGhpcy5lcnJvck1hdGNoZXIoZXJyb3IpKSkpLFxuICAgICkpLFxuICApKTtcblxuXG4gIGxvYWRDYXRlZ29yeVBhZ2VCeVVybCQ6IE9ic2VydmFibGU8YW55PiA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgb2ZUeXBlKERhZmZDYXRlZ29yeVBhZ2VBY3Rpb25UeXBlcy5DYXRlZ29yeVBhZ2VMb2FkQnlVcmxBY3Rpb24pLFxuICAgIHN3aXRjaE1hcCgoYWN0aW9uOiBEYWZmQ2F0ZWdvcnlQYWdlTG9hZEJ5VXJsKSA9PiB0aGlzLmRyaXZlci5nZXRCeVVybChhY3Rpb24ucmVxdWVzdCkucGlwZShcbiAgICAgIHN3aXRjaE1hcCgocmVzcDogRGFmZkdldENhdGVnb3J5UmVzcG9uc2U8ViwgVz4pID0+IFtcbiAgICAgICAgbmV3IERhZmZQcm9kdWN0R3JpZExvYWRTdWNjZXNzKHJlc3AucHJvZHVjdHMpLFxuICAgICAgICBuZXcgRGFmZkNhdGVnb3J5UGFnZUxvYWRTdWNjZXNzKHJlc3ApLFxuICAgICAgXSksXG4gICAgICBjYXRjaEVycm9yKChlcnJvcjogRGFmZkVycm9yKSA9PiBvZihuZXcgRGFmZkNhdGVnb3J5UGFnZUxvYWRGYWlsdXJlKHRoaXMuZXJyb3JNYXRjaGVyKGVycm9yKSkpKSxcbiAgICApKSxcbiAgKSk7XG59XG4iXX0=
@@ -1,8 +1,13 @@
1
- import { InjectionToken } from '@angular/core';
1
+ import { createSingleInjectionToken } from '@daffodil/core';
2
2
  import { daffTransformErrorToStateError } from '@daffodil/core/state';
3
+ export const {
3
4
  /**
4
5
  * Transforms `DaffError`s into `DaffStateError`s before they are serialized into state.
5
6
  * Can be used to further refine Daffodil errors into more specific app errors.
6
7
  */
7
- export const DAFF_CATEGORY_ERROR_MATCHER = new InjectionToken('DAFF_CATEGORY_ERROR_MATCHER', { factory: () => daffTransformErrorToStateError });
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbWF0Y2hlci50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY2F0ZWdvcnkvc3RhdGUvc3JjL2luamVjdGlvbi10b2tlbnMvZXJyb3ItbWF0Y2hlci50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXRFOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLElBQUksY0FBYyxDQUMzRCw2QkFBNkIsRUFDN0IsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsOEJBQThCLEVBQUUsQ0FDbEQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGRhZmZUcmFuc2Zvcm1FcnJvclRvU3RhdGVFcnJvciB9IGZyb20gJ0BkYWZmb2RpbC9jb3JlL3N0YXRlJztcblxuLyoqXG4gKiBUcmFuc2Zvcm1zIGBEYWZmRXJyb3JgcyBpbnRvIGBEYWZmU3RhdGVFcnJvcmBzIGJlZm9yZSB0aGV5IGFyZSBzZXJpYWxpemVkIGludG8gc3RhdGUuXG4gKiBDYW4gYmUgdXNlZCB0byBmdXJ0aGVyIHJlZmluZSBEYWZmb2RpbCBlcnJvcnMgaW50byBtb3JlIHNwZWNpZmljIGFwcCBlcnJvcnMuXG4gKi9cbmV4cG9ydCBjb25zdCBEQUZGX0NBVEVHT1JZX0VSUk9SX01BVENIRVIgPSBuZXcgSW5qZWN0aW9uVG9rZW48dHlwZW9mIGRhZmZUcmFuc2Zvcm1FcnJvclRvU3RhdGVFcnJvcj4oXG4gICdEQUZGX0NBVEVHT1JZX0VSUk9SX01BVENIRVInLFxuICB7IGZhY3Rvcnk6ICgpID0+IGRhZmZUcmFuc2Zvcm1FcnJvclRvU3RhdGVFcnJvciB9LFxuKTtcbiJdfQ==
8
+ token: DAFF_CATEGORY_ERROR_MATCHER,
9
+ /**
10
+ * Provider function for {@link DAFF_CATEGORY_ERROR_MATCHER}.
11
+ */
12
+ provider: provideDaffCategoryErrorMatcher, } = createSingleInjectionToken('DAFF_CATEGORY_ERROR_MATCHER', { factory: () => daffTransformErrorToStateError });
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3ItbWF0Y2hlci50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY2F0ZWdvcnkvc3RhdGUvc3JjL2luamVjdGlvbi10b2tlbnMvZXJyb3ItbWF0Y2hlci50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV0RSxNQUFNLENBQUMsTUFBTTtBQUNYOzs7R0FHRztBQUNILEtBQUssRUFBRSwyQkFBMkI7QUFDbEM7O0dBRUc7QUFDSCxRQUFRLEVBQUUsK0JBQStCLEdBQzFDLEdBQUcsMEJBQTBCLENBQzVCLDZCQUE2QixFQUM3QixFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyw4QkFBOEIsRUFBRSxDQUNsRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlU2luZ2xlSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAZGFmZm9kaWwvY29yZSc7XG5pbXBvcnQgeyBkYWZmVHJhbnNmb3JtRXJyb3JUb1N0YXRlRXJyb3IgfSBmcm9tICdAZGFmZm9kaWwvY29yZS9zdGF0ZSc7XG5cbmV4cG9ydCBjb25zdCB7XG4gIC8qKlxuICAgKiBUcmFuc2Zvcm1zIGBEYWZmRXJyb3JgcyBpbnRvIGBEYWZmU3RhdGVFcnJvcmBzIGJlZm9yZSB0aGV5IGFyZSBzZXJpYWxpemVkIGludG8gc3RhdGUuXG4gICAqIENhbiBiZSB1c2VkIHRvIGZ1cnRoZXIgcmVmaW5lIERhZmZvZGlsIGVycm9ycyBpbnRvIG1vcmUgc3BlY2lmaWMgYXBwIGVycm9ycy5cbiAgICovXG4gIHRva2VuOiBEQUZGX0NBVEVHT1JZX0VSUk9SX01BVENIRVIsXG4gIC8qKlxuICAgKiBQcm92aWRlciBmdW5jdGlvbiBmb3Ige0BsaW5rIERBRkZfQ0FURUdPUllfRVJST1JfTUFUQ0hFUn0uXG4gICAqL1xuICBwcm92aWRlcjogcHJvdmlkZURhZmZDYXRlZ29yeUVycm9yTWF0Y2hlcixcbn0gPSBjcmVhdGVTaW5nbGVJbmplY3Rpb25Ub2tlbjx0eXBlb2YgZGFmZlRyYW5zZm9ybUVycm9yVG9TdGF0ZUVycm9yPihcbiAgJ0RBRkZfQ0FURUdPUllfRVJST1JfTUFUQ0hFUicsXG4gIHsgZmFjdG9yeTogKCkgPT4gZGFmZlRyYW5zZm9ybUVycm9yVG9TdGF0ZUVycm9yIH0sXG4pO1xuIl19
@@ -1,2 +1,2 @@
1
- export { DAFF_CATEGORY_ERROR_MATCHER } from './error-matcher.token';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY2F0ZWdvcnkvc3RhdGUvc3JjL2luamVjdGlvbi10b2tlbnMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IERBRkZfQ0FURUdPUllfRVJST1JfTUFUQ0hFUiB9IGZyb20gJy4vZXJyb3ItbWF0Y2hlci50b2tlbic7XG4iXX0=
1
+ export * from './error-matcher.token';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY2F0ZWdvcnkvc3RhdGUvc3JjL2luamVjdGlvbi10b2tlbnMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lcnJvci1tYXRjaGVyLnRva2VuJztcbiJdfQ==
@@ -1,13 +1,11 @@
1
- import { InjectionToken, } from '@angular/core';
1
+ import { createMultiInjectionToken } from '@daffodil/core';
2
+ export const {
2
3
  /**
3
4
  * A token to hold the injectable extra reducers.
4
5
  *
5
6
  * Prefer using {@link daffCategoryProvideExtraReducers}.
6
7
  */
7
- export const DAFF_CATEGORY_EXTRA_REDUCERS = new InjectionToken('DAFF_CATEGORY_EXTRA_REDUCERS', {
8
- factory: () => [],
9
- providedIn: 'any',
10
- });
8
+ token: DAFF_CATEGORY_EXTRA_REDUCERS,
11
9
  /**
12
10
  * Provides additional reducers that run after the standard Daffodil category reducers.
13
11
  *
@@ -20,11 +18,5 @@ export const DAFF_CATEGORY_EXTRA_REDUCERS = new InjectionToken('DAFF_CATEGORY_EX
20
18
  * ]
21
19
  * ```
22
20
  */
23
- export function daffCategoryProvideExtraReducers(...reducers) {
24
- return reducers.map(reducer => ({
25
- provide: DAFF_CATEGORY_EXTRA_REDUCERS,
26
- useValue: reducer,
27
- multi: true,
28
- }));
29
- }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmEudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NhdGVnb3J5L3N0YXRlL3NyYy9yZWR1Y2Vycy90b2tlbi9leHRyYS50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsY0FBYyxHQUVmLE1BQU0sZUFBZSxDQUFDO0FBS3ZCOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLGNBQWMsQ0FDNUQsOEJBQThCLEVBQzlCO0lBQ0UsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUU7SUFDakIsVUFBVSxFQUFFLEtBQUs7Q0FDbEIsQ0FDRixDQUFDO0FBRUY7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLFVBQVUsZ0NBQWdDLENBQzlDLEdBQUcsUUFBb0Q7SUFFdkQsT0FBTyxRQUFRLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM5QixPQUFPLEVBQUUsNEJBQTRCO1FBQ3JDLFFBQVEsRUFBRSxPQUFPO1FBQ2pCLEtBQUssRUFBRSxJQUFJO0tBQ1osQ0FBQyxDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIFByb3ZpZGVyLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvblJlZHVjZXIgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5cbmltcG9ydCB7IERhZmZDYXRlZ29yeVJlZHVjZXJzU3RhdGUgfSBmcm9tICcuLi9jYXRlZ29yeS1yZWR1Y2Vycy5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEEgdG9rZW4gdG8gaG9sZCB0aGUgaW5qZWN0YWJsZSBleHRyYSByZWR1Y2Vycy5cbiAqXG4gKiBQcmVmZXIgdXNpbmcge0BsaW5rIGRhZmZDYXRlZ29yeVByb3ZpZGVFeHRyYVJlZHVjZXJzfS5cbiAqL1xuZXhwb3J0IGNvbnN0IERBRkZfQ0FURUdPUllfRVhUUkFfUkVEVUNFUlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48QWN0aW9uUmVkdWNlcjxEYWZmQ2F0ZWdvcnlSZWR1Y2Vyc1N0YXRlPltdPihcbiAgJ0RBRkZfQ0FURUdPUllfRVhUUkFfUkVEVUNFUlMnLFxuICB7XG4gICAgZmFjdG9yeTogKCkgPT4gW10sXG4gICAgcHJvdmlkZWRJbjogJ2FueScsXG4gIH0sXG4pO1xuXG4vKipcbiAqIFByb3ZpZGVzIGFkZGl0aW9uYWwgcmVkdWNlcnMgdGhhdCBydW4gYWZ0ZXIgdGhlIHN0YW5kYXJkIERhZmZvZGlsIGNhdGVnb3J5IHJlZHVjZXJzLlxuICpcbiAqIGBgYHRzXG4gKiBwcm92aWRlcnM6IFtcbiAqICAgLi4uZGFmZkNhdGVnb3J5UHJvdmlkZUV4dHJhUmVkdWNlcnMoXG4gKiAgICAgbXlSZWR1Y2VyMSxcbiAqICAgICBteVJlZHVjZXIyXG4gKiAgIClcbiAqIF1cbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gZGFmZkNhdGVnb3J5UHJvdmlkZUV4dHJhUmVkdWNlcnMoXG4gIC4uLnJlZHVjZXJzOiBBY3Rpb25SZWR1Y2VyPERhZmZDYXRlZ29yeVJlZHVjZXJzU3RhdGU+W11cbik6IFByb3ZpZGVyW10ge1xuICByZXR1cm4gcmVkdWNlcnMubWFwKHJlZHVjZXIgPT4gKHtcbiAgICBwcm92aWRlOiBEQUZGX0NBVEVHT1JZX0VYVFJBX1JFRFVDRVJTLFxuICAgIHVzZVZhbHVlOiByZWR1Y2VyLFxuICAgIG11bHRpOiB0cnVlLFxuICB9KSk7XG59XG4iXX0=
21
+ provider: daffCategoryProvideExtraReducers, } = createMultiInjectionToken('DAFF_CATEGORY_EXTRA_REDUCERS', { providedIn: 'any' });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXh0cmEudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NhdGVnb3J5L3N0YXRlL3NyYy9yZWR1Y2Vycy90b2tlbi9leHRyYS50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUkzRCxNQUFNLENBQUMsTUFBTTtBQUNYOzs7O0dBSUc7QUFDSCxLQUFLLEVBQUUsNEJBQTRCO0FBQ25DOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsUUFBUSxFQUFFLGdDQUFnQyxHQUMzQyxHQUFHLHlCQUF5QixDQUMzQiw4QkFBOEIsRUFDOUIsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLENBQ3RCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3Rpb25SZWR1Y2VyIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuXG5pbXBvcnQgeyBjcmVhdGVNdWx0aUluamVjdGlvblRva2VuIH0gZnJvbSAnQGRhZmZvZGlsL2NvcmUnO1xuXG5pbXBvcnQgeyBEYWZmQ2F0ZWdvcnlSZWR1Y2Vyc1N0YXRlIH0gZnJvbSAnLi4vY2F0ZWdvcnktcmVkdWNlcnMuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNvbnN0IHtcbiAgLyoqXG4gICAqIEEgdG9rZW4gdG8gaG9sZCB0aGUgaW5qZWN0YWJsZSBleHRyYSByZWR1Y2Vycy5cbiAgICpcbiAgICogUHJlZmVyIHVzaW5nIHtAbGluayBkYWZmQ2F0ZWdvcnlQcm92aWRlRXh0cmFSZWR1Y2Vyc30uXG4gICAqL1xuICB0b2tlbjogREFGRl9DQVRFR09SWV9FWFRSQV9SRURVQ0VSUyxcbiAgLyoqXG4gICAqIFByb3ZpZGVzIGFkZGl0aW9uYWwgcmVkdWNlcnMgdGhhdCBydW4gYWZ0ZXIgdGhlIHN0YW5kYXJkIERhZmZvZGlsIGNhdGVnb3J5IHJlZHVjZXJzLlxuICAgKlxuICAgKiBgYGB0c1xuICAgKiBwcm92aWRlcnM6IFtcbiAgICogICAuLi5kYWZmQ2F0ZWdvcnlQcm92aWRlRXh0cmFSZWR1Y2VycyhcbiAgICogICAgIG15UmVkdWNlcjEsXG4gICAqICAgICBteVJlZHVjZXIyXG4gICAqICAgKVxuICAgKiBdXG4gICAqIGBgYFxuICAgKi9cbiAgcHJvdmlkZXI6IGRhZmZDYXRlZ29yeVByb3ZpZGVFeHRyYVJlZHVjZXJzLFxufSA9IGNyZWF0ZU11bHRpSW5qZWN0aW9uVG9rZW48QWN0aW9uUmVkdWNlcjxEYWZmQ2F0ZWdvcnlSZWR1Y2Vyc1N0YXRlPj4oXG4gICdEQUZGX0NBVEVHT1JZX0VYVFJBX1JFRFVDRVJTJyxcbiAgeyBwcm92aWRlZEluOiAnYW55JyB9LFxuKTtcbiJdfQ==
@@ -1,19 +1,25 @@
1
- import { inject, InjectionToken, } from '@angular/core';
1
+ import { inject } from '@angular/core';
2
2
  import { combineReducers, } from '@ngrx/store';
3
+ import { createSingleInjectionToken } from '@daffodil/core';
3
4
  import { daffComposeReducers } from '@daffodil/core/state';
4
5
  import { DAFF_CATEGORY_EXTRA_REDUCERS } from './extra.token';
5
6
  import { daffCategoryReducers } from '../category-reducers';
7
+ export const {
6
8
  /**
7
9
  * An internal token to hold the Daffodil category reducers.
8
10
  * Includes the extra and standard reducers.
9
11
  *
10
12
  * @docs-private
11
13
  */
12
- export const DAFF_CATEGORY_REDUCERS = new InjectionToken('DAFF_CATEGORY_REDUCERS', {
14
+ token: DAFF_CATEGORY_REDUCERS,
15
+ /**
16
+ * Provider function for {@link DAFF_CATEGORY_REDUCERS}.
17
+ */
18
+ provider: provideDaffCategoryReducers, } = createSingleInjectionToken('DAFF_CATEGORY_REDUCERS', {
13
19
  providedIn: 'any',
14
20
  factory: () => daffComposeReducers([
15
21
  combineReducers(daffCategoryReducers),
16
22
  ...inject(DAFF_CATEGORY_EXTRA_REDUCERS),
17
23
  ]),
18
24
  });
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkdWNlcnMudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NhdGVnb3J5L3N0YXRlL3NyYy9yZWR1Y2Vycy90b2tlbi9yZWR1Y2Vycy50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsTUFBTSxFQUNOLGNBQWMsR0FDZixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBRUwsZUFBZSxHQUNoQixNQUFNLGFBQWEsQ0FBQztBQUlyQixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUUzRCxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFHNUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLGNBQWMsQ0FDdEQsd0JBQXdCLEVBQ3hCO0lBQ0UsVUFBVSxFQUFFLEtBQUs7SUFDakIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDO1FBQ2pDLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQztRQUNyQyxHQUFHLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQztLQUN4QyxDQUFDO0NBQ0gsQ0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgaW5qZWN0LFxuICBJbmplY3Rpb25Ub2tlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBY3Rpb25SZWR1Y2VyLFxuICBjb21iaW5lUmVkdWNlcnMsXG59IGZyb20gJ0BuZ3J4L3N0b3JlJztcblxuLy8gdGhlc2UgdW51c2VkIGltcG9ydHMgYXJlIGEgd29ya2Fyb3VuZFxuaW1wb3J0IHsgRGFmZkNhdGVnb3J5IH0gZnJvbSAnQGRhZmZvZGlsL2NhdGVnb3J5JztcbmltcG9ydCB7IGRhZmZDb21wb3NlUmVkdWNlcnMgfSBmcm9tICdAZGFmZm9kaWwvY29yZS9zdGF0ZSc7XG5cbmltcG9ydCB7IERBRkZfQ0FURUdPUllfRVhUUkFfUkVEVUNFUlMgfSBmcm9tICcuL2V4dHJhLnRva2VuJztcbmltcG9ydCB7IGRhZmZDYXRlZ29yeVJlZHVjZXJzIH0gZnJvbSAnLi4vY2F0ZWdvcnktcmVkdWNlcnMnO1xuaW1wb3J0IHsgRGFmZkNhdGVnb3J5UmVkdWNlcnNTdGF0ZSB9IGZyb20gJy4uL2NhdGVnb3J5LXJlZHVjZXJzLmludGVyZmFjZSc7XG5cbi8qKlxuICogQW4gaW50ZXJuYWwgdG9rZW4gdG8gaG9sZCB0aGUgRGFmZm9kaWwgY2F0ZWdvcnkgcmVkdWNlcnMuXG4gKiBJbmNsdWRlcyB0aGUgZXh0cmEgYW5kIHN0YW5kYXJkIHJlZHVjZXJzLlxuICpcbiAqIEBkb2NzLXByaXZhdGVcbiAqL1xuZXhwb3J0IGNvbnN0IERBRkZfQ0FURUdPUllfUkVEVUNFUlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48QWN0aW9uUmVkdWNlcjxEYWZmQ2F0ZWdvcnlSZWR1Y2Vyc1N0YXRlPj4oXG4gICdEQUZGX0NBVEVHT1JZX1JFRFVDRVJTJyxcbiAge1xuICAgIHByb3ZpZGVkSW46ICdhbnknLFxuICAgIGZhY3Rvcnk6ICgpID0+IGRhZmZDb21wb3NlUmVkdWNlcnMoW1xuICAgICAgY29tYmluZVJlZHVjZXJzKGRhZmZDYXRlZ29yeVJlZHVjZXJzKSxcbiAgICAgIC4uLmluamVjdChEQUZGX0NBVEVHT1JZX0VYVFJBX1JFRFVDRVJTKSxcbiAgICBdKSxcbiAgfSxcbik7XG4iXX0=
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkdWNlcnMudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NhdGVnb3J5L3N0YXRlL3NyYy9yZWR1Y2Vycy90b2tlbi9yZWR1Y2Vycy50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFFTCxlQUFlLEdBQ2hCLE1BQU0sYUFBYSxDQUFDO0FBSXJCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTNELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUc1RCxNQUFNLENBQUMsTUFBTTtBQUNYOzs7OztHQUtHO0FBQ0gsS0FBSyxFQUFFLHNCQUFzQjtBQUM3Qjs7R0FFRztBQUNILFFBQVEsRUFBRSwyQkFBMkIsR0FDdEMsR0FBRywwQkFBMEIsQ0FDNUIsd0JBQXdCLEVBQ3hCO0lBQ0UsVUFBVSxFQUFFLEtBQUs7SUFDakIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDO1FBQ2pDLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQztRQUNyQyxHQUFHLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQztLQUN4QyxDQUFDO0NBQ0gsQ0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBY3Rpb25SZWR1Y2VyLFxuICBjb21iaW5lUmVkdWNlcnMsXG59IGZyb20gJ0BuZ3J4L3N0b3JlJztcblxuLy8gdGhlc2UgdW51c2VkIGltcG9ydHMgYXJlIGEgd29ya2Fyb3VuZFxuaW1wb3J0IHsgRGFmZkNhdGVnb3J5IH0gZnJvbSAnQGRhZmZvZGlsL2NhdGVnb3J5JztcbmltcG9ydCB7IGNyZWF0ZVNpbmdsZUluamVjdGlvblRva2VuIH0gZnJvbSAnQGRhZmZvZGlsL2NvcmUnO1xuaW1wb3J0IHsgZGFmZkNvbXBvc2VSZWR1Y2VycyB9IGZyb20gJ0BkYWZmb2RpbC9jb3JlL3N0YXRlJztcblxuaW1wb3J0IHsgREFGRl9DQVRFR09SWV9FWFRSQV9SRURVQ0VSUyB9IGZyb20gJy4vZXh0cmEudG9rZW4nO1xuaW1wb3J0IHsgZGFmZkNhdGVnb3J5UmVkdWNlcnMgfSBmcm9tICcuLi9jYXRlZ29yeS1yZWR1Y2Vycyc7XG5pbXBvcnQgeyBEYWZmQ2F0ZWdvcnlSZWR1Y2Vyc1N0YXRlIH0gZnJvbSAnLi4vY2F0ZWdvcnktcmVkdWNlcnMuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNvbnN0IHtcbiAgLyoqXG4gICAqIEFuIGludGVybmFsIHRva2VuIHRvIGhvbGQgdGhlIERhZmZvZGlsIGNhdGVnb3J5IHJlZHVjZXJzLlxuICAgKiBJbmNsdWRlcyB0aGUgZXh0cmEgYW5kIHN0YW5kYXJkIHJlZHVjZXJzLlxuICAgKlxuICAgKiBAZG9jcy1wcml2YXRlXG4gICAqL1xuICB0b2tlbjogREFGRl9DQVRFR09SWV9SRURVQ0VSUyxcbiAgLyoqXG4gICAqIFByb3ZpZGVyIGZ1bmN0aW9uIGZvciB7QGxpbmsgREFGRl9DQVRFR09SWV9SRURVQ0VSU30uXG4gICAqL1xuICBwcm92aWRlcjogcHJvdmlkZURhZmZDYXRlZ29yeVJlZHVjZXJzLFxufSA9IGNyZWF0ZVNpbmdsZUluamVjdGlvblRva2VuPEFjdGlvblJlZHVjZXI8RGFmZkNhdGVnb3J5UmVkdWNlcnNTdGF0ZT4+KFxuICAnREFGRl9DQVRFR09SWV9SRURVQ0VSUycsXG4gIHtcbiAgICBwcm92aWRlZEluOiAnYW55JyxcbiAgICBmYWN0b3J5OiAoKSA9PiBkYWZmQ29tcG9zZVJlZHVjZXJzKFtcbiAgICAgIGNvbWJpbmVSZWR1Y2VycyhkYWZmQ2F0ZWdvcnlSZWR1Y2VycyksXG4gICAgICAuLi5pbmplY3QoREFGRl9DQVRFR09SWV9FWFRSQV9SRURVQ0VSUyksXG4gICAgXSksXG4gIH0sXG4pO1xuIl19
@@ -2,37 +2,41 @@ import * as i1 from '@angular/common/http';
2
2
  import { HttpParams } from '@angular/common/http';
3
3
  import * as i0 from '@angular/core';
4
4
  import { Injectable, NgModule } from '@angular/core';
5
+ import * as i2 from 'angular-in-memory-web-api';
6
+ import { STATUS } from 'angular-in-memory-web-api';
5
7
  import { daffUriTruncateLeadingSlash } from '@daffodil/core/routing';
8
+ import { DaffInMemoryDriverBase, provideDaffInMemoryBackends } from '@daffodil/driver/in-memory';
6
9
  import { CommonModule } from '@angular/common';
7
- import { DaffCategoryDriver } from '@daffodil/category/driver';
8
- import { STATUS } from 'angular-in-memory-web-api';
10
+ import { provideDaffCategoryDriver } from '@daffodil/category/driver';
9
11
  import * as i1$1 from '@daffodil/category/testing';
10
12
  import { collect } from '@daffodil/core';
11
- import * as i2 from '@daffodil/product/driver/in-memory';
13
+ import * as i2$1 from '@daffodil/product/driver/in-memory';
14
+
15
+ const DAFF_CATEGORY_IN_MEMORY_COLLECTION_NAME = 'category';
12
16
 
13
17
  /**
14
18
  * The category in memory driver for mocking the {@link DaffCategoryDriver} with in memory data.
15
19
  *
16
20
  * @inheritdoc
17
21
  */
18
- class DaffInMemoryCategoryService {
19
- constructor(http) {
22
+ class DaffInMemoryCategoryService extends DaffInMemoryDriverBase {
23
+ constructor(http, config) {
24
+ super(config, DAFF_CATEGORY_IN_MEMORY_COLLECTION_NAME);
20
25
  this.http = http;
21
- this.url = '/api/category/';
22
26
  }
23
27
  get(categoryRequest) {
24
28
  const params = new HttpParams()
25
29
  .set('pageSize', categoryRequest.pageSize ? categoryRequest.pageSize.toString() : null)
26
30
  .set('currentPage', categoryRequest.currentPage ? categoryRequest.currentPage.toString() : null);
27
- return this.http.get(this.url + categoryRequest.id, { params });
31
+ return this.http.get(`${this.url}/${categoryRequest.id}`, { params });
28
32
  }
29
33
  getByUrl(categoryRequest) {
30
34
  const params = new HttpParams()
31
35
  .set('pageSize', categoryRequest.pageSize ? categoryRequest.pageSize.toString() : null)
32
36
  .set('currentPage', categoryRequest.currentPage ? categoryRequest.currentPage.toString() : null);
33
- return this.http.get(`${this.url}${daffUriTruncateLeadingSlash(categoryRequest.url)}`, { params });
37
+ return this.http.get(`${this.url}/${daffUriTruncateLeadingSlash(categoryRequest.url)}`, { params });
34
38
  }
35
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffInMemoryCategoryService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
39
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffInMemoryCategoryService, deps: [{ token: i1.HttpClient }, { token: i2.InMemoryBackendConfig }], target: i0.ɵɵFactoryTarget.Injectable }); }
36
40
  /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffInMemoryCategoryService, providedIn: 'root' }); }
37
41
  }
38
42
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffInMemoryCategoryService, decorators: [{
@@ -40,35 +44,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
40
44
  args: [{
41
45
  providedIn: 'root',
42
46
  }]
43
- }], ctorParameters: () => [{ type: i1.HttpClient }] });
44
-
45
- /**
46
- * A module that provides the {@link DaffInMemoryCategoryService} for the {@link DaffCategoryDriver} token.
47
- */
48
- class DaffCategoryInMemoryDriverModule {
49
- static forRoot() {
50
- return {
51
- ngModule: DaffCategoryInMemoryDriverModule,
52
- providers: [
53
- {
54
- provide: DaffCategoryDriver,
55
- useExisting: DaffInMemoryCategoryService,
56
- },
57
- ],
58
- };
59
- }
60
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCategoryInMemoryDriverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
61
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: DaffCategoryInMemoryDriverModule, imports: [CommonModule] }); }
62
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCategoryInMemoryDriverModule, imports: [CommonModule] }); }
63
- }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCategoryInMemoryDriverModule, decorators: [{
65
- type: NgModule,
66
- args: [{
67
- imports: [
68
- CommonModule,
69
- ],
70
- }]
71
- }] });
47
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.InMemoryBackendConfig }] });
72
48
 
73
49
  /**
74
50
  * An in-memory service that mocks out the backend services for getting categories. See the angular in memory documentation for more details.
@@ -93,6 +69,7 @@ class DaffInMemoryBackendCategoryService {
93
69
  this.categoryFactory = categoryFactory;
94
70
  this.metadataFactory = metadataFactory;
95
71
  this.productInMemoryBackendService = productInMemoryBackendService;
72
+ this.collectionName = DAFF_CATEGORY_IN_MEMORY_COLLECTION_NAME;
96
73
  this._categories = [];
97
74
  this._root = this.categoryFactory.createTree(3, this.productInMemoryBackendService.products.map(({ id }) => id));
98
75
  this._categories = collect(this._root, (category) => category?.children || []);
@@ -166,7 +143,7 @@ class DaffInMemoryBackendCategoryService {
166
143
  }
167
144
  return 1;
168
145
  }
169
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffInMemoryBackendCategoryService, deps: [{ token: i1$1.DaffCategoryFactory }, { token: i1$1.DaffCategoryPageMetadataFactory }, { token: i2.DaffInMemoryBackendProductService }], target: i0.ɵɵFactoryTarget.Injectable }); }
146
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffInMemoryBackendCategoryService, deps: [{ token: i1$1.DaffCategoryFactory }, { token: i1$1.DaffCategoryPageMetadataFactory }, { token: i2$1.DaffInMemoryBackendProductService }], target: i0.ɵɵFactoryTarget.Injectable }); }
170
147
  /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffInMemoryBackendCategoryService, providedIn: 'root' }); }
171
148
  }
172
149
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffInMemoryBackendCategoryService, decorators: [{
@@ -174,7 +151,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
174
151
  args: [{
175
152
  providedIn: 'root',
176
153
  }]
177
- }], ctorParameters: () => [{ type: i1$1.DaffCategoryFactory }, { type: i1$1.DaffCategoryPageMetadataFactory }, { type: i2.DaffInMemoryBackendProductService }] });
154
+ }], ctorParameters: () => [{ type: i1$1.DaffCategoryFactory }, { type: i1$1.DaffCategoryPageMetadataFactory }, { type: i2$1.DaffInMemoryBackendProductService }] });
155
+
156
+ /**
157
+ * A module that provides the {@link DaffInMemoryCategoryService} for the {@link DaffCategoryDriver} token.
158
+ */
159
+ class DaffCategoryInMemoryDriverModule {
160
+ static forRoot() {
161
+ return {
162
+ ngModule: DaffCategoryInMemoryDriverModule,
163
+ providers: [
164
+ provideDaffCategoryDriver(DaffInMemoryCategoryService),
165
+ provideDaffInMemoryBackends(DaffInMemoryBackendCategoryService),
166
+ ],
167
+ };
168
+ }
169
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCategoryInMemoryDriverModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
170
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.2", ngImport: i0, type: DaffCategoryInMemoryDriverModule, imports: [CommonModule] }); }
171
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCategoryInMemoryDriverModule, imports: [CommonModule] }); }
172
+ }
173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: DaffCategoryInMemoryDriverModule, decorators: [{
174
+ type: NgModule,
175
+ args: [{
176
+ imports: [
177
+ CommonModule,
178
+ ],
179
+ }]
180
+ }] });
178
181
 
179
182
  /**
180
183
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"daffodil-category-driver-in-memory.mjs","sources":["../../../libs/category/driver/in-memory/src/drivers/category.service.ts","../../../libs/category/driver/in-memory/src/drivers/category-driver.module.ts","../../../libs/category/driver/in-memory/src/backend/category.service.ts","../../../libs/category/driver/in-memory/src/daffodil-category-driver-in-memory.ts"],"sourcesContent":["import {\n HttpClient,\n HttpParams,\n} from '@angular/common/http';\nimport { Injectable } from '@angular/core';\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';\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 implements DaffCategoryServiceInterface {\n url = '/api/category/';\n\n constructor(private http: HttpClient) {}\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 { CommonModule } from '@angular/common';\nimport {\n NgModule,\n ModuleWithProviders,\n} from '@angular/core';\n\nimport { DaffCategoryDriver } from '@daffodil/category/driver';\n\nimport { DaffInMemoryCategoryService } from './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 {\n provide: DaffCategoryDriver,\n useExisting: DaffInMemoryCategoryService,\n },\n ],\n };\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 { DaffProduct } from '@daffodil/product';\nimport { DaffInMemoryBackendProductService } from '@daffodil/product/driver/in-memory';\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 {\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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"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 { 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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"}