@o3r/dynamic-content 12.1.0-prerelease.8 → 12.1.0-prerelease.80

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/README.md +1 -5
  2. package/esm2022/fixtures/jasmine/index.mjs +2 -0
  3. package/esm2022/fixtures/jasmine/o3r-dynamic-content-fixtures-jasmine.mjs +5 -0
  4. package/esm2022/fixtures/jasmine/request-parameters.fixture.jasmine.mjs +27 -0
  5. package/esm2022/fixtures/jest/index.mjs +2 -0
  6. package/esm2022/fixtures/jest/o3r-dynamic-content-fixtures-jest.mjs +5 -0
  7. package/esm2022/fixtures/jest/request-parameters.fixture.jest.mjs +27 -0
  8. package/esm2022/o3r-dynamic-content.mjs +5 -0
  9. package/esm2022/public_api.mjs +3 -0
  10. package/esm2022/rules-engine/asset.handler-action.mjs +30 -0
  11. package/esm2022/rules-engine/asset.interfaces.mjs +3 -0
  12. package/esm2022/rules-engine/asset.rules-engine.module.mjs +23 -0
  13. package/esm2022/rules-engine/o3r-dynamic-content-rules-engine.mjs +5 -0
  14. package/esm2022/rules-engine/public_api.mjs +4 -0
  15. package/esm2022/services/dynamic-content/dynamic-content.module.mjs +81 -0
  16. package/esm2022/services/dynamic-content/dynamic-content.pipe.mjs +48 -0
  17. package/esm2022/services/dynamic-content/dynamic-content.service.mjs +75 -0
  18. package/esm2022/services/dynamic-content/dynamic-content.token.mjs +11 -0
  19. package/esm2022/services/dynamic-content/index.mjs +5 -0
  20. package/esm2022/services/index.mjs +4 -0
  21. package/esm2022/services/request-parameters/index.mjs +4 -0
  22. package/esm2022/services/request-parameters/request-parameters.config.mjs +25 -0
  23. package/esm2022/services/request-parameters/request-parameters.module.mjs +50 -0
  24. package/esm2022/services/request-parameters/request-parameters.service.mjs +184 -0
  25. package/esm2022/services/request-parameters/request-parameters.token.mjs +6 -0
  26. package/esm2022/services/styling/index.mjs +3 -0
  27. package/esm2022/services/styling/style-lazy-loader.module.mjs +15 -0
  28. package/esm2022/services/styling/style-lazy-loader.service.mjs +58 -0
  29. package/esm2022/stores/asset-path-override/asset-path-override.actions.mjs +8 -0
  30. package/esm2022/stores/asset-path-override/asset-path-override.module.mjs +39 -0
  31. package/esm2022/stores/asset-path-override/asset-path-override.reducer.mjs +17 -0
  32. package/esm2022/stores/asset-path-override/asset-path-override.selectors.mjs +7 -0
  33. package/esm2022/stores/asset-path-override/asset-path-override.state.mjs +5 -0
  34. package/esm2022/stores/asset-path-override/asset-path-override.sync.mjs +15 -0
  35. package/esm2022/stores/asset-path-override/index.mjs +7 -0
  36. package/esm2022/stores/index.mjs +2 -0
  37. package/fesm2022/o3r-dynamic-content-rules-engine.mjs +7 -7
  38. package/fesm2022/o3r-dynamic-content.mjs +28 -28
  39. package/middlewares/index.js.map +1 -0
  40. package/middlewares/parameter-extractor.middleware.js.map +1 -0
  41. package/package.json +4 -4
  42. package/schematics/ng-add/index.d.ts.map +1 -1
  43. package/schematics/ng-add/index.js +2 -2
  44. package/schematics/ng-add/index.js.map +1 -0
  45. package/schematics/ng-add/schema.js.map +1 -0
  46. package/schematics/ng-add/schema.json +1 -2
  47. package/schematics/ng-update/v10-0/index.d.ts +1 -1
  48. package/schematics/ng-update/v10-0/index.d.ts.map +1 -1
  49. package/schematics/ng-update/v10-0/index.js +1 -1
  50. package/schematics/ng-update/v10-0/index.js.map +1 -0
  51. package/stores/asset-path-override/asset-path-override.sync.d.ts.map +1 -1
package/README.md CHANGED
@@ -9,9 +9,6 @@ This package is an [Otter Framework Module](https://github.com/AmadeusITGroup/ot
9
9
 
10
10
  ## Description
11
11
 
12
- [![Stable Version](https://img.shields.io/npm/v/@o3r/dynamic-content?style=for-the-badge)](https://www.npmjs.com/package/@o3r/dynamic-content)
13
- [![Bundle Size](https://img.shields.io/bundlephobia/min/@o3r/dynamic-content?color=green&style=for-the-badge)](https://www.npmjs.com/package/@o3r/dynamic-content)
14
-
15
12
  This module provides a mechanism to retrieve media and data depending on the host or a server-specific url.
16
13
 
17
14
  ## How to install
@@ -20,8 +17,7 @@ This module provides a mechanism to retrieve media and data depending on the hos
20
17
  ng add @o3r/dynamic-content
21
18
  ```
22
19
 
23
- > [!WARNING]
24
- > This module requires [@o3r/core](https://www.npmjs.com/package/@o3r/core) to be installed.
20
+ > **Warning**: this module requires [@o3r/core](https://www.npmjs.com/package/@o3r/core) to be installed.
25
21
 
26
22
  ## Description
27
23
 
@@ -0,0 +1,2 @@
1
+ export * from './request-parameters.fixture.jasmine';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZml4dHVyZXMvamFzbWluZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNDQUFzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yZXF1ZXN0LXBhcmFtZXRlcnMuZml4dHVyZS5qYXNtaW5lJztcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibzNyLWR5bmFtaWMtY29udGVudC1maXh0dXJlcy1qYXNtaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ZpeHR1cmVzL2phc21pbmUvbzNyLWR5bmFtaWMtY29udGVudC1maXh0dXJlcy1qYXNtaW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,27 @@
1
+ import { StorageStrategy, } from '@o3r/dynamic-content';
2
+ /**
3
+ * Fixture file for requestParameters service
4
+ */
5
+ export class RequestParametersServiceFixture {
6
+ constructor() {
7
+ this.query = {};
8
+ this.post = {};
9
+ this.config = {
10
+ strategy: StorageStrategy.Rehydrate,
11
+ storage: (typeof window === 'undefined') ? undefined : window.sessionStorage,
12
+ queryParamsValue: '{}',
13
+ postParamsValue: '{}'
14
+ };
15
+ this.getQueryParameter = jasmine.createSpy('getQueryParameter');
16
+ this.getQueryParameterAsBoolean = jasmine.createSpy('getQueryParameterAsBoolean');
17
+ this.getPostParameter = jasmine.createSpy('getPostParameter');
18
+ this.getPostParameterAsBoolean = jasmine.createSpy('getPostParameterAsBoolean');
19
+ this.getParameter = jasmine.createSpy('getParameter');
20
+ this.getParameterAsBoolean = jasmine.createSpy('getParameterAsBoolean');
21
+ this.clearQueryParameters = jasmine.createSpy('clearQueryParameters');
22
+ this.clearPostParameters = jasmine.createSpy('clearPostParameters');
23
+ this.getParams = jasmine.createSpy('getParams');
24
+ this.getFilteredParameters = jasmine.createSpy('filterParameters');
25
+ }
26
+ }
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1wYXJhbWV0ZXJzLmZpeHR1cmUuamFzbWluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maXh0dXJlcy9qYXNtaW5lL3JlcXVlc3QtcGFyYW1ldGVycy5maXh0dXJlLmphc21pbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUNMLGVBQWUsR0FDaEIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5Qjs7R0FFRztBQUNILE1BQU0sT0FBTywrQkFBK0I7SUFxQjFDO1FBcEJPLFVBQUssR0FBOEIsRUFBRSxDQUFDO1FBQ3RDLFNBQUksR0FBOEIsRUFBRSxDQUFDO1FBQ3JDLFdBQU0sR0FBNEI7WUFDdkMsUUFBUSxFQUFFLGVBQWUsQ0FBQyxTQUFTO1lBQ25DLE9BQU8sRUFBRSxDQUFDLE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjO1lBQzVFLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsZUFBZSxFQUFFLElBQUk7U0FDdEIsQ0FBQztRQWNBLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLDBCQUEwQixHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUNsRixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyx5QkFBeUIsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLDJCQUEyQixDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxxQkFBcUIsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDeEUsSUFBSSxDQUFDLG9CQUFvQixHQUFHLE9BQU8sQ0FBQyxTQUFTLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgSW50ZXJmYWNlT2YsXG59IGZyb20gJ0BvM3IvY29yZSc7XG5pbXBvcnQgdHlwZSB7XG4gIFJlcXVlc3RQYXJhbWV0ZXJzQ29uZmlnLFxuICBSZXF1ZXN0UGFyYW1ldGVyc1NlcnZpY2UsXG59IGZyb20gJ0BvM3IvZHluYW1pYy1jb250ZW50JztcbmltcG9ydCB7XG4gIFN0b3JhZ2VTdHJhdGVneSxcbn0gZnJvbSAnQG8zci9keW5hbWljLWNvbnRlbnQnO1xuXG4vKipcbiAqIEZpeHR1cmUgZmlsZSBmb3IgcmVxdWVzdFBhcmFtZXRlcnMgc2VydmljZVxuICovXG5leHBvcnQgY2xhc3MgUmVxdWVzdFBhcmFtZXRlcnNTZXJ2aWNlRml4dHVyZSBpbXBsZW1lbnRzIEludGVyZmFjZU9mPFJlcXVlc3RQYXJhbWV0ZXJzU2VydmljZT4ge1xuICBwdWJsaWMgcXVlcnk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbiAgcHVibGljIHBvc3Q6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbiAgcHVibGljIGNvbmZpZzogUmVxdWVzdFBhcmFtZXRlcnNDb25maWcgPSB7XG4gICAgc3RyYXRlZ3k6IFN0b3JhZ2VTdHJhdGVneS5SZWh5ZHJhdGUsXG4gICAgc3RvcmFnZTogKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSA/IHVuZGVmaW5lZCA6IHdpbmRvdy5zZXNzaW9uU3RvcmFnZSxcbiAgICBxdWVyeVBhcmFtc1ZhbHVlOiAne30nLFxuICAgIHBvc3RQYXJhbXNWYWx1ZTogJ3t9J1xuICB9O1xuXG4gIHB1YmxpYyBnZXRRdWVyeVBhcmFtZXRlcjogamFzbWluZS5TcHk7XG4gIHB1YmxpYyBnZXRRdWVyeVBhcmFtZXRlckFzQm9vbGVhbjogamFzbWluZS5TcHk7XG4gIHB1YmxpYyBnZXRQb3N0UGFyYW1ldGVyOiBqYXNtaW5lLlNweTtcbiAgcHVibGljIGdldFBvc3RQYXJhbWV0ZXJBc0Jvb2xlYW46IGphc21pbmUuU3B5O1xuICBwdWJsaWMgZ2V0UGFyYW1ldGVyOiBqYXNtaW5lLlNweTtcbiAgcHVibGljIGdldFBhcmFtZXRlckFzQm9vbGVhbjogamFzbWluZS5TcHk7XG4gIHB1YmxpYyBjbGVhclF1ZXJ5UGFyYW1ldGVyczogamFzbWluZS5TcHk7XG4gIHB1YmxpYyBjbGVhclBvc3RQYXJhbWV0ZXJzOiBqYXNtaW5lLlNweTtcbiAgcHVibGljIGdldEZpbHRlcmVkUGFyYW1ldGVyczogamFzbWluZS5TcHk7XG4gIHB1YmxpYyBnZXRQYXJhbXM6IGphc21pbmUuU3B5O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZ2V0UXVlcnlQYXJhbWV0ZXIgPSBqYXNtaW5lLmNyZWF0ZVNweSgnZ2V0UXVlcnlQYXJhbWV0ZXInKTtcbiAgICB0aGlzLmdldFF1ZXJ5UGFyYW1ldGVyQXNCb29sZWFuID0gamFzbWluZS5jcmVhdGVTcHkoJ2dldFF1ZXJ5UGFyYW1ldGVyQXNCb29sZWFuJyk7XG4gICAgdGhpcy5nZXRQb3N0UGFyYW1ldGVyID0gamFzbWluZS5jcmVhdGVTcHkoJ2dldFBvc3RQYXJhbWV0ZXInKTtcbiAgICB0aGlzLmdldFBvc3RQYXJhbWV0ZXJBc0Jvb2xlYW4gPSBqYXNtaW5lLmNyZWF0ZVNweSgnZ2V0UG9zdFBhcmFtZXRlckFzQm9vbGVhbicpO1xuICAgIHRoaXMuZ2V0UGFyYW1ldGVyID0gamFzbWluZS5jcmVhdGVTcHkoJ2dldFBhcmFtZXRlcicpO1xuICAgIHRoaXMuZ2V0UGFyYW1ldGVyQXNCb29sZWFuID0gamFzbWluZS5jcmVhdGVTcHkoJ2dldFBhcmFtZXRlckFzQm9vbGVhbicpO1xuICAgIHRoaXMuY2xlYXJRdWVyeVBhcmFtZXRlcnMgPSBqYXNtaW5lLmNyZWF0ZVNweSgnY2xlYXJRdWVyeVBhcmFtZXRlcnMnKTtcbiAgICB0aGlzLmNsZWFyUG9zdFBhcmFtZXRlcnMgPSBqYXNtaW5lLmNyZWF0ZVNweSgnY2xlYXJQb3N0UGFyYW1ldGVycycpO1xuICAgIHRoaXMuZ2V0UGFyYW1zID0gamFzbWluZS5jcmVhdGVTcHkoJ2dldFBhcmFtcycpO1xuICAgIHRoaXMuZ2V0RmlsdGVyZWRQYXJhbWV0ZXJzID0gamFzbWluZS5jcmVhdGVTcHkoJ2ZpbHRlclBhcmFtZXRlcnMnKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './request-parameters.fixture.jest';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZml4dHVyZXMvamVzdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yZXF1ZXN0LXBhcmFtZXRlcnMuZml4dHVyZS5qZXN0JztcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibzNyLWR5bmFtaWMtY29udGVudC1maXh0dXJlcy1qZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ZpeHR1cmVzL2plc3QvbzNyLWR5bmFtaWMtY29udGVudC1maXh0dXJlcy1qZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,27 @@
1
+ import { StorageStrategy, } from '@o3r/dynamic-content';
2
+ /**
3
+ * Fixture file for requestParameters service
4
+ */
5
+ export class RequestParametersServiceFixture {
6
+ constructor() {
7
+ this.query = {};
8
+ this.post = {};
9
+ this.config = {
10
+ strategy: StorageStrategy.Rehydrate,
11
+ storage: (typeof window === 'undefined') ? undefined : window.sessionStorage,
12
+ queryParamsValue: '{}',
13
+ postParamsValue: '{}'
14
+ };
15
+ this.getQueryParameter = jest.fn();
16
+ this.getQueryParameterAsBoolean = jest.fn();
17
+ this.getPostParameter = jest.fn();
18
+ this.getPostParameterAsBoolean = jest.fn();
19
+ this.getParameter = jest.fn();
20
+ this.getParameterAsBoolean = jest.fn();
21
+ this.clearQueryParameters = jest.fn();
22
+ this.clearPostParameters = jest.fn();
23
+ this.getParams = jest.fn();
24
+ this.getFilteredParameters = jest.fn();
25
+ }
26
+ }
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1wYXJhbWV0ZXJzLmZpeHR1cmUuamVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maXh0dXJlcy9qZXN0L3JlcXVlc3QtcGFyYW1ldGVycy5maXh0dXJlLmplc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUNMLGVBQWUsR0FDaEIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5Qjs7R0FFRztBQUNILE1BQU0sT0FBTywrQkFBK0I7SUFxQjFDO1FBcEJPLFVBQUssR0FBOEIsRUFBRSxDQUFDO1FBQ3RDLFNBQUksR0FBOEIsRUFBRSxDQUFDO1FBQ3JDLFdBQU0sR0FBNEI7WUFDdkMsUUFBUSxFQUFFLGVBQWUsQ0FBQyxTQUFTO1lBQ25DLE9BQU8sRUFBRSxDQUFDLE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjO1lBQzVFLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsZUFBZSxFQUFFLElBQUk7U0FDdEIsQ0FBQztRQWNBLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDM0MsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDOUIsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIEludGVyZmFjZU9mLFxufSBmcm9tICdAbzNyL2NvcmUnO1xuaW1wb3J0IHR5cGUge1xuICBSZXF1ZXN0UGFyYW1ldGVyc0NvbmZpZyxcbiAgUmVxdWVzdFBhcmFtZXRlcnNTZXJ2aWNlLFxufSBmcm9tICdAbzNyL2R5bmFtaWMtY29udGVudCc7XG5pbXBvcnQge1xuICBTdG9yYWdlU3RyYXRlZ3ksXG59IGZyb20gJ0BvM3IvZHluYW1pYy1jb250ZW50JztcblxuLyoqXG4gKiBGaXh0dXJlIGZpbGUgZm9yIHJlcXVlc3RQYXJhbWV0ZXJzIHNlcnZpY2VcbiAqL1xuZXhwb3J0IGNsYXNzIFJlcXVlc3RQYXJhbWV0ZXJzU2VydmljZUZpeHR1cmUgaW1wbGVtZW50cyBJbnRlcmZhY2VPZjxSZXF1ZXN0UGFyYW1ldGVyc1NlcnZpY2U+IHtcbiAgcHVibGljIHF1ZXJ5OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XG4gIHB1YmxpYyBwb3N0OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XG4gIHB1YmxpYyBjb25maWc6IFJlcXVlc3RQYXJhbWV0ZXJzQ29uZmlnID0ge1xuICAgIHN0cmF0ZWd5OiBTdG9yYWdlU3RyYXRlZ3kuUmVoeWRyYXRlLFxuICAgIHN0b3JhZ2U6ICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykgPyB1bmRlZmluZWQgOiB3aW5kb3cuc2Vzc2lvblN0b3JhZ2UsXG4gICAgcXVlcnlQYXJhbXNWYWx1ZTogJ3t9JyxcbiAgICBwb3N0UGFyYW1zVmFsdWU6ICd7fSdcbiAgfTtcblxuICBwdWJsaWMgZ2V0UXVlcnlQYXJhbWV0ZXI6IGplc3QuTW9jazxhbnksIGFueT47XG4gIHB1YmxpYyBnZXRRdWVyeVBhcmFtZXRlckFzQm9vbGVhbjogamVzdC5Nb2NrPGFueSwgYW55PjtcbiAgcHVibGljIGdldFBvc3RQYXJhbWV0ZXI6IGplc3QuTW9jazxhbnksIGFueT47XG4gIHB1YmxpYyBnZXRQb3N0UGFyYW1ldGVyQXNCb29sZWFuOiBqZXN0Lk1vY2s8YW55LCBhbnk+O1xuICBwdWJsaWMgZ2V0UGFyYW1ldGVyOiBqZXN0Lk1vY2s8YW55LCBhbnk+O1xuICBwdWJsaWMgZ2V0UGFyYW1ldGVyQXNCb29sZWFuOiBqZXN0Lk1vY2s8YW55LCBhbnk+O1xuICBwdWJsaWMgY2xlYXJRdWVyeVBhcmFtZXRlcnM6IGplc3QuTW9jazxhbnksIGFueT47XG4gIHB1YmxpYyBjbGVhclBvc3RQYXJhbWV0ZXJzOiBqZXN0Lk1vY2s8YW55LCBhbnk+O1xuICBwdWJsaWMgZ2V0RmlsdGVyZWRQYXJhbWV0ZXJzOiBqZXN0Lk1vY2s8YW55LCBhbnk+O1xuICBwdWJsaWMgZ2V0UGFyYW1zOiBqZXN0Lk1vY2s8YW55LCBhbnk+O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZ2V0UXVlcnlQYXJhbWV0ZXIgPSBqZXN0LmZuKCk7XG4gICAgdGhpcy5nZXRRdWVyeVBhcmFtZXRlckFzQm9vbGVhbiA9IGplc3QuZm4oKTtcbiAgICB0aGlzLmdldFBvc3RQYXJhbWV0ZXIgPSBqZXN0LmZuKCk7XG4gICAgdGhpcy5nZXRQb3N0UGFyYW1ldGVyQXNCb29sZWFuID0gamVzdC5mbigpO1xuICAgIHRoaXMuZ2V0UGFyYW1ldGVyID0gamVzdC5mbigpO1xuICAgIHRoaXMuZ2V0UGFyYW1ldGVyQXNCb29sZWFuID0gamVzdC5mbigpO1xuICAgIHRoaXMuY2xlYXJRdWVyeVBhcmFtZXRlcnMgPSBqZXN0LmZuKCk7XG4gICAgdGhpcy5jbGVhclBvc3RQYXJhbWV0ZXJzID0gamVzdC5mbigpO1xuICAgIHRoaXMuZ2V0UGFyYW1zID0gamVzdC5mbigpO1xuICAgIHRoaXMuZ2V0RmlsdGVyZWRQYXJhbWV0ZXJzID0gamVzdC5mbigpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibzNyLWR5bmFtaWMtY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9vM3ItZHluYW1pYy1jb250ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from './services/index';
2
+ export * from './stores/index';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZXMvaW5kZXgnO1xuIl19
@@ -0,0 +1,30 @@
1
+ import { Injectable, } from '@angular/core';
2
+ import { Store, } from '@ngrx/store';
3
+ import { RULES_ENGINE_ASSET_UPDATE_ACTION_TYPE, } from './asset.interfaces';
4
+ import { setAssetPathOverride, } from '@o3r/dynamic-content';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@ngrx/store";
7
+ /**
8
+ * Service to handle async Asset actions
9
+ */
10
+ export class AssetRulesEngineActionHandler {
11
+ constructor(store) {
12
+ this.store = store;
13
+ /** @inheritdoc */
14
+ this.supportingActions = [RULES_ENGINE_ASSET_UPDATE_ACTION_TYPE];
15
+ }
16
+ /** @inheritdoc */
17
+ executeActions(actions) {
18
+ const assetPathOverrides = actions.reduce((acc, { asset, value }) => {
19
+ acc[asset] = value;
20
+ return acc;
21
+ }, {});
22
+ this.store.dispatch(setAssetPathOverride({ state: { assetPathOverrides } }));
23
+ }
24
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AssetRulesEngineActionHandler, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
25
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AssetRulesEngineActionHandler }); }
26
+ }
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AssetRulesEngineActionHandler, decorators: [{
28
+ type: Injectable
29
+ }], ctorParameters: () => [{ type: i1.Store }] });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQuaGFuZGxlci1hY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnVsZXMtZW5naW5lL2Fzc2V0LmhhbmRsZXItYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxVQUFVLEdBQ1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLEtBQUssR0FDTixNQUFNLGFBQWEsQ0FBQztBQUlyQixPQUFPLEVBRUwscUNBQXFDLEdBQ3RDLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUVMLG9CQUFvQixHQUNyQixNQUFNLHNCQUFzQixDQUFDOzs7QUFFOUI7O0dBRUc7QUFFSCxNQUFNLE9BQU8sNkJBQTZCO0lBSXhDLFlBQTZCLEtBQW9DO1FBQXBDLFVBQUssR0FBTCxLQUFLLENBQStCO1FBSGpFLGtCQUFrQjtRQUNGLHNCQUFpQixHQUFHLENBQUMscUNBQXFDLENBQVUsQ0FBQztJQUVqQixDQUFDO0lBRXJFLGtCQUFrQjtJQUNYLGNBQWMsQ0FBQyxPQUFpQztRQUNyRCxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQXlCLENBQUMsR0FBRyxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUU7WUFDMUYsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssQ0FBQztZQUNuQixPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUVQLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsa0JBQWtCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMvRSxDQUFDO2tJQWRVLDZCQUE2QjtzSUFBN0IsNkJBQTZCOzs0RkFBN0IsNkJBQTZCO2tCQUR6QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5qZWN0YWJsZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTdG9yZSxcbn0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHR5cGUge1xuICBSdWxlc0VuZ2luZUFjdGlvbkhhbmRsZXIsXG59IGZyb20gJ0BvM3IvY29yZSc7XG5pbXBvcnQge1xuICBBY3Rpb25VcGRhdGVBc3NldEJsb2NrLFxuICBSVUxFU19FTkdJTkVfQVNTRVRfVVBEQVRFX0FDVElPTl9UWVBFLFxufSBmcm9tICcuL2Fzc2V0LmludGVyZmFjZXMnO1xuaW1wb3J0IHtcbiAgQXNzZXRQYXRoT3ZlcnJpZGVTdG9yZSxcbiAgc2V0QXNzZXRQYXRoT3ZlcnJpZGUsXG59IGZyb20gJ0BvM3IvZHluYW1pYy1jb250ZW50JztcblxuLyoqXG4gKiBTZXJ2aWNlIHRvIGhhbmRsZSBhc3luYyBBc3NldCBhY3Rpb25zXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBc3NldFJ1bGVzRW5naW5lQWN0aW9uSGFuZGxlciBpbXBsZW1lbnRzIFJ1bGVzRW5naW5lQWN0aW9uSGFuZGxlcjxBY3Rpb25VcGRhdGVBc3NldEJsb2NrPiB7XG4gIC8qKiBAaW5oZXJpdGRvYyAqL1xuICBwdWJsaWMgcmVhZG9ubHkgc3VwcG9ydGluZ0FjdGlvbnMgPSBbUlVMRVNfRU5HSU5FX0FTU0VUX1VQREFURV9BQ1RJT05fVFlQRV0gYXMgY29uc3Q7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzdG9yZTogU3RvcmU8QXNzZXRQYXRoT3ZlcnJpZGVTdG9yZT4pIHt9XG5cbiAgLyoqIEBpbmhlcml0ZG9jICovXG4gIHB1YmxpYyBleGVjdXRlQWN0aW9ucyhhY3Rpb25zOiBBY3Rpb25VcGRhdGVBc3NldEJsb2NrW10pOiB2b2lkIHwgUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgYXNzZXRQYXRoT3ZlcnJpZGVzID0gYWN0aW9ucy5yZWR1Y2U8UmVjb3JkPHN0cmluZywgc3RyaW5nPj4oKGFjYywgeyBhc3NldCwgdmFsdWUgfSkgPT4ge1xuICAgICAgYWNjW2Fzc2V0XSA9IHZhbHVlO1xuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCB7fSk7XG5cbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHNldEFzc2V0UGF0aE92ZXJyaWRlKHsgc3RhdGU6IHsgYXNzZXRQYXRoT3ZlcnJpZGVzIH0gfSkpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ /** ActionUpdateAssetBlock */
2
+ export const RULES_ENGINE_ASSET_UPDATE_ACTION_TYPE = 'UPDATE_ASSET';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQuaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlcy1lbmdpbmUvYXNzZXQuaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSw4QkFBOEI7QUFDOUIsTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQUcsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBSdWxlc0VuZ2luZUFjdGlvbixcbn0gZnJvbSAnQG8zci9jb3JlJztcblxuLyoqIEFjdGlvblVwZGF0ZUFzc2V0QmxvY2sgICovXG5leHBvcnQgY29uc3QgUlVMRVNfRU5HSU5FX0FTU0VUX1VQREFURV9BQ1RJT05fVFlQRSA9ICdVUERBVEVfQVNTRVQnO1xuXG4vKipcbiAqIENvbnRlbnQgb2YgYWN0aW9uIHRoYXQgdXBkYXRlcyBhc3NldFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvblVwZGF0ZUFzc2V0QmxvY2sgZXh0ZW5kcyBSdWxlc0VuZ2luZUFjdGlvbiB7XG4gIGFjdGlvblR5cGU6IHR5cGVvZiBSVUxFU19FTkdJTkVfQVNTRVRfVVBEQVRFX0FDVElPTl9UWVBFO1xuICBhc3NldDogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xufVxuIl19
@@ -0,0 +1,23 @@
1
+ import { NgModule, } from '@angular/core';
2
+ import { AssetRulesEngineActionHandler, } from './asset.handler-action';
3
+ import { AssetPathOverrideStoreModule, } from '@o3r/dynamic-content';
4
+ import * as i0 from "@angular/core";
5
+ export class AssetRulesEngineActionModule {
6
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AssetRulesEngineActionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: AssetRulesEngineActionModule, imports: [AssetPathOverrideStoreModule] }); }
8
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AssetRulesEngineActionModule, providers: [
9
+ AssetRulesEngineActionHandler
10
+ ], imports: [AssetPathOverrideStoreModule] }); }
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AssetRulesEngineActionModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ imports: [
16
+ AssetPathOverrideStoreModule
17
+ ],
18
+ providers: [
19
+ AssetRulesEngineActionHandler
20
+ ]
21
+ }]
22
+ }] });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQucnVsZXMtZW5naW5lLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlcy1lbmdpbmUvYXNzZXQucnVsZXMtZW5naW5lLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCw2QkFBNkIsR0FDOUIsTUFBTSx3QkFBd0IsQ0FBQztBQUNoQyxPQUFPLEVBQ0wsNEJBQTRCLEdBQzdCLE1BQU0sc0JBQXNCLENBQUM7O0FBVTlCLE1BQU0sT0FBTyw0QkFBNEI7a0lBQTVCLDRCQUE0QjttSUFBNUIsNEJBQTRCLFlBTnJDLDRCQUE0QjttSUFNbkIsNEJBQTRCLGFBSjVCO1lBQ1QsNkJBQTZCO1NBQzlCLFlBSkMsNEJBQTRCOzs0RkFNbkIsNEJBQTRCO2tCQVJ4QyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCw0QkFBNEI7cUJBQzdCO29CQUNELFNBQVMsRUFBRTt3QkFDVCw2QkFBNkI7cUJBQzlCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTmdNb2R1bGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQXNzZXRSdWxlc0VuZ2luZUFjdGlvbkhhbmRsZXIsXG59IGZyb20gJy4vYXNzZXQuaGFuZGxlci1hY3Rpb24nO1xuaW1wb3J0IHtcbiAgQXNzZXRQYXRoT3ZlcnJpZGVTdG9yZU1vZHVsZSxcbn0gZnJvbSAnQG8zci9keW5hbWljLWNvbnRlbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQXNzZXRQYXRoT3ZlcnJpZGVTdG9yZU1vZHVsZVxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBBc3NldFJ1bGVzRW5naW5lQWN0aW9uSGFuZGxlclxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEFzc2V0UnVsZXNFbmdpbmVBY3Rpb25Nb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './public_api';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibzNyLWR5bmFtaWMtY29udGVudC1ydWxlcy1lbmdpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcnVsZXMtZW5naW5lL28zci1keW5hbWljLWNvbnRlbnQtcnVsZXMtZW5naW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljX2FwaSc7XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export * from './asset.handler-action';
2
+ export * from './asset.interfaces';
3
+ export * from './asset.rules-engine.module';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ydWxlcy1lbmdpbmUvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXNzZXQuaGFuZGxlci1hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9hc3NldC5pbnRlcmZhY2VzJztcbmV4cG9ydCAqIGZyb20gJy4vYXNzZXQucnVsZXMtZW5naW5lLm1vZHVsZSc7XG4iXX0=
@@ -0,0 +1,81 @@
1
+ import { NgModule, } from '@angular/core';
2
+ import { DynamicContentPipe, O3rDynamicContentPipe, } from './dynamic-content.pipe';
3
+ import { DynamicContentService, } from './dynamic-content.service';
4
+ import { CMS_ASSETS_PATH_TOKEN, DYNAMIC_CONTENT_BASE_PATH_TOKEN, } from './dynamic-content.token';
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Function to get dynamic content from body dataset
8
+ */
9
+ export function getDynamicContent() {
10
+ return document.body.dataset.dynamiccontentpath || '';
11
+ }
12
+ /**
13
+ * Function to get the cms assets from body dataset
14
+ * This will be used only in a CMS context(not in local or prod) to display correctly the assets in the editor
15
+ */
16
+ export function getCmsAssets() {
17
+ return document.body.dataset.cmsassetspath || '';
18
+ }
19
+ /**
20
+ * DynamicContent module
21
+ */
22
+ export class DynamicContentModule {
23
+ /**
24
+ * Customize the location where the application will search for the base path of dynamic content
25
+ * @param dynamicPath Configuration for dynamic content path
26
+ * @param dynamicPath.content The string will be used as base path of dynamic content
27
+ * @param dynamicPath.cmsAssets The string will be used for the the base path of cms assets
28
+ * @note The cmsAssets will be used only in the cms editor mode and it will take priority over dynamic content
29
+ */
30
+ static forRoot(dynamicPath) {
31
+ const providers = [];
32
+ if ('content' in dynamicPath) {
33
+ providers.push({
34
+ provide: DYNAMIC_CONTENT_BASE_PATH_TOKEN,
35
+ useValue: dynamicPath.content
36
+ });
37
+ }
38
+ if ('cmsAssets' in dynamicPath) {
39
+ providers.push({
40
+ provide: CMS_ASSETS_PATH_TOKEN,
41
+ useValue: dynamicPath.cmsAssets
42
+ });
43
+ }
44
+ return {
45
+ ngModule: DynamicContentModule,
46
+ providers
47
+ };
48
+ }
49
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicContentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
50
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DynamicContentModule, declarations: [DynamicContentPipe, O3rDynamicContentPipe], exports: [DynamicContentPipe, O3rDynamicContentPipe] }); }
51
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicContentModule, providers: [
52
+ {
53
+ provide: DYNAMIC_CONTENT_BASE_PATH_TOKEN,
54
+ useFactory: getDynamicContent
55
+ },
56
+ {
57
+ provide: CMS_ASSETS_PATH_TOKEN,
58
+ useFactory: getCmsAssets
59
+ },
60
+ DynamicContentService
61
+ ] }); }
62
+ }
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicContentModule, decorators: [{
64
+ type: NgModule,
65
+ args: [{
66
+ declarations: [DynamicContentPipe, O3rDynamicContentPipe],
67
+ providers: [
68
+ {
69
+ provide: DYNAMIC_CONTENT_BASE_PATH_TOKEN,
70
+ useFactory: getDynamicContent
71
+ },
72
+ {
73
+ provide: CMS_ASSETS_PATH_TOKEN,
74
+ useFactory: getCmsAssets
75
+ },
76
+ DynamicContentService
77
+ ],
78
+ exports: [DynamicContentPipe, O3rDynamicContentPipe]
79
+ }]
80
+ }] });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb250ZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9keW5hbWljLWNvbnRlbnQvZHluYW1pYy1jb250ZW50Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIscUJBQXFCLEdBQ3RCLE1BQU0sd0JBQXdCLENBQUM7QUFDaEMsT0FBTyxFQUNMLHFCQUFxQixHQUN0QixNQUFNLDJCQUEyQixDQUFDO0FBQ25DLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsK0JBQStCLEdBQ2hDLE1BQU0seUJBQXlCLENBQUM7O0FBRWpDOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQjtJQUMvQixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixJQUFJLEVBQUUsQ0FBQztBQUN4RCxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLFlBQVk7SUFDMUIsT0FBTyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO0FBQ25ELENBQUM7QUFpQkQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sb0JBQW9CO0lBQy9COzs7Ozs7T0FNRztJQUNJLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBd0Q7UUFDNUUsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLElBQUksU0FBUyxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQzdCLFNBQVMsQ0FBQyxJQUFJLENBQUM7Z0JBQ2IsT0FBTyxFQUFFLCtCQUErQjtnQkFDeEMsUUFBUSxFQUFFLFdBQVcsQ0FBQyxPQUFPO2FBQzlCLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxJQUFJLFdBQVcsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUMvQixTQUFTLENBQUMsSUFBSSxDQUFDO2dCQUNiLE9BQU8sRUFBRSxxQkFBcUI7Z0JBQzlCLFFBQVEsRUFBRSxXQUFXLENBQUMsU0FBUzthQUNoQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsT0FBTztZQUNMLFFBQVEsRUFBRSxvQkFBb0I7WUFDOUIsU0FBUztTQUNWLENBQUM7SUFDSixDQUFDO2tJQTNCVSxvQkFBb0I7bUlBQXBCLG9CQUFvQixpQkFqQmhCLGtCQUFrQixFQUFFLHFCQUFxQixhQVk5QyxrQkFBa0IsRUFBRSxxQkFBcUI7bUlBS3hDLG9CQUFvQixhQWhCcEI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsK0JBQStCO2dCQUN4QyxVQUFVLEVBQUUsaUJBQWlCO2FBQzlCO1lBQ0Q7Z0JBQ0UsT0FBTyxFQUFFLHFCQUFxQjtnQkFDOUIsVUFBVSxFQUFFLFlBQVk7YUFDekI7WUFDRCxxQkFBcUI7U0FDdEI7OzRGQU1VLG9CQUFvQjtrQkFsQmhDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsa0JBQWtCLEVBQUUscUJBQXFCLENBQUM7b0JBQ3pELFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsK0JBQStCOzRCQUN4QyxVQUFVLEVBQUUsaUJBQWlCO3lCQUM5Qjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUscUJBQXFCOzRCQUM5QixVQUFVLEVBQUUsWUFBWTt5QkFDekI7d0JBQ0QscUJBQXFCO3FCQUN0QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSxxQkFBcUIsQ0FBQztpQkFDckQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBNb2R1bGVXaXRoUHJvdmlkZXJzLFxuICBOZ01vZHVsZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBEeW5hbWljQ29udGVudFBpcGUsXG4gIE8zckR5bmFtaWNDb250ZW50UGlwZSxcbn0gZnJvbSAnLi9keW5hbWljLWNvbnRlbnQucGlwZSc7XG5pbXBvcnQge1xuICBEeW5hbWljQ29udGVudFNlcnZpY2UsXG59IGZyb20gJy4vZHluYW1pYy1jb250ZW50LnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgQ01TX0FTU0VUU19QQVRIX1RPS0VOLFxuICBEWU5BTUlDX0NPTlRFTlRfQkFTRV9QQVRIX1RPS0VOLFxufSBmcm9tICcuL2R5bmFtaWMtY29udGVudC50b2tlbic7XG5cbi8qKlxuICogRnVuY3Rpb24gdG8gZ2V0IGR5bmFtaWMgY29udGVudCBmcm9tIGJvZHkgZGF0YXNldFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0RHluYW1pY0NvbnRlbnQoKSB7XG4gIHJldHVybiBkb2N1bWVudC5ib2R5LmRhdGFzZXQuZHluYW1pY2NvbnRlbnRwYXRoIHx8ICcnO1xufVxuXG4vKipcbiAqIEZ1bmN0aW9uIHRvIGdldCB0aGUgY21zIGFzc2V0cyBmcm9tIGJvZHkgZGF0YXNldFxuICogVGhpcyB3aWxsIGJlIHVzZWQgb25seSBpbiBhIENNUyBjb250ZXh0KG5vdCBpbiBsb2NhbCBvciBwcm9kKSB0byBkaXNwbGF5IGNvcnJlY3RseSB0aGUgYXNzZXRzIGluIHRoZSBlZGl0b3JcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENtc0Fzc2V0cygpIHtcbiAgcmV0dXJuIGRvY3VtZW50LmJvZHkuZGF0YXNldC5jbXNhc3NldHNwYXRoIHx8ICcnO1xufVxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtEeW5hbWljQ29udGVudFBpcGUsIE8zckR5bmFtaWNDb250ZW50UGlwZV0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IERZTkFNSUNfQ09OVEVOVF9CQVNFX1BBVEhfVE9LRU4sXG4gICAgICB1c2VGYWN0b3J5OiBnZXREeW5hbWljQ29udGVudFxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogQ01TX0FTU0VUU19QQVRIX1RPS0VOLFxuICAgICAgdXNlRmFjdG9yeTogZ2V0Q21zQXNzZXRzXG4gICAgfSxcbiAgICBEeW5hbWljQ29udGVudFNlcnZpY2VcbiAgXSxcbiAgZXhwb3J0czogW0R5bmFtaWNDb250ZW50UGlwZSwgTzNyRHluYW1pY0NvbnRlbnRQaXBlXVxufSlcbi8qKlxuICogRHluYW1pY0NvbnRlbnQgbW9kdWxlXG4gKi9cbmV4cG9ydCBjbGFzcyBEeW5hbWljQ29udGVudE1vZHVsZSB7XG4gIC8qKlxuICAgKiBDdXN0b21pemUgdGhlIGxvY2F0aW9uIHdoZXJlIHRoZSBhcHBsaWNhdGlvbiB3aWxsIHNlYXJjaCBmb3IgdGhlIGJhc2UgcGF0aCBvZiBkeW5hbWljIGNvbnRlbnRcbiAgICogQHBhcmFtIGR5bmFtaWNQYXRoIENvbmZpZ3VyYXRpb24gZm9yIGR5bmFtaWMgY29udGVudCBwYXRoXG4gICAqIEBwYXJhbSBkeW5hbWljUGF0aC5jb250ZW50IFRoZSBzdHJpbmcgd2lsbCBiZSB1c2VkIGFzIGJhc2UgcGF0aCBvZiBkeW5hbWljIGNvbnRlbnRcbiAgICogQHBhcmFtIGR5bmFtaWNQYXRoLmNtc0Fzc2V0cyBUaGUgc3RyaW5nIHdpbGwgYmUgdXNlZCBmb3IgdGhlIHRoZSBiYXNlIHBhdGggb2YgY21zIGFzc2V0c1xuICAgKiBAbm90ZSBUaGUgY21zQXNzZXRzIHdpbGwgYmUgdXNlZCBvbmx5IGluIHRoZSBjbXMgZWRpdG9yIG1vZGUgYW5kIGl0IHdpbGwgdGFrZSBwcmlvcml0eSBvdmVyIGR5bmFtaWMgY29udGVudFxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmb3JSb290KGR5bmFtaWNQYXRoOiB7IGNvbnRlbnQ6IHN0cmluZyB9IHwgeyBjbXNBc3NldHM6IHN0cmluZyB9KTogTW9kdWxlV2l0aFByb3ZpZGVyczxEeW5hbWljQ29udGVudE1vZHVsZT4ge1xuICAgIGNvbnN0IHByb3ZpZGVycyA9IFtdO1xuICAgIGlmICgnY29udGVudCcgaW4gZHluYW1pY1BhdGgpIHtcbiAgICAgIHByb3ZpZGVycy5wdXNoKHtcbiAgICAgICAgcHJvdmlkZTogRFlOQU1JQ19DT05URU5UX0JBU0VfUEFUSF9UT0tFTixcbiAgICAgICAgdXNlVmFsdWU6IGR5bmFtaWNQYXRoLmNvbnRlbnRcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoJ2Ntc0Fzc2V0cycgaW4gZHluYW1pY1BhdGgpIHtcbiAgICAgIHByb3ZpZGVycy5wdXNoKHtcbiAgICAgICAgcHJvdmlkZTogQ01TX0FTU0VUU19QQVRIX1RPS0VOLFxuICAgICAgICB1c2VWYWx1ZTogZHluYW1pY1BhdGguY21zQXNzZXRzXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IER5bmFtaWNDb250ZW50TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -0,0 +1,48 @@
1
+ import { ChangeDetectorRef, Pipe, } from '@angular/core';
2
+ import { DynamicContentService, } from './dynamic-content.service';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./dynamic-content.service";
5
+ export class O3rDynamicContentPipe {
6
+ constructor(service, cd) {
7
+ this.service = service;
8
+ this.cd = cd;
9
+ /** Path to the media */
10
+ this.mediaPath = '';
11
+ }
12
+ /** @inheritDoc */
13
+ transform(query) {
14
+ if (query !== this.lastQuery) {
15
+ this.lastQuery = query;
16
+ if (this.onMediaPathChange) {
17
+ this.onMediaPathChange.unsubscribe();
18
+ }
19
+ this.onMediaPathChange = this.service.getMediaPathStream(query).subscribe((mediaPath) => {
20
+ this.mediaPath = mediaPath;
21
+ this.cd.markForCheck();
22
+ });
23
+ }
24
+ return this.mediaPath;
25
+ }
26
+ /** @inheritDoc */
27
+ ngOnDestroy() {
28
+ if (this.onMediaPathChange) {
29
+ this.onMediaPathChange.unsubscribe();
30
+ }
31
+ }
32
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: O3rDynamicContentPipe, deps: [{ token: i1.DynamicContentService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Pipe }); }
33
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: O3rDynamicContentPipe, name: "o3rDynamicContent", pure: false }); }
34
+ }
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: O3rDynamicContentPipe, decorators: [{
36
+ type: Pipe,
37
+ args: [{ name: 'o3rDynamicContent', pure: false }]
38
+ }], ctorParameters: () => [{ type: i1.DynamicContentService }, { type: i0.ChangeDetectorRef }] });
39
+ /** @deprecated please use O3rDynamicContentPipe, will be removed in v12. */
40
+ export class DynamicContentPipe extends O3rDynamicContentPipe {
41
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicContentPipe, deps: null, target: i0.ɵɵFactoryTarget.Pipe }); }
42
+ /** @nocollapse */ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DynamicContentPipe, name: "dynamicContent", pure: false }); }
43
+ }
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicContentPipe, decorators: [{
45
+ type: Pipe,
46
+ args: [{ name: 'dynamicContent', pure: false }]
47
+ }] });
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb250ZW50LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvZHluYW1pYy1jb250ZW50L2R5bmFtaWMtY29udGVudC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFFakIsSUFBSSxHQUVMLE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFDTCxxQkFBcUIsR0FDdEIsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBR25DLE1BQU0sT0FBTyxxQkFBcUI7SUFVaEMsWUFBK0IsT0FBOEIsRUFBcUIsRUFBcUI7UUFBeEUsWUFBTyxHQUFQLE9BQU8sQ0FBdUI7UUFBcUIsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFIdkcsd0JBQXdCO1FBQ2QsY0FBUyxHQUFHLEVBQUUsQ0FBQztJQUVpRixDQUFDO0lBRTNHLGtCQUFrQjtJQUNYLFNBQVMsQ0FBQyxLQUFjO1FBQzdCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2QixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdkMsQ0FBQztZQUNELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO2dCQUN0RixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN6QixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUVELGtCQUFrQjtJQUNYLFdBQVc7UUFDaEIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdkMsQ0FBQztJQUNILENBQUM7a0lBakNVLHFCQUFxQjtnSUFBckIscUJBQXFCOzs0RkFBckIscUJBQXFCO2tCQURqQyxJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLG1CQUFtQixFQUFFLElBQUksRUFBRSxLQUFLLEVBQUU7O0FBcUNoRCw0RUFBNEU7QUFFNUUsTUFBTSxPQUFPLGtCQUFtQixTQUFRLHFCQUFxQjtrSUFBaEQsa0JBQWtCO2dJQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7a0JBRDlCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBPbkRlc3Ryb3ksXG4gIFBpcGUsXG4gIFBpcGVUcmFuc2Zvcm0sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgU3Vic2NyaXB0aW9uLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIER5bmFtaWNDb250ZW50U2VydmljZSxcbn0gZnJvbSAnLi9keW5hbWljLWNvbnRlbnQuc2VydmljZSc7XG5cbkBQaXBlKHsgbmFtZTogJ28zckR5bmFtaWNDb250ZW50JywgcHVyZTogZmFsc2UgfSlcbmV4cG9ydCBjbGFzcyBPM3JEeW5hbWljQ29udGVudFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtLCBPbkRlc3Ryb3kge1xuICAvKiogTGFzdCBxdWVyeSB2YWx1ZSAgKi9cbiAgcHJvdGVjdGVkIGxhc3RRdWVyeT86IHN0cmluZztcblxuICAvKiogU3Vic2NyaXB0aW9uIHRvIHJldHJpZXZlIG1lZGlhIHBhdGggKi9cbiAgcHJvdGVjdGVkIG9uTWVkaWFQYXRoQ2hhbmdlPzogU3Vic2NyaXB0aW9uO1xuXG4gIC8qKiBQYXRoIHRvIHRoZSBtZWRpYSAqL1xuICBwcm90ZWN0ZWQgbWVkaWFQYXRoID0gJyc7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHJlYWRvbmx5IHNlcnZpY2U6IER5bmFtaWNDb250ZW50U2VydmljZSwgcHJvdGVjdGVkIHJlYWRvbmx5IGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIHRyYW5zZm9ybShxdWVyeT86IHN0cmluZykge1xuICAgIGlmIChxdWVyeSAhPT0gdGhpcy5sYXN0UXVlcnkpIHtcbiAgICAgIHRoaXMubGFzdFF1ZXJ5ID0gcXVlcnk7XG4gICAgICBpZiAodGhpcy5vbk1lZGlhUGF0aENoYW5nZSkge1xuICAgICAgICB0aGlzLm9uTWVkaWFQYXRoQ2hhbmdlLnVuc3Vic2NyaWJlKCk7XG4gICAgICB9XG4gICAgICB0aGlzLm9uTWVkaWFQYXRoQ2hhbmdlID0gdGhpcy5zZXJ2aWNlLmdldE1lZGlhUGF0aFN0cmVhbShxdWVyeSkuc3Vic2NyaWJlKChtZWRpYVBhdGgpID0+IHtcbiAgICAgICAgdGhpcy5tZWRpYVBhdGggPSBtZWRpYVBhdGg7XG4gICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5tZWRpYVBhdGg7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm9uTWVkaWFQYXRoQ2hhbmdlKSB7XG4gICAgICB0aGlzLm9uTWVkaWFQYXRoQ2hhbmdlLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG59XG5cbi8qKiBAZGVwcmVjYXRlZCBwbGVhc2UgdXNlIE8zckR5bmFtaWNDb250ZW50UGlwZSwgd2lsbCBiZSByZW1vdmVkIGluIHYxMi4gKi9cbkBQaXBlKHsgbmFtZTogJ2R5bmFtaWNDb250ZW50JywgcHVyZTogZmFsc2UgfSlcbmV4cG9ydCBjbGFzcyBEeW5hbWljQ29udGVudFBpcGUgZXh0ZW5kcyBPM3JEeW5hbWljQ29udGVudFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHt9XG4iXX0=
@@ -0,0 +1,75 @@
1
+ import { Inject, Injectable, Optional, } from '@angular/core';
2
+ import { select, Store, } from '@ngrx/store';
3
+ import { of, } from 'rxjs';
4
+ import { distinctUntilChanged, map, shareReplay, } from 'rxjs/operators';
5
+ import { selectAssetPathOverride, } from '../../stores/index';
6
+ import { CMS_ASSETS_PATH_TOKEN, DYNAMIC_CONTENT_BASE_PATH_TOKEN, } from './dynamic-content.token';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@ngrx/store";
9
+ const MEDIA_FOLDER_NAME = 'assets';
10
+ /**
11
+ * Service for getting dynamic content path
12
+ */
13
+ export class DynamicContentService {
14
+ constructor(dynamicContentPath, cmsOnlyAssetsPath, store) {
15
+ this.cmsOnlyAssetsPath = cmsOnlyAssetsPath;
16
+ this.store = store;
17
+ this.basePath = dynamicContentPath.replace(/\/$/, '');
18
+ this.mediaFolder = MEDIA_FOLDER_NAME;
19
+ }
20
+ normalizePath(assetPath) {
21
+ return assetPath ? assetPath.replace(/^\//, '') : '';
22
+ }
23
+ getContentPath(assetPath) {
24
+ const normalizedAssetPath = this.normalizePath(assetPath);
25
+ return this.basePath === '' ? assetPath || '' : `${this.basePath}/${normalizedAssetPath}`;
26
+ }
27
+ getMediaPath(assetPath) {
28
+ if (this.cmsOnlyAssetsPath && assetPath) {
29
+ return assetPath.startsWith('/') ? assetPath : `${this.cmsOnlyAssetsPath.replace(/\/$/, '')}/${assetPath}`;
30
+ }
31
+ return this.getContentPath(this.mediaFolder ? `${this.mediaFolder}/${this.normalizePath(assetPath)}` : assetPath);
32
+ }
33
+ /**
34
+ * Gets the full path of a content relative to the root
35
+ * Content path doesn't consider any override, you will always get the same file
36
+ * @param assetPath asset location in the root folder
37
+ * @example
38
+ * ```typescript
39
+ * getMediaPath('assets/imgs/my-image.png') // will give you the basePath + 'assets/imgs/my-image.png'
40
+ * ```
41
+ */
42
+ getContentPathStream(assetPath) {
43
+ return of(this.getContentPath(assetPath));
44
+ }
45
+ /**
46
+ * Gets the stream that provides the full path of a media content
47
+ * A Media content is always stored in the 'assets' media folder, no external content will be accessible through this function
48
+ * If any override is applied to the content, returns the override path instead
49
+ * @param assetPath asset location in the media folder (e.g imgs/my-image.png)
50
+ * @example
51
+ * ```typescript
52
+ * getMediaPathStream('imgs/my-image.png') // will give you the basePath + mediaFolder + 'imgs/my-image.png'
53
+ * ```
54
+ */
55
+ getMediaPathStream(assetPath) {
56
+ if (!this.store) {
57
+ return of(this.getMediaPath(assetPath));
58
+ }
59
+ return this.store.pipe(select(selectAssetPathOverride), map((entities) => assetPath && entities && entities[assetPath] ? entities[assetPath] : assetPath), map((finalAssetPath) => this.getMediaPath(finalAssetPath)), distinctUntilChanged(), shareReplay({ bufferSize: 1, refCount: true }));
60
+ }
61
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicContentService, deps: [{ token: DYNAMIC_CONTENT_BASE_PATH_TOKEN }, { token: CMS_ASSETS_PATH_TOKEN }, { token: i1.Store, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
62
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicContentService }); }
63
+ }
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicContentService, decorators: [{
65
+ type: Injectable
66
+ }], ctorParameters: () => [{ type: undefined, decorators: [{
67
+ type: Inject,
68
+ args: [DYNAMIC_CONTENT_BASE_PATH_TOKEN]
69
+ }] }, { type: undefined, decorators: [{
70
+ type: Inject,
71
+ args: [CMS_ASSETS_PATH_TOKEN]
72
+ }] }, { type: i1.Store, decorators: [{
73
+ type: Optional
74
+ }] }] });
75
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb250ZW50LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvZHluYW1pYy1jb250ZW50L2R5bmFtaWMtY29udGVudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxNQUFNLEVBQ04sVUFBVSxFQUNWLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsTUFBTSxFQUNOLEtBQUssR0FDTixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQ0wsRUFBRSxHQUNILE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixHQUFHLEVBQ0gsV0FBVyxHQUNaLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUVMLHVCQUF1QixHQUN4QixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsK0JBQStCLEdBQ2hDLE1BQU0seUJBQXlCLENBQUM7OztBQUVqQyxNQUFNLGlCQUFpQixHQUFHLFFBQVEsQ0FBQztBQUVuQzs7R0FFRztBQUVILE1BQU0sT0FBTyxxQkFBcUI7SUFLaEMsWUFBcUQsa0JBQTBCLEVBQzdCLGlCQUF5QixFQUM1QyxLQUFxQztRQURsQixzQkFBaUIsR0FBakIsaUJBQWlCLENBQVE7UUFDNUMsVUFBSyxHQUFMLEtBQUssQ0FBZ0M7UUFDbEUsSUFBSSxDQUFDLFFBQVEsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxXQUFXLEdBQUcsaUJBQWlCLENBQUM7SUFDdkMsQ0FBQztJQUVPLGFBQWEsQ0FBQyxTQUFrQjtRQUN0QyxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUN2RCxDQUFDO0lBRU8sY0FBYyxDQUFDLFNBQWtCO1FBQ3ZDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMxRCxPQUFPLElBQUksQ0FBQyxRQUFRLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksbUJBQW1CLEVBQUUsQ0FBQztJQUM1RixDQUFDO0lBRU8sWUFBWSxDQUFDLFNBQWtCO1FBQ3JDLElBQUksSUFBSSxDQUFDLGlCQUFpQixJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ3hDLE9BQU8sU0FBUyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQzdHLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDcEgsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksb0JBQW9CLENBQUMsU0FBa0I7UUFDNUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRDs7Ozs7Ozs7O09BU0c7SUFDSSxrQkFBa0IsQ0FBQyxTQUFrQjtRQUMxQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2hCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDcEIsTUFBTSxDQUFDLHVCQUF1QixDQUFDLEVBQy9CLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsU0FBUyxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQ2pHLEdBQUcsQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUMxRCxvQkFBb0IsRUFBRSxFQUN0QixXQUFXLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUMvQyxDQUFDO0lBQ0osQ0FBQztrSUE5RFUscUJBQXFCLGtCQUtaLCtCQUErQixhQUN6QyxxQkFBcUI7c0lBTnBCLHFCQUFxQjs7NEZBQXJCLHFCQUFxQjtrQkFEakMsVUFBVTs7MEJBTUksTUFBTTsyQkFBQywrQkFBK0I7OzBCQUNoRCxNQUFNOzJCQUFDLHFCQUFxQjs7MEJBQzVCLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbmplY3QsXG4gIEluamVjdGFibGUsXG4gIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIHNlbGVjdCxcbiAgU3RvcmUsXG59IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIG9mLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBtYXAsXG4gIHNoYXJlUmVwbGF5LFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBBc3NldFBhdGhPdmVycmlkZVN0b3JlLFxuICBzZWxlY3RBc3NldFBhdGhPdmVycmlkZSxcbn0gZnJvbSAnLi4vLi4vc3RvcmVzL2luZGV4JztcbmltcG9ydCB7XG4gIENNU19BU1NFVFNfUEFUSF9UT0tFTixcbiAgRFlOQU1JQ19DT05URU5UX0JBU0VfUEFUSF9UT0tFTixcbn0gZnJvbSAnLi9keW5hbWljLWNvbnRlbnQudG9rZW4nO1xuXG5jb25zdCBNRURJQV9GT0xERVJfTkFNRSA9ICdhc3NldHMnO1xuXG4vKipcbiAqIFNlcnZpY2UgZm9yIGdldHRpbmcgZHluYW1pYyBjb250ZW50IHBhdGhcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIER5bmFtaWNDb250ZW50U2VydmljZSB7XG4gIHB1YmxpYyByZWFkb25seSBiYXNlUGF0aDogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbWVkaWFGb2xkZXI6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KERZTkFNSUNfQ09OVEVOVF9CQVNFX1BBVEhfVE9LRU4pIGR5bmFtaWNDb250ZW50UGF0aDogc3RyaW5nLFxuICAgIEBJbmplY3QoQ01TX0FTU0VUU19QQVRIX1RPS0VOKSBwcml2YXRlIHJlYWRvbmx5IGNtc09ubHlBc3NldHNQYXRoOiBzdHJpbmcsXG4gICAgQE9wdGlvbmFsKCkgcHJpdmF0ZSByZWFkb25seSBzdG9yZT86IFN0b3JlPEFzc2V0UGF0aE92ZXJyaWRlU3RvcmU+KSB7XG4gICAgdGhpcy5iYXNlUGF0aCA9IGR5bmFtaWNDb250ZW50UGF0aC5yZXBsYWNlKC9cXC8kLywgJycpO1xuICAgIHRoaXMubWVkaWFGb2xkZXIgPSBNRURJQV9GT0xERVJfTkFNRTtcbiAgfVxuXG4gIHByaXZhdGUgbm9ybWFsaXplUGF0aChhc3NldFBhdGg/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYXNzZXRQYXRoID8gYXNzZXRQYXRoLnJlcGxhY2UoL15cXC8vLCAnJykgOiAnJztcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q29udGVudFBhdGgoYXNzZXRQYXRoPzogc3RyaW5nKSB7XG4gICAgY29uc3Qgbm9ybWFsaXplZEFzc2V0UGF0aCA9IHRoaXMubm9ybWFsaXplUGF0aChhc3NldFBhdGgpO1xuICAgIHJldHVybiB0aGlzLmJhc2VQYXRoID09PSAnJyA/IGFzc2V0UGF0aCB8fCAnJyA6IGAke3RoaXMuYmFzZVBhdGh9LyR7bm9ybWFsaXplZEFzc2V0UGF0aH1gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRNZWRpYVBhdGgoYXNzZXRQYXRoPzogc3RyaW5nKSB7XG4gICAgaWYgKHRoaXMuY21zT25seUFzc2V0c1BhdGggJiYgYXNzZXRQYXRoKSB7XG4gICAgICByZXR1cm4gYXNzZXRQYXRoLnN0YXJ0c1dpdGgoJy8nKSA/IGFzc2V0UGF0aCA6IGAke3RoaXMuY21zT25seUFzc2V0c1BhdGgucmVwbGFjZSgvXFwvJC8sICcnKX0vJHthc3NldFBhdGh9YDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ2V0Q29udGVudFBhdGgodGhpcy5tZWRpYUZvbGRlciA/IGAke3RoaXMubWVkaWFGb2xkZXJ9LyR7dGhpcy5ub3JtYWxpemVQYXRoKGFzc2V0UGF0aCl9YCA6IGFzc2V0UGF0aCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgZnVsbCBwYXRoIG9mIGEgY29udGVudCByZWxhdGl2ZSB0byB0aGUgcm9vdFxuICAgKiBDb250ZW50IHBhdGggZG9lc24ndCBjb25zaWRlciBhbnkgb3ZlcnJpZGUsIHlvdSB3aWxsIGFsd2F5cyBnZXQgdGhlIHNhbWUgZmlsZVxuICAgKiBAcGFyYW0gYXNzZXRQYXRoIGFzc2V0IGxvY2F0aW9uIGluIHRoZSByb290IGZvbGRlclxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGdldE1lZGlhUGF0aCgnYXNzZXRzL2ltZ3MvbXktaW1hZ2UucG5nJykgLy8gd2lsbCBnaXZlIHlvdSB0aGUgYmFzZVBhdGggKyAnYXNzZXRzL2ltZ3MvbXktaW1hZ2UucG5nJ1xuICAgKiBgYGBcbiAgICovXG4gIHB1YmxpYyBnZXRDb250ZW50UGF0aFN0cmVhbShhc3NldFBhdGg/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gb2YodGhpcy5nZXRDb250ZW50UGF0aChhc3NldFBhdGgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBzdHJlYW0gdGhhdCBwcm92aWRlcyB0aGUgZnVsbCBwYXRoIG9mIGEgbWVkaWEgY29udGVudFxuICAgKiBBIE1lZGlhIGNvbnRlbnQgaXMgYWx3YXlzIHN0b3JlZCBpbiB0aGUgJ2Fzc2V0cycgbWVkaWEgZm9sZGVyLCBubyBleHRlcm5hbCBjb250ZW50IHdpbGwgYmUgYWNjZXNzaWJsZSB0aHJvdWdoIHRoaXMgZnVuY3Rpb25cbiAgICogSWYgYW55IG92ZXJyaWRlIGlzIGFwcGxpZWQgdG8gdGhlIGNvbnRlbnQsIHJldHVybnMgdGhlIG92ZXJyaWRlIHBhdGggaW5zdGVhZFxuICAgKiBAcGFyYW0gYXNzZXRQYXRoIGFzc2V0IGxvY2F0aW9uIGluIHRoZSBtZWRpYSBmb2xkZXIgKGUuZyBpbWdzL215LWltYWdlLnBuZylcbiAgICogQGV4YW1wbGVcbiAgICogYGBgdHlwZXNjcmlwdFxuICAgKiBnZXRNZWRpYVBhdGhTdHJlYW0oJ2ltZ3MvbXktaW1hZ2UucG5nJykgLy8gd2lsbCBnaXZlIHlvdSB0aGUgYmFzZVBhdGggKyBtZWRpYUZvbGRlciArICdpbWdzL215LWltYWdlLnBuZydcbiAgICogYGBgXG4gICAqL1xuICBwdWJsaWMgZ2V0TWVkaWFQYXRoU3RyZWFtKGFzc2V0UGF0aD86IHN0cmluZykge1xuICAgIGlmICghdGhpcy5zdG9yZSkge1xuICAgICAgcmV0dXJuIG9mKHRoaXMuZ2V0TWVkaWFQYXRoKGFzc2V0UGF0aCkpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zdG9yZS5waXBlKFxuICAgICAgc2VsZWN0KHNlbGVjdEFzc2V0UGF0aE92ZXJyaWRlKSxcbiAgICAgIG1hcCgoZW50aXRpZXMpID0+IGFzc2V0UGF0aCAmJiBlbnRpdGllcyAmJiBlbnRpdGllc1thc3NldFBhdGhdID8gZW50aXRpZXNbYXNzZXRQYXRoXSA6IGFzc2V0UGF0aCksXG4gICAgICBtYXAoKGZpbmFsQXNzZXRQYXRoKSA9PiB0aGlzLmdldE1lZGlhUGF0aChmaW5hbEFzc2V0UGF0aCkpLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSlcbiAgICApO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,11 @@
1
+ import { InjectionToken, } from '@angular/core';
2
+ /**
3
+ * Injection token for the rootpath of dynamic content
4
+ */
5
+ export const DYNAMIC_CONTENT_BASE_PATH_TOKEN = new InjectionToken('Dynamic content path injection token');
6
+ /**
7
+ * Injection token for the assets path injected by the cms
8
+ * This token will be injected only in editor mode
9
+ */
10
+ export const CMS_ASSETS_PATH_TOKEN = new InjectionToken('CMS assets path injection token');
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1jb250ZW50LnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL2R5bmFtaWMtY29udGVudC9keW5hbWljLWNvbnRlbnQudG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGNBQWMsR0FDZixNQUFNLGVBQWUsQ0FBQztBQUV2Qjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUEyQixJQUFJLGNBQWMsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO0FBRWxJOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUEyQixJQUFJLGNBQWMsQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5qZWN0aW9uVG9rZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIEluamVjdGlvbiB0b2tlbiBmb3IgdGhlIHJvb3RwYXRoIG9mIGR5bmFtaWMgY29udGVudFxuICovXG5leHBvcnQgY29uc3QgRFlOQU1JQ19DT05URU5UX0JBU0VfUEFUSF9UT0tFTjogSW5qZWN0aW9uVG9rZW48c3RyaW5nPiA9IG5ldyBJbmplY3Rpb25Ub2tlbignRHluYW1pYyBjb250ZW50IHBhdGggaW5qZWN0aW9uIHRva2VuJyk7XG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIGZvciB0aGUgYXNzZXRzIHBhdGggaW5qZWN0ZWQgYnkgdGhlIGNtc1xuICogVGhpcyB0b2tlbiB3aWxsIGJlIGluamVjdGVkIG9ubHkgaW4gZWRpdG9yIG1vZGVcbiAqL1xuZXhwb3J0IGNvbnN0IENNU19BU1NFVFNfUEFUSF9UT0tFTjogSW5qZWN0aW9uVG9rZW48c3RyaW5nPiA9IG5ldyBJbmplY3Rpb25Ub2tlbignQ01TIGFzc2V0cyBwYXRoIGluamVjdGlvbiB0b2tlbicpO1xuIl19
@@ -0,0 +1,5 @@
1
+ export * from './dynamic-content.module';
2
+ export * from './dynamic-content.pipe';
3
+ export * from './dynamic-content.service';
4
+ export * from './dynamic-content.token';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvZHluYW1pYy1jb250ZW50L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtY29udGVudC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9keW5hbWljLWNvbnRlbnQucGlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtY29udGVudC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZHluYW1pYy1jb250ZW50LnRva2VuJztcbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export * from './dynamic-content/index';
2
+ export * from './request-parameters/index';
3
+ export * from './styling/index';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtY29udGVudC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3JlcXVlc3QtcGFyYW1ldGVycy9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3N0eWxpbmcvaW5kZXgnO1xuIl19
@@ -0,0 +1,4 @@
1
+ export * from './request-parameters.config';
2
+ export * from './request-parameters.module';
3
+ export * from './request-parameters.service';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvcmVxdWVzdC1wYXJhbWV0ZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDhCQUE4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yZXF1ZXN0LXBhcmFtZXRlcnMuY29uZmlnJztcbmV4cG9ydCAqIGZyb20gJy4vcmVxdWVzdC1wYXJhbWV0ZXJzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL3JlcXVlc3QtcGFyYW1ldGVycy5zZXJ2aWNlJztcbiJdfQ==
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Strategies available to read / write data in the RequestParameters service.
3
+ * Rehydrate: if the storage already have data, those will be used by the service, ignoring new data. Otherwise set the storage
4
+ * Merge: storage data will be merged with the ones provided. (provided data has priority)
5
+ * Replace: storage data will be completely replaced by the ones provided
6
+ * ReplaceIfNotEmpty: If no parameters are provided, use the content from storage. Otherwise use the ones provided and update the storage with them.
7
+ */
8
+ export var StorageStrategy;
9
+ (function (StorageStrategy) {
10
+ // eslint-disable-next-line @typescript-eslint/naming-convention -- required naming convention
11
+ StorageStrategy[StorageStrategy["Rehydrate"] = 0] = "Rehydrate";
12
+ // eslint-disable-next-line @typescript-eslint/naming-convention -- required naming convention
13
+ StorageStrategy[StorageStrategy["Merge"] = 1] = "Merge";
14
+ // eslint-disable-next-line @typescript-eslint/naming-convention -- required naming convention
15
+ StorageStrategy[StorageStrategy["Replace"] = 2] = "Replace";
16
+ // eslint-disable-next-line @typescript-eslint/naming-convention -- required naming convention
17
+ StorageStrategy[StorageStrategy["ReplaceIfNotEmpty"] = 3] = "ReplaceIfNotEmpty";
18
+ })(StorageStrategy || (StorageStrategy = {}));
19
+ export const defaultRequestParametersConfig = {
20
+ storage: (typeof window === 'undefined') ? undefined : window.sessionStorage,
21
+ strategy: StorageStrategy.Rehydrate,
22
+ queryParamsValue: (typeof document !== 'undefined' && document.body?.dataset?.query) || '{}',
23
+ postParamsValue: (typeof document !== 'undefined' && document.body?.dataset?.post) || '{}'
24
+ };
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1wYXJhbWV0ZXJzLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9yZXF1ZXN0LXBhcmFtZXRlcnMvcmVxdWVzdC1wYXJhbWV0ZXJzLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxNQUFNLENBQU4sSUFBWSxlQVNYO0FBVEQsV0FBWSxlQUFlO0lBQ3pCLDhGQUE4RjtJQUM5RiwrREFBYSxDQUFBO0lBQ2IsOEZBQThGO0lBQzlGLHVEQUFTLENBQUE7SUFDVCw4RkFBOEY7SUFDOUYsMkRBQVcsQ0FBQTtJQUNYLDhGQUE4RjtJQUM5RiwrRUFBcUIsQ0FBQTtBQUN2QixDQUFDLEVBVFcsZUFBZSxLQUFmLGVBQWUsUUFTMUI7QUF3QkQsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQXNDO0lBQy9FLE9BQU8sRUFBRSxDQUFDLE9BQU8sTUFBTSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjO0lBQzVFLFFBQVEsRUFBRSxlQUFlLENBQUMsU0FBUztJQUNuQyxnQkFBZ0IsRUFBRSxDQUFDLE9BQU8sUUFBUSxLQUFLLFdBQVcsSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsSUFBSSxJQUFJO0lBQzVGLGVBQWUsRUFBRSxDQUFDLE9BQU8sUUFBUSxLQUFLLFdBQVcsSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJO0NBQ2xGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFN0cmF0ZWdpZXMgYXZhaWxhYmxlIHRvIHJlYWQgLyB3cml0ZSBkYXRhIGluIHRoZSBSZXF1ZXN0UGFyYW1ldGVycyBzZXJ2aWNlLlxuICogUmVoeWRyYXRlOiBpZiB0aGUgc3RvcmFnZSBhbHJlYWR5IGhhdmUgZGF0YSwgdGhvc2Ugd2lsbCBiZSB1c2VkIGJ5IHRoZSBzZXJ2aWNlLCBpZ25vcmluZyBuZXcgZGF0YS4gT3RoZXJ3aXNlIHNldCB0aGUgc3RvcmFnZVxuICogTWVyZ2U6IHN0b3JhZ2UgZGF0YSB3aWxsIGJlIG1lcmdlZCB3aXRoIHRoZSBvbmVzIHByb3ZpZGVkLiAocHJvdmlkZWQgZGF0YSBoYXMgcHJpb3JpdHkpXG4gKiBSZXBsYWNlOiBzdG9yYWdlIGRhdGEgd2lsbCBiZSBjb21wbGV0ZWx5IHJlcGxhY2VkIGJ5IHRoZSBvbmVzIHByb3ZpZGVkXG4gKiBSZXBsYWNlSWZOb3RFbXB0eTogSWYgbm8gcGFyYW1ldGVycyBhcmUgcHJvdmlkZWQsIHVzZSB0aGUgY29udGVudCBmcm9tIHN0b3JhZ2UuIE90aGVyd2lzZSB1c2UgdGhlIG9uZXMgcHJvdmlkZWQgYW5kIHVwZGF0ZSB0aGUgc3RvcmFnZSB3aXRoIHRoZW0uXG4gKi9cblxuZXhwb3J0IGVudW0gU3RvcmFnZVN0cmF0ZWd5IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAtLSByZXF1aXJlZCBuYW1pbmcgY29udmVudGlvblxuICBSZWh5ZHJhdGUgPSAwLFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uIC0tIHJlcXVpcmVkIG5hbWluZyBjb252ZW50aW9uXG4gIE1lcmdlID0gMSxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAtLSByZXF1aXJlZCBuYW1pbmcgY29udmVudGlvblxuICBSZXBsYWNlID0gMixcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvbiAtLSByZXF1aXJlZCBuYW1pbmcgY29udmVudGlvblxuICBSZXBsYWNlSWZOb3RFbXB0eSA9IDNcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIHVzZWQgYnkgYSB1c2VyIHRvIGZlZWQgdGhlIHJlcXVlc3QgcGFyYW1ldGVycyBzZXJ2aWNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVlc3RQYXJhbWV0ZXJzQ29uZmlnIHtcbiAgLyoqXG4gICAqIFN0cmF0ZWd5IHVzZWQgYnkgdGhlIFJlcXVlc3RQYXJhbWV0ZXJzIFNlcnZpY2UuIFNlZSBTdG9yYWdlU3RyYXRlZ3kgZm9yIG1vcmUgaW5mb1xuICAgKi9cbiAgc3RyYXRlZ3k6IFN0b3JhZ2VTdHJhdGVneTtcbiAgLyoqXG4gICAqIFN0b3JhZ2UgdXNlZCBieSB0aGUgUmVxdWVzdFBhcmFtZXRlcnMgc2VydmljZVxuICAgKi9cbiAgc3RvcmFnZT86IFN0b3JhZ2U7XG4gIC8qKlxuICAgKiBWYWx1ZSBvZiB0aGUgRE9NIGVsZW1lbnQgY29udGFpbmluZyB5b3VyIHF1ZXJ5IHBhcmFtZXRlcnMgKGUuZy4gYGRvY3VtZW50LmJvZHkuZGF0YXNldC5xdWVyeWApXG4gICAqL1xuICBxdWVyeVBhcmFtc1ZhbHVlOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBWYWx1ZSBvZiB0aGUgRE9NIGVsZW1lbnQgY29udGFpbmluZyB5b3VyIHBvc3QgcGFyYW1ldGVycyAoZS5nLiBgZG9jdW1lbnQuYm9keS5kYXRhc2V0LnBvc3RgKVxuICAgKi9cbiAgcG9zdFBhcmFtc1ZhbHVlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0UmVxdWVzdFBhcmFtZXRlcnNDb25maWc6IFJlYWRvbmx5PFJlcXVlc3RQYXJhbWV0ZXJzQ29uZmlnPiA9IHtcbiAgc3RvcmFnZTogKHR5cGVvZiB3aW5kb3cgPT09ICd1bmRlZmluZWQnKSA/IHVuZGVmaW5lZCA6IHdpbmRvdy5zZXNzaW9uU3RvcmFnZSxcbiAgc3RyYXRlZ3k6IFN0b3JhZ2VTdHJhdGVneS5SZWh5ZHJhdGUsXG4gIHF1ZXJ5UGFyYW1zVmFsdWU6ICh0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnICYmIGRvY3VtZW50LmJvZHk/LmRhdGFzZXQ/LnF1ZXJ5KSB8fCAne30nLFxuICBwb3N0UGFyYW1zVmFsdWU6ICh0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnICYmIGRvY3VtZW50LmJvZHk/LmRhdGFzZXQ/LnBvc3QpIHx8ICd7fSdcbn0gYXMgY29uc3Q7XG4iXX0=
@@ -0,0 +1,50 @@
1
+ import { NgModule, } from '@angular/core';
2
+ import { RequestParametersService, } from './request-parameters.service';
3
+ import { REQUEST_PARAMETERS_CONFIG_TOKEN, } from './request-parameters.token';
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Empty configuration factory, used when config is not provided. It needs a separate function for AOT.
7
+ */
8
+ export function defaultConfigFactory() {
9
+ return {};
10
+ }
11
+ /**
12
+ * RequestParametersService Module
13
+ */
14
+ export class RequestParametersModule {
15
+ static forRoot(config = defaultConfigFactory) {
16
+ return {
17
+ ngModule: RequestParametersModule,
18
+ providers: [
19
+ {
20
+ provide: REQUEST_PARAMETERS_CONFIG_TOKEN,
21
+ useFactory: config
22
+ },
23
+ RequestParametersService
24
+ ]
25
+ };
26
+ }
27
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RequestParametersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
28
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RequestParametersModule }); }
29
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RequestParametersModule, providers: [
30
+ {
31
+ provide: REQUEST_PARAMETERS_CONFIG_TOKEN,
32
+ useValue: {}
33
+ },
34
+ RequestParametersService
35
+ ] }); }
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RequestParametersModule, decorators: [{
38
+ type: NgModule,
39
+ args: [{
40
+ imports: [],
41
+ providers: [
42
+ {
43
+ provide: REQUEST_PARAMETERS_CONFIG_TOKEN,
44
+ useValue: {}
45
+ },
46
+ RequestParametersService
47
+ ]
48
+ }]
49
+ }] });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1wYXJhbWV0ZXJzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9yZXF1ZXN0LXBhcmFtZXRlcnMvcmVxdWVzdC1wYXJhbWV0ZXJzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBSXZCLE9BQU8sRUFDTCx3QkFBd0IsR0FDekIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQ0wsK0JBQStCLEdBQ2hDLE1BQU0sNEJBQTRCLENBQUM7O0FBRXBDOztHQUVHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQjtJQUNsQyxPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUM7QUFDRDs7R0FFRztBQVdILE1BQU0sT0FBTyx1QkFBdUI7SUFDM0IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFpRCxvQkFBb0I7UUFDekYsT0FBTztZQUNMLFFBQVEsRUFBRSx1QkFBdUI7WUFDakMsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSwrQkFBK0I7b0JBQ3hDLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjtnQkFDRCx3QkFBd0I7YUFDekI7U0FDRixDQUFDO0lBQ0osQ0FBQztrSUFaVSx1QkFBdUI7bUlBQXZCLHVCQUF1QjttSUFBdkIsdUJBQXVCLGFBUnZCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLCtCQUErQjtnQkFDeEMsUUFBUSxFQUFFLEVBQUU7YUFDYjtZQUNELHdCQUF3QjtTQUN6Qjs7NEZBRVUsdUJBQXVCO2tCQVZuQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRSxFQUFFO29CQUNYLFNBQVMsRUFBRTt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsK0JBQStCOzRCQUN4QyxRQUFRLEVBQUUsRUFBRTt5QkFDYjt3QkFDRCx3QkFBd0I7cUJBQ3pCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTW9kdWxlV2l0aFByb3ZpZGVycyxcbiAgTmdNb2R1bGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgUmVxdWVzdFBhcmFtZXRlcnNDb25maWcsXG59IGZyb20gJy4vcmVxdWVzdC1wYXJhbWV0ZXJzLmNvbmZpZyc7XG5pbXBvcnQge1xuICBSZXF1ZXN0UGFyYW1ldGVyc1NlcnZpY2UsXG59IGZyb20gJy4vcmVxdWVzdC1wYXJhbWV0ZXJzLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgUkVRVUVTVF9QQVJBTUVURVJTX0NPTkZJR19UT0tFTixcbn0gZnJvbSAnLi9yZXF1ZXN0LXBhcmFtZXRlcnMudG9rZW4nO1xuXG4vKipcbiAqIEVtcHR5IGNvbmZpZ3VyYXRpb24gZmFjdG9yeSwgdXNlZCB3aGVuIGNvbmZpZyBpcyBub3QgcHJvdmlkZWQuIEl0IG5lZWRzIGEgc2VwYXJhdGUgZnVuY3Rpb24gZm9yIEFPVC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRDb25maWdGYWN0b3J5KCkge1xuICByZXR1cm4ge307XG59XG4vKipcbiAqIFJlcXVlc3RQYXJhbWV0ZXJzU2VydmljZSBNb2R1bGVcbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW10sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFJFUVVFU1RfUEFSQU1FVEVSU19DT05GSUdfVE9LRU4sXG4gICAgICB1c2VWYWx1ZToge31cbiAgICB9LFxuICAgIFJlcXVlc3RQYXJhbWV0ZXJzU2VydmljZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIFJlcXVlc3RQYXJhbWV0ZXJzTW9kdWxlIHtcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KGNvbmZpZzogKCkgPT4gUGFydGlhbDxSZXF1ZXN0UGFyYW1ldGVyc0NvbmZpZz4gPSBkZWZhdWx0Q29uZmlnRmFjdG9yeSk6IE1vZHVsZVdpdGhQcm92aWRlcnM8UmVxdWVzdFBhcmFtZXRlcnNNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IFJlcXVlc3RQYXJhbWV0ZXJzTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBSRVFVRVNUX1BBUkFNRVRFUlNfQ09ORklHX1RPS0VOLFxuICAgICAgICAgIHVzZUZhY3Rvcnk6IGNvbmZpZ1xuICAgICAgICB9LFxuICAgICAgICBSZXF1ZXN0UGFyYW1ldGVyc1NlcnZpY2VcbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=