@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.
- package/cache/cache.actions.d.ts +4 -4
- package/fesm2022/ngrx-traits-core-testing.mjs.map +1 -1
- package/fesm2022/ngrx-traits-core.mjs +10 -10
- package/fesm2022/ngrx-traits-core.mjs.map +1 -1
- package/package.json +5 -9
- package/esm2022/cache/cache.actions.mjs +0 -6
- package/esm2022/cache/cache.models.mjs +0 -30
- package/esm2022/cache/cache.module.mjs +0 -18
- package/esm2022/cache/cache.reducer.mjs +0 -138
- package/esm2022/cache/cache.selectors.mjs +0 -5
- package/esm2022/cache/cache.service.mjs +0 -72
- package/esm2022/cache/index.mjs +0 -7
- package/esm2022/create-entity-feature.mjs +0 -428
- package/esm2022/index.mjs +0 -7
- package/esm2022/local-store/disable-local-trait-effects.token.mjs +0 -7
- package/esm2022/local-store/index.mjs +0 -3
- package/esm2022/local-store/traits-local-store.mjs +0 -147
- package/esm2022/model.mjs +0 -2
- package/esm2022/ngrx-traits-core.mjs +0 -5
- package/esm2022/testing/index.mjs +0 -2
- package/esm2022/testing/ngrx-traits-core-testing.mjs +0 -5
- package/esm2022/testing/provide-mock-local-traits.mjs +0 -36
- package/esm2022/trait-effect.mjs +0 -30
- package/esm2022/util.mjs +0 -70
|
@@ -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==
|
package/esm2022/trait-effect.mjs
DELETED
|
@@ -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==
|