@o3r/configuration 12.1.0-prerelease.79 → 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 (60) hide show
  1. package/esm2022/core/configurable.mjs +2 -0
  2. package/esm2022/core/configuration.mjs +35 -0
  3. package/esm2022/core/index.mjs +3 -0
  4. package/esm2022/devkit/configuration-devtools.console.service.mjs +130 -0
  5. package/esm2022/devkit/configuration-devtools.interface.mjs +11 -0
  6. package/esm2022/devkit/configuration-devtools.message.service.mjs +94 -0
  7. package/esm2022/devkit/configuration-devtools.module.mjs +51 -0
  8. package/esm2022/devkit/configuration-devtools.service.mjs +100 -0
  9. package/esm2022/devkit/configuration-devtools.token.mjs +9 -0
  10. package/esm2022/devkit/index.mjs +7 -0
  11. package/esm2022/fixtures/jasmine/configuration.base.service.fixture.jasmine.mjs +22 -0
  12. package/esm2022/fixtures/jasmine/index.mjs +2 -0
  13. package/esm2022/fixtures/jasmine/o3r-configuration-fixtures-jasmine.mjs +5 -0
  14. package/esm2022/fixtures/jest/configuration.base.service.fixture.jest.mjs +22 -0
  15. package/esm2022/fixtures/jest/index.mjs +2 -0
  16. package/esm2022/fixtures/jest/o3r-configuration-fixtures-jest.mjs +5 -0
  17. package/esm2022/o3r-configuration.mjs +5 -0
  18. package/esm2022/public_api.mjs +6 -0
  19. package/esm2022/rules-engine/configuration.handler-action.mjs +40 -0
  20. package/esm2022/rules-engine/configuration.interfaces.mjs +3 -0
  21. package/esm2022/rules-engine/configuration.rules-engine.module.mjs +23 -0
  22. package/esm2022/rules-engine/o3r-configuration-rules-engine.mjs +5 -0
  23. package/esm2022/rules-engine/public_api.mjs +4 -0
  24. package/esm2022/services/configuration/configuration.base.module.mjs +16 -0
  25. package/esm2022/services/configuration/configuration.base.service.mjs +100 -0
  26. package/esm2022/services/configuration/index.mjs +3 -0
  27. package/esm2022/services/index.mjs +2 -0
  28. package/esm2022/stores/config-override/config-override.actions.mjs +8 -0
  29. package/esm2022/stores/config-override/config-override.module.mjs +39 -0
  30. package/esm2022/stores/config-override/config-override.reducer.mjs +17 -0
  31. package/esm2022/stores/config-override/config-override.selectors.mjs +12 -0
  32. package/esm2022/stores/config-override/config-override.state.mjs +5 -0
  33. package/esm2022/stores/config-override/config-override.sync.mjs +15 -0
  34. package/esm2022/stores/config-override/index.mjs +7 -0
  35. package/esm2022/stores/configuration/configuration.actions.mjs +33 -0
  36. package/esm2022/stores/configuration/configuration.helpers.mjs +14 -0
  37. package/esm2022/stores/configuration/configuration.module.mjs +39 -0
  38. package/esm2022/stores/configuration/configuration.reducer.mjs +29 -0
  39. package/esm2022/stores/configuration/configuration.selectors.mjs +28 -0
  40. package/esm2022/stores/configuration/configuration.state.mjs +9 -0
  41. package/esm2022/stores/configuration/configuration.sync.mjs +11 -0
  42. package/esm2022/stores/configuration/index.mjs +8 -0
  43. package/esm2022/stores/index.mjs +3 -0
  44. package/esm2022/tools/configuration.decorators.mjs +35 -0
  45. package/esm2022/tools/configuration.observer.mjs +38 -0
  46. package/esm2022/tools/configuration.signal.mjs +16 -0
  47. package/esm2022/tools/index.mjs +4 -0
  48. package/middlewares/bootstrap-config.middleware.js.map +1 -0
  49. package/middlewares/index.js.map +1 -0
  50. package/package.json +5 -5
  51. package/schematics/configuration-to-component/index.js.map +1 -0
  52. package/schematics/configuration-to-component/schema.js.map +1 -0
  53. package/schematics/ng-add/helpers/devtools-registration.js.map +1 -0
  54. package/schematics/ng-add/index.js.map +1 -0
  55. package/schematics/ng-add/schema.js.map +1 -0
  56. package/schematics/ng-update/v10-3/index.js.map +1 -0
  57. package/schematics/ng-update/v11-6/index.js.map +1 -0
  58. package/schematics/ng-update/v12-0/index.js.map +1 -0
  59. package/schematics/use-config-signal/index.js.map +1 -0
  60. package/schematics/use-config-signal/schema.js.map +1 -0
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvcmUvY29uZmlndXJhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSB7IER5bmFtaWNDb25maWd1cmFibGUsIENvbmZpZ3VyYWJsZSwgRHluYW1pY0NvbmZpZ3VyYWJsZVdpdGhTaWduYWwgfSBmcm9tICdAbzNyL2NvcmUnO1xuIl19
@@ -0,0 +1,35 @@
1
+ import { computeItemIdentifier, deepFill, } from '@o3r/core';
2
+ import { distinctUntilChanged, map, shareReplay, } from 'rxjs/operators';
3
+ /**
4
+ * Get the configuration name
5
+ * @deprecated use {@link computeItemIdentifier} from @o3r/core. Will be removed in v12
6
+ * @param componentName Name of the component to get the configuration
7
+ * @param libraryName Name of the library the component is coming from
8
+ */
9
+ export function computeConfigurationName(componentName, libraryName) {
10
+ return computeItemIdentifier(componentName, libraryName);
11
+ }
12
+ /**
13
+ * Get the component and library's names based on the configuration name
14
+ * @param configurationName Name of the component as found in the store
15
+ * @returns Object containing library and component name.
16
+ */
17
+ export function parseConfigurationName(configurationName) {
18
+ const parsedConfigurationName = configurationName.match(/^([^#]*)#(.*)$/i);
19
+ if (parsedConfigurationName) {
20
+ return {
21
+ library: parsedConfigurationName.length > 2 ? parsedConfigurationName[1] : undefined,
22
+ componentName: parsedConfigurationName.length > 2 ? parsedConfigurationName[2] : parsedConfigurationName[0]
23
+ };
24
+ }
25
+ }
26
+ /**
27
+ * Operator to get the configuration from store for a given component and merge it with the global config
28
+ * @param defaultValue Default value of the configuration
29
+ */
30
+ export function getConfiguration(defaultValue) {
31
+ return (source) => source.pipe(map((configOverride) => {
32
+ return deepFill(defaultValue, configOverride);
33
+ }), distinctUntilChanged((prev, current) => JSON.stringify(prev) === JSON.stringify(current)), shareReplay({ refCount: true, bufferSize: 1 }));
34
+ }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb3JlL2NvbmZpZ3VyYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixRQUFRLEdBQ1QsTUFBTSxXQUFXLENBQUM7QUFJbkIsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixHQUFHLEVBQ0gsV0FBVyxHQUNaLE1BQU0sZ0JBQWdCLENBQUM7QUFzQnhCOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLHdCQUF3QixDQUFDLGFBQXFCLEVBQUUsV0FBb0I7SUFDbEYsT0FBTyxxQkFBcUIsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDM0QsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsaUJBQXlCO0lBQzlELE1BQU0sdUJBQXVCLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDM0UsSUFBSSx1QkFBdUIsRUFBRSxDQUFDO1FBQzVCLE9BQU87WUFDTCxPQUFPLEVBQUUsdUJBQXVCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVM7WUFDcEYsYUFBYSxFQUFFLHVCQUF1QixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLENBQUM7U0FDNUcsQ0FBQztJQUNKLENBQUM7QUFDSCxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFvQyxZQUFlO0lBQ2pGLE9BQU8sQ0FBdUIsTUFBa0MsRUFBaUIsRUFBRSxDQUNqRixNQUFNLENBQUMsSUFBSSxDQUNULEdBQUcsQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFO1FBQ3JCLE9BQU8sUUFBUSxDQUFDLFlBQVksRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNoRCxDQUFDLENBQUMsRUFDRixvQkFBb0IsQ0FBQyxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUN6RixXQUFXLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUMvQyxDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGNvbXB1dGVJdGVtSWRlbnRpZmllcixcbiAgZGVlcEZpbGwsXG59IGZyb20gJ0BvM3IvY29yZSc7XG5pbXBvcnQge1xuICBPYnNlcnZhYmxlLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBtYXAsXG4gIHNoYXJlUmVwbGF5LFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogSW50ZXJmYWNlIHRvIGRlZmluZSB0aGUgZXJyb3IgbWVzc2FnZXMgaW50byBjb21wb25lbnQgY29uZmlndXJhdGlvblxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVycm9yTWVzc2FnZXMge1xuICAvKipcbiAgICogRXJyb3IgbWVzc2FnZSBtYXBcbiAgICovXG4gIGVycm9yTWVzc2FnZXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIHRvIHNwZWNpZnkgdGhhdCB0aGUgY29tcG9uZW50IGhhcyBhbiBJRFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElkZW50aWZpYWJsZSB7XG4gIC8qKlxuICAgKiBJZGVudGlmaWVyXG4gICAqL1xuICBpZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIEdldCB0aGUgY29uZmlndXJhdGlvbiBuYW1lXG4gKiBAZGVwcmVjYXRlZCB1c2Uge0BsaW5rIGNvbXB1dGVJdGVtSWRlbnRpZmllcn0gZnJvbSBAbzNyL2NvcmUuIFdpbGwgYmUgcmVtb3ZlZCBpbiB2MTJcbiAqIEBwYXJhbSBjb21wb25lbnROYW1lIE5hbWUgb2YgdGhlIGNvbXBvbmVudCB0byBnZXQgdGhlIGNvbmZpZ3VyYXRpb25cbiAqIEBwYXJhbSBsaWJyYXJ5TmFtZSBOYW1lIG9mIHRoZSBsaWJyYXJ5IHRoZSBjb21wb25lbnQgaXMgY29taW5nIGZyb21cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbXB1dGVDb25maWd1cmF0aW9uTmFtZShjb21wb25lbnROYW1lOiBzdHJpbmcsIGxpYnJhcnlOYW1lPzogc3RyaW5nKSB7XG4gIHJldHVybiBjb21wdXRlSXRlbUlkZW50aWZpZXIoY29tcG9uZW50TmFtZSwgbGlicmFyeU5hbWUpO1xufVxuXG4vKipcbiAqIEdldCB0aGUgY29tcG9uZW50IGFuZCBsaWJyYXJ5J3MgbmFtZXMgYmFzZWQgb24gdGhlIGNvbmZpZ3VyYXRpb24gbmFtZVxuICogQHBhcmFtIGNvbmZpZ3VyYXRpb25OYW1lIE5hbWUgb2YgdGhlIGNvbXBvbmVudCBhcyBmb3VuZCBpbiB0aGUgc3RvcmVcbiAqIEByZXR1cm5zIE9iamVjdCBjb250YWluaW5nIGxpYnJhcnkgYW5kIGNvbXBvbmVudCBuYW1lLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VDb25maWd1cmF0aW9uTmFtZShjb25maWd1cmF0aW9uTmFtZTogc3RyaW5nKTogeyBsaWJyYXJ5Pzogc3RyaW5nOyBsaWJyYXJ5TmFtZT86IHN0cmluZzsgY29tcG9uZW50TmFtZTogc3RyaW5nIH0gfCB1bmRlZmluZWQge1xuICBjb25zdCBwYXJzZWRDb25maWd1cmF0aW9uTmFtZSA9IGNvbmZpZ3VyYXRpb25OYW1lLm1hdGNoKC9eKFteI10qKSMoLiopJC9pKTtcbiAgaWYgKHBhcnNlZENvbmZpZ3VyYXRpb25OYW1lKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGxpYnJhcnk6IHBhcnNlZENvbmZpZ3VyYXRpb25OYW1lLmxlbmd0aCA+IDIgPyBwYXJzZWRDb25maWd1cmF0aW9uTmFtZVsxXSA6IHVuZGVmaW5lZCxcbiAgICAgIGNvbXBvbmVudE5hbWU6IHBhcnNlZENvbmZpZ3VyYXRpb25OYW1lLmxlbmd0aCA+IDIgPyBwYXJzZWRDb25maWd1cmF0aW9uTmFtZVsyXSA6IHBhcnNlZENvbmZpZ3VyYXRpb25OYW1lWzBdXG4gICAgfTtcbiAgfVxufVxuXG4vKipcbiAqIE9wZXJhdG9yIHRvIGdldCB0aGUgY29uZmlndXJhdGlvbiBmcm9tIHN0b3JlIGZvciBhIGdpdmVuIGNvbXBvbmVudCBhbmQgbWVyZ2UgaXQgd2l0aCB0aGUgZ2xvYmFsIGNvbmZpZ1xuICogQHBhcmFtIGRlZmF1bHRWYWx1ZSBEZWZhdWx0IHZhbHVlIG9mIHRoZSBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRDb25maWd1cmF0aW9uPFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4oZGVmYXVsdFZhbHVlOiBUKSB7XG4gIHJldHVybiA8QyBleHRlbmRzIFBhcnRpYWw8VD4+KHNvdXJjZTogT2JzZXJ2YWJsZTxDIHwgdW5kZWZpbmVkID4pOiBPYnNlcnZhYmxlPFQ+ID0+XG4gICAgc291cmNlLnBpcGUoXG4gICAgICBtYXAoKGNvbmZpZ092ZXJyaWRlKSA9PiB7XG4gICAgICAgIHJldHVybiBkZWVwRmlsbChkZWZhdWx0VmFsdWUsIGNvbmZpZ092ZXJyaWRlKTtcbiAgICAgIH0pLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKHByZXYsIGN1cnJlbnQpID0+IEpTT04uc3RyaW5naWZ5KHByZXYpID09PSBKU09OLnN0cmluZ2lmeShjdXJyZW50KSksXG4gICAgICBzaGFyZVJlcGxheSh7IHJlZkNvdW50OiB0cnVlLCBidWZmZXJTaXplOiAxIH0pXG4gICAgKTtcbn1cbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export * from './configurable';
2
+ export * from './configuration';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29yZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbmZpZ3VyYWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZ3VyYXRpb24nO1xuIl19
@@ -0,0 +1,130 @@
1
+ /* eslint-disable no-console -- service to log message in the console */
2
+ import { Inject, Injectable, Optional, } from '@angular/core';
3
+ import { firstValueFrom, } from 'rxjs';
4
+ import { OtterConfigurationDevtools, } from './configuration-devtools.service';
5
+ import { OTTER_CONFIGURATION_DEVTOOLS_DEFAULT_OPTIONS, OTTER_CONFIGURATION_DEVTOOLS_OPTIONS, } from './configuration-devtools.token';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "./configuration-devtools.service";
8
+ export class ConfigurationDevtoolsConsoleService {
9
+ /** Name of the Window property to access to the devtools */
10
+ static { this.windowModuleName = 'configuration'; }
11
+ constructor(configurationDevtools, options) {
12
+ this.configurationDevtools = configurationDevtools;
13
+ this.options = options;
14
+ this.options = { ...OTTER_CONFIGURATION_DEVTOOLS_DEFAULT_OPTIONS, ...options };
15
+ if (this.options.isActivatedOnBootstrap
16
+ || (this.options.isActivatedOnBootstrapWhenCMSContext
17
+ && document.body.dataset.cmscontext === 'true')) {
18
+ this.activate();
19
+ }
20
+ }
21
+ downloadJSON(content, fileName = this.options.defaultJsonFilename) {
22
+ const a = document.createElement('a');
23
+ const file = new Blob([content], { type: 'text/plain' });
24
+ a.href = URL.createObjectURL(file);
25
+ a.download = fileName;
26
+ a.click();
27
+ }
28
+ copyElementToClipboard(content) {
29
+ const input = document.createElement('textarea');
30
+ input.value = content;
31
+ document.body.append(input);
32
+ input.select();
33
+ document.execCommand('copy');
34
+ input.remove();
35
+ }
36
+ /**
37
+ * Set a specified value of a component configuration
38
+ * @param selector Selector for a component configuration
39
+ * @param configProperty Name of the configuration property to set
40
+ * @param configValue Value of the configuration property to set
41
+ */
42
+ setDynamicConfig(selector, configProperty, configValue) {
43
+ this.configurationDevtools.setDynamicConfig(selector, configProperty, configValue);
44
+ }
45
+ /** @inheritDoc */
46
+ activate() {
47
+ const windowWithDevtools = window;
48
+ windowWithDevtools._OTTER_DEVTOOLS_ ||= {};
49
+ windowWithDevtools._OTTER_DEVTOOLS_[ConfigurationDevtoolsConsoleService.windowModuleName] = this;
50
+ console.info(`Otter Configuration Devtools is now accessible via the _OTTER_DEVTOOLS_.${ConfigurationDevtoolsConsoleService.windowModuleName} variable`);
51
+ }
52
+ /**
53
+ * Display the list of configurations loaded in the store and the library they originate from
54
+ * @returns array with the configurations and libraries for example: ["LibComponentsCommonRuntimeConfig from @my-lib/shared-common"]
55
+ */
56
+ async displayComponentsWithConfiguration() {
57
+ const selectors = await this.configurationDevtools.getComponentsWithConfiguration();
58
+ console.log(selectors);
59
+ }
60
+ /**
61
+ * Display the configuration for a specific component
62
+ * @param selector Selector for a component configuration. It can be a string in the form library#configurationName (i.e: '@my-lib/shared-components#HeaderContConfig')
63
+ * or an object with the configuration and library names (i.e: {library:"@my-lib/shared-components", componentName:'HeaderContConfig'}).
64
+ * Note the object input componentName expects a configuration name not a component name.
65
+ * @returns Configuration object (i.e: {airlineLogoPath: "img/airlines/icon-BH.svg", displayLanguageSelector: false})
66
+ */
67
+ async displayCurrentConfigurationFor(selector) {
68
+ const configuration = await this.configurationDevtools.getCurrentConfigurationFor(selector);
69
+ console.log(configuration);
70
+ }
71
+ /**
72
+ * Download the JSON file of the whole configuration
73
+ * @param fileName Name of the file to download
74
+ */
75
+ async saveConfiguration(fileName = this.options.defaultJsonFilename) {
76
+ const configs = await firstValueFrom(this.configurationDevtools.configurationEntities$);
77
+ this.downloadJSON(JSON.stringify(configs), fileName);
78
+ }
79
+ /**
80
+ * Display the whole configuration of the application
81
+ */
82
+ async displayConfiguration() {
83
+ const configs = await this.configurationDevtools.getConfiguration();
84
+ console.log(configs);
85
+ }
86
+ /**
87
+ * Display a bookmark to generate the current configuration
88
+ */
89
+ async displayConfigurationBookmark() {
90
+ const content = await this.configurationDevtools.getConfiguration();
91
+ console.log('BOOKMARK');
92
+ console.log(`javascript:window._OTTER_DEVTOOLS_.updateConfigurations('${JSON.stringify(content).replace(/'/g, '\\\'')}')`);
93
+ }
94
+ /**
95
+ * Copy the whole configuration to the clipboard
96
+ */
97
+ async copyConfigurationToClipboard() {
98
+ const configs = await firstValueFrom(this.configurationDevtools.configurationEntities$);
99
+ this.copyElementToClipboard(JSON.stringify(configs));
100
+ }
101
+ /**
102
+ * Load a json configuration
103
+ * @param configurations configurations to load
104
+ * @deprecated please use `updateConfigurations` instead, will be removed in Otter v12.
105
+ */
106
+ loadConfiguration(configurations) {
107
+ this.configurationDevtools.loadConfiguration(configurations);
108
+ }
109
+ /**
110
+ * Replace N configurations in one shot
111
+ * @param configurations array of configurations to update
112
+ */
113
+ updateConfigurations(configurations) {
114
+ this.configurationDevtools.loadConfiguration(configurations);
115
+ }
116
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigurationDevtoolsConsoleService, deps: [{ token: i1.OtterConfigurationDevtools }, { token: OTTER_CONFIGURATION_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
117
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigurationDevtoolsConsoleService, providedIn: 'root' }); }
118
+ }
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigurationDevtoolsConsoleService, decorators: [{
120
+ type: Injectable,
121
+ args: [{
122
+ providedIn: 'root'
123
+ }]
124
+ }], ctorParameters: () => [{ type: i1.OtterConfigurationDevtools }, { type: undefined, decorators: [{
125
+ type: Optional
126
+ }, {
127
+ type: Inject,
128
+ args: [OTTER_CONFIGURATION_DEVTOOLS_OPTIONS]
129
+ }] }] });
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1kZXZ0b29scy5jb25zb2xlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGV2a2l0L2NvbmZpZ3VyYXRpb24tZGV2dG9vbHMuY29uc29sZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdFQUF3RTtBQUN4RSxPQUFPLEVBQ0wsTUFBTSxFQUNOLFVBQVUsRUFDVixRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFRdkIsT0FBTyxFQUNMLGNBQWMsR0FDZixNQUFNLE1BQU0sQ0FBQztBQUtkLE9BQU8sRUFDTCwwQkFBMEIsR0FDM0IsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxQyxPQUFPLEVBQ0wsNENBQTRDLEVBQzVDLG9DQUFvQyxHQUNyQyxNQUFNLGdDQUFnQyxDQUFDOzs7QUFLeEMsTUFBTSxPQUFPLG1DQUFtQztJQUM5Qyw0REFBNEQ7YUFDckMscUJBQWdCLEdBQUcsZUFBZSxBQUFsQixDQUFtQjtJQUUxRCxZQUNtQixxQkFBaUQsRUFDUyxPQUE0QztRQUR0RywwQkFBcUIsR0FBckIscUJBQXFCLENBQTRCO1FBQ1MsWUFBTyxHQUFQLE9BQU8sQ0FBcUM7UUFFdkgsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLEdBQUcsNENBQTRDLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQztRQUUvRSxJQUNFLElBQUksQ0FBQyxPQUFPLENBQUMsc0JBQXNCO2VBQ2hDLENBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxvQ0FBb0M7bUJBQzdDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBb0MsQ0FBQyxVQUFVLEtBQUssTUFBTSxDQUM3RSxFQUNELENBQUM7WUFDRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEIsQ0FBQztJQUNILENBQUM7SUFFTyxZQUFZLENBQUMsT0FBZSxFQUFFLFdBQW1CLElBQUksQ0FBQyxPQUFPLENBQUMsbUJBQW1CO1FBQ3ZGLE1BQU0sQ0FBQyxHQUFH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Q0FBQyw0REFBNEQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM3SCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsNEJBQTRCO1FBQ3ZDLE1BQU0sT0FBTyxHQUFHLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3hGLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxpQkFBaUIsQ0FBQyxjQUFzRDtRQUM3RSxJQUFJLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVEOzs7T0FHRztJQUNJLG9CQUFvQixDQUFDLGNBQXNEO1FBQ2hGLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUMvRCxDQUFDO2tJQWhJVSxtQ0FBbUMsNERBTXhCLG9DQUFvQztzSUFOL0MsbUNBQW1DLGNBRmxDLE1BQU07OzRGQUVQLG1DQUFtQztrQkFIL0MsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU9JLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsb0NBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tY29uc29sZSAtLSBzZXJ2aWNlIHRvIGxvZyBtZXNzYWdlIGluIHRoZSBjb25zb2xlICovXG5pbXBvcnQge1xuICBJbmplY3QsXG4gIEluamVjdGFibGUsXG4gIE9wdGlvbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHtcbiAgQ29uZmlndXJhdGlvbixcbiAgQ29udGV4dHVhbGl6YXRpb25EYXRhc2V0LFxuICBDdXN0b21Db25maWcsXG4gIERldnRvb2xzU2VydmljZUludGVyZmFjZSxcbiAgV2luZG93V2l0aERldnRvb2xzLFxufSBmcm9tICdAbzNyL2NvcmUnO1xuaW1wb3J0IHtcbiAgZmlyc3RWYWx1ZUZyb20sXG59IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgQ29uZmlndXJhdGlvbkNvbnRleHR1YWxpemF0aW9uRGV2dG9vbHMsXG4gIENvbmZpZ3VyYXRpb25EZXZ0b29sc1NlcnZpY2VPcHRpb25zLFxufSBmcm9tICcuL2NvbmZpZ3VyYXRpb24tZGV2dG9vbHMuaW50ZXJmYWNlJztcbmltcG9ydCB7XG4gIE90dGVyQ29uZmlndXJhdGlvbkRldnRvb2xzLFxufSBmcm9tICcuL2NvbmZpZ3VyYXRpb24tZGV2dG9vbHMuc2VydmljZSc7XG5pbXBvcnQge1xuICBPVFRFUl9DT05GSUdVUkFUSU9OX0RFVlRPT0xTX0RFRkFVTFRfT1BUSU9OUyxcbiAgT1RURVJfQ09ORklHVVJBVElPTl9ERVZUT09MU19PUFRJT05TLFxufSBmcm9tICcuL2NvbmZpZ3VyYXRpb24tZGV2dG9vbHMudG9rZW4nO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uRGV2dG9vbHNDb25zb2xlU2VydmljZSBpbXBsZW1lbnRzIERldnRvb2xzU2VydmljZUludGVyZmFjZSwgQ29uZmlndXJhdGlvbkNvbnRleHR1YWxpemF0aW9uRGV2dG9vbHMge1xuICAvKiogTmFtZSBvZiB0aGUgV2luZG93IHByb3BlcnR5IHRvIGFjY2VzcyB0byB0aGUgZGV2dG9vbHMgKi9cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSB3aW5kb3dNb2R1bGVOYW1lID0gJ2NvbmZpZ3VyYXRpb24nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlndXJhdGlvbkRldnRvb2xzOiBPdHRlckNvbmZpZ3VyYXRpb25EZXZ0b29scyxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KE9UVEVSX0NPTkZJR1VSQVRJT05fREVWVE9PTFNfT1BUSU9OUykgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zOiBDb25maWd1cmF0aW9uRGV2dG9vbHNTZXJ2aWNlT3B0aW9uc1xuICApIHtcbiAgICB0aGlzLm9wdGlvbnMgPSB7IC4uLk9UVEVSX0NPTkZJR1VSQVRJT05fREVWVE9PTFNfREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zIH07XG5cbiAgICBpZiAoXG4gICAgICB0aGlzLm9wdGlvbnMuaXNBY3RpdmF0ZWRPbkJvb3RzdHJhcFxuICAgICAgfHwgKFxuICAgICAgICB0aGlzLm9wdGlvbnMuaXNBY3RpdmF0ZWRPbkJvb3RzdHJhcFdoZW5DTVNDb250ZXh0XG4gICAgICAgICYmIChkb2N1bWVudC5ib2R5LmRhdGFzZXQgYXMgQ29udGV4dHVhbGl6YXRpb25EYXRhc2V0KS5jbXNjb250ZXh0ID09PSAndHJ1ZSdcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRoaXMuYWN0aXZhdGUoKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRvd25sb2FkSlNPTihjb250ZW50OiBzdHJpbmcsIGZpbGVOYW1lOiBzdHJpbmcgPSB0aGlzLm9wdGlvbnMuZGVmYXVsdEpzb25GaWxlbmFtZSk6IHZvaWQge1xuICAgIGNvbnN0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgY29uc3QgZmlsZSA9IG5ldyBCbG9iKFtjb250ZW50XSwgeyB0eXBlOiAndGV4dC9wbGFpbicgfSk7XG4gICAgYS5ocmVmID0gVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKTtcbiAgICBhLmRvd25sb2FkID0gZmlsZU5hbWU7XG4gICAgYS5jbGljaygpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb3B5RWxlbWVudFRvQ2xpcGJvYXJkKGNvbnRlbnQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgndGV4dGFyZWEnKTtcbiAgICBpbnB1dC52YWx1ZSA9IGNvbnRlbnQ7XG4gICAgZG9jdW1lbnQuYm9keS5hcHBlbmQoaW5wdXQpO1xuICAgIGlucHV0LnNlbGVjdCgpO1xuICAgIGRvY3VtZW50LmV4ZWNDb21tYW5kKCdjb3B5Jyk7XG4gICAgaW5wdXQucmVtb3ZlKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IGEgc3BlY2lmaWVkIHZhbHVlIG9mIGEgY29tcG9uZW50IGNvbmZpZ3VyYXRpb25cbiAgICogQHBhcmFtIHNlbGVjdG9yIFNlbGVjdG9yIGZvciBhIGNvbXBvbmVudCBjb25maWd1cmF0aW9uXG4gICAqIEBwYXJhbSBjb25maWdQcm9wZXJ0eSBOYW1lIG9mIHRoZSBjb25maWd1cmF0aW9uIHByb3BlcnR5IHRvIHNldFxuICAgKiBAcGFyYW0gY29uZmlnVmFsdWUgVmFsdWUgb2YgdGhlIGNvbmZpZ3VyYXRpb24gcHJvcGVydHkgdG8gc2V0XG4gICAqL1xuICBwdWJsaWMgc2V0RHluYW1pY0NvbmZpZyhzZWxlY3Rvcjogc3RyaW5nIHwgeyBsaWJyYXJ5Pzogc3RyaW5nOyBjb21wb25lbnROYW1lOiBzdHJpbmcgfSwgY29uZmlnUHJvcGVydHk6IHN0cmluZywgY29uZmlnVmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMuY29uZmlndXJhdGlvbkRldnRvb2xzLnNldER5bmFtaWNDb25maWcoc2VsZWN0b3IsIGNvbmZpZ1Byb3BlcnR5LCBjb25maWdWYWx1ZSk7XG4gIH1cblxuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGFjdGl2YXRlKCkge1xuICAgIGNvbnN0IHdpbmRvd1dpdGhEZXZ0b29sczogV2luZG93V2l0aERldnRvb2xzID0gd2luZG93O1xuICAgIHdpbmRvd1dpdGhEZXZ0b29scy5fT1RURVJfREVWVE9PTFNfIHx8PSB7fTtcbiAgICB3aW5kb3dXaXRoRGV2dG9vbHMuX09UVEVSX0RFVlRPT0xTX1tDb25maWd1cmF0aW9uRGV2dG9vbHNDb25zb2xlU2VydmljZS53aW5kb3dNb2R1bGVOYW1lXSA9IHRoaXM7XG5cbiAgICBjb25zb2xlLmluZm8oYE90dGVyIENvbmZpZ3VyYXRpb24gRGV2dG9vbHMgaXMgbm93IGFjY2Vzc2libGUgdmlhIHRoZSBfT1RURVJfREVWVE9PTFNfLiR7Q29uZmlndXJhdGlvbkRldnRvb2xzQ29uc29sZVNlcnZpY2Uud2luZG93TW9kdWxlTmFtZX0gdmFyaWFibGVgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNwbGF5IHRoZSBsaXN0IG9mIGNvbmZpZ3VyYXRpb25zIGxvYWRlZCBpbiB0aGUgc3RvcmUgYW5kIHRoZSBsaWJyYXJ5IHRoZXkgb3JpZ2luYXRlIGZyb21cbiAgICogQHJldHVybnMgYXJyYXkgd2l0aCB0aGUgY29uZmlndXJhdGlvbnMgYW5kIGxpYnJhcmllcyBmb3IgZXhhbXBsZTogW1wiTGliQ29tcG9uZW50c0NvbW1vblJ1bnRpbWVDb25maWcgZnJvbSBAbXktbGliL3NoYXJlZC1jb21tb25cIl1cbiAgICovXG4gIHB1YmxpYyBhc3luYyBkaXNwbGF5Q29tcG9uZW50c1dpdGhDb25maWd1cmF0aW9uKCkge1xuICAgIGNvbnN0IHNlbGVjdG9ycyA9IGF3YWl0IHRoaXMuY29uZmlndXJhdGlvbkRldnRvb2xzLmdldENvbXBvbmVudHNXaXRoQ29uZmlndXJhdGlvbigpO1xuICAgIGNvbnNvbGUubG9nKHNlbGVjdG9ycyk7XG4gIH1cblxuICAvKipcbiAgICogRGlzcGxheSB0aGUgY29uZmlndXJhdGlvbiBmb3IgYSBzcGVjaWZpYyBjb21wb25lbnRcbiAgICogQHBhcmFtIHNlbGVjdG9yIFNlbGVjdG9yIGZvciBhIGNvbXBvbmVudCBjb25maWd1cmF0aW9uLiBJdCBjYW4gYmUgYSBzdHJpbmcgaW4gdGhlIGZvcm0gbGlicmFyeSNjb25maWd1cmF0aW9uTmFtZSAoaS5lOiAnQG15LWxpYi9zaGFyZWQtY29tcG9uZW50cyNIZWFkZXJDb250Q29uZmlnJylcbiAgICogb3IgYW4gb2JqZWN0IHdpdGggdGhlIGNvbmZpZ3VyYXRpb24gYW5kIGxpYnJhcnkgbmFtZXMgKGkuZToge2xpYnJhcnk6XCJAbXktbGliL3NoYXJlZC1jb21wb25lbnRzXCIsIGNvbXBvbmVudE5hbWU6J0hlYWRlckNvbnRDb25maWcnfSkuXG4gICAqIE5vdGUgdGhlIG9iamVjdCBpbnB1dCBjb21wb25lbnROYW1lIGV4cGVjdHMgYSBjb25maWd1cmF0aW9uIG5hbWUgbm90IGEgY29tcG9uZW50IG5hbWUuXG4gICAqIEByZXR1cm5zIENvbmZpZ3VyYXRpb24gb2JqZWN0IChpLmU6IHthaXJsaW5lTG9nb1BhdGg6IFwiaW1nL2FpcmxpbmVzL2ljb24tQkguc3ZnXCIsIGRpc3BsYXlMYW5ndWFnZVNlbGVjdG9yOiBmYWxzZX0pXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZGlzcGxheUN1cnJlbnRDb25maWd1cmF0aW9uRm9yKHNlbGVjdG9yOiBzdHJpbmcgfCB7IGxpYnJhcnk/OiBzdHJpbmc7IGNvbXBvbmVudE5hbWU6IHN0cmluZyB9KSB7XG4gICAgY29uc3QgY29uZmlndXJhdGlvbiA9IGF3YWl0IHRoaXMuY29uZmlndXJhdGlvbkRldnRvb2xzLmdldEN1cnJlbnRDb25maWd1cmF0aW9uRm9yKHNlbGVjdG9yKTtcbiAgICBjb25zb2xlLmxvZyhjb25maWd1cmF0aW9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEb3dubG9hZCB0aGUgSlNPTiBmaWxlIG9mIHRoZSB3aG9sZSBjb25maWd1cmF0aW9uXG4gICAqIEBwYXJhbSBmaWxlTmFtZSBOYW1lIG9mIHRoZSBmaWxlIHRvIGRvd25sb2FkXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2F2ZUNvbmZpZ3VyYXRpb24oZmlsZU5hbWU6IHN0cmluZyA9IHRoaXMub3B0aW9ucy5kZWZhdWx0SnNvbkZpbGVuYW1lKSB7XG4gICAgY29uc3QgY29uZmlncyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuY29uZmlndXJhdGlvbkRldnRvb2xzLmNvbmZpZ3VyYXRpb25FbnRpdGllcyQpO1xuICAgIHRoaXMuZG93bmxvYWRKU09OKEpTT04uc3RyaW5naWZ5KGNvbmZpZ3MpLCBmaWxlTmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogRGlzcGxheSB0aGUgd2hvbGUgY29uZmlndXJhdGlvbiBvZiB0aGUgYXBwbGljYXRpb25cbiAgICovXG4gIHB1YmxpYyBhc3luYyBkaXNwbGF5Q29uZmlndXJhdGlvbigpIHtcbiAgICBjb25zdCBjb25maWdzID0gYXdhaXQgdGhpcy5jb25maWd1cmF0aW9uRGV2dG9vbHMuZ2V0Q29uZmlndXJhdGlvbigpO1xuICAgIGNvbnNvbGUubG9nKGNvbmZpZ3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc3BsYXkgYSBib29rbWFyayB0byBnZW5lcmF0ZSB0aGUgY3VycmVudCBjb25maWd1cmF0aW9uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZGlzcGxheUNvbmZpZ3VyYXRpb25Cb29rbWFyaygpIHtcbiAgICBjb25zdCBjb250ZW50ID0gYXdhaXQgdGhpcy5jb25maWd1cmF0aW9uRGV2dG9vbHMuZ2V0Q29uZmlndXJhdGlvbigpO1xuXG4gICAgY29uc29sZS5sb2coJ0JPT0tNQVJLJyk7XG4gICAgY29uc29sZS5sb2coYGphdmFzY3JpcHQ6d2luZG93Ll9PVFRFUl9ERVZUT09MU18udXBkYXRlQ29uZmlndXJhdGlvbnMoJyR7SlNPTi5zdHJpbmdpZnkoY29udGVudCkucmVwbGFjZSgvJy9nLCAnXFxcXFxcJycpfScpYCk7XG4gIH1cblxuICAvKipcbiAgICogQ29weSB0aGUgd2hvbGUgY29uZmlndXJhdGlvbiB0byB0aGUgY2xpcGJvYXJkXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY29weUNvbmZpZ3VyYXRpb25Ub0NsaXBib2FyZCgpIHtcbiAgICBjb25zdCBjb25maWdzID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20odGhpcy5jb25maWd1cmF0aW9uRGV2dG9vbHMuY29uZmlndXJhdGlvbkVudGl0aWVzJCk7XG4gICAgdGhpcy5jb3B5RWxlbWVudFRvQ2xpcGJvYXJkKEpTT04uc3RyaW5naWZ5KGNvbmZpZ3MpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2FkIGEganNvbiBjb25maWd1cmF0aW9uXG4gICAqIEBwYXJhbSBjb25maWd1cmF0aW9ucyBjb25maWd1cmF0aW9ucyB0byBsb2FkXG4gICAqIEBkZXByZWNhdGVkIHBsZWFzZSB1c2UgYHVwZGF0ZUNvbmZpZ3VyYXRpb25zYCBpbnN0ZWFkLCB3aWxsIGJlIHJlbW92ZWQgaW4gT3R0ZXIgdjEyLlxuICAgKi9cbiAgcHVibGljIGxvYWRDb25maWd1cmF0aW9uKGNvbmZpZ3VyYXRpb25zOiBzdHJpbmcgfCBDdXN0b21Db25maWc8Q29uZmlndXJhdGlvbj5bXSk6IHZvaWQge1xuICAgIHRoaXMuY29uZmlndXJhdGlvbkRldnRvb2xzLmxvYWRDb25maWd1cmF0aW9uKGNvbmZpZ3VyYXRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXBsYWNlIE4gY29uZmlndXJhdGlvbnMgaW4gb25lIHNob3RcbiAgICogQHBhcmFtIGNvbmZpZ3VyYXRpb25zIGFycmF5IG9mIGNvbmZpZ3VyYXRpb25zIHRvIHVwZGF0ZVxuICAgKi9cbiAgcHVibGljIHVwZGF0ZUNvbmZpZ3VyYXRpb25zKGNvbmZpZ3VyYXRpb25zOiBzdHJpbmcgfCBDdXN0b21Db25maWc8Q29uZmlndXJhdGlvbj5bXSk6IHZvaWQge1xuICAgIHRoaXMuY29uZmlndXJhdGlvbkRldnRvb2xzLmxvYWRDb25maWd1cmF0aW9uKGNvbmZpZ3VyYXRpb25zKTtcbiAgfVxufVxuIl19
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Determine if the given message is a Configuration message
3
+ * @param message message to check
4
+ */
5
+ export const isConfigurationMessage = (message) => {
6
+ return message && (message.dataType === 'configurations'
7
+ || message.dataType === 'updateConfig'
8
+ || message.dataType === 'requestMessages'
9
+ || message.dataType === 'connect');
10
+ };
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1kZXZ0b29scy5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGV2a2l0L2NvbmZpZ3VyYXRpb24tZGV2dG9vbHMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdEQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLE9BQVksRUFBb0QsRUFBRTtJQUN2RyxPQUFPLE9BQU8sSUFBSSxDQUNoQixPQUFPLENBQUMsUUFBUSxLQUFLLGdCQUFnQjtXQUNsQyxPQUFPLENBQUMsUUFBUSxLQUFLLGNBQWM7V0FDbkMsT0FBTyxDQUFDLFFBQVEsS0FBSyxpQkFBaUI7V0FDdEMsT0FBTyxDQUFDLFFBQVEsS0FBSyxTQUFTLENBQUMsQ0FBQztBQUN2QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIERpY3Rpb25hcnksXG59IGZyb20gJ0BuZ3J4L2VudGl0eSc7XG5pbXBvcnQgdHlwZSB7XG4gIENvbmZpZ3VyYXRpb24sXG4gIENvbm5lY3RDb250ZW50TWVzc2FnZSxcbiAgQ29udGV4dHVhbGl6YXRpb25EZXZ0b29sc0NvbW1vbk9wdGlvbnMsXG4gIEN1c3RvbUNvbmZpZyxcbiAgRGV2dG9vbHNDb21tb25PcHRpb25zLFxuICBNZXNzYWdlRGF0YVR5cGVzLFxuICBPdHRlck1lc3NhZ2VDb250ZW50LFxuICBSZXF1ZXN0TWVzc2FnZXNDb250ZW50TWVzc2FnZSxcbn0gZnJvbSAnQG8zci9jb3JlJztcbmltcG9ydCB0eXBlIHtcbiAgQ29uZmlndXJhdGlvbk1vZGVsLFxufSBmcm9tICcuLi9zdG9yZXMvaW5kZXgnO1xuXG4vKiogT3B0aW9uIGZvciBDb25maWd1cmF0aW9uIGRldnRvb2xzIHNlcnZpY2UgKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlndXJhdGlvbkRldnRvb2xzU2VydmljZU9wdGlvbnMgZXh0ZW5kcyBEZXZ0b29sc0NvbW1vbk9wdGlvbnMsIENvbnRleHR1YWxpemF0aW9uRGV2dG9vbHNDb21tb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIERlZmF1bHQgbGlicmFyeSBuYW1lIHRvIHVzZSBpZiBub3Qgc3BlY2lmaWVkIGluIHRoZSBmdW5jdGlvbiBjYWxsXG4gICAqIEBkZWZhdWx0IGBAbzNyL2NvbXBvbmVudHNgXG4gICAqL1xuICBkZWZhdWx0TGlicmFyeU5hbWU6IHN0cmluZztcbiAgLyoqXG4gICAqIERlZmF1bHQgSlNPTiBmaWxlIG5hbWUgaWYgbm90IHNwZWNpZmllZCBpbiB0aGUgZnVuY3Rpb25cbiAgICogQGRlZmF1bHQgcGFydGlhbC1zdGF0aWMtY29uZmlnLmpzb25cbiAgICovXG4gIGRlZmF1bHRKc29uRmlsZW5hbWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25maWd1cmF0aW9uc01lc3NhZ2UgZXh0ZW5kcyBPdHRlck1lc3NhZ2VDb250ZW50PCdjb25maWd1cmF0aW9ucyc+IHtcbiAgLyoqIENvbmZpZ3VyYXRpb25zICovXG4gIGNvbmZpZ3VyYXRpb25zOiBEaWN0aW9uYXJ5PENvbmZpZ3VyYXRpb25Nb2RlbD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlQ29uZmlnTWVzc2FnZSBleHRlbmRzIE90dGVyTWVzc2FnZUNvbnRlbnQ8J3VwZGF0ZUNvbmZpZyc+IHtcbiAgLyoqIENvbmZpZ3VyYXRpb24gSUQgKi9cbiAgaWQ6IHN0cmluZztcbiAgLyoqIENvbmZpZ3VyYXRpb24gdmFsdWUgKi9cbiAgY29uZmlnVmFsdWU6IGFueTtcbn1cblxudHlwZSBDb25maWd1cmF0aW9uTWVzc2FnZUNvbnRlbnRzID1cbiAgfCBDb25maWd1cmF0aW9uc01lc3NhZ2VcbiAgfCBVcGRhdGVDb25maWdNZXNzYWdlO1xuXG4vKiogTGlzdCBvZiBwb3NzaWJsZSBEYXRhVHlwZXMgZm9yIENvbmZpZ3VyYXRpb24gbWVzc2FnZXMgKi9cbmV4cG9ydCB0eXBlIENvbmZpZ3VyYXRpb25NZXNzYWdlRGF0YVR5cGVzID0gTWVzc2FnZURhdGFUeXBlczxDb25maWd1cmF0aW9uTWVzc2FnZUNvbnRlbnRzPjtcblxuLyoqIExpc3Qgb2YgYWxsIG1lc3NhZ2VzIGZvciBjb25maWd1cmF0aW9uIHB1cnBvc2UgKi9cbmV4cG9ydCB0eXBlIEF2YWlsYWJsZUNvbmZpZ3VyYXRpb25NZXNzYWdlQ29udGVudHMgPVxuICB8IENvbmZpZ3VyYXRpb25NZXNzYWdlQ29udGVudHNcbiAgfCBDb25uZWN0Q29udGVudE1lc3NhZ2VcbiAgfCBSZXF1ZXN0TWVzc2FnZXNDb250ZW50TWVzc2FnZTxDb25maWd1cmF0aW9uTWVzc2FnZURhdGFUeXBlcz47XG5cbi8qKlxuICogRGV0ZXJtaW5lIGlmIHRoZSBnaXZlbiBtZXNzYWdlIGlzIGEgQ29uZmlndXJhdGlvbiBtZXNzYWdlXG4gKiBAcGFyYW0gbWVzc2FnZSBtZXNzYWdlIHRvIGNoZWNrXG4gKi9cbmV4cG9ydCBjb25zdCBpc0NvbmZpZ3VyYXRpb25NZXNzYWdlID0gKG1lc3NhZ2U6IGFueSk6IG1lc3NhZ2UgaXMgQXZhaWxhYmxlQ29uZmlndXJhdGlvbk1lc3NhZ2VDb250ZW50cyA9PiB7XG4gIHJldHVybiBtZXNzYWdlICYmIChcbiAgICBtZXNzYWdlLmRhdGFUeXBlID09PSAnY29uZmlndXJhdGlvbnMnXG4gICAgfHwgbWVzc2FnZS5kYXRhVHlwZSA9PT0gJ3VwZGF0ZUNvbmZpZydcbiAgICB8fCBtZXNzYWdlLmRhdGFUeXBlID09PSAncmVxdWVzdE1lc3NhZ2VzJ1xuICAgIHx8IG1lc3NhZ2UuZGF0YVR5cGUgPT09ICdjb25uZWN0Jyk7XG59O1xuXG4vKipcbiAqIENvbnRleHR1YWxpemF0aW9uIGRldnRvb2xzIGV4cG9zZWQgZm9yIGNvbmZpZ3VyYXRpb24gaW4gQ01TIGludGVncmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlndXJhdGlvbkNvbnRleHR1YWxpemF0aW9uRGV2dG9vbHMge1xuICAvKipcbiAgICogUmVwbGFjZSBOIGNvbmZpZ3VyYXRpb25zIGluIG9uZSBzaG90XG4gICAqIEBwYXJhbSBjb25maWdzIGFycmF5IG9mIGNvbmZpZ3VyYXRpb25zIHRvIHVwZGF0ZVxuICAgKi9cbiAgdXBkYXRlQ29uZmlndXJhdGlvbnM6IChjb25maWd1cmF0aW9uczogQ3VzdG9tQ29uZmlnPENvbmZpZ3VyYXRpb24+W10pID0+IHZvaWQ7XG59XG4iXX0=
@@ -0,0 +1,94 @@
1
+ import { DestroyRef, inject, Inject, Injectable, Optional, } from '@angular/core';
2
+ import { takeUntilDestroyed, } from '@angular/core/rxjs-interop';
3
+ import { select, Store, } from '@ngrx/store';
4
+ import { filterMessageContent, sendOtterMessage, } from '@o3r/core';
5
+ import { LoggerService, } from '@o3r/logger';
6
+ import { firstValueFrom, fromEvent, } from 'rxjs';
7
+ import { selectConfigurationEntities, } from '../stores';
8
+ import { isConfigurationMessage, } from './configuration-devtools.interface';
9
+ import { OtterConfigurationDevtools, } from './configuration-devtools.service';
10
+ import { OTTER_CONFIGURATION_DEVTOOLS_DEFAULT_OPTIONS, OTTER_CONFIGURATION_DEVTOOLS_OPTIONS, } from './configuration-devtools.token';
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "@ngrx/store";
13
+ import * as i2 from "@o3r/logger";
14
+ import * as i3 from "./configuration-devtools.service";
15
+ export class ConfigurationDevtoolsMessageService {
16
+ constructor(store, logger, configurationDevtools, options) {
17
+ this.store = store;
18
+ this.logger = logger;
19
+ this.configurationDevtools = configurationDevtools;
20
+ this.options = options;
21
+ this.sendMessage = (sendOtterMessage);
22
+ this.destroyRef = inject(DestroyRef);
23
+ this.options = { ...OTTER_CONFIGURATION_DEVTOOLS_DEFAULT_OPTIONS, ...options };
24
+ if (this.options.isActivatedOnBootstrap) {
25
+ this.activate();
26
+ }
27
+ }
28
+ async sendCurrentConfigurationState() {
29
+ const configurations = await firstValueFrom(this.store.pipe(select(selectConfigurationEntities)));
30
+ this.sendMessage('configurations', { configurations });
31
+ }
32
+ /**
33
+ * Function to trigger a re-send a requested messages to the Otter Chrome DevTools extension
34
+ * @param only restricted list of messages to re-send
35
+ */
36
+ handleReEmitRequest(only) {
37
+ if (!only || only.includes('configurations')) {
38
+ return this.sendCurrentConfigurationState();
39
+ }
40
+ }
41
+ /**
42
+ * Function to handle the incoming messages from Otter Chrome DevTools extension
43
+ * @param message message coming from the Otter Chrome DevTools extension
44
+ */
45
+ async handleEvents(message) {
46
+ this.logger.debug('Message handling by the configuration service', message);
47
+ switch (message.dataType) {
48
+ case 'connect': {
49
+ await this.connectPlugin();
50
+ break;
51
+ }
52
+ case 'requestMessages': {
53
+ await this.handleReEmitRequest(message.only);
54
+ break;
55
+ }
56
+ case 'updateConfig': {
57
+ this.configurationDevtools.loadConfiguration([{
58
+ name: message.id,
59
+ config: message.configValue
60
+ }]);
61
+ break;
62
+ }
63
+ default: {
64
+ this.logger.warn('Message ignored by the configuration service', message);
65
+ }
66
+ }
67
+ }
68
+ /**
69
+ * Function to connect the plugin to the Otter DevTools extension
70
+ */
71
+ connectPlugin() {
72
+ this.logger.debug('Otter DevTools is plugged to configuration service of the application');
73
+ return this.sendCurrentConfigurationState();
74
+ }
75
+ /** @inheritDoc */
76
+ activate() {
77
+ fromEvent(window, 'message').pipe(takeUntilDestroyed(this.destroyRef), filterMessageContent(isConfigurationMessage)).subscribe((e) => this.handleEvents(e));
78
+ this.store.pipe(select(selectConfigurationEntities), takeUntilDestroyed(this.destroyRef)).subscribe((configurations) => this.sendMessage('configurations', { configurations }));
79
+ }
80
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigurationDevtoolsMessageService, deps: [{ token: i1.Store }, { token: i2.LoggerService }, { token: i3.OtterConfigurationDevtools }, { token: OTTER_CONFIGURATION_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
81
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigurationDevtoolsMessageService, providedIn: 'root' }); }
82
+ }
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigurationDevtoolsMessageService, decorators: [{
84
+ type: Injectable,
85
+ args: [{
86
+ providedIn: 'root'
87
+ }]
88
+ }], ctorParameters: () => [{ type: i1.Store }, { type: i2.LoggerService }, { type: i3.OtterConfigurationDevtools }, { type: undefined, decorators: [{
89
+ type: Optional
90
+ }, {
91
+ type: Inject,
92
+ args: [OTTER_CONFIGURATION_DEVTOOLS_OPTIONS]
93
+ }] }] });
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1kZXZ0b29scy5tZXNzYWdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGV2a2l0L2NvbmZpZ3VyYXRpb24tZGV2dG9vbHMubWVzc2FnZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxVQUFVLEVBQ1YsTUFBTSxFQUNOLE1BQU0sRUFDTixVQUFVLEVBQ1YsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxrQkFBa0IsR0FDbkIsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQ0wsTUFBTSxFQUNOLEtBQUssR0FDTixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBRUwsb0JBQW9CLEVBQ3BCLGdCQUFnQixHQUNqQixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQ0wsYUFBYSxHQUNkLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFDTCxjQUFjLEVBQ2QsU0FBUyxHQUNWLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUVMLDJCQUEyQixHQUM1QixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBSUwsc0JBQXNCLEdBQ3ZCLE1BQU0sb0NBQW9DLENBQUM7QUFDNUMsT0FBTyxFQUNMLDBCQUEwQixHQUMzQixNQUFNLGtDQUFrQyxDQUFDO0FBQzFDLE9BQU8sRUFDTCw0Q0FBNEMsRUFDNUMsb0NBQW9DLEdBQ3JDLE1BQU0sZ0NBQWdDLENBQUM7Ozs7O0FBS3hDLE1BQU0sT0FBTyxtQ0FBbUM7SUFJOUMsWUFDbUIsS0FBZ0MsRUFDaEMsTUFBcUIsRUFDckIscUJBQWlELEVBQ1MsT0FBNEM7UUFIdEcsVUFBSyxHQUFMLEtBQUssQ0FBMkI7UUFDaEMsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQTRCO1FBQ1MsWUFBTyxHQUFQLE9BQU8sQ0FBcUM7UUFQeEcsZ0JBQVcsR0FBRyxDQUFBLGdCQUF1RCxDQUFBLENBQUM7UUFDdEUsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQU8vQyxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsR0FBRyw0Q0FBNEMsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO1FBRS9FLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ3hDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQixDQUFDO0lBQ0gsQ0FBQztJQUVPLEtBQUssQ0FBQyw2QkFBNkI7UUFDekMsTUFBTSxjQUFjLEdBQUcsTUFBTSxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ3pELE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxDQUNwQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssbUJBQW1CLENBQUMsSUFBc0M7UUFDaEUsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztZQUM3QyxPQUFPLElBQUksQ0FBQyw2QkFBNkIsRUFBRSxDQUFDO1FBQzlDLENBQUM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUE4QztRQUN2RSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQywrQ0FBK0MsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUU1RSxRQUFRLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUN6QixLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2YsTUFBTSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQzNCLE1BQU07WUFDUixDQUFDO1lBQ0QsS0FBSyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7Z0JBQ3ZCLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDN0MsTUFBTTtZQUNSLENBQUM7WUFDRCxLQUFLLGNBQWMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO3dCQUM1QyxJQUFJLEVBQUUsT0FBTyxDQUFDLEVBQUU7d0JBQ2hCLE1BQU0sRUFBRSxPQUFPLENBQUMsV0FBVztxQkFDNUIsQ0FBQyxDQUFDLENBQUM7Z0JBQ0osTUFBTTtZQUNSLENBQUM7WUFDRCxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUNSLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLDhDQUE4QyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQzVFLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ssYUFBYTtRQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyx1RUFBdUUsQ0FBQyxDQUFDO1FBQzNGLE9BQU8sSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELGtCQUFrQjtJQUNYLFFBQVE7UUFDYixTQUFTLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FDL0Isa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUNuQyxvQkFBb0IsQ0FBQyxzQkFBc0IsQ0FBQyxDQUM3QyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXpDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUNiLE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxFQUNuQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQ3BDLENBQUMsU0FBUyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzFGLENBQUM7a0lBakZVLG1DQUFtQyw4R0FReEIsb0NBQW9DO3NJQVIvQyxtQ0FBbUMsY0FGbEMsTUFBTTs7NEZBRVAsbUNBQW1DO2tCQUgvQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBU0ksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxvQ0FBb0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEZXN0cm95UmVmLFxuICBpbmplY3QsXG4gIEluamVjdCxcbiAgSW5qZWN0YWJsZSxcbiAgT3B0aW9uYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgdGFrZVVudGlsRGVzdHJveWVkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1xuICBzZWxlY3QsXG4gIFN0b3JlLFxufSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBEZXZ0b29sc1NlcnZpY2VJbnRlcmZhY2UsXG4gIGZpbHRlck1lc3NhZ2VDb250ZW50LFxuICBzZW5kT3R0ZXJNZXNzYWdlLFxufSBmcm9tICdAbzNyL2NvcmUnO1xuaW1wb3J0IHtcbiAgTG9nZ2VyU2VydmljZSxcbn0gZnJvbSAnQG8zci9sb2dnZXInO1xuaW1wb3J0IHtcbiAgZmlyc3RWYWx1ZUZyb20sXG4gIGZyb21FdmVudCxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBDb25maWd1cmF0aW9uU3RvcmUsXG4gIHNlbGVjdENvbmZpZ3VyYXRpb25FbnRpdGllcyxcbn0gZnJvbSAnLi4vc3RvcmVzJztcbmltcG9ydCB7XG4gIEF2YWlsYWJsZUNvbmZpZ3VyYXRpb25NZXNzYWdlQ29udGVudHMsXG4gIENvbmZpZ3VyYXRpb25EZXZ0b29sc1NlcnZpY2VPcHRpb25zLFxuICBDb25maWd1cmF0aW9uTWVzc2FnZURhdGFUeXBlcyxcbiAgaXNDb25maWd1cmF0aW9uTWVzc2FnZSxcbn0gZnJvbSAnLi9jb25maWd1cmF0aW9uLWRldnRvb2xzLmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBPdHRlckNvbmZpZ3VyYXRpb25EZXZ0b29scyxcbn0gZnJvbSAnLi9jb25maWd1cmF0aW9uLWRldnRvb2xzLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgT1RURVJfQ09ORklHVVJBVElPTl9ERVZUT09MU19ERUZBVUxUX09QVElPTlMsXG4gIE9UVEVSX0NPTkZJR1VSQVRJT05fREVWVE9PTFNfT1BUSU9OUyxcbn0gZnJvbSAnLi9jb25maWd1cmF0aW9uLWRldnRvb2xzLnRva2VuJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvbkRldnRvb2xzTWVzc2FnZVNlcnZpY2UgaW1wbGVtZW50cyBEZXZ0b29sc1NlcnZpY2VJbnRlcmZhY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IHNlbmRNZXNzYWdlID0gc2VuZE90dGVyTWVzc2FnZTxBdmFpbGFibGVDb25maWd1cmF0aW9uTWVzc2FnZUNvbnRlbnRzPjtcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RvcmU6IFN0b3JlPENvbmZpZ3VyYXRpb25TdG9yZT4sXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXI6IExvZ2dlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWd1cmF0aW9uRGV2dG9vbHM6IE90dGVyQ29uZmlndXJhdGlvbkRldnRvb2xzLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoT1RURVJfQ09ORklHVVJBVElPTl9ERVZUT09MU19PUFRJT05TKSBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnM6IENvbmZpZ3VyYXRpb25EZXZ0b29sc1NlcnZpY2VPcHRpb25zKSB7XG4gICAgdGhpcy5vcHRpb25zID0geyAuLi5PVFRFUl9DT05GSUdVUkFUSU9OX0RFVlRPT0xTX0RFRkFVTFRfT1BUSU9OUywgLi4ub3B0aW9ucyB9O1xuXG4gICAgaWYgKHRoaXMub3B0aW9ucy5pc0FjdGl2YXRlZE9uQm9vdHN0cmFwKSB7XG4gICAgICB0aGlzLmFjdGl2YXRlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzZW5kQ3VycmVudENvbmZpZ3VyYXRpb25TdGF0ZSgpIHtcbiAgICBjb25zdCBjb25maWd1cmF0aW9ucyA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuc3RvcmUucGlwZShcbiAgICAgIHNlbGVjdChzZWxlY3RDb25maWd1cmF0aW9uRW50aXRpZXMpXG4gICAgKSk7XG4gICAgdGhpcy5zZW5kTWVzc2FnZSgnY29uZmlndXJhdGlvbnMnLCB7IGNvbmZpZ3VyYXRpb25zIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRvIHRyaWdnZXIgYSByZS1zZW5kIGEgcmVxdWVzdGVkIG1lc3NhZ2VzIHRvIHRoZSBPdHRlciBDaHJvbWUgRGV2VG9vbHMgZXh0ZW5zaW9uXG4gICAqIEBwYXJhbSBvbmx5IHJlc3RyaWN0ZWQgbGlzdCBvZiBtZXNzYWdlcyB0byByZS1zZW5kXG4gICAqL1xuICBwcml2YXRlIGhhbmRsZVJlRW1pdFJlcXVlc3Qob25seT86IENvbmZpZ3VyYXRpb25NZXNzYWdlRGF0YVR5cGVzW10pIHtcbiAgICBpZiAoIW9ubHkgfHwgb25seS5pbmNsdWRlcygnY29uZmlndXJhdGlvbnMnKSkge1xuICAgICAgcmV0dXJuIHRoaXMuc2VuZEN1cnJlbnRDb25maWd1cmF0aW9uU3RhdGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gaGFuZGxlIHRoZSBpbmNvbWluZyBtZXNzYWdlcyBmcm9tIE90dGVyIENocm9tZSBEZXZUb29scyBleHRlbnNpb25cbiAgICogQHBhcmFtIG1lc3NhZ2UgbWVzc2FnZSBjb21pbmcgZnJvbSB0aGUgT3R0ZXIgQ2hyb21lIERldlRvb2xzIGV4dGVuc2lvblxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBoYW5kbGVFdmVudHMobWVzc2FnZTogQXZhaWxhYmxlQ29uZmlndXJhdGlvbk1lc3NhZ2VDb250ZW50cykge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdNZXNzYWdlIGhhbmRsaW5nIGJ5IHRoZSBjb25maWd1cmF0aW9uIHNlcnZpY2UnLCBtZXNzYWdlKTtcblxuICAgIHN3aXRjaCAobWVzc2FnZS5kYXRhVHlwZSkge1xuICAgICAgY2FzZSAnY29ubmVjdCc6IHtcbiAgICAgICAgYXdhaXQgdGhpcy5jb25uZWN0UGx1Z2luKCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAncmVxdWVzdE1lc3NhZ2VzJzoge1xuICAgICAgICBhd2FpdCB0aGlzLmhhbmRsZVJlRW1pdFJlcXVlc3QobWVzc2FnZS5vbmx5KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICd1cGRhdGVDb25maWcnOiB7XG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbkRldnRvb2xzLmxvYWRDb25maWd1cmF0aW9uKFt7XG4gICAgICAgICAgbmFtZTogbWVzc2FnZS5pZCxcbiAgICAgICAgICBjb25maWc6IG1lc3NhZ2UuY29uZmlnVmFsdWVcbiAgICAgICAgfV0pO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgdGhpcy5sb2dnZXIud2FybignTWVzc2FnZSBpZ25vcmVkIGJ5IHRoZSBjb25maWd1cmF0aW9uIHNlcnZpY2UnLCBtZXNzYWdlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRnVuY3Rpb24gdG8gY29ubmVjdCB0aGUgcGx1Z2luIHRvIHRoZSBPdHRlciBEZXZUb29scyBleHRlbnNpb25cbiAgICovXG4gIHByaXZhdGUgY29ubmVjdFBsdWdpbigpIHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnT3R0ZXIgRGV2VG9vbHMgaXMgcGx1Z2dlZCB0byBjb25maWd1cmF0aW9uIHNlcnZpY2Ugb2YgdGhlIGFwcGxpY2F0aW9uJyk7XG4gICAgcmV0dXJuIHRoaXMuc2VuZEN1cnJlbnRDb25maWd1cmF0aW9uU3RhdGUoKTtcbiAgfVxuXG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgYWN0aXZhdGUoKSB7XG4gICAgZnJvbUV2ZW50KHdpbmRvdywgJ21lc3NhZ2UnKS5waXBlKFxuICAgICAgdGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZiksXG4gICAgICBmaWx0ZXJNZXNzYWdlQ29udGVudChpc0NvbmZpZ3VyYXRpb25NZXNzYWdlKVxuICAgICkuc3Vic2NyaWJlKChlKSA9PiB0aGlzLmhhbmRsZUV2ZW50cyhlKSk7XG5cbiAgICB0aGlzLnN0b3JlLnBpcGUoXG4gICAgICBzZWxlY3Qoc2VsZWN0Q29uZmlndXJhdGlvbkVudGl0aWVzKSxcbiAgICAgIHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpXG4gICAgKS5zdWJzY3JpYmUoKGNvbmZpZ3VyYXRpb25zKSA9PiB0aGlzLnNlbmRNZXNzYWdlKCdjb25maWd1cmF0aW9ucycsIHsgY29uZmlndXJhdGlvbnMgfSkpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,51 @@
1
+ import { NgModule, } from '@angular/core';
2
+ import { StoreModule, } from '@ngrx/store';
3
+ import { ConfigurationStoreModule, } from '../stores/index';
4
+ import { ConfigurationDevtoolsConsoleService, } from './configuration-devtools.console.service';
5
+ import { ConfigurationDevtoolsMessageService, } from './configuration-devtools.message.service';
6
+ import { OtterConfigurationDevtools, } from './configuration-devtools.service';
7
+ import { OTTER_CONFIGURATION_DEVTOOLS_DEFAULT_OPTIONS, OTTER_CONFIGURATION_DEVTOOLS_OPTIONS, } from './configuration-devtools.token';
8
+ import * as i0 from "@angular/core";
9
+ export class ConfigurationDevtoolsModule {
10
+ /**
11
+ * Initialize Otter Devtools
12
+ * @param options
13
+ */
14
+ static instrument(options) {
15
+ return {
16
+ ngModule: ConfigurationDevtoolsModule,
17
+ providers: [
18
+ { provide: OTTER_CONFIGURATION_DEVTOOLS_OPTIONS, useValue: { ...OTTER_CONFIGURATION_DEVTOOLS_DEFAULT_OPTIONS, ...options }, multi: false },
19
+ ConfigurationDevtoolsMessageService,
20
+ ConfigurationDevtoolsConsoleService,
21
+ OtterConfigurationDevtools
22
+ ]
23
+ };
24
+ }
25
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigurationDevtoolsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
26
+ /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ConfigurationDevtoolsModule, imports: [StoreModule,
27
+ ConfigurationStoreModule] }); }
28
+ /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigurationDevtoolsModule, providers: [
29
+ { provide: OTTER_CONFIGURATION_DEVTOOLS_OPTIONS, useValue: OTTER_CONFIGURATION_DEVTOOLS_DEFAULT_OPTIONS },
30
+ ConfigurationDevtoolsMessageService,
31
+ ConfigurationDevtoolsConsoleService,
32
+ OtterConfigurationDevtools
33
+ ], imports: [StoreModule,
34
+ ConfigurationStoreModule] }); }
35
+ }
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConfigurationDevtoolsModule, decorators: [{
37
+ type: NgModule,
38
+ args: [{
39
+ imports: [
40
+ StoreModule,
41
+ ConfigurationStoreModule
42
+ ],
43
+ providers: [
44
+ { provide: OTTER_CONFIGURATION_DEVTOOLS_OPTIONS, useValue: OTTER_CONFIGURATION_DEVTOOLS_DEFAULT_OPTIONS },
45
+ ConfigurationDevtoolsMessageService,
46
+ ConfigurationDevtoolsConsoleService,
47
+ OtterConfigurationDevtools
48
+ ]
49
+ }]
50
+ }] });
51
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1kZXZ0b29scy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGV2a2l0L2NvbmZpZ3VyYXRpb24tZGV2dG9vbHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLFdBQVcsR0FDWixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQ0wsd0JBQXdCLEdBQ3pCLE1BQU0saUJBQWlCLENBQUM7QUFDekIsT0FBTyxFQUNMLG1DQUFtQyxHQUNwQyxNQUFNLDBDQUEwQyxDQUFDO0FBSWxELE9BQU8sRUFDTCxtQ0FBbUMsR0FDcEMsTUFBTSwwQ0FBMEMsQ0FBQztBQUNsRCxPQUFPLEVBQ0wsMEJBQTBCLEdBQzNCLE1BQU0sa0NBQWtDLENBQUM7QUFDMUMsT0FBTyxFQUNMLDRDQUE0QyxFQUM1QyxvQ0FBb0MsR0FDckMsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFjeEMsTUFBTSxPQUFPLDJCQUEyQjtJQUN0Qzs7O09BR0c7SUFDSSxNQUFNLENBQUMsVUFBVSxDQUFDLE9BQXFEO1FBQzVFLE9BQU87WUFDTCxRQUFRLEVBQUUsMkJBQTJCO1lBQ3JDLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLDRDQUE0QyxFQUFFLEdBQUcsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRTtnQkFDMUksbUNBQW1DO2dCQUNuQyxtQ0FBbUM7Z0JBQ25DLDBCQUEwQjthQUMzQjtTQUNGLENBQUM7SUFDSixDQUFDO2tJQWZVLDJCQUEyQjttSUFBM0IsMkJBQTJCLFlBVnBDLFdBQVc7WUFDWCx3QkFBd0I7bUlBU2YsMkJBQTJCLGFBUDNCO1lBQ1QsRUFBRSxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsUUFBUSxFQUFFLDRDQUE0QyxFQUFFO1lBQ3pHLG1DQUFtQztZQUNuQyxtQ0FBbUM7WUFDbkMsMEJBQTBCO1NBQzNCLFlBUkMsV0FBVztZQUNYLHdCQUF3Qjs7NEZBU2YsMkJBQTJCO2tCQVp2QyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxXQUFXO3dCQUNYLHdCQUF3QjtxQkFDekI7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULEVBQUUsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLFFBQVEsRUFBRSw0Q0FBNEMsRUFBRTt3QkFDekcsbUNBQW1DO3dCQUNuQyxtQ0FBbUM7d0JBQ25DLDBCQUEwQjtxQkFDM0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBNb2R1bGVXaXRoUHJvdmlkZXJzLFxuICBOZ01vZHVsZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBTdG9yZU1vZHVsZSxcbn0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgQ29uZmlndXJhdGlvblN0b3JlTW9kdWxlLFxufSBmcm9tICcuLi9zdG9yZXMvaW5kZXgnO1xuaW1wb3J0IHtcbiAgQ29uZmlndXJhdGlvbkRldnRvb2xzQ29uc29sZVNlcnZpY2UsXG59IGZyb20gJy4vY29uZmlndXJhdGlvbi1kZXZ0b29scy5jb25zb2xlLnNlcnZpY2UnO1xuaW1wb3J0IHR5cGUge1xuICBDb25maWd1cmF0aW9uRGV2dG9vbHNTZXJ2aWNlT3B0aW9ucyxcbn0gZnJvbSAnLi9jb25maWd1cmF0aW9uLWRldnRvb2xzLmludGVyZmFjZSc7XG5pbXBvcnQge1xuICBDb25maWd1cmF0aW9uRGV2dG9vbHNNZXNzYWdlU2VydmljZSxcbn0gZnJvbSAnLi9jb25maWd1cmF0aW9uLWRldnRvb2xzLm1lc3NhZ2Uuc2VydmljZSc7XG5pbXBvcnQge1xuICBPdHRlckNvbmZpZ3VyYXRpb25EZXZ0b29scyxcbn0gZnJvbSAnLi9jb25maWd1cmF0aW9uLWRldnRvb2xzLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgT1RURVJfQ09ORklHVVJBVElPTl9ERVZUT09MU19ERUZBVUxUX09QVElPTlMsXG4gIE9UVEVSX0NPTkZJR1VSQVRJT05fREVWVE9PTFNfT1BUSU9OUyxcbn0gZnJvbSAnLi9jb25maWd1cmF0aW9uLWRldnRvb2xzLnRva2VuJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIFN0b3JlTW9kdWxlLFxuICAgIENvbmZpZ3VyYXRpb25TdG9yZU1vZHVsZVxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7IHByb3ZpZGU6IE9UVEVSX0NPTkZJR1VSQVRJT05fREVWVE9PTFNfT1BUSU9OUywgdXNlVmFsdWU6IE9UVEVSX0NPTkZJR1VSQVRJT05fREVWVE9PTFNfREVGQVVMVF9PUFRJT05TIH0sXG4gICAgQ29uZmlndXJhdGlvbkRldnRvb2xzTWVzc2FnZVNlcnZpY2UsXG4gICAgQ29uZmlndXJhdGlvbkRldnRvb2xzQ29uc29sZVNlcnZpY2UsXG4gICAgT3R0ZXJDb25maWd1cmF0aW9uRGV2dG9vbHNcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uRGV2dG9vbHNNb2R1bGUge1xuICAvKipcbiAgICogSW5pdGlhbGl6ZSBPdHRlciBEZXZ0b29sc1xuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBpbnN0cnVtZW50KG9wdGlvbnM6IFBhcnRpYWw8Q29uZmlndXJhdGlvbkRldnRvb2xzU2VydmljZU9wdGlvbnM+KTogTW9kdWxlV2l0aFByb3ZpZGVyczxDb25maWd1cmF0aW9uRGV2dG9vbHNNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IENvbmZpZ3VyYXRpb25EZXZ0b29sc01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IE9UVEVSX0NPTkZJR1VSQVRJT05fREVWVE9PTFNfT1BUSU9OUywgdXNlVmFsdWU6IHsgLi4uT1RURVJfQ09ORklHVVJBVElPTl9ERVZUT09MU19ERUZBVUxUX09QVElPTlMsIC4uLm9wdGlvbnMgfSwgbXVsdGk6IGZhbHNlIH0sXG4gICAgICAgIENvbmZpZ3VyYXRpb25EZXZ0b29sc01lc3NhZ2VTZXJ2aWNlLFxuICAgICAgICBDb25maWd1cmF0aW9uRGV2dG9vbHNDb25zb2xlU2VydmljZSxcbiAgICAgICAgT3R0ZXJDb25maWd1cmF0aW9uRGV2dG9vbHNcbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -0,0 +1,100 @@
1
+ import { ApplicationRef, Inject, Injectable, Optional, } from '@angular/core';
2
+ import { select, Store, } from '@ngrx/store';
3
+ import { firstValueFrom, } from 'rxjs';
4
+ import { filter, map, shareReplay, } from 'rxjs/operators';
5
+ import { computeConfigurationName, parseConfigurationName, } from '../core';
6
+ import { computeConfiguration, selectConfigurationEntities, selectConfigurationIds, upsertConfigurationEntities, upsertConfigurationEntity, } from '../stores';
7
+ import { OTTER_CONFIGURATION_DEVTOOLS_DEFAULT_OPTIONS, OTTER_CONFIGURATION_DEVTOOLS_OPTIONS, } from './configuration-devtools.token';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@ngrx/store";
10
+ export class OtterConfigurationDevtools {
11
+ constructor(store, appRef, options) {
12
+ this.store = store;
13
+ this.appRef = appRef;
14
+ this.options = options;
15
+ this.options = { ...OTTER_CONFIGURATION_DEVTOOLS_DEFAULT_OPTIONS, ...options };
16
+ /** Full configuration store */
17
+ this.configurationEntities$ = this.store.pipe(select(selectConfigurationEntities), map((entities) => Object.values(entities)
18
+ .filter((entity) => !!entity)
19
+ .map((entity) => {
20
+ const { id, ...config } = entity;
21
+ const { library = this.options.defaultLibraryName, componentName: name = id } = parseConfigurationName(id) || {};
22
+ return { name, config, library };
23
+ })), shareReplay(1));
24
+ }
25
+ /**
26
+ * Get configuration name based on input information
27
+ * @param selector Selector for a component configuration. It can be a string in the form library#componentName (i.e: @my-lib/shared-components#HeaderContComponent)
28
+ * or an object with the component and library names (i.e: {library:"@my-lib/shared-components", componentName:'HeaderContComponent'})
29
+ * @param isFallbackName Determine if the name requested is a fallback name
30
+ * @returns string in the format library#componentName (i.e: "@my-lib/shared-components#HeaderContComponent")
31
+ */
32
+ getComponentConfigName(selector, isFallbackName = false) {
33
+ if (!isFallbackName) {
34
+ return typeof selector === 'string' ? selector : computeConfigurationName(selector.componentName, selector.library || this.options.defaultLibraryName);
35
+ }
36
+ return typeof selector === 'string'
37
+ ? computeConfigurationName(selector, this.options.defaultLibraryName || 'global')
38
+ : computeConfigurationName(selector.componentName, this.options.defaultLibraryName || 'global');
39
+ }
40
+ /**
41
+ * Get the list of components which have a configuration loaded in the store
42
+ */
43
+ getComponentsWithConfiguration() {
44
+ return firstValueFrom(this.store
45
+ .pipe(select(selectConfigurationIds), map((ids) => ids
46
+ .map((configName) => parseConfigurationName(configName.toString()))
47
+ .filter((parsedName) => !!parsedName)
48
+ .map((parsedName) => parsedName.componentName + (parsedName.library ? ' from ' + parsedName.library : '')))));
49
+ }
50
+ /**
51
+ * Set a specified value of a component configuration
52
+ * @param selector Selector for a component configuration
53
+ * @param configProperty Name of the configuration property to set
54
+ * @param configValue Value of the configuration property to set
55
+ */
56
+ setDynamicConfig(selector, configProperty, configValue) {
57
+ this.store.dispatch(upsertConfigurationEntity({
58
+ id: this.getComponentConfigName(selector),
59
+ configuration: { [configProperty]: configValue }
60
+ }));
61
+ this.appRef.tick();
62
+ }
63
+ /**
64
+ * Get the configuration for a specific component
65
+ * @param selector Selector for a component configuration. It can be a string in the form library#configurationName (i.e: @my-lib/shared-components#HeaderPresConfig)
66
+ * or an object with the configuration and library names (i.e: {library:"@my-lib/shared-components", componentName:'HeaderPresConfig'})
67
+ */
68
+ getCurrentConfigurationFor(selector) {
69
+ return firstValueFrom(this.store.pipe(select(selectConfigurationEntities), map((entities) => entities[this.getComponentConfigName(selector)] || entities[this.getComponentConfigName(selector, true)]), filter((entity) => !!entity), map((entity) => {
70
+ const { id, ...configuration } = entity;
71
+ return configuration;
72
+ })));
73
+ }
74
+ /**
75
+ * Get the whole configuration of the application
76
+ */
77
+ getConfiguration() {
78
+ return firstValueFrom(this.configurationEntities$);
79
+ }
80
+ /**
81
+ * Load a json configuration
82
+ * @param configurations configurations to load
83
+ */
84
+ loadConfiguration(configurations) {
85
+ this.store.dispatch(upsertConfigurationEntities(computeConfiguration(typeof configurations === 'string' ? JSON.parse(configurations) : configurations)));
86
+ this.appRef.tick();
87
+ }
88
+ /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OtterConfigurationDevtools, deps: [{ token: i1.Store }, { token: i0.ApplicationRef }, { token: OTTER_CONFIGURATION_DEVTOOLS_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
89
+ /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OtterConfigurationDevtools, providedIn: 'root' }); }
90
+ }
91
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OtterConfigurationDevtools, decorators: [{
92
+ type: Injectable,
93
+ args: [{ providedIn: 'root' }]
94
+ }], ctorParameters: () => [{ type: i1.Store }, { type: i0.ApplicationRef }, { type: undefined, decorators: [{
95
+ type: Optional
96
+ }, {
97
+ type: Inject,
98
+ args: [OTTER_CONFIGURATION_DEVTOOLS_OPTIONS]
99
+ }] }] });
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1kZXZ0b29scy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2RldmtpdC9jb25maWd1cmF0aW9uLWRldnRvb2xzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGNBQWMsRUFDZCxNQUFNLEVBQ04sVUFBVSxFQUNWLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsTUFBTSxFQUNOLEtBQUssR0FDTixNQUFNLGFBQWEsQ0FBQztBQUtyQixPQUFPLEVBQ0wsY0FBYyxHQUVmLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUNMLE1BQU0sRUFDTixHQUFHLEVBQ0gsV0FBVyxHQUNaLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixzQkFBc0IsR0FDdkIsTUFBTSxTQUFTLENBQUM7QUFDakIsT0FBTyxFQUNMLG9CQUFvQixFQUdwQiwyQkFBMkIsRUFDM0Isc0JBQXNCLEVBQ3RCLDJCQUEyQixFQUMzQix5QkFBeUIsR0FDMUIsTUFBTSxXQUFXLENBQUM7QUFJbkIsT0FBTyxFQUNMLDRDQUE0QyxFQUM1QyxvQ0FBb0MsR0FDckMsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBR3hDLE1BQU0sT0FBTywwQkFBMEI7SUFJckMsWUFDWSxLQUFnQyxFQUN6QixNQUFzQixFQUNvQyxPQUE0QztRQUY3RyxVQUFLLEdBQUwsS0FBSyxDQUEyQjtRQUN6QixXQUFNLEdBQU4sTUFBTSxDQUFnQjtRQUNvQyxZQUFPLEdBQVAsT0FBTyxDQUFxQztRQUN2SCxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsR0FBRyw0Q0FBNEMsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDO1FBRS9FLCtCQUErQjtRQUMvQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQzNDLE1BQU0sQ0FBQywyQkFB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dGlvblJlZixcbiAgSW5qZWN0LFxuICBJbmplY3RhYmxlLFxuICBPcHRpb25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBzZWxlY3QsXG4gIFN0b3JlLFxufSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBDb25maWd1cmF0aW9uLFxuICBDdXN0b21Db25maWcsXG59IGZyb20gJ0BvM3IvY29yZSc7XG5pbXBvcnQge1xuICBmaXJzdFZhbHVlRnJvbSxcbiAgT2JzZXJ2YWJsZSxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBmaWx0ZXIsXG4gIG1hcCxcbiAgc2hhcmVSZXBsYXksXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIGNvbXB1dGVDb25maWd1cmF0aW9uTmFtZSxcbiAgcGFyc2VDb25maWd1cmF0aW9uTmFtZSxcbn0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQge1xuICBjb21wdXRlQ29uZmlndXJhdGlvbixcbiAgQ29uZmlndXJhdGlvbk1vZGVsLFxuICBDb25maWd1cmF0aW9uU3RvcmUsXG4gIHNlbGVjdENvbmZpZ3VyYXRpb25FbnRpdGllcyxcbiAgc2VsZWN0Q29uZmlndXJhdGlvbklkcyxcbiAgdXBzZXJ0Q29uZmlndXJhdGlvbkVudGl0aWVzLFxuICB1cHNlcnRDb25maWd1cmF0aW9uRW50aXR5LFxufSBmcm9tICcuLi9zdG9yZXMnO1xuaW1wb3J0IHtcbiAgQ29uZmlndXJhdGlvbkRldnRvb2xzU2VydmljZU9wdGlvbnMsXG59IGZyb20gJy4vY29uZmlndXJhdGlvbi1kZXZ0b29scy5pbnRlcmZhY2UnO1xuaW1wb3J0IHtcbiAgT1RURVJfQ09ORklHVVJBVElPTl9ERVZUT09MU19ERUZBVUxUX09QVElPTlMsXG4gIE9UVEVSX0NPTkZJR1VSQVRJT05fREVWVE9PTFNfT1BUSU9OUyxcbn0gZnJvbSAnLi9jb25maWd1cmF0aW9uLWRldnRvb2xzLnRva2VuJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBPdHRlckNvbmZpZ3VyYXRpb25EZXZ0b29scyB7XG4gIC8qKiBTdHJlYW0gb2YgY29uZmlndXJhdGlvbnMgKi9cbiAgcHVibGljIHJlYWRvbmx5IGNvbmZpZ3VyYXRpb25FbnRpdGllcyQ6IE9ic2VydmFibGU8Q3VzdG9tQ29uZmlnW10+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBzdG9yZTogU3RvcmU8Q29uZmlndXJhdGlvblN0b3JlPixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcFJlZjogQXBwbGljYXRpb25SZWYsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChPVFRFUl9DT05GSUdVUkFUSU9OX0RFVlRPT0xTX09QVElPTlMpIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9uczogQ29uZmlndXJhdGlvbkRldnRvb2xzU2VydmljZU9wdGlvbnMpIHtcbiAgICB0aGlzLm9wdGlvbnMgPSB7IC4uLk9UVEVSX0NPTkZJR1VSQVRJT05fREVWVE9PTFNfREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zIH07XG5cbiAgICAvKiogRnVsbCBjb25maWd1cmF0aW9uIHN0b3JlICovXG4gICAgdGhpcy5jb25maWd1cmF0aW9uRW50aXRpZXMkID0gdGhpcy5zdG9yZS5waXBlKFxuICAgICAgc2VsZWN0KHNlbGVjdENvbmZpZ3VyYXRpb25FbnRpdGllcyksXG4gICAgICBtYXAoKGVudGl0aWVzKSA9PlxuICAgICAgICBPYmplY3QudmFsdWVzKGVudGl0aWVzKVxuICAgICAgICAgIC5maWx0ZXIoKGVudGl0eSk6IGVudGl0eSBpcyBDb25maWd1cmF0aW9uTW9kZWwgPT4gISFlbnRpdHkpXG4gICAgICAgICAgLm1hcCgoZW50aXR5KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IGlkLCAuLi5jb25maWcgfSA9IGVudGl0eTtcbiAgICAgICAgICAgIGNvbnN0IHsgbGlicmFyeSA9IHRoaXMub3B0aW9ucy5kZWZhdWx0TGlicmFyeU5hbWUsIGNvbXBvbmVudE5hbWU6IG5hbWUgPSBpZCB9ID0gcGFyc2VDb25maWd1cmF0aW9uTmFtZShpZCkgfHwge307XG4gICAgICAgICAgICByZXR1cm4geyBuYW1lLCBjb25maWcsIGxpYnJhcnkgfSBzYXRpc2ZpZXMgQ3VzdG9tQ29uZmlnO1xuICAgICAgICAgIH0pXG4gICAgICApLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBjb25maWd1cmF0aW9uIG5hbWUgYmFzZWQgb24gaW5wdXQgaW5mb3JtYXRpb25cbiAgICogQHBhcmFtIHNlbGVjdG9yIFNlbGVjdG9yIGZvciBhIGNvbXBvbmVudCBjb25maWd1cmF0aW9uLiBJdCBjYW4gYmUgYSBzdHJpbmcgaW4gdGhlIGZvcm0gbGlicmFyeSNjb21wb25lbnROYW1lIChpLmU6IEBteS1saWIvc2hhcmVkLWNvbXBvbmVudHMjSGVhZGVyQ29udENvbXBvbmVudClcbiAgICogb3IgYW4gb2JqZWN0IHdpdGggdGhlIGNvbXBvbmVudCBhbmQgbGlicmFyeSBuYW1lcyAoaS5lOiB7bGlicmFyeTpcIkBteS1saWIvc2hhcmVkLWNvbXBvbmVudHNcIiwgY29tcG9uZW50TmFtZTonSGVhZGVyQ29udENvbXBvbmVudCd9KVxuICAgKiBAcGFyYW0gaXNGYWxsYmFja05hbWUgRGV0ZXJtaW5lIGlmIHRoZSBuYW1lIHJlcXVlc3RlZCBpcyBhIGZhbGxiYWNrIG5hbWVcbiAgICogQHJldHVybnMgc3RyaW5nIGluIHRoZSBmb3JtYXQgbGlicmFyeSNjb21wb25lbnROYW1lIChpLmU6IFwiQG15LWxpYi9zaGFyZWQtY29tcG9uZW50cyNIZWFkZXJDb250Q29tcG9uZW50XCIpXG4gICAqL1xuICBwdWJsaWMgZ2V0Q29tcG9uZW50Q29uZmlnTmFtZShzZWxlY3Rvcjogc3RyaW5nIHwgeyBsaWJyYXJ5Pzogc3RyaW5nOyBjb21wb25lbnROYW1lOiBzdHJpbmcgfSwgaXNGYWxsYmFja05hbWUgPSBmYWxzZSkge1xuICAgIGlmICghaXNGYWxsYmFja05hbWUpIHtcbiAgICAgIHJldHVybiB0eXBlb2Ygc2VsZWN0b3IgPT09ICdzdHJpbmcnID8gc2VsZWN0b3IgOiBjb21wdXRlQ29uZmlndXJhdGlvbk5hbWUoc2VsZWN0b3IuY29tcG9uZW50TmFtZSwgc2VsZWN0b3IubGlicmFyeSB8fCB0aGlzLm9wdGlvbnMuZGVmYXVsdExpYnJhcnlOYW1lKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHlwZW9mIHNlbGVjdG9yID09PSAnc3RyaW5nJ1xuICAgICAgPyBjb21wdXRlQ29uZmlndXJhdGlvbk5hbWUoc2VsZWN0b3IsIHRoaXMub3B0aW9ucy5kZWZhdWx0TGlicmFyeU5hbWUgfHwgJ2dsb2JhbCcpXG4gICAgICA6IGNvbXB1dGVDb25maWd1cmF0aW9uTmFtZShzZWxlY3Rvci5jb21wb25lbnROYW1lLCB0aGlzLm9wdGlvbnMuZGVmYXVsdExpYnJhcnlOYW1lIHx8ICdnbG9iYWwnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGxpc3Qgb2YgY29tcG9uZW50cyB3aGljaCBoYXZlIGEgY29uZmlndXJhdGlvbiBsb2FkZWQgaW4gdGhlIHN0b3JlXG4gICAqL1xuICBwdWJsaWMgZ2V0Q29tcG9uZW50c1dpdGhDb25maWd1cmF0aW9uKCk6IFByb21pc2U8c3RyaW5nW10+IHtcbiAgICByZXR1cm4gZmlyc3RWYWx1ZUZyb20oXG4gICAgICB0aGlzLnN0b3JlXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIHNlbGVjdChzZWxlY3RDb25maWd1cmF0aW9uSWRzKSxcbiAgICAgICAgICBtYXAoKGlkcykgPT4gaWRzXG4gICAgICAgICAgICAubWFwKChjb25maWdOYW1lKSA9PiBwYXJzZUNvbmZpZ3VyYXRpb25OYW1lKGNvbmZpZ05hbWUudG9TdHJpbmcoKSkpXG4gICAgICAgICAgICAuZmlsdGVyKChwYXJzZWROYW1lKTogcGFyc2VkTmFtZSBpcyB7IGxpYnJhcnk/OiBzdHJpbmc7IGNvbXBvbmVudE5hbWU6IHN0cmluZyB9ID0+ICEhcGFyc2VkTmFtZSlcbiAgICAgICAgICAgIC5tYXAoKHBhcnNlZE5hbWUpID0+IHBhcnNlZE5hbWUuY29tcG9uZW50TmFtZSArIChwYXJzZWROYW1lLmxpYnJhcnkgPyAnIGZyb20gJyArIHBhcnNlZE5hbWUubGlicmFyeSA6ICcnKSlcbiAgICAgICAgICApXG4gICAgICAgIClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCBhIHNwZWNpZmllZCB2YWx1ZSBvZiBhIGNvbXBvbmVudCBjb25maWd1cmF0aW9uXG4gICAqIEBwYXJhbSBzZWxlY3RvciBTZWxlY3RvciBmb3IgYSBjb21wb25lbnQgY29uZmlndXJhdGlvblxuICAgKiBAcGFyYW0gY29uZmlnUHJvcGVydHkgTmFtZSBvZiB0aGUgY29uZmlndXJhdGlvbiBwcm9wZXJ0eSB0byBzZXRcbiAgICogQHBhcmFtIGNvbmZpZ1ZhbHVlIFZhbHVlIG9mIHRoZSBjb25maWd1cmF0aW9uIHByb3BlcnR5IHRvIHNldFxuICAgKi9cbiAgcHVibGljIHNldER5bmFtaWNDb25maWcoc2VsZWN0b3I6IHN0cmluZyB8IHsgbGlicmFyeT86IHN0cmluZzsgY29tcG9uZW50TmFtZTogc3RyaW5nIH0sIGNvbmZpZ1Byb3BlcnR5OiBzdHJpbmcsIGNvbmZpZ1ZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgdXBzZXJ0Q29uZmlndXJhdGlvbkVudGl0eSh7XG4gICAgICAgIGlkOiB0aGlzLmdldENvbXBvbmVudENvbmZpZ05hbWUoc2VsZWN0b3IpLFxuICAgICAgICBjb25maWd1cmF0aW9uOiB7IFtjb25maWdQcm9wZXJ0eV06IGNvbmZpZ1ZhbHVlIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLmFwcFJlZi50aWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBjb25maWd1cmF0aW9uIGZvciBhIHNwZWNpZmljIGNvbXBvbmVudFxuICAgKiBAcGFyYW0gc2VsZWN0b3IgU2VsZWN0b3IgZm9yIGEgY29tcG9uZW50IGNvbmZpZ3VyYXRpb24uIEl0IGNhbiBiZSBhIHN0cmluZyBpbiB0aGUgZm9ybSBsaWJyYXJ5I2NvbmZpZ3VyYXRpb25OYW1lIChpLmU6IEBteS1saWIvc2hhcmVkLWNvbXBvbmVudHMjSGVhZGVyUHJlc0NvbmZpZylcbiAgICogb3IgYW4gb2JqZWN0IHdpdGggdGhlIGNvbmZpZ3VyYXRpb24gYW5kIGxpYnJhcnkgbmFtZXMgKGkuZToge2xpYnJhcnk6XCJAbXktbGliL3NoYXJlZC1jb21wb25lbnRzXCIsIGNvbXBvbmVudE5hbWU6J0hlYWRlclByZXNDb25maWcnfSlcbiAgICovXG4gIHB1YmxpYyBnZXRDdXJyZW50Q29uZmlndXJhdGlvbkZvcihzZWxlY3Rvcjogc3RyaW5nIHwgeyBsaWJyYXJ5Pzogc3RyaW5nOyBjb21wb25lbnROYW1lOiBzdHJpbmcgfSk6IFByb21pc2U8Q29uZmlndXJhdGlvbj4ge1xuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuc3RvcmUucGlwZShcbiAgICAgICAgc2VsZWN0KHNlbGVjdENvbmZpZ3VyYXRpb25FbnRpdGllcyksXG4gICAgICAgIG1hcCgoZW50aXRpZXMpID0+IGVudGl0aWVzW3RoaXMuZ2V0Q29tcG9uZW50Q29uZmlnTmFtZShzZWxlY3RvcildIHx8IGVudGl0aWVzW3RoaXMuZ2V0Q29tcG9uZW50Q29uZmlnTmFtZShzZWxlY3RvciwgdHJ1ZSldKSxcbiAgICAgICAgZmlsdGVyKChlbnRpdHkpOiBlbnRpdHkgaXMgQ29uZmlndXJhdGlvbk1vZGVsID0+ICEhZW50aXR5KSxcbiAgICAgICAgbWFwKChlbnRpdHkpID0+IHtcbiAgICAgICAgICBjb25zdCB7IGlkLCAuLi5jb25maWd1cmF0aW9uIH0gPSBlbnRpdHk7XG4gICAgICAgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb24gYXMgQ29uZmlndXJhdGlvbjtcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgd2hvbGUgY29uZmlndXJhdGlvbiBvZiB0aGUgYXBwbGljYXRpb25cbiAgICovXG4gIHB1YmxpYyBnZXRDb25maWd1cmF0aW9uKCkge1xuICAgIHJldHVybiBmaXJzdFZhbHVlRnJvbSh0aGlzLmNvbmZpZ3VyYXRpb25FbnRpdGllcyQpO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWQgYSBqc29uIGNvbmZpZ3VyYXRpb25cbiAgICogQHBhcmFtIGNvbmZpZ3VyYXRpb25zIGNvbmZpZ3VyYXRpb25zIHRvIGxvYWRcbiAgICovXG4gIHB1YmxpYyBsb2FkQ29uZmlndXJhdGlvbihjb25maWd1cmF0aW9uczogc3RyaW5nIHwgQ3VzdG9tQ29uZmlnPENvbmZpZ3VyYXRpb24+W10pOiB2b2lkIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHVwc2VydENvbmZpZ3VyYXRpb25FbnRpdGllcyhjb21wdXRlQ29uZmlndXJhdGlvbih0eXBlb2YgY29uZmlndXJhdGlvbnMgPT09ICdzdHJpbmcnID8gSlNPTi5wYXJzZShjb25maWd1cmF0aW9ucykgOiBjb25maWd1cmF0aW9ucykpKTtcbiAgICB0aGlzLmFwcFJlZi50aWNrKCk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,9 @@
1
+ import { InjectionToken, } from '@angular/core';
2
+ export const OTTER_CONFIGURATION_DEVTOOLS_DEFAULT_OPTIONS = {
3
+ defaultLibraryName: '@o3r/components',
4
+ defaultJsonFilename: 'partial-static-config.json',
5
+ isActivatedOnBootstrap: false,
6
+ isActivatedOnBootstrapWhenCMSContext: true
7
+ };
8
+ export const OTTER_CONFIGURATION_DEVTOOLS_OPTIONS = new InjectionToken('Otter Configuration Devtools options');
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi1kZXZ0b29scy50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZXZraXQvY29uZmlndXJhdGlvbi1kZXZ0b29scy50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsY0FBYyxHQUNmLE1BQU0sZUFBZSxDQUFDO0FBS3ZCLE1BQU0sQ0FBQyxNQUFNLDRDQUE0QyxHQUFrRDtJQUN6RyxrQkFBa0IsRUFBRSxpQkFBaUI7SUFDckMsbUJBQW1CLEVBQUUsNEJBQTRCO0lBQ2pELHNCQUFzQixFQUFFLEtBQUs7SUFDN0Isb0NBQW9DLEVBQUUsSUFBSTtDQUNsQyxDQUFDO0FBRVgsTUFBTSxDQUFDLE1BQU0sb0NBQW9DLEdBQUcsSUFBSSxjQUFjLENBQXNDLHNDQUFzQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbmplY3Rpb25Ub2tlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb25maWd1cmF0aW9uRGV2dG9vbHNTZXJ2aWNlT3B0aW9ucyxcbn0gZnJvbSAnLi9jb25maWd1cmF0aW9uLWRldnRvb2xzLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjb25zdCBPVFRFUl9DT05GSUdVUkFUSU9OX0RFVlRPT0xTX0RFRkFVTFRfT1BUSU9OUzogUmVhZG9ubHk8Q29uZmlndXJhdGlvbkRldnRvb2xzU2VydmljZU9wdGlvbnM+ID0ge1xuICBkZWZhdWx0TGlicmFyeU5hbWU6ICdAbzNyL2NvbXBvbmVudHMnLFxuICBkZWZhdWx0SnNvbkZpbGVuYW1lOiAncGFydGlhbC1zdGF0aWMtY29uZmlnLmpzb24nLFxuICBpc0FjdGl2YXRlZE9uQm9vdHN0cmFwOiBmYWxzZSxcbiAgaXNBY3RpdmF0ZWRPbkJvb3RzdHJhcFdoZW5DTVNDb250ZXh0OiB0cnVlXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3QgT1RURVJfQ09ORklHVVJBVElPTl9ERVZUT09MU19PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuPENvbmZpZ3VyYXRpb25EZXZ0b29sc1NlcnZpY2VPcHRpb25zPignT3R0ZXIgQ29uZmlndXJhdGlvbiBEZXZ0b29scyBvcHRpb25zJyk7XG4iXX0=
@@ -0,0 +1,7 @@
1
+ export * from './configuration-devtools.console.service';
2
+ export * from './configuration-devtools.interface';
3
+ export * from './configuration-devtools.message.service';
4
+ export * from './configuration-devtools.module';
5
+ export * from './configuration-devtools.service';
6
+ export * from './configuration-devtools.token';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZGV2a2l0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb25maWd1cmF0aW9uLWRldnRvb2xzLmNvbnNvbGUuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZ3VyYXRpb24tZGV2dG9vbHMuaW50ZXJmYWNlJztcbmV4cG9ydCAqIGZyb20gJy4vY29uZmlndXJhdGlvbi1kZXZ0b29scy5tZXNzYWdlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWd1cmF0aW9uLWRldnRvb2xzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZ3VyYXRpb24tZGV2dG9vbHMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZ3VyYXRpb24tZGV2dG9vbHMudG9rZW4nO1xuIl19
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Fixture file for configuration service
3
+ */
4
+ export class ConfigurationBaseServiceFixture {
5
+ constructor() {
6
+ /** @inheritDoc */
7
+ this.updateConfiguration = jasmine.createSpy('updateConfiguration');
8
+ /** @inheritDoc */
9
+ this.upsertConfiguration = jasmine.createSpy('upsertConfiguration');
10
+ /** @inheritDoc */
11
+ this.computeConfiguration = jasmine.createSpy('computeConfiguration');
12
+ /** @inheritDoc */
13
+ this.getConfigFromBodyTag = jasmine.createSpy('getConfigFromBodyTag');
14
+ /** @inheritDoc */
15
+ this.extendConfiguration = jasmine.createSpy('extendConfiguration');
16
+ /** @inheritDoc */
17
+ this.getComponentConfig = jasmine.createSpy('getComponentConfig');
18
+ /** @inheritDoc */
19
+ this.getConfig = jasmine.createSpy('getConfig');
20
+ }
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5iYXNlLnNlcnZpY2UuZml4dHVyZS5qYXNtaW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ZpeHR1cmVzL2phc21pbmUvY29uZmlndXJhdGlvbi5iYXNlLnNlcnZpY2UuZml4dHVyZS5qYXNtaW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLCtCQUErQjtJQUE1QztRQUNFLGtCQUFrQjtRQUNYLHdCQUFtQixHQUFnQixPQUFPLENBQUMsU0FBUyxDQUFDLHFCQUFxQixDQUFDLENBQUM7UUFDbkYsa0JBQWtCO1FBQ1gsd0JBQW1CLEdBQWdCLE9BQU8sQ0FBQyxTQUFTLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNuRixrQkFBa0I7UUFDWCx5QkFBb0IsR0FBZ0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQ3JGLGtCQUFrQjtRQUNYLHlCQUFvQixHQUFnQixPQUFPLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDckYsa0JBQWtCO1FBQ1gsd0JBQW1CLEdBQWdCLE9BQU8sQ0FBQyxTQUFTLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNuRixrQkFBa0I7UUFDWCx1QkFBa0IsR0FBZ0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ2pGLGtCQUFrQjtRQUNYLGNBQVMsR0FBZ0IsT0FBTyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNqRSxDQUFDO0NBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIENvbmZpZ3VyYXRpb25CYXNlU2VydmljZSxcbn0gZnJvbSAnQG8zci9jb25maWd1cmF0aW9uJztcblxuLyoqXG4gKiBGaXh0dXJlIGZpbGUgZm9yIGNvbmZpZ3VyYXRpb24gc2VydmljZVxuICovXG5leHBvcnQgY2xhc3MgQ29uZmlndXJhdGlvbkJhc2VTZXJ2aWNlRml4dHVyZSBpbXBsZW1lbnRzIFJlYWRvbmx5PENvbmZpZ3VyYXRpb25CYXNlU2VydmljZT4ge1xuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIHVwZGF0ZUNvbmZpZ3VyYXRpb246IGphc21pbmUuU3B5ID0gamFzbWluZS5jcmVhdGVTcHkoJ3VwZGF0ZUNvbmZpZ3VyYXRpb24nKTtcbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyB1cHNlcnRDb25maWd1cmF0aW9uOiBqYXNtaW5lLlNweSA9IGphc21pbmUuY3JlYXRlU3B5KCd1cHNlcnRDb25maWd1cmF0aW9uJyk7XG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgY29tcHV0ZUNvbmZpZ3VyYXRpb246IGphc21pbmUuU3B5ID0gamFzbWluZS5jcmVhdGVTcHkoJ2NvbXB1dGVDb25maWd1cmF0aW9uJyk7XG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgZ2V0Q29uZmlnRnJvbUJvZHlUYWc6IGphc21pbmUuU3B5ID0gamFzbWluZS5jcmVhdGVTcHkoJ2dldENvbmZpZ0Zyb21Cb2R5VGFnJyk7XG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgZXh0ZW5kQ29uZmlndXJhdGlvbjogamFzbWluZS5TcHkgPSBqYXNtaW5lLmNyZWF0ZVNweSgnZXh0ZW5kQ29uZmlndXJhdGlvbicpO1xuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGdldENvbXBvbmVudENvbmZpZzogamFzbWluZS5TcHkgPSBqYXNtaW5lLmNyZWF0ZVNweSgnZ2V0Q29tcG9uZW50Q29uZmlnJyk7XG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgZ2V0Q29uZmlnOiBqYXNtaW5lLlNweSA9IGphc21pbmUuY3JlYXRlU3B5KCdnZXRDb25maWcnKTtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './configuration.base.service.fixture.jasmine';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZml4dHVyZXMvamFzbWluZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDhDQUE4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb25maWd1cmF0aW9uLmJhc2Uuc2VydmljZS5maXh0dXJlLmphc21pbmUnO1xuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibzNyLWNvbmZpZ3VyYXRpb24tZml4dHVyZXMtamFzbWluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maXh0dXJlcy9qYXNtaW5lL28zci1jb25maWd1cmF0aW9uLWZpeHR1cmVzLWphc21pbmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Fixture file for configuration service
3
+ */
4
+ export class ConfigurationBaseServiceFixture {
5
+ constructor() {
6
+ /** @inheritDoc */
7
+ this.updateConfiguration = jest.fn();
8
+ /** @inheritDoc */
9
+ this.upsertConfiguration = jest.fn();
10
+ /** @inheritDoc */
11
+ this.computeConfiguration = jest.fn();
12
+ /** @inheritDoc */
13
+ this.getConfigFromBodyTag = jest.fn();
14
+ /** @inheritDoc */
15
+ this.extendConfiguration = jest.fn();
16
+ /** @inheritDoc */
17
+ this.getComponentConfig = jest.fn();
18
+ /** @inheritDoc */
19
+ this.getConfig = jest.fn();
20
+ }
21
+ }
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbi5iYXNlLnNlcnZpY2UuZml4dHVyZS5qZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2ZpeHR1cmVzL2plc3QvY29uZmlndXJhdGlvbi5iYXNlLnNlcnZpY2UuZml4dHVyZS5qZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLCtCQUErQjtJQUE1QztRQUNFLGtCQUFrQjtRQUNYLHdCQUFtQixHQUF3QixJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDNUQsa0JBQWtCO1FBQ1gsd0JBQW1CLEdBQXdCLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUM1RCxrQkFBa0I7UUFDWCx5QkFBb0IsR0FBd0IsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzdELGtCQUFrQjtRQUNYLHlCQUFvQixHQUF3QixJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDN0Qsa0JBQWtCO1FBQ1gsd0JBQW1CLEdBQXdCLElBQUksQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUM1RCxrQkFBa0I7UUFDWCx1QkFBa0IsR0FBd0IsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQzNELGtCQUFrQjtRQUNYLGNBQVMsR0FBd0IsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO0lBQ3BELENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtcbiAgQ29uZmlndXJhdGlvbkJhc2VTZXJ2aWNlLFxufSBmcm9tICdAbzNyL2NvbmZpZ3VyYXRpb24nO1xuXG4vKipcbiAqIEZpeHR1cmUgZmlsZSBmb3IgY29uZmlndXJhdGlvbiBzZXJ2aWNlXG4gKi9cbmV4cG9ydCBjbGFzcyBDb25maWd1cmF0aW9uQmFzZVNlcnZpY2VGaXh0dXJlIGltcGxlbWVudHMgUmVhZG9ubHk8Q29uZmlndXJhdGlvbkJhc2VTZXJ2aWNlPiB7XG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgdXBkYXRlQ29uZmlndXJhdGlvbjogamVzdC5Nb2NrPGFueSwgYW55PiA9IGplc3QuZm4oKTtcbiAgLyoqIEBpbmhlcml0RG9jICovXG4gIHB1YmxpYyB1cHNlcnRDb25maWd1cmF0aW9uOiBqZXN0Lk1vY2s8YW55LCBhbnk+ID0gamVzdC5mbigpO1xuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGNvbXB1dGVDb25maWd1cmF0aW9uOiBqZXN0Lk1vY2s8YW55LCBhbnk+ID0gamVzdC5mbigpO1xuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGdldENvbmZpZ0Zyb21Cb2R5VGFnOiBqZXN0Lk1vY2s8YW55LCBhbnk+ID0gamVzdC5mbigpO1xuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGV4dGVuZENvbmZpZ3VyYXRpb246IGplc3QuTW9jazxhbnksIGFueT4gPSBqZXN0LmZuKCk7XG4gIC8qKiBAaW5oZXJpdERvYyAqL1xuICBwdWJsaWMgZ2V0Q29tcG9uZW50Q29uZmlnOiBqZXN0Lk1vY2s8YW55LCBhbnk+ID0gamVzdC5mbigpO1xuICAvKiogQGluaGVyaXREb2MgKi9cbiAgcHVibGljIGdldENvbmZpZzogamVzdC5Nb2NrPGFueSwgYW55PiA9IGplc3QuZm4oKTtcbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './configuration.base.service.fixture.jest';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZml4dHVyZXMvamVzdC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJDQUEyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb25maWd1cmF0aW9uLmJhc2Uuc2VydmljZS5maXh0dXJlLmplc3QnO1xuIl19