@ngrx-traits/core 18.4.2 → 19.0.0-beta.2

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.
@@ -1,147 +0,0 @@
1
- import { inject, Injectable, Injector } from '@angular/core';
2
- import { createFeatureSelector, ReducerManager, Store } from '@ngrx/store';
3
- import { EffectSources } from '@ngrx/effects';
4
- import { getDestroyActionName, TraitEffect } from '../trait-effect';
5
- import { DISABLE_LOCAL_TRAIT_EFFECTS } from './disable-local-trait-effects.token';
6
- import * as i0 from "@angular/core";
7
- let id = 0;
8
- function uniqueComponentId() {
9
- return id++;
10
- }
11
- /**
12
- * Builds traitFactory and registers effects and reducers with
13
- * a generated component id, returns build actions and selectors
14
- * and a destroy method that will unergister the effects and reducers
15
- * when called, and a addEffect which can be use to register extra effects
16
- *
17
- * Used inside TraitsLocalStore, can be used to create your
18
- * own Component Service without extending TraitsLocalStore
19
- * @param injector
20
- * @param componentName
21
- * @param traitFactory
22
- */
23
- export function buildLocalTraits(injector, componentName, traitFactory) {
24
- const reducers = injector.get(ReducerManager);
25
- const effects = injector.get(EffectSources);
26
- const store = injector.get(Store);
27
- const componentId = `${componentName}_${uniqueComponentId()}`;
28
- const traits = traitFactory({
29
- featureSelector: createFeatureSelector(componentId),
30
- actionsGroupKey: `[${componentId}]`,
31
- });
32
- traits.reducer && reducers.addReducer(componentId, traits.reducer);
33
- const providers = (traits.effects && [...traits.effects.map((e) => ({ provide: e }))]) || [];
34
- const disableLocalTraitsEffects = injector.get(DISABLE_LOCAL_TRAIT_EFFECTS, false);
35
- if (!disableLocalTraitsEffects) {
36
- const i = Injector.create({
37
- providers: providers,
38
- parent: injector,
39
- });
40
- traits.effects?.forEach((e) => {
41
- const effect = i.get(e);
42
- effect.componentId = componentId;
43
- effects.addEffects(effect);
44
- });
45
- }
46
- function destroy() {
47
- store.dispatch({ type: getDestroyActionName(componentId) });
48
- /**
49
- * A service that extends TraitsLocalStore and other component service are destroyed
50
- * before the component that depends on them, this causes that any subscriptions
51
- * to selectors of the TraitsLocalStore could fail because the store state is removed before
52
- * they are unsubscribe by the onDestroy of the component. Executing reducers.removeReducer
53
- * inside setTimeout ensures the state is remove after the component onDestroy was called,
54
- * avoiding the before mentioned possible issues.
55
- */
56
- setTimeout(() => reducers.removeReducer(componentId));
57
- }
58
- return {
59
- destroy,
60
- actions: traits.actions,
61
- selectors: traits.selectors,
62
- addEffects(localEffect) {
63
- localEffect.componentId = componentId;
64
- effects.addEffects(localEffect);
65
- },
66
- };
67
- }
68
- /**
69
- * Class used to create local traits service, receives a trait factory, which will be
70
- * built and its reducers and effect register using a dynamic id when the service is built
71
- * and get destroyed when the onDestroy lifecycle method of the service is called, if the service
72
- * has effects this.traits.addEffects(this) should be call in the constructor
73
- *
74
- * @example
75
- * const productFeatureFactory = createEntityFeatureFactory(
76
- * { entityName: 'product' },
77
- * addLoadEntitiesTrait<Product>(),
78
- * addSelectEntityTrait<Product>(),
79
- * );
80
- *
81
- * Injectable()
82
- * export class ProductsLocalTraits extends TraitsLocalStore<
83
- * typeof productFeatureFactory
84
- * > {
85
- * loadProducts$ = createEffect(() =>
86
- * this.actions$.pipe(
87
- * ofType(this.localActions.loadProducts),
88
- * switchMap(() =>
89
- * //call your service to get the products data
90
- * this.productService.getProducts().pipe(
91
- * map((res) =>
92
- * this.localActions.loadProductsSuccess({ entities: res.resultList })
93
- * ),
94
- * catchError(() => of(this.localActions.loadProductsFail()))
95
- * )
96
- * )
97
- * )
98
- * );
99
- *
100
- * constructor(injector: Injector, private productService: ProductService) {
101
- * super(injector);
102
- * this.traits.addEffects(this); // IMPORTANT! add this line if the service has effects
103
- * }
104
- *
105
- * setup(): LocalTraitsConfig<typeof productFeatureFactory> {
106
- * return {
107
- * componentName: 'ProductsPickerComponent',
108
- * traitsFactory: productFeatureFactory,
109
- * };
110
- * }
111
- * }
112
- *
113
- * // use in component later
114
- *
115
- * Component({
116
- * selector: 'some-component',
117
- * template: `<div> some content</div> `,
118
- * providers: [ProductsLocalTraits],
119
- * changeDetection: ChangeDetectionStrategy.OnPush,
120
- * })
121
- * export class ProductSelectDialogComponent implements OnInit {
122
- * constructor(private store: Store, private traits: ProductsLocalTraits) {}
123
- *
124
- * ngOnInit() {
125
- * this.store.dispatch(this.traits.localActions.loadProducts());
126
- * }
127
- * }
128
- */
129
- export class TraitsLocalStore extends TraitEffect {
130
- constructor() {
131
- super();
132
- this.injector = inject(Injector);
133
- const config = this.setup();
134
- this.traits = buildLocalTraits(this.injector, config.componentName, config.traitsFactory);
135
- this.localActions = this.traits.actions;
136
- this.localSelectors = this.traits.selectors;
137
- }
138
- ngOnDestroy() {
139
- this.traits.destroy();
140
- }
141
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: TraitsLocalStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
142
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: TraitsLocalStore }); }
143
- }
144
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: TraitsLocalStore, decorators: [{
145
- type: Injectable
146
- }], ctorParameters: () => [] });
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhaXRzLWxvY2FsLXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb3JlL3NyYy9saWIvbG9jYWwtc3RvcmUvdHJhaXRzLWxvY2FsLXN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUV4RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMzRSxPQUFPLEVBQVcsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQzs7QUFFbEYsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQ1gsU0FBUyxpQkFBaUI7SUFDeEIsT0FBTyxFQUFFLEVBQUUsQ0FBQztBQUNkLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FHOUIsUUFBa0IsRUFBRSxhQUFxQixFQUFFLFlBQWU7SUFDMUQsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM5QyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzVDLE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbEMsTUFBTSxXQUFXLEdBQUcsR0FBRyxhQUFhLElBQUksaUJBQWlCLEVBQUUsRUFBRSxDQUFDO0lBRTlELE1BQU0sTUFBTSxHQUFHLFlBQVksQ0FBQztRQUMxQixlQUFlLEVBQUUscUJBQXFCLENBQVEsV0FBVyxDQUFDO1FBQzFELGVBQWUsRUFBRSxJQUFJLFdBQVcsR0FBRztLQUNwQyxDQUFrQixDQUFDO0lBRXBCLE1BQU0sQ0FBQyxPQUFPLElBQUksUUFBUSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRW5FLE1BQU0sU0FBUyxHQUNiLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSSxDQUFDLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFFN0UsTUFBTSx5QkFBeUIsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUM1QywyQkFBMkIsRUFDM0IsS0FBSyxDQUNOLENBQUM7SUFDRixJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQUMvQixNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQ3hCLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLE1BQU0sRUFBRSxRQUFRO1NBQ2pCLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDNUIsTUFBTSxNQUFNLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQWdCLENBQUM7WUFDdkMsTUFBTSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7WUFDakMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxTQUFTLE9BQU87UUFDZCxLQUFLLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM1RDs7Ozs7OztXQU9HO1FBQ0gsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU87UUFDUCxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU87UUFDdkIsU0FBUyxFQUFFLE1BQU0sQ0FBQyxTQUFTO1FBQzNCLFVBQVUsQ0FBQyxXQUF3QjtZQUNqQyxXQUFXLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztZQUN0QyxPQUFPLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xDLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQztBQWFEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0REc7QUFFSCxNQUFNLE9BQWdCLGdCQUdwQixTQUFRLFdBQVc7SUFjbkI7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUhGLGFBQVEsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7UUFJbEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxNQUFNLEdBQUcsZ0JBQWdCLENBQzVCLElBQUksQ0FBQyxRQUFRLEVBQ2IsTUFBTSxDQUFDLGFBQWEsRUFDcEIsTUFBTSxDQUFDLGFBQWEsQ0FDckIsQ0FBQztRQUNGLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDeEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztJQUM5QyxDQUFDO0lBSUQsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs4R0FqQ21CLGdCQUFnQjtrSEFBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQURyQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3RvciwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCYXNlRW50aXR5RmVhdHVyZUZhY3RvcnksIEVudGl0eUZlYXR1cmVGYWN0b3J5IH0gZnJvbSAnLi4vbW9kZWwnO1xuaW1wb3J0IHsgY3JlYXRlRmVhdHVyZVNlbGVjdG9yLCBSZWR1Y2VyTWFuYWdlciwgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBBY3Rpb25zLCBFZmZlY3RTb3VyY2VzIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBnZXREZXN0cm95QWN0aW9uTmFtZSwgVHJhaXRFZmZlY3QgfSBmcm9tICcuLi90cmFpdC1lZmZlY3QnO1xuaW1wb3J0IHsgRElTQUJMRV9MT0NBTF9UUkFJVF9FRkZFQ1RTIH0gZnJvbSAnLi9kaXNhYmxlLWxvY2FsLXRyYWl0LWVmZmVjdHMudG9rZW4nO1xuXG5sZXQgaWQgPSAwO1xuZnVuY3Rpb24gdW5pcXVlQ29tcG9uZW50SWQoKSB7XG4gIHJldHVybiBpZCsrO1xufVxuXG4vKipcbiAqIEJ1aWxkcyB0cmFpdEZhY3RvcnkgYW5kIHJlZ2lzdGVycyBlZmZlY3RzIGFuZCByZWR1Y2VycyB3aXRoXG4gKiBhIGdlbmVyYXRlZCBjb21wb25lbnQgaWQsIHJldHVybnMgYnVpbGQgYWN0aW9ucyBhbmQgc2VsZWN0b3JzXG4gKiBhbmQgYSBkZXN0cm95IG1ldGhvZCB0aGF0IHdpbGwgdW5lcmdpc3RlciB0aGUgZWZmZWN0cyBhbmQgcmVkdWNlcnNcbiAqIHdoZW4gY2FsbGVkLCBhbmQgYSBhZGRFZmZlY3Qgd2hpY2ggY2FuIGJlIHVzZSB0byByZWdpc3RlciBleHRyYSBlZmZlY3RzXG4gKlxuICogVXNlZCBpbnNpZGUgVHJhaXRzTG9jYWxTdG9yZSwgY2FuIGJlIHVzZWQgdG8gY3JlYXRlIHlvdXJcbiAqIG93biBDb21wb25lbnQgU2VydmljZSB3aXRob3V0IGV4dGVuZGluZyBUcmFpdHNMb2NhbFN0b3JlXG4gKiBAcGFyYW0gaW5qZWN0b3JcbiAqIEBwYXJhbSBjb21wb25lbnROYW1lXG4gKiBAcGFyYW0gdHJhaXRGYWN0b3J5XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZExvY2FsVHJhaXRzPFxuICBTdGF0ZSxcbiAgRiBleHRlbmRzIEJhc2VFbnRpdHlGZWF0dXJlRmFjdG9yeTxhbnksIGFueSwgYW55PlxuPihpbmplY3RvcjogSW5qZWN0b3IsIGNvbXBvbmVudE5hbWU6IHN0cmluZywgdHJhaXRGYWN0b3J5OiBGKSB7XG4gIGNvbnN0IHJlZHVjZXJzID0gaW5qZWN0b3IuZ2V0KFJlZHVjZXJNYW5hZ2VyKTtcbiAgY29uc3QgZWZmZWN0cyA9IGluamVjdG9yLmdldChFZmZlY3RTb3VyY2VzKTtcbiAgY29uc3Qgc3RvcmUgPSBpbmplY3Rvci5nZXQoU3RvcmUpO1xuICBjb25zdCBjb21wb25lbnRJZCA9IGAke2NvbXBvbmVudE5hbWV9XyR7dW5pcXVlQ29tcG9uZW50SWQoKX1gO1xuXG4gIGNvbnN0IHRyYWl0cyA9IHRyYWl0RmFjdG9yeSh7XG4gICAgZmVhdHVyZVNlbGVjdG9yOiBjcmVhdGVGZWF0dXJlU2VsZWN0b3I8U3RhdGU+KGNvbXBvbmVudElkKSxcbiAgICBhY3Rpb25zR3JvdXBLZXk6IGBbJHtjb21wb25lbnRJZH1dYCxcbiAgfSkgYXMgUmV0dXJuVHlwZTxGPjtcblxuICB0cmFpdHMucmVkdWNlciAmJiByZWR1Y2Vycy5hZGRSZWR1Y2VyKGNvbXBvbmVudElkLCB0cmFpdHMucmVkdWNlcik7XG5cbiAgY29uc3QgcHJvdmlkZXJzID1cbiAgICAodHJhaXRzLmVmZmVjdHMgJiYgWy4uLnRyYWl0cy5lZmZlY3RzLm1hcCgoZSkgPT4gKHsgcHJvdmlkZTogZSB9KSldKSB8fCBbXTtcblxuICBjb25zdCBkaXNhYmxlTG9jYWxUcmFpdHNFZmZlY3RzID0gaW5qZWN0b3IuZ2V0KFxuICAgIERJU0FCTEVfTE9DQUxfVFJBSVRfRUZGRUNUUyxcbiAgICBmYWxzZVxuICApO1xuICBpZiAoIWRpc2FibGVMb2NhbFRyYWl0c0VmZmVjdHMpIHtcbiAgICBjb25zdCBpID0gSW5qZWN0b3IuY3JlYXRlKHtcbiAgICAgIHByb3ZpZGVyczogcHJvdmlkZXJzLFxuICAgICAgcGFyZW50OiBpbmplY3RvcixcbiAgICB9KTtcblxuICAgIHRyYWl0cy5lZmZlY3RzPy5mb3JFYWNoKChlKSA9PiB7XG4gICAgICBjb25zdCBlZmZlY3QgPSBpLmdldChlKSBhcyBUcmFpdEVmZmVjdDtcbiAgICAgIGVmZmVjdC5jb21wb25lbnRJZCA9IGNvbXBvbmVudElkO1xuICAgICAgZWZmZWN0cy5hZGRFZmZlY3RzKGVmZmVjdCk7XG4gICAgfSk7XG4gIH1cblxuICBmdW5jdGlvbiBkZXN0cm95KCkge1xuICAgIHN0b3JlLmRpc3BhdGNoKHsgdHlwZTogZ2V0RGVzdHJveUFjdGlvbk5hbWUoY29tcG9uZW50SWQpIH0pO1xuICAgIC8qKlxuICAgICAqIEEgc2VydmljZSB0aGF0IGV4dGVuZHMgVHJhaXRzTG9jYWxTdG9yZSBhbmQgb3RoZXIgY29tcG9uZW50IHNlcnZpY2UgYXJlIGRlc3Ryb3llZFxuICAgICAqIGJlZm9yZSB0aGUgY29tcG9uZW50IHRoYXQgZGVwZW5kcyBvbiB0aGVtLCB0aGlzIGNhdXNlcyB0aGF0IGFueSBzdWJzY3JpcHRpb25zXG4gICAgICogdG8gc2VsZWN0b3JzIG9mIHRoZSBUcmFpdHNMb2NhbFN0b3JlIGNvdWxkIGZhaWwgYmVjYXVzZSB0aGUgc3RvcmUgc3RhdGUgaXMgcmVtb3ZlZCBiZWZvcmVcbiAgICAgKiB0aGV5IGFyZSB1bnN1YnNjcmliZSBieSB0aGUgb25EZXN0cm95IG9mIHRoZSBjb21wb25lbnQuIEV4ZWN1dGluZyByZWR1Y2Vycy5yZW1vdmVSZWR1Y2VyXG4gICAgICogaW5zaWRlIHNldFRpbWVvdXQgZW5zdXJlcyB0aGUgc3RhdGUgaXMgcmVtb3ZlIGFmdGVyIHRoZSBjb21wb25lbnQgb25EZXN0cm95IHdhcyBjYWxsZWQsXG4gICAgICogYXZvaWRpbmcgdGhlIGJlZm9yZSBtZW50aW9uZWQgcG9zc2libGUgaXNzdWVzLlxuICAgICAqL1xuICAgIHNldFRpbWVvdXQoKCkgPT4gcmVkdWNlcnMucmVtb3ZlUmVkdWNlcihjb21wb25lbnRJZCkpO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBkZXN0cm95LFxuICAgIGFjdGlvbnM6IHRyYWl0cy5hY3Rpb25zLFxuICAgIHNlbGVjdG9yczogdHJhaXRzLnNlbGVjdG9ycyxcbiAgICBhZGRFZmZlY3RzKGxvY2FsRWZmZWN0OiBUcmFpdEVmZmVjdCkge1xuICAgICAgbG9jYWxFZmZlY3QuY29tcG9uZW50SWQgPSBjb21wb25lbnRJZDtcbiAgICAgIGVmZmVjdHMuYWRkRWZmZWN0cyhsb2NhbEVmZmVjdCk7XG4gICAgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeXBlPFQ+IGV4dGVuZHMgRnVuY3Rpb24ge1xuICBuZXcgKC4uLmFyZ3M6IGFueVtdKTogVDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMb2NhbFRyYWl0c0NvbmZpZzxcbiAgRiBleHRlbmRzIEJhc2VFbnRpdHlGZWF0dXJlRmFjdG9yeTxhbnksIGFueSwgYW55PlxuPiB7XG4gIGNvbXBvbmVudE5hbWU6IHN0cmluZztcbiAgdHJhaXRzRmFjdG9yeTogRjtcbn1cblxuLyoqXG4gKiBDbGFzcyB1c2VkIHRvIGNyZWF0ZSBsb2NhbCB0cmFpdHMgc2VydmljZSwgcmVjZWl2ZXMgYSB0cmFpdCBmYWN0b3J5LCB3aGljaCB3aWxsIGJlXG4gKiBidWlsdCBhbmQgaXRzIHJlZHVjZXJzIGFuZCBlZmZlY3QgcmVnaXN0ZXIgdXNpbmcgYSBkeW5hbWljIGlkIHdoZW4gdGhlIHNlcnZpY2UgaXMgYnVpbHRcbiAqIGFuZCBnZXQgZGVzdHJveWVkIHdoZW4gdGhlIG9uRGVzdHJveSBsaWZlY3ljbGUgbWV0aG9kIG9mIHRoZSBzZXJ2aWNlIGlzIGNhbGxlZCwgaWYgdGhlIHNlcnZpY2VcbiAqIGhhcyBlZmZlY3RzIHRoaXMudHJhaXRzLmFkZEVmZmVjdHModGhpcykgc2hvdWxkIGJlIGNhbGwgaW4gdGhlIGNvbnN0cnVjdG9yXG4gKlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IHByb2R1Y3RGZWF0dXJlRmFjdG9yeSA9IGNyZWF0ZUVudGl0eUZlYXR1cmVGYWN0b3J5KFxuICogICB7IGVudGl0eU5hbWU6ICdwcm9kdWN0JyB9LFxuICogICBhZGRMb2FkRW50aXRpZXNUcmFpdDxQcm9kdWN0PigpLFxuICogICBhZGRTZWxlY3RFbnRpdHlUcmFpdDxQcm9kdWN0PigpLFxuICogKTtcbiAqXG4gKiBJbmplY3RhYmxlKClcbiAqIGV4cG9ydCBjbGFzcyBQcm9kdWN0c0xvY2FsVHJhaXRzIGV4dGVuZHMgVHJhaXRzTG9jYWxTdG9yZTxcbiAqICAgdHlwZW9mIHByb2R1Y3RGZWF0dXJlRmFjdG9yeVxuICogPiB7XG4gKiAgIGxvYWRQcm9kdWN0cyQgPSBjcmVhdGVFZmZlY3QoKCkgPT5cbiAqICAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gKiAgICAgICBvZlR5cGUodGhpcy5sb2NhbEFjdGlvbnMubG9hZFByb2R1Y3RzKSxcbiAqICAgICAgIHN3aXRjaE1hcCgoKSA9PlxuICogICAgICAgICAvL2NhbGwgeW91ciBzZXJ2aWNlIHRvIGdldCB0aGUgcHJvZHVjdHMgZGF0YVxuICogICAgICAgICB0aGlzLnByb2R1Y3RTZXJ2aWNlLmdldFByb2R1Y3RzKCkucGlwZShcbiAqICAgICAgICAgICBtYXAoKHJlcykgPT5cbiAqICAgICAgICAgICAgIHRoaXMubG9jYWxBY3Rpb25zLmxvYWRQcm9kdWN0c1N1Y2Nlc3MoeyBlbnRpdGllczogcmVzLnJlc3VsdExpc3QgfSlcbiAqICAgICAgICAgICApLFxuICogICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gb2YodGhpcy5sb2NhbEFjdGlvbnMubG9hZFByb2R1Y3RzRmFpbCgpKSlcbiAqICAgICAgICAgKVxuICogICAgICAgKVxuICogICAgIClcbiAqICAgKTtcbiAqXG4gKiAgIGNvbnN0cnVjdG9yKGluamVjdG9yOiBJbmplY3RvciwgcHJpdmF0ZSBwcm9kdWN0U2VydmljZTogUHJvZHVjdFNlcnZpY2UpIHtcbiAqICAgICBzdXBlcihpbmplY3Rvcik7XG4gKiAgICAgdGhpcy50cmFpdHMuYWRkRWZmZWN0cyh0aGlzKTsgLy8gSU1QT1JUQU5UISBhZGQgdGhpcyBsaW5lIGlmIHRoZSBzZXJ2aWNlIGhhcyBlZmZlY3RzXG4gKiAgIH1cbiAqXG4gKiAgIHNldHVwKCk6IExvY2FsVHJhaXRzQ29uZmlnPHR5cGVvZiBwcm9kdWN0RmVhdHVyZUZhY3Rvcnk+IHtcbiAqICAgICByZXR1cm4ge1xuICogICAgICAgY29tcG9uZW50TmFtZTogJ1Byb2R1Y3RzUGlja2VyQ29tcG9uZW50JyxcbiAqICAgICAgIHRyYWl0c0ZhY3Rvcnk6IHByb2R1Y3RGZWF0dXJlRmFjdG9yeSxcbiAqICAgICB9O1xuICogICB9XG4gKiB9XG4gKlxuICogLy8gdXNlIGluIGNvbXBvbmVudCBsYXRlclxuICpcbiAqIENvbXBvbmVudCh7XG4gKiAgIHNlbGVjdG9yOiAnc29tZS1jb21wb25lbnQnLFxuICogICB0ZW1wbGF0ZTogYDxkaXY+IHNvbWUgY29udGVudDwvZGl2PiBgLFxuICogICBwcm92aWRlcnM6IFtQcm9kdWN0c0xvY2FsVHJhaXRzXSxcbiAqICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gKiB9KVxuICogZXhwb3J0IGNsYXNzIFByb2R1Y3RTZWxlY3REaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICogICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZSwgcHJpdmF0ZSB0cmFpdHM6IFByb2R1Y3RzTG9jYWxUcmFpdHMpIHt9XG4gKlxuICogICBuZ09uSW5pdCgpIHtcbiAqICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHRoaXMudHJhaXRzLmxvY2FsQWN0aW9ucy5sb2FkUHJvZHVjdHMoKSk7XG4gKiAgIH1cbiAqIH1cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFRyYWl0c0xvY2FsU3RvcmU8XG4gICAgRiBleHRlbmRzIEJhc2VFbnRpdHlGZWF0dXJlRmFjdG9yeTxhbnksIGFueSwgYW55PlxuICA+XG4gIGV4dGVuZHMgVHJhaXRFZmZlY3RcbiAgaW1wbGVtZW50cyBPbkRlc3Ryb3lcbntcbiAgdHJhaXRzOiB7XG4gICAgYWN0aW9uczogUmV0dXJuVHlwZTxGPlsnYWN0aW9ucyddO1xuICAgIHNlbGVjdG9yczogUmV0dXJuVHlwZTxGPlsnc2VsZWN0b3JzJ107XG4gICAgZGVzdHJveTogKCkgPT4gdm9pZDtcbiAgICBhZGRFZmZlY3RzOiAobG9jYWxFZmZlY3Q6IFRyYWl0RWZmZWN0KSA9PiB2b2lkO1xuICB9O1xuXG4gIGxvY2FsQWN0aW9uczogUmV0dXJuVHlwZTxGPlsnYWN0aW9ucyddO1xuICBsb2NhbFNlbGVjdG9yczogUmV0dXJuVHlwZTxGPlsnc2VsZWN0b3JzJ107XG4gIHByaXZhdGUgaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpO1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuc2V0dXAoKTtcbiAgICB0aGlzLnRyYWl0cyA9IGJ1aWxkTG9jYWxUcmFpdHMoXG4gICAgICB0aGlzLmluamVjdG9yLFxuICAgICAgY29uZmlnLmNvbXBvbmVudE5hbWUsXG4gICAgICBjb25maWcudHJhaXRzRmFjdG9yeVxuICAgICk7XG4gICAgdGhpcy5sb2NhbEFjdGlvbnMgPSB0aGlzLnRyYWl0cy5hY3Rpb25zO1xuICAgIHRoaXMubG9jYWxTZWxlY3RvcnMgPSB0aGlzLnRyYWl0cy5zZWxlY3RvcnM7XG4gIH1cblxuICBhYnN0cmFjdCBzZXR1cCgpOiBMb2NhbFRyYWl0c0NvbmZpZzxGPjtcblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnRyYWl0cy5kZXN0cm95KCk7XG4gIH1cbn1cbiJdfQ==
package/esm2022/model.mjs DELETED
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvcmUvc3JjL2xpYi9tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtdHlwZS1kZWZpbml0aW9ucyAqL1xuaW1wb3J0IHsgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9uLCBBY3Rpb25UeXBlLCBNZW1vaXplZFNlbGVjdG9yIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgQWN0aW9uQ3JlYXRvcixcbiAgU2VsZWN0b3IsXG4gIFNlbGVjdG9yV2l0aFByb3BzLFxufSBmcm9tICdAbmdyeC9zdG9yZS9zcmMvbW9kZWxzJztcblxuaW1wb3J0IHsgVHJhaXRFZmZlY3QgfSBmcm9tICcuL3RyYWl0LWVmZmVjdCc7XG5cbmV4cG9ydCB0eXBlIFRyYWl0QWN0aW9ucyA9IHtcbiAgW2tleTogc3RyaW5nXTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsICguLi5hcmdzOiBhbnlbXSkgPT4gQWN0aW9uPHN0cmluZz4+O1xufTtcblxuZXhwb3J0IHR5cGUgVHJhaXRTZWxlY3RvcnM8U3RhdGU+ID0ge1xuICBba2V5OiBzdHJpbmddOlxuICAgIHwgU2VsZWN0b3I8U3RhdGUsIGFueT5cbiAgICB8IFNlbGVjdG9yV2l0aFByb3BzPFN0YXRlLCBhbnksIGFueT5cbiAgICB8IE1lbW9pemVkU2VsZWN0b3I8U3RhdGUsIGFueT47XG59O1xuXG5leHBvcnQgdHlwZSBUcmFpdFN0YXRlTXV0YXRvcnM8U3RhdGU+ID0ge1xuICBba2V5OiBzdHJpbmddOiA8UyBleHRlbmRzIFN0YXRlPiguLi5hcmc6IGFueVtdKSA9PiBTO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBCYXNlRmVhdHVyZVRyYWl0czxTdGF0ZSA9IGFueSwgQSA9IGFueSwgUyA9IGFueT4ge1xuICBhY3Rpb25zOiBBO1xuICBzZWxlY3RvcnM6IFM7XG4gIHJlZHVjZXI6IChzdGF0ZTogU3RhdGUsIGFjdGlvbjogQWN0aW9uVHlwZTxhbnk+KSA9PiBTdGF0ZTtcbiAgZWZmZWN0czogVHlwZTxhbnk+W107XG4gIGluaXRpYWxTdGF0ZTogU3RhdGU7XG59XG5cbmV4cG9ydCB0eXBlIEZlYXR1cmVUcmFpdHM8XG4gIFN0YXRlLFxuICBBIGV4dGVuZHMgVHJhaXRBY3Rpb25zID0gVHJhaXRBY3Rpb25zLFxuICBTIGV4dGVuZHMgVHJhaXRTZWxlY3RvcnM8U3RhdGU+ID0gVHJhaXRTZWxlY3RvcnM8U3RhdGU+LFxuPiA9IEJhc2VGZWF0dXJlVHJhaXRzPFN0YXRlLCBBLCBGZWF0dXJlU2VsZWN0b3JzPFN0YXRlLCBTPj47XG5cbmV4cG9ydCB0eXBlIEJhc2VFbnRpdHlGZWF0dXJlRmFjdG9yeTxTdGF0ZSwgQSwgUz4gPSAoXG4gIGNvbmZpZzogQ29uZmlnPFN0YXRlPixcbikgPT4gQmFzZUZlYXR1cmVUcmFpdHM8U3RhdGUsIEEsIFM+O1xuXG5leHBvcnQgdHlwZSBFbnRpdHlGZWF0dXJlRmFjdG9yeTxcbiAgRW50aXR5TmFtZSBleHRlbmRzIHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgRW50aXRpZXNOYW1lIGV4dGVuZHMgc3RyaW5nID0gYCR7RW50aXR5TmFtZX1zYCxcbiAgU3RhdGUgPSBhbnksXG4gIEEgZXh0ZW5kcyBUcmFpdEFjdGlvbnMgPSBUcmFpdEFjdGlvbnMsXG4gIFMgZXh0ZW5kcyBUcmFpdFNlbGVjdG9yczxTdGF0ZT4gPSBUcmFpdFNlbGVjdG9yczxTdGF0ZT4sXG4+ID0gKFxuICBjb25maWc6IENvbmZpZzxTdGF0ZT4sXG4pID0+IEZlYXR1cmVUcmFpdHM8XG4gIFN0YXRlLFxuICBFbnRpdHlOYW1lIGV4dGVuZHMgc3RyaW5nXG4gICAgPyBSZXBsYWNlRW50aXR5TmFtZXM8QSwgRW50aXR5TmFtZSwgRW50aXRpZXNOYW1lPlxuICAgIDogQSxcbiAgRW50aXR5TmFtZSBleHRlbmRzIHN0cmluZ1xuICAgID8gUmVwbGFjZUVudGl0eU5hbWVzPFMsIEVudGl0eU5hbWUsIEVudGl0aWVzTmFtZT5cbiAgICA6IFNcbj47XG5cbmV4cG9ydCB0eXBlIENvbmZpZzxcbiAgU3RhdGUsXG4gIEYgZXh0ZW5kcyBNZW1vaXplZFNlbGVjdG9yPG9iamVjdCwgU3RhdGU+ID0gTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QsIFN0YXRlPixcbj4gPSB7XG4gIGFjdGlvbnNHcm91cEtleTogc3RyaW5nO1xuICBmZWF0dXJlU2VsZWN0b3I6IEYgfCBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBGZWF0dXJlU2VsZWN0b3JzPFN0YXRlLCBTIGV4dGVuZHMgVHJhaXRTZWxlY3RvcnM8U3RhdGU+PiA9IHtcbiAgW2tleSBpbiBrZXlvZiBTXTogTWVtb2l6ZWRTZWxlY3RvcjxvYmplY3QsIFJldHVyblR5cGU8U1trZXldPiwgU1trZXldPjtcbn07XG5cbi8vIFRPRE8gc2VlIGlmIHdlIGNhbiBtYWtlIEFsbFRyYWl0Q29uZmlncyBleHRlbmRzIG9yIHVzZSBLZXllZENvbmZpZ1xuZXhwb3J0IHR5cGUgQWxsVHJhaXRDb25maWdzID0ge1xuICBbaWQ6IHN0cmluZ106IGFueTtcbn07XG5cbmV4cG9ydCB0eXBlIFRyYWl0QWN0aW9uc0ZhY3Rvcnk8XG4gIEEgZXh0ZW5kcyBUcmFpdEFjdGlvbnMgPSBUcmFpdEFjdGlvbnMsXG4gIEMgZXh0ZW5kcyBBbGxUcmFpdENvbmZpZ3MgPSBBbGxUcmFpdENvbmZpZ3MsXG4+ID0gKG9wdGlvbnM6IFRyYWl0QWN0aW9uc0ZhY3RvcnlDb25maWc8Qz4pID0+IEE7XG5cbmV4cG9ydCB0eXBlIFRyYWl0QWN0aW9uc0ZhY3RvcnlDb25maWc8XG4gIEMgZXh0ZW5kcyBBbGxUcmFpdENvbmZpZ3MgPSBBbGxUcmFpdENvbmZpZ3MsXG4+ID0ge1xuICBhY3Rpb25zR3JvdXBLZXk6IHN0cmluZztcbiAgZW50aXR5TmFtZTogc3RyaW5nO1xuICBlbnRpdGllc05hbWU6IHN0cmluZztcbiAgYWxsQ29uZmlnczogQztcbn07XG5leHBvcnQgdHlwZSBUcmFpdFNlbGVjdG9yc0ZhY3Rvcnk8XG4gIFN0YXRlID0gdW5rbm93bixcbiAgUyBleHRlbmRzIFRyYWl0U2VsZWN0b3JzPFN0YXRlPiA9IFRyYWl0U2VsZWN0b3JzPFN0YXRlPixcbiAgQyBleHRlbmRzIEFsbFRyYWl0Q29uZmlncyA9IEFsbFRyYWl0Q29uZmlncyxcbj4gPSAob3B0aW9uczogVHJhaXRTZWxlY3RvcnNGYWN0b3J5Q29uZmlnPEM+KSA9PiBTO1xuXG5leHBvcnQgdHlwZSBUcmFpdFNlbGVjdG9yc0ZhY3RvcnlDb25maWc8XG4gIEMgZXh0ZW5kcyBBbGxUcmFpdENvbmZpZ3MgPSBBbGxUcmFpdENvbmZpZ3MsXG4+ID0ge1xuICBwcmV2aW91c1NlbGVjdG9yczogVHJhaXRTZWxlY3RvcnM8dW5rbm93bj4gfCB1bmRlZmluZWQ7XG4gIGFsbENvbmZpZ3M6IEM7XG59O1xuZXhwb3J0IHR5cGUgVHJhaXRJbml0aWFsU3RhdGVGYWN0b3J5PFxuICBTdGF0ZSA9IHVua25vd24sXG4gIEMgZXh0ZW5kcyBBbGxUcmFpdENvbmZpZ3MgPSBBbGxUcmFpdENvbmZpZ3MsXG4+ID0gKG9wdGlvbnM6IFRyYWl0SW5pdGlhbFN0YXRlRmFjdG9yeUNvbmZpZzxDPikgPT4gU3RhdGU7XG5cbmV4cG9ydCB0eXBlIFRyYWl0SW5pdGlhbFN0YXRlRmFjdG9yeUNvbmZpZzxcbiAgQyBleHRlbmRzIEFsbFRyYWl0Q29uZmlncyA9IEFsbFRyYWl0Q29uZmlncyxcbj4gPSB7XG4gIHByZXZpb3VzSW5pdGlhbFN0YXRlOiBhbnk7XG4gIGFsbENvbmZpZ3M6IEM7XG59O1xuXG5leHBvcnQgdHlwZSBUcmFpdFN0YXRlTXV0YXRvcnNGYWN0b3J5PFxuICBTdGF0ZSA9IHVua25vd24sXG4gIE0gZXh0ZW5kcyBUcmFpdFN0YXRlTXV0YXRvcnM8U3RhdGU+ID0gVHJhaXRTdGF0ZU11dGF0b3JzPFN0YXRlPixcbiAgQyBleHRlbmRzIEFsbFRyYWl0Q29uZmlncyA9IEFsbFRyYWl0Q29uZmlncyxcbj4gPSAob3B0aW9uczogVHJhaXRTdGF0ZU11dGF0b3JzRmFjdG9yeUNvbmZpZzxDPikgPT4gTTtcblxuZXhwb3J0IHR5cGUgVHJhaXRTdGF0ZU11dGF0b3JzRmFjdG9yeUNvbmZpZzxcbiAgQyBleHRlbmRzIEFsbFRyYWl0Q29uZmlncyA9IEFsbFRyYWl0Q29uZmlncyxcbj4gPSB7XG4gIGFsbFNlbGVjdG9yczogVHJhaXRTZWxlY3RvcnM8YW55PjtcbiAgcHJldmlvdXNNdXRhdG9yczogVHJhaXRTdGF0ZU11dGF0b3JzPHVua25vd24+IHwgdW5kZWZpbmVkO1xuICBhbGxDb25maWdzOiBDO1xufTtcblxuZXhwb3J0IHR5cGUgVHJhaXRSZWR1Y2VyRmFjdG9yeTxcbiAgU3RhdGUgPSB1bmtub3duLFxuICBBIGV4dGVuZHMgVHJhaXRBY3Rpb25zID0gVHJhaXRBY3Rpb25zLFxuICBTIGV4dGVuZHMgVHJhaXRTZWxlY3RvcnM8U3RhdGU+ID0gVHJhaXRTZWxlY3RvcnM8U3RhdGU+LFxuICBNIGV4dGVuZHMgVHJhaXRTdGF0ZU11dGF0b3JzPFN0YXRlPiA9IFRyYWl0U3RhdGVNdXRhdG9yczxTdGF0ZT4sXG4gIEMgZXh0ZW5kcyBBbGxUcmFpdENvbmZpZ3MgPSBBbGxUcmFpdENvbmZpZ3MsXG4+ID0gKFxuICBvcHRpb25zOiBUcmFpdFJlZHVjZXJGYWN0b3J5Q29uZmlnPFN0YXRlLCBBLCBTLCBNLCBDPixcbikgPT4gKGluaXRpYWxTdGF0ZTogU3RhdGUsIGFjdGlvbjogQWN0aW9uKSA9PiBTdGF0ZTtcblxuZXhwb3J0IHR5cGUgVHJhaXRSZWR1Y2VyRmFjdG9yeUNvbmZpZzxcbiAgU3RhdGUgPSB1bmtub3duLFxuICBBIGV4dGVuZHMgVHJhaXRBY3Rpb25zID0gVHJhaXRBY3Rpb25zLFxuICBTIGV4dGVuZHMgVHJhaXRTZWxlY3RvcnM8U3RhdGU+ID0gVHJhaXRTZWxlY3RvcnM8U3RhdGU+LFxuICBNIGV4dGVuZHMgVHJhaXRTdGF0ZU11dGF0b3JzPFN0YXRlPiA9IFRyYWl0U3RhdGVNdXRhdG9yczxTdGF0ZT4sXG4gIEMgZXh0ZW5kcyBBbGxUcmFpdENvbmZpZ3MgPSBBbGxUcmFpdENvbmZpZ3MsXG4+ID0ge1xuICBpbml0aWFsU3RhdGU6IFN0YXRlO1xuICBhbGxBY3Rpb25zOiBBO1xuICBhbGxTZWxlY3RvcnM6IFM7XG4gIGFsbE11dGF0b3JzOiBNO1xuICBhbGxDb25maWdzOiBDO1xufTtcblxuZXhwb3J0IHR5cGUgVHJhaXRFZmZlY3RzRmFjdG9yeTxcbiAgU3RhdGUgPSB1bmtub3duLFxuICBBIGV4dGVuZHMgVHJhaXRBY3Rpb25zID0gVHJhaXRBY3Rpb25zLFxuICBTIGV4dGVuZHMgVHJhaXRTZWxlY3RvcnM8U3RhdGU+ID0gVHJhaXRTZWxlY3RvcnM8U3RhdGU+LFxuICBDIGV4dGVuZHMgQWxsVHJhaXRDb25maWdzID0gQWxsVHJhaXRDb25maWdzLFxuPiA9IChvcHRpb25zOiBUcmFpdEVmZmVjdHNGYWN0b3J5Q29uZmlnPFN0YXRlLCBBLCBTLCBDPikgPT4gVHlwZTxUcmFpdEVmZmVjdD5bXTtcblxuZXhwb3J0IHR5cGUgVHJhaXRFZmZlY3RzRmFjdG9yeUNvbmZpZzxcbiAgU3RhdGUgPSB1bmtub3duLFxuICBBIGV4dGVuZHMgVHJhaXRBY3Rpb25zID0gVHJhaXRBY3Rpb25zLFxuICBTIGV4dGVuZHMgVHJhaXRTZWxlY3RvcnM8U3RhdGU+ID0gVHJhaXRTZWxlY3RvcnM8U3RhdGU+LFxuICBDIGV4dGVuZHMgQWxsVHJhaXRDb25maWdzID0gQWxsVHJhaXRDb25maWdzLFxuPiA9IHtcbiAgYWxsQWN0aW9uczogQTtcbiAgYWxsU2VsZWN0b3JzOiBTO1xuICBhbGxDb25maWdzOiBDO1xufTtcblxuZXhwb3J0IHR5cGUgS2V5ZWRDb25maWc8S0VZIGV4dGVuZHMgc3RyaW5nLCBDPiA9IFJlY29yZDxzdHJpbmcsIGFueT4gJiB7XG4gIFtLIGluIEtFWV0/OiBDO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBUcmFpdEZhY3Rvcnk8XG4gIFN0YXRlID0gYW55LFxuICBBIGV4dGVuZHMgVHJhaXRBY3Rpb25zID0gYW55LFxuICBTIGV4dGVuZHMgVHJhaXRTZWxlY3RvcnM8U3RhdGU+ID0gYW55LFxuICBNIGV4dGVuZHMgVHJhaXRTdGF0ZU11dGF0b3JzPFN0YXRlPiA9IGFueSxcbiAgS0VZIGV4dGVuZHMgc3RyaW5nID0gc3RyaW5nLFxuICBDID0gYW55LFxuICBLQyBleHRlbmRzIEFsbFRyYWl0Q29uZmlncyA9IEtleWVkQ29uZmlnPEtFWSwgQz4sXG4+IHtcbiAga2V5OiBLRVk7XG4gIGNvbmZpZz86IEM7XG4gIGRlcGVuZHM/OiBzdHJpbmdbXTtcbiAgYWN0aW9uczogVHJhaXRBY3Rpb25zRmFjdG9yeTxBLCBLQz47XG4gIHNlbGVjdG9yczogVHJhaXRTZWxlY3RvcnNGYWN0b3J5PFN0YXRlLCBTLCBLQz47XG4gIGluaXRpYWxTdGF0ZTogVHJhaXRJbml0aWFsU3RhdGVGYWN0b3J5PFN0YXRlLCBLQz47XG4gIG11dGF0b3JzOiBUcmFpdFN0YXRlTXV0YXRvcnNGYWN0b3J5PFN0YXRlLCBNLCBLQz47XG4gIHJlZHVjZXI/OiBUcmFpdFJlZHVjZXJGYWN0b3J5PFN0YXRlLCBBLCBTLCBNLCBLQz47XG4gIGVmZmVjdHM/OiBUcmFpdEVmZmVjdHNGYWN0b3J5PFN0YXRlLCBBLCBTLCBLQz47XG59XG50eXBlIEV4dHJhY3RBcnJheUVsZW1lbnRUeXBlczxYPiA9IFggZXh0ZW5kcyBSZWFkb25seUFycmF5PGluZmVyIFQ+ID8gVCA6IG5ldmVyO1xuXG5leHBvcnQgdHlwZSBVbmlvblRvSW50ZXJzZWN0aW9uPFQ+ID0gKFxuICBUIGV4dGVuZHMgYW55ID8gKHg6IFQpID0+IGFueSA6IG5ldmVyXG4pIGV4dGVuZHMgKHg6IGluZmVyIFIpID0+IGFueVxuICA/IFJcbiAgOiBuZXZlcjtcblxuZXhwb3J0IHR5cGUgRXh0cmFjdFN0YXRlVHlwZTxUPiA9XG4gIFQgZXh0ZW5kcyBUcmFpdEZhY3Rvcnk8aW5mZXIgU3RhdGU+XG4gICAgPyBTdGF0ZVxuICAgIDogVCBleHRlbmRzIFJlYWRvbmx5QXJyYXk8VHJhaXRGYWN0b3J5PlxuICAgICAgPyBVbmlvblRvSW50ZXJzZWN0aW9uPEV4dHJhY3RTdGF0ZVR5cGU8RXh0cmFjdEFycmF5RWxlbWVudFR5cGVzPFQ+Pj5cbiAgICAgIDogVCBleHRlbmRzIEJhc2VGZWF0dXJlVHJhaXRzPGluZmVyIFN0YXRlPlxuICAgICAgICA/IFN0YXRlXG4gICAgICAgIDogbmV2ZXI7XG5cbmV4cG9ydCB0eXBlIEV4dHJhY3RBY3Rpb25zVHlwZTxUPiA9XG4gIFQgZXh0ZW5kcyBUcmFpdEZhY3Rvcnk8YW55LCBpbmZlciBBPlxuICAgID8gQVxuICAgIDogVCBleHRlbmRzIFJlYWRvbmx5QXJyYXk8VHJhaXRGYWN0b3J5PlxuICAgICAgPyBVbmlvblRvSW50ZXJzZWN0aW9uPEV4dHJhY3RBY3Rpb25zVHlwZTxFeHRyYWN0QXJyYXlFbGVtZW50VHlwZXM8VD4+PlxuICAgICAgOiBUIGV4dGVuZHMgQmFzZUZlYXR1cmVUcmFpdHM8YW55LCBpbmZlciBBPlxuICAgICAgICA/IEFcbiAgICAgICAgOiBuZXZlcjtcblxuZXhwb3J0IHR5cGUgRXh0cmFjdFNlbGVjdG9yc1R5cGU8VD4gPVxuICBUIGV4dGVuZHMgVHJhaXRGYWN0b3J5PGFueSwgYW55LCBpbmZlciBTPlxuICAgID8gU1xuICAgIDogVCBleHRlbmRzIFJlYWRvbmx5QXJyYXk8VHJhaXRGYWN0b3J5PlxuICAgICAgPyBVbmlvblRvSW50ZXJzZWN0aW9uPEV4dHJhY3RTZWxlY3RvcnNUeXBlPEV4dHJhY3RBcnJheUVsZW1lbnRUeXBlczxUPj4+XG4gICAgICA6IFQgZXh0ZW5kcyBCYXNlRmVhdHVyZVRyYWl0czxhbnksIGFueSwgaW5mZXIgUz5cbiAgICAgICAgPyBTXG4gICAgICAgIDogbmV2ZXI7XG5cbmV4cG9ydCB0eXBlIEV4dHJhY3RNdXRhdG9yc1R5cGU8VD4gPVxuICBUIGV4dGVuZHMgVHJhaXRGYWN0b3J5PGFueSwgYW55LCBhbnksIGluZmVyIE0+XG4gICAgPyBNXG4gICAgOiBUIGV4dGVuZHMgUmVhZG9ubHlBcnJheTxUcmFpdEZhY3Rvcnk+XG4gICAgICA/IFVuaW9uVG9JbnRlcnNlY3Rpb248RXh0cmFjdE11dGF0b3JzVHlwZTxFeHRyYWN0QXJyYXlFbGVtZW50VHlwZXM8VD4+PlxuICAgICAgOiBuZXZlcjtcblxuZXhwb3J0IHR5cGUgRXh0cmFjdEtleWVkQ29uZmlnVHlwZTxUPiA9XG4gIFQgZXh0ZW5kcyBUcmFpdEZhY3Rvcnk8YW55LCBhbnksIGFueSwgYW55LCBpbmZlciBLRVksIGluZmVyIEM+XG4gICAgPyBLZXllZENvbmZpZzxLRVksIEM+XG4gICAgOiBUIGV4dGVuZHMgUmVhZG9ubHlBcnJheTxUcmFpdEZhY3Rvcnk+XG4gICAgICA/IFVuaW9uVG9JbnRlcnNlY3Rpb248RXh0cmFjdEtleWVkQ29uZmlnVHlwZTxFeHRyYWN0QXJyYXlFbGVtZW50VHlwZXM8VD4+PlxuICAgICAgOiBuZXZlcjtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuZXhwb3J0IHR5cGUgUHJlZml4UHJvcHM8VCwgUCBleHRlbmRzIHN0cmluZz4gPSB7XG4gIFtLIGluIGtleW9mIFQgYXMgYCR7UH0ke0NhcGl0YWxpemU8c3RyaW5nICYgSz59YF06IFRbS107XG59O1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG5leHBvcnQgdHlwZSBQb3N0Zml4UHJvcHM8VCwgUCBleHRlbmRzIHN0cmluZz4gPSB7XG4gIFtLIGluIGtleW9mIFQgYXMgYCR7VW5jYXBpdGFsaXplPHN0cmluZyAmIEs+fSR7Q2FwaXRhbGl6ZTxQPn1gXTogVFtLXTtcbn07XG5cbnR5cGUgUmVwbGFjZTxcbiAgVGFyZ2V0IGV4dGVuZHMgc3RyaW5nLFxuICBGaW5kS2V5IGV4dGVuZHMgc3RyaW5nLFxuICBGaW5kS2V5MiBleHRlbmRzIHN0cmluZyxcbiAgUmVwbGFjZUtleSBleHRlbmRzIHN0cmluZyxcbiAgUmVwbGFjZUtleTIgZXh0ZW5kcyBzdHJpbmcsXG4+ID0gVGFyZ2V0IGV4dGVuZHMgYCR7aW5mZXIgUHJlZml4fSR7RmluZEtleX0ke2luZmVyIFBvc3RmaXh9YFxuICA/IGAke1ByZWZpeH0ke0NhcGl0YWxpemU8UmVwbGFjZUtleT59JHtQb3N0Zml4fWBcbiAgOiBUYXJnZXQgZXh0ZW5kcyBgJHtpbmZlciBQcmVmaXh9JHtGaW5kS2V5Mn0ke2luZmVyIFBvc3RmaXh9YFxuICAgID8gYCR7UHJlZml4fSR7Q2FwaXRhbGl6ZTxSZXBsYWNlS2V5Mj59JHtQb3N0Zml4fWBcbiAgICA6IFRhcmdldDtcblxuZXhwb3J0IHR5cGUgUmVwbGFjZVByb3BzPFxuICBUYXJnZXQsXG4gIEZpbmRLZXkgZXh0ZW5kcyBzdHJpbmcsXG4gIEZpbmRLZXkyIGV4dGVuZHMgc3RyaW5nLFxuICBSZXBsYWNlS2V5IGV4dGVuZHMgc3RyaW5nLFxuICBSZXBsYWNlS2V5MiBleHRlbmRzIHN0cmluZyxcbj4gPSB7XG4gIFtQcm9wIGluIGtleW9mIFRhcmdldCBhcyBSZXBsYWNlPFxuICAgIHN0cmluZyAmIFByb3AsXG4gICAgRmluZEtleSxcbiAgICBGaW5kS2V5MixcbiAgICBSZXBsYWNlS2V5LFxuICAgIFJlcGxhY2VLZXkyXG4gID5dOiBUYXJnZXRbUHJvcF07XG59O1xuZXhwb3J0IHR5cGUgUmVwbGFjZUVudGl0eU5hbWVzPFxuICBULFxuICBFbnRpdHlOYW1lIGV4dGVuZHMgc3RyaW5nLFxuICBFbnRpdGllc05hbWUgZXh0ZW5kcyBzdHJpbmcsXG4+ID0gUmVwbGFjZVByb3BzPFQsICdFbnRpdGllcycsICdFbnRpdHknLCBFbnRpdGllc05hbWUsIEVudGl0eU5hbWU+O1xuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdyeC10cmFpdHMtY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10cmFpdHMvY29yZS9zcmMvbGliL25ncngtdHJhaXRzLWNvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -1,2 +0,0 @@
1
- export * from './provide-mock-local-traits';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvcmUvdGVzdGluZy9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcHJvdmlkZS1tb2NrLWxvY2FsLXRyYWl0cyc7XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdyeC10cmFpdHMtY29yZS10ZXN0aW5nLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb3JlL3Rlc3Rpbmcvc3JjL25ncngtdHJhaXRzLWNvcmUtdGVzdGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -1,36 +0,0 @@
1
- import { DISABLE_LOCAL_TRAIT_EFFECTS, } from '@ngrx-traits/core';
2
- import { Injector } from '@angular/core';
3
- import { EffectSources } from '@ngrx/effects';
4
- import { MockStore } from '@ngrx/store/testing';
5
- /*
6
- * NOTE: provideMockStore({initialState}) initialState will be ignored with local traits store!
7
- * Override selectors instead
8
- *
9
- * You still need to provideMockStore and provideMockActions
10
- * */
11
- export function provideMockLocalTraits({ traitFactory, selectors, }) {
12
- return [
13
- { provide: DISABLE_LOCAL_TRAIT_EFFECTS, useValue: true },
14
- {
15
- provide: EffectSources,
16
- useValue: {
17
- addEffects: () => {
18
- return;
19
- },
20
- },
21
- },
22
- {
23
- provide: traitFactory,
24
- deps: [Injector, MockStore],
25
- useFactory: (injector, mockStore) => {
26
- const trait = new traitFactory(injector);
27
- if (selectors) {
28
- Object.keys(selectors).forEach((key) => trait.localSelectors?.[key] &&
29
- mockStore.overrideSelector(trait.localSelectors[key], selectors?.[key]));
30
- }
31
- return trait;
32
- },
33
- },
34
- ];
35
- }
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1tb2NrLWxvY2FsLXRyYWl0cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10cmFpdHMvY29yZS90ZXN0aW5nL3NyYy9wcm92aWRlLW1vY2stbG9jYWwtdHJhaXRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCwyQkFBMkIsR0FDNUIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsUUFBUSxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUVoRDs7Ozs7S0FLSztBQUVMLE1BQU0sVUFBVSxzQkFBc0IsQ0FFcEMsRUFDQSxZQUFZLEVBQ1osU0FBUyxHQU1WO0lBQ0MsT0FBTztRQUNMLEVBQUUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7UUFDeEQ7WUFDRSxPQUFPLEVBQUUsYUFBYTtZQUN0QixRQUFRLEVBQUU7Z0JBQ1IsVUFBVSxFQUFFLEdBQUcsRUFBRTtvQkFDZixPQUFPO2dCQUNULENBQUM7YUFDRjtTQUNGO1FBQ0Q7WUFDRSxPQUFPLEVBQUUsWUFBWTtZQUNyQixJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDO1lBQzNCLFVBQVUsRUFBRSxDQUFDLFFBQWtCLEVBQUUsU0FBb0IsRUFBRSxFQUFFO2dCQUN2RCxNQUFNLEtBQUssR0FBRyxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDekMsSUFBSSxTQUFTLEVBQUUsQ0FBQztvQkFDZCxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FDNUIsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUNOLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQyxHQUFHLENBQUM7d0JBQzNCLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FDeEIsS0FBSyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFDekIsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQ2pCLENBQ0osQ0FBQztnQkFDSixDQUFDO2dCQUNELE9BQU8sS0FBSyxDQUFDO1lBQ2YsQ0FBQztTQUNGO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBFbnRpdHlGZWF0dXJlRmFjdG9yeSxcbiAgVHJhaXRzTG9jYWxTdG9yZSxcbiAgRElTQUJMRV9MT0NBTF9UUkFJVF9FRkZFQ1RTLFxufSBmcm9tICdAbmdyeC10cmFpdHMvY29yZSc7XG5pbXBvcnQgeyBJbmplY3RvciwgUHJvdmlkZXIsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVmZmVjdFNvdXJjZXMgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IE1vY2tTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlL3Rlc3RpbmcnO1xuXG4vKlxuICogTk9URTogcHJvdmlkZU1vY2tTdG9yZSh7aW5pdGlhbFN0YXRlfSkgaW5pdGlhbFN0YXRlIHdpbGwgYmUgaWdub3JlZCB3aXRoIGxvY2FsIHRyYWl0cyBzdG9yZSFcbiAqIE92ZXJyaWRlIHNlbGVjdG9ycyBpbnN0ZWFkXG4gKlxuICogWW91IHN0aWxsIG5lZWQgdG8gcHJvdmlkZU1vY2tTdG9yZSBhbmQgcHJvdmlkZU1vY2tBY3Rpb25zXG4gKiAqL1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZU1vY2tMb2NhbFRyYWl0czxcbiAgVCBleHRlbmRzIFRyYWl0c0xvY2FsU3RvcmU8RW50aXR5RmVhdHVyZUZhY3Rvcnk8YW55LCBhbnk+PlxuPih7XG4gIHRyYWl0RmFjdG9yeSxcbiAgc2VsZWN0b3JzLFxufToge1xuICB0cmFpdEZhY3Rvcnk6IFR5cGU8VD47XG4gIHNlbGVjdG9ycz86IHtcbiAgICBba2V5IGluIGtleW9mIFRbJ2xvY2FsU2VsZWN0b3JzJ11dPzogUmV0dXJuVHlwZTxUWydsb2NhbFNlbGVjdG9ycyddW2tleV0+O1xuICB9O1xufSk6IFByb3ZpZGVyW10ge1xuICByZXR1cm4gW1xuICAgIHsgcHJvdmlkZTogRElTQUJMRV9MT0NBTF9UUkFJVF9FRkZFQ1RTLCB1c2VWYWx1ZTogdHJ1ZSB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEVmZmVjdFNvdXJjZXMsXG4gICAgICB1c2VWYWx1ZToge1xuICAgICAgICBhZGRFZmZlY3RzOiAoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IHRyYWl0RmFjdG9yeSxcbiAgICAgIGRlcHM6IFtJbmplY3RvciwgTW9ja1N0b3JlXSxcbiAgICAgIHVzZUZhY3Rvcnk6IChpbmplY3RvcjogSW5qZWN0b3IsIG1vY2tTdG9yZTogTW9ja1N0b3JlKSA9PiB7XG4gICAgICAgIGNvbnN0IHRyYWl0ID0gbmV3IHRyYWl0RmFjdG9yeShpbmplY3Rvcik7XG4gICAgICAgIGlmIChzZWxlY3RvcnMpIHtcbiAgICAgICAgICBPYmplY3Qua2V5cyhzZWxlY3RvcnMpLmZvckVhY2goXG4gICAgICAgICAgICAoa2V5KSA9PlxuICAgICAgICAgICAgICB0cmFpdC5sb2NhbFNlbGVjdG9ycz8uW2tleV0gJiZcbiAgICAgICAgICAgICAgbW9ja1N0b3JlLm92ZXJyaWRlU2VsZWN0b3IoXG4gICAgICAgICAgICAgICAgdHJhaXQubG9jYWxTZWxlY3RvcnNba2V5XSxcbiAgICAgICAgICAgICAgICBzZWxlY3RvcnM/LltrZXldXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cmFpdDtcbiAgICAgIH0sXG4gICAgfSxcbiAgXTtcbn1cbiJdfQ==
@@ -1,30 +0,0 @@
1
- import { Injectable, inject } from '@angular/core';
2
- import { takeUntil } from 'rxjs/operators';
3
- import { Actions, ofType, } from '@ngrx/effects';
4
- import { Store } from '@ngrx/store';
5
- import * as i0 from "@angular/core";
6
- export class TraitEffect {
7
- constructor() {
8
- this.name = this.constructor.name;
9
- this.componentId = '';
10
- this.actions$ = inject(Actions);
11
- this.store = inject((Store));
12
- }
13
- ngrxOnIdentifyEffects() {
14
- return this.componentId ? this.name + this.componentId : '';
15
- }
16
- ngrxOnRunEffects(resolvedEffects$) {
17
- return this.componentId
18
- ? resolvedEffects$.pipe(takeUntil(this.actions$.pipe(ofType(getDestroyActionName(this.componentId)))))
19
- : resolvedEffects$;
20
- }
21
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: TraitEffect, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
22
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: TraitEffect }); }
23
- }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: TraitEffect, decorators: [{
25
- type: Injectable
26
- }] });
27
- export function getDestroyActionName(id) {
28
- return `[${id}] Destroyed`;
29
- }
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhaXQtZWZmZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb3JlL3NyYy9saWIvdHJhaXQtZWZmZWN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQ0wsT0FBTyxFQUNQLE1BQU0sR0FHUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUlwQyxNQUFNLE9BQU8sV0FBVztJQUR4QjtRQUVVLFNBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztRQUM5QixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNkLGFBQVEsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0IsVUFBSyxHQUFHLE1BQU0sQ0FBQyxDQUFBLEtBQVUsQ0FBQSxDQUFDLENBQUM7S0FldEM7SUFiQyxxQkFBcUI7UUFDbkIsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUM5RCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsZ0JBQWlDO1FBQ2hELE9BQU8sSUFBSSxDQUFDLFdBQVc7WUFDckIsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FDbkIsU0FBUyxDQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNuRSxDQUNGO1lBQ0gsQ0FBQyxDQUFDLGdCQUFnQixDQUFDO0lBQ3ZCLENBQUM7OEdBbEJVLFdBQVc7a0hBQVgsV0FBVzs7MkZBQVgsV0FBVztrQkFEdkIsVUFBVTs7QUFzQlgsTUFBTSxVQUFVLG9CQUFvQixDQUFDLEVBQVU7SUFDN0MsT0FBTyxJQUFJLEVBQUUsYUFBYSxDQUFDO0FBQzdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7XG4gIEFjdGlvbnMsXG4gIG9mVHlwZSxcbiAgT25JZGVudGlmeUVmZmVjdHMsXG4gIE9uUnVuRWZmZWN0cyxcbn0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRyYWl0RWZmZWN0IGltcGxlbWVudHMgT25JZGVudGlmeUVmZmVjdHMsIE9uUnVuRWZmZWN0cyB7XG4gIHByaXZhdGUgbmFtZSA9IHRoaXMuY29uc3RydWN0b3IubmFtZTtcbiAgcHVibGljIGNvbXBvbmVudElkID0gJyc7XG4gIHByb3RlY3RlZCBhY3Rpb25zJCA9IGluamVjdChBY3Rpb25zKTtcbiAgcHJvdGVjdGVkIHN0b3JlID0gaW5qZWN0KFN0b3JlPGFueT4pO1xuXG4gIG5ncnhPbklkZW50aWZ5RWZmZWN0cygpIHtcbiAgICByZXR1cm4gdGhpcy5jb21wb25lbnRJZCA/IHRoaXMubmFtZSArIHRoaXMuY29tcG9uZW50SWQgOiAnJztcbiAgfVxuXG4gIG5ncnhPblJ1bkVmZmVjdHMocmVzb2x2ZWRFZmZlY3RzJDogT2JzZXJ2YWJsZTxhbnk+KSB7XG4gICAgcmV0dXJuIHRoaXMuY29tcG9uZW50SWRcbiAgICAgID8gcmVzb2x2ZWRFZmZlY3RzJC5waXBlKFxuICAgICAgICAgIHRha2VVbnRpbChcbiAgICAgICAgICAgIHRoaXMuYWN0aW9ucyQucGlwZShvZlR5cGUoZ2V0RGVzdHJveUFjdGlvbk5hbWUodGhpcy5jb21wb25lbnRJZCkpKVxuICAgICAgICAgIClcbiAgICAgICAgKVxuICAgICAgOiByZXNvbHZlZEVmZmVjdHMkO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXREZXN0cm95QWN0aW9uTmFtZShpZDogc3RyaW5nKSB7XG4gIHJldHVybiBgWyR7aWR9XSBEZXN0cm95ZWRgO1xufVxuIl19
package/esm2022/util.mjs DELETED
@@ -1,70 +0,0 @@
1
- export function insertIf(condition, getElement) {
2
- return condition ? [getElement()] : [];
3
- }
4
- export function toMap(a) {
5
- return a.reduce((acum, value) => {
6
- acum[value] = true;
7
- return acum;
8
- }, {});
9
- }
10
- export function capitalize(name) {
11
- return name.charAt(0).toUpperCase() + name.slice(1);
12
- }
13
- export function camelCaseToSentence(text) {
14
- const result = text.replace(/([A-Z])/g, ' $1');
15
- return result.charAt(0).toUpperCase() + result.slice(1);
16
- }
17
- /**
18
- * Set propertyReducer in sourceReducer in a property of the source state,
19
- * @param sourceReducer
20
- * @param property
21
- * @param propertyReducer
22
- *
23
- * @example
24
- *
25
- * const newReducer = setPropertyReducer(productsReducer, 'selectedProduct', selectedProductReducer)
26
- */
27
- export function setPropertyReducer(sourceReducer, property, propertyReducer) {
28
- return function reducer(state, action) {
29
- const sourceState = sourceReducer(state, action);
30
- return {
31
- ...sourceState,
32
- [property]: propertyReducer(sourceState[property], action),
33
- };
34
- };
35
- }
36
- /**
37
- * Set propertyReducers in sourceReducer each in a property of the source state,
38
- * @param sourceReducer
39
- * @param property
40
- * @param propertyReducer
41
- *
42
- * @example
43
- *
44
- * const newReducer = setPropertyReducer(productsReducer,
45
- * {
46
- * selectedProduct: selectedProductReducer
47
- * favoriteProduct: favoriteProductReducer
48
- * })
49
- */
50
- export function setPropertiesReducer(sourceReducer, propertiesReducers) {
51
- return function reducer(state, action) {
52
- const newState = { ...sourceReducer(state, action) };
53
- for (const property in propertiesReducers) {
54
- newState[property] = propertiesReducers[property](newState[property], action);
55
- }
56
- return newState;
57
- };
58
- }
59
- /**
60
- * joins two reducers so the work in the same state
61
- * @param firstReducer
62
- * @param secondReducer
63
- */
64
- export function joinReducers(firstReducer, secondReducer) {
65
- return function reducer(state, action) {
66
- const sourceState = firstReducer(state, action);
67
- return secondReducer(sourceState, action);
68
- };
69
- }
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10cmFpdHMvY29yZS9zcmMvbGliL3V0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxVQUFVLFFBQVEsQ0FDdEIsU0FBYyxFQUNkLFVBQXNEO0lBRXRELE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztBQUN6QyxDQUFDO0FBQ0QsTUFBTSxVQUFVLEtBQUssQ0FBQyxDQUF5QjtJQUM3QyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFnQyxFQUFFLEtBQUssRUFBRSxFQUFFO1FBQzFELElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDbkIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFDVCxDQUFDO0FBRUQsTUFBTSxVQUFVLFVBQVUsQ0FBQyxJQUFZO0lBQ3JDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RELENBQUM7QUFFRCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsSUFBWTtJQUM5QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMvQyxPQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxRCxDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxhQUErRCxFQUMvRCxRQUFXLEVBQ1gsZUFBdUU7SUFFdkUsT0FBTyxTQUFTLE9BQU8sQ0FBQyxLQUFZLEVBQUUsTUFBdUI7UUFDM0QsTUFBTSxXQUFXLEdBQUcsYUFBYSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNqRCxPQUFPO1lBQ0wsR0FBRyxXQUFXO1lBQ2QsQ0FBQyxRQUFRLENBQUMsRUFBRSxlQUFlLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU0sQ0FBQztTQUMzRCxDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQ2xDLGFBQStELEVBQy9ELGtCQUVDO0lBRUQsT0FBTyxTQUFTLE9BQU8sQ0FBQyxLQUFZLEVBQUUsTUFBdUI7UUFDM0QsTUFBTSxRQUFRLEdBQUcsRUFBRSxHQUFHLGFBQWEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNyRCxLQUFLLE1BQU0sUUFBUSxJQUFJLGtCQUFrQixFQUFFLENBQUM7WUFDMUMsUUFBUSxDQUFDLFFBQWEsQ0FBQyxHQUFHLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUNwRCxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQ2xCLE1BQU0sQ0FDUCxDQUFDO1FBQ0osQ0FBQztRQUNELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FDMUIsWUFBOEQsRUFDOUQsYUFBMkQ7SUFFM0QsT0FBTyxTQUFTLE9BQU8sQ0FBQyxLQUFZLEVBQUUsTUFBdUI7UUFDM0QsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNoRCxPQUFPLGFBQWEsQ0FBQyxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDNUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlZHVjZXJUeXBlcyB9IGZyb20gJ0BuZ3J4L3N0b3JlL3NyYy9yZWR1Y2VyX2NyZWF0b3InO1xuaW1wb3J0IHsgQWN0aW9uQ3JlYXRvciB9IGZyb20gJ0BuZ3J4L3N0b3JlL3NyYy9tb2RlbHMnO1xuaW1wb3J0IHsgQWN0aW9uVHlwZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcblxuZXhwb3J0IGZ1bmN0aW9uIGluc2VydElmPFN0YXRlPihcbiAgY29uZGl0aW9uOiBhbnksXG4gIGdldEVsZW1lbnQ6ICgpID0+IFJlZHVjZXJUeXBlczxTdGF0ZSwgQWN0aW9uQ3JlYXRvcltdPlxuKTogUmVkdWNlclR5cGVzPFN0YXRlLCBBY3Rpb25DcmVhdG9yW10+W10ge1xuICByZXR1cm4gY29uZGl0aW9uID8gW2dldEVsZW1lbnQoKV0gOiBbXTtcbn1cbmV4cG9ydCBmdW5jdGlvbiB0b01hcChhOiBBcnJheTxzdHJpbmcgfCBudW1iZXI+KSB7XG4gIHJldHVybiBhLnJlZHVjZSgoYWN1bTogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0sIHZhbHVlKSA9PiB7XG4gICAgYWN1bVt2YWx1ZV0gPSB0cnVlO1xuICAgIHJldHVybiBhY3VtO1xuICB9LCB7fSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYXBpdGFsaXplKG5hbWU6IHN0cmluZykge1xuICByZXR1cm4gbmFtZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIG5hbWUuc2xpY2UoMSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYW1lbENhc2VUb1NlbnRlbmNlKHRleHQ6IHN0cmluZykge1xuICBjb25zdCByZXN1bHQgPSB0ZXh0LnJlcGxhY2UoLyhbQS1aXSkvZywgJyAkMScpO1xuICByZXR1cm4gcmVzdWx0LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgcmVzdWx0LnNsaWNlKDEpO1xufVxuXG4vKipcbiAqIFNldCBwcm9wZXJ0eVJlZHVjZXIgaW4gc291cmNlUmVkdWNlciBpbiBhIHByb3BlcnR5IG9mIHRoZSBzb3VyY2Ugc3RhdGUsXG4gKiBAcGFyYW0gc291cmNlUmVkdWNlclxuICogQHBhcmFtIHByb3BlcnR5XG4gKiBAcGFyYW0gcHJvcGVydHlSZWR1Y2VyXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiBjb25zdCBuZXdSZWR1Y2VyID0gc2V0UHJvcGVydHlSZWR1Y2VyKHByb2R1Y3RzUmVkdWNlciwgJ3NlbGVjdGVkUHJvZHVjdCcsIHNlbGVjdGVkUHJvZHVjdFJlZHVjZXIpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRQcm9wZXJ0eVJlZHVjZXI8U3RhdGUsIFAgZXh0ZW5kcyBrZXlvZiBTdGF0ZT4oXG4gIHNvdXJjZVJlZHVjZXI6IChzdGF0ZTogU3RhdGUsIGFjdGlvbjogQWN0aW9uVHlwZTxhbnk+KSA9PiBTdGF0ZSxcbiAgcHJvcGVydHk6IFAsXG4gIHByb3BlcnR5UmVkdWNlcjogKHN0YXRlOiBTdGF0ZVtQXSwgYWN0aW9uOiBBY3Rpb25UeXBlPGFueT4pID0+IFN0YXRlW1BdXG4pOiAoc3RhdGU6IFN0YXRlLCBhY3Rpb246IEFjdGlvblR5cGU8YW55PikgPT4gU3RhdGUge1xuICByZXR1cm4gZnVuY3Rpb24gcmVkdWNlcihzdGF0ZTogU3RhdGUsIGFjdGlvbjogQWN0aW9uVHlwZTxhbnk+KTogU3RhdGUge1xuICAgIGNvbnN0IHNvdXJjZVN0YXRlID0gc291cmNlUmVkdWNlcihzdGF0ZSwgYWN0aW9uKTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc291cmNlU3RhdGUsXG4gICAgICBbcHJvcGVydHldOiBwcm9wZXJ0eVJlZHVjZXIoc291cmNlU3RhdGVbcHJvcGVydHldLCBhY3Rpb24pLFxuICAgIH07XG4gIH07XG59XG5cbi8qKlxuICogU2V0IHByb3BlcnR5UmVkdWNlcnMgaW4gc291cmNlUmVkdWNlciBlYWNoIGluIGEgcHJvcGVydHkgb2YgdGhlIHNvdXJjZSBzdGF0ZSxcbiAqIEBwYXJhbSBzb3VyY2VSZWR1Y2VyXG4gKiBAcGFyYW0gcHJvcGVydHlcbiAqIEBwYXJhbSBwcm9wZXJ0eVJlZHVjZXJcbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIGNvbnN0IG5ld1JlZHVjZXIgPSBzZXRQcm9wZXJ0eVJlZHVjZXIocHJvZHVjdHNSZWR1Y2VyLFxuICoge1xuICogICAgc2VsZWN0ZWRQcm9kdWN0OiBzZWxlY3RlZFByb2R1Y3RSZWR1Y2VyXG4gKiAgICBmYXZvcml0ZVByb2R1Y3Q6IGZhdm9yaXRlUHJvZHVjdFJlZHVjZXJcbiAqIH0pXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRQcm9wZXJ0aWVzUmVkdWNlcjxTdGF0ZSwgUCBleHRlbmRzIGtleW9mIFN0YXRlPihcbiAgc291cmNlUmVkdWNlcjogKHN0YXRlOiBTdGF0ZSwgYWN0aW9uOiBBY3Rpb25UeXBlPGFueT4pID0+IFN0YXRlLFxuICBwcm9wZXJ0aWVzUmVkdWNlcnM6IHtcbiAgICBba2V5IGluIFBdOiAoc3RhdGU6IFN0YXRlW1BdLCBhY3Rpb246IEFjdGlvblR5cGU8YW55PikgPT4gU3RhdGVbUF07XG4gIH1cbik6IChzdGF0ZTogU3RhdGUsIGFjdGlvbjogQWN0aW9uVHlwZTxhbnk+KSA9PiBTdGF0ZSB7XG4gIHJldHVybiBmdW5jdGlvbiByZWR1Y2VyKHN0YXRlOiBTdGF0ZSwgYWN0aW9uOiBBY3Rpb25UeXBlPGFueT4pOiBTdGF0ZSB7XG4gICAgY29uc3QgbmV3U3RhdGUgPSB7IC4uLnNvdXJjZVJlZHVjZXIoc3RhdGUsIGFjdGlvbikgfTtcbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIHByb3BlcnRpZXNSZWR1Y2Vycykge1xuICAgICAgbmV3U3RhdGVbcHJvcGVydHkgYXMgUF0gPSBwcm9wZXJ0aWVzUmVkdWNlcnNbcHJvcGVydHldKFxuICAgICAgICBuZXdTdGF0ZVtwcm9wZXJ0eV0sXG4gICAgICAgIGFjdGlvblxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ld1N0YXRlO1xuICB9O1xufVxuXG4vKipcbiAqIGpvaW5zIHR3byByZWR1Y2VycyBzbyB0aGUgd29yayBpbiB0aGUgc2FtZSBzdGF0ZVxuICogQHBhcmFtIGZpcnN0UmVkdWNlclxuICogQHBhcmFtIHNlY29uZFJlZHVjZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGpvaW5SZWR1Y2VyczxTdGF0ZT4oXG4gIGZpcnN0UmVkdWNlcjogKHN0YXRlOiBTdGF0ZSwgYWN0aW9uOiBBY3Rpb25UeXBlPGFueT4pID0+IFN0YXRlLFxuICBzZWNvbmRSZWR1Y2VyOiAoc3RhdGU6IGFueSwgYWN0aW9uOiBBY3Rpb25UeXBlPGFueT4pID0+IGFueVxuKTogKHN0YXRlOiBTdGF0ZSwgYWN0aW9uOiBBY3Rpb25UeXBlPGFueT4pID0+IFN0YXRlIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIHJlZHVjZXIoc3RhdGU6IFN0YXRlLCBhY3Rpb246IEFjdGlvblR5cGU8YW55Pik6IFN0YXRlIHtcbiAgICBjb25zdCBzb3VyY2VTdGF0ZSA9IGZpcnN0UmVkdWNlcihzdGF0ZSwgYWN0aW9uKTtcbiAgICByZXR1cm4gc2Vjb25kUmVkdWNlcihzb3VyY2VTdGF0ZSwgYWN0aW9uKTtcbiAgfTtcbn1cbiJdfQ==