@dereekb/dbx-core 2.1.0 → 4.0.1
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/esm2020/lib/action/action.handler.mjs +3 -125
- package/esm2020/lib/action/action.machine.mjs +8 -7
- package/esm2020/lib/action/action.module.mjs +10 -10
- package/esm2020/lib/action/action.store.mjs +3 -3
- package/esm2020/lib/action/action.store.source.mjs +3 -3
- package/esm2020/lib/action/directive/auto/action.automodify.directive.mjs +4 -4
- package/esm2020/lib/action/directive/auto/action.autotrigger.directive.mjs +7 -6
- package/esm2020/lib/action/directive/context/action.directive.mjs +3 -3
- package/esm2020/lib/action/directive/context/action.source.directive.mjs +3 -3
- package/esm2020/lib/action/directive/debug/action.logger.directive.mjs +3 -3
- package/esm2020/lib/action/directive/map/action.map.directive.mjs +3 -3
- package/esm2020/lib/action/directive/map/action.map.key.directive.mjs +3 -3
- package/esm2020/lib/action/directive/map/action.map.source.directive.mjs +3 -3
- package/esm2020/lib/action/directive/map/action.map.working.disable.directive.mjs +3 -3
- package/esm2020/lib/action/directive/state/action.disabled.directive.mjs +5 -6
- package/esm2020/lib/action/directive/state/action.enforce.modified.directive.mjs +6 -6
- package/esm2020/lib/action/directive/state/action.handler.directive.mjs +10 -9
- package/esm2020/lib/action/directive/state/action.success.directive.mjs +23 -35
- package/esm2020/lib/action/directive/state/action.success.handler.directive.mjs +48 -0
- package/esm2020/lib/action/directive/state/action.value.directive.mjs +8 -8
- package/esm2020/lib/action/directive/state/action.value.stream.directive.mjs +3 -3
- package/esm2020/lib/action/directive/state/action.value.trigger.directive.mjs +6 -6
- package/esm2020/lib/action/directive/state/action.value.trigger.instance.mjs +2 -1
- package/esm2020/lib/action/directive/state/action.working.component.mjs +28 -22
- package/esm2020/lib/action/directive/state/index.mjs +2 -2
- package/esm2020/lib/auth/auth.module.mjs +26 -0
- package/esm2020/lib/auth/auth.role.any.directive.mjs +36 -0
- package/esm2020/lib/auth/auth.role.has.directive.mjs +36 -0
- package/esm2020/lib/auth/auth.state.module.mjs +28 -0
- package/esm2020/lib/auth/auth.state.service.mjs +23 -0
- package/esm2020/lib/auth/auth.user.mjs +11 -0
- package/esm2020/lib/auth/index.mjs +10 -0
- package/esm2020/lib/auth/router/auth.router.mjs +6 -0
- package/esm2020/lib/auth/router/auth.router.module.mjs +26 -0
- package/esm2020/lib/auth/router/auth.router.service.mjs +61 -0
- package/esm2020/lib/auth/router/index.mjs +6 -0
- package/esm2020/lib/auth/router/provider/uirouter/auth.hook.mjs +23 -0
- package/esm2020/lib/auth/router/provider/uirouter/hook.mjs +65 -0
- package/esm2020/lib/auth/router/provider/uirouter/index.mjs +6 -0
- package/esm2020/lib/auth/router/provider/uirouter/redirect.mjs +29 -0
- package/esm2020/lib/auth/router/provider/uirouter/role.hook.mjs +32 -0
- package/esm2020/lib/auth/router/provider/uirouter/state.hook.mjs +53 -0
- package/esm2020/lib/auth/router/state/auth.router.state.module.mjs +32 -0
- package/esm2020/lib/auth/router/state/effect/auth.router.state.effect.mjs +46 -0
- package/esm2020/lib/auth/router/state/effect/index.mjs +2 -0
- package/esm2020/lib/auth/router/state/index.mjs +3 -0
- package/esm2020/lib/auth/service/auth.service.mjs +6 -0
- package/esm2020/lib/auth/service/auth.service.rxjs.mjs +27 -0
- package/esm2020/lib/auth/service/index.mjs +3 -0
- package/esm2020/lib/auth/state/action/auth.action.mjs +14 -0
- package/esm2020/lib/auth/state/action/index.mjs +12 -0
- package/esm2020/lib/auth/state/action/user.action.mjs +18 -0
- package/esm2020/lib/auth/state/effect/auth.effect.mjs +44 -0
- package/esm2020/lib/auth/state/index.mjs +13 -0
- package/esm2020/lib/auth/state/reducer/index.mjs +23 -0
- package/esm2020/lib/auth/state/reducer/user.reducer.mjs +12 -0
- package/esm2020/lib/auth/state/state.mjs +2 -0
- package/esm2020/lib/button/action/action.button.directive.mjs +3 -3
- package/esm2020/lib/button/action/action.button.trigger.directive.mjs +3 -3
- package/esm2020/lib/button/button.directive.mjs +6 -6
- package/esm2020/lib/button/button.loading.directive.mjs +3 -3
- package/esm2020/lib/button/button.mjs +1 -1
- package/esm2020/lib/button/button.module.mjs +4 -4
- package/esm2020/lib/button/router/button.segue.directive.mjs +8 -4
- package/esm2020/lib/context/context.directive.mjs +41 -0
- package/esm2020/lib/context/context.mjs +22 -0
- package/esm2020/lib/context/context.module.mjs +28 -0
- package/esm2020/lib/context/context.service.mjs +29 -0
- package/esm2020/lib/context/index.mjs +6 -0
- package/esm2020/lib/context/state/action/data.action.mjs +10 -0
- package/esm2020/lib/context/state/action/index.mjs +7 -0
- package/esm2020/lib/context/state/effect/index.mjs +38 -0
- package/esm2020/lib/context/state/index.mjs +13 -0
- package/esm2020/lib/context/state/reducer/data.reducer.mjs +16 -0
- package/esm2020/lib/context/state/reducer/index.mjs +25 -0
- package/esm2020/lib/context/state/state.mjs +2 -0
- package/esm2020/lib/filter/action/action.filter.source.directive.mjs +3 -3
- package/esm2020/lib/filter/filter.abstract.connector.directive.mjs +3 -3
- package/esm2020/lib/filter/filter.abstract.source.directive.mjs +4 -4
- package/esm2020/lib/filter/filter.connector.directive.mjs +3 -3
- package/esm2020/lib/filter/filter.map.connector.directive.mjs +3 -3
- package/esm2020/lib/filter/filter.map.directive.mjs +3 -3
- package/esm2020/lib/filter/filter.map.instance.directive.mjs +3 -3
- package/esm2020/lib/filter/filter.map.source.directive.mjs +3 -3
- package/esm2020/lib/filter/filter.module.mjs +4 -4
- package/esm2020/lib/filter/filter.source.directive.mjs +3 -3
- package/esm2020/lib/index.mjs +6 -2
- package/esm2020/lib/injection/index.mjs +9 -0
- package/esm2020/lib/injection/injection.component.mjs +34 -0
- package/esm2020/lib/injection/injection.component.module.mjs +31 -0
- package/esm2020/lib/injection/injection.context.directive.mjs +124 -0
- package/esm2020/lib/injection/injection.context.forward.directive.mjs +30 -0
- package/esm2020/lib/injection/injection.context.mjs +18 -0
- package/esm2020/lib/injection/injection.directive.mjs +33 -0
- package/esm2020/lib/injection/injection.instance.mjs +116 -0
- package/esm2020/lib/injection/injection.mjs +16 -0
- package/esm2020/lib/ngrx/index.mjs +2 -0
- package/esm2020/lib/ngrx/store.lockset.mjs +64 -0
- package/esm2020/lib/pipe/date/date.pipe.module.mjs +4 -4
- package/esm2020/lib/pipe/date/datedistance.pipe.mjs +3 -3
- package/esm2020/lib/pipe/date/dateformatdistance.pipe.mjs +3 -3
- package/esm2020/lib/pipe/date/datefromtoformat.pipe.mjs +3 -3
- package/esm2020/lib/pipe/date/minutesstring.pipe.mjs +3 -3
- package/esm2020/lib/pipe/date/timedistance.pipe.mjs +6 -6
- package/esm2020/lib/pipe/date/tojsdate.pipe.mjs +13 -5
- package/esm2020/lib/pipe/date/tominutes.pipe.mjs +3 -3
- package/esm2020/lib/pipe/index.mjs +3 -1
- package/esm2020/lib/pipe/misc/index.mjs +3 -0
- package/esm2020/lib/pipe/misc/misc.pipe.module.mjs +20 -0
- package/esm2020/lib/pipe/misc/prettyjson.pipe.mjs +27 -0
- package/esm2020/lib/pipe/pipe.module.mjs +21 -0
- package/esm2020/lib/router/anchor/anchor.directive.mjs +18 -5
- package/esm2020/lib/router/anchor/anchor.mjs +1 -1
- package/esm2020/lib/router/router/provider/angular/angular.router.service.mjs +8 -5
- package/esm2020/lib/router/router/provider/angular/angular.router.service.module.mjs +4 -4
- package/esm2020/lib/router/router/provider/uirouter/uirouter.router.service.mjs +32 -10
- package/esm2020/lib/router/router/provider/uirouter/uirouter.router.service.module.mjs +4 -4
- package/esm2020/lib/router/router/service/index.mjs +2 -1
- package/esm2020/lib/router/router/service/router.go.mjs +14 -0
- package/esm2020/lib/router/router/service/router.service.mjs +1 -1
- package/esm2020/lib/router/router/transition/transition.directive.mjs +7 -7
- package/esm2020/lib/router/router/transition/transition.watcher.directive.mjs +6 -6
- package/esm2020/lib/router/segue.mjs +17 -2
- package/esm2020/lib/storage/storage.accessor.simple.factory.mjs +3 -3
- package/esm2020/lib/storage/storage.module.mjs +4 -4
- package/esm2020/lib/subscription/subscription.directive.mjs +6 -6
- package/esm2020/lib/util/view.mjs +18 -2
- package/esm2020/lib/view/if.directive.mjs +30 -0
- package/esm2020/lib/view/index.mjs +2 -0
- package/fesm2015/dereekb-dbx-core.mjs +1672 -575
- package/fesm2015/dereekb-dbx-core.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-core.mjs +1682 -585
- package/fesm2020/dereekb-dbx-core.mjs.map +1 -1
- package/lib/action/action.handler.d.ts +4 -72
- package/lib/action/action.module.d.ts +3 -3
- package/lib/action/directive/auto/action.automodify.directive.d.ts +1 -1
- package/lib/action/directive/auto/action.autotrigger.directive.d.ts +3 -3
- package/lib/action/directive/state/action.disabled.directive.d.ts +1 -1
- package/lib/action/directive/state/action.enforce.modified.directive.d.ts +3 -2
- package/lib/action/directive/state/action.success.directive.d.ts +9 -17
- package/lib/action/directive/state/action.success.handler.directive.d.ts +24 -0
- package/lib/action/directive/state/action.value.directive.d.ts +5 -5
- package/lib/action/directive/state/action.value.trigger.instance.d.ts +2 -2
- package/lib/action/directive/state/action.working.component.d.ts +11 -5
- package/lib/action/directive/state/index.d.ts +1 -1
- package/lib/auth/auth.module.d.ts +8 -0
- package/lib/auth/auth.role.any.directive.d.ts +20 -0
- package/lib/auth/auth.role.has.directive.d.ts +20 -0
- package/lib/auth/auth.state.module.d.ts +8 -0
- package/lib/auth/auth.state.service.d.ts +13 -0
- package/lib/auth/auth.user.d.ts +28 -0
- package/lib/auth/index.d.ts +9 -0
- package/lib/auth/router/auth.router.d.ts +10 -0
- package/lib/auth/router/auth.router.module.d.ts +9 -0
- package/lib/auth/router/auth.router.service.d.ts +38 -0
- package/lib/auth/router/index.d.ts +5 -0
- package/lib/auth/router/provider/uirouter/auth.hook.d.ts +18 -0
- package/lib/auth/router/provider/uirouter/hook.d.ts +46 -0
- package/lib/auth/router/provider/uirouter/index.d.ts +5 -0
- package/lib/auth/router/provider/uirouter/redirect.d.ts +9 -0
- package/lib/auth/router/provider/uirouter/role.hook.d.ts +26 -0
- package/lib/auth/router/provider/uirouter/state.hook.d.ts +31 -0
- package/lib/auth/router/state/auth.router.state.module.d.ts +14 -0
- package/lib/auth/router/state/effect/auth.router.state.effect.d.ts +32 -0
- package/lib/auth/router/state/effect/index.d.ts +1 -0
- package/lib/auth/router/state/index.d.ts +2 -0
- package/lib/auth/service/auth.service.d.ts +46 -0
- package/lib/auth/service/auth.service.rxjs.d.ts +18 -0
- package/lib/auth/service/index.d.ts +2 -0
- package/lib/auth/state/action/auth.action.d.ts +12 -0
- package/lib/auth/state/action/index.d.ts +11 -0
- package/lib/auth/state/action/user.action.d.ts +34 -0
- package/lib/auth/state/effect/auth.effect.d.ts +31 -0
- package/lib/auth/state/index.d.ts +12 -0
- package/lib/auth/state/reducer/index.d.ts +29 -0
- package/lib/auth/state/reducer/user.reducer.d.ts +11 -0
- package/lib/auth/state/state.d.ts +5 -0
- package/lib/button/button.d.ts +3 -3
- package/lib/button/router/button.segue.directive.d.ts +1 -0
- package/lib/context/context.d.ts +39 -0
- package/lib/context/context.directive.d.ts +19 -0
- package/lib/context/context.module.d.ts +8 -0
- package/lib/context/context.service.d.ts +16 -0
- package/lib/context/index.d.ts +5 -0
- package/lib/context/state/action/data.action.d.ts +13 -0
- package/lib/context/state/action/index.d.ts +6 -0
- package/lib/context/state/effect/index.d.ts +39 -0
- package/lib/context/state/index.d.ts +12 -0
- package/lib/context/state/reducer/data.reducer.d.ts +13 -0
- package/lib/context/state/reducer/index.d.ts +34 -0
- package/lib/context/state/state.d.ts +9 -0
- package/lib/filter/filter.abstract.source.directive.d.ts +2 -2
- package/lib/index.d.ts +5 -1
- package/lib/injection/index.d.ts +8 -0
- package/lib/injection/injection.component.d.ts +15 -0
- package/lib/injection/injection.component.module.d.ts +9 -0
- package/lib/injection/injection.context.d.ts +39 -0
- package/lib/injection/injection.context.directive.d.ts +25 -0
- package/lib/injection/injection.context.forward.directive.d.ts +16 -0
- package/lib/{injected/injected.d.ts → injection/injection.d.ts} +4 -4
- package/lib/injection/injection.directive.d.ts +19 -0
- package/lib/{injected/injected.instance.d.ts → injection/injection.instance.d.ts} +8 -8
- package/lib/ngrx/index.d.ts +1 -0
- package/lib/ngrx/store.lockset.d.ts +36 -0
- package/lib/pipe/index.d.ts +2 -0
- package/lib/pipe/misc/index.d.ts +2 -0
- package/lib/pipe/misc/misc.pipe.module.d.ts +7 -0
- package/lib/pipe/misc/prettyjson.pipe.d.ts +9 -0
- package/lib/pipe/pipe.module.d.ts +8 -0
- package/lib/router/anchor/anchor.d.ts +5 -1
- package/lib/router/anchor/anchor.directive.d.ts +10 -2
- package/lib/router/router/provider/angular/angular.router.service.d.ts +7 -5
- package/lib/router/router/provider/uirouter/uirouter.router.service.d.ts +11 -5
- package/lib/router/router/service/index.d.ts +1 -0
- package/lib/router/router/service/router.go.d.ts +14 -0
- package/lib/router/router/service/router.service.d.ts +10 -4
- package/lib/router/router/transition/transition.directive.d.ts +2 -2
- package/lib/router/router/transition/transition.watcher.directive.d.ts +1 -1
- package/lib/router/segue.d.ts +10 -3
- package/lib/util/view.d.ts +12 -0
- package/lib/view/if.directive.d.ts +19 -0
- package/lib/view/index.d.ts +1 -0
- package/package.json +6 -13
- package/esm2020/lib/action/directive/state/action.success.component.mjs +0 -50
- package/esm2020/lib/injected/index.mjs +0 -6
- package/esm2020/lib/injected/injected.component.mjs +0 -34
- package/esm2020/lib/injected/injected.component.module.mjs +0 -26
- package/esm2020/lib/injected/injected.directive.mjs +0 -33
- package/esm2020/lib/injected/injected.instance.mjs +0 -116
- package/esm2020/lib/injected/injected.mjs +0 -16
- package/lib/action/directive/state/action.success.component.d.ts +0 -15
- package/lib/injected/index.d.ts +0 -5
- package/lib/injected/injected.component.d.ts +0 -15
- package/lib/injected/injected.component.module.d.ts +0 -8
- package/lib/injected/injected.directive.d.ts +0 -19
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import { BehaviorSubject, isObservable, of } from 'rxjs';
|
|
2
|
-
import { first } from 'rxjs/operators';
|
|
3
1
|
/**
|
|
4
|
-
*
|
|
2
|
+
* WorkInstanceDelegate implementation using an DbxActionContextStoreSourceInstance.
|
|
5
3
|
*/
|
|
6
|
-
export class
|
|
4
|
+
export class DbxActionWorkInstanceDelegate {
|
|
7
5
|
constructor(source) {
|
|
8
6
|
this.source = source;
|
|
9
7
|
}
|
|
@@ -17,124 +15,4 @@ export class WorkHandlerContextSourceDelegate {
|
|
|
17
15
|
this.source.reject(error);
|
|
18
16
|
}
|
|
19
17
|
}
|
|
20
|
-
|
|
21
|
-
* Used by DbxActionHandlerDirective when handling a function.
|
|
22
|
-
*/
|
|
23
|
-
export class WorkHandlerContext {
|
|
24
|
-
constructor(value, delegate) {
|
|
25
|
-
this.value = value;
|
|
26
|
-
this.delegate = delegate;
|
|
27
|
-
this._done = false;
|
|
28
|
-
this._doneActionBegan = false;
|
|
29
|
-
this._actionBegan = new BehaviorSubject(false);
|
|
30
|
-
this._isComplete = new BehaviorSubject(false);
|
|
31
|
-
// Schedule to cleanup self once isComplete is true.
|
|
32
|
-
this._isComplete.subscribe((done) => {
|
|
33
|
-
if (done) {
|
|
34
|
-
this.destroy();
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
get actionBegan() {
|
|
39
|
-
return this._doneActionBegan ?? this._actionBegan.value;
|
|
40
|
-
}
|
|
41
|
-
get actionBegan$() {
|
|
42
|
-
return this._done ? of(this._doneActionBegan) : this._actionBegan.asObservable();
|
|
43
|
-
}
|
|
44
|
-
get isComplete() {
|
|
45
|
-
return this._done || this._isComplete.value;
|
|
46
|
-
}
|
|
47
|
-
get isComplete$() {
|
|
48
|
-
return this._done ? of(true) : this._isComplete.asObservable();
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Begins working using an observable.
|
|
52
|
-
*/
|
|
53
|
-
startWorkingWithObservable(actionObs) {
|
|
54
|
-
this.startWorking();
|
|
55
|
-
actionObs.pipe(first()).subscribe((actionResult) => {
|
|
56
|
-
this.success(actionResult);
|
|
57
|
-
}, (error) => {
|
|
58
|
-
const message = error.message ?? error.code ?? undefined;
|
|
59
|
-
this.reject((message) ? ({ message }) : undefined);
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Notifies the system that the action has begun.
|
|
64
|
-
*/
|
|
65
|
-
startWorking() {
|
|
66
|
-
this._setWorking();
|
|
67
|
-
this.delegate.startWorking();
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Sets success on the action.
|
|
71
|
-
*/
|
|
72
|
-
success(result) {
|
|
73
|
-
this._setComplete();
|
|
74
|
-
this.delegate.success(result);
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Sets rejected on the action.
|
|
78
|
-
*/
|
|
79
|
-
reject(error) {
|
|
80
|
-
this._setComplete();
|
|
81
|
-
this.delegate.reject(error);
|
|
82
|
-
}
|
|
83
|
-
destroy() {
|
|
84
|
-
this._doneActionBegan = this.actionBegan;
|
|
85
|
-
this._done = true;
|
|
86
|
-
// Delay to prevent error.
|
|
87
|
-
setTimeout(() => {
|
|
88
|
-
this._actionBegan.complete();
|
|
89
|
-
this._isComplete.complete();
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
_setWorking() {
|
|
93
|
-
if (this.actionBegan) {
|
|
94
|
-
throw new Error('Action already has been triggered for this context.');
|
|
95
|
-
}
|
|
96
|
-
this._actionBegan.next(true);
|
|
97
|
-
}
|
|
98
|
-
_setComplete() {
|
|
99
|
-
if (this.isComplete) {
|
|
100
|
-
throw new Error('Action has already been marked as completed.');
|
|
101
|
-
}
|
|
102
|
-
this._isComplete.next(true);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Creates a function that uses a provider to always handle new values.
|
|
107
|
-
*/
|
|
108
|
-
export function handleWorkValueReadyWithConfigFn(providerFn) {
|
|
109
|
-
return (value) => {
|
|
110
|
-
const config = providerFn(value);
|
|
111
|
-
return handleWorkValueReadyFn(config)(value);
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Creates a function that handles the incoming value and creates a WorkHandlerContext.
|
|
116
|
-
*/
|
|
117
|
-
export function handleWorkValueReadyFn({ handlerFunction, delegate }) {
|
|
118
|
-
return (value) => {
|
|
119
|
-
const handler = new WorkHandlerContext(value, delegate);
|
|
120
|
-
let fnResult;
|
|
121
|
-
try {
|
|
122
|
-
fnResult = handlerFunction(value, handler);
|
|
123
|
-
}
|
|
124
|
-
catch (e) {
|
|
125
|
-
console.error('Action encountered an unexpected error.', e);
|
|
126
|
-
handler.reject(e);
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
if (!handler.isComplete) {
|
|
130
|
-
if (fnResult && isObservable(fnResult)) {
|
|
131
|
-
if (handler.actionBegan) {
|
|
132
|
-
throw new Error('Action already marked as begun from handlerFunction result. Either return an observable or use the handler directly.');
|
|
133
|
-
}
|
|
134
|
-
handler.startWorkingWithObservable(fnResult);
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
return handler;
|
|
138
|
-
};
|
|
139
|
-
}
|
|
140
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2FjdGlvbi9hY3Rpb24uaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBVXZDOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGdDQUFnQztJQUUzQyxZQUFxQixNQUFpRDtRQUFqRCxXQUFNLEdBQU4sTUFBTSxDQUEyQztJQUFJLENBQUM7SUFFM0UsWUFBWTtRQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUFTO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFVO1FBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztDQUVGO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBUTdCLFlBQTRCLEtBQVEsRUFBVyxRQUF1QztRQUExRCxVQUFLLEdBQUwsS0FBSyxDQUFHO1FBQVcsYUFBUSxHQUFSLFFBQVEsQ0FBK0I7UUFOOUUsVUFBSyxHQUFHLEtBQUssQ0FBQztRQUNkLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUV6QixpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ25ELGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFHeEQsb0RBQW9EO1FBQ3BELElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsSUFB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LENBQUM7SUFDakIsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgaXNPYnNlcnZhYmxlLCBPYnNlcnZhYmxlLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBEYnhBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZSB9IGZyb20gJy4vYWN0aW9uLnN0b3JlLnNvdXJjZSc7XG5pbXBvcnQgeyBNYXliZSwgRGVzdHJveWFibGUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcblxuZXhwb3J0IGludGVyZmFjZSBXb3JrSGFuZGxlckNvbnRleHREZWxlZ2F0ZTxPID0gYW55PiB7XG4gIHN0YXJ0V29ya2luZygpOiB2b2lkO1xuICBzdWNjZXNzKHJlc3VsdD86IE1heWJlPE8+KTogdm9pZDtcbiAgcmVqZWN0KGVycm9yPzogTWF5YmU8YW55Pik6IHZvaWQ7XG59XG5cbi8qKlxuICogV29ya0hhbmRsZXJDb250ZXh0RGVsZWdhdGUgaW1wbGVtZW50YXRpb24gdXNpbmcgYW4gRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBXb3JrSGFuZGxlckNvbnRleHRTb3VyY2VEZWxlZ2F0ZTxUID0gYW55LCBPID0gYW55PiBpbXBsZW1lbnRzIFdvcmtIYW5kbGVyQ29udGV4dERlbGVnYXRlPE8+IHtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBzb3VyY2U6IERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlPFQsIE8+KSB7IH1cblxuICBzdGFydFdvcmtpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zb3VyY2Uuc3RhcnRXb3JraW5nKCk7XG4gIH1cblxuICBzdWNjZXNzKHJlc3VsdDogTyk6IHZvaWQge1xuICAgIHRoaXMuc291cmNlLnJlc29sdmUocmVzdWx0KTtcbiAgfVxuXG4gIHJlamVjdChlcnJvcjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5zb3VyY2UucmVqZWN0KGVycm9yKTtcbiAgfVxuXG59XG5cbi8qKlxuICogVXNlZCBieSBEYnhBY3Rpb25IYW5kbGVyRGlyZWN0aXZlIHdoZW4gaGFuZGxpbmcgYSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIFdvcmtIYW5kbGVyQ29udGV4dDxUID0gYW55LCBPID0gYW55PiBpbXBsZW1lbnRzIERlc3Ryb3lhYmxlIHtcblxuICBwcml2YXRlIF9kb25lID0gZmFsc2U7XG4gIHByaXZhdGUgX2RvbmVBY3Rpb25CZWdhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgX2FjdGlvbkJlZ2FuID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPihmYWxzZSk7XG4gIHByaXZhdGUgX2lzQ29tcGxldGUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgdmFsdWU6IFQsIHJlYWRvbmx5IGRlbGVnYXRlOiBXb3JrSGFuZGxlckNvbnRleHREZWxlZ2F0ZTxPPikge1xuICAgIC8vIFNjaGVkdWxlIHRvIGNsZWFudXAgc2VsZiBvbmNlIGlzQ29tcGxldGUgaXMgdHJ1ZS5cbiAgICB0aGlzLl9pc0NvbXBsZXRlLnN1YnNjcmliZSgoZG9uZSkgPT4ge1xuICAgICAgaWYgKGRvbmUpIHtcbiAgICAgICAgdGhpcy5kZXN0cm95KCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXQgYWN0aW9uQmVnYW4oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2RvbmVBY3Rpb25CZWdhbiA/PyB0aGlzLl9hY3Rpb25CZWdhbi52YWx1ZTtcbiAgfVxuXG4gIGdldCBhY3Rpb25CZWdhbiQoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2RvbmUgPyBvZih0aGlzLl9kb25lQWN0aW9uQmVnYW4pIDogdGhpcy5fYWN0aW9uQmVnYW4uYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBnZXQgaXNDb21wbGV0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZG9uZSB8fCB0aGlzLl9pc0NvbXBsZXRlLnZhbHVlO1xuICB9XG5cbiAgZ2V0IGlzQ29tcGxldGUkKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLl9kb25lID8gb2YodHJ1ZSkgOiB0aGlzLl9pc0NvbXBsZXRlLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJlZ2lucyB3b3JraW5nIHVzaW5nIGFuIG9ic2VydmFibGUuXG4gICAqL1xuICBzdGFydFdvcmtpbmdXaXRoT2JzZXJ2YWJsZShhY3Rpb25PYnM6IE9ic2VydmFibGU8Tz4pOiB2b2lkIHtcbiAgICB0aGlzLnN0YXJ0V29ya2luZygpO1xuICAgIGFjdGlvbk9icy5waXBlKGZpcnN0KCkpLnN1YnNjcmliZSgoYWN0aW9uUmVzdWx0OiBPKSA9PiB7XG4gICAgICB0aGlzLnN1Y2Nlc3MoYWN0aW9uUmVzdWx0KTtcbiAgICB9LCAoZXJyb3I6IGFueSkgPT4ge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IGVycm9yLm1lc3NhZ2UgPz8gZXJyb3IuY29kZSA/PyB1bmRlZmluZWQ7XG4gICAgICB0aGlzLnJlamVjdCgobWVzc2FnZSkgPyAoeyBtZXNzYWdlIH0pIDogdW5kZWZpbmVkKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBOb3RpZmllcyB0aGUgc3lzdGVtIHRoYXQgdGhlIGFjdGlvbiBoYXMgYmVndW4uXG4gICAqL1xuICBzdGFydFdvcmtpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5fc2V0V29ya2luZygpO1xuICAgIHRoaXMuZGVsZWdhdGUuc3RhcnRXb3JraW5nKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBzdWNjZXNzIG9uIHRoZSBhY3Rpb24uXG4gICAqL1xuICBzdWNjZXNzKHJlc3VsdD86IE8pOiB2b2lkIHtcbiAgICB0aGlzLl9zZXRDb21wbGV0ZSgpO1xuICAgIHRoaXMuZGVsZWdhdGUuc3VjY2VzcyhyZXN1bHQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgcmVqZWN0ZWQgb24gdGhlIGFjdGlvbi5cbiAgICovXG4gIHJlamVjdChlcnJvcj86IGFueSk6IHZvaWQge1xuICAgIHRoaXMuX3NldENvbXBsZXRlKCk7XG4gICAgdGhpcy5kZWxlZ2F0ZS5yZWplY3QoZXJyb3IpO1xuICB9XG5cbiAgZGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kb25lQWN0aW9uQmVnYW4gPSB0aGlzLmFjdGlvbkJlZ2FuO1xuICAgIHRoaXMuX2RvbmUgPSB0cnVlO1xuXG4gICAgLy8gRGVsYXkgdG8gcHJldmVudCBlcnJvci5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuX2FjdGlvbkJlZ2FuLmNvbXBsZXRlKCk7XG4gICAgICB0aGlzLl9pc0NvbXBsZXRlLmNvbXBsZXRlKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9zZXRXb3JraW5nKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFjdGlvbkJlZ2FuKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FjdGlvbiBhbHJlYWR5IGhhcyBiZWVuIHRyaWdnZXJlZCBmb3IgdGhpcyBjb250ZXh0LicpO1xuICAgIH1cblxuICAgIHRoaXMuX2FjdGlvbkJlZ2FuLm5leHQodHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIF9zZXRDb21wbGV0ZSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0NvbXBsZXRlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FjdGlvbiBoYXMgYWxyZWFkeSBiZWVuIG1hcmtlZCBhcyBjb21wbGV0ZWQuJyk7XG4gICAgfVxuXG4gICAgdGhpcy5faXNDb21wbGV0ZS5uZXh0KHRydWUpO1xuICB9XG5cbn1cblxuZXhwb3J0IHR5cGUgSGFuZGxlQWN0aW9uRnVuY3Rpb25Db25maWdGbjxULCBPPiA9ICh2YWx1ZTogVCkgPT4gSGFuZGxlV29ya1ZhbHVlUmVhZHlDb25maWc8VCwgTz47XG5cbi8qKlxuICogQ3JlYXRlcyBhIGZ1bmN0aW9uIHRoYXQgdXNlcyBhIHByb3ZpZGVyIHRvIGFsd2F5cyBoYW5kbGUgbmV3IHZhbHVlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhbmRsZVdvcmtWYWx1ZVJlYWR5V2l0aENvbmZpZ0ZuPFQsIE8+KHByb3ZpZGVyRm46IEhhbmRsZUFjdGlvbkZ1bmN0aW9uQ29uZmlnRm48VCwgTz4pOiAodmFsdWU6IFQpID0+IE1heWJlPFdvcmtIYW5kbGVyQ29udGV4dDxULCBPPj4ge1xuICByZXR1cm4gKHZhbHVlKSA9PiB7XG4gICAgY29uc3QgY29uZmlnOiBIYW5kbGVXb3JrVmFsdWVSZWFkeUNvbmZpZzxULCBPPiA9IHByb3ZpZGVyRm4odmFsdWUpO1xuICAgIHJldHVybiBoYW5kbGVXb3JrVmFsdWVSZWFkeUZuKGNvbmZpZykodmFsdWUpO1xuICB9O1xufVxuXG4vKipcbiAqIENvbmZpZyBmb3IgaGFuZGxlV29ya1ZhbHVlUmVhZHlGbigpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhhbmRsZVdvcmtWYWx1ZVJlYWR5Q29uZmlnPFQsIE8+IHtcbiAgaGFuZGxlckZ1bmN0aW9uOiBIYW5kbGVBY3Rpb25GdW5jdGlvbjxULCBPPjtcbiAgZGVsZWdhdGU6IFdvcmtIYW5kbGVyQ29udGV4dERlbGVnYXRlPE8+O1xufVxuXG4vKipcbiAqIFBlcmZvcm1zIHRoZSBhY3Rpb24gdXNpbmcgdGhlIHZhbHVlIGFuZCByZXR1cm5zIGFuIG9ic2VydmFibGUuXG4gKi9cbmV4cG9ydCB0eXBlIEhhbmRsZUFjdGlvblVzaW5nT2JzZXJ2YWJsZTxUID0gYW55LCBPID0gYW55PiA9ICh2YWx1ZTogVCkgPT4gT2JzZXJ2YWJsZTxPPjtcblxuLyoqXG4gKiBQZXJmb3JtcyB0aGUgYWN0aW9uIHRoYXQgdXNlcyB0aGUgY29udGV4dCBoYW5kbGVyIHRvIGhhbmRsZSB0aGUgZXZlbnQuXG4gKi9cbmV4cG9ydCB0eXBlIEhhbmRsZUFjdGlvblVzaW5nQ29udGV4dDxUID0gYW55LCBPID0gYW55PiA9ICh2YWx1ZTogVCwgY29udGV4dDogV29ya0hhbmRsZXJDb250ZXh0PFQsIE8+KSA9PiB2b2lkO1xuXG4vKipcbiAqIFBlcmZvcm1zIHRoZSBhY3Rpb24uIENhbiBlaXRoZXIgcmV0dXJuIGFuIG9ic2VydmFibGUgdGhhdCB3aWxsIHVzZSB0aGUgaGFuZGxlciwgb3IgY2FuIHVzZSB0aGUgaGFuZGxlciBpdHNlbGYuXG4gKi9cbmV4cG9ydCB0eXBlIEhhbmRsZUFjdGlvbkZ1bmN0aW9uPFQgPSBhbnksIE8gPSBhbnk+ID0gSGFuZGxlQWN0aW9uVXNpbmdPYnNlcnZhYmxlPFQsIE8+IHwgSGFuZGxlQWN0aW9uVXNpbmdDb250ZXh0PFQsIE8+O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGhhbmRsZXMgdGhlIGluY29taW5nIHZhbHVlIGFuZCBjcmVhdGVzIGEgV29ya0hhbmRsZXJDb250ZXh0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gaGFuZGxlV29ya1ZhbHVlUmVhZHlGbjxULCBPPih7IGhhbmRsZXJGdW5jdGlvbiwgZGVsZWdhdGUgfTogSGFuZGxlV29ya1ZhbHVlUmVhZHlDb25maWc8VCwgTz4pOiAodmFsdWU6IFQpID0+IE1heWJlPFdvcmtIYW5kbGVyQ29udGV4dDxULCBPPj4ge1xuICByZXR1cm4gKHZhbHVlOiBUKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlciA9IG5ldyBXb3JrSGFuZGxlckNvbnRleHQ8VCwgTz4odmFsdWUsIGRlbGVnYXRlKTtcbiAgICBsZXQgZm5SZXN1bHQ6IHZvaWQgfCBPYnNlcnZhYmxlPE8+O1xuXG4gICAgdHJ5IHtcbiAgICAgIGZuUmVzdWx0ID0gaGFuZGxlckZ1bmN0aW9uKHZhbHVlLCBoYW5kbGVyKTtcbiAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0FjdGlvbiBlbmNvdW50ZXJlZCBhbiB1bmV4cGVjdGVkIGVycm9yLicsIGUpO1xuICAgICAgaGFuZGxlci5yZWplY3QoZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCFoYW5kbGVyLmlzQ29tcGxldGUpIHtcbiAgICAgIGlmIChmblJlc3VsdCAmJiBpc09ic2VydmFibGUoZm5SZXN1bHQpKSB7XG4gICAgICAgIGlmIChoYW5kbGVyLmFjdGlvbkJlZ2FuKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdBY3Rpb24gYWxyZWFkeSBtYXJrZWQgYXMgYmVndW4gZnJvbSBoYW5kbGVyRnVuY3Rpb24gcmVzdWx0LiBFaXRoZXIgcmV0dXJuIGFuIG9ic2VydmFibGUgb3IgdXNlIHRoZSBoYW5kbGVyIGRpcmVjdGx5LicpO1xuICAgICAgICB9XG5cbiAgICAgICAgaGFuZGxlci5zdGFydFdvcmtpbmdXaXRoT2JzZXJ2YWJsZShmblJlc3VsdCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGhhbmRsZXI7XG4gIH07XG59XG4iXX0=
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2FjdGlvbi9hY3Rpb24uaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQTs7R0FFRztBQUNILE1BQU0sT0FBTyw2QkFBNkI7SUFFeEMsWUFBcUIsTUFBaUQ7UUFBakQsV0FBTSxHQUFOLE1BQU0sQ0FBMkM7SUFBSSxDQUFDO0lBRTNFLFlBQVk7UUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxPQUFPLENBQUMsTUFBUztRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBVTtRQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlIH0gZnJvbSAnLi9hY3Rpb24uc3RvcmUuc291cmNlJztcbmltcG9ydCB7IFdvcmssIFdvcmtJbnN0YW5jZURlbGVnYXRlIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5cbi8qKlxuICogV29ya0luc3RhbmNlRGVsZWdhdGUgaW1wbGVtZW50YXRpb24gdXNpbmcgYW4gRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBEYnhBY3Rpb25Xb3JrSW5zdGFuY2VEZWxlZ2F0ZTxUID0gYW55LCBPID0gYW55PiBpbXBsZW1lbnRzIFdvcmtJbnN0YW5jZURlbGVnYXRlPE8+IHtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBzb3VyY2U6IERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlPFQsIE8+KSB7IH1cblxuICBzdGFydFdvcmtpbmcoKTogdm9pZCB7XG4gICAgdGhpcy5zb3VyY2Uuc3RhcnRXb3JraW5nKCk7XG4gIH1cblxuICBzdWNjZXNzKHJlc3VsdDogTyk6IHZvaWQge1xuICAgIHRoaXMuc291cmNlLnJlc29sdmUocmVzdWx0KTtcbiAgfVxuXG4gIHJlamVjdChlcnJvcjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5zb3VyY2UucmVqZWN0KGVycm9yKTtcbiAgfVxuXG59XG5cbmV4cG9ydCB0eXBlIEhhbmRsZUFjdGlvbkZ1bmN0aW9uPFQgPSBhbnksIE8gPSBhbnk+ID0gV29yazxULCBPPjtcbiJdfQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { delay, first } from 'rxjs/operators';
|
|
2
|
-
import {
|
|
2
|
+
import { DbxActionWorkInstanceDelegate } from './action.handler';
|
|
3
3
|
import { DbxActionContextBaseSource } from './action.holder';
|
|
4
|
-
import { SubscriptionObject } from '@dereekb/rxjs';
|
|
4
|
+
import { SubscriptionObject, workFactory } from '@dereekb/rxjs';
|
|
5
5
|
/**
|
|
6
6
|
* Configurable machine that handles components of the ActionContextStore lifecycle.
|
|
7
7
|
*
|
|
@@ -16,10 +16,11 @@ export class DbxActionContextMachine extends DbxActionContextBaseSource {
|
|
|
16
16
|
this._successSub = new SubscriptionObject();
|
|
17
17
|
// Handle Value Ready
|
|
18
18
|
this._handleValueReadySub.subscription = this.sourceInstance.valueReady$.subscribe((value) => {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
delegate: new
|
|
22
|
-
})
|
|
19
|
+
const doWork = workFactory({
|
|
20
|
+
work: config.handleValueReady,
|
|
21
|
+
delegate: new DbxActionWorkInstanceDelegate(this.sourceInstance)
|
|
22
|
+
});
|
|
23
|
+
doWork(value);
|
|
23
24
|
});
|
|
24
25
|
// If this is a one-time use, then destroy it after the first success comes through.
|
|
25
26
|
if (this.config.oneTimeUse) {
|
|
@@ -41,4 +42,4 @@ export class DbxActionContextMachine extends DbxActionContextBaseSource {
|
|
|
41
42
|
return this._isShutdown;
|
|
42
43
|
}
|
|
43
44
|
}
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLm1hY2hpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL2FjdGlvbi9hY3Rpb24ubWFjaGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlDLE9BQU8sRUFBRSw2QkFBNkIsRUFBd0IsTUFBTSxrQkFBa0IsQ0FBQztBQUN2RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBb0JoRTs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLHVCQUEwQyxTQUFRLDBCQUFnQztJQU03RixZQUFxQixNQUEyQyxFQUFFLE1BQXVDO1FBQ3ZHLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQURLLFdBQU0sR0FBTixNQUFNLENBQXFDO1FBSnhELGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ25CLHlCQUFvQixHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUNoRCxnQkFBVyxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUs3QyxxQkFBcUI7UUFDckIsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUMzRixNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUM7Z0JBQ3pCLElBQUksRUFBRSxNQUFNLENBQUMsZ0JBQWdCO2dCQUM3QixRQUFRLEVBQUUsSUFBSSw2QkFBNkIsQ0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO2FBQ3ZFLENBQUMsQ0FBQztZQUVILE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQixDQUFDLENBQUMsQ0FBQztRQUVILG9GQUFvRjtRQUNwRixJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxFQUFFO1lBQzFCLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNyRSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDakIsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUVELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7WUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDL0Y7SUFDSCxDQUFDO0lBRVEsT0FBTztRQUNkLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNoQixJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDcEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzQixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxVQUFVO1FBQ1osT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERieEFjdGlvbkNvbnRleHRTb3VyY2VSZWZlcmVuY2UgfSBmcm9tICcuL2FjdGlvbi5yZWZlcmVuY2UnO1xuaW1wb3J0IHsgZGVsYXksIGZpcnN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWN0aW9uQ29udGV4dFN0b3JlU291cmNlIH0gZnJvbSAnLi9hY3Rpb24uc3RvcmUuc291cmNlJztcbmltcG9ydCB7IERieEFjdGlvbldvcmtJbnN0YW5jZURlbGVnYXRlLCBIYW5kbGVBY3Rpb25GdW5jdGlvbiB9IGZyb20gJy4vYWN0aW9uLmhhbmRsZXInO1xuaW1wb3J0IHsgRGJ4QWN0aW9uQ29udGV4dEJhc2VTb3VyY2UgfSBmcm9tICcuL2FjdGlvbi5ob2xkZXInO1xuaW1wb3J0IHsgRGVzdHJveWFibGUsIE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25PYmplY3QsIHdvcmtGYWN0b3J5IH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5cbi8qKlxuICogRGJ4QWN0aW9uQ29udGV4dE1hY2hpbmUgY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYnhBY3Rpb25Db250ZXh0TWFjaGluZUNvbmZpZzxUID0gYW55LCBPID0gYW55PiB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgbWFjaGluZSBzaG91bGQgY2xlYW4gaXRzZWxmIHVwIGFmdGVyIGJlaW5nIHRyaWdnZXJlZCBvbmNlLlxuICAgKi9cbiAgb25lVGltZVVzZTogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEZ1bmN0aW9uIHRvIGhhbmRsZSBhbnkgdmFsdWVSZWFkeSBldmVudHMuXG4gICAqL1xuICBoYW5kbGVWYWx1ZVJlYWR5OiBIYW5kbGVBY3Rpb25GdW5jdGlvbjxULCBPPjtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGZ1bmN0aW9uIHRvIGV4ZWN1dGUgYWZ0ZXIgdGhlIGFjdGlvbiBoYXMgc3VjY2VlZGVkLlxuICAgKi9cbiAgb25TdWNjZXNzPzogKHZhbHVlOiBNYXliZTxPPikgPT4gdm9pZDtcbn1cblxuLyoqXG4gKiBDb25maWd1cmFibGUgbWFjaGluZSB0aGF0IGhhbmRsZXMgY29tcG9uZW50cyBvZiB0aGUgQWN0aW9uQ29udGV4dFN0b3JlIGxpZmVjeWNsZS5cbiAqIFxuICogSXQgY2FuIGJlIGNvbmZpZ3VyZWQgdG8gYWN0aXZhdGUgb25seSBvbmNlIGJlZm9yZSBjbGVhbmluZyBpdHNlbGYgdXAuIEl0IGNhbiBiZSB1c2VkIGRpcmVjdGx5IGFzIGEgRGJ4QWN0aW9uQ29udGV4dFNvdXJjZVJlZmVyZW5jZSBpbiBjYXNlcyB3aGVyZSBpdCBpcyBjcmVhdGVkIGFzIGEgb25lLW9mZiBhY3Rpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBEYnhBY3Rpb25Db250ZXh0TWFjaGluZTxUID0gYW55LCBPID0gYW55PiBleHRlbmRzIERieEFjdGlvbkNvbnRleHRCYXNlU291cmNlPFQsIE8+IGltcGxlbWVudHMgRGJ4QWN0aW9uQ29udGV4dFNvdXJjZVJlZmVyZW5jZTxULCBPPiwgRGVzdHJveWFibGUge1xuXG4gIHByaXZhdGUgX2lzU2h1dGRvd24gPSB0cnVlO1xuICBwcml2YXRlIF9oYW5kbGVWYWx1ZVJlYWR5U3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIF9zdWNjZXNzU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGNvbmZpZzogRGJ4QWN0aW9uQ29udGV4dE1hY2hpbmVDb25maWc8VCwgTz4sIHNvdXJjZT86IEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZTxULCBPPikge1xuICAgIHN1cGVyKHNvdXJjZSk7XG5cbiAgICAvLyBIYW5kbGUgVmFsdWUgUmVhZHlcbiAgICB0aGlzLl9oYW5kbGVWYWx1ZVJlYWR5U3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuc291cmNlSW5zdGFuY2UudmFsdWVSZWFkeSQuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgY29uc3QgZG9Xb3JrID0gd29ya0ZhY3Rvcnkoe1xuICAgICAgICB3b3JrOiBjb25maWcuaGFuZGxlVmFsdWVSZWFkeSxcbiAgICAgICAgZGVsZWdhdGU6IG5ldyBEYnhBY3Rpb25Xb3JrSW5zdGFuY2VEZWxlZ2F0ZTxULCBPPih0aGlzLnNvdXJjZUluc3RhbmNlKVxuICAgICAgfSk7XG5cbiAgICAgIGRvV29yayh2YWx1ZSk7XG4gICAgfSk7XG5cbiAgICAvLyBJZiB0aGlzIGlzIGEgb25lLXRpbWUgdXNlLCB0aGVuIGRlc3Ryb3kgaXQgYWZ0ZXIgdGhlIGZpcnN0IHN1Y2Nlc3MgY29tZXMgdGhyb3VnaC5cbiAgICBpZiAodGhpcy5jb25maWcub25lVGltZVVzZSkge1xuICAgICAgdGhpcy5zb3VyY2VJbnN0YW5jZS5zdWNjZXNzJC5waXBlKGZpcnN0KCksIGRlbGF5KDEwMDApKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmNvbmZpZy5vblN1Y2Nlc3MpIHtcbiAgICAgIHRoaXMuX3N1Y2Nlc3NTdWIuc3Vic2NyaXB0aW9uID0gdGhpcy5zb3VyY2VJbnN0YW5jZS5zdWNjZXNzJC5zdWJzY3JpYmUodGhpcy5jb25maWcub25TdWNjZXNzKTtcbiAgICB9XG4gIH1cblxuICBvdmVycmlkZSBkZXN0cm95KCk6IHZvaWQge1xuICAgIHN1cGVyLmRlc3Ryb3koKTtcbiAgICB0aGlzLl9oYW5kbGVWYWx1ZVJlYWR5U3ViLmRlc3Ryb3koKTtcbiAgICB0aGlzLl9zdWNjZXNzU3ViLmRlc3Ryb3koKTtcbiAgICB0aGlzLl9pc1NodXRkb3duID0gdHJ1ZTtcbiAgfVxuXG4gIGdldCBpc1NodXRkb3duKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc1NodXRkb3duO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import { CommonModule } from '@angular/common';
|
|
2
2
|
import { NgModule } from '@angular/core';
|
|
3
|
-
import { DbxActionDirective, DbxActionContextMapDirective, DbxActionFromMapDirective, DbxActionMapSourceDirective, DbxActionMapWorkingDisableDirective, DbxActionSourceDirective, DbxActionHandlerDirective, DbxActionDisabledDirective, DbxActionEnforceModifiedDirective, DbxActionAutoTriggerDirective, dbxActionValueStreamDirective, DbxActionAutoModifyDirective, DbxActionValueDirective, DbxActionContextLoggerDirective,
|
|
3
|
+
import { DbxActionDirective, DbxActionContextMapDirective, DbxActionFromMapDirective, DbxActionMapSourceDirective, DbxActionMapWorkingDisableDirective, DbxActionSourceDirective, DbxActionHandlerDirective, DbxActionDisabledDirective, DbxActionEnforceModifiedDirective, DbxActionAutoTriggerDirective, dbxActionValueStreamDirective, DbxActionAutoModifyDirective, DbxActionValueDirective, DbxActionContextLoggerDirective, DbxActionHasSuccessDirective, DbxActionSuccessHandlerDirective, DbxActionIsWorkingDirective } from './directive';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class DbxCoreActionModule {
|
|
6
6
|
}
|
|
7
|
-
DbxCoreActionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2
|
|
8
|
-
DbxCoreActionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2
|
|
7
|
+
DbxCoreActionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxCoreActionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
DbxCoreActionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxCoreActionModule, declarations: [DbxActionDirective, DbxActionContextMapDirective, DbxActionFromMapDirective, DbxActionMapSourceDirective,
|
|
9
9
|
DbxActionMapWorkingDisableDirective, DbxActionSourceDirective, DbxActionHandlerDirective, DbxActionDisabledDirective, DbxActionEnforceModifiedDirective,
|
|
10
10
|
DbxActionAutoTriggerDirective, dbxActionValueStreamDirective, DbxActionAutoModifyDirective, DbxActionValueDirective, DbxActionContextLoggerDirective,
|
|
11
|
-
|
|
11
|
+
DbxActionHasSuccessDirective, DbxActionSuccessHandlerDirective, DbxActionIsWorkingDirective], imports: [CommonModule], exports: [DbxActionDirective, DbxActionContextMapDirective, DbxActionFromMapDirective, DbxActionMapSourceDirective,
|
|
12
12
|
DbxActionMapWorkingDisableDirective, DbxActionSourceDirective, DbxActionHandlerDirective, DbxActionDisabledDirective, DbxActionEnforceModifiedDirective,
|
|
13
13
|
DbxActionAutoTriggerDirective, dbxActionValueStreamDirective, DbxActionAutoModifyDirective, DbxActionValueDirective, DbxActionContextLoggerDirective,
|
|
14
|
-
|
|
15
|
-
DbxCoreActionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2
|
|
14
|
+
DbxActionHasSuccessDirective, DbxActionSuccessHandlerDirective, DbxActionIsWorkingDirective] });
|
|
15
|
+
DbxCoreActionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxCoreActionModule, imports: [[
|
|
16
16
|
CommonModule
|
|
17
17
|
]] });
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxCoreActionModule, decorators: [{
|
|
19
19
|
type: NgModule,
|
|
20
20
|
args: [{
|
|
21
21
|
imports: [
|
|
@@ -25,14 +25,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
|
|
|
25
25
|
DbxActionDirective, DbxActionContextMapDirective, DbxActionFromMapDirective, DbxActionMapSourceDirective,
|
|
26
26
|
DbxActionMapWorkingDisableDirective, DbxActionSourceDirective, DbxActionHandlerDirective, DbxActionDisabledDirective, DbxActionEnforceModifiedDirective,
|
|
27
27
|
DbxActionAutoTriggerDirective, dbxActionValueStreamDirective, DbxActionAutoModifyDirective, DbxActionValueDirective, DbxActionContextLoggerDirective,
|
|
28
|
-
|
|
28
|
+
DbxActionHasSuccessDirective, DbxActionSuccessHandlerDirective, DbxActionIsWorkingDirective,
|
|
29
29
|
],
|
|
30
30
|
exports: [
|
|
31
31
|
DbxActionDirective, DbxActionContextMapDirective, DbxActionFromMapDirective, DbxActionMapSourceDirective,
|
|
32
32
|
DbxActionMapWorkingDisableDirective, DbxActionSourceDirective, DbxActionHandlerDirective, DbxActionDisabledDirective, DbxActionEnforceModifiedDirective,
|
|
33
33
|
DbxActionAutoTriggerDirective, dbxActionValueStreamDirective, DbxActionAutoModifyDirective, DbxActionValueDirective, DbxActionContextLoggerDirective,
|
|
34
|
-
|
|
34
|
+
DbxActionHasSuccessDirective, DbxActionSuccessHandlerDirective, DbxActionIsWorkingDirective
|
|
35
35
|
]
|
|
36
36
|
}]
|
|
37
37
|
}] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYWN0aW9uL2FjdGlvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUNMLGtCQUFrQixFQUFFLDRCQUE0QixFQUFFLHlCQUF5QixFQUFFLDJCQUEyQixFQUN4RyxtQ0FBbUMsRUFBRSx3QkFBd0IsRUFBRSx5QkFBeUIsRUFBRSwwQkFBMEIsRUFBRSxpQ0FBaUMsRUFDdkosNkJBQTZCLEVBQUUsNkJBQTZCLEVBQUUsNEJBQTRCLEVBQUUsdUJBQXVCLEVBQUUsK0JBQStCLEVBQ3BKLDRCQUE0QixFQUFFLGdDQUFnQyxFQUFFLDJCQUEyQixFQUM1RixNQUFNLGFBQWEsQ0FBQzs7QUFtQnJCLE1BQU0sT0FBTyxtQkFBbUI7O2dIQUFuQixtQkFBbUI7aUhBQW5CLG1CQUFtQixpQkFaNUIsa0JBQWtCLEVBQUUsNEJBQTRCLEVBQUUseUJBQXlCLEVBQUUsMkJBQTJCO1FBQ3hHLG1DQUFtQyxFQUFFLHdCQUF3QixFQUFFLHlCQUF5QixFQUFFLDBCQUEwQixFQUFFLGlDQUFpQztRQUN2Siw2QkFBNkIsRUFBRSw2QkFBNkIsRUFBRSw0QkFBNEIsRUFBRSx1QkFBdUIsRUFBRSwrQkFBK0I7UUFDcEosNEJBQTRCLEVBQUUsZ0NBQWdDLEVBQUUsMkJBQTJCLGFBTjNGLFlBQVksYUFTWixrQkFBa0IsRUFBRSw0QkFBNEIsRUFBRSx5QkFBeUIsRUFBRSwyQkFBMkI7UUFDeEcsbUNBQW1DLEVBQUUsd0JBQXdCLEVBQUUseUJBQXlCLEVBQUUsMEJBQTBCLEVBQUUsaUNBQWlDO1FBQ3ZKLDZCQUE2QixFQUFFLDZCQUE2QixFQUFFLDRCQUE0QixFQUFFLHVCQUF1QixFQUFFLCtCQUErQjtRQUNwSiw0QkFBNEIsRUFBRSxnQ0FBZ0MsRUFBRSwyQkFBMkI7aUhBR2xGLG1CQUFtQixZQWhCckI7WUFDUCxZQUFZO1NBQ2I7MkZBY1UsbUJBQW1CO2tCQWpCL0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTtxQkFDYjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osa0JBQWtCLEVBQUUsNEJBQTRCLEVBQUUseUJBQXlCLEVBQUUsMkJBQTJCO3dCQUN4RyxtQ0FBbUMsRUFBRSx3QkFBd0IsRUFBRSx5QkFBeUIsRUFBRSwwQkFBMEIsRUFBRSxpQ0FBaUM7d0JBQ3ZKLDZCQUE2QixFQUFFLDZCQUE2QixFQUFFLDRCQUE0QixFQUFFLHVCQUF1QixFQUFFLCtCQUErQjt3QkFDcEosNEJBQTRCLEVBQUUsZ0NBQWdDLEVBQUUsMkJBQTJCO3FCQUM1RjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asa0JBQWtCLEVBQUUsNEJBQTRCLEVBQUUseUJBQXlCLEVBQUUsMkJBQTJCO3dCQUN4RyxtQ0FBbUMsRUFBRSx3QkFBd0IsRUFBRSx5QkFBeUIsRUFBRSwwQkFBMEIsRUFBRSxpQ0FBaUM7d0JBQ3ZKLDZCQUE2QixFQUFFLDZCQUE2QixFQUFFLDRCQUE0QixFQUFFLHVCQUF1QixFQUFFLCtCQUErQjt3QkFDcEosNEJBQTRCLEVBQUUsZ0NBQWdDLEVBQUUsMkJBQTJCO3FCQUM1RjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgRGJ4QWN0aW9uRGlyZWN0aXZlLCBEYnhBY3Rpb25Db250ZXh0TWFwRGlyZWN0aXZlLCBEYnhBY3Rpb25Gcm9tTWFwRGlyZWN0aXZlLCBEYnhBY3Rpb25NYXBTb3VyY2VEaXJlY3RpdmUsXG4gIERieEFjdGlvbk1hcFdvcmtpbmdEaXNhYmxlRGlyZWN0aXZlLCBEYnhBY3Rpb25Tb3VyY2VEaXJlY3RpdmUsIERieEFjdGlvbkhhbmRsZXJEaXJlY3RpdmUsIERieEFjdGlvbkRpc2FibGVkRGlyZWN0aXZlLCBEYnhBY3Rpb25FbmZvcmNlTW9kaWZpZWREaXJlY3RpdmUsXG4gIERieEFjdGlvbkF1dG9UcmlnZ2VyRGlyZWN0aXZlLCBkYnhBY3Rpb25WYWx1ZVN0cmVhbURpcmVjdGl2ZSwgRGJ4QWN0aW9uQXV0b01vZGlmeURpcmVjdGl2ZSwgRGJ4QWN0aW9uVmFsdWVEaXJlY3RpdmUsIERieEFjdGlvbkNvbnRleHRMb2dnZXJEaXJlY3RpdmUsXG4gIERieEFjdGlvbkhhc1N1Y2Nlc3NEaXJlY3RpdmUsIERieEFjdGlvblN1Y2Nlc3NIYW5kbGVyRGlyZWN0aXZlLCBEYnhBY3Rpb25Jc1dvcmtpbmdEaXJlY3RpdmVcbn0gZnJvbSAnLi9kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIERieEFjdGlvbkRpcmVjdGl2ZSwgRGJ4QWN0aW9uQ29udGV4dE1hcERpcmVjdGl2ZSwgRGJ4QWN0aW9uRnJvbU1hcERpcmVjdGl2ZSwgRGJ4QWN0aW9uTWFwU291cmNlRGlyZWN0aXZlLFxuICAgIERieEFjdGlvbk1hcFdvcmtpbmdEaXNhYmxlRGlyZWN0aXZlLCBEYnhBY3Rpb25Tb3VyY2VEaXJlY3RpdmUsIERieEFjdGlvbkhhbmRsZXJEaXJlY3RpdmUsIERieEFjdGlvbkRpc2FibGVkRGlyZWN0aXZlLCBEYnhBY3Rpb25FbmZvcmNlTW9kaWZpZWREaXJlY3RpdmUsXG4gICAgRGJ4QWN0aW9uQXV0b1RyaWdnZXJEaXJlY3RpdmUsIGRieEFjdGlvblZhbHVlU3RyZWFtRGlyZWN0aXZlLCBEYnhBY3Rpb25BdXRvTW9kaWZ5RGlyZWN0aXZlLCBEYnhBY3Rpb25WYWx1ZURpcmVjdGl2ZSwgRGJ4QWN0aW9uQ29udGV4dExvZ2dlckRpcmVjdGl2ZSxcbiAgICBEYnhBY3Rpb25IYXNTdWNjZXNzRGlyZWN0aXZlLCBEYnhBY3Rpb25TdWNjZXNzSGFuZGxlckRpcmVjdGl2ZSwgRGJ4QWN0aW9uSXNXb3JraW5nRGlyZWN0aXZlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRGJ4QWN0aW9uRGlyZWN0aXZlLCBEYnhBY3Rpb25Db250ZXh0TWFwRGlyZWN0aXZlLCBEYnhBY3Rpb25Gcm9tTWFwRGlyZWN0aXZlLCBEYnhBY3Rpb25NYXBTb3VyY2VEaXJlY3RpdmUsXG4gICAgRGJ4QWN0aW9uTWFwV29ya2luZ0Rpc2FibGVEaXJlY3RpdmUsIERieEFjdGlvblNvdXJjZURpcmVjdGl2ZSwgRGJ4QWN0aW9uSGFuZGxlckRpcmVjdGl2ZSwgRGJ4QWN0aW9uRGlzYWJsZWREaXJlY3RpdmUsIERieEFjdGlvbkVuZm9yY2VNb2RpZmllZERpcmVjdGl2ZSxcbiAgICBEYnhBY3Rpb25BdXRvVHJpZ2dlckRpcmVjdGl2ZSwgZGJ4QWN0aW9uVmFsdWVTdHJlYW1EaXJlY3RpdmUsIERieEFjdGlvbkF1dG9Nb2RpZnlEaXJlY3RpdmUsIERieEFjdGlvblZhbHVlRGlyZWN0aXZlLCBEYnhBY3Rpb25Db250ZXh0TG9nZ2VyRGlyZWN0aXZlLFxuICAgIERieEFjdGlvbkhhc1N1Y2Nlc3NEaXJlY3RpdmUsIERieEFjdGlvblN1Y2Nlc3NIYW5kbGVyRGlyZWN0aXZlLCBEYnhBY3Rpb25Jc1dvcmtpbmdEaXJlY3RpdmVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhDb3JlQWN0aW9uTW9kdWxlIHsgfVxuIl19
|
|
@@ -217,9 +217,9 @@ export class ActionContextStore extends ComponentStore {
|
|
|
217
217
|
}, 2000);
|
|
218
218
|
}
|
|
219
219
|
}
|
|
220
|
-
ActionContextStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2
|
|
221
|
-
ActionContextStore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2
|
|
222
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
220
|
+
ActionContextStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ActionContextStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
221
|
+
ActionContextStore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ActionContextStore });
|
|
222
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: ActionContextStore, decorators: [{
|
|
223
223
|
type: Injectable
|
|
224
224
|
}], ctorParameters: function () { return []; } });
|
|
225
225
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLnN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hY3Rpb24vYWN0aW9uLnN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEcsT0FBTyxFQUF5QixvQ0FBb0MsRUFBd0IsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFvQixnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFnQixPQUFPLEVBQUUsU0FBUyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUosT0FBTyxFQUF3QixjQUFjLEVBQUUsMkJBQTJCLEVBQUUsaUJBQWlCLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBRWhKLE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxLQUF5QjtJQUM5RCxPQUFPLG9DQUFvQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDdEUsQ0FBQztBQUVELE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxLQUF5QjtJQUMvRCxPQUFPLG9DQUFvQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDckUsQ0FBQztBQUVELE1BQU0sVUFBVSw0QkFBNEIsQ0FBQyxLQUF5QjtJQUNwRSxPQUFPLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsSUFBSSx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNoRixDQUFDO0FBRUQsTUFBTSxV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QUFDLEVBQUcsc0RBQXNEO1FBQzFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNkLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0lBQ0osQ0FBQztJQUVELGdCQUFnQjtJQUNQLFdBQVc7UUFDbEIsc0RBQXNEO1FBQ3RELElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRTtZQUM3QixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdEIsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ1gsQ0FBQzs7K0dBOU5VLGtCQUFrQjttSEFBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudFN0b3JlIH0gZnJvbSAnQG5ncngvY29tcG9uZW50LXN0b3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIG1hcCwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQm9vbGVhblN0cmluZ0tleUFycmF5LCBCb29sZWFuU3RyaW5nS2V5QXJyYXlVdGlsaXR5SW5zdGFuY2UsIE1heWJlLCBSZWFkYWJsZUVycm9yIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBMb2FkaW5nU3RhdGVUeXBlLCBpZGxlTG9hZGluZ1N0YXRlLCBlcnJvclJlc3VsdCwgZmlsdGVyTWF5YmUsIExvYWRpbmdTdGF0ZSwgTG9ja1NldCwgc2NhbkNvdW50LCBzdWNjZXNzUmVzdWx0LCBiZWdpbkxvYWRpbmcgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IERieEFjdGlvbkRpc2FibGVkS2V5LCBEYnhBY3Rpb25TdGF0ZSwgREVGQVVMVF9BQ1RJT05fRElTQUJMRURfS0VZLCBpc0lkbGVBY3Rpb25TdGF0ZSwgbG9hZGluZ1N0YXRlVHlwZUZvckFjdGlvblN0YXRlIH0gZnJvbSAnLi9hY3Rpb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNBY3Rpb25Db250ZXh0RW5hYmxlZChzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlKTogYm9vbGVhbiB7XG4gIHJldHVybiBCb29sZWFuU3RyaW5nS2V5QXJyYXlVdGlsaXR5SW5zdGFuY2UuaXNGYWxzZShzdGF0ZS5kaXNhYmxlZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FjdGlvbkNvbnRleHREaXNhYmxlZChzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlKTogYm9vbGVhbiB7XG4gIHJldHVybiBCb29sZWFuU3RyaW5nS2V5QXJyYXlVdGlsaXR5SW5zdGFuY2UuaXNUcnVlKHN0YXRlLmRpc2FibGVkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzRGlzYWJsZWRBY3Rpb25Db250ZXh0U3RhdGUoc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gaXNJZGxlQWN0aW9uU3RhdGUoc3RhdGUuYWN0aW9uU3RhdGUpICYmIGlzQWN0aW9uQ29udGV4dERpc2FibGVkKHN0YXRlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzV29ya2luZ0FjdGlvblN0YXRlKGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gIWlzSWRsZUFjdGlvblN0YXRlKGFjdGlvblN0YXRlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhblRyaWdnZXJBY3Rpb25TdGF0ZShhY3Rpb25TdGF0ZTogRGJ4QWN0aW9uU3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGFjdGlvblN0YXRlICE9PSBEYnhBY3Rpb25TdGF0ZS5ESVNBQkxFRCAmJiBpc0lkbGVBY3Rpb25TdGF0ZShhY3Rpb25TdGF0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYW5UcmlnZ2VyQWN0aW9uKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIGlzQWN0aW9uQ29udGV4dEVuYWJsZWQoc3RhdGUpICYmIGlzSWRsZUFjdGlvblN0YXRlKHN0YXRlLmFjdGlvblN0YXRlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNhblJlYWR5VmFsdWUoc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gc3RhdGUuYWN0aW9uU3RhdGUgPT09IERieEFjdGlvblN0YXRlLlRSSUdHRVJFRDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFjdGlvbkNvbnRleHRJc01vZGlmaWVkQW5kQ2FuVHJpZ2dlcihzdGF0ZTogQWN0aW9uQ29udGV4dFN0YXRlKTogYm9vbGVhbiB7XG4gIC8vIGNvbnNvbGUubG9nKCdjaGVjazogJywgc3RhdGUsIHN0YXRlLmlzTW9kaWZpZWQsIGNhblRyaWdnZXJBY3Rpb24oc3RhdGUpKTtcbiAgcmV0dXJuIHN0YXRlLmlzTW9kaWZpZWQgJiYgY2FuVHJpZ2dlckFjdGlvbihzdGF0ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhY3Rpb25Db250ZXh0SGFzTm9FcnJvckFuZElzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGUpOiBib29sZWFuIHtcbiAgcmV0dXJuICFzdGF0ZS5lcnJvciAmJiBhY3Rpb25Db250ZXh0SXNNb2RpZmllZEFuZENhblRyaWdnZXIoc3RhdGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9hZGluZ1N0YXRlRm9yQWN0aW9uQ29udGV4dFN0YXRlPE8+KHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGUpOiBMb2FkaW5nU3RhdGU8Tz4ge1xuICBsZXQgbG9hZGluZ1N0YXRlOiBMb2FkaW5nU3RhdGU8Tz47XG5cbiAgc3dpdGNoIChzdGF0ZS5hY3Rpb25TdGF0ZSkge1xuICAgIGNhc2UgRGJ4QWN0aW9uU3RhdGUuUkVTT0xWRUQ6XG4gICAgICBsb2FkaW5nU3RhdGUgPSBzdWNjZXNzUmVzdWx0KHN0YXRlLnJlc3VsdCk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIERieEFjdGlvblN0YXRlLlJFSkVDVEVEOlxuICAgICAgbG9hZGluZ1N0YXRlID0gZXJyb3JSZXN1bHQoc3RhdGUuZXJyb3IpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBEYnhBY3Rpb25TdGF0ZS5JRExFOlxuICAgIGNhc2UgRGJ4QWN0aW9uU3RhdGUuRElTQUJMRUQ6XG4gICAgICBsb2FkaW5nU3RhdGUgPSBpZGxlTG9hZGluZ1N0YXRlKCk7XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgbG9hZGluZ1N0YXRlID0gYmVnaW5Mb2FkaW5nKCk7XG4gICAgICBicmVhaztcbiAgfVxuXG4gIHJldHVybiBsb2FkaW5nU3RhdGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBsb2FkaW5nU3RhdGVUeXBlRm9yQWN0aW9uQ29udGV4dFN0YXRlKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGUpOiBMb2FkaW5nU3RhdGVUeXBlIHtcbiAgcmV0dXJuIGxvYWRpbmdTdGF0ZVR5cGVGb3JBY3Rpb25TdGF0ZShzdGF0ZS5hY3Rpb25TdGF0ZSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uQ29udGV4dFN0YXRlPFQgPSBhbnksIE8gPSBhbnk+IHtcbiAgYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlO1xuICBpc01vZGlmaWVkOiBib29sZWFuO1xuICAvKipcbiAgICogVmFsdWUgdGhhdCBpcyBzZXQgYWZ0ZXIgYSB0cmlnZ2VyZWQgYWN0aW9uLiBOb3QgdG8gYmUgY29uZnVzZWQgd2l0aCByZXN1bHQuXG4gICAqL1xuICB2YWx1ZT86IE1heWJlPFQ+O1xuICAvKipcbiAgICogUmVzb2x2ZWQgcmVzdWx0IHZhbHVlLlxuICAgKi9cbiAgcmVzdWx0PzogTWF5YmU8Tz47XG4gIC8qKlxuICAgKiBSZWplY3RlZCBlcnJvciwgaWYgYXZhaWxhYmxlLlxuICAgKi9cbiAgZXJyb3I/OiBNYXliZTxSZWFkYWJsZUVycm9yPjtcbiAgLyoqXG4gICAqIEN1cnJlbnQgZGlzYWJsZWQgc3RhdGUuXG4gICAqL1xuICBkaXNhYmxlZD86IEJvb2xlYW5TdHJpbmdLZXlBcnJheTtcbiAgLyoqXG4gICAqIE51bWJlciBvZiBjb25zZWN1dGl2ZSBlcnJvcnMgdGhhdCBoYXZlIG9jY3VyZWQuXG4gICAqL1xuICBlcnJvckNvdW50PzogbnVtYmVyO1xufVxuXG5jb25zdCBJTklUSUFMX1NUQVRFOiBBY3Rpb25Db250ZXh0U3RhdGUgPSB7XG4gIGlzTW9kaWZpZWQ6IGZhbHNlLFxuICBhY3Rpb25TdGF0ZTogRGJ4QWN0aW9uU3RhdGUuSURMRVxufTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFjdGlvbkNvbnRleHRTdG9yZTxUID0gYW55LCBPID0gYW55PiBleHRlbmRzIENvbXBvbmVudFN0b3JlPEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPj4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHJlYWRvbmx5IGxvY2tTZXQgPSBuZXcgTG9ja1NldCgpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKHsgLi4uSU5JVElBTF9TVEFURSB9KTtcbiAgICB0aGlzLmxvY2tTZXQuYWRkTG9jaygnd29ya2luZycsIHRoaXMuaXNXb3JraW5nJCk7XG4gIH1cblxuICAvLyBNQVJLOiBBY2Nlc3NvcnNcbiAgcmVhZG9ubHkgYWN0aW9uU3RhdGUkID0gdGhpcy5zdGF0ZSQucGlwZShtYXAoeCA9PiBpc0Rpc2FibGVkQWN0aW9uQ29udGV4dFN0YXRlKHgpID8gRGJ4QWN0aW9uU3RhdGUuRElTQUJMRUQgOiB4LmFjdGlvblN0YXRlKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50IGRpc2FibGVkIHJlYXNvbnMva2V5cy5cbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVkS2V5cyQgPSB0aGlzLnN0YXRlJC5waXBlKG1hcCh4ID0+IFsuLi54LmRpc2FibGVkID8/IFtdXSksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICAvKipcbiAgICogTWFwcyB0aGUgY3VycmVudCBzdGF0ZSB0byB0cnVlIG9yIG5vdCB3aGVuIHRoZSBhY3Rpb24gc3RhdGUgY2hhbmdlcyB0by9mcm9tIGRpc2FibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNEaXNhYmxlZCQgPSB0aGlzLnN0YXRlJC5waXBlKG1hcChpc0Rpc2FibGVkQWN0aW9uQ29udGV4dFN0YXRlKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIC8qKlxuICAgKiBQaXBlcyB3aGVuIGlkbGUgYnV0IG1vZGlmaWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNNb2RpZmllZCQgPSB0aGlzLmFmdGVyRGlzdGluY3RCb29sZWFuKHggPT4geC5pc01vZGlmaWVkKTtcblxuICAvKipcbiAgICogUGlwZXMgdHJ1ZSB3aGVuIHRyaWdnZXJlZC5cbiAgICovXG4gIHJlYWRvbmx5IHRyaWdnZXJlZCQgPSB0aGlzLmFmdGVyRGlzdGluY3RBY3Rpb25TdGF0ZShEYnhBY3Rpb25TdGF0ZS5UUklHR0VSRUQsICgpID0+IHRydWUpO1xuXG4gIC8qKlxuICAgKiBQaXBlcyB0aGUgcmVhZGllZCB2YWx1ZSBvbiBWYWx1ZVJlYWR5LlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWVSZWFkeSQ6IE9ic2VydmFibGU8VD4gPSB0aGlzLmFmdGVyRGlzdGluY3RBY3Rpb25TdGF0ZShEYnhBY3Rpb25TdGF0ZS5WQUxVRV9SRUFEWSwgeCA9PiB4LnZhbHVlISk7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSBlcnJvciBvbiB0aGUgcmVqZWN0aW9uIHN0YXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVqZWN0ZWQkID0gdGhpcy5hZnRlckRpc3RpbmN0QWN0aW9uU3RhdGUoRGJ4QWN0aW9uU3RhdGUuUkVKRUNURUQsIHggPT4geC5lcnJvcik7XG5cbiAgLyoqXG4gICAqIFBpcGVzIHRoZSByZXN1bHQgd2hlbiB0aGUgQWN0aW9uU3RhdGUgYmVjb21lcyB3b3JraW5nLlxuICAgKi9cbiAgcmVhZG9ubHkgd29ya2luZyQgPSB0aGlzLmFmdGVyRGlzdGluY3RBY3Rpb25TdGF0ZShEYnhBY3Rpb25TdGF0ZS5XT1JLSU5HLCAoKSA9PiB0cnVlKTtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgaXQgaXMgY3VycmVudGx5IGluIGEgd29ya2luZyBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGlzV29ya2luZyQgPSB0aGlzLmFmdGVyRGlzdGluY3RCb29sZWFuKHggPT4gaXNXb3JraW5nQWN0aW9uU3RhdGUoeC5hY3Rpb25TdGF0ZSkpO1xuXG4gIC8qKlxuICAgKiBQaXBlcyB0aGUgY3VycmVudCBlcnJvci5cbiAgICovXG4gIHJlYWRvbmx5IGVycm9yJCA9IHRoaXMuc3RhdGUkLnBpcGUobWFwKHggPT4geC5lcnJvciksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpKTtcblxuICAvKipcbiAgICogUGlwZXMgdGhlIHJlc3VsdCB3aGVuIHRoZSBBY3Rpb25TdGF0ZSBiZWNvbWVzIHN1Y2Nlc3MuXG4gICAqL1xuICByZWFkb25seSBzdWNjZXNzJCA9IHRoaXMuYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlKERieEFjdGlvblN0YXRlLlJFU09MVkVELCB4ID0+IHgucmVzdWx0KTtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgaXQgaXMgY3VycmVudGx5IGluIGEgc3VjY2VzcyBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGlzU3VjY2VzcyQgPSB0aGlzLmFmdGVyRGlzdGluY3RCb29sZWFuKHggPT4geC5hY3Rpb25TdGF0ZSA9PT0gRGJ4QWN0aW9uU3RhdGUuUkVTT0xWRUQpO1xuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgbG9hZGluZyBzdGF0ZSBiYXNlZCBvbiB0aGUgY3VycmVudCBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGxvYWRpbmdTdGF0ZSQgPSB0aGlzLmFmdGVyRGlzdGluY3RMb2FkaW5nU3RhdGVUeXBlQ2hhbmdlKCkucGlwZShtYXAoeCA9PiBsb2FkaW5nU3RhdGVGb3JBY3Rpb25Db250ZXh0U3RhdGU8Tz4oeCkpLCBzaGFyZVJlcGxheSgxKSk7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgTG9hZGluZ1N0YXRlVHlwZSBiYXNlZCBvbiB0aGUgY3VycmVudCBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IGxvYWRpbmdTdGF0ZVR5cGUkID0gdGhpcy5zdGF0ZSQucGlwZShtYXAoeCA9PiBsb2FkaW5nU3RhdGVUeXBlRm9yQWN0aW9uQ29udGV4dFN0YXRlKHgpKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgZXJyb3JzIHNpbmNlIGxhc3Qgc3VjY2Vzcy5cbiAgICovXG4gIHJlYWRvbmx5IGVycm9yQ291bnRTaW5jZUxhc3RTdWNjZXNzJCA9IHRoaXMuaXNTdWNjZXNzJC5waXBlKFxuICAgIHN0YXJ0V2l0aChmYWxzZSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzd2l0Y2hNYXAoKCkgPT4gdGhpcy5lcnJvciQucGlwZShmaWx0ZXJNYXliZSgpLCBzY2FuQ291bnQoKSwgc3RhcnRXaXRoKDApKSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhlIHN0YXRlIGNhbiBiZSB0cmlnZ2VyZWQuXG4gICAqL1xuICByZWFkb25seSBjYW5UcmlnZ2VyJCA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKGNhblRyaWdnZXJBY3Rpb24pLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvKipcbiAgICogUGlwZSB0aGF0IG1hcHMgd2hldGhlciBvciBub3QgdGhpcyBpcyBtb2RpZmllZCBhbmQgY2FuIGJlIHRyaWdnZXJlZC5cbiAgICpcbiAgICogVXBkYXRlcyBldmVyeSBzdGF0ZSB1cGRhdGUgaW5zdGVhZCBvZiB3aGVuIHRoZSB2YWx1ZSBjaGFuZ2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgaXNNb2RpZmllZEFuZENhblRyaWdnZXJVcGRhdGVzJCA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiBhY3Rpb25Db250ZXh0SXNNb2RpZmllZEFuZENhblRyaWdnZXIoeCksIHNoYXJlUmVwbGF5KDEpKVxuICApO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCBpdCBjYW4gYmUgdHJpZ2dlcmVkIGFuZCBtb2RpZmllZC5cbiAgICovXG4gIHJlYWRvbmx5IGlzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyJCA9IHRoaXMuaXNNb2RpZmllZEFuZENhblRyaWdnZXJVcGRhdGVzJC5waXBlKFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgKTtcblxuICByZWFkb25seSBoYXNOb0Vycm9yQW5kSXNNb2RpZmllZEFuZENhblRyaWdnZXIkID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IGFjdGlvbkNvbnRleHRIYXNOb0Vycm9yQW5kSXNNb2RpZmllZEFuZENhblRyaWdnZXIoeCkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgLy8gTUFSSzogU3RhdGUgQ2hhbmdlc1xuICAvKipcbiAgICogQWRkcyBhIGRpc2FibGVkIHJlYXNvbi5cbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGUgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBrZXk/OiB2b2lkIHwgRGJ4QWN0aW9uRGlzYWJsZWRLZXkpID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgZGlzYWJsZWQ6IEJvb2xlYW5TdHJpbmdLZXlBcnJheVV0aWxpdHlJbnN0YW5jZS5pbnNlcnQoc3RhdGUuZGlzYWJsZWQsICgoa2V5IGFzIGFueSkgPz8gREVGQVVMVF9BQ1RJT05fRElTQUJMRURfS0VZKSlcbiAgfSkpO1xuXG4gIC8qKlxuICAgKiBSZW1vdmVzIGEgZGlzYWJsZWQgcmVhc29uLlxuICAgKi9cbiAgcmVhZG9ubHkgZW5hYmxlID0gdGhpcy51cGRhdGVyKChzdGF0ZSwga2V5Pzogdm9pZCB8IERieEFjdGlvbkRpc2FibGVkS2V5KSA9PiAoe1xuICAgIC4uLnN0YXRlLFxuICAgIGRpc2FibGVkOiBCb29sZWFuU3RyaW5nS2V5QXJyYXlVdGlsaXR5SW5zdGFuY2UucmVtb3ZlKHN0YXRlLmRpc2FibGVkLCAoKGtleSBhcyBhbnkpID8/IERFRkFVTFRfQUNUSU9OX0RJU0FCTEVEX0tFWSkpXG4gIH0pKTtcblxuICAvKipcbiAgICogVHJpZ2dlcnMgdGhlIG1vZGlmaWVkIHN0YXRlLCBpZiBub3QgZGlzYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBzZXRJc01vZGlmaWVkID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgaXNNb2RpZmllZDogdm9pZCB8IGJvb2xlYW4pID0+ICh7XG4gICAgLi4uc3RhdGUsXG4gICAgYWN0aW9uU3RhdGU6IChzdGF0ZS5hY3Rpb25TdGF0ZSA9PT0gRGJ4QWN0aW9uU3RhdGUuUkVTT0xWRUQpID8gRGJ4QWN0aW9uU3RhdGUuSURMRSA6IHN0YXRlLmFjdGlvblN0YXRlLCAgLy8gU2V0IHRvIGlkbGUgZnJvbSBzdWNjZXNzLlxuICAgIGlzTW9kaWZpZWQ6IChpc01vZGlmaWVkIGFzIGJvb2xlYW4pID8/IHRydWVcbiAgfSkpO1xuXG4gIC8qKlxuICAgKiBUcmlnZ2VycyB0aGUgYWN0aW9uIGlmIHRoZSBzdGF0ZSBpcyBjdXJyZW50bHkgbm90IGlkbGUuIFRoZSBjdXJyZW50IHN0YXRlIGlzIGNsZWFyZWQsIGJ1dCB0aGUgZXJyb3IgaXMgcmV0YWluZWQgKGFzIHdlIG1heSBuZWVkIHRoZSBlcnJvciBmcm9tIHRoZSBwcmV2aW91cyBhdHRlbXB0KS5cbiAgICpcbiAgICogV2lsbCBub3QgZmlyZSBpZiB0aGUgYWN0aW9uIGlzIGRpc2FibGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgdHJpZ2dlciA9IHRoaXMudXBkYXRlcigoc3RhdGUpID0+IGNhblRyaWdnZXJBY3Rpb24oc3RhdGUpXG4gICAgPyAoeyBpc01vZGlmaWVkOiBzdGF0ZS5pc01vZGlmaWVkLCBhY3Rpb25TdGF0ZTogRGJ4QWN0aW9uU3RhdGUuVFJJR0dFUkVELCBlcnJvcjogc3RhdGUuZXJyb3IsIHZhbHVlOiB1bmRlZmluZWQgfSlcbiAgICA6IHN0YXRlKTtcblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgdmFsdWUsIHNldHRpbmcgdmFsdWUgcmVhZHkuIFRoZSBjdXJyZW50IHJlc3VsdCBpcyBjbGVhcmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVhZHlWYWx1ZSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIHZhbHVlOiBUKSA9PiBjYW5SZWFkeVZhbHVlKHN0YXRlKVxuICAgID8gKHsgLi4uc3RhdGUsIGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZS5WQUxVRV9SRUFEWSwgdmFsdWUsIHJlc3VsdDogdW5kZWZpbmVkIH0pXG4gICAgOiBzdGF0ZSk7XG5cbiAgLyoqXG4gICAqIE5vdGlmeXMgdGhlIGNvbnRleHQgdGhhdCB0aGUgYWN0aW9uIGlzIGluIHByb2dyZXNzLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RhcnRXb3JraW5nID0gdGhpcy51cGRhdGVyKChzdGF0ZSkgPT4gKHsgLi4uc3RhdGUsIGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZS5XT1JLSU5HIH0pKTtcblxuICAvKipcbiAgICogVHJpZ2dlcnMgcmVqZWN0aW9uIG9mIHRoZSBhY3Rpb24uIFRoZSB2YWx1ZSBpcyBjbGVhcmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVqZWN0ID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgZXJyb3I/OiBNYXliZTxSZWFkYWJsZUVycm9yPikgPT4gKHsgaXNNb2RpZmllZDogc3RhdGUuaXNNb2RpZmllZCwgYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlLlJFSkVDVEVELCBlcnJvciwgZXJyb3JDb3VudDogKHN0YXRlLmVycm9yQ291bnQgPz8gMCkgKyAxLCBkaXNhYmxlZDogc3RhdGUuZGlzYWJsZWQgfSkpO1xuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBzdGF0ZSB0byBzdWNjZXNzLCBhbmQgb3B0aW9uYWxseSBzZXRzIGEgcmVzdWx0LlxuICAgKlxuICAgKiBDbGVhcnMgbW9kaWZpZWQgc3RhdGUsIGFuZCBhbnkgZXJyb3JzLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzb2x2ZSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIHJlc3VsdD86IE1heWJlPE8+KSA9PiAoeyBpc01vZGlmaWVkOiBmYWxzZSwgYWN0aW9uU3RhdGU6IERieEFjdGlvblN0YXRlLlJFU09MVkVELCB2YWx1ZTogc3RhdGUudmFsdWUsIHJlc3VsdCwgZXJyb3I6IHVuZGVmaW5lZCwgZGlzYWJsZWQ6IHN0YXRlLmRpc2FibGVkIH0pKTtcblxuICAvKipcbiAgICogQ29tcGxldGVseSByZXNldHMgdGhlIHN0b3JlLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzZXQgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlKSA9PiAoeyAuLi5JTklUSUFMX1NUQVRFIH0pKTtcblxuICAvLyBNQVJLOiBVdGlsaXR5XG4gIGFmdGVyRGlzdGluY3RCb29sZWFuKGZyb21TdGF0ZTogKHN0YXRlOiBBY3Rpb25Db250ZXh0U3RhdGU8VCwgTz4pID0+IGJvb2xlYW4pOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZSQucGlwZShcbiAgICAgIG1hcCh4ID0+IGZyb21TdGF0ZSh4KSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuICB9XG5cbiAgYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlPFg+KGFjdGlvblN0YXRlOiBEYnhBY3Rpb25TdGF0ZSwgZnJvbVN0YXRlOiAoc3RhdGU6IEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPikgPT4gWCk6IE9ic2VydmFibGU8WD4ge1xuICAgIHJldHVybiB0aGlzLmFmdGVyRGlzdGluY3RBY3Rpb25TdGF0ZUNoYW5nZSgpLnBpcGUoXG4gICAgICBmaWx0ZXIoKHgpID0+IHguYWN0aW9uU3RhdGUgPT09IGFjdGlvblN0YXRlKSwgIC8vIE9ubHkgcGlwZSB3aGVuIHRoZSBuZXcgYWN0aW9uIHN0YXRlIG1hdGNoZXMuXG4gICAgICBtYXAoeCA9PiBmcm9tU3RhdGUoeCkpLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuICB9XG5cbiAgYWZ0ZXJEaXN0aW5jdEFjdGlvblN0YXRlQ2hhbmdlKCk6IE9ic2VydmFibGU8QWN0aW9uQ29udGV4dFN0YXRlPFQsIE8+PiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgICBtYXAoKHgpID0+IChbeCwgeC5hY3Rpb25TdGF0ZV0pIGFzIFtBY3Rpb25Db250ZXh0U3RhdGUsIERieEFjdGlvblN0YXRlXSksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gYT8uWzFdID09PSBiPy5bMV0pLCAgLy8gRmlsdGVyIG91dCB3aGVuIHRoZSBzdGF0ZSByZW1haW5zIHRoZSBzYW1lLlxuICAgICAgbWFwKHggPT4geFswXSksXG4gICAgICBzaGFyZVJlcGxheSgxKVxuICAgICk7XG4gIH1cblxuICBhZnRlckRpc3RpbmN0TG9hZGluZ1N0YXRlVHlwZUNoYW5nZSgpOiBPYnNlcnZhYmxlPEFjdGlvbkNvbnRleHRTdGF0ZTxULCBPPj4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlJC5waXBlKFxuICAgICAgbWFwKCh4KSA9PiAoW3gsIGxvYWRpbmdTdGF0ZUZvckFjdGlvbkNvbnRleHRTdGF0ZSh4KV0pIGFzIFtBY3Rpb25Db250ZXh0U3RhdGUsIExvYWRpbmdTdGF0ZVR5cGVdKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBhPy5bMV0gPT09IGI/LlsxXSksICAvLyBGaWx0ZXIgb3V0IHdoZW4gdGhlIGxvYWRpbmcgc3RhdGUgcmVtYWlucyB0aGUgc2FtZS5cbiAgICAgIG1hcCh4ID0+IHhbMF0pLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuICB9XG5cbiAgLy8gTUFSSzogQ2xlYW51cFxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAvLyBXYWl0IGZvciBhbnkgYWN0aW9ucyB0byBjb21wbGV0ZSBiZWZvcmUgZGVzdHJveWluZy5cbiAgICB0aGlzLmxvY2tTZXQub25OZXh0VW5sb2NrKCgpID0+IHtcbiAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfSwgMjAwMCk7XG4gIH1cblxufVxuIl19
|
|
@@ -130,9 +130,9 @@ export class DbxActionContextStoreSourceInstance {
|
|
|
130
130
|
this.useStore((x) => x.reset());
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
|
-
DbxActionContextStoreSourceInstance.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2
|
|
134
|
-
DbxActionContextStoreSourceInstance.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2
|
|
135
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
133
|
+
DbxActionContextStoreSourceInstance.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionContextStoreSourceInstance, deps: [{ token: ActionContextStoreSource }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
134
|
+
DbxActionContextStoreSourceInstance.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionContextStoreSourceInstance });
|
|
135
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionContextStoreSourceInstance, decorators: [{
|
|
136
136
|
type: Injectable
|
|
137
137
|
}], ctorParameters: function () { return [{ type: ActionContextStoreSource }]; } });
|
|
138
138
|
export const actionContextStoreSourceInstanceFactory = (source) => {
|
|
@@ -37,9 +37,9 @@ export class DbxActionAutoModifyDirective extends AbstractSubscriptionDirective
|
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
-
DbxActionAutoModifyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2
|
|
41
|
-
DbxActionAutoModifyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
40
|
+
DbxActionAutoModifyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionAutoModifyDirective, deps: [{ token: i1.DbxActionContextStoreSourceInstance, host: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
41
|
+
DbxActionAutoModifyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxActionAutoModifyDirective, selector: "[dbxActionAutoModify]", inputs: { autoModifyEnabled: ["dbxActionAutoModify", "autoModifyEnabled"] }, usesInheritance: true, ngImport: i0 });
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionAutoModifyDirective, decorators: [{
|
|
43
43
|
type: Directive,
|
|
44
44
|
args: [{
|
|
45
45
|
selector: '[dbxActionAutoModify]',
|
|
@@ -50,4 +50,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
|
|
|
50
50
|
type: Input,
|
|
51
51
|
args: ['dbxActionAutoModify']
|
|
52
52
|
}] } });
|
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmF1dG9tb2RpZnkuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9hY3Rpb24vZGlyZWN0aXZlL2F1dG8vYWN0aW9uLmF1dG9tb2RpZnkuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNwRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNoRixPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQU12QyxNQUFNLE9BQU8sNEJBQW1DLFNBQVEsNkJBQTZCO0lBYW5GLFlBQW9DLE1BQWlEO1FBQ25GLEtBQUssRUFBRSxDQUFDO1FBRDBCLFdBQU0sR0FBTixNQUFNLENBQTJDO1FBWHBFLHVCQUFrQixHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO0lBYXpFLENBQUM7SUFYRCxJQUNJLGlCQUFpQjtRQUNuQixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUksaUJBQWlCLENBQUMsaUJBQXNDO1FBQzFELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEtBQUssS0FBSyxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQU1ELFFBQVE7UUFDTixNQUFNLEdBQUcsR0FBRyxhQUFhLENBQUM7WUFDeEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQ3BELElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsdUNBQXVDO1NBQ3RGLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLEVBQUUsVUFBVSxDQUFDLEVBQUUsRUFBRTtZQUMzRCxJQUFJLGlCQUFpQixJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNqQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVRLFdBQVc7UUFDbEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRTtZQUNwQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7eUhBbkNVLDRCQUE0Qjs2R0FBNUIsNEJBQTRCOzJGQUE1Qiw0QkFBNEI7a0JBSHhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtpQkFDbEM7OzBCQWNjLElBQUk7NENBUmIsaUJBQWlCO3NCQURwQixLQUFLO3VCQUFDLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdFN1YnNjcmlwdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL3N1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2UgfSBmcm9tICcuLi8uLi9hY3Rpb24uc3RvcmUuc291cmNlJztcbmltcG9ydCB7IEhvc3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RieEFjdGlvbkF1dG9Nb2RpZnldJyxcbn0pXG5leHBvcnQgY2xhc3MgRGJ4QWN0aW9uQXV0b01vZGlmeURpcmVjdGl2ZTxULCBPPiBleHRlbmRzIEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2F1dG9Nb2RpZnlFbmFibGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcblxuICBASW5wdXQoJ2RieEFjdGlvbkF1dG9Nb2RpZnknKVxuICBnZXQgYXV0b01vZGlmeUVuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2F1dG9Nb2RpZnlFbmFibGVkLnZhbHVlO1xuICB9XG5cbiAgc2V0IGF1dG9Nb2RpZnlFbmFibGVkKGF1dG9Nb2RpZnlFbmFibGVkOiBNYXliZTxib29sZWFuIHwgJyc+KSB7XG4gICAgdGhpcy5fYXV0b01vZGlmeUVuYWJsZWQubmV4dChhdXRvTW9kaWZ5RW5hYmxlZCAhPT0gZmFsc2UpO1xuICB9XG5cbiAgY29uc3RydWN0b3IoQEhvc3QoKSBwdWJsaWMgcmVhZG9ubHkgc291cmNlOiBEYnhBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZTxULCBPPikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBvYnMgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuX2F1dG9Nb2RpZnlFbmFibGVkLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSksIC8vIERvbid0IGNoYW5nZSB1bmxlc3Mgc3BlY2lmaWVkIG90aGVyd2lzZS5cbiAgICAgIHRoaXMuc291cmNlLmlzTW9kaWZpZWQkLnBpcGUoZmlsdGVyKHggPT4gIXgpKSAvLyBPbmx5IHdoZW4gbm90IG1vZGlmaWVkIHNlbmQgYSB2YWx1ZS5cbiAgICBdKTtcblxuICAgIHRoaXMuc3ViID0gb2JzLnN1YnNjcmliZSgoW2F1dG9Nb2RpZnlFbmFibGVkLCBpc01vZGlmaWVkXSkgPT4ge1xuICAgICAgaWYgKGF1dG9Nb2RpZnlFbmFibGVkICYmICFpc01vZGlmaWVkKSB7XG4gICAgICAgIHRoaXMuc291cmNlLnNldElzTW9kaWZpZWQodHJ1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnNvdXJjZS5sb2NrU2V0Lm9uTmV4dFVubG9jaygoKSA9PiB7XG4gICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgICAgdGhpcy5fYXV0b01vZGlmeUVuYWJsZWQuY29tcGxldGUoKTtcbiAgICB9KTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -20,12 +20,12 @@ export class DbxActionAutoTriggerDirective extends AbstractSubscriptionDirective
|
|
|
20
20
|
super();
|
|
21
21
|
this.source = source;
|
|
22
22
|
this._triggerEnabled = new BehaviorSubject(true);
|
|
23
|
+
this._triggerLimit = new BehaviorSubject(undefined);
|
|
24
|
+
this._trigger = new Subject();
|
|
23
25
|
this.triggerDebounce = DEFAULT_DEBOUNCE_MS;
|
|
24
26
|
this.triggerThrottle = DEFAULT_THROTTLE_MS;
|
|
25
27
|
this.triggerErrorThrottle = DEFAULT_ERROR_THROTTLE_MS;
|
|
26
28
|
this.maxErrorsForThrottle = MAX_ERRORS_TO_THROTTLE_ON;
|
|
27
|
-
this._triggerLimit = new BehaviorSubject(undefined);
|
|
28
|
-
this._trigger = new Subject();
|
|
29
29
|
this._triggerCount = 0;
|
|
30
30
|
this._errorCount$ = this.source.errorCountSinceLastSuccess$;
|
|
31
31
|
this._triggerCount$ = this.source.isModifiedAndCanTriggerUpdates$.pipe(filter(() => this.isEnabled), filter((x) => x), debounce(() => interval(this.triggerDebounce)), throttle(() => this._errorCount$.pipe(first(), exhaustMap((count) => interval(this.triggerThrottle + (Math.min(count, this.maxErrorsForThrottle) * this.triggerErrorThrottle)))), { leading: true, trailing: true }),
|
|
@@ -99,14 +99,15 @@ export class DbxActionAutoTriggerDirective extends AbstractSubscriptionDirective
|
|
|
99
99
|
ngOnDestroy() {
|
|
100
100
|
this.source.lockSet.onNextUnlock(() => {
|
|
101
101
|
super.ngOnDestroy();
|
|
102
|
+
this._triggerEnabled.complete();
|
|
102
103
|
this._trigger.complete();
|
|
103
104
|
this._triggerLimit.complete();
|
|
104
105
|
});
|
|
105
106
|
}
|
|
106
107
|
}
|
|
107
|
-
DbxActionAutoTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2
|
|
108
|
-
DbxActionAutoTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2
|
|
109
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
108
|
+
DbxActionAutoTriggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionAutoTriggerDirective, deps: [{ token: i1.DbxActionContextStoreSourceInstance, host: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
109
|
+
DbxActionAutoTriggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxActionAutoTriggerDirective, selector: "dbxActionAutoTrigger, [dbxActionAutoTrigger]", inputs: { triggerEnabled: ["dbxActionAutoTrigger", "triggerEnabled"], triggerDebounce: "triggerDebounce", triggerThrottle: "triggerThrottle", triggerErrorThrottle: "triggerErrorThrottle", fastTrigger: "fastTrigger", instantTrigger: "instantTrigger", triggerLimit: "triggerLimit" }, usesInheritance: true, ngImport: i0 });
|
|
110
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionAutoTriggerDirective, decorators: [{
|
|
110
111
|
type: Directive,
|
|
111
112
|
args: [{
|
|
112
113
|
selector: 'dbxActionAutoTrigger, [dbxActionAutoTrigger]',
|
|
@@ -129,4 +130,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
|
|
|
129
130
|
}], triggerLimit: [{
|
|
130
131
|
type: Input
|
|
131
132
|
}] } });
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmF1dG90cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYWN0aW9uL2RpcmVjdGl2ZS9hdXRvL2FjdGlvbi5hdXRvdHJpZ2dlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVJLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0QsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEYsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBUyxNQUFNLGVBQWUsQ0FBQzs7O0FBRTVELE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztBQUVyQyxNQUFNLG1CQUFtQixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7QUFFdEMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO0FBRTNDLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxDQUFDO0FBRXBDOztHQUVHO0FBSUgsTUFBTSxPQUFPLDZCQUFvQyxTQUFRLDZCQUE2QjtJQW1IcEYs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dXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdFN1YnNjcmlwdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uLy4uL3N1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBkZWJvdW5jZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGV4aGF1c3RNYXAsIGZpbHRlciwgZmlyc3QsIG1hcCwgbWVyZ2VNYXAsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAsIHRocm90dGxlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRU1QVFksIGludGVydmFsLCBTdWJqZWN0LCBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYnhBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZSB9IGZyb20gJy4uLy4uL2FjdGlvbi5zdG9yZS5zb3VyY2UnO1xuaW1wb3J0IHsgSG9zdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpc0RlZmluZWRBbmROb3RGYWxzZSwgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcblxuY29uc3QgREVGQVVMVF9ERUJPVU5DRV9NUyA9IDIgKiAxMDAwO1xuXG5jb25zdCBERUZBVUxUX1RIUk9UVExFX01TID0gMTAgKiAxMDAwO1xuXG5jb25zdCBERUZBVUxUX0VSUk9SX1RIUk9UVExFX01TID0gMyAqIDEwMDA7XG5cbmNvbnN0IE1BWF9FUlJPUlNfVE9fVEhST1RUTEVfT04gPSA2O1xuXG4vKipcbiAqIERpcmVjdGl2ZSB0aGF0IGF1dG9tYXRpY2FsbHkgdHJpZ2dlcnMgdGhlIGFjdGlvbiBwZXJpb2RpY2FsbHkgd2hlbiBpdCBpcyBpbiBhIG1vZGlmaWVkIHN0YXRlLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdkYnhBY3Rpb25BdXRvVHJpZ2dlciwgW2RieEFjdGlvbkF1dG9UcmlnZ2VyXScsXG59KVxuZXhwb3J0IGNsYXNzIERieEFjdGlvbkF1dG9UcmlnZ2VyRGlyZWN0aXZlPFQsIE8+IGV4dGVuZHMgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfdHJpZ2dlckVuYWJsZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuXG4gIC8qKlxuICAgKiBIb3cgbXVjaCB0byB0aHJvdHRsZSB0aGUgYXV0by10cmlnZ2VyaW5nLlxuICAgKi9cbiAgQElucHV0KCdkYnhBY3Rpb25BdXRvVHJpZ2dlcicpXG4gIGdldCB0cmlnZ2VyRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdHJpZ2dlckVuYWJsZWQudmFsdWU7XG4gIH1cblxuICBzZXQgdHJpZ2dlckVuYWJsZWQodHJpZ2dlckVuYWJsZWQ6IE1heWJlPGJvb2xlYW4+IHwgYW55KSB7XG4gICAgdHJpZ2dlckVuYWJsZWQgPSB0cmlnZ2VyRW5hYmxlZCAhPT0gZmFsc2U7ICAvLyBEZWZhdWx0IHRvIHRydWVcblxuICAgIGlmICh0aGlzLnRyaWdnZXJFbmFibGVkICE9PSB0cmlnZ2VyRW5hYmxlZCkge1xuICAgICAgdGhpcy5fdHJpZ2dlckVuYWJsZWQubmV4dCh0cmlnZ2VyRW5hYmxlZCk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgdHJpZ2dlckRlYm91bmNlID0gREVGQVVMVF9ERUJPVU5DRV9NUztcblxuICBASW5wdXQoKVxuICB0cmlnZ2VyVGhyb3R0bGUgPSBERUZBVUxUX1RIUk9UVExFX01TO1xuXG4gIEBJbnB1dCgpXG4gIHRyaWdnZXJFcnJvclRocm90dGxlID0gREVGQVVMVF9FUlJPUl9USFJPVFRMRV9NUztcblxuICBtYXhFcnJvcnNGb3JUaHJvdHRsZSA9IE1BWF9FUlJPUlNfVE9fVEhST1RUTEVfT047XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGlucHV0IHRvIG92ZXJyaWRlIGJvdGggdHJpZ2dlckRlYm91bmNlIGFuZCB0cmlnZ2VyVGhyb3R0bGUuXG4gICAqXG4gICAqIFVzZWQgaW4gZm9ybXMgdGhhdCBhcmUgc2ltcGxlLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGZhc3RUcmlnZ2VyKGZhc3RUcmlnZ2VyOiBhbnkpIHtcbiAgICBpZiAoaXNEZWZpbmVkQW5kTm90RmFsc2UoZmFzdFRyaWdnZXIpKSB7XG4gICAgICB0aGlzLnRyaWdnZXJEZWJvdW5jZSA9IDIwMDtcbiAgICAgIHRoaXMudHJpZ2dlclRocm90dGxlID0gNTAwO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBpbnB1dCB0byBvdmVycmlkZSBib3RoIHRyaWdnZXJEZWJvdW5jZSBhbmQgdHJpZ2dlclRocm90dGxlIHRvIGJlIDAuXG4gICAqXG4gICAqIFVzZWQgaW4gZm9ybXMgdGhhdCBnZW5lcmFsbHkgcmV0dXJuIGEgc2luZ2xlIHZhbHVlLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGluc3RhbnRUcmlnZ2VyKGluc3RhbnRUcmlnZ2VyOiBhbnkpIHtcbiAgICBpZiAoaXNEZWZpbmVkQW5kTm90RmFsc2UoaW5zdGFudFRyaWdnZXIpKSB7XG4gICAgICB0aGlzLnRyaWdnZXJEZWJvdW5jZSA9IDEwO1xuICAgICAgdGhpcy50cmlnZ2VyVGhyb3R0bGUgPSAwO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCB0cmlnZ2VyTGltaXQoKTogTWF5YmU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMuX3RyaWdnZXJMaW1pdC52YWx1ZTtcbiAgfVxuXG4gIHNldCB0cmlnZ2VyTGltaXQodHJpZ2dlckxpbWl0OiBNYXliZTxudW1iZXI+KSB7XG4gICAgdHJpZ2dlckxpbWl0ID0gdHJpZ2dlckxpbWl0IHx8IDA7XG4gICAgdGhpcy5fdHJpZ2dlckxpbWl0Lm5leHQodHJpZ2dlckxpbWl0KTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3RyaWdnZXJMaW1pdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBwcml2YXRlIHJlYWRvbmx5IF90cmlnZ2VyID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuICBwcml2YXRlIF90cmlnZ2VyQ291bnQgPSAwO1xuXG4gIHJlYWRvbmx5IF9lcnJvckNvdW50JCA9IHRoaXMuc291cmNlLmVycm9yQ291bnRTaW5jZUxhc3RTdWNjZXNzJDtcblxuICByZWFkb25seSBfdHJpZ2dlckNvdW50JCA9IHRoaXMuc291cmNlLmlzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyVXBkYXRlcyQucGlwZShcbiAgICBmaWx0ZXIoKCkgPT4gdGhpcy5pc0VuYWJsZWQpLFxuICAgIGZpbHRlcigoeCkgPT4geCksXG4gICAgZGVib3VuY2UoKCkgPT4gaW50ZXJ2YWwodGhpcy50cmlnZ2VyRGVib3VuY2UpKSxcbiAgICB0aHJvdHRsZSgoKSA9PiB0aGlzLl9lcnJvckNvdW50JC5waXBlKFxuICAgICAgZmlyc3QoKSxcbiAgICAgIGV4aGF1c3RNYXAoKGNvdW50KSA9PiBpbnRlcnZhbCh0aGlzLnRyaWdnZXJUaHJvdHRsZSArIChNYXRoLm1pbihjb3VudCwgdGhpcy5tYXhFcnJvcnNGb3JUaHJvdHRsZSkgKiB0aGlzLnRyaWdnZXJFcnJvclRocm90dGxlKSkpXG4gICAgKSwgeyBsZWFkaW5nOiB0cnVlLCB0cmFpbGluZzogdHJ1ZSB9KSxcbiAgICAvLyBDaGVjayBhZ2FpbiBmb3IgdGhlIFwidHJhaWxpbmdcIiBwaWVjZS5cbiAgICBmaWx0ZXIoKCkgPT4gdGhpcy5pc0VuYWJsZWQpLFxuICAgIG1lcmdlTWFwKCgpID0+IHRoaXMuc291cmNlLmlzTW9kaWZpZWRBbmRDYW5UcmlnZ2VyJC5waXBlKGZpcnN0KCkpKSxcbiAgICBmaWx0ZXIoKHgpID0+IHgpLFxuICAgIG1hcCgoKSA9PiB0aGlzLl90cmlnZ2VyQ291bnQgKz0gMSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICAvKipcbiAgICogT2JzZXJ2YWJsZSBmb3IgdGhlIHRyaWdnZXIgbWVjaGFuaXNtLlxuICAgKi9cbiAgcmVhZG9ubHkgdHJpZ2dlckNvdW50JCA9IHRoaXMuX3RyaWdnZXJFbmFibGVkLnBpcGUoXG4gICAgc3dpdGNoTWFwKChlbmFibGVkKSA9PiB7XG4gICAgICBpZiAoZW5hYmxlZCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fdHJpZ2dlckNvdW50JDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgIH1cbiAgICB9KVxuICApO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2lzVHJpZ2dlckxpbWl0ZWQkOiBPYnNlcnZhYmxlPFtudW1iZXIsIGJvb2xlYW5dPiA9XG4gICAgY29tYmluZUxhdGVzdChbdGhpcy50cmlnZ2VyQ291bnQkLCB0aGlzLl90cmlnZ2VyTGltaXRdKS5waXBlKFxuICAgICAgbWFwKChbdHJpZ2dlckNvdW50LCBsaW1pdF0pID0+IFt0cmlnZ2VyQ291bnQsICgobGltaXQpID8gKHRyaWdnZXJDb3VudCA+IGxpbWl0KSA6IGZhbHNlKV0gYXMgW251bWJlciwgYm9vbGVhbl0pLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuXG4gIHJlYWRvbmx5IGlzVHJpZ2dlckxpbWl0ZWQkID0gdGhpcy5faXNUcmlnZ2VyTGltaXRlZCQucGlwZShtYXAoeCA9PiB4WzFdKSk7XG4gIHJlYWRvbmx5IHRyaWdnZXIkOiBPYnNlcnZhYmxlPHZvaWQ+ID0gdGhpcy5faXNUcmlnZ2VyTGltaXRlZCQucGlwZShcbiAgICBmaWx0ZXIoeCA9PiAheFsxXSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IGFbMF0gPT09IGJbMF0pLCAgICAvLyBPbmx5IHRyaWdnZXIgd2hlbiB0aGUgY291bnQgY2hhbmdlcy5cbiAgICBtYXAoKCkgPT4gdW5kZWZpbmVkIGFzIHZvaWQpXG4gICk7XG5cbiAgY29uc3RydWN0b3IoQEhvc3QoKSBwdWJsaWMgcmVhZG9ubHkgc291cmNlOiBEYnhBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZTxULCBPPikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBnZXQgaXNFbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRyaWdnZXJFbmFibGVkICE9PSBmYWxzZTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3ViID0gdGhpcy50cmlnZ2VyJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5zb3VyY2UudHJpZ2dlcigpO1xuICAgIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zb3VyY2UubG9ja1NldC5vbk5leHRVbmxvY2soKCkgPT4ge1xuICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgIHRoaXMuX3RyaWdnZXIuY29tcGxldGUoKTtcbiAgICAgIHRoaXMuX3RyaWdnZXJMaW1pdC5jb21wbGV0ZSgpO1xuICAgIH0pO1xuICB9XG5cbn1cbiJdfQ==
|
|
133
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmF1dG90cmlnZ2VyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvYWN0aW9uL2RpcmVjdGl2ZS9hdXRvL2FjdGlvbi5hdXRvdHJpZ2dlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVJLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0QsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDaEYsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxvQkFBb0IsRUFBUyxNQUFNLGVBQWUsQ0FBQzs7O0FBRTVELE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQztBQUVyQyxNQUFNLG1CQUFtQixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUM7QUFFdEMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDO0FBRTNDLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxDQUFDO0FBRXBDOztHQUVHO0FBSUgsTUFBTSxPQUFPLDZCQUFvQyxTQUFRLDZCQUE2QjtJQW1IcEYs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QWM7c0JBRGpCLEtBQUs7Z0JBU0YsWUFBWTtzQkFEZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25Jbml0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vc3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IGRlYm91bmNlLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZXhoYXVzdE1hcCwgZmlsdGVyLCBmaXJzdCwgbWFwLCBtZXJnZU1hcCwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCwgdGhyb3R0bGUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFTVBUWSwgaW50ZXJ2YWwsIFN1YmplY3QsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlIH0gZnJvbSAnLi4vLi4vYWN0aW9uLnN0b3JlLnNvdXJjZSc7XG5pbXBvcnQgeyBIb3N0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGlzRGVmaW5lZEFuZE5vdEZhbHNlLCBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuXG5jb25zdCBERUZBVUxUX0RFQk9VTkNFX01TID0gMiAqIDEwMDA7XG5cbmNvbnN0IERFRkFVTFRfVEhST1RUTEVfTVMgPSAxMCAqIDEwMDA7XG5cbmNvbnN0IERFRkFVTFRfRVJST1JfVEhST1RUTEVfTVMgPSAzICogMTAwMDtcblxuY29uc3QgTUFYX0VSUk9SU19UT19USFJPVFRMRV9PTiA9IDY7XG5cbi8qKlxuICogRGlyZWN0aXZlIHRoYXQgYXV0b21hdGljYWxseSB0cmlnZ2VycyB0aGUgYWN0aW9uIHBlcmlvZGljYWxseSB3aGVuIGl0IGlzIGluIGEgbW9kaWZpZWQgc3RhdGUuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2RieEFjdGlvbkF1dG9UcmlnZ2VyLCBbZGJ4QWN0aW9uQXV0b1RyaWdnZXJdJyxcbn0pXG5leHBvcnQgY2xhc3MgRGJ4QWN0aW9uQXV0b1RyaWdnZXJEaXJlY3RpdmU8VCwgTz4gZXh0ZW5kcyBBYnN0cmFjdFN1YnNjcmlwdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF90cmlnZ2VyRW5hYmxlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4odHJ1ZSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3RyaWdnZXJMaW1pdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICBwcml2YXRlIHJlYWRvbmx5IF90cmlnZ2VyID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuXG4gIC8qKlxuICAgKiBIb3cgbXVjaCB0byB0aHJvdHRsZSB0aGUgYXV0by10cmlnZ2VyaW5nLlxuICAgKi9cbiAgQElucHV0KCdkYnhBY3Rpb25BdXRvVHJpZ2dlcicpXG4gIGdldCB0cmlnZ2VyRW5hYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdHJpZ2dlckVuYWJsZWQudmFsdWU7XG4gIH1cblxuICBzZXQgdHJpZ2dlckVuYWJsZWQodHJpZ2dlckVuYWJsZWQ6IE1heWJlPGJvb2xlYW4+IHwgYW55KSB7XG4gICAgdHJpZ2dlckVuYWJsZWQgPSB0cmlnZ2VyRW5hYmxlZCAhPT0gZmFsc2U7ICAvLyBEZWZhdWx0IHRvIHRydWVcblxuICAgIGlmICh0aGlzLnRyaWdnZXJFbmFibGVkICE9PSB0cmlnZ2VyRW5hYmxlZCkge1xuICAgICAgdGhpcy5fdHJpZ2dlckVuYWJsZWQubmV4dCh0cmlnZ2VyRW5hYmxlZCk7XG4gICAgfVxuICB9XG5cbiAgQElucHV0KClcbiAgdHJpZ2dlckRlYm91bmNlID0gREVGQVVMVF9ERUJPVU5DRV9NUztcblxuICBASW5wdXQoKVxuICB0cmlnZ2VyVGhyb3R0bGUgPSBERUZBVUxUX1RIUk9UVExFX01TO1xuXG4gIEBJbnB1dCgpXG4gIHRyaWdnZXJFcnJvclRocm90dGxlID0gREVGQVVMVF9FUlJPUl9USFJPVFRMRV9NUztcblxuICBtYXhFcnJvcnNGb3JUaHJvdHRsZSA9IE1BWF9FUlJPUlNfVE9fVEhST1RUTEVfT047XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGlucHV0IHRvIG92ZXJyaWRlIGJvdGggdHJpZ2dlckRlYm91bmNlIGFuZCB0cmlnZ2VyVGhyb3R0bGUuXG4gICAqXG4gICAqIFVzZWQgaW4gZm9ybXMgdGhhdCBhcmUgc2ltcGxlLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGZhc3RUcmlnZ2VyKGZhc3RUcmlnZ2VyOiBhbnkpIHtcbiAgICBpZiAoaXNEZWZpbmVkQW5kTm90RmFsc2UoZmFzdFRyaWdnZXIpKSB7XG4gICAgICB0aGlzLnRyaWdnZXJEZWJvdW5jZSA9IDIwMDtcbiAgICAgIHRoaXMudHJpZ2dlclRocm90dGxlID0gNTAwO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBpbnB1dCB0byBvdmVycmlkZSBib3RoIHRyaWdnZXJEZWJvdW5jZSBhbmQgdHJpZ2dlclRocm90dGxlIHRvIGJlIDAuXG4gICAqXG4gICAqIFVzZWQgaW4gZm9ybXMgdGhhdCBnZW5lcmFsbHkgcmV0dXJuIGEgc2luZ2xlIHZhbHVlLlxuICAgKi9cbiAgQElucHV0KClcbiAgc2V0IGluc3RhbnRUcmlnZ2VyKGluc3RhbnRUcmlnZ2VyOiBhbnkpIHtcbiAgICBpZiAoaXNEZWZpbmVkQW5kTm90RmFsc2UoaW5zdGFudFRyaWdnZXIpKSB7XG4gICAgICB0aGlzLnRyaWdnZXJEZWJvdW5jZSA9IDEwO1xuICAgICAgdGhpcy50cmlnZ2VyVGhyb3R0bGUgPSAwO1xuICAgIH1cbiAgfVxuXG4gIEBJbnB1dCgpXG4gIGdldCB0cmlnZ2VyTGltaXQoKTogTWF5YmU8bnVtYmVyPiB7XG4gICAgcmV0dXJuIHRoaXMuX3RyaWdnZXJMaW1pdC52YWx1ZTtcbiAgfVxuXG4gIHNldCB0cmlnZ2VyTGltaXQodHJpZ2dlckxpbWl0OiBNYXliZTxudW1iZXI+KSB7XG4gICAgdHJpZ2dlckxpbWl0ID0gdHJpZ2dlckxpbWl0IHx8IDA7XG4gICAgdGhpcy5fdHJpZ2dlckxpbWl0Lm5leHQodHJpZ2dlckxpbWl0KTtcbiAgfVxuXG4gIHByaXZhdGUgX3RyaWdnZXJDb3VudCA9IDA7XG5cbiAgcmVhZG9ubHkgX2Vycm9yQ291bnQkID0gdGhpcy5zb3VyY2UuZXJyb3JDb3VudFNpbmNlTGFzdFN1Y2Nlc3MkO1xuXG4gIHJlYWRvbmx5IF90cmlnZ2VyQ291bnQkID0gdGhpcy5zb3VyY2UuaXNNb2RpZmllZEFuZENhblRyaWdnZXJVcGRhdGVzJC5waXBlKFxuICAgIGZpbHRlcigoKSA9PiB0aGlzLmlzRW5hYmxlZCksXG4gICAgZmlsdGVyKCh4KSA9PiB4KSxcbiAgICBkZWJvdW5jZSgoKSA9PiBpbnRlcnZhbCh0aGlzLnRyaWdnZXJEZWJvdW5jZSkpLFxuICAgIHRocm90dGxlKCgpID0+IHRoaXMuX2Vycm9yQ291bnQkLnBpcGUoXG4gICAgICBmaXJzdCgpLFxuICAgICAgZXhoYXVzdE1hcCgoY291bnQpID0+IGludGVydmFsKHRoaXMudHJpZ2dlclRocm90dGxlICsgKE1hdGgubWluKGNvdW50LCB0aGlzLm1heEVycm9yc0ZvclRocm90dGxlKSAqIHRoaXMudHJpZ2dlckVycm9yVGhyb3R0bGUpKSlcbiAgICApLCB7IGxlYWRpbmc6IHRydWUsIHRyYWlsaW5nOiB0cnVlIH0pLFxuICAgIC8vIENoZWNrIGFnYWluIGZvciB0aGUgXCJ0cmFpbGluZ1wiIHBpZWNlLlxuICAgIGZpbHRlcigoKSA9PiB0aGlzLmlzRW5hYmxlZCksXG4gICAgbWVyZ2VNYXAoKCkgPT4gdGhpcy5zb3VyY2UuaXNNb2RpZmllZEFuZENhblRyaWdnZXIkLnBpcGUoZmlyc3QoKSkpLFxuICAgIGZpbHRlcigoeCkgPT4geCksXG4gICAgbWFwKCgpID0+IHRoaXMuX3RyaWdnZXJDb3VudCArPSAxKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIC8qKlxuICAgKiBPYnNlcnZhYmxlIGZvciB0aGUgdHJpZ2dlciBtZWNoYW5pc20uXG4gICAqL1xuICByZWFkb25seSB0cmlnZ2VyQ291bnQkID0gdGhpcy5fdHJpZ2dlckVuYWJsZWQucGlwZShcbiAgICBzd2l0Y2hNYXAoKGVuYWJsZWQpID0+IHtcbiAgICAgIGlmIChlbmFibGVkKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl90cmlnZ2VyQ291bnQkO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIEVNUFRZO1xuICAgICAgfVxuICAgIH0pXG4gICk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfaXNUcmlnZ2VyTGltaXRlZCQ6IE9ic2VydmFibGU8W251bWJlciwgYm9vbGVhbl0+ID1cbiAgICBjb21iaW5lTGF0ZXN0KFt0aGlzLnRyaWdnZXJDb3VudCQsIHRoaXMuX3RyaWdnZXJMaW1pdF0pLnBpcGUoXG4gICAgICBtYXAoKFt0cmlnZ2VyQ291bnQsIGxpbWl0XSkgPT4gW3RyaWdnZXJDb3VudCwgKChsaW1pdCkgPyAodHJpZ2dlckNvdW50ID4gbGltaXQpIDogZmFsc2UpXSBhcyBbbnVtYmVyLCBib29sZWFuXSksXG4gICAgICBzaGFyZVJlcGxheSgxKVxuICAgICk7XG5cbiAgcmVhZG9ubHkgaXNUcmlnZ2VyTGltaXRlZCQgPSB0aGlzLl9pc1RyaWdnZXJMaW1pdGVkJC5waXBlKG1hcCh4ID0+IHhbMV0pKTtcbiAgcmVhZG9ubHkgdHJpZ2dlciQ6IE9ic2VydmFibGU8dm9pZD4gPSB0aGlzLl9pc1RyaWdnZXJMaW1pdGVkJC5waXBlKFxuICAgIGZpbHRlcih4ID0+ICF4WzFdKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gYVswXSA9PT0gYlswXSksICAgIC8vIE9ubHkgdHJpZ2dlciB3aGVuIHRoZSBjb3VudCBjaGFuZ2VzLlxuICAgIG1hcCgoKSA9PiB1bmRlZmluZWQgYXMgdm9pZClcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihASG9zdCgpIHB1YmxpYyByZWFkb25seSBzb3VyY2U6IERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlPFQsIE8+KSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGdldCBpc0VuYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMudHJpZ2dlckVuYWJsZWQgIT09IGZhbHNlO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWIgPSB0aGlzLnRyaWdnZXIkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLnNvdXJjZS50cmlnZ2VyKCk7XG4gICAgfSk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnNvdXJjZS5sb2NrU2V0Lm9uTmV4dFVubG9jaygoKSA9PiB7XG4gICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgICAgdGhpcy5fdHJpZ2dlckVuYWJsZWQuY29tcGxldGUoKTtcbiAgICAgIHRoaXMuX3RyaWdnZXIuY29tcGxldGUoKTtcbiAgICAgIHRoaXMuX3RyaWdnZXJMaW1pdC5jb21wbGV0ZSgpO1xuICAgIH0pO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -16,9 +16,9 @@ export class DbxActionDirective extends DbxActionContextBaseSource {
|
|
|
16
16
|
});
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
-
DbxActionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2
|
|
20
|
-
DbxActionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
19
|
+
DbxActionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionDirective, deps: [{ token: i1.SecondaryActionContextStoreSource, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
20
|
+
DbxActionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxActionDirective, selector: "dbx-action,[dbxAction],dbx-action-context,[dbxActionContext]", providers: ProvideActionStoreSource(DbxActionDirective), exportAs: ["action", "dbxAction"], usesInheritance: true, ngImport: i0 });
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionDirective, decorators: [{
|
|
22
22
|
type: Directive,
|
|
23
23
|
args: [{
|
|
24
24
|
selector: 'dbx-action,[dbxAction],dbx-action-context,[dbxActionContext]',
|
|
@@ -25,9 +25,9 @@ export class DbxActionSourceDirective {
|
|
|
25
25
|
this._source.next(source);
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
DbxActionSourceDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2
|
|
29
|
-
DbxActionSourceDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
28
|
+
DbxActionSourceDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionSourceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
29
|
+
DbxActionSourceDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxActionSourceDirective, selector: "[dbxActionSource]", inputs: { source: ["dbxActionSource", "source"] }, providers: ProvideSecondaryActionStoreSource(DbxActionSourceDirective), ngImport: i0 });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionSourceDirective, decorators: [{
|
|
31
31
|
type: Directive,
|
|
32
32
|
args: [{
|
|
33
33
|
selector: '[dbxActionSource]',
|
|
@@ -17,9 +17,9 @@ export class DbxActionContextLoggerDirective extends AbstractSubscriptionDirecti
|
|
|
17
17
|
});
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
|
-
DbxActionContextLoggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2
|
|
21
|
-
DbxActionContextLoggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
20
|
+
DbxActionContextLoggerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionContextLoggerDirective, deps: [{ token: i1.DbxActionContextStoreSourceInstance, host: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
21
|
+
DbxActionContextLoggerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxActionContextLoggerDirective, selector: "[dbxActionLogger],[dbxActionContextLogger]", usesInheritance: true, ngImport: i0 });
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionContextLoggerDirective, decorators: [{
|
|
23
23
|
type: Directive,
|
|
24
24
|
args: [{
|
|
25
25
|
selector: '[dbxActionLogger],[dbxActionContextLogger]'
|
|
@@ -52,9 +52,9 @@ export class DbxActionContextMapDirective {
|
|
|
52
52
|
return this.map$.pipe(switchMap(combineLatestFromMapValuesObsFn((x) => x.store$.pipe(switchMap(mapFn)))));
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
|
-
DbxActionContextMapDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2
|
|
56
|
-
DbxActionContextMapDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2
|
|
57
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
55
|
+
DbxActionContextMapDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionContextMapDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
56
|
+
DbxActionContextMapDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxActionContextMapDirective, selector: "[dbxActionContextMap]", providers: [], exportAs: ["actionMap"], ngImport: i0 });
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionContextMapDirective, decorators: [{
|
|
58
58
|
type: Directive,
|
|
59
59
|
args: [{
|
|
60
60
|
selector: '[dbxActionContextMap]',
|
|
@@ -25,9 +25,9 @@ export class DbxActionFromMapDirective {
|
|
|
25
25
|
this._key.next(key);
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
|
-
DbxActionFromMapDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2
|
|
29
|
-
DbxActionFromMapDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
28
|
+
DbxActionFromMapDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionFromMapDirective, deps: [{ token: i1.DbxActionContextMapDirective }], target: i0.ɵɵFactoryTarget.Directive });
|
|
29
|
+
DbxActionFromMapDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxActionFromMapDirective, selector: "[dbxActionFromMap]", inputs: { key: ["dbxActionFromMap", "key"] }, providers: ProvideSecondaryActionStoreSource(DbxActionFromMapDirective), ngImport: i0 });
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionFromMapDirective, decorators: [{
|
|
31
31
|
type: Directive,
|
|
32
32
|
args: [{
|
|
33
33
|
selector: '[dbxActionFromMap]',
|