@daffodil/category 0.78.0 → 0.80.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.
- package/driver/interfaces/category-service.interface.d.ts +1 -2
- package/driver/magento/interfaces/config.interface.d.ts +1 -6
- package/driver/public_api.d.ts +1 -1
- package/esm2022/driver/in-memory/drivers/category-driver.module.mjs +3 -6
- package/esm2022/driver/interfaces/category-service.interface.mjs +7 -3
- package/esm2022/driver/magento/category-driver.module.mjs +8 -31
- package/esm2022/driver/magento/interfaces/config.interface.mjs +8 -3
- package/esm2022/driver/public_api.mjs +2 -2
- package/esm2022/driver/testing/drivers/category-driver.module.mjs +3 -6
- package/esm2022/routing/injection-tokens/public_api.mjs +2 -2
- package/esm2022/routing/injection-tokens/request/builder.token.mjs +8 -3
- package/esm2022/routing/injection-tokens/request/builders.token.mjs +6 -11
- package/esm2022/routing/resolvers/category-page/category-page.resolver.mjs +2 -2
- package/esm2022/state/actions/category-page-filter.actions.mjs +2 -2
- package/esm2022/state/category-state.module.mjs +4 -4
- package/esm2022/state/effects/category-page-metadata.effects.mjs +55 -0
- package/esm2022/state/effects/category-page.effects.mjs +8 -38
- package/esm2022/state/injection-tokens/error-matcher.token.mjs +8 -3
- package/esm2022/state/injection-tokens/public_api.mjs +2 -2
- package/esm2022/state/reducers/token/extra.token.mjs +5 -13
- package/esm2022/state/reducers/token/reducers.token.mjs +9 -3
- package/fesm2022/daffodil-category-driver-in-memory.mjs +2 -5
- package/fesm2022/daffodil-category-driver-in-memory.mjs.map +1 -1
- package/fesm2022/daffodil-category-driver-magento.mjs +14 -32
- package/fesm2022/daffodil-category-driver-magento.mjs.map +1 -1
- package/fesm2022/daffodil-category-driver-testing.mjs +2 -5
- package/fesm2022/daffodil-category-driver-testing.mjs.map +1 -1
- package/fesm2022/daffodil-category-driver.mjs +7 -3
- package/fesm2022/daffodil-category-driver.mjs.map +1 -1
- package/fesm2022/daffodil-category-routing.mjs +14 -13
- package/fesm2022/daffodil-category-routing.mjs.map +1 -1
- package/fesm2022/daffodil-category-state.mjs +32 -54
- package/fesm2022/daffodil-category-state.mjs.map +1 -1
- package/package.json +1 -1
- package/routing/injection-tokens/public_api.d.ts +1 -1
- package/routing/injection-tokens/request/builder.token.d.ts +1 -5
- package/routing/injection-tokens/request/builders.token.d.ts +1 -23
- package/routing/resolvers/category-page/category-page.resolver.d.ts +1 -1
- package/state/actions/category-page-filter.actions.d.ts +1 -1
- package/state/effects/{category-page-filter.effects.d.ts → category-page-metadata.effects.d.ts} +4 -4
- package/state/effects/category-page.effects.d.ts +1 -8
- package/state/injection-tokens/error-matcher.token.d.ts +1 -6
- package/state/injection-tokens/public_api.d.ts +1 -1
- package/state/reducers/token/extra.token.d.ts +1 -20
- package/state/reducers/token/reducers.token.d.ts +1 -8
- package/esm2022/state/effects/category-page-filter.effects.mjs +0 -55
@@ -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,
|
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
|
12
|
+
constructor(actions$, driver, errorMatcher) {
|
19
13
|
this.actions$ = actions$;
|
20
14
|
this.driver = driver;
|
21
15
|
this.errorMatcher = errorMatcher;
|
22
|
-
this.
|
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.
|
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 }
|
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
|
-
}] }
|
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 {
|
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
|
-
|
8
|
-
|
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
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
1
|
+
export * from './error-matcher.token';
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY2F0ZWdvcnkvc3RhdGUvc3JjL2luamVjdGlvbi10b2tlbnMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lcnJvci1tYXRjaGVyLnRva2VuJztcbiJdfQ==
|
@@ -1,13 +1,11 @@
|
|
1
|
-
import {
|
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
|
-
|
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
|
-
|
24
|
-
|
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
|
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
|
-
|
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,
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkdWNlcnMudG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NhdGVnb3J5L3N0YXRlL3NyYy9yZWR1Y2Vycy90b2tlbi9yZWR1Y2Vycy50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFFTCxlQUFlLEdBQ2hCLE1BQU0sYUFBYSxDQUFDO0FBSXJCLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTNELE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUc1RCxNQUFNLENBQUMsTUFBTTtBQUNYOzs7OztHQUtHO0FBQ0gsS0FBSyxFQUFFLHNCQUFzQjtBQUM3Qjs7R0FFRztBQUNILFFBQVEsRUFBRSwyQkFBMkIsR0FDdEMsR0FBRywwQkFBMEIsQ0FDNUIsd0JBQXdCLEVBQ3hCO0lBQ0UsVUFBVSxFQUFFLEtBQUs7SUFDakIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDO1FBQ2pDLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQztRQUNyQyxHQUFHLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQztLQUN4QyxDQUFDO0NBQ0gsQ0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBY3Rpb25SZWR1Y2VyLFxuICBjb21iaW5lUmVkdWNlcnMsXG59IGZyb20gJ0BuZ3J4L3N0b3JlJztcblxuLy8gdGhlc2UgdW51c2VkIGltcG9ydHMgYXJlIGEgd29ya2Fyb3VuZFxuaW1wb3J0IHsgRGFmZkNhdGVnb3J5IH0gZnJvbSAnQGRhZmZvZGlsL2NhdGVnb3J5JztcbmltcG9ydCB7IGNyZWF0ZVNpbmdsZUluamVjdGlvblRva2VuIH0gZnJvbSAnQGRhZmZvZGlsL2NvcmUnO1xuaW1wb3J0IHsgZGFmZkNvbXBvc2VSZWR1Y2VycyB9IGZyb20gJ0BkYWZmb2RpbC9jb3JlL3N0YXRlJztcblxuaW1wb3J0IHsgREFGRl9DQVRFR09SWV9FWFRSQV9SRURVQ0VSUyB9IGZyb20gJy4vZXh0cmEudG9rZW4nO1xuaW1wb3J0IHsgZGFmZkNhdGVnb3J5UmVkdWNlcnMgfSBmcm9tICcuLi9jYXRlZ29yeS1yZWR1Y2Vycyc7XG5pbXBvcnQgeyBEYWZmQ2F0ZWdvcnlSZWR1Y2Vyc1N0YXRlIH0gZnJvbSAnLi4vY2F0ZWdvcnktcmVkdWNlcnMuaW50ZXJmYWNlJztcblxuZXhwb3J0IGNvbnN0IHtcbiAgLyoqXG4gICAqIEFuIGludGVybmFsIHRva2VuIHRvIGhvbGQgdGhlIERhZmZvZGlsIGNhdGVnb3J5IHJlZHVjZXJzLlxuICAgKiBJbmNsdWRlcyB0aGUgZXh0cmEgYW5kIHN0YW5kYXJkIHJlZHVjZXJzLlxuICAgKlxuICAgKiBAZG9jcy1wcml2YXRlXG4gICAqL1xuICB0b2tlbjogREFGRl9DQVRFR09SWV9SRURVQ0VSUyxcbiAgLyoqXG4gICAqIFByb3ZpZGVyIGZ1bmN0aW9uIGZvciB7QGxpbmsgREFGRl9DQVRFR09SWV9SRURVQ0VSU30uXG4gICAqL1xuICBwcm92aWRlcjogcHJvdmlkZURhZmZDYXRlZ29yeVJlZHVjZXJzLFxufSA9IGNyZWF0ZVNpbmdsZUluamVjdGlvblRva2VuPEFjdGlvblJlZHVjZXI8RGFmZkNhdGVnb3J5UmVkdWNlcnNTdGF0ZT4+KFxuICAnREFGRl9DQVRFR09SWV9SRURVQ0VSUycsXG4gIHtcbiAgICBwcm92aWRlZEluOiAnYW55JyxcbiAgICBmYWN0b3J5OiAoKSA9PiBkYWZmQ29tcG9zZVJlZHVjZXJzKFtcbiAgICAgIGNvbWJpbmVSZWR1Y2VycyhkYWZmQ2F0ZWdvcnlSZWR1Y2VycyksXG4gICAgICAuLi5pbmplY3QoREFGRl9DQVRFR09SWV9FWFRSQV9SRURVQ0VSUyksXG4gICAgXSksXG4gIH0sXG4pO1xuIl19
|
@@ -7,7 +7,7 @@ import { STATUS } from 'angular-in-memory-web-api';
|
|
7
7
|
import { daffUriTruncateLeadingSlash } from '@daffodil/core/routing';
|
8
8
|
import { DaffInMemoryDriverBase, provideDaffInMemoryBackends } from '@daffodil/driver/in-memory';
|
9
9
|
import { CommonModule } from '@angular/common';
|
10
|
-
import {
|
10
|
+
import { provideDaffCategoryDriver } from '@daffodil/category/driver';
|
11
11
|
import * as i1$1 from '@daffodil/category/testing';
|
12
12
|
import { collect } from '@daffodil/core';
|
13
13
|
import * as i2$1 from '@daffodil/product/driver/in-memory';
|
@@ -161,10 +161,7 @@ class DaffCategoryInMemoryDriverModule {
|
|
161
161
|
return {
|
162
162
|
ngModule: DaffCategoryInMemoryDriverModule,
|
163
163
|
providers: [
|
164
|
-
|
165
|
-
provide: DaffCategoryDriver,
|
166
|
-
useExisting: DaffInMemoryCategoryService,
|
167
|
-
},
|
164
|
+
provideDaffCategoryDriver(DaffInMemoryCategoryService),
|
168
165
|
provideDaffInMemoryBackends(DaffInMemoryBackendCategoryService),
|
169
166
|
],
|
170
167
|
};
|
@@ -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 { DaffCategoryDriver } 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 {\n provide: DaffCategoryDriver,\n useExisting: DaffInMemoryCategoryService,\n },\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 { 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,18 +1,18 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
|
-
import {
|
2
|
+
import { Injectable, Inject, NgModule } from '@angular/core';
|
3
3
|
import * as i1$1 from 'apollo-angular';
|
4
4
|
import { gql } from 'apollo-angular';
|
5
5
|
import { combineLatest } from 'rxjs';
|
6
6
|
import { map, switchMap } from 'rxjs/operators';
|
7
7
|
import { DaffCategoryRequestKind } from '@daffodil/category';
|
8
|
-
import { createMultiInjectionToken, daffApplyRequestsToFilters } from '@daffodil/core';
|
8
|
+
import { createMultiInjectionToken, createConfigInjectionToken, daffApplyRequestsToFilters } from '@daffodil/core';
|
9
9
|
import * as i1 from '@daffodil/product/driver/magento';
|
10
10
|
import { magentoProductFragment, magentoProductSortFieldsFragment, magentoProductAggregationsFragment, MagentoProductFilterActionEnum, magentoProductCollectionMetadataTransform, DAFF_PRODUCT_MAGENTO_PRODUCT_TRANSFORM, magentoProductGetMatchedAttributeType, MagentoProductGetFilterTypes, magentoAppliedSortOptionTransform, MAGENTO_PRODUCT_CONFIG_TOKEN, DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_FRAGMENTS, DAFF_PRODUCT_MAGENTO_EXTRA_PRODUCT_PREVIEW_FRAGMENTS, DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME } from '@daffodil/product/driver/magento';
|
11
11
|
import { daffUriTruncateLeadingSlash, daffUriTruncateFileExtension, daffUriTruncateQueryFragment } from '@daffodil/core/routing';
|
12
12
|
import { daffBuildFragmentNameSpread, daffBuildFragmentDefinition } from '@daffodil/core/graphql';
|
13
|
-
import { magentoSearchResultPageInfoFragment,
|
13
|
+
import { magentoSearchResultPageInfoFragment, provideManyDaffMagentoCacheableOperations } from '@daffodil/driver/magento';
|
14
14
|
import { CommonModule } from '@angular/common';
|
15
|
-
import {
|
15
|
+
import { provideDaffCategoryDriver } from '@daffodil/category/driver';
|
16
16
|
|
17
17
|
const {
|
18
18
|
/**
|
@@ -48,11 +48,16 @@ const MAGENTO_CATEGORY_CONFIG_DEFAULT = {
|
|
48
48
|
uriTruncationStrategy: magentoCategoryTruncateUrl,
|
49
49
|
};
|
50
50
|
|
51
|
+
const {
|
51
52
|
/**
|
52
53
|
* The token used to provide @daffodil/category/driver/magento config data.
|
53
54
|
* Mandatory for the Magento driver.
|
54
55
|
*/
|
55
|
-
|
56
|
+
token: MAGENTO_CATEGORY_CONFIG_TOKEN,
|
57
|
+
/**
|
58
|
+
* Provider function for {@link MAGENTO_CATEGORY_CONFIG_TOKEN}.
|
59
|
+
*/
|
60
|
+
provider: provideMagentoCategoryConfig, } = createConfigInjectionToken(MAGENTO_CATEGORY_CONFIG_DEFAULT, 'MAGENTO_CATEGORY_CONFIG_TOKEN');
|
56
61
|
|
57
62
|
const DAFF_MAGENTO_RESOLVE_CATEGORY_URL_QUERY_NAME = 'MagentoResolveCategoryUrl';
|
58
63
|
/**
|
@@ -409,36 +414,13 @@ class DaffCategoryMagentoDriverModule {
|
|
409
414
|
return {
|
410
415
|
ngModule: DaffCategoryMagentoDriverModule,
|
411
416
|
providers: [
|
412
|
-
|
413
|
-
provide: DaffCategoryDriver,
|
414
|
-
useExisting: DaffMagentoCategoryService,
|
415
|
-
},
|
417
|
+
provideDaffCategoryDriver(DaffMagentoCategoryService),
|
416
418
|
DaffMagentoCategoryPageConfigTransformerService,
|
417
419
|
DaffMagentoCategoryResponseTransformService,
|
418
420
|
DaffMagentoCategoryTransformerService,
|
419
421
|
DaffMagentoAppliedFiltersTransformService,
|
420
|
-
|
421
|
-
|
422
|
-
useValue: DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME,
|
423
|
-
multi: true,
|
424
|
-
},
|
425
|
-
{
|
426
|
-
provide: DAFF_MAGENTO_CACHEABLE_OPERATIONS,
|
427
|
-
useValue: DAFF_MAGENTO_GET_CATEGORY_AND_PRODUCTS_QUERY_NAME,
|
428
|
-
multi: true,
|
429
|
-
},
|
430
|
-
{
|
431
|
-
provide: DAFF_MAGENTO_CACHEABLE_OPERATIONS,
|
432
|
-
useValue: DAFF_MAGENTO_RESOLVE_CATEGORY_URL_QUERY_NAME,
|
433
|
-
multi: true,
|
434
|
-
},
|
435
|
-
{
|
436
|
-
provide: MAGENTO_CATEGORY_CONFIG_TOKEN,
|
437
|
-
useValue: {
|
438
|
-
...MAGENTO_CATEGORY_CONFIG_DEFAULT,
|
439
|
-
...config,
|
440
|
-
},
|
441
|
-
},
|
422
|
+
provideManyDaffMagentoCacheableOperations(DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME, DAFF_MAGENTO_GET_CATEGORY_AND_PRODUCTS_QUERY_NAME, DAFF_MAGENTO_RESOLVE_CATEGORY_URL_QUERY_NAME),
|
423
|
+
provideMagentoCategoryConfig(config),
|
442
424
|
],
|
443
425
|
};
|
444
426
|
}
|
@@ -459,5 +441,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImpor
|
|
459
441
|
* Generated bundle index. Do not edit.
|
460
442
|
*/
|
461
443
|
|
462
|
-
export { DAFF_MAGENTO_GET_CATEGORY_AND_PRODUCTS_QUERY_NAME, DAFF_MAGENTO_RESOLVE_CATEGORY_URL_QUERY_NAME, DaffCategoryMagentoDriverModule, DaffMagentoAppliedFiltersTransformService, DaffMagentoCategoryPageConfigTransformerService, DaffMagentoCategoryResponseTransformService, DaffMagentoCategoryService, DaffMagentoCategoryTransformerService, MAGENTO_CATEGORY_CONFIG_DEFAULT, MAGENTO_CATEGORY_CONFIG_TOKEN, MAGENTO_CATEGORY_EXTRA_FRAGMENTS, MAGENTO_CATEGORY_EXTRA_TRANSFORMS, MagentoGetCategoryAndProductsQuery, MagentoResolveCategoryUrl, magentoCategoryTreeFragment, magentoProvideCategoryExtraFragments, magentoProvideCategoryExtraTransforms };
|
444
|
+
export { DAFF_MAGENTO_GET_CATEGORY_AND_PRODUCTS_QUERY_NAME, DAFF_MAGENTO_RESOLVE_CATEGORY_URL_QUERY_NAME, DaffCategoryMagentoDriverModule, DaffMagentoAppliedFiltersTransformService, DaffMagentoCategoryPageConfigTransformerService, DaffMagentoCategoryResponseTransformService, DaffMagentoCategoryService, DaffMagentoCategoryTransformerService, MAGENTO_CATEGORY_CONFIG_DEFAULT, MAGENTO_CATEGORY_CONFIG_TOKEN, MAGENTO_CATEGORY_EXTRA_FRAGMENTS, MAGENTO_CATEGORY_EXTRA_TRANSFORMS, MagentoGetCategoryAndProductsQuery, MagentoResolveCategoryUrl, magentoCategoryTreeFragment, magentoProvideCategoryExtraFragments, magentoProvideCategoryExtraTransforms, provideMagentoCategoryConfig };
|
463
445
|
//# sourceMappingURL=daffodil-category-driver-magento.mjs.map
|
@@ -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 * ```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 { InjectionToken } from '@angular/core';\n\nimport { MAGENTO_CATEGORY_CONFIG_DEFAULT } from '../config/default';\n\n/**\n * The token used to provide @daffodil/category/driver/magento config data.\n * Mandatory for the Magento driver.\n */\nexport const MAGENTO_CATEGORY_CONFIG_TOKEN = new InjectionToken<DaffCategoryMagentoDriverConfig>('MAGENTO_CATEGORY_CONFIG_TOKEN', { factory: () => MAGENTO_CATEGORY_CONFIG_DEFAULT });\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 * ```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 { DaffCategoryDriver } from '@daffodil/category/driver';\nimport { DAFF_MAGENTO_CACHEABLE_OPERATIONS } from '@daffodil/driver/magento';\nimport {\n daffProvideProductMagentoExtraProductPreviewFragments,\n DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME,\n magentoProductPreviewFragment,\n} from '@daffodil/product/driver/magento';\n\nimport { DaffMagentoCategoryService } from './category.service';\nimport { MAGENTO_CATEGORY_CONFIG_DEFAULT } from './config/default';\nimport {\n DaffCategoryMagentoDriverConfig,\n MAGENTO_CATEGORY_CONFIG_TOKEN,\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 {\n provide: DaffCategoryDriver,\n useExisting: DaffMagentoCategoryService,\n },\n DaffMagentoCategoryPageConfigTransformerService,\n DaffMagentoCategoryResponseTransformService,\n DaffMagentoCategoryTransformerService,\n DaffMagentoAppliedFiltersTransformService,\n {\n provide: DAFF_MAGENTO_CACHEABLE_OPERATIONS,\n useValue: DAFF_MAGENTO_GET_FILTER_TYPES_QUERY_NAME,\n multi: true,\n },\n {\n provide: DAFF_MAGENTO_CACHEABLE_OPERATIONS,\n useValue: DAFF_MAGENTO_GET_CATEGORY_AND_PRODUCTS_QUERY_NAME,\n multi: true,\n },\n {\n provide: DAFF_MAGENTO_CACHEABLE_OPERATIONS,\n useValue: DAFF_MAGENTO_RESOLVE_CATEGORY_URL_QUERY_NAME,\n multi: true,\n },\n {\n provide: MAGENTO_CATEGORY_CONFIG_TOKEN,\n useValue: {\n ...MAGENTO_CATEGORY_CONFIG_DEFAULT,\n ...config,\n },\n },\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 * ```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 * ```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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"}
|
@@ -4,7 +4,7 @@ import { of } from 'rxjs';
|
|
4
4
|
import * as i1 from '@daffodil/category/testing';
|
5
5
|
import * as i2 from '@daffodil/product/testing';
|
6
6
|
import { CommonModule } from '@angular/common';
|
7
|
-
import {
|
7
|
+
import { provideDaffCategoryDriver } from '@daffodil/category/driver';
|
8
8
|
|
9
9
|
/**
|
10
10
|
* The category testing driver to mock {@link DaffCategoryServiceInterface}.
|
@@ -49,10 +49,7 @@ class DaffCategoryTestingDriverModule {
|
|
49
49
|
return {
|
50
50
|
ngModule: DaffCategoryTestingDriverModule,
|
51
51
|
providers: [
|
52
|
-
|
53
|
-
provide: DaffCategoryDriver,
|
54
|
-
useExisting: DaffTestingCategoryService,
|
55
|
-
},
|
52
|
+
provideDaffCategoryDriver(DaffTestingCategoryService),
|
56
53
|
],
|
57
54
|
};
|
58
55
|
}
|