@o3r/rules-engine 12.0.0-next.2 → 12.0.0-next.21

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 (108) hide show
  1. package/builders/package.json +3 -0
  2. package/components/rules-engine/rule-actions/rule-actions-pres.component.d.ts +1 -1
  3. package/components/rules-engine/rule-actions/rule-actions-pres.component.d.ts.map +1 -1
  4. package/components/rules-engine/rule-condition/rule-condition-pres.component.d.ts +1 -1
  5. package/components/rules-engine/rule-condition/rule-condition-pres.component.d.ts.map +1 -1
  6. package/components/rules-engine/rule-key-value/rule-key-value-pres.component.d.ts +1 -1
  7. package/components/rules-engine/rule-key-value/rule-key-value-pres.component.d.ts.map +1 -1
  8. package/components/rules-engine/rule-tree/rule-tree-pres.component.d.ts +1 -1
  9. package/components/rules-engine/rule-tree/rule-tree-pres.component.d.ts.map +1 -1
  10. package/components/rules-engine/ruleset-history/ruleset-history-pres.component.d.ts +1 -1
  11. package/components/rules-engine/ruleset-history/ruleset-history-pres.component.d.ts.map +1 -1
  12. package/components/rules-engine/ruleset-history/ruleset-history-pres.module.d.ts +7 -9
  13. package/components/rules-engine/ruleset-history/ruleset-history-pres.module.d.ts.map +1 -1
  14. package/components/rules-engine/shared/fallback-to.pipe.d.ts +0 -7
  15. package/components/rules-engine/shared/fallback-to.pipe.d.ts.map +1 -1
  16. package/components/rules-engine/shared/json-or-string.pipe.d.ts.map +1 -1
  17. package/engine/debug/helpers.d.ts +3 -2
  18. package/engine/debug/helpers.d.ts.map +1 -1
  19. package/engine/engine.interface.d.ts +2 -8
  20. package/engine/engine.interface.d.ts.map +1 -1
  21. package/engine/helpers/filter-ruleset-event.operator.d.ts.map +1 -1
  22. package/engine/ruleset-executor.d.ts.map +1 -1
  23. package/engine/structure.d.ts +0 -8
  24. package/engine/structure.d.ts.map +1 -1
  25. package/fesm2022/o3r-rules-engine.mjs +186 -218
  26. package/fesm2022/o3r-rules-engine.mjs.map +1 -1
  27. package/fixtures/jasmine/package.json +3 -0
  28. package/fixtures/jest/package.json +3 -0
  29. package/interfaces/index.d.ts +0 -1
  30. package/interfaces/index.d.ts.map +1 -1
  31. package/package.json +17 -22
  32. package/schemas/rulesets.schema.json +0 -13
  33. package/schematics/package.json +3 -0
  34. package/stores/rulesets/rulesets.selectors.d.ts +0 -5
  35. package/stores/rulesets/rulesets.selectors.d.ts.map +1 -1
  36. package/esm2022/components/index.mjs +0 -2
  37. package/esm2022/components/rules-engine/index.mjs +0 -4
  38. package/esm2022/components/rules-engine/rule-actions/rule-actions-pres.component.mjs +0 -35
  39. package/esm2022/components/rules-engine/rule-condition/rule-condition-pres.component.mjs +0 -36
  40. package/esm2022/components/rules-engine/rule-key-value/rule-key-value-pres.component.mjs +0 -63
  41. package/esm2022/components/rules-engine/rule-tree/rule-tree-pres.component.mjs +0 -48
  42. package/esm2022/components/rules-engine/ruleset-history/ruleset-history-pres.component.mjs +0 -50
  43. package/esm2022/components/rules-engine/ruleset-history/ruleset-history-pres.module.mjs +0 -23
  44. package/esm2022/components/rules-engine/shared/fallback-to.pipe.mjs +0 -25
  45. package/esm2022/components/rules-engine/shared/index.mjs +0 -4
  46. package/esm2022/components/rules-engine/shared/json-or-string.pipe.mjs +0 -23
  47. package/esm2022/components/rules-engine/shared/ruleset-history.helper.mjs +0 -51
  48. package/esm2022/devkit/index.mjs +0 -7
  49. package/esm2022/devkit/rules-engine-devkit.interface.mjs +0 -6
  50. package/esm2022/devkit/rules-engine-devtools.console.service.mjs +0 -111
  51. package/esm2022/devkit/rules-engine-devtools.message.service.mjs +0 -115
  52. package/esm2022/devkit/rules-engine-devtools.module.mjs +0 -47
  53. package/esm2022/devkit/rules-engine-devtools.service.mjs +0 -130
  54. package/esm2022/devkit/rules-engine-devtools.token.mjs +0 -6
  55. package/esm2022/engine/debug/engine.debug.mjs +0 -195
  56. package/esm2022/engine/debug/helpers.mjs +0 -91
  57. package/esm2022/engine/engine.interface.mjs +0 -2
  58. package/esm2022/engine/engine.mjs +0 -134
  59. package/esm2022/engine/fact/fact.interfaces.mjs +0 -2
  60. package/esm2022/engine/fact/index.mjs +0 -2
  61. package/esm2022/engine/helpers/filter-ruleset-event.operator.mjs +0 -19
  62. package/esm2022/engine/index.mjs +0 -8
  63. package/esm2022/engine/operator/index.mjs +0 -4
  64. package/esm2022/engine/operator/operator.helpers.mjs +0 -107
  65. package/esm2022/engine/operator/operator.interface.mjs +0 -2
  66. package/esm2022/engine/operator/operators/array-based.operators.mjs +0 -266
  67. package/esm2022/engine/operator/operators/basic.operators.mjs +0 -93
  68. package/esm2022/engine/operator/operators/date-based.operators.mjs +0 -119
  69. package/esm2022/engine/operator/operators/index.mjs +0 -10
  70. package/esm2022/engine/operator/operators/number-based.operators.mjs +0 -44
  71. package/esm2022/engine/rule/index.mjs +0 -2
  72. package/esm2022/engine/rule/rule.helpers.mjs +0 -50
  73. package/esm2022/engine/ruleset-executor.mjs +0 -256
  74. package/esm2022/engine/structure.mjs +0 -2
  75. package/esm2022/fact/fact.abstract-service.mjs +0 -12
  76. package/esm2022/fact/index.mjs +0 -3
  77. package/esm2022/fact/reserved.facts.mjs +0 -2
  78. package/esm2022/fixtures/jasmine/index.mjs +0 -2
  79. package/esm2022/fixtures/jasmine/o3r-rules-engine-fixtures-jasmine.mjs +0 -5
  80. package/esm2022/fixtures/jasmine/rules-engine.runner.service.fixture.jasmine.mjs +0 -14
  81. package/esm2022/fixtures/jest/index.mjs +0 -2
  82. package/esm2022/fixtures/jest/o3r-rules-engine-fixtures-jest.mjs +0 -5
  83. package/esm2022/fixtures/jest/rules-engine.runner.service.fixture.jest.mjs +0 -14
  84. package/esm2022/inner-facts/current-time/current-time-fact.service.mjs +0 -29
  85. package/esm2022/inner-facts/current-time/current-time.facts.mjs +0 -2
  86. package/esm2022/inner-facts/current-time/index.mjs +0 -3
  87. package/esm2022/inner-facts/index.mjs +0 -2
  88. package/esm2022/interfaces/action.interfaces.mjs +0 -2
  89. package/esm2022/interfaces/index.mjs +0 -3
  90. package/esm2022/interfaces/linkable-to-ruleset.interfaces.mjs +0 -2
  91. package/esm2022/o3r-rules-engine.mjs +0 -5
  92. package/esm2022/public_api.mjs +0 -9
  93. package/esm2022/services/index.mjs +0 -3
  94. package/esm2022/services/rules-engine.token.mjs +0 -9
  95. package/esm2022/services/runner/index.mjs +0 -3
  96. package/esm2022/services/runner/rules-engine.runner.module.mjs +0 -37
  97. package/esm2022/services/runner/rules-engine.runner.service.mjs +0 -132
  98. package/esm2022/stores/index.mjs +0 -2
  99. package/esm2022/stores/rulesets/index.mjs +0 -8
  100. package/esm2022/stores/rulesets/rulesets.actions.mjs +0 -42
  101. package/esm2022/stores/rulesets/rulesets.effect.mjs +0 -30
  102. package/esm2022/stores/rulesets/rulesets.module.mjs +0 -42
  103. package/esm2022/stores/rulesets/rulesets.reducer.mjs +0 -35
  104. package/esm2022/stores/rulesets/rulesets.selectors.mjs +0 -115
  105. package/esm2022/stores/rulesets/rulesets.state.mjs +0 -5
  106. package/esm2022/stores/rulesets/rulesets.sync.mjs +0 -20
  107. package/interfaces/action.interfaces.d.ts +0 -44
  108. package/interfaces/action.interfaces.d.ts.map +0 -1
@@ -1,37 +0,0 @@
1
- import { NgModule, } from '@angular/core';
2
- import { StoreModule, } from '@ngrx/store';
3
- import { LoggerModule, } from '@o3r/logger';
4
- import { RulesetsStoreModule, } from '../../stores/index';
5
- import { DEFAULT_RULES_ENGINE_OPTIONS, RULES_ENGINE_OPTIONS, } from '../rules-engine.token';
6
- import { RulesEngineRunnerService, } from './rules-engine.runner.service';
7
- import * as i0 from "@angular/core";
8
- export class RulesEngineRunnerModule {
9
- static forRoot(options) {
10
- const opts = options ? { ...DEFAULT_RULES_ENGINE_OPTIONS, ...options } : DEFAULT_RULES_ENGINE_OPTIONS;
11
- return {
12
- ngModule: RulesEngineRunnerModule,
13
- providers: [
14
- { provide: RULES_ENGINE_OPTIONS, useValue: opts },
15
- RulesEngineRunnerService
16
- ]
17
- };
18
- }
19
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RulesEngineRunnerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
20
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RulesEngineRunnerModule, imports: [StoreModule,
21
- RulesetsStoreModule,
22
- LoggerModule] }); }
23
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RulesEngineRunnerModule, imports: [StoreModule,
24
- RulesetsStoreModule,
25
- LoggerModule] }); }
26
- }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RulesEngineRunnerModule, decorators: [{
28
- type: NgModule,
29
- args: [{
30
- imports: [
31
- StoreModule,
32
- RulesetsStoreModule,
33
- LoggerModule
34
- ]
35
- }]
36
- }] });
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXMtZW5naW5lLnJ1bm5lci5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvcnVubmVyL3J1bGVzLWVuZ2luZS5ydW5uZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLFdBQVcsR0FDWixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQ0wsWUFBWSxHQUNiLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFDTCxtQkFBbUIsR0FDcEIsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QixPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLG9CQUFvQixHQUVyQixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFDTCx3QkFBd0IsR0FDekIsTUFBTSwrQkFBK0IsQ0FBQzs7QUFTdkMsTUFBTSxPQUFPLHVCQUF1QjtJQUMzQixNQUFNLENBQUMsT0FBTyxDQUFDLE9BQTRDO1FBQ2hFLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLDRCQUE0QixFQUFFLEdBQUcsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLDRCQUE0QixDQUFDO1FBQ3RHLE9BQU87WUFDTCxRQUFRLEVBQUUsdUJBQXVCO1lBQ2pDLFNBQVMsRUFBRTtnQkFDVCxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNqRCx3QkFBd0I7YUFDekI7U0FDRixDQUFDO0lBQ0osQ0FBQztrSUFWVSx1QkFBdUI7bUlBQXZCLHVCQUF1QixZQUxoQyxXQUFXO1lBQ1gsbUJBQW1CO1lBQ25CLFlBQVk7bUlBR0gsdUJBQXVCLFlBTGhDLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsWUFBWTs7NEZBR0gsdUJBQXVCO2tCQVBuQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsWUFBWTtxQkFDYjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIE1vZHVsZVdpdGhQcm92aWRlcnMsXG4gIE5nTW9kdWxlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFN0b3JlTW9kdWxlLFxufSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBMb2dnZXJNb2R1bGUsXG59IGZyb20gJ0BvM3IvbG9nZ2VyJztcbmltcG9ydCB7XG4gIFJ1bGVzZXRzU3RvcmVNb2R1bGUsXG59IGZyb20gJy4uLy4uL3N0b3Jlcy9pbmRleCc7XG5pbXBvcnQge1xuICBERUZBVUxUX1JVTEVTX0VOR0lORV9PUFRJT05TLFxuICBSVUxFU19FTkdJTkVfT1BUSU9OUyxcbiAgUnVsZXNFbmdpbmVTZXJ2aWNlT3B0aW9ucyxcbn0gZnJvbSAnLi4vcnVsZXMtZW5naW5lLnRva2VuJztcbmltcG9ydCB7XG4gIFJ1bGVzRW5naW5lUnVubmVyU2VydmljZSxcbn0gZnJvbSAnLi9ydWxlcy1lbmdpbmUucnVubmVyLnNlcnZpY2UnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgU3RvcmVNb2R1bGUsXG4gICAgUnVsZXNldHNTdG9yZU1vZHVsZSxcbiAgICBMb2dnZXJNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBSdWxlc0VuZ2luZVJ1bm5lck1vZHVsZSB7XG4gIHB1YmxpYyBzdGF0aWMgZm9yUm9vdChvcHRpb25zPzogUGFydGlhbDxSdWxlc0VuZ2luZVNlcnZpY2VPcHRpb25zPik6IE1vZHVsZVdpdGhQcm92aWRlcnM8UnVsZXNFbmdpbmVSdW5uZXJNb2R1bGU+IHtcbiAgICBjb25zdCBvcHRzID0gb3B0aW9ucyA/IHsgLi4uREVGQVVMVF9SVUxFU19FTkdJTkVfT1BUSU9OUywgLi4ub3B0aW9ucyB9IDogREVGQVVMVF9SVUxFU19FTkdJTkVfT1BUSU9OUztcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IFJ1bGVzRW5naW5lUnVubmVyTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHsgcHJvdmlkZTogUlVMRVNfRU5HSU5FX09QVElPTlMsIHVzZVZhbHVlOiBvcHRzIH0sXG4gICAgICAgIFJ1bGVzRW5naW5lUnVubmVyU2VydmljZVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,132 +0,0 @@
1
- import { Inject, Injectable, Optional, } from '@angular/core';
2
- import { takeUntilDestroyed, } from '@angular/core/rxjs-interop';
3
- import { select, Store, } from '@ngrx/store';
4
- import { LoggerService, } from '@o3r/logger';
5
- import { BehaviorSubject, combineLatest, } from 'rxjs';
6
- import { filter, map, shareReplay, switchMap, } from 'rxjs/operators';
7
- import { EngineDebugger, operatorList, RulesEngine, } from '../../engine/index';
8
- import { selectActiveRuleSets, selectAllRulesets, selectComponentsLinkedToRuleset, setRulesetsEntities, } from '../../stores';
9
- import { RULES_ENGINE_OPTIONS, } from '../rules-engine.token';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@ngrx/store";
12
- import * as i2 from "@o3r/logger";
13
- export class RulesEngineRunnerService {
14
- constructor(store, logger, engineConfig) {
15
- this.store = store;
16
- this.logger = logger;
17
- /** Observable of component linked to the component */
18
- this.linkedComponents$ = new BehaviorSubject({});
19
- /**
20
- * List of action handlers
21
- * @deprecated will become protected in Otter v13, instead use {@link registerActionHandlers}
22
- */
23
- this.actionHandlers = new Set();
24
- this.enabled = !engineConfig?.dryRun;
25
- this.engine = new RulesEngine({
26
- debugger: engineConfig?.debug ? new EngineDebugger({ eventsStackLimit: engineConfig?.debugEventsStackLimit }) : undefined,
27
- logger: this.logger
28
- });
29
- this.ruleSets$ = combineLatest([
30
- this.store.pipe(select(selectActiveRuleSets)),
31
- this.linkedComponents$.pipe(switchMap((linkedComponentsNamesMap) => this.store.pipe(select(selectComponentsLinkedToRuleset), map((rulesetsWithLinkedComponentsMap) => Object.keys(rulesetsWithLinkedComponentsMap.or).filter((rulesetId) => rulesetsWithLinkedComponentsMap.or[rulesetId].some((componentId) => linkedComponentsNamesMap[componentId] > 0))))))
32
- ]).pipe(map(([activeRulesets, linkedComponentsRulesetsIds]) => ([...activeRulesets, ...linkedComponentsRulesetsIds])));
33
- this.events$ = this.ruleSets$.pipe(this.engine.getEventStream(), shareReplay(1));
34
- this.upsertOperators(operatorList);
35
- this.store.pipe(select(selectAllRulesets), takeUntilDestroyed()).subscribe((rulesets) => this.engine.upsertRulesets(rulesets));
36
- this.events$.pipe(takeUntilDestroyed(), filter(() => this.enabled)).subscribe((events) => {
37
- void this.executeActions(events);
38
- });
39
- }
40
- /**
41
- * Execute the list of actions
42
- * @param actions
43
- */
44
- async executeActions(actions) {
45
- const actionHandlers = [...this.actionHandlers];
46
- const supportedActions = new Set(actionHandlers.flatMap((handler) => handler.supportingActions));
47
- const actionMaps = actions
48
- .filter((action) => {
49
- const isKnown = supportedActions.has(action.actionType);
50
- if (!isKnown) {
51
- this.logger.warn(`The action ${action.actionType} does not have registered handler`);
52
- }
53
- return isKnown;
54
- })
55
- .reduce((acc, action) => {
56
- acc[action.actionType] ||= [];
57
- acc[action.actionType].push(action);
58
- return acc;
59
- }, {});
60
- const handling = actionHandlers
61
- .map((handler) => handler.executeActions(handler.supportingActions
62
- .filter((supportedAction) => actionMaps[supportedAction])
63
- .reduce((acc, supportedAction) => acc.concat(actionMaps[supportedAction]), [])));
64
- await Promise.all(handling);
65
- }
66
- /**
67
- * Update or insert fact in the rules engine
68
- * @param facts fact list to add / update
69
- */
70
- upsertFacts(facts) {
71
- this.engine.upsertFacts(facts);
72
- }
73
- /**
74
- * Update or insert operator in the rules engine
75
- * @param operators operator list to add / update
76
- */
77
- upsertOperators(operators) {
78
- this.engine.upsertOperators(operators);
79
- }
80
- /**
81
- * Upsert a list of RuleSets to be run in the rules engine
82
- * @param ruleSets
83
- */
84
- upsertRulesets(ruleSets) {
85
- this.store.dispatch(setRulesetsEntities({ entities: ruleSets }));
86
- }
87
- /**
88
- * Add action handlers in the rules engine
89
- * @param actionHandlers
90
- */
91
- registerActionHandlers(...actionHandlers) {
92
- actionHandlers.forEach((actionHandler) => this.actionHandlers.add(actionHandler));
93
- }
94
- /**
95
- * Remove action handlers in the rules engine
96
- * @param actionHandlers
97
- */
98
- unregisterActionHandlers(...actionHandlers) {
99
- actionHandlers.forEach((actionHandler) => this.actionHandlers.delete(actionHandler));
100
- }
101
- /**
102
- * Enable temporary a rule set
103
- * @param componentComputedName Name of the component to enable the ruleset for
104
- */
105
- enableRuleSetFor(componentComputedName) {
106
- const newMap = this.linkedComponents$.value;
107
- newMap[componentComputedName] = newMap[componentComputedName] ? newMap[componentComputedName] + 1 : 1;
108
- this.linkedComponents$.next(newMap);
109
- }
110
- /**
111
- * Disable temporary a rule set
112
- * @param componentComputedName Name of the component to disable the ruleset for
113
- */
114
- disableRuleSetFor(componentComputedName) {
115
- const newMap = this.linkedComponents$.value;
116
- if (newMap[componentComputedName] > 0) {
117
- newMap[componentComputedName]--;
118
- this.linkedComponents$.next(newMap);
119
- }
120
- }
121
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RulesEngineRunnerService, deps: [{ token: i1.Store }, { token: i2.LoggerService }, { token: RULES_ENGINE_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
122
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RulesEngineRunnerService }); }
123
- }
124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RulesEngineRunnerService, decorators: [{
125
- type: Injectable
126
- }], ctorParameters: () => [{ type: i1.Store }, { type: i2.LoggerService }, { type: undefined, decorators: [{
127
- type: Optional
128
- }, {
129
- type: Inject,
130
- args: [RULES_ENGINE_OPTIONS]
131
- }] }] });
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXMtZW5naW5lLnJ1bm5lci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL3J1bm5lci9ydWxlcy1lbmdpbmUucnVubmVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE1BQU0sRUFDTixVQUFVLEVBQ1YsUUFBUSxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxrQkFBa0IsR0FDbkIsTUFBTSw0QkFBNEIsQ0FBQztBQUNwQyxPQUFPLEVBQ0wsTUFBTSxFQUNOLEtBQUssR0FDTixNQUFNLGFBQWEsQ0FBQztBQUlyQixPQUFPLEVBQ0wsYUFBYSxHQUNkLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFDTCxlQUFlLEVBQ2YsYUFBYSxHQUVkLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUNMLE1BQU0sRUFDTixHQUFHLEVBQ0gsV0FBVyxFQUNYLFNBQVMsR0FDVixNQUFNLGdCQUFnQixDQUFDO0FBUXhCLE9BQU8sRUFDTCxjQUFjLEVBQ2QsWUFBWSxFQUNaLFdBQVcsR0FDWixNQUFNLG9CQUFvQixDQUFDO0FBSTVCLE9BQU8sRUFDTCxvQkFBb0IsRUFDcEIsaUJBQWlCLEVBQ2pCLCtCQUErQixFQUMvQixtQkFBbUIsR0FDcEIsTUFBTSxjQUFjLENBQUM7QUFDdEIsT0FBTyxFQUNMLG9CQUFvQixHQUVyQixNQUFNLHVCQUF1QixDQUFDOzs7O0FBRy9CLE1BQU0sT0FBTyx3QkFBd0I7SUFzQm5DLFlBQ21CLEtBQTJCLEVBQzNCLE1BQXFCLEVBQ0ksWUFBd0M7UUFGakUsVUFBSyxHQUFMLEtBQUssQ0FBc0I7UUFDM0IsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQXBCeEMsc0RBQXNEO1FBQzVDLHNCQUFpQixHQUErQyxJQUFJLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQVdsRzs7O1dBR0c7UUFDYSxtQkFBYyxHQUFHLElBQUks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QUFDLEVBQUUsQ0FBQztZQUNoQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RDLENBQUM7SUFDSCxDQUFDO2tJQTlKVSx3QkFBd0Isb0VBeUJiLG9CQUFvQjtzSUF6Qi9CLHdCQUF3Qjs7NEZBQXhCLHdCQUF3QjtrQkFEcEMsVUFBVTs7MEJBMEJOLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5qZWN0LFxuICBJbmplY3RhYmxlLFxuICBPcHRpb25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICB0YWtlVW50aWxEZXN0cm95ZWQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7XG4gIHNlbGVjdCxcbiAgU3RvcmUsXG59IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB0eXBlIHtcbiAgUnVsZXNFbmdpbmVBY3Rpb25IYW5kbGVyLFxufSBmcm9tICdAbzNyL2NvcmUnO1xuaW1wb3J0IHtcbiAgTG9nZ2VyU2VydmljZSxcbn0gZnJvbSAnQG8zci9sb2dnZXInO1xuaW1wb3J0IHtcbiAgQmVoYXZpb3JTdWJqZWN0LFxuICBjb21iaW5lTGF0ZXN0LFxuICBPYnNlcnZhYmxlLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGZpbHRlcixcbiAgbWFwLFxuICBzaGFyZVJlcGxheSxcbiAgc3dpdGNoTWFwLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgdHlwZSB7XG4gIEFjdGlvbkJsb2NrLFxuICBGYWN0LFxuICBPcGVyYXRvcixcbiAgUnVsZXNldCxcbiAgVW5hcnlPcGVyYXRvcixcbn0gZnJvbSAnLi4vLi4vZW5naW5lL2luZGV4JztcbmltcG9ydCB7XG4gIEVuZ2luZURlYnVnZ2VyLFxuICBvcGVyYXRvckxpc3QsXG4gIFJ1bGVzRW5naW5lLFxufSBmcm9tICcuLi8uLi9lbmdpbmUvaW5kZXgnO1xuaW1wb3J0IHR5cGUge1xuICBSdWxlc2V0c1N0b3JlLFxufSBmcm9tICcuLi8uLi9zdG9yZXMnO1xuaW1wb3J0IHtcbiAgc2VsZWN0QWN0aXZlUnVsZVNldHMsXG4gIHNlbGVjdEFsbFJ1bGVzZXRzLFxuICBzZWxlY3RDb21wb25lbnRzTGlua2VkVG9SdWxlc2V0LFxuICBzZXRSdWxlc2V0c0VudGl0aWVzLFxufSBmcm9tICcuLi8uLi9zdG9yZXMnO1xuaW1wb3J0IHtcbiAgUlVMRVNfRU5HSU5FX09QVElPTlMsXG4gIFJ1bGVzRW5naW5lU2VydmljZU9wdGlvbnMsXG59IGZyb20gJy4uL3J1bGVzLWVuZ2luZS50b2tlbic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSdWxlc0VuZ2luZVJ1bm5lclNlcnZpY2Uge1xuICAvKiogUnVsZXNldHMgdG8gcmVzdHJpY3QgdGhlIGV4ZWN1dGlvbiBvZiB0aGUgZW5naW5lICovXG4gIHByb3RlY3RlZCBydWxlU2V0cyQ6IE9ic2VydmFibGU8c3RyaW5nW10gfCB1bmRlZmluZWQ+O1xuXG4gIC8qKiBPYnNlcnZhYmxlIG9mIGNvbXBvbmVudCBsaW5rZWQgdG8gdGhlIGNvbXBvbmVudCAqL1xuICBwcm90ZWN0ZWQgbGlua2VkQ29tcG9uZW50cyQ6IEJlaGF2aW9yU3ViamVjdDx7IFtrZXk6IHN0cmluZ106IG51bWJlciB9PiA9IG5ldyBCZWhhdmlvclN1YmplY3Qoe30pO1xuXG4gIC8qKiBNYXAgb2YgZW5naW5lcyBkZWRpY2F0ZWQgdG8gZWFjaCBydWxlIHNldHMgKi9cbiAgcHVibGljIHJlYWRvbmx5IGVuZ2luZTogUnVsZXNFbmdpbmU7XG5cbiAgLyoqIHN0cmVhbSBvZiB0aGUgd2hvbGUgcnVsZXNldCByZXN1bHRzICovXG4gIHB1YmxpYyBldmVudHMkOiBPYnNlcnZhYmxlPEFjdGlvbkJsb2NrW10+O1xuXG4gIC8qKiBFbmFibGUgYWN0aW9uIGV4ZWN1dGlvbiBvbiBuZXcgc3RhdGUgY2hhbmdlICovXG4gIHB1YmxpYyBlbmFibGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIGFjdGlvbiBoYW5kbGVyc1xuICAgKiBAZGVwcmVjYXRlZCB3aWxsIGJlY29tZSBwcm90ZWN0ZWQgaW4gT3R0ZXIgdjEzLCBpbnN0ZWFkIHVzZSB7QGxpbmsgcmVnaXN0ZXJBY3Rpb25IYW5kbGVyc31cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBhY3Rpb25IYW5kbGVycyA9IG5ldyBTZXQ8UnVsZXNFbmdpbmVBY3Rpb25IYW5kbGVyPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3RvcmU6IFN0b3JlPFJ1bGVzZXRzU3RvcmU+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoUlVMRVNfRU5HSU5FX09QVElPTlMpIGVuZ2luZUNvbmZpZz86IFJ1bGVzRW5naW5lU2VydmljZU9wdGlvbnMpIHtcbiAgICB0aGlzLmVuYWJsZWQgPSAhZW5naW5lQ29uZmlnPy5kcnlSdW47XG4gICAgdGhpcy5lbmdpbmUgPSBuZXcgUnVsZXNFbmdpbmUoe1xuICAgICAgZGVidWdnZXI6IGVuZ2luZUNvbmZpZz8uZGVidWcgPyBuZXcgRW5naW5lRGVidWdnZXIoeyBldmVudHNTdGFja0xpbWl0OiBlbmdpbmVDb25maWc/LmRlYnVnRXZlbnRzU3RhY2tMaW1pdCB9KSA6IHVuZGVmaW5lZCxcbiAgICAgIGxvZ2dlcjogdGhpcy5sb2dnZXJcbiAgICB9KTtcbiAgICB0aGlzLnJ1bGVTZXRzJCA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5zdG9yZS5waXBlKHNlbGVjdChzZWxlY3RBY3RpdmVSdWxlU2V0cykpLFxuICAgICAgdGhpcy5saW5rZWRDb21wb25lbnRzJC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKGxpbmtlZENvbXBvbmVudHNOYW1lc01hcCkgPT4gdGhpcy5zdG9yZS5waXBlKFxuICAgICAgICAgIHNlbGVjdChzZWxlY3RDb21wb25lbnRzTGlua2VkVG9SdWxlc2V0KSxcbiAgICAgICAgICBtYXAoKHJ1bGVzZXRzV2l0aExpbmtlZENvbXBvbmVudHNNYXApID0+XG4gICAgICAgICAgICBPYmplY3Qua2V5cyhydWxlc2V0c1dpdGhMaW5rZWRDb21wb25lbnRzTWFwLm9yKS5maWx0ZXIoKHJ1bGVzZXRJZCkgPT5cbiAgICAgICAgICAgICAgcnVsZXNldHNXaXRoTGlua2VkQ29tcG9uZW50c01hcC5vcltydWxlc2V0SWRdLnNvbWUoKGNvbXBvbmVudElkKSA9PiBsaW5rZWRDb21wb25lbnRzTmFtZXNNYXBbY29tcG9uZW50SWRdID4gMClcbiAgICAgICAgICAgIClcbiAgICAgICAgICApXG4gICAgICAgICkpXG4gICAgICApXG4gICAgXSkucGlwZShcbiAgICAgIG1hcCgoW2FjdGl2ZVJ1bGVzZXRzLCBsaW5rZWRDb21wb25lbnRzUnVsZXNldHNJZHNdKSA9PiAoWy4uLmFjdGl2ZVJ1bGVzZXRzLCAuLi5saW5rZWRDb21wb25lbnRzUnVsZXNldHNJZHNdKSlcbiAgICApO1xuXG4gICAgdGhpcy5ldmVudHMkID0gdGhpcy5ydWxlU2V0cyQucGlwZShcbiAgICAgIHRoaXMuZW5naW5lLmdldEV2ZW50U3RyZWFtPEFjdGlvbkJsb2NrPigpLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuXG4gICAgdGhpcy51cHNlcnRPcGVyYXRvcnMob3BlcmF0b3JMaXN0KTtcblxuICAgIHRoaXMuc3RvcmUucGlwZShcbiAgICAgIHNlbGVjdChzZWxlY3RBbGxSdWxlc2V0cyksXG4gICAgICB0YWtlVW50aWxEZXN0cm95ZWQoKVxuICAgICkuc3Vic2NyaWJlKChydWxlc2V0czogUnVsZXNldFtdKSA9PiB0aGlzLmVuZ2luZS51cHNlcnRSdWxlc2V0cyhydWxlc2V0cykpO1xuICAgIHRoaXMuZXZlbnRzJC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpLCBmaWx0ZXIoKCkgPT4gdGhpcy5lbmFibGVkKSkuc3Vic2NyaWJlKChldmVudHMpID0+IHtcbiAgICAgIHZvaWQgdGhpcy5leGVjdXRlQWN0aW9ucyhldmVudHMpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGUgdGhlIGxpc3Qgb2YgYWN0aW9uc1xuICAgKiBAcGFyYW0gYWN0aW9uc1xuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIGV4ZWN1dGVBY3Rpb25zKGFjdGlvbnM6IEFjdGlvbkJsb2NrW10pIHtcbiAgICBjb25zdCBhY3Rpb25IYW5kbGVycyA9IFsuLi50aGlzLmFjdGlvbkhhbmRsZXJzXTtcblxuICAgIGNvbnN0IHN1cHBvcnRlZEFjdGlvbnMgPSBuZXcgU2V0KGFjdGlvbkhhbmRsZXJzLmZsYXRNYXAoKGhhbmRsZXIpID0+IGhhbmRsZXIuc3VwcG9ydGluZ0FjdGlvbnMpKTtcblxuICAgIGNvbnN0IGFjdGlvbk1hcHMgPSBhY3Rpb25zXG4gICAgICAuZmlsdGVyKChhY3Rpb24pID0+IHtcbiAgICAgICAgY29uc3QgaXNLbm93biA9IHN1cHBvcnRlZEFjdGlvbnMuaGFzKGFjdGlvbi5hY3Rpb25UeXBlKTtcbiAgICAgICAgaWYgKCFpc0tub3duKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIud2FybihgVGhlIGFjdGlvbiAke2FjdGlvbi5hY3Rpb25UeXBlfSBkb2VzIG5vdCBoYXZlIHJlZ2lzdGVyZWQgaGFuZGxlcmApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc0tub3duO1xuICAgICAgfSlcbiAgICAgIC5yZWR1Y2UoKGFjYywgYWN0aW9uKSA9PiB7XG4gICAgICAgIGFjY1thY3Rpb24uYWN0aW9uVHlwZV0gfHw9IFtdO1xuICAgICAgICBhY2NbYWN0aW9uLmFjdGlvblR5cGVdLnB1c2goYWN0aW9uKTtcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIHt9IGFzIFJlY29yZDxzdHJpbmcsIEFjdGlvbkJsb2NrW10+KTtcblxuICAgIGNvbnN0IGhhbmRsaW5nID0gYWN0aW9uSGFuZGxlcnNcbiAgICAgIC5tYXAoKGhhbmRsZXIpID0+XG4gICAgICAgIGhhbmRsZXIuZXhlY3V0ZUFjdGlvbnMoXG4gICAgICAgICAgaGFuZGxlci5zdXBwb3J0aW5nQWN0aW9uc1xuICAgICAgICAgICAgLmZpbHRlcigoc3VwcG9ydGVkQWN0aW9uKSA9PiBhY3Rpb25NYXBzW3N1cHBvcnRlZEFjdGlvbl0pXG4gICAgICAgICAgICAucmVkdWNlPEFjdGlvbkJsb2NrW10+KChhY2MsIHN1cHBvcnRlZEFjdGlvbikgPT4gYWNjLmNvbmNhdChhY3Rpb25NYXBzW3N1cHBvcnRlZEFjdGlvbl0pLCBbXSlcbiAgICAgICAgKVxuICAgICAgKTtcblxuICAgIGF3YWl0IFByb21pc2UuYWxsKGhhbmRsaW5nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgb3IgaW5zZXJ0IGZhY3QgaW4gdGhlIHJ1bGVzIGVuZ2luZVxuICAgKiBAcGFyYW0gZmFjdHMgZmFjdCBsaXN0IHRvIGFkZCAvIHVwZGF0ZVxuICAgKi9cbiAgcHVibGljIHVwc2VydEZhY3RzKGZhY3RzOiBGYWN0PHVua25vd24+IHwgRmFjdDx1bmtub3duPltdKSB7XG4gICAgdGhpcy5lbmdpbmUudXBzZXJ0RmFjdHMoZmFjdHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBvciBpbnNlcnQgb3BlcmF0b3IgaW4gdGhlIHJ1bGVzIGVuZ2luZVxuICAgKiBAcGFyYW0gb3BlcmF0b3JzIG9wZXJhdG9yIGxpc3QgdG8gYWRkIC8gdXBkYXRlXG4gICAqL1xuICBwdWJsaWMgdXBzZXJ0T3BlcmF0b3JzKG9wZXJhdG9yczogKE9wZXJhdG9yPGFueSwgYW55PiB8IFVuYXJ5T3BlcmF0b3I8YW55PilbXSkge1xuICAgIHRoaXMuZW5naW5lLnVwc2VydE9wZXJhdG9ycyhvcGVyYXRvcnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwc2VydCBhIGxpc3Qgb2YgUnVsZVNldHMgdG8gYmUgcnVuIGluIHRoZSBydWxlcyBlbmdpbmVcbiAgICogQHBhcmFtIHJ1bGVTZXRzXG4gICAqL1xuICBwdWJsaWMgdXBzZXJ0UnVsZXNldHMocnVsZVNldHM6IFJ1bGVzZXRbXSkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goc2V0UnVsZXNldHNFbnRpdGllcyh7IGVudGl0aWVzOiBydWxlU2V0cyB9KSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGFjdGlvbiBoYW5kbGVycyBpbiB0aGUgcnVsZXMgZW5naW5lXG4gICAqIEBwYXJhbSBhY3Rpb25IYW5kbGVyc1xuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyQWN0aW9uSGFuZGxlcnMoLi4uYWN0aW9uSGFuZGxlcnM6IFJ1bGVzRW5naW5lQWN0aW9uSGFuZGxlcltdKSB7XG4gICAgYWN0aW9uSGFuZGxlcnMuZm9yRWFjaCgoYWN0aW9uSGFuZGxlcikgPT4gdGhpcy5hY3Rpb25IYW5kbGVycy5hZGQoYWN0aW9uSGFuZGxlcikpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBhY3Rpb24gaGFuZGxlcnMgaW4gdGhlIHJ1bGVzIGVuZ2luZVxuICAgKiBAcGFyYW0gYWN0aW9uSGFuZGxlcnNcbiAgICovXG4gIHB1YmxpYyB1bnJlZ2lzdGVyQWN0aW9uSGFuZGxlcnMoLi4uYWN0aW9uSGFuZGxlcnM6IFJ1bGVzRW5naW5lQWN0aW9uSGFuZGxlcltdKSB7XG4gICAgYWN0aW9uSGFuZGxlcnMuZm9yRWFjaCgoYWN0aW9uSGFuZGxlcikgPT4gdGhpcy5hY3Rpb25IYW5kbGVycy5kZWxldGUoYWN0aW9uSGFuZGxlcikpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuYWJsZSB0ZW1wb3JhcnkgYSBydWxlIHNldFxuICAgKiBAcGFyYW0gY29tcG9uZW50Q29tcHV0ZWROYW1lIE5hbWUgb2YgdGhlIGNvbXBvbmVudCB0byBlbmFibGUgdGhlIHJ1bGVzZXQgZm9yXG4gICAqL1xuICBwdWJsaWMgZW5hYmxlUnVsZVNldEZvcihjb21wb25lbnRDb21wdXRlZE5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IG5ld01hcCA9IHRoaXMubGlua2VkQ29tcG9uZW50cyQudmFsdWU7XG4gICAgbmV3TWFwW2NvbXBvbmVudENvbXB1dGVkTmFtZV0gPSBuZXdNYXBbY29tcG9uZW50Q29tcHV0ZWROYW1lXSA/IG5ld01hcFtjb21wb25lbnRDb21wdXRlZE5hbWVdICsgMSA6IDE7XG4gICAgdGhpcy5saW5rZWRDb21wb25lbnRzJC5uZXh0KG5ld01hcCk7XG4gIH1cblxuICAvKipcbiAgICogRGlzYWJsZSB0ZW1wb3JhcnkgYSBydWxlIHNldFxuICAgKiBAcGFyYW0gY29tcG9uZW50Q29tcHV0ZWROYW1lIE5hbWUgb2YgdGhlIGNvbXBvbmVudCB0byBkaXNhYmxlIHRoZSBydWxlc2V0IGZvclxuICAgKi9cbiAgcHVibGljIGRpc2FibGVSdWxlU2V0Rm9yKGNvbXBvbmVudENvbXB1dGVkTmFtZTogc3RyaW5nKSB7XG4gICAgY29uc3QgbmV3TWFwID0gdGhpcy5saW5rZWRDb21wb25lbnRzJC52YWx1ZTtcbiAgICBpZiAobmV3TWFwW2NvbXBvbmVudENvbXB1dGVkTmFtZV0gPiAwKSB7XG4gICAgICBuZXdNYXBbY29tcG9uZW50Q29tcHV0ZWROYW1lXS0tO1xuICAgICAgdGhpcy5saW5rZWRDb21wb25lbnRzJC5uZXh0KG5ld01hcCk7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -1,2 +0,0 @@
1
- export * from './rulesets/index';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3RvcmVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3J1bGVzZXRzL2luZGV4JztcbiJdfQ==
@@ -1,8 +0,0 @@
1
- export * from './rulesets.actions';
2
- export * from './rulesets.effect';
3
- export * from './rulesets.module';
4
- export * from './rulesets.reducer';
5
- export * from './rulesets.selectors';
6
- export * from './rulesets.state';
7
- export * from './rulesets.sync';
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3RvcmVzL3J1bGVzZXRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsaUJBQWlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3J1bGVzZXRzLmFjdGlvbnMnO1xuZXhwb3J0ICogZnJvbSAnLi9ydWxlc2V0cy5lZmZlY3QnO1xuZXhwb3J0ICogZnJvbSAnLi9ydWxlc2V0cy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9ydWxlc2V0cy5yZWR1Y2VyJztcbmV4cG9ydCAqIGZyb20gJy4vcnVsZXNldHMuc2VsZWN0b3JzJztcbmV4cG9ydCAqIGZyb20gJy4vcnVsZXNldHMuc3RhdGUnO1xuZXhwb3J0ICogZnJvbSAnLi9ydWxlc2V0cy5zeW5jJztcbiJdfQ==
@@ -1,42 +0,0 @@
1
- import { createAction, props, } from '@ngrx/store';
2
- import { asyncProps, } from '@o3r/core';
3
- /** StateDetailsActions */
4
- const ACTION_SET = '[Rulesets] set';
5
- const ACTION_UPDATE = '[Rulesets] update';
6
- const ACTION_RESET = '[Rulesets] reset';
7
- const ACTION_CANCEL_REQUEST = '[Rulesets] cancel request';
8
- /** Entity Actions */
9
- const ACTION_CLEAR_ENTITIES = '[Rulesets] clear entities';
10
- const ACTION_UPSERT_ENTITIES = '[Rulesets] upsert entities';
11
- const ACTION_SET_ENTITIES = '[Rulesets] set entities';
12
- const ACTION_FAIL_ENTITIES = '[Rulesets] fail entities';
13
- /** Async Actions */
14
- const ACTION_SET_ENTITIES_FROM_API = '[Rulesets] set entities from api';
15
- const ACTION_UPSERT_ENTITIES_FROM_API = '[Rulesets] upsert entities from api';
16
- /** Action to clear the StateDetails of the store and replace it */
17
- export const setRulesets = createAction(ACTION_SET, props());
18
- /** Action to change a part or the whole object in the store. */
19
- export const updateRulesets = createAction(ACTION_UPDATE, props());
20
- /** Action to reset the whole state, by returning it to initial state. */
21
- export const resetRulesets = createAction(ACTION_RESET);
22
- /** Action to cancel a Request ID registered in the store. Can happen from effect based on a switchMap for instance */
23
- export const cancelRulesetsRequest = createAction(ACTION_CANCEL_REQUEST, props());
24
- /** Action to clear all rulesets and fill the store with the payload */
25
- export const setRulesetsEntities = createAction(ACTION_SET_ENTITIES, props());
26
- /** Action to update rulesets with known IDs, insert the new ones */
27
- export const upsertRulesetsEntities = createAction(ACTION_UPSERT_ENTITIES, props());
28
- /** Action to empty the list of entities, keeping the global state */
29
- export const clearRulesetsEntities = createAction(ACTION_CLEAR_ENTITIES);
30
- /** Action to update failureStatus for every RulesetsModel */
31
- export const failRulesetsEntities = createAction(ACTION_FAIL_ENTITIES, props());
32
- /**
33
- * Action to put the global status of the store in a pending state. Call SET action with the list of RulesetsModels received, when this action resolves.
34
- * If the call fails, dispatch FAIL_ENTITIES action
35
- */
36
- export const setRulesetsEntitiesFromApi = createAction(ACTION_SET_ENTITIES_FROM_API, asyncProps());
37
- /**
38
- * Action to put global status of the store in a pending state. Call UPSERT action with the list of RulesetsModels received, when this action resolves.
39
- * If the call fails, dispatch FAIL_ENTITIES action
40
- */
41
- export const upsertRulesetsEntitiesFromApi = createAction(ACTION_UPSERT_ENTITIES_FROM_API, asyncProps());
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXNldHMuYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdG9yZXMvcnVsZXNldHMvcnVsZXNldHMuYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsWUFBWSxFQUNaLEtBQUssR0FDTixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQ0wsVUFBVSxHQU9YLE1BQU0sV0FBVyxDQUFDO0FBTW5CLDBCQUEwQjtBQUMxQixNQUFNLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQztBQUNwQyxNQUFNLGFBQWEsR0FBRyxtQkFBbUIsQ0FBQztBQUMxQyxNQUFNLFlBQVksR0FBRyxrQkFBa0IsQ0FBQztBQUN4QyxNQUFNLHFCQUFxQixHQUFHLDJCQUEyQixDQUFDO0FBRTFELHFCQUFxQjtBQUNyQixNQUFNLHFCQUFxQixHQUFHLDJCQUEyQixDQUFDO0FBQzFELE1BQU0sc0JBQXNCLEdBQUcsNEJBQTRCLENBQUM7QUFDNUQsTUFBTSxtQkFBbUIsR0FBRyx5QkFBeUIsQ0FBQztBQUN0RCxNQUFNLG9CQUFvQixHQUFHLDBCQUEwQixDQUFDO0FBRXhELG9CQUFvQjtBQUNwQixNQUFNLDRCQUE0QixHQUFHLGtDQUFrQyxDQUFDO0FBQ3hFLE1BQU0sK0JBQStCLEdBQUcscUNBQXFDLENBQUM7QUFFOUUsbUVBQW1FO0FBQ25FLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsVUFBVSxFQUFFLEtBQUssRUFBMEMsQ0FBQyxDQUFDO0FBRXJHLGdFQUFnRTtBQUNoRSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQTZDLENBQUMsQ0FBQztBQUU5Ryx5RUFBeUU7QUFDekUsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztBQUV4RCxzSEFBc0g7QUFDdEgsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsWUFBWSxDQUFDLHFCQUFxQixFQUFFLEtBQUssRUFBZ0IsQ0FBQyxDQUFDO0FBRWhHLHVFQUF1RTtBQUN2RSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsS0FBSyxFQUF5RCxDQUFDLENBQUM7QUFFckksb0VBQW9FO0FBQ3BFLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLFlBQVksQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLEVBQXlELENBQUMsQ0FBQztBQUUzSSxxRUFBcUU7QUFDckUsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsWUFBWSxDQUFDLHFCQUFxQixDQUFDLENBQUM7QUFFekUsNkRBQTZEO0FBQzdELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLFlBQVksQ0FBQyxvQkFBb0IsRUFBRSxLQUFLLEVBQWdELENBQUMsQ0FBQztBQUU5SDs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxZQUFZLENBQUMsNEJBQTRCLEVBQUUsVUFBVSxFQUF5QyxDQUFDLENBQUM7QUFFMUk7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsWUFBWSxDQUFDLCtCQUErQixFQUFFLFVBQVUsRUFBeUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY3JlYXRlQWN0aW9uLFxuICBwcm9wcyxcbn0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgYXN5bmNQcm9wcyxcbiAgQXN5bmNSZXF1ZXN0LFxuICBGYWlsQXN5bmNTdG9yZUl0ZW1FbnRpdGllc0FjdGlvblBheWxvYWQsXG4gIEZyb21BcGlBY3Rpb25QYXlsb2FkLFxuICBTZXRBY3Rpb25QYXlsb2FkLFxuICBTZXRBc3luY1N0b3JlSXRlbUVudGl0aWVzQWN0aW9uUGF5bG9hZCxcbiAgVXBkYXRlQWN0aW9uUGF5bG9hZCxcbn0gZnJvbSAnQG8zci9jb3JlJztcbmltcG9ydCB7XG4gIFJ1bGVzZXRzTW9kZWwsXG4gIFJ1bGVzZXRzU3RhdGVEZXRhaWxzLFxufSBmcm9tICcuL3J1bGVzZXRzLnN0YXRlJztcblxuLyoqIFN0YXRlRGV0YWlsc0FjdGlvbnMgKi9cbmNvbnN0IEFDVElPTl9TRVQgPSAnW1J1bGVzZXRzXSBzZXQnO1xuY29uc3QgQUNUSU9OX1VQREFURSA9ICdbUnVsZXNldHNdIHVwZGF0ZSc7XG5jb25zdCBBQ1RJT05fUkVTRVQgPSAnW1J1bGVzZXRzXSByZXNldCc7XG5jb25zdCBBQ1RJT05fQ0FOQ0VMX1JFUVVFU1QgPSAnW1J1bGVzZXRzXSBjYW5jZWwgcmVxdWVzdCc7XG5cbi8qKiBFbnRpdHkgQWN0aW9ucyAqL1xuY29uc3QgQUNUSU9OX0NMRUFSX0VOVElUSUVTID0gJ1tSdWxlc2V0c10gY2xlYXIgZW50aXRpZXMnO1xuY29uc3QgQUNUSU9OX1VQU0VSVF9FTlRJVElFUyA9ICdbUnVsZXNldHNdIHVwc2VydCBlbnRpdGllcyc7XG5jb25zdCBBQ1RJT05fU0VUX0VOVElUSUVTID0gJ1tSdWxlc2V0c10gc2V0IGVudGl0aWVzJztcbmNvbnN0IEFDVElPTl9GQUlMX0VOVElUSUVTID0gJ1tSdWxlc2V0c10gZmFpbCBlbnRpdGllcyc7XG5cbi8qKiBBc3luYyBBY3Rpb25zICovXG5jb25zdCBBQ1RJT05fU0VUX0VOVElUSUVTX0ZST01fQVBJID0gJ1tSdWxlc2V0c10gc2V0IGVudGl0aWVzIGZyb20gYXBpJztcbmNvbnN0IEFDVElPTl9VUFNFUlRfRU5USVRJRVNfRlJPTV9BUEkgPSAnW1J1bGVzZXRzXSB1cHNlcnQgZW50aXRpZXMgZnJvbSBhcGknO1xuXG4vKiogQWN0aW9uIHRvIGNsZWFyIHRoZSBTdGF0ZURldGFpbHMgb2YgdGhlIHN0b3JlIGFuZCByZXBsYWNlIGl0ICovXG5leHBvcnQgY29uc3Qgc2V0UnVsZXNldHMgPSBjcmVhdGVBY3Rpb24oQUNUSU9OX1NFVCwgcHJvcHM8U2V0QWN0aW9uUGF5bG9hZDxSdWxlc2V0c1N0YXRlRGV0YWlscz4+KCkpO1xuXG4vKiogQWN0aW9uIHRvIGNoYW5nZSBhIHBhcnQgb3IgdGhlIHdob2xlIG9iamVjdCBpbiB0aGUgc3RvcmUuICovXG5leHBvcnQgY29uc3QgdXBkYXRlUnVsZXNldHMgPSBjcmVhdGVBY3Rpb24oQUNUSU9OX1VQREFURSwgcHJvcHM8VXBkYXRlQWN0aW9uUGF5bG9hZDxSdWxlc2V0c1N0YXRlRGV0YWlscz4+KCkpO1xuXG4vKiogQWN0aW9uIHRvIHJlc2V0IHRoZSB3aG9sZSBzdGF0ZSwgYnkgcmV0dXJuaW5nIGl0IHRvIGluaXRpYWwgc3RhdGUuICovXG5leHBvcnQgY29uc3QgcmVzZXRSdWxlc2V0cyA9IGNyZWF0ZUFjdGlvbihBQ1RJT05fUkVTRVQpO1xuXG4vKiogQWN0aW9uIHRvIGNhbmNlbCBhIFJlcXVlc3QgSUQgcmVnaXN0ZXJlZCBpbiB0aGUgc3RvcmUuIENhbiBoYXBwZW4gZnJvbSBlZmZlY3QgYmFzZWQgb24gYSBzd2l0Y2hNYXAgZm9yIGluc3RhbmNlICovXG5leHBvcnQgY29uc3QgY2FuY2VsUnVsZXNldHNSZXF1ZXN0ID0gY3JlYXRlQWN0aW9uKEFDVElPTl9DQU5DRUxfUkVRVUVTVCwgcHJvcHM8QXN5bmNSZXF1ZXN0PigpKTtcblxuLyoqIEFjdGlvbiB0byBjbGVhciBhbGwgcnVsZXNldHMgYW5kIGZpbGwgdGhlIHN0b3JlIHdpdGggdGhlIHBheWxvYWQgKi9cbmV4cG9ydCBjb25zdCBzZXRSdWxlc2V0c0VudGl0aWVzID0gY3JlYXRlQWN0aW9uKEFDVElPTl9TRVRfRU5USVRJRVMsIHByb3BzPFNldEFzeW5jU3RvcmVJdGVtRW50aXRpZXNBY3Rpb25QYXlsb2FkPFJ1bGVzZXRzTW9kZWw+PigpKTtcblxuLyoqIEFjdGlvbiB0byB1cGRhdGUgcnVsZXNldHMgd2l0aCBrbm93biBJRHMsIGluc2VydCB0aGUgbmV3IG9uZXMgKi9cbmV4cG9ydCBjb25zdCB1cHNlcnRSdWxlc2V0c0VudGl0aWVzID0gY3JlYXRlQWN0aW9uKEFDVElPTl9VUFNFUlRfRU5USVRJRVMsIHByb3BzPFNldEFzeW5jU3RvcmVJdGVtRW50aXRpZXNBY3Rpb25QYXlsb2FkPFJ1bGVzZXRzTW9kZWw+PigpKTtcblxuLyoqIEFjdGlvbiB0byBlbXB0eSB0aGUgbGlzdCBvZiBlbnRpdGllcywga2VlcGluZyB0aGUgZ2xvYmFsIHN0YXRlICovXG5leHBvcnQgY29uc3QgY2xlYXJSdWxlc2V0c0VudGl0aWVzID0gY3JlYXRlQWN0aW9uKEFDVElPTl9DTEVBUl9FTlRJVElFUyk7XG5cbi8qKiBBY3Rpb24gdG8gdXBkYXRlIGZhaWx1cmVTdGF0dXMgZm9yIGV2ZXJ5IFJ1bGVzZXRzTW9kZWwgKi9cbmV4cG9ydCBjb25zdCBmYWlsUnVsZXNldHNFbnRpdGllcyA9IGNyZWF0ZUFjdGlvbihBQ1RJT05fRkFJTF9FTlRJVElFUywgcHJvcHM8RmFpbEFzeW5jU3RvcmVJdGVtRW50aXRpZXNBY3Rpb25QYXlsb2FkPGFueT4+KCkpO1xuXG4vKipcbiAqIEFjdGlvbiB0byBwdXQgdGhlIGdsb2JhbCBzdGF0dXMgb2YgdGhlIHN0b3JlIGluIGEgcGVuZGluZyBzdGF0ZS4gQ2FsbCBTRVQgYWN0aW9uIHdpdGggdGhlIGxpc3Qgb2YgUnVsZXNldHNNb2RlbHMgcmVjZWl2ZWQsIHdoZW4gdGhpcyBhY3Rpb24gcmVzb2x2ZXMuXG4gKiBJZiB0aGUgY2FsbCBmYWlscywgZGlzcGF0Y2ggRkFJTF9FTlRJVElFUyBhY3Rpb25cbiAqL1xuZXhwb3J0IGNvbnN0IHNldFJ1bGVzZXRzRW50aXRpZXNGcm9tQXBpID0gY3JlYXRlQWN0aW9uKEFDVElPTl9TRVRfRU5USVRJRVNfRlJPTV9BUEksIGFzeW5jUHJvcHM8RnJvbUFwaUFjdGlvblBheWxvYWQ8UnVsZXNldHNNb2RlbFtdPj4oKSk7XG5cbi8qKlxuICogQWN0aW9uIHRvIHB1dCBnbG9iYWwgc3RhdHVzIG9mIHRoZSBzdG9yZSBpbiBhIHBlbmRpbmcgc3RhdGUuIENhbGwgVVBTRVJUIGFjdGlvbiB3aXRoIHRoZSBsaXN0IG9mIFJ1bGVzZXRzTW9kZWxzIHJlY2VpdmVkLCB3aGVuIHRoaXMgYWN0aW9uIHJlc29sdmVzLlxuICogSWYgdGhlIGNhbGwgZmFpbHMsIGRpc3BhdGNoIEZBSUxfRU5USVRJRVMgYWN0aW9uXG4gKi9cbmV4cG9ydCBjb25zdCB1cHNlcnRSdWxlc2V0c0VudGl0aWVzRnJvbUFwaSA9IGNyZWF0ZUFjdGlvbihBQ1RJT05fVVBTRVJUX0VOVElUSUVTX0ZST01fQVBJLCBhc3luY1Byb3BzPEZyb21BcGlBY3Rpb25QYXlsb2FkPFJ1bGVzZXRzTW9kZWxbXT4+KCkpO1xuIl19
@@ -1,30 +0,0 @@
1
- import { Injectable, } from '@angular/core';
2
- import { Actions, createEffect, ofType, } from '@ngrx/effects';
3
- import { fromApiEffectSwitchMap, } from '@o3r/core';
4
- import { from, of, } from 'rxjs';
5
- import { catchError, map, mergeMap, } from 'rxjs/operators';
6
- import { cancelRulesetsRequest, failRulesetsEntities, setRulesetsEntities, setRulesetsEntitiesFromApi, upsertRulesetsEntities, upsertRulesetsEntitiesFromApi, } from './rulesets.actions';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@ngrx/effects";
9
- /**
10
- * Service to handle async Rulesets actions
11
- */
12
- export class RulesetsEffect {
13
- constructor(actions$) {
14
- this.actions$ = actions$;
15
- /**
16
- * Set the entities with the reply content, dispatch failRulesetsEntities if it catches a failure
17
- */
18
- this.setEntitiesFromApi$ = createEffect(() => this.actions$.pipe(ofType(setRulesetsEntitiesFromApi), fromApiEffectSwitchMap((reply, action) => setRulesetsEntities({ entities: reply, requestId: action.requestId }), (error, action) => of(failRulesetsEntities({ error, requestId: action.requestId })), cancelRulesetsRequest)));
19
- /**
20
- * Upsert the entities with the reply content, dispatch failRulesetsEntities if it catches a failure
21
- */
22
- this.upsertEntitiesFromApi$ = createEffect(() => this.actions$.pipe(ofType(upsertRulesetsEntitiesFromApi), mergeMap((payload) => from(payload.call).pipe(map((reply) => upsertRulesetsEntities({ entities: reply, requestId: payload.requestId })), catchError((err) => of(failRulesetsEntities({ error: err, requestId: payload.requestId })))))));
23
- }
24
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RulesetsEffect, deps: [{ token: i1.Actions }], target: i0.ɵɵFactoryTarget.Injectable }); }
25
- /** @nocollapse */ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RulesetsEffect }); }
26
- }
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RulesetsEffect, decorators: [{
28
- type: Injectable
29
- }], ctorParameters: () => [{ type: i1.Actions }] });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXNldHMuZWZmZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N0b3Jlcy9ydWxlc2V0cy9ydWxlc2V0cy5lZmZlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFVBQVUsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0wsT0FBTyxFQUNQLFlBQVksRUFDWixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLHNCQUFzQixHQUN2QixNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQ0wsSUFBSSxFQUNKLEVBQUUsR0FDSCxNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFDTCxVQUFVLEVBQ1YsR0FBRyxFQUNILFFBQVEsR0FDVCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFDTCxxQkFBcUIsRUFDckIsb0JBQW9CLEVBQ3BCLG1CQUFtQixFQUNuQiwwQkFBMEIsRUFDMUIsc0JBQXNCLEVBQ3RCLDZCQUE2QixHQUM5QixNQUFNLG9CQUFvQixDQUFDOzs7QUFFNUI7O0dBRUc7QUFFSCxNQUFNLE9BQU8sY0FBYztJQThCekIsWUFBc0IsUUFBaUI7UUFBakIsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQTdCdkM7O1dBRUc7UUFDSSx3QkFBbUIsR0FBRyxZQUFZLENBQUMsR0FBRyxFQUFFLENBQzdDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUNoQixNQUFNLENBQUMsMEJBQTBCLENBQUMsRUFDbEMsc0JBQXNCLENBQ3BCLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUMsRUFDeEYsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQ25GLHFCQUFxQixDQUN0QixDQUNGLENBQ0YsQ0FBQztRQUVGOztXQUVHO1FBQ0ksMkJBQXNCLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUNoRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDaEIsTUFBTSxDQUFDLDZCQUE2QixDQUFDLEVBQ3JDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUNyQixHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUMsRUFDekYsVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQzVGLENBQ0YsQ0FDRixDQUNGLENBQUM7SUFFd0MsQ0FBQztrSUE5QmhDLGNBQWM7c0lBQWQsY0FBYzs7NEZBQWQsY0FBYztrQkFEMUIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEluamVjdGFibGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQWN0aW9ucyxcbiAgY3JlYXRlRWZmZWN0LFxuICBvZlR5cGUsXG59IGZyb20gJ0BuZ3J4L2VmZmVjdHMnO1xuaW1wb3J0IHtcbiAgZnJvbUFwaUVmZmVjdFN3aXRjaE1hcCxcbn0gZnJvbSAnQG8zci9jb3JlJztcbmltcG9ydCB7XG4gIGZyb20sXG4gIG9mLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGNhdGNoRXJyb3IsXG4gIG1hcCxcbiAgbWVyZ2VNYXAsXG59IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIGNhbmNlbFJ1bGVzZXRzUmVxdWVzdCxcbiAgZmFpbFJ1bGVzZXRzRW50aXRpZXMsXG4gIHNldFJ1bGVzZXRzRW50aXRpZXMsXG4gIHNldFJ1bGVzZXRzRW50aXRpZXNGcm9tQXBpLFxuICB1cHNlcnRSdWxlc2V0c0VudGl0aWVzLFxuICB1cHNlcnRSdWxlc2V0c0VudGl0aWVzRnJvbUFwaSxcbn0gZnJvbSAnLi9ydWxlc2V0cy5hY3Rpb25zJztcblxuLyoqXG4gKiBTZXJ2aWNlIHRvIGhhbmRsZSBhc3luYyBSdWxlc2V0cyBhY3Rpb25zXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBSdWxlc2V0c0VmZmVjdCB7XG4gIC8qKlxuICAgKiBTZXQgdGhlIGVudGl0aWVzIHdpdGggdGhlIHJlcGx5IGNvbnRlbnQsIGRpc3BhdGNoIGZhaWxSdWxlc2V0c0VudGl0aWVzIGlmIGl0IGNhdGNoZXMgYSBmYWlsdXJlXG4gICAqL1xuICBwdWJsaWMgc2V0RW50aXRpZXNGcm9tQXBpJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZShzZXRSdWxlc2V0c0VudGl0aWVzRnJvbUFwaSksXG4gICAgICBmcm9tQXBpRWZmZWN0U3dpdGNoTWFwKFxuICAgICAgICAocmVwbHksIGFjdGlvbikgPT4gc2V0UnVsZXNldHNFbnRpdGllcyh7IGVudGl0aWVzOiByZXBseSwgcmVxdWVzdElkOiBhY3Rpb24ucmVxdWVzdElkIH0pLFxuICAgICAgICAoZXJyb3IsIGFjdGlvbikgPT4gb2YoZmFpbFJ1bGVzZXRzRW50aXRpZXMoeyBlcnJvciwgcmVxdWVzdElkOiBhY3Rpb24ucmVxdWVzdElkIH0pKSxcbiAgICAgICAgY2FuY2VsUnVsZXNldHNSZXF1ZXN0XG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIC8qKlxuICAgKiBVcHNlcnQgdGhlIGVudGl0aWVzIHdpdGggdGhlIHJlcGx5IGNvbnRlbnQsIGRpc3BhdGNoIGZhaWxSdWxlc2V0c0VudGl0aWVzIGlmIGl0IGNhdGNoZXMgYSBmYWlsdXJlXG4gICAqL1xuICBwdWJsaWMgdXBzZXJ0RW50aXRpZXNGcm9tQXBpJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PlxuICAgIHRoaXMuYWN0aW9ucyQucGlwZShcbiAgICAgIG9mVHlwZSh1cHNlcnRSdWxlc2V0c0VudGl0aWVzRnJvbUFwaSksXG4gICAgICBtZXJnZU1hcCgocGF5bG9hZCkgPT5cbiAgICAgICAgZnJvbShwYXlsb2FkLmNhbGwpLnBpcGUoXG4gICAgICAgICAgbWFwKChyZXBseSkgPT4gdXBzZXJ0UnVsZXNldHNFbnRpdGllcyh7IGVudGl0aWVzOiByZXBseSwgcmVxdWVzdElkOiBwYXlsb2FkLnJlcXVlc3RJZCB9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiBvZihmYWlsUnVsZXNldHNFbnRpdGllcyh7IGVycm9yOiBlcnIsIHJlcXVlc3RJZDogcGF5bG9hZC5yZXF1ZXN0SWQgfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBhY3Rpb25zJDogQWN0aW9ucykge31cbn1cbiJdfQ==
@@ -1,42 +0,0 @@
1
- import { InjectionToken, NgModule, } from '@angular/core';
2
- import { EffectsModule, } from '@ngrx/effects';
3
- import { StoreModule, } from '@ngrx/store';
4
- import { RulesetsEffect, } from './rulesets.effect';
5
- import { rulesetsReducer, } from './rulesets.reducer';
6
- import { RULESETS_STORE_NAME, } from './rulesets.state';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@ngrx/store";
9
- import * as i2 from "@ngrx/effects";
10
- /** Token of the Rulesets reducer */
11
- export const RULESETS_REDUCER_TOKEN = new InjectionToken('Feature Rulesets Reducer');
12
- /** Provide default reducer for Rulesets store */
13
- export function getDefaultRulesetsReducer() {
14
- return rulesetsReducer;
15
- }
16
- export class RulesetsStoreModule {
17
- static forRoot(reducerFactory) {
18
- return {
19
- ngModule: RulesetsStoreModule,
20
- providers: [
21
- { provide: RULESETS_REDUCER_TOKEN, useFactory: reducerFactory }
22
- ]
23
- };
24
- }
25
- /** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RulesetsStoreModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
26
- /** @nocollapse */ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: RulesetsStoreModule, imports: [i1.StoreFeatureModule, i2.EffectsFeatureModule] }); }
27
- /** @nocollapse */ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RulesetsStoreModule, providers: [
28
- { provide: RULESETS_REDUCER_TOKEN, useFactory: getDefaultRulesetsReducer }
29
- ], imports: [StoreModule.forFeature(RULESETS_STORE_NAME, RULESETS_REDUCER_TOKEN), EffectsModule.forFeature([RulesetsEffect])] }); }
30
- }
31
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RulesetsStoreModule, decorators: [{
32
- type: NgModule,
33
- args: [{
34
- imports: [
35
- StoreModule.forFeature(RULESETS_STORE_NAME, RULESETS_REDUCER_TOKEN), EffectsModule.forFeature([RulesetsEffect])
36
- ],
37
- providers: [
38
- { provide: RULESETS_REDUCER_TOKEN, useFactory: getDefaultRulesetsReducer }
39
- ]
40
- }]
41
- }] });
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXNldHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N0b3Jlcy9ydWxlc2V0cy9ydWxlc2V0cy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGNBQWMsRUFFZCxRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLGFBQWEsR0FDZCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsV0FBVyxHQUNaLE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFDTCxjQUFjLEdBQ2YsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQ0wsZUFBZSxHQUNoQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFDTCxtQkFBbUIsR0FFcEIsTUFBTSxrQkFBa0IsQ0FBQzs7OztBQUUxQixvQ0FBb0M7QUFDcEMsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsSUFBSSxjQUFjLENBQXVDLDBCQUEwQixDQUFDLENBQUM7QUFFM0gsaURBQWlEO0FBQ2pELE1BQU0sVUFBVSx5QkFBeUI7SUFDdkMsT0FBTyxlQUFlLENBQUM7QUFDekIsQ0FBQztBQVVELE1BQU0sT0FBTyxtQkFBbUI7SUFDdkIsTUFBTSxDQUFDLE9BQU8sQ0FBMEIsY0FBOEM7UUFDM0YsT0FBTztZQUNMLFFBQVEsRUFBRSxtQkFBbUI7WUFDN0IsU0FBUyxFQUFFO2dCQUNULEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUU7YUFDaEU7U0FDRixDQUFDO0lBQ0osQ0FBQztrSUFSVSxtQkFBbUI7bUlBQW5CLG1CQUFtQjttSUFBbkIsbUJBQW1CLGFBSm5CO1lBQ1QsRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsVUFBVSxFQUFFLHlCQUF5QixFQUFFO1NBQzNFLFlBSkMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxzQkFBc0IsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQzs7NEZBTXRHLG1CQUFtQjtrQkFSL0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsV0FBVyxDQUFDLFVBQVUsQ0FBQyxtQkFBbUIsRUFBRSxzQkFBc0IsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQztxQkFDaEg7b0JBQ0QsU0FBUyxFQUFFO3dCQUNULEVBQUUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFVBQVUsRUFBRSx5QkFBeUIsRUFBRTtxQkFDM0U7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBJbmplY3Rpb25Ub2tlbixcbiAgTW9kdWxlV2l0aFByb3ZpZGVycyxcbiAgTmdNb2R1bGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgRWZmZWN0c01vZHVsZSxcbn0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQge1xuICBBY3Rpb24sXG4gIEFjdGlvblJlZHVjZXIsXG4gIFN0b3JlTW9kdWxlLFxufSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBSdWxlc2V0c0VmZmVjdCxcbn0gZnJvbSAnLi9ydWxlc2V0cy5lZmZlY3QnO1xuaW1wb3J0IHtcbiAgcnVsZXNldHNSZWR1Y2VyLFxufSBmcm9tICcuL3J1bGVzZXRzLnJlZHVjZXInO1xuaW1wb3J0IHtcbiAgUlVMRVNFVFNfU1RPUkVfTkFNRSxcbiAgUnVsZXNldHNTdGF0ZSxcbn0gZnJvbSAnLi9ydWxlc2V0cy5zdGF0ZSc7XG5cbi8qKiBUb2tlbiBvZiB0aGUgUnVsZXNldHMgcmVkdWNlciAqL1xuZXhwb3J0IGNvbnN0IFJVTEVTRVRTX1JFRFVDRVJfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW48QWN0aW9uUmVkdWNlcjxSdWxlc2V0c1N0YXRlLCBBY3Rpb24+PignRmVhdHVyZSBSdWxlc2V0cyBSZWR1Y2VyJyk7XG5cbi8qKiBQcm92aWRlIGRlZmF1bHQgcmVkdWNlciBmb3IgUnVsZXNldHMgc3RvcmUgKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXREZWZhdWx0UnVsZXNldHNSZWR1Y2VyKCkge1xuICByZXR1cm4gcnVsZXNldHNSZWR1Y2VyO1xufVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgU3RvcmVNb2R1bGUuZm9yRmVhdHVyZShSVUxFU0VUU19TVE9SRV9OQU1FLCBSVUxFU0VUU19SRURVQ0VSX1RPS0VOKSwgRWZmZWN0c01vZHVsZS5mb3JGZWF0dXJlKFtSdWxlc2V0c0VmZmVjdF0pXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogUlVMRVNFVFNfUkVEVUNFUl9UT0tFTiwgdXNlRmFjdG9yeTogZ2V0RGVmYXVsdFJ1bGVzZXRzUmVkdWNlciB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgUnVsZXNldHNTdG9yZU1vZHVsZSB7XG4gIHB1YmxpYyBzdGF0aWMgZm9yUm9vdDxUIGV4dGVuZHMgUnVsZXNldHNTdGF0ZT4ocmVkdWNlckZhY3Rvcnk6ICgpID0+IEFjdGlvblJlZHVjZXI8VCwgQWN0aW9uPik6IE1vZHVsZVdpdGhQcm92aWRlcnM8UnVsZXNldHNTdG9yZU1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogUnVsZXNldHNTdG9yZU1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IFJVTEVTRVRTX1JFRFVDRVJfVE9LRU4sIHVzZUZhY3Rvcnk6IHJlZHVjZXJGYWN0b3J5IH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -1,35 +0,0 @@
1
- import { createEntityAdapter, } from '@ngrx/entity';
2
- import { createReducer, on, } from '@ngrx/store';
3
- import { asyncStoreItemAdapter, } from '@o3r/core';
4
- import * as actions from './rulesets.actions';
5
- /**
6
- * Rulesets Store adapter
7
- */
8
- export const rulesetsAdapter = createEntityAdapter({
9
- selectId: (model) => model.id
10
- });
11
- /**
12
- * Rulesets Store initial value
13
- */
14
- export const rulesetsInitialState = rulesetsAdapter.getInitialState({
15
- requestIds: []
16
- });
17
- /**
18
- * List of basic actions for Rulesets Store
19
- */
20
- export const rulesetsReducerFeatures = [
21
- on(actions.resetRulesets, () => rulesetsInitialState),
22
- on(actions.setRulesets, (state, payload) => ({ ids: state.ids, entities: state.entities, ...payload.stateDetails })),
23
- on(actions.cancelRulesetsRequest, (state, action) => asyncStoreItemAdapter.resolveRequest(state, action.requestId)),
24
- on(actions.updateRulesets, (state, payload) => ({ ...state, ...payload.stateDetails })),
25
- on(actions.setRulesetsEntities, (state, payload) => rulesetsAdapter.addMany(payload.entities, rulesetsAdapter.removeAll(asyncStoreItemAdapter.resolveRequest(state, payload.requestId)))),
26
- on(actions.upsertRulesetsEntities, (state, payload) => rulesetsAdapter.upsertMany(payload.entities, asyncStoreItemAdapter.resolveRequest(state, payload.requestId))),
27
- on(actions.clearRulesetsEntities, (state) => rulesetsAdapter.removeAll(state)),
28
- on(actions.failRulesetsEntities, (state, payload) => asyncStoreItemAdapter.failRequest(state, payload.requestId)),
29
- on(actions.setRulesetsEntitiesFromApi, actions.upsertRulesetsEntitiesFromApi, (state, payload) => asyncStoreItemAdapter.addRequest(state, payload.requestId))
30
- ];
31
- /**
32
- * Rulesets Store reducer
33
- */
34
- export const rulesetsReducer = createReducer(rulesetsInitialState, ...rulesetsReducerFeatures);
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXNldHMucmVkdWNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdG9yZXMvcnVsZXNldHMvcnVsZXNldHMucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsbUJBQW1CLEdBQ3BCLE1BQU0sY0FBYyxDQUFDO0FBQ3RCLE9BQU8sRUFFTCxhQUFhLEVBQ2IsRUFBRSxHQUVILE1BQU0sYUFBYSxDQUFDO0FBQ3JCLE9BQU8sRUFDTCxxQkFBcUIsR0FDdEIsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxLQUFLLE9BQU8sTUFBTSxvQkFBb0IsQ0FBQztBQU85Qzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxtQkFBbUIsQ0FBZ0I7SUFDaEUsUUFBUSxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRTtDQUM5QixDQUFDLENBQUM7QUFFSDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFrQixlQUFlLENBQUMsZUFBZSxDQUF1QjtJQUN2RyxVQUFVLEVBQUUsRUFBRTtDQUNmLENBQUMsQ0FBQztBQUVIOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQW1EO0lBQ3JGLEVBQUUsQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixDQUFDO0lBRXJELEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFFcEgsRUFBRSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRW5ILEVBQUUsQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLEdBQUcsT0FBTyxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFFdkYsRUFBRSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUNqRCxlQUFlLENBQUMsT0FBTyxDQUNyQixPQUFPLENBQUMsUUFBUSxFQUNoQixlQUFlLENBQUMsU0FBUyxDQUFDLHFCQUFxQixDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FDN0Y7SUFFRCxFQUFFLENBQUMsT0FBTyxDQUFDLHNCQUFzQixFQUFFLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQ3BELGVBQWUsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxxQkFBcUIsQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUM3RztJQUVELEVBQUUsQ0FBQyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFFOUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUNsRCxxQkFBcUIsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FDNUQ7SUFFRCxFQUFFLENBQUMsT0FBTyxDQUFDLDBCQUEwQixFQUFFLE9BQU8sQ0FBQyw2QkFBNkIsRUFBRSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUMvRixxQkFBcUIsQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztDQUM5RCxDQUFDO0FBRUY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsYUFBYSxDQUMxQyxvQkFBb0IsRUFDcEIsR0FBRyx1QkFBdUIsQ0FDM0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGNyZWF0ZUVudGl0eUFkYXB0ZXIsXG59IGZyb20gJ0BuZ3J4L2VudGl0eSc7XG5pbXBvcnQge1xuICBBY3Rpb25DcmVhdG9yLFxuICBjcmVhdGVSZWR1Y2VyLFxuICBvbixcbiAgUmVkdWNlclR5cGVzLFxufSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBhc3luY1N0b3JlSXRlbUFkYXB0ZXIsXG59IGZyb20gJ0BvM3IvY29yZSc7XG5pbXBvcnQgKiBhcyBhY3Rpb25zIGZyb20gJy4vcnVsZXNldHMuYWN0aW9ucyc7XG5pbXBvcnQge1xuICBSdWxlc2V0c01vZGVsLFxuICBSdWxlc2V0c1N0YXRlLFxuICBSdWxlc2V0c1N0YXRlRGV0YWlscyxcbn0gZnJvbSAnLi9ydWxlc2V0cy5zdGF0ZSc7XG5cbi8qKlxuICogUnVsZXNldHMgU3RvcmUgYWRhcHRlclxuICovXG5leHBvcnQgY29uc3QgcnVsZXNldHNBZGFwdGVyID0gY3JlYXRlRW50aXR5QWRhcHRlcjxSdWxlc2V0c01vZGVsPih7XG4gIHNlbGVjdElkOiAobW9kZWwpID0+IG1vZGVsLmlkXG59KTtcblxuLyoqXG4gKiBSdWxlc2V0cyBTdG9yZSBpbml0aWFsIHZhbHVlXG4gKi9cbmV4cG9ydCBjb25zdCBydWxlc2V0c0luaXRpYWxTdGF0ZTogUnVsZXNldHNTdGF0ZSA9IHJ1bGVzZXRzQWRhcHRlci5nZXRJbml0aWFsU3RhdGU8UnVsZXNldHNTdGF0ZURldGFpbHM+KHtcbiAgcmVxdWVzdElkczogW11cbn0pO1xuXG4vKipcbiAqIExpc3Qgb2YgYmFzaWMgYWN0aW9ucyBmb3IgUnVsZXNldHMgU3RvcmVcbiAqL1xuZXhwb3J0IGNvbnN0IHJ1bGVzZXRzUmVkdWNlckZlYXR1cmVzOiBSZWR1Y2VyVHlwZXM8UnVsZXNldHNTdGF0ZSwgQWN0aW9uQ3JlYXRvcltdPltdID0gW1xuICBvbihhY3Rpb25zLnJlc2V0UnVsZXNldHMsICgpID0+IHJ1bGVzZXRzSW5pdGlhbFN0YXRlKSxcblxuICBvbihhY3Rpb25zLnNldFJ1bGVzZXRzLCAoc3RhdGUsIHBheWxvYWQpID0+ICh7IGlkczogc3RhdGUuaWRzLCBlbnRpdGllczogc3RhdGUuZW50aXRpZXMsIC4uLnBheWxvYWQuc3RhdGVEZXRhaWxzIH0pKSxcblxuICBvbihhY3Rpb25zLmNhbmNlbFJ1bGVzZXRzUmVxdWVzdCwgKHN0YXRlLCBhY3Rpb24pID0+IGFzeW5jU3RvcmVJdGVtQWRhcHRlci5yZXNvbHZlUmVxdWVzdChzdGF0ZSwgYWN0aW9uLnJlcXVlc3RJZCkpLFxuXG4gIG9uKGFjdGlvbnMudXBkYXRlUnVsZXNldHMsIChzdGF0ZSwgcGF5bG9hZCkgPT4gKHsgLi4uc3RhdGUsIC4uLnBheWxvYWQuc3RhdGVEZXRhaWxzIH0pKSxcblxuICBvbihhY3Rpb25zLnNldFJ1bGVzZXRzRW50aXRpZXMsIChzdGF0ZSwgcGF5bG9hZCkgPT5cbiAgICBydWxlc2V0c0FkYXB0ZXIuYWRkTWFueShcbiAgICAgIHBheWxvYWQuZW50aXRpZXMsXG4gICAgICBydWxlc2V0c0FkYXB0ZXIucmVtb3ZlQWxsKGFzeW5jU3RvcmVJdGVtQWRhcHRlci5yZXNvbHZlUmVxdWVzdChzdGF0ZSwgcGF5bG9hZC5yZXF1ZXN0SWQpKSlcbiAgKSxcblxuICBvbihhY3Rpb25zLnVwc2VydFJ1bGVzZXRzRW50aXRpZXMsIChzdGF0ZSwgcGF5bG9hZCkgPT5cbiAgICBydWxlc2V0c0FkYXB0ZXIudXBzZXJ0TWFueShwYXlsb2FkLmVudGl0aWVzLCBhc3luY1N0b3JlSXRlbUFkYXB0ZXIucmVzb2x2ZVJlcXVlc3Qoc3RhdGUsIHBheWxvYWQucmVxdWVzdElkKSlcbiAgKSxcblxuICBvbihhY3Rpb25zLmNsZWFyUnVsZXNldHNFbnRpdGllcywgKHN0YXRlKSA9PiBydWxlc2V0c0FkYXB0ZXIucmVtb3ZlQWxsKHN0YXRlKSksXG5cbiAgb24oYWN0aW9ucy5mYWlsUnVsZXNldHNFbnRpdGllcywgKHN0YXRlLCBwYXlsb2FkKSA9PlxuICAgIGFzeW5jU3RvcmVJdGVtQWRhcHRlci5mYWlsUmVxdWVzdChzdGF0ZSwgcGF5bG9hZC5yZXF1ZXN0SWQpXG4gICksXG5cbiAgb24oYWN0aW9ucy5zZXRSdWxlc2V0c0VudGl0aWVzRnJvbUFwaSwgYWN0aW9ucy51cHNlcnRSdWxlc2V0c0VudGl0aWVzRnJvbUFwaSwgKHN0YXRlLCBwYXlsb2FkKSA9PlxuICAgIGFzeW5jU3RvcmVJdGVtQWRhcHRlci5hZGRSZXF1ZXN0KHN0YXRlLCBwYXlsb2FkLnJlcXVlc3RJZCkpXG5dO1xuXG4vKipcbiAqIFJ1bGVzZXRzIFN0b3JlIHJlZHVjZXJcbiAqL1xuZXhwb3J0IGNvbnN0IHJ1bGVzZXRzUmVkdWNlciA9IGNyZWF0ZVJlZHVjZXIoXG4gIHJ1bGVzZXRzSW5pdGlhbFN0YXRlLFxuICAuLi5ydWxlc2V0c1JlZHVjZXJGZWF0dXJlc1xuKTtcbiJdfQ==
@@ -1,115 +0,0 @@
1
- import { createFeatureSelector, createSelector, } from '@ngrx/store';
2
- import { computeItemIdentifier, } from '@o3r/core';
3
- import { rulesetsAdapter, } from './rulesets.reducer';
4
- import { RULESETS_STORE_NAME, } from './rulesets.state';
5
- const { selectIds, selectEntities, selectAll, selectTotal } = rulesetsAdapter.getSelectors();
6
- /** Select Rulesets State */
7
- export const selectRulesetsState = createFeatureSelector(RULESETS_STORE_NAME);
8
- /** Select the array of Rulesets ids */
9
- export const selectRulesetsIds = createSelector(selectRulesetsState, selectIds);
10
- /** Select the array of Rulesets */
11
- export const selectAllRulesets = createSelector(selectRulesetsState, selectAll);
12
- /** Select the dictionary of Rulesets entities */
13
- export const selectRulesetsEntities = createSelector(selectRulesetsState, selectEntities);
14
- /** Select the total Rulesets count */
15
- export const selectRulesetsTotal = createSelector(selectRulesetsState, selectTotal);
16
- /** Select the store pending status */
17
- export const selectRulesetsStorePendingStatus = createSelector(selectRulesetsState, (state) => state.isPending || false);
18
- /**
19
- * Check if the given value is a valid date
20
- * @param d
21
- */
22
- const isValidDate = (d) => !Number.isNaN(d) && d instanceof Date;
23
- /**
24
- * Returns the rulesets which are in the validity range, if provided
25
- */
26
- export const selectRuleSetsInRange = createSelector(selectAllRulesets, (ruleSets) => ruleSets.filter((ruleSet) => {
27
- const validity = ruleSet.validityRange;
28
- if (!validity || (!validity.from && !validity.to)) {
29
- return true;
30
- }
31
- const from = validity.from && new Date(validity.from);
32
- const to = validity.to && new Date(validity.to);
33
- if ((to && !isValidDate(to)) || (from && !isValidDate(from))) {
34
- return false;
35
- }
36
- const time = Date.now();
37
- if (to && from) {
38
- return from.getTime() <= time && to.getTime() >= time;
39
- }
40
- if (from) {
41
- return from.getTime() <= time;
42
- }
43
- return to && to.getTime() >= time;
44
- }));
45
- /**
46
- * Returns the rulesets ids which are not onDemand and in the validity range
47
- */
48
- export const selectActiveRuleSets = createSelector(selectRuleSetsInRange, (ruleSets) => ruleSets
49
- .filter((ruleSet) => (!(ruleSet.linkedComponents?.or?.length || ruleSet.linkedComponent)))
50
- .map((ruleSet) => ruleSet.id));
51
- /**
52
- * Assign rulesetId to a component
53
- * @deprecated It will be removed in v12 with the selector using it
54
- * @param compName
55
- * @param library
56
- * @param ruleSetId
57
- * @param acc
58
- */
59
- function linkRulesetToComponent(compName, library, ruleSetId, acc = {}) {
60
- const configName = computeItemIdentifier(compName, library);
61
- acc[configName] ||= [];
62
- acc[configName].push(ruleSetId);
63
- }
64
- /**
65
- * Assign component to RulesetIds Map
66
- * @param compName
67
- * @param library
68
- * @param ruleSetId
69
- * @param acc
70
- */
71
- function linkComponentToRuleset(compName, library, ruleSetId, acc = {}) {
72
- const configName = computeItemIdentifier(compName, library);
73
- acc[ruleSetId] ||= [];
74
- acc[ruleSetId].push(configName);
75
- }
76
- /**
77
- * Select the map of ruleSet to activate based on the component computed name
78
- * @deprecated use {@link selectComponentsLinkedToRuleset} instead. It will be removed in v12
79
- */
80
- export const selectRuleSetLinkComponents = createSelector(selectRuleSetsInRange, (ruleSets) => ruleSets
81
- .reduce((acc, ruleSet) => {
82
- if ((!ruleSet.linkedComponents?.or || ruleSet.linkedComponents.or.length === 0) && !ruleSet.linkedComponent) {
83
- return acc;
84
- }
85
- if (ruleSet.linkedComponents?.or?.length) {
86
- ruleSet.linkedComponents.or.forEach((linkComp) => {
87
- linkRulesetToComponent(linkComp.name, linkComp.library, ruleSet.id, acc);
88
- });
89
- return acc;
90
- }
91
- if (ruleSet.linkedComponent) {
92
- linkRulesetToComponent(ruleSet.linkedComponent.name, ruleSet.linkedComponent.library, ruleSet.id, acc);
93
- }
94
- return acc;
95
- }, {}));
96
- /**
97
- * Select the map of ruleSets to activate based on linked components
98
- */
99
- export const selectComponentsLinkedToRuleset = createSelector(selectRuleSetsInRange, (ruleSets) => ruleSets
100
- .reduce((acc, ruleSet) => {
101
- if ((!ruleSet.linkedComponents?.or || ruleSet.linkedComponents.or.length === 0) && !ruleSet.linkedComponent) {
102
- return acc;
103
- }
104
- if (ruleSet.linkedComponents?.or?.length) {
105
- ruleSet.linkedComponents.or.forEach((linkComp) => {
106
- linkComponentToRuleset(linkComp.name, linkComp.library, ruleSet.id, acc.or);
107
- });
108
- return acc;
109
- }
110
- if (ruleSet.linkedComponent) {
111
- linkComponentToRuleset(ruleSet.linkedComponent.name, ruleSet.linkedComponent.library, ruleSet.id, acc.or);
112
- }
113
- return acc;
114
- }, { or: {} }));
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXNldHMuc2VsZWN0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3N0b3Jlcy9ydWxlc2V0cy9ydWxlc2V0cy5zZWxlY3RvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHFCQUFxQixFQUNyQixjQUFjLEdBQ2YsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUNMLHFCQUFxQixHQUN0QixNQUFNLFdBQVcsQ0FBQztBQUluQixPQUFPLEVBQ0wsZUFBZSxHQUNoQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFDTCxtQkFBbUIsR0FFcEIsTUFBTSxrQkFBa0IsQ0FBQztBQUUxQixNQUFNLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEdBQUcsZUFBZSxDQUFDLFlBQVksRUFBRSxDQUFDO0FBRTdGLDRCQUE0QjtBQUM1QixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxxQkFBcUIsQ0FBZ0IsbUJBQW1CLENBQUMsQ0FBQztBQUU3Rix1Q0FBdUM7QUFDdkMsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsY0FBYyxDQUFDLG1CQUFtQixFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBRWhGLG1DQUFtQztBQUNuQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUMsbUJBQW1CLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFFaEYsaURBQWlEO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLGNBQWMsQ0FBQyxtQkFBbUIsRUFBRSxjQUFjLENBQUMsQ0FBQztBQUUxRixzQ0FBc0M7QUFDdEMsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsY0FBYyxDQUFDLG1CQUFtQixFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBRXBGLHNDQUFzQztBQUN0QyxNQUFNLENBQUMsTUFBTSxnQ0FBZ0MsR0FBRyxjQUFjLENBQUMsbUJBQW1CLEVBQUUs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LFxuICBjcmVhdGVTZWxlY3Rvcixcbn0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgY29tcHV0ZUl0ZW1JZGVudGlmaWVyLFxufSBmcm9tICdAbzNyL2NvcmUnO1xuaW1wb3J0IHR5cGUge1xuICBSdWxlc2V0LFxufSBmcm9tICcuLi8uLi9lbmdpbmUnO1xuaW1wb3J0IHtcbiAgcnVsZXNldHNBZGFwdGVyLFxufSBmcm9tICcuL3J1bGVzZXRzLnJlZHVjZXInO1xuaW1wb3J0IHtcbiAgUlVMRVNFVFNfU1RPUkVfTkFNRSxcbiAgUnVsZXNldHNTdGF0ZSxcbn0gZnJvbSAnLi9ydWxlc2V0cy5zdGF0ZSc7XG5cbmNvbnN0IHsgc2VsZWN0SWRzLCBzZWxlY3RFbnRpdGllcywgc2VsZWN0QWxsLCBzZWxlY3RUb3RhbCB9ID0gcnVsZXNldHNBZGFwdGVyLmdldFNlbGVjdG9ycygpO1xuXG4vKiogU2VsZWN0IFJ1bGVzZXRzIFN0YXRlICovXG5leHBvcnQgY29uc3Qgc2VsZWN0UnVsZXNldHNTdGF0ZSA9IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxSdWxlc2V0c1N0YXRlPihSVUxFU0VUU19TVE9SRV9OQU1FKTtcblxuLyoqIFNlbGVjdCB0aGUgYXJyYXkgb2YgUnVsZXNldHMgaWRzICovXG5leHBvcnQgY29uc3Qgc2VsZWN0UnVsZXNldHNJZHMgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RSdWxlc2V0c1N0YXRlLCBzZWxlY3RJZHMpO1xuXG4vKiogU2VsZWN0IHRoZSBhcnJheSBvZiBSdWxlc2V0cyAqL1xuZXhwb3J0IGNvbnN0IHNlbGVjdEFsbFJ1bGVzZXRzID0gY3JlYXRlU2VsZWN0b3Ioc2VsZWN0UnVsZXNldHNTdGF0ZSwgc2VsZWN0QWxsKTtcblxuLyoqIFNlbGVjdCB0aGUgZGljdGlvbmFyeSBvZiBSdWxlc2V0cyBlbnRpdGllcyAqL1xuZXhwb3J0IGNvbnN0IHNlbGVjdFJ1bGVzZXRzRW50aXRpZXMgPSBjcmVhdGVTZWxlY3RvcihzZWxlY3RSdWxlc2V0c1N0YXRlLCBzZWxlY3RFbnRpdGllcyk7XG5cbi8qKiBTZWxlY3QgdGhlIHRvdGFsIFJ1bGVzZXRzIGNvdW50ICovXG5leHBvcnQgY29uc3Qgc2VsZWN0UnVsZXNldHNUb3RhbCA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdFJ1bGVzZXRzU3RhdGUsIHNlbGVjdFRvdGFsKTtcblxuLyoqIFNlbGVjdCB0aGUgc3RvcmUgcGVuZGluZyBzdGF0dXMgKi9cbmV4cG9ydCBjb25zdCBzZWxlY3RSdWxlc2V0c1N0b3JlUGVuZGluZ1N0YXR1cyA9IGNyZWF0ZVNlbGVjdG9yKHNlbGVjdFJ1bGVzZXRzU3RhdGUsIChzdGF0ZSkgPT4gc3RhdGUuaXNQZW5kaW5nIHx8IGZhbHNlKTtcblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgZ2l2ZW4gdmFsdWUgaXMgYSB2YWxpZCBkYXRlXG4gKiBAcGFyYW0gZFxuICovXG5jb25zdCBpc1ZhbGlkRGF0ZSA9IChkOiBhbnkpID0+ICFOdW1iZXIuaXNOYU4oZCkgJiYgZCBpbnN0YW5jZW9mIERhdGU7XG5cbi8qKlxuICogUmV0dXJucyB0aGUgcnVsZXNldHMgd2hpY2ggYXJlIGluIHRoZSB2YWxpZGl0eSByYW5nZSwgaWYgcHJvdmlkZWRcbiAqL1xuZXhwb3J0IGNvbnN0IHNlbGVjdFJ1bGVTZXRzSW5SYW5nZSA9IGNyZWF0ZVNlbGVjdG9yKFxuICBzZWxlY3RBbGxSdWxlc2V0cyxcbiAgKHJ1bGVTZXRzKSA9PiBydWxlU2V0cy5maWx0ZXIoKHJ1bGVTZXQ6IFJ1bGVzZXQpID0+IHtcbiAgICBjb25zdCB2YWxpZGl0eSA9IHJ1bGVTZXQudmFsaWRpdHlSYW5nZTtcbiAgICBpZiAoIXZhbGlkaXR5IHx8ICghdmFsaWRpdHkuZnJvbSAmJiAhdmFsaWRpdHkudG8pKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICBjb25zdCBmcm9tID0gdmFsaWRpdHkuZnJvbSAmJiBuZXcgRGF0ZSh2YWxpZGl0eS5mcm9tKTtcbiAgICBjb25zdCB0byA9IHZhbGlkaXR5LnRvICYmIG5ldyBEYXRlKHZhbGlkaXR5LnRvKTtcblxuICAgIGlmICgodG8gJiYgIWlzVmFsaWREYXRlKHRvKSkgfHwgKGZyb20gJiYgIWlzVmFsaWREYXRlKGZyb20pKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCB0aW1lID0gRGF0ZS5ub3coKTtcbiAgICBpZiAodG8gJiYgZnJvbSkge1xuICAgICAgcmV0dXJuIGZyb20uZ2V0VGltZSgpIDw9IHRpbWUgJiYgdG8uZ2V0VGltZSgpID49IHRpbWU7XG4gICAgfVxuXG4gICAgaWYgKGZyb20pIHtcbiAgICAgIHJldHVybiBmcm9tLmdldFRpbWUoKSA8PSB0aW1lO1xuICAgIH1cbiAgICByZXR1cm4gdG8gJiYgdG8uZ2V0VGltZSgpID49IHRpbWU7XG4gIH0pXG4pO1xuXG4vKipcbiAqIFJldHVybnMgdGhlIHJ1bGVzZXRzIGlkcyB3aGljaCBhcmUgbm90IG9uRGVtYW5kIGFuZCBpbiB0aGUgdmFsaWRpdHkgcmFuZ2VcbiAqL1xuZXhwb3J0IGNvbnN0IHNlbGVjdEFjdGl2ZVJ1bGVTZXRzID0gY3JlYXRlU2VsZWN0b3IoXG4gIHNlbGVjdFJ1bGVTZXRzSW5SYW5nZSxcbiAgKHJ1bGVTZXRzKSA9PiBydWxlU2V0c1xuICAgIC5maWx0ZXIoKHJ1bGVTZXQ6IFJ1bGVzZXQpID0+ICghKHJ1bGVTZXQubGlua2VkQ29tcG9uZW50cz8ub3I/Lmxlbmd0aCB8fCBydWxlU2V0LmxpbmtlZENvbXBvbmVudCkpKVxuICAgIC5tYXAoKHJ1bGVTZXQ6IFJ1bGVzZXQpID0+IHJ1bGVTZXQuaWQpKTtcblxuLyoqXG4gKiBBc3NpZ24gcnVsZXNldElkIHRvIGEgY29tcG9uZW50XG4gKiBAZGVwcmVjYXRlZCBJdCB3aWxsIGJlIHJlbW92ZWQgaW4gdjEyIHdpdGggdGhlIHNlbGVjdG9yIHVzaW5nIGl0XG4gKiBAcGFyYW0gY29tcE5hbWVcbiAqIEBwYXJhbSBsaWJyYXJ5XG4gKiBAcGFyYW0gcnVsZVNldElkXG4gKiBAcGFyYW0gYWNjXG4gKi9cbmZ1bmN0aW9uIGxpbmtSdWxlc2V0VG9Db21wb25lbnQoY29tcE5hbWU6IHN0cmluZywgbGlicmFyeTogc3RyaW5nLCBydWxlU2V0SWQ6IHN0cmluZywgYWNjOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gPSB7fSkge1xuICBjb25zdCBjb25maWdOYW1lID0gY29tcHV0ZUl0ZW1JZGVudGlmaWVyKGNvbXBOYW1lLCBsaWJyYXJ5KTtcbiAgYWNjW2NvbmZpZ05hbWVdIHx8PSBbXTtcbiAgYWNjW2NvbmZpZ05hbWVdLnB1c2gocnVsZVNldElkKTtcbn1cblxuLyoqXG4gKiBBc3NpZ24gY29tcG9uZW50IHRvIFJ1bGVzZXRJZHMgTWFwXG4gKiBAcGFyYW0gY29tcE5hbWVcbiAqIEBwYXJhbSBsaWJyYXJ5XG4gKiBAcGFyYW0gcnVsZVNldElkXG4gKiBAcGFyYW0gYWNjXG4gKi9cbmZ1bmN0aW9uIGxpbmtDb21wb25lbnRUb1J1bGVzZXQoY29tcE5hbWU6IHN0cmluZywgbGlicmFyeTogc3RyaW5nLCBydWxlU2V0SWQ6IHN0cmluZywgYWNjOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4gPSB7fSkge1xuICBjb25zdCBjb25maWdOYW1lID0gY29tcHV0ZUl0ZW1JZGVudGlmaWVyKGNvbXBOYW1lLCBsaWJyYXJ5KTtcbiAgYWNjW3J1bGVTZXRJZF0gfHw9IFtdO1xuICBhY2NbcnVsZVNldElkXS5wdXNoKGNvbmZpZ05hbWUpO1xufVxuXG4vKipcbiAqIFNlbGVjdCB0aGUgbWFwIG9mIHJ1bGVTZXQgdG8gYWN0aXZhdGUgYmFzZWQgb24gdGhlIGNvbXBvbmVudCBjb21wdXRlZCBuYW1lXG4gKiBAZGVwcmVjYXRlZCB1c2Uge0BsaW5rIHNlbGVjdENvbXBvbmVudHNMaW5rZWRUb1J1bGVzZXR9IGluc3RlYWQuIEl0IHdpbGwgYmUgcmVtb3ZlZCBpbiB2MTJcbiAqL1xuZXhwb3J0IGNvbnN0IHNlbGVjdFJ1bGVTZXRMaW5rQ29tcG9uZW50cyA9IGNyZWF0ZVNlbGVjdG9yKFxuICBzZWxlY3RSdWxlU2V0c0luUmFuZ2UsXG4gIChydWxlU2V0cykgPT5cbiAgICBydWxlU2V0c1xuICAgICAgLnJlZHVjZSgoYWNjOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmdbXT4sIHJ1bGVTZXQ6IFJ1bGVzZXQpID0+IHtcbiAgICAgICAgaWYgKCghcnVsZVNldC5saW5rZWRDb21wb25lbnRzPy5vciB8fCBydWxlU2V0LmxpbmtlZENvbXBvbmVudHMub3IubGVuZ3RoID09PSAwKSAmJiAhcnVsZVNldC5saW5rZWRDb21wb25lbnQpIHtcbiAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9XG4gICAgICAgIGlmIChydWxlU2V0LmxpbmtlZENvbXBvbmVudHM/Lm9yPy5sZW5ndGgpIHtcbiAgICAgICAgICBydWxlU2V0LmxpbmtlZENvbXBvbmVudHMub3IuZm9yRWFjaCgobGlua0NvbXApID0+IHtcbiAgICAgICAgICAgIGxpbmtSdWxlc2V0VG9Db21wb25lbnQobGlua0NvbXAubmFtZSwgbGlua0NvbXAubGlicmFyeSwgcnVsZVNldC5pZCwgYWNjKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgICB9XG4gICAgICAgIGlmIChydWxlU2V0LmxpbmtlZENvbXBvbmVudCkge1xuICAgICAgICAgIGxpbmtSdWxlc2V0VG9Db21wb25lbnQocnVsZVNldC5saW5rZWRDb21wb25lbnQubmFtZSwgcnVsZVNldC5saW5rZWRDb21wb25lbnQubGlicmFyeSwgcnVsZVNldC5pZCwgYWNjKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwge30pXG4pO1xuXG4vKipcbiAqIFNlbGVjdCB0aGUgbWFwIG9mIHJ1bGVTZXRzIHRvIGFjdGl2YXRlIGJhc2VkIG9uIGxpbmtlZCBjb21wb25lbnRzXG4gKi9cbmV4cG9ydCBjb25zdCBzZWxlY3RDb21wb25lbnRzTGlua2VkVG9SdWxlc2V0ID0gY3JlYXRlU2VsZWN0b3IoXG4gIHNlbGVjdFJ1bGVTZXRzSW5SYW5nZSxcbiAgKHJ1bGVTZXRzKSA9PlxuICAgIHJ1bGVTZXRzXG4gICAgICAucmVkdWNlKChhY2M6IHsgb3I6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nW10gfSB9LCBydWxlU2V0OiBSdWxlc2V0KSA9PiB7XG4gICAgICAgIGlmICgoIXJ1bGVTZXQubGlua2VkQ29tcG9uZW50cz8ub3IgfHwgcnVsZVNldC5saW5rZWRDb21wb25lbnRzLm9yLmxlbmd0aCA9PT0gMCkgJiYgIXJ1bGVTZXQubGlua2VkQ29tcG9uZW50KSB7XG4gICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfVxuICAgICAgICBpZiAocnVsZVNldC5saW5rZWRDb21wb25lbnRzPy5vcj8ubGVuZ3RoKSB7XG4gICAgICAgICAgcnVsZVNldC5saW5rZWRDb21wb25lbnRzLm9yLmZvckVhY2goKGxpbmtDb21wKSA9PiB7XG4gICAgICAgICAgICBsaW5rQ29tcG9uZW50VG9SdWxlc2V0KGxpbmtDb21wLm5hbWUsIGxpbmtDb21wLmxpYnJhcnksIHJ1bGVTZXQuaWQsIGFjYy5vcik7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgfVxuICAgICAgICBpZiAocnVsZVNldC5saW5rZWRDb21wb25lbnQpIHtcbiAgICAgICAgICBsaW5rQ29tcG9uZW50VG9SdWxlc2V0KHJ1bGVTZXQubGlua2VkQ29tcG9uZW50Lm5hbWUsIHJ1bGVTZXQubGlua2VkQ29tcG9uZW50LmxpYnJhcnksIHJ1bGVTZXQuaWQsIGFjYy5vcik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH0sIHsgb3I6IHt9IH0pXG4pO1xuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Name of the Rulesets Store
3
- */
4
- export const RULESETS_STORE_NAME = 'rulesets';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXNldHMuc3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc3RvcmVzL3J1bGVzZXRzL3J1bGVzZXRzLnN0YXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRCQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEVudGl0eVN0YXRlLFxufSBmcm9tICdAbmdyeC9lbnRpdHknO1xuaW1wb3J0IHtcbiAgQXN5bmNTdG9yZUl0ZW0sXG59IGZyb20gJ0BvM3IvY29yZSc7XG5pbXBvcnQgdHlwZSB7XG4gIFJ1bGVzZXQsXG59IGZyb20gJy4uLy4uL2VuZ2luZSc7XG5cbi8qKlxuICogUnVsZXNldHMgbW9kZWxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSdWxlc2V0c01vZGVsIGV4dGVuZHMgUnVsZXNldCB7XG59XG5cbi8qKlxuICogUnVsZXNldHMgc3RhdGUgZGV0YWlsc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJ1bGVzZXRzU3RhdGVEZXRhaWxzIGV4dGVuZHMgQXN5bmNTdG9yZUl0ZW0ge1xufVxuXG4vKipcbiAqIFJ1bGVzZXRzIHN0b3JlIHN0YXRlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUnVsZXNldHNTdGF0ZSBleHRlbmRzIEVudGl0eVN0YXRlPFJ1bGVzZXRzTW9kZWw+LCBSdWxlc2V0c1N0YXRlRGV0YWlscyB7XG59XG5cbi8qKlxuICogTmFtZSBvZiB0aGUgUnVsZXNldHMgU3RvcmVcbiAqL1xuZXhwb3J0IGNvbnN0IFJVTEVTRVRTX1NUT1JFX05BTUUgPSAncnVsZXNldHMnO1xuXG4vKipcbiAqIFJ1bGVzZXRzIFN0b3JlIEludGVyZmFjZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJ1bGVzZXRzU3RvcmUge1xuICAvKiogUnVsZXNldHMgc3RhdGUgKi9cbiAgW1JVTEVTRVRTX1NUT1JFX05BTUVdOiBSdWxlc2V0c1N0YXRlO1xufVxuIl19
@@ -1,20 +0,0 @@
1
- import { asyncStoreItemAdapter, } from '@o3r/core';
2
- import { rulesetsAdapter, rulesetsInitialState, } from './rulesets.reducer';
3
- export const rulesetsStorageSerializer = (state) => {
4
- return asyncStoreItemAdapter.clearAsyncStoreItem(state);
5
- };
6
- export const rulesetsStorageDeserializer = (rawObject) => {
7
- if (!rawObject || !rawObject.ids) {
8
- return rulesetsInitialState;
9
- }
10
- const storeObject = rulesetsAdapter.getInitialState(rawObject);
11
- for (const id of rawObject.ids) {
12
- storeObject.entities[id] = rawObject.entities[id];
13
- }
14
- return storeObject;
15
- };
16
- export const rulesetsStorageSync = {
17
- serialize: rulesetsStorageSerializer,
18
- deserialize: rulesetsStorageDeserializer
19
- };
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZXNldHMuc3luYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zdG9yZXMvcnVsZXNldHMvcnVsZXNldHMuc3luYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wscUJBQXFCLEdBRXRCLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFDTCxlQUFlLEVBQ2Ysb0JBQW9CLEdBQ3JCLE1BQU0sb0JBQW9CLENBQUM7QUFNNUIsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUU7SUFDaEUsT0FBTyxxQkFBcUIsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMxRCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLFNBQWMsRUFBRSxFQUFFO0lBQzVELElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDakMsT0FBTyxvQkFBb0IsQ0FBQztJQUM5QixDQUFDO0lBQ0QsTUFBTSxXQUFXLEdBQUcsZUFBZSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvRCxLQUFLLE1BQU0sRUFBRSxJQUFJLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUMvQixXQUFXLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFrQixDQUFDO0lBQ3JFLENBQUM7SUFDRCxPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBOEI7SUFDNUQsU0FBUyxFQUFFLHlCQUF5QjtJQUNwQyxXQUFXLEVBQUUsMkJBQTJCO0NBQ3pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBhc3luY1N0b3JlSXRlbUFkYXB0ZXIsXG4gIFNlcmlhbGl6ZXIsXG59IGZyb20gJ0BvM3IvY29yZSc7XG5pbXBvcnQge1xuICBydWxlc2V0c0FkYXB0ZXIsXG4gIHJ1bGVzZXRzSW5pdGlhbFN0YXRlLFxufSBmcm9tICcuL3J1bGVzZXRzLnJlZHVjZXInO1xuaW1wb3J0IHtcbiAgUnVsZXNldHNNb2RlbCxcbiAgUnVsZXNldHNTdGF0ZSxcbn0gZnJvbSAnLi9ydWxlc2V0cy5zdGF0ZSc7XG5cbmV4cG9ydCBjb25zdCBydWxlc2V0c1N0b3JhZ2VTZXJpYWxpemVyID0gKHN0YXRlOiBSdWxlc2V0c1N0YXRlKSA9PiB7XG4gIHJldHVybiBhc3luY1N0b3JlSXRlbUFkYXB0ZXIuY2xlYXJBc3luY1N0b3JlSXRlbShzdGF0ZSk7XG59O1xuXG5leHBvcnQgY29uc3QgcnVsZXNldHNTdG9yYWdlRGVzZXJpYWxpemVyID0gKHJhd09iamVjdDogYW55KSA9PiB7XG4gIGlmICghcmF3T2JqZWN0IHx8ICFyYXdPYmplY3QuaWRzKSB7XG4gICAgcmV0dXJuIHJ1bGVzZXRzSW5pdGlhbFN0YXRlO1xuICB9XG4gIGNvbnN0IHN0b3JlT2JqZWN0ID0gcnVsZXNldHNBZGFwdGVyLmdldEluaXRpYWxTdGF0ZShyYXdPYmplY3QpO1xuICBmb3IgKGNvbnN0IGlkIG9mIHJhd09iamVjdC5pZHMpIHtcbiAgICBzdG9yZU9iamVjdC5lbnRpdGllc1tpZF0gPSByYXdPYmplY3QuZW50aXRpZXNbaWRdIGFzIFJ1bGVzZXRzTW9kZWw7XG4gIH1cbiAgcmV0dXJuIHN0b3JlT2JqZWN0O1xufTtcblxuZXhwb3J0IGNvbnN0IHJ1bGVzZXRzU3RvcmFnZVN5bmM6IFNlcmlhbGl6ZXI8UnVsZXNldHNTdGF0ZT4gPSB7XG4gIHNlcmlhbGl6ZTogcnVsZXNldHNTdG9yYWdlU2VyaWFsaXplcixcbiAgZGVzZXJpYWxpemU6IHJ1bGVzZXRzU3RvcmFnZURlc2VyaWFsaXplclxufTtcbiJdfQ==