@ngrdt/core 0.0.2 → 0.0.4
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/esm2022/index.mjs +4 -0
- package/esm2022/lib/rdt-autofocus/index.mjs +4 -0
- package/esm2022/lib/rdt-autofocus/models.mjs +3 -0
- package/esm2022/lib/rdt-autofocus/rdt-autofocusable.directive.mjs +27 -0
- package/esm2022/lib/rdt-autofocus/utils.mjs +9 -0
- package/esm2022/lib/rdt-component-guard/directives/rdt-child.directive.mjs +88 -0
- package/esm2022/lib/rdt-component-guard/directives/rdt-container.directive.mjs +95 -0
- package/esm2022/lib/rdt-component-guard/index.mjs +5 -0
- package/esm2022/lib/rdt-component-guard/models.mjs +25 -0
- package/esm2022/lib/rdt-component-guard/services/rdt-component-guard-store.service.mjs +36 -0
- package/esm2022/lib/utils/index.mjs +2 -0
- package/esm2022/lib/utils/rdt-boolean-result.mjs +25 -0
- package/esm2022/ngrdt-core.mjs +5 -0
- package/fesm2022/ngrdt-core.mjs +299 -0
- package/fesm2022/ngrdt-core.mjs.map +1 -0
- package/lib/rdt-autofocus/models.d.ts +8 -0
- package/lib/rdt-autofocus/rdt-autofocusable.directive.d.ts +8 -0
- package/lib/rdt-autofocus/utils.d.ts +3 -0
- package/lib/rdt-component-guard/directives/rdt-child.directive.d.ts +22 -0
- package/lib/rdt-component-guard/directives/rdt-container.directive.d.ts +18 -0
- package/{src/lib/rdt-component-guard/index.ts → lib/rdt-component-guard/index.d.ts} +1 -0
- package/lib/rdt-component-guard/models.d.ts +22 -0
- package/lib/rdt-component-guard/services/rdt-component-guard-store.service.d.ts +11 -0
- package/lib/utils/rdt-boolean-result.d.ts +4 -0
- package/package.json +20 -4
- package/eslint.config.js +0 -44
- package/jest.config.ts +0 -21
- package/ng-package.json +0 -7
- package/project.json +0 -36
- package/src/lib/rdt-autofocus/models.ts +0 -12
- package/src/lib/rdt-autofocus/rdt-autofocusable.directive.ts +0 -22
- package/src/lib/rdt-autofocus/utils.ts +0 -13
- package/src/lib/rdt-component-guard/directives/rdt-child.directive.ts +0 -103
- package/src/lib/rdt-component-guard/directives/rdt-container.directive.ts +0 -90
- package/src/lib/rdt-component-guard/models.ts +0 -47
- package/src/lib/utils/rdt-boolean-result.ts +0 -38
- package/src/test-setup.ts +0 -8
- package/tsconfig.json +0 -28
- package/tsconfig.lib.json +0 -17
- package/tsconfig.lib.prod.json +0 -9
- package/tsconfig.spec.json +0 -16
- /package/{src/index.ts → index.d.ts} +0 -0
- /package/{src/lib/rdt-autofocus/index.ts → lib/rdt-autofocus/index.d.ts} +0 -0
- /package/{src/lib/utils/index.ts → lib/utils/index.d.ts} +0 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './lib/rdt-autofocus';
|
|
2
|
+
export * from './lib/rdt-component-guard';
|
|
3
|
+
export * from './lib/utils';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9AbmdyZHQvY29yZS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvcmR0LWF1dG9mb2N1cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9yZHQtY29tcG9uZW50LWd1YXJkJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3V0aWxzJztcbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './models';
|
|
2
|
+
export * from './rdt-autofocusable.directive';
|
|
3
|
+
export * from './utils';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvY29yZS9zcmMvbGliL3JkdC1hdXRvZm9jdXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9kZWxzJztcbmV4cG9ydCAqIGZyb20gJy4vcmR0LWF1dG9mb2N1c2FibGUuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbHMnO1xuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export const RDT_AUTOFOCUSABLE_COMPONENT = new InjectionToken('');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2NvcmUvc3JjL2xpYi9yZHQtYXV0b2ZvY3VzL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBUy9DLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLElBQUksY0FBYyxDQUMzRCxFQUFFLENBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZHRCb29sZWFuUmVzdWx0IH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJkdEF1dG9jdXNhYmxlIHtcbiAgcmR0Rm9jdXMoKTogdm9pZDtcbiAgcmR0Q2FuRm9jdXMoKTogUmR0Qm9vbGVhblJlc3VsdDtcbiAgcmR0R2V0QXV0b2ZvY3VzUHJpb3JpdHk/KCk6IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IFJEVF9BVVRPRk9DVVNBQkxFX0NPTVBPTkVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxSZHRBdXRvY3VzYWJsZT4oXG4gICcnXG4pO1xuIl19
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Directive, inject } from '@angular/core';
|
|
2
|
+
import { RDT_AUTOFOCUSABLE_COMPONENT } from './models';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class RdtAutofocusableDirective {
|
|
5
|
+
component = inject(RDT_AUTOFOCUSABLE_COMPONENT, {
|
|
6
|
+
host: true,
|
|
7
|
+
optional: true,
|
|
8
|
+
self: true,
|
|
9
|
+
});
|
|
10
|
+
ngOnInit() {
|
|
11
|
+
if (!this.component) {
|
|
12
|
+
throw new Error(`
|
|
13
|
+
RdtAutofocusableDirective usage:
|
|
14
|
+
Apply directive directly on component and provide the same component as RDT_AUTOFOCUSABLE_COMPONENT.
|
|
15
|
+
The component must then implement RdtAutocusable.`);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RdtAutofocusableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
19
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: RdtAutofocusableDirective, selector: "[rdtAutofocusable]", ngImport: i0 });
|
|
20
|
+
}
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RdtAutofocusableDirective, decorators: [{
|
|
22
|
+
type: Directive,
|
|
23
|
+
args: [{
|
|
24
|
+
selector: '[rdtAutofocusable]',
|
|
25
|
+
}]
|
|
26
|
+
}] });
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWF1dG9mb2N1c2FibGUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2NvcmUvc3JjL2xpYi9yZHQtYXV0b2ZvY3VzL3JkdC1hdXRvZm9jdXNhYmxlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBS3ZELE1BQU0sT0FBTyx5QkFBeUI7SUFDM0IsU0FBUyxHQUFHLE1BQU0sQ0FBQywyQkFBMkIsRUFBRTtRQUN2RCxJQUFJLEVBQUUsSUFBSTtRQUNWLFFBQVEsRUFBRSxJQUFJO1FBQ2QsSUFBSSxFQUFFLElBQUk7S0FDWCxDQUFDLENBQUM7SUFFSCxRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDOzs7MERBR29DLENBQUMsQ0FBQztRQUN4RCxDQUFDO0lBQ0gsQ0FBQzt1R0FkVSx5QkFBeUI7MkZBQXpCLHlCQUF5Qjs7MkZBQXpCLHlCQUF5QjtrQkFIckMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsb0JBQW9CO2lCQUMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJEVF9BVVRPRk9DVVNBQkxFX0NPTVBPTkVOVCB9IGZyb20gJy4vbW9kZWxzJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3JkdEF1dG9mb2N1c2FibGVdJyxcbn0pXG5leHBvcnQgY2xhc3MgUmR0QXV0b2ZvY3VzYWJsZURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHJlYWRvbmx5IGNvbXBvbmVudCA9IGluamVjdChSRFRfQVVUT0ZPQ1VTQUJMRV9DT01QT05FTlQsIHtcbiAgICBob3N0OiB0cnVlLFxuICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIHNlbGY6IHRydWUsXG4gIH0pO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICghdGhpcy5jb21wb25lbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgXG4gICAgICAgIFJkdEF1dG9mb2N1c2FibGVEaXJlY3RpdmUgdXNhZ2U6XG4gICAgICAgIEFwcGx5IGRpcmVjdGl2ZSBkaXJlY3RseSBvbiBjb21wb25lbnQgYW5kIHByb3ZpZGUgdGhlIHNhbWUgY29tcG9uZW50IGFzIFJEVF9BVVRPRk9DVVNBQkxFX0NPTVBPTkVOVC5cbiAgICAgICAgVGhlIGNvbXBvbmVudCBtdXN0IHRoZW4gaW1wbGVtZW50IFJkdEF1dG9jdXNhYmxlLmApO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export function getRdtAutofocusable(src) {
|
|
2
|
+
const withPrios = Array.from(src).map((dir) => ({
|
|
3
|
+
cmp: dir.component,
|
|
4
|
+
prio: dir.component?.rdtGetAutofocusPriority?.() ?? 0,
|
|
5
|
+
}));
|
|
6
|
+
withPrios.sort((a, b) => b.prio - a.prio);
|
|
7
|
+
return withPrios[0]?.cmp;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvY29yZS9zcmMvbGliL3JkdC1hdXRvZm9jdXMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxVQUFVLG1CQUFtQixDQUNqQyxHQUF3QztJQUV4QyxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM5QyxHQUFHLEVBQUUsR0FBRyxDQUFDLFNBQVM7UUFDbEIsSUFBSSxFQUFFLEdBQUcsQ0FBQyxTQUFTLEVBQUUsdUJBQXVCLEVBQUUsRUFBRSxJQUFJLENBQUM7S0FDdEQsQ0FBQyxDQUFDLENBQUM7SUFDSixTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUMsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDO0FBQzNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZHRBdXRvY3VzYWJsZSB9IGZyb20gJy4vbW9kZWxzJztcbmltcG9ydCB7IFJkdEF1dG9mb2N1c2FibGVEaXJlY3RpdmUgfSBmcm9tICcuL3JkdC1hdXRvZm9jdXNhYmxlLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZHRBdXRvZm9jdXNhYmxlKFxuICBzcmM6IEl0ZXJhYmxlPFJkdEF1dG9mb2N1c2FibGVEaXJlY3RpdmU+XG4pOiBSZHRBdXRvY3VzYWJsZSB8IG51bGwge1xuICBjb25zdCB3aXRoUHJpb3MgPSBBcnJheS5mcm9tKHNyYykubWFwKChkaXIpID0+ICh7XG4gICAgY21wOiBkaXIuY29tcG9uZW50LFxuICAgIHByaW86IGRpci5jb21wb25lbnQ/LnJkdEdldEF1dG9mb2N1c1ByaW9yaXR5Py4oKSA/PyAwLFxuICB9KSk7XG4gIHdpdGhQcmlvcy5zb3J0KChhLCBiKSA9PiBiLnByaW8gLSBhLnByaW8pO1xuICByZXR1cm4gd2l0aFByaW9zWzBdPy5jbXA7XG59XG4iXX0=
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { DestroyRef, Directive, inject, } from '@angular/core';
|
|
2
|
+
import { RDT_CONTAINER, RDT_GUARDED_COMPONENT, } from '../models';
|
|
3
|
+
import { RdtComponentGuardStoreService } from '../services/rdt-component-guard-store.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class RdtChildDirective {
|
|
6
|
+
guardStore = inject(RdtComponentGuardStoreService);
|
|
7
|
+
destroyRef = inject(DestroyRef);
|
|
8
|
+
container = inject(RDT_CONTAINER, {
|
|
9
|
+
optional: true,
|
|
10
|
+
skipSelf: true,
|
|
11
|
+
});
|
|
12
|
+
guardedComponent = inject(RDT_GUARDED_COMPONENT, {
|
|
13
|
+
optional: true,
|
|
14
|
+
self: true,
|
|
15
|
+
host: true,
|
|
16
|
+
});
|
|
17
|
+
ngOnInit() {
|
|
18
|
+
if (!this.guardedComponent) {
|
|
19
|
+
throw new Error(`
|
|
20
|
+
RdtChildDirective usage:
|
|
21
|
+
Apply directive directly on component and provide the same component as RDT_GUARDED_COMPONENT.
|
|
22
|
+
The component can then implement RdtCanLeaveView or RdtCanEnterView.
|
|
23
|
+
This applies to both Child and Container directives.
|
|
24
|
+
`);
|
|
25
|
+
}
|
|
26
|
+
if (!this.container) {
|
|
27
|
+
this.guardStore.registerGuard(this);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
this.container?.registerChild(this);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
ngOnDestroy() {
|
|
34
|
+
this.guardStore.removeGuard(this);
|
|
35
|
+
this.container?.removeChild(this);
|
|
36
|
+
}
|
|
37
|
+
isActive() {
|
|
38
|
+
const comp = this.guardedComponent;
|
|
39
|
+
return comp?.rdtIsActive?.() ?? true;
|
|
40
|
+
}
|
|
41
|
+
canEnterView() {
|
|
42
|
+
const comp = this.guardedComponent;
|
|
43
|
+
if (typeof comp?.rdtCanEnterView === 'function') {
|
|
44
|
+
return comp.rdtCanEnterView();
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
canLeaveView() {
|
|
51
|
+
const comp = this.guardedComponent;
|
|
52
|
+
if (typeof comp?.rdtCanLeaveView === 'function') {
|
|
53
|
+
return comp.rdtCanLeaveView();
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
onViewWillEnter() {
|
|
60
|
+
const comp = this.guardedComponent;
|
|
61
|
+
comp?.rdtOnViewWillEnter();
|
|
62
|
+
}
|
|
63
|
+
onViewWillLeave() {
|
|
64
|
+
const comp = this.guardedComponent;
|
|
65
|
+
comp?.rdtOnViewWillLeave();
|
|
66
|
+
}
|
|
67
|
+
getParentByClass(parentClass) {
|
|
68
|
+
if (!this.container) {
|
|
69
|
+
return null;
|
|
70
|
+
}
|
|
71
|
+
else if (this.container instanceof parentClass) {
|
|
72
|
+
return this.container;
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
return this.container.getParentByClass(parentClass);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RdtChildDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
79
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: RdtChildDirective, isStandalone: true, selector: "[rdtChild]", ngImport: i0 });
|
|
80
|
+
}
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RdtChildDirective, decorators: [{
|
|
82
|
+
type: Directive,
|
|
83
|
+
args: [{
|
|
84
|
+
selector: '[rdtChild]',
|
|
85
|
+
standalone: true,
|
|
86
|
+
}]
|
|
87
|
+
}] });
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWNoaWxkLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL0BuZ3JkdC9jb3JlL3NyYy9saWIvcmR0LWNvbXBvbmVudC1ndWFyZC9kaXJlY3RpdmVzL3JkdC1jaGlsZC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFVBQVUsRUFDVixTQUFTLEVBQ1QsTUFBTSxHQUlQLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxhQUFhLEVBQ2IscUJBQXFCLEdBTXRCLE1BQU0sV0FBVyxDQUFDO0FBQ25CLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLCtDQUErQyxDQUFDOztBQU85RixNQUFNLE9BQU8saUJBQWlCO0lBQ25CLFVBQVUsR0FBRyxNQUFNLENBQUMsNkJBQTZCLENBQUMsQ0FBQztJQUNuRCxVQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hDLFNBQVMsR0FBRyxNQUFNLENBQUMsYUFBYSxFQUFFO1FBQ3pDLFFBQVEsRUFBRSxJQUFJO1FBQ2QsUUFBUSxFQUFFLElBQUk7S0FDZixDQUFDLENBQUM7SUFDTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMscUJBQXFCLEVBQUU7UUFDeEQsUUFBUSxFQUFFLElBQUk7UUFDZCxJQUFJLEVBQUUsSUFBSTtRQUNWLElBQUksRUFBRSxJQUFJO0tBQ1gsQ0FBQyxDQUFDO0lBRUgsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUMzQixNQUFNLElBQUksS0FBSyxDQUFDOzs7OztTQUtiLENBQUMsQ0FBQztRQUNQLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELFFBQVE7UUFDTixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZ0JBQTJDLENBQUM7UUFDOUQsT0FBTyxJQUFJLEVBQUUsV0FBVyxFQUFFLEVBQUUsSUFBSSxJQUFJLENBQUM7SUFDdkMsQ0FBQztJQUVELFlBQVk7UUFDVixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZ0JBQStDLENBQUM7UUFDbEUsSUFBSSxPQUFPLElBQUksRUFBRSxlQUFlLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDaEQsT0FBTyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDaEMsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDO0lBRUQsWUFBWTtRQUNWLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxnQkFBK0MsQ0FBQztRQUNsRSxJQUFJLE9BQU8sSUFBSSxFQUFFLGVBQWUsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUNoRCxPQUFPLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUNoQyxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQztJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGdCQUFrRCxDQUFDO1FBQ3JFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGdCQUFrRCxDQUFDO1FBQ3JFLElBQUksRUFBRSxrQkFBa0IsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxnQkFBZ0IsQ0FDZCxXQUFvQjtRQUVwQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3BCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsWUFBWSxXQUFXLEVBQUUsQ0FBQztZQUNqRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDeEIsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdEQsQ0FBQztJQUNILENBQUM7dUdBN0VVLGlCQUFpQjsyRkFBakIsaUJBQWlCOzsyRkFBakIsaUJBQWlCO2tCQUo3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxZQUFZO29CQUN0QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEZXN0cm95UmVmLFxuICBEaXJlY3RpdmUsXG4gIGluamVjdCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFR5cGUsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR0Qm9vbGVhblJlc3VsdCB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7XG4gIFJEVF9DT05UQUlORVIsXG4gIFJEVF9HVUFSREVEX0NPTVBPTkVOVCxcbiAgUmR0Q2FuRW50ZXJWaWV3LFxuICBSZHRDYW5MZWF2ZVZpZXcsXG4gIFJkdElzQWN0aXZlLFxuICBSZHRPblZpZXdXaWxsRW50ZXIsXG4gIFJkdE9uVmlld1dpbGxMZWF2ZSxcbn0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7IFJkdENvbXBvbmVudEd1YXJkU3RvcmVTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvcmR0LWNvbXBvbmVudC1ndWFyZC1zdG9yZS5zZXJ2aWNlJztcbmltcG9ydCB7IFJkdENvbnRhaW5lckRpcmVjdGl2ZSB9IGZyb20gJy4vcmR0LWNvbnRhaW5lci5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbcmR0Q2hpbGRdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgUmR0Q2hpbGREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5IGd1YXJkU3RvcmUgPSBpbmplY3QoUmR0Q29tcG9uZW50R3VhcmRTdG9yZVNlcnZpY2UpO1xuICByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICByZWFkb25seSBjb250YWluZXIgPSBpbmplY3QoUkRUX0NPTlRBSU5FUiwge1xuICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIHNraXBTZWxmOiB0cnVlLFxuICB9KTtcbiAgcmVhZG9ubHkgZ3VhcmRlZENvbXBvbmVudCA9IGluamVjdChSRFRfR1VBUkRFRF9DT01QT05FTlQsIHtcbiAgICBvcHRpb25hbDogdHJ1ZSxcbiAgICBzZWxmOiB0cnVlLFxuICAgIGhvc3Q6IHRydWUsXG4gIH0pO1xuXG4gIG5nT25Jbml0KCkge1xuICAgIGlmICghdGhpcy5ndWFyZGVkQ29tcG9uZW50KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFxuICAgICAgICBSZHRDaGlsZERpcmVjdGl2ZSB1c2FnZTpcbiAgICAgICAgQXBwbHkgZGlyZWN0aXZlIGRpcmVjdGx5IG9uIGNvbXBvbmVudCBhbmQgcHJvdmlkZSB0aGUgc2FtZSBjb21wb25lbnQgYXMgUkRUX0dVQVJERURfQ09NUE9ORU5ULlxuICAgICAgICBUaGUgY29tcG9uZW50IGNhbiB0aGVuIGltcGxlbWVudCBSZHRDYW5MZWF2ZVZpZXcgb3IgUmR0Q2FuRW50ZXJWaWV3LlxuICAgICAgICBUaGlzIGFwcGxpZXMgdG8gYm90aCBDaGlsZCBhbmQgQ29udGFpbmVyIGRpcmVjdGl2ZXMuXG4gICAgICAgIGApO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuY29udGFpbmVyKSB7XG4gICAgICB0aGlzLmd1YXJkU3RvcmUucmVnaXN0ZXJHdWFyZCh0aGlzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jb250YWluZXI/LnJlZ2lzdGVyQ2hpbGQodGhpcyk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5ndWFyZFN0b3JlLnJlbW92ZUd1YXJkKHRoaXMpO1xuICAgIHRoaXMuY29udGFpbmVyPy5yZW1vdmVDaGlsZCh0aGlzKTtcbiAgfVxuXG4gIGlzQWN0aXZlKCkge1xuICAgIGNvbnN0IGNvbXAgPSB0aGlzLmd1YXJkZWRDb21wb25lbnQgYXMgUmR0SXNBY3RpdmUgfCB1bmRlZmluZWQ7XG4gICAgcmV0dXJuIGNvbXA/LnJkdElzQWN0aXZlPy4oKSA/PyB0cnVlO1xuICB9XG5cbiAgY2FuRW50ZXJWaWV3KCk6IFJkdEJvb2xlYW5SZXN1bHQge1xuICAgIGNvbnN0IGNvbXAgPSB0aGlzLmd1YXJkZWRDb21wb25lbnQgYXMgUmR0Q2FuRW50ZXJWaWV3IHwgdW5kZWZpbmVkO1xuICAgIGlmICh0eXBlb2YgY29tcD8ucmR0Q2FuRW50ZXJWaWV3ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm4gY29tcC5yZHRDYW5FbnRlclZpZXcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgY2FuTGVhdmVWaWV3KCk6IFJkdEJvb2xlYW5SZXN1bHQge1xuICAgIGNvbnN0IGNvbXAgPSB0aGlzLmd1YXJkZWRDb21wb25lbnQgYXMgUmR0Q2FuTGVhdmVWaWV3IHwgdW5kZWZpbmVkO1xuICAgIGlmICh0eXBlb2YgY29tcD8ucmR0Q2FuTGVhdmVWaWV3ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm4gY29tcC5yZHRDYW5MZWF2ZVZpZXcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgb25WaWV3V2lsbEVudGVyKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbXAgPSB0aGlzLmd1YXJkZWRDb21wb25lbnQgYXMgUmR0T25WaWV3V2lsbEVudGVyIHwgdW5kZWZpbmVkO1xuICAgIGNvbXA/LnJkdE9uVmlld1dpbGxFbnRlcigpO1xuICB9XG5cbiAgb25WaWV3V2lsbExlYXZlKCk6IHZvaWQge1xuICAgIGNvbnN0IGNvbXAgPSB0aGlzLmd1YXJkZWRDb21wb25lbnQgYXMgUmR0T25WaWV3V2lsbExlYXZlIHwgdW5kZWZpbmVkO1xuICAgIGNvbXA/LnJkdE9uVmlld1dpbGxMZWF2ZSgpO1xuICB9XG5cbiAgZ2V0UGFyZW50QnlDbGFzczxUIGV4dGVuZHMgUmR0Q29udGFpbmVyRGlyZWN0aXZlPihcbiAgICBwYXJlbnRDbGFzczogVHlwZTxUPlxuICApOiBUIHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLmNvbnRhaW5lcikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbnRhaW5lciBpbnN0YW5jZW9mIHBhcmVudENsYXNzKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb250YWluZXI7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbnRhaW5lci5nZXRQYXJlbnRCeUNsYXNzKHBhcmVudENsYXNzKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { rdtGetAllResultsTrue$ } from '../../utils';
|
|
3
|
+
import { RDT_CONTAINER } from '../models';
|
|
4
|
+
import { RdtChildDirective } from './rdt-child.directive';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class RdtContainerDirective extends RdtChildDirective {
|
|
7
|
+
rdtChildren = new Set();
|
|
8
|
+
registerChild(child) {
|
|
9
|
+
this.rdtChildren.add(child);
|
|
10
|
+
}
|
|
11
|
+
removeChild(child) {
|
|
12
|
+
this.rdtChildren.delete(child);
|
|
13
|
+
}
|
|
14
|
+
checkCanLeave$() {
|
|
15
|
+
return rdtGetAllResultsTrue$([this, ...this.getActiveChildren()].map((ch) => () => ch.canLeaveView()));
|
|
16
|
+
}
|
|
17
|
+
/* TODO
|
|
18
|
+
checkCanEnter$() {
|
|
19
|
+
return getCan$(
|
|
20
|
+
[this, ...this.getActiveChildren()].map((ch) => () => ch.canEnterView())
|
|
21
|
+
);
|
|
22
|
+
}
|
|
23
|
+
*/
|
|
24
|
+
onViewWillEnter() {
|
|
25
|
+
super.onViewWillEnter();
|
|
26
|
+
this.rdtChildren.forEach((ch) => ch.onViewWillEnter());
|
|
27
|
+
}
|
|
28
|
+
onViewWillLeave() {
|
|
29
|
+
super.onViewWillLeave();
|
|
30
|
+
this.rdtChildren.forEach((ch) => ch.onViewWillLeave());
|
|
31
|
+
}
|
|
32
|
+
getChildrenRecursive(filter) {
|
|
33
|
+
const res = [];
|
|
34
|
+
this._getChildrenRecursive(res, filter);
|
|
35
|
+
return res;
|
|
36
|
+
}
|
|
37
|
+
getActiveChildren() {
|
|
38
|
+
return this.getChildrenRecursive((ch) => ch.isActive());
|
|
39
|
+
}
|
|
40
|
+
getChildrenByClass(childClass) {
|
|
41
|
+
const res = [];
|
|
42
|
+
this._getChildrenByClassRecursive(childClass, res);
|
|
43
|
+
return res;
|
|
44
|
+
}
|
|
45
|
+
_getChildrenRecursive(res, filter) {
|
|
46
|
+
const children = Array.from(this.rdtChildren);
|
|
47
|
+
const filteredChildren = filter ? children.filter(filter) : children;
|
|
48
|
+
res.push(...filteredChildren);
|
|
49
|
+
filteredChildren.forEach((child) => {
|
|
50
|
+
if (child instanceof RdtContainerDirective) {
|
|
51
|
+
child._getChildrenRecursive(res, filter);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
_getChildrenByClassRecursive(childClass, res) {
|
|
56
|
+
this.rdtChildren.forEach((child) => {
|
|
57
|
+
const comp = child.guardedComponent;
|
|
58
|
+
if (comp instanceof childClass) {
|
|
59
|
+
res.push(comp);
|
|
60
|
+
}
|
|
61
|
+
else if (child instanceof RdtContainerDirective) {
|
|
62
|
+
child._getChildrenByClassRecursive(childClass, res);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RdtContainerDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
67
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.7", type: RdtContainerDirective, isStandalone: true, selector: "[rdtContainer]", providers: [
|
|
68
|
+
{
|
|
69
|
+
provide: RdtChildDirective,
|
|
70
|
+
useExisting: RdtContainerDirective,
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
provide: RDT_CONTAINER,
|
|
74
|
+
useExisting: RdtContainerDirective,
|
|
75
|
+
},
|
|
76
|
+
], usesInheritance: true, ngImport: i0 });
|
|
77
|
+
}
|
|
78
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RdtContainerDirective, decorators: [{
|
|
79
|
+
type: Directive,
|
|
80
|
+
args: [{
|
|
81
|
+
selector: '[rdtContainer]',
|
|
82
|
+
standalone: true,
|
|
83
|
+
providers: [
|
|
84
|
+
{
|
|
85
|
+
provide: RdtChildDirective,
|
|
86
|
+
useExisting: RdtContainerDirective,
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
provide: RDT_CONTAINER,
|
|
90
|
+
useExisting: RdtContainerDirective,
|
|
91
|
+
},
|
|
92
|
+
],
|
|
93
|
+
}]
|
|
94
|
+
}] });
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWNvbnRhaW5lci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvY29yZS9zcmMvbGliL3JkdC1jb21wb25lbnQtZ3VhcmQvZGlyZWN0aXZlcy9yZHQtY29udGFpbmVyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFRLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQWdCMUQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGlCQUFpQjtJQUNqRCxXQUFXLEdBQTJCLElBQUksR0FBRyxFQUFxQixDQUFDO0lBRTVFLGFBQWEsQ0FBQyxLQUF3QjtRQUNwQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQXdCO1FBQ2xDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxxQkFBcUIsQ0FDMUIsQ0FBQyxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQ3pFLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7OztNQU1FO0lBRU8sZUFBZTtRQUN0QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUs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JztcbmltcG9ydCB7IHJkdEdldEFsbFJlc3VsdHNUcnVlJCB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IFJEVF9DT05UQUlORVIgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgUmR0Q2hpbGREaXJlY3RpdmUgfSBmcm9tICcuL3JkdC1jaGlsZC5kaXJlY3RpdmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbcmR0Q29udGFpbmVyXScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IFJkdENoaWxkRGlyZWN0aXZlLFxuICAgICAgdXNlRXhpc3Rpbmc6IFJkdENvbnRhaW5lckRpcmVjdGl2ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFJEVF9DT05UQUlORVIsXG4gICAgICB1c2VFeGlzdGluZzogUmR0Q29udGFpbmVyRGlyZWN0aXZlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFJkdENvbnRhaW5lckRpcmVjdGl2ZSBleHRlbmRzIFJkdENoaWxkRGlyZWN0aXZlIHtcbiAgcmVhZG9ubHkgcmR0Q2hpbGRyZW46IFNldDxSZHRDaGlsZERpcmVjdGl2ZT4gPSBuZXcgU2V0PFJkdENoaWxkRGlyZWN0aXZlPigpO1xuXG4gIHJlZ2lzdGVyQ2hpbGQoY2hpbGQ6IFJkdENoaWxkRGlyZWN0aXZlKSB7XG4gICAgdGhpcy5yZHRDaGlsZHJlbi5hZGQoY2hpbGQpO1xuICB9XG5cbiAgcmVtb3ZlQ2hpbGQoY2hpbGQ6IFJkdENoaWxkRGlyZWN0aXZlKSB7XG4gICAgdGhpcy5yZHRDaGlsZHJlbi5kZWxldGUoY2hpbGQpO1xuICB9XG5cbiAgY2hlY2tDYW5MZWF2ZSQoKSB7XG4gICAgcmV0dXJuIHJkdEdldEFsbFJlc3VsdHNUcnVlJChcbiAgICAgIFt0aGlzLCAuLi50aGlzLmdldEFjdGl2ZUNoaWxkcmVuKCldLm1hcCgoY2gpID0+ICgpID0+IGNoLmNhbkxlYXZlVmlldygpKVxuICAgICk7XG4gIH1cblxuICAvKiBUT0RPXG4gIGNoZWNrQ2FuRW50ZXIkKCkge1xuICAgIHJldHVybiBnZXRDYW4kKFxuICAgICAgW3RoaXMsIC4uLnRoaXMuZ2V0QWN0aXZlQ2hpbGRyZW4oKV0ubWFwKChjaCkgPT4gKCkgPT4gY2guY2FuRW50ZXJWaWV3KCkpXG4gICAgKTtcbiAgfVxuICAqL1xuXG4gIG92ZXJyaWRlIG9uVmlld1dpbGxFbnRlcigpIHtcbiAgICBzdXBlci5vblZpZXdXaWxsRW50ZXIoKTtcbiAgICB0aGlzLnJkdENoaWxkcmVuLmZvckVhY2goKGNoKSA9PiBjaC5vblZpZXdXaWxsRW50ZXIoKSk7XG4gIH1cblxuICBvdmVycmlkZSBvblZpZXdXaWxsTGVhdmUoKSB7XG4gICAgc3VwZXIub25WaWV3V2lsbExlYXZlKCk7XG4gICAgdGhpcy5yZHRDaGlsZHJlbi5mb3JFYWNoKChjaCkgPT4gY2gub25WaWV3V2lsbExlYXZlKCkpO1xuICB9XG5cbiAgZ2V0Q2hpbGRyZW5SZWN1cnNpdmUoZmlsdGVyPzogKGNoOiBSZHRDaGlsZERpcmVjdGl2ZSkgPT4gYm9vbGVhbikge1xuICAgIGNvbnN0IHJlczogUmR0Q2hpbGREaXJlY3RpdmVbXSA9IFtdO1xuICAgIHRoaXMuX2dldENoaWxkcmVuUmVjdXJzaXZlKHJlcywgZmlsdGVyKTtcbiAgICByZXR1cm4gcmVzO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldEFjdGl2ZUNoaWxkcmVuKCkge1xuICAgIHJldHVybiB0aGlzLmdldENoaWxkcmVuUmVjdXJzaXZlKChjaCkgPT4gY2guaXNBY3RpdmUoKSk7XG4gIH1cblxuICBnZXRDaGlsZHJlbkJ5Q2xhc3M8VD4oY2hpbGRDbGFzczogVHlwZTxUPikge1xuICAgIGNvbnN0IHJlczogVFtdID0gW107XG4gICAgdGhpcy5fZ2V0Q2hpbGRyZW5CeUNsYXNzUmVjdXJzaXZlKGNoaWxkQ2xhc3MsIHJlcyk7XG4gICAgcmV0dXJuIHJlcztcbiAgfVxuXG4gIHByaXZhdGUgX2dldENoaWxkcmVuUmVjdXJzaXZlKFxuICAgIHJlczogUmR0Q2hpbGREaXJlY3RpdmVbXSxcbiAgICBmaWx0ZXI/OiAoY2g6IFJkdENoaWxkRGlyZWN0aXZlKSA9PiBib29sZWFuXG4gICkge1xuICAgIGNvbnN0IGNoaWxkcmVuID0gQXJyYXkuZnJvbSh0aGlzLnJkdENoaWxkcmVuKTtcbiAgICBjb25zdCBmaWx0ZXJlZENoaWxkcmVuID0gZmlsdGVyID8gY2hpbGRyZW4uZmlsdGVyKGZpbHRlcikgOiBjaGlsZHJlbjtcbiAgICByZXMucHVzaCguLi5maWx0ZXJlZENoaWxkcmVuKTtcbiAgICBmaWx0ZXJlZENoaWxkcmVuLmZvckVhY2goKGNoaWxkKSA9PiB7XG4gICAgICBpZiAoY2hpbGQgaW5zdGFuY2VvZiBSZHRDb250YWluZXJEaXJlY3RpdmUpIHtcbiAgICAgICAgY2hpbGQuX2dldENoaWxkcmVuUmVjdXJzaXZlKHJlcywgZmlsdGVyKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldENoaWxkcmVuQnlDbGFzc1JlY3Vyc2l2ZTxUPihjaGlsZENsYXNzOiBUeXBlPFQ+LCByZXM6IFRbXSkge1xuICAgIHRoaXMucmR0Q2hpbGRyZW4uZm9yRWFjaCgoY2hpbGQpID0+IHtcbiAgICAgIGNvbnN0IGNvbXAgPSAoY2hpbGQgYXMgUmR0Q2hpbGREaXJlY3RpdmUpLmd1YXJkZWRDb21wb25lbnQ7XG4gICAgICBpZiAoY29tcCBpbnN0YW5jZW9mIGNoaWxkQ2xhc3MpIHtcbiAgICAgICAgcmVzLnB1c2goY29tcCk7XG4gICAgICB9IGVsc2UgaWYgKGNoaWxkIGluc3RhbmNlb2YgUmR0Q29udGFpbmVyRGlyZWN0aXZlKSB7XG4gICAgICAgIGNoaWxkLl9nZXRDaGlsZHJlbkJ5Q2xhc3NSZWN1cnNpdmUoY2hpbGRDbGFzcywgcmVzKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './directives/rdt-child.directive';
|
|
2
|
+
export * from './directives/rdt-container.directive';
|
|
3
|
+
export * from './models';
|
|
4
|
+
export * from './services/rdt-component-guard-store.service';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvY29yZS9zcmMvbGliL3JkdC1jb21wb25lbnQtZ3VhcmQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsOENBQThDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvcmR0LWNoaWxkLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvcmR0LWNvbnRhaW5lci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9yZHQtY29tcG9uZW50LWd1YXJkLXN0b3JlLnNlcnZpY2UnO1xuIl19
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
import { of } from 'rxjs';
|
|
3
|
+
export const RDT_GUARDED_COMPONENT = new InjectionToken('');
|
|
4
|
+
export const RDT_CONTAINER = new InjectionToken('');
|
|
5
|
+
export function canTransition$(from, to) {
|
|
6
|
+
console.log('canTransition$', from, to);
|
|
7
|
+
if (to === from) {
|
|
8
|
+
return of(true);
|
|
9
|
+
}
|
|
10
|
+
const canLeave$ = from ? from.checkCanLeave$() : of(true);
|
|
11
|
+
return canLeave$;
|
|
12
|
+
/*
|
|
13
|
+
const canEnter$ = to ? to.checkCanEnter$() : of(true);
|
|
14
|
+
|
|
15
|
+
return canLeave$.pipe(
|
|
16
|
+
switchMap((res) => {
|
|
17
|
+
if (res) {
|
|
18
|
+
return canEnter$;
|
|
19
|
+
} else {
|
|
20
|
+
return of(res);
|
|
21
|
+
}
|
|
22
|
+
})
|
|
23
|
+
);*/
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2NvcmUvc3JjL2xpYi9yZHQtY29tcG9uZW50LWd1YXJkL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUF3QjFCLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQU1yRCxFQUFFLENBQUMsQ0FBQztBQUVOLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxJQUFJLGNBQWMsQ0FBd0IsRUFBRSxDQUFDLENBQUM7QUFFM0UsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsSUFBcUMsRUFDckMsRUFBbUM7SUFFbkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDeEMsSUFBSSxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDaEIsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUNELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUQsT0FBTyxTQUFTLENBQUM7SUFDakI7Ozs7Ozs7Ozs7O1FBV0k7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnQG5ncmR0L3V0aWxzJztcbmltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZHRCb29sZWFuUmVzdWx0IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgUmR0Q29udGFpbmVyRGlyZWN0aXZlIH0gZnJvbSAnLi9kaXJlY3RpdmVzL3JkdC1jb250YWluZXIuZGlyZWN0aXZlJztcblxuZXhwb3J0IGludGVyZmFjZSBSZHRJc0FjdGl2ZSB7XG4gIHJkdElzQWN0aXZlKCk6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmR0Q2FuTGVhdmVWaWV3IHtcbiAgcmR0Q2FuTGVhdmVWaWV3KCk6IFJkdEJvb2xlYW5SZXN1bHQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmR0Q2FuRW50ZXJWaWV3IHtcbiAgcmR0Q2FuRW50ZXJWaWV3KCk6IFJkdEJvb2xlYW5SZXN1bHQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmR0T25WaWV3V2lsbExlYXZlIHtcbiAgcmR0T25WaWV3V2lsbExlYXZlKCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmR0T25WaWV3V2lsbEVudGVyIHtcbiAgcmR0T25WaWV3V2lsbEVudGVyKCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBSRFRfR1VBUkRFRF9DT01QT05FTlQgPSBuZXcgSW5qZWN0aW9uVG9rZW48XG4gIHwgUmR0Q2FuTGVhdmVWaWV3XG4gIHwgUmR0Q2FuRW50ZXJWaWV3XG4gIHwgUmR0T25WaWV3V2lsbEVudGVyXG4gIHwgUmR0T25WaWV3V2lsbExlYXZlXG4gIHwgUmR0SXNBY3RpdmVcbj4oJycpO1xuXG5leHBvcnQgY29uc3QgUkRUX0NPTlRBSU5FUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxSZHRDb250YWluZXJEaXJlY3RpdmU+KCcnKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNhblRyYW5zaXRpb24kKFxuICBmcm9tOiBOdWxsYWJsZTxSZHRDb250YWluZXJEaXJlY3RpdmU+LFxuICB0bzogTnVsbGFibGU8UmR0Q29udGFpbmVyRGlyZWN0aXZlPlxuKSB7XG4gIGNvbnNvbGUubG9nKCdjYW5UcmFuc2l0aW9uJCcsIGZyb20sIHRvKTtcbiAgaWYgKHRvID09PSBmcm9tKSB7XG4gICAgcmV0dXJuIG9mKHRydWUpO1xuICB9XG4gIGNvbnN0IGNhbkxlYXZlJCA9IGZyb20gPyBmcm9tLmNoZWNrQ2FuTGVhdmUkKCkgOiBvZih0cnVlKTtcbiAgcmV0dXJuIGNhbkxlYXZlJDtcbiAgLypcbiAgY29uc3QgY2FuRW50ZXIkID0gdG8gPyB0by5jaGVja0NhbkVudGVyJCgpIDogb2YodHJ1ZSk7XG5cbiAgcmV0dXJuIGNhbkxlYXZlJC5waXBlKFxuICAgIHN3aXRjaE1hcCgocmVzKSA9PiB7XG4gICAgICBpZiAocmVzKSB7XG4gICAgICAgIHJldHVybiBjYW5FbnRlciQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gb2YocmVzKTtcbiAgICAgIH1cbiAgICB9KVxuICApOyovXG59XG4iXX0=
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { rdtGetAllResultsTrue$ } from '../../utils';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class RdtComponentGuardStoreService {
|
|
5
|
+
guards = new Set();
|
|
6
|
+
registerGuard(guard) {
|
|
7
|
+
this.guards.add(guard);
|
|
8
|
+
}
|
|
9
|
+
removeGuard(guard) {
|
|
10
|
+
this.guards.delete(guard);
|
|
11
|
+
}
|
|
12
|
+
getGuards() {
|
|
13
|
+
return Array.from(this.guards);
|
|
14
|
+
}
|
|
15
|
+
checkCanLeaveGlobal$() {
|
|
16
|
+
return rdtGetAllResultsTrue$(this.getGuards().map((ch) => () => {
|
|
17
|
+
// @ts-ignore
|
|
18
|
+
if (typeof ch.checkCanLeave$ === 'function') {
|
|
19
|
+
// @ts-ignore
|
|
20
|
+
return ch.checkCanLeave$();
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
return ch.canLeaveView();
|
|
24
|
+
}
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RdtComponentGuardStoreService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
28
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RdtComponentGuardStoreService, providedIn: 'root' });
|
|
29
|
+
}
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RdtComponentGuardStoreService, decorators: [{
|
|
31
|
+
type: Injectable,
|
|
32
|
+
args: [{
|
|
33
|
+
providedIn: 'root',
|
|
34
|
+
}]
|
|
35
|
+
}] });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWNvbXBvbmVudC1ndWFyZC1zdG9yZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2NvcmUvc3JjL2xpYi9yZHQtY29tcG9uZW50LWd1YXJkL3NlcnZpY2VzL3JkdC1jb21wb25lbnQtZ3VhcmQtc3RvcmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7QUFNcEQsTUFBTSxPQUFPLDZCQUE2QjtJQUN2QixNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQXFCLENBQUM7SUFFdkQsYUFBYSxDQUFDLEtBQXdCO1FBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBd0I7UUFDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELFNBQVM7UUFDUCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsT0FBTyxxQkFBcUIsQ0FDMUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFO1lBQ2hDLGFBQWE7WUFDYixJQUFJLE9BQU8sRUFBRSxDQUFDLGNBQWMsS0FBSyxVQUFVLEVBQUUsQ0FBQztnQkFDNUMsYUFBYTtnQkFDYixPQUFPLEVBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUM3QixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDM0IsQ0FBQztRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDO3VHQTNCVSw2QkFBNkI7MkdBQTdCLDZCQUE2QixjQUY1QixNQUFNOzsyRkFFUCw2QkFBNkI7a0JBSHpDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcmR0R2V0QWxsUmVzdWx0c1RydWUkIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xuaW1wb3J0IHsgUmR0Q2hpbGREaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL3JkdC1jaGlsZC5kaXJlY3RpdmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgUmR0Q29tcG9uZW50R3VhcmRTdG9yZVNlcnZpY2Uge1xuICBwcml2YXRlIHJlYWRvbmx5IGd1YXJkcyA9IG5ldyBTZXQ8UmR0Q2hpbGREaXJlY3RpdmU+KCk7XG5cbiAgcmVnaXN0ZXJHdWFyZChndWFyZDogUmR0Q2hpbGREaXJlY3RpdmUpIHtcbiAgICB0aGlzLmd1YXJkcy5hZGQoZ3VhcmQpO1xuICB9XG5cbiAgcmVtb3ZlR3VhcmQoZ3VhcmQ6IFJkdENoaWxkRGlyZWN0aXZlKSB7XG4gICAgdGhpcy5ndWFyZHMuZGVsZXRlKGd1YXJkKTtcbiAgfVxuXG4gIGdldEd1YXJkcygpIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmd1YXJkcyk7XG4gIH1cblxuICBjaGVja0NhbkxlYXZlR2xvYmFsJCgpIHtcbiAgICByZXR1cm4gcmR0R2V0QWxsUmVzdWx0c1RydWUkKFxuICAgICAgdGhpcy5nZXRHdWFyZHMoKS5tYXAoKGNoKSA9PiAoKSA9PiB7XG4gICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgaWYgKHR5cGVvZiBjaC5jaGVja0NhbkxlYXZlJCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICByZXR1cm4gY2guY2hlY2tDYW5MZWF2ZSQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gY2guY2FuTGVhdmVWaWV3KCk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './rdt-boolean-result';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9AbmdyZHQvY29yZS9zcmMvbGliL3V0aWxzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3JkdC1ib29sZWFuLXJlc3VsdCc7XG4iXX0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { catchError, concat, defer, filter, map, of } from 'rxjs';
|
|
2
|
+
import { fromPromise } from 'rxjs/internal/observable/innerFrom';
|
|
3
|
+
export function rdtGetAllResultsTrue$(inputFactories) {
|
|
4
|
+
const can$ = inputFactories.map((fn) => rdtGetResult$(fn));
|
|
5
|
+
const last = Symbol('last');
|
|
6
|
+
return concat(...can$, of(last)).pipe(filter((res) => res === last), map(() => true), catchError(() => of(false)));
|
|
7
|
+
}
|
|
8
|
+
export function rdtGetResult$(inputFactory) {
|
|
9
|
+
return defer(() => {
|
|
10
|
+
const input = inputFactory();
|
|
11
|
+
if (typeof input === 'boolean') {
|
|
12
|
+
return of(input);
|
|
13
|
+
}
|
|
14
|
+
if (input instanceof Promise) {
|
|
15
|
+
return fromPromise(input);
|
|
16
|
+
}
|
|
17
|
+
return input;
|
|
18
|
+
}).pipe(map((res) => {
|
|
19
|
+
if (res) {
|
|
20
|
+
return res;
|
|
21
|
+
}
|
|
22
|
+
throw res;
|
|
23
|
+
}));
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LWJvb2xlYW4tcmVzdWx0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vQG5ncmR0L2NvcmUvc3JjL2xpYi91dGlscy9yZHQtYm9vbGVhbi1yZXN1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUlqRSxNQUFNLFVBQVUscUJBQXFCLENBQ25DLGNBQTBDO0lBRTFDLE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQzNELE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUU1QixPQUFPLE1BQU0sQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ25DLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxFQUM3QixHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQ2YsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUM1QixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsWUFBb0M7SUFDaEUsT0FBTyxLQUFLLENBQUMsR0FBRyxFQUFFO1FBQ2hCLE1BQU0sS0FBSyxHQUFHLFlBQVksRUFBRSxDQUFDO1FBRTdCLElBQUksT0FBTyxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDL0IsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkIsQ0FBQztRQUNELElBQUksS0FBSyxZQUFZLE9BQU8sRUFBRSxDQUFDO1lBQzdCLE9BQU8sV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVCLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtRQUNWLElBQUksR0FBRyxFQUFFLENBQUM7WUFDUixPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUM7UUFDRCxNQUFNLEdBQUcsQ0FBQztJQUNaLENBQUMsQ0FBQyxDQUNILENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY2F0Y2hFcnJvciwgY29uY2F0LCBkZWZlciwgZmlsdGVyLCBtYXAsIE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBmcm9tUHJvbWlzZSB9IGZyb20gJ3J4anMvaW50ZXJuYWwvb2JzZXJ2YWJsZS9pbm5lckZyb20nO1xuXG5leHBvcnQgdHlwZSBSZHRCb29sZWFuUmVzdWx0ID0gT2JzZXJ2YWJsZTxib29sZWFuPiB8IFByb21pc2U8Ym9vbGVhbj4gfCBib29sZWFuO1xuXG5leHBvcnQgZnVuY3Rpb24gcmR0R2V0QWxsUmVzdWx0c1RydWUkKFxuICBpbnB1dEZhY3RvcmllczogKCgpID0+IFJkdEJvb2xlYW5SZXN1bHQpW11cbikge1xuICBjb25zdCBjYW4kID0gaW5wdXRGYWN0b3JpZXMubWFwKChmbikgPT4gcmR0R2V0UmVzdWx0JChmbikpO1xuICBjb25zdCBsYXN0ID0gU3ltYm9sKCdsYXN0Jyk7XG5cbiAgcmV0dXJuIGNvbmNhdCguLi5jYW4kLCBvZihsYXN0KSkucGlwZShcbiAgICBmaWx0ZXIoKHJlcykgPT4gcmVzID09PSBsYXN0KSxcbiAgICBtYXAoKCkgPT4gdHJ1ZSksXG4gICAgY2F0Y2hFcnJvcigoKSA9PiBvZihmYWxzZSkpXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZHRHZXRSZXN1bHQkKGlucHV0RmFjdG9yeTogKCkgPT4gUmR0Qm9vbGVhblJlc3VsdCkge1xuICByZXR1cm4gZGVmZXIoKCkgPT4ge1xuICAgIGNvbnN0IGlucHV0ID0gaW5wdXRGYWN0b3J5KCk7XG5cbiAgICBpZiAodHlwZW9mIGlucHV0ID09PSAnYm9vbGVhbicpIHtcbiAgICAgIHJldHVybiBvZihpbnB1dCk7XG4gICAgfVxuICAgIGlmIChpbnB1dCBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgIHJldHVybiBmcm9tUHJvbWlzZShpbnB1dCk7XG4gICAgfVxuICAgIHJldHVybiBpbnB1dDtcbiAgfSkucGlwZShcbiAgICBtYXAoKHJlcykgPT4ge1xuICAgICAgaWYgKHJlcykge1xuICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgfVxuICAgICAgdGhyb3cgcmVzO1xuICAgIH0pXG4gICk7XG59XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdyZHQtY29yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL0BuZ3JkdC9jb3JlL3NyYy9uZ3JkdC1jb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|