@dereekb/dbx-firebase 11.0.0 → 11.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/esm2022/lib/model/modules/store/store.document.directive.mjs +34 -19
- package/esm2022/lib/model/system/systemstate.document.store.directive.mjs +6 -7
- package/fesm2022/dereekb-dbx-firebase.mjs +34 -21
- package/fesm2022/dereekb-dbx-firebase.mjs.map +1 -1
- package/lib/model/modules/model/model.types.view.directive.d.ts +1 -1
- package/lib/model/modules/store/store.document.auth.directive.d.ts +1 -1
- package/lib/model/modules/store/store.document.directive.d.ts +14 -7
- package/lib/model/modules/store/store.document.router.directive.d.ts +1 -1
- package/lib/model/modules/store/store.document.router.key.directive.d.ts +1 -1
- package/lib/model/system/systemstate.document.store.directive.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,37 +1,52 @@
|
|
|
1
1
|
import { Directive, forwardRef, Input } from '@angular/core';
|
|
2
2
|
import { FirestoreAccessorStreamMode } from '@dereekb/firebase';
|
|
3
|
+
import { BehaviorSubject, shareReplay, switchMap } from 'rxjs';
|
|
4
|
+
import { filterMaybe, useFirst } from '@dereekb/rxjs';
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
4
6
|
/**
|
|
5
7
|
* Abstract directive that contains a DbxFirebaseDocumentStore and provides an interface for communicating with other directives.
|
|
6
8
|
*/
|
|
7
9
|
export class DbxFirebaseDocumentStoreDirective {
|
|
8
|
-
|
|
10
|
+
_store = new BehaviorSubject(undefined);
|
|
11
|
+
store$ = this._store.pipe(filterMaybe(), shareReplay(1));
|
|
12
|
+
exists$ = this.store$.pipe(switchMap((x) => x.exists$));
|
|
13
|
+
document$ = this.store$.pipe(switchMap((x) => x.document$));
|
|
14
|
+
documentLoadingState$ = this.store$.pipe(switchMap((x) => x.documentLoadingState$));
|
|
15
|
+
id$ = this.store$.pipe(switchMap((x) => x.id$));
|
|
16
|
+
key$ = this.store$.pipe(switchMap((x) => x.key$));
|
|
17
|
+
ref$ = this.store$.pipe(switchMap((x) => x.ref$));
|
|
18
|
+
snapshot$ = this.store$.pipe(switchMap((x) => x.snapshot$));
|
|
19
|
+
snapshotLoadingState$ = this.store$.pipe(switchMap((x) => x.snapshotLoadingState$));
|
|
20
|
+
modelIdentity$ = this.store$.pipe(switchMap((x) => x.modelIdentity$));
|
|
21
|
+
data$ = this.store$.pipe(switchMap((x) => x.data$));
|
|
22
|
+
loadingState$ = this.store$.pipe(switchMap((x) => x.dataLoadingState$));
|
|
9
23
|
constructor(store) {
|
|
10
|
-
this.store
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
data$ = this.store.data$;
|
|
22
|
-
loadingState$ = this.store.dataLoadingState$;
|
|
24
|
+
this.replaceStore(store);
|
|
25
|
+
}
|
|
26
|
+
ngOnDestroy() {
|
|
27
|
+
this._store.complete();
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Replaces the internal store.
|
|
31
|
+
*/
|
|
32
|
+
replaceStore(store) {
|
|
33
|
+
this._store.next(store);
|
|
34
|
+
}
|
|
23
35
|
// MARK: Inputs
|
|
36
|
+
get store() {
|
|
37
|
+
return this._store.value;
|
|
38
|
+
}
|
|
24
39
|
set documentId(documentId) {
|
|
25
|
-
this.store.setId(documentId);
|
|
40
|
+
useFirst(this.store$, (x) => x.setId(documentId));
|
|
26
41
|
}
|
|
27
42
|
set key(key) {
|
|
28
|
-
this.store.setKey(key);
|
|
43
|
+
useFirst(this.store$, (x) => x.setKey(key));
|
|
29
44
|
}
|
|
30
45
|
set ref(ref) {
|
|
31
|
-
this.store.setRef(ref);
|
|
46
|
+
useFirst(this.store$, (x) => x.setRef(ref));
|
|
32
47
|
}
|
|
33
48
|
set streamMode(streamMode) {
|
|
34
|
-
this.store.setStreamMode(streamMode);
|
|
49
|
+
useFirst(this.store$, (x) => x.setStreamMode(streamMode));
|
|
35
50
|
}
|
|
36
51
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDocumentStoreDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
37
52
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseDocumentStoreDirective, inputs: { documentId: "documentId", key: "key", ref: "ref", streamMode: "streamMode" }, ngImport: i0 });
|
|
@@ -59,4 +74,4 @@ export function provideDbxFirebaseDocumentStoreDirective(sourceType, storeType)
|
|
|
59
74
|
}
|
|
60
75
|
return providers;
|
|
61
76
|
}
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuZG9jdW1lbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvbW9kZWwvbW9kdWxlcy9zdG9yZS9zdG9yZS5kb2N1bWVudC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUE2QixNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQXFCLDJCQUEyQixFQUEwRCxNQUFNLG1CQUFtQixDQUFDO0FBRzNJLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFFdEQ7O0dBRUc7QUFFSCxNQUFNLE9BQWdCLGlDQUFpQztJQUNwQyxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQVcsU0FBUyxDQUFDLENBQUM7SUFDMUQsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBRXpELE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3hELFNBQVMsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0lBQzVELHFCQUFxQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQztJQUVwRixHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNoRCxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUNsRCxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUVsRCxTQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUM1RCxxQkFBcUIsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUM7SUFFcEYsY0FBYyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7SUFDdEUsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDcEQsYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQztJQUVqRixZQUFZLEtBQVE7UUFDbEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsWUFBWSxDQUFDLEtBQVE7UUFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELGVBQWU7SUFDZixJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBVSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUNJLFVBQVUsQ0FBQyxVQUFtQztRQUNoRCxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxJQUNJLEdBQUcsQ0FBQyxHQUE2QjtRQUNuQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUNJLEdBQUcsQ0FBQyxHQUFnQztRQUN0QyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUNJLFVBQVUsQ0FBQyxVQUF1QztRQUNwRCxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBQzVELENBQUM7d0dBekRtQixpQ0FBaUM7NEZBQWpDLGlDQUFpQzs7NEZBQWpDLGlDQUFpQztrQkFEdEQsU0FBUzs2RkF5Q0osVUFBVTtzQkFEYixLQUFLO2dCQU1GLEdBQUc7c0JBRE4sS0FBSztnQkFNRixHQUFHO3NCQUROLEtBQUs7Z0JBTUYsVUFBVTtzQkFEYixLQUFLOztBQWtCUixNQUFNLFVBQVUsd0NBQXdDLENBQTBKLFVBQW1CLEVBQUUsU0FBbUI7SUFDeFAsTUFBTSxTQUFTLEdBQWU7UUFDNUI7WUFDRSxPQUFPLEVBQUUsaUNBQWlDO1lBQzFDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDO1NBQzFDO0tBQ0YsQ0FBQztJQUVGLElBQUksU0FBUyxFQUFFO1FBQ2IsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztLQUMzQjtJQUVELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIFByb3ZpZGVyLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb2N1bWVudFJlZmVyZW5jZSwgRmlyZXN0b3JlQWNjZXNzb3JTdHJlYW1Nb2RlLCBGaXJlc3RvcmVEb2N1bWVudCwgRmlyZXN0b3JlTW9kZWxLZXksIEZpcmVzdG9yZU1vZGVsSWQgfSBmcm9tICdAZGVyZWVrYi9maXJlYmFzZSc7XG5pbXBvcnQgeyBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlIH0gZnJvbSAnLi9zdG9yZS5kb2N1bWVudCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlck1heWJlLCB1c2VGaXJzdCB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuXG4vKipcbiAqIEFic3RyYWN0IGRpcmVjdGl2ZSB0aGF0IGNvbnRhaW5zIGEgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlIGFuZCBwcm92aWRlcyBhbiBpbnRlcmZhY2UgZm9yIGNvbW11bmljYXRpbmcgd2l0aCBvdGhlciBkaXJlY3RpdmVzLlxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVEaXJlY3RpdmU8VCA9IHVua25vd24sIEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxUPiA9IEZpcmVzdG9yZURvY3VtZW50PFQ+LCBTIGV4dGVuZHMgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlPFQsIEQ+ID0gRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlPFQsIEQ+PiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxTPj4odW5kZWZpbmVkKTtcbiAgcmVhZG9ubHkgc3RvcmUkID0gdGhpcy5fc3RvcmUucGlwZShmaWx0ZXJNYXliZSgpLCBzaGFyZVJlcGxheSgxKSk7XG5cbiAgcmVhZG9ubHkgZXhpc3RzJCA9IHRoaXMuc3RvcmUkLnBpcGUoc3dpdGNoTWFwKCh4KSA9PiB4LmV4aXN0cyQpKTtcbiAgcmVhZG9ubHkgZG9jdW1lbnQkID0gdGhpcy5zdG9yZSQucGlwZShzd2l0Y2hNYXAoKHgpID0+IHguZG9jdW1lbnQkKSk7XG4gIHJlYWRvbmx5IGRvY3VtZW50TG9hZGluZ1N0YXRlJCA9IHRoaXMuc3RvcmUkLnBpcGUoc3dpdGNoTWFwKCh4KSA9PiB4LmRvY3VtZW50TG9hZGluZ1N0YXRlJCkpO1xuXG4gIHJlYWRvbmx5IGlkJCA9IHRoaXMuc3RvcmUkLnBpcGUoc3dpdGNoTWFwKCh4KSA9PiB4LmlkJCkpO1xuICByZWFkb25seSBrZXkkID0gdGhpcy5zdG9yZSQucGlwZShzd2l0Y2hNYXAoKHgpID0+IHgua2V5JCkpO1xuICByZWFkb25seSByZWYkID0gdGhpcy5zdG9yZSQucGlwZShzd2l0Y2hNYXAoKHgpID0+IHgucmVmJCkpO1xuXG4gIHJlYWRvbmx5IHNuYXBzaG90JCA9IHRoaXMuc3RvcmUkLnBpcGUoc3dpdGNoTWFwKCh4KSA9PiB4LnNuYXBzaG90JCkpO1xuICByZWFkb25seSBzbmFwc2hvdExvYWRpbmdTdGF0ZSQgPSB0aGlzLnN0b3JlJC5waXBlKHN3aXRjaE1hcCgoeCkgPT4geC5zbmFwc2hvdExvYWRpbmdTdGF0ZSQpKTtcblxuICByZWFkb25seSBtb2RlbElkZW50aXR5JCA9IHRoaXMuc3RvcmUkLnBpcGUoc3dpdGNoTWFwKCh4KSA9PiB4Lm1vZGVsSWRlbnRpdHkkKSk7XG4gIHJlYWRvbmx5IGRhdGEkID0gdGhpcy5zdG9yZSQucGlwZShzd2l0Y2hNYXAoKHgpID0+IHguZGF0YSQpKTtcbiAgcmVhZG9ubHkgbG9hZGluZ1N0YXRlJCA9IHRoaXMuc3RvcmUkLnBpcGUoc3dpdGNoTWFwKCh4KSA9PiB4LmRhdGFMb2FkaW5nU3RhdGUkKSk7XG5cbiAgY29uc3RydWN0b3Ioc3RvcmU6IFMpIHtcbiAgICB0aGlzLnJlcGxhY2VTdG9yZShzdG9yZSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdG9yZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcGxhY2VzIHRoZSBpbnRlcm5hbCBzdG9yZS5cbiAgICovXG4gIHJlcGxhY2VTdG9yZShzdG9yZTogUykge1xuICAgIHRoaXMuX3N0b3JlLm5leHQoc3RvcmUpO1xuICB9XG5cbiAgLy8gTUFSSzogSW5wdXRzXG4gIGdldCBzdG9yZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc3RvcmUudmFsdWUgYXMgUztcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBkb2N1bWVudElkKGRvY3VtZW50SWQ6IE1heWJlPEZpcmVzdG9yZU1vZGVsSWQ+KSB7XG4gICAgdXNlRmlyc3QodGhpcy5zdG9yZSQsICh4KSA9PiB4LnNldElkKGRvY3VtZW50SWQpKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBrZXkoa2V5OiBNYXliZTxGaXJlc3RvcmVNb2RlbEtleT4pIHtcbiAgICB1c2VGaXJzdCh0aGlzLnN0b3JlJCwgKHgpID0+IHguc2V0S2V5KGtleSkpO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IHJlZihyZWY6IE1heWJlPERvY3VtZW50UmVmZXJlbmNlPFQ+Pikge1xuICAgIHVzZUZpcnN0KHRoaXMuc3RvcmUkLCAoeCkgPT4geC5zZXRSZWYocmVmKSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgc3RyZWFtTW9kZShzdHJlYW1Nb2RlOiBGaXJlc3RvcmVBY2Nlc3NvclN0cmVhbU1vZGUpIHtcbiAgICB1c2VGaXJzdCh0aGlzLnN0b3JlJCwgKHgpID0+IHguc2V0U3RyZWFtTW9kZShzdHJlYW1Nb2RlKSk7XG4gIH1cbn1cblxuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuLy8gVGhlIHVzZSBvZiBhbnkgaGVyZSBkb2VzIG5vdCBkZWdyYWRlIHRoZSB0eXBlLXNhZmV0eTsgd2Ugd2FudCB0byBzaW1wbHkgbWF0Y2ggdGhhdCB0aGUgU3RvcmUgdHlwZSBTIGlzIHVzZWQgaW4gdGhlIERpcmVjdGl2ZSB0eXBlIEMgdG8gcHJvdmlkZSBpdC5cblxuLyoqXG4gKiBDb25maWd1cmVzIHByb3ZpZGVycyBmb3IgYSBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVEaXJlY3RpdmUuXG4gKlxuICogQ2FuIG9wdGlvbmFsbHkgYWxzbyBwcm92aWRlIHRoZSBhY3R1YWwgc3RvcmUgdHlwZSB0byBpbmNsdWRlIGluIHRoZSBwcm92aWRlcnMgYXJyYXkgc28gaXQgaXMgaW5zdGFudGlhdGVkIGJ5IEFuZ3VsYXIuXG4gKlxuICogQHBhcmFtIHNvdXJjZVR5cGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVEaXJlY3RpdmU8UyBleHRlbmRzIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZTxhbnksIGFueSwgYW55Pj4oc291cmNlVHlwZTogVHlwZTxTPik6IFByb3ZpZGVyW107XG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZURieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZTxTIGV4dGVuZHMgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlPGFueSwgYW55PiwgQyBleHRlbmRzIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZTxhbnksIGFueSwgUz4gPSBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVEaXJlY3RpdmU8YW55LCBhbnksIFM+Pihzb3VyY2VUeXBlOiBUeXBlPEM+LCBzdG9yZVR5cGU6IFR5cGU8Uz4pOiBQcm92aWRlcltdO1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVEaXJlY3RpdmU8UyBleHRlbmRzIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZTxhbnksIGFueT4sIEMgZXh0ZW5kcyBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVEaXJlY3RpdmU8YW55LCBhbnksIFM+ID0gRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlRGlyZWN0aXZlPGFueSwgYW55LCBTPj4oc291cmNlVHlwZTogVHlwZTxDPiwgc3RvcmVUeXBlPzogVHlwZTxTPik6IFByb3ZpZGVyW10ge1xuICBjb25zdCBwcm92aWRlcnM6IFByb3ZpZGVyW10gPSBbXG4gICAge1xuICAgICAgcHJvdmlkZTogRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlRGlyZWN0aXZlLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gc291cmNlVHlwZSlcbiAgICB9XG4gIF07XG5cbiAgaWYgKHN0b3JlVHlwZSkge1xuICAgIHByb3ZpZGVycy5wdXNoKHN0b3JlVHlwZSk7XG4gIH1cblxuICByZXR1cm4gcHJvdmlkZXJzO1xufVxuIl19
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
1
|
+
import { Directive, inject } from '@angular/core';
|
|
2
2
|
import { DbxFirebaseDocumentStoreDirective, provideDbxFirebaseDocumentStoreDirective } from '../modules/store/store.document.directive';
|
|
3
3
|
import { SystemStateDocumentStore } from './systemstate.document.store';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "./systemstate.document.store";
|
|
6
5
|
export class DbxFirebaseSystemStateDocumentStoreDirective extends DbxFirebaseDocumentStoreDirective {
|
|
7
|
-
constructor(
|
|
8
|
-
super(
|
|
6
|
+
constructor() {
|
|
7
|
+
super(inject((SystemStateDocumentStore)));
|
|
9
8
|
}
|
|
10
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseSystemStateDocumentStoreDirective, deps: [
|
|
9
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseSystemStateDocumentStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
11
10
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseSystemStateDocumentStoreDirective, selector: "[dbxFirebaseSystemStateDocument]", providers: provideDbxFirebaseDocumentStoreDirective(DbxFirebaseSystemStateDocumentStoreDirective, SystemStateDocumentStore), usesInheritance: true, ngImport: i0 });
|
|
12
11
|
}
|
|
13
12
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseSystemStateDocumentStoreDirective, decorators: [{
|
|
@@ -16,5 +15,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
16
15
|
selector: '[dbxFirebaseSystemStateDocument]',
|
|
17
16
|
providers: provideDbxFirebaseDocumentStoreDirective(DbxFirebaseSystemStateDocumentStoreDirective, SystemStateDocumentStore)
|
|
18
17
|
}]
|
|
19
|
-
}], ctorParameters: function () { return [
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
}], ctorParameters: function () { return []; } });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtc3RhdGUuZG9jdW1lbnQuc3RvcmUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvbW9kZWwvc3lzdGVtL3N5c3RlbXN0YXRlLmRvY3VtZW50LnN0b3JlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUN4SSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFNeEUsTUFBTSxPQUFPLDRDQUFzRyxTQUFRLGlDQUFzRztJQUMvTjtRQUNFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQSx3QkFBMkIsQ0FBQSxDQUFDLENBQUMsQ0FBQztJQUM3QyxDQUFDO3dHQUhVLDRDQUE0Qzs0RkFBNUMsNENBQTRDLDJEQUY1Qyx3Q0FBd0MsQ0FBQyw0Q0FBNEMsRUFBRSx3QkFBd0IsQ0FBQzs7NEZBRWhILDRDQUE0QztrQkFKeEQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsa0NBQWtDO29CQUM1QyxTQUFTLEVBQUUsd0NBQXdDLCtDQUErQyx3QkFBd0IsQ0FBQztpQkFDNUgiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3lzdGVtU3RhdGUsIFN5c3RlbVN0YXRlRG9jdW1lbnQsIFN5c3RlbVN0YXRlU3RvcmVkRGF0YSB9IGZyb20gJ0BkZXJlZWtiL2ZpcmViYXNlJztcbmltcG9ydCB7IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZSwgcHJvdmlkZURieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZSB9IGZyb20gJy4uL21vZHVsZXMvc3RvcmUvc3RvcmUuZG9jdW1lbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IFN5c3RlbVN0YXRlRG9jdW1lbnRTdG9yZSB9IGZyb20gJy4vc3lzdGVtc3RhdGUuZG9jdW1lbnQuc3RvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4RmlyZWJhc2VTeXN0ZW1TdGF0ZURvY3VtZW50XScsXG4gIHByb3ZpZGVyczogcHJvdmlkZURieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZShEYnhGaXJlYmFzZVN5c3RlbVN0YXRlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZSwgU3lzdGVtU3RhdGVEb2N1bWVudFN0b3JlKVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZVN5c3RlbVN0YXRlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZTxUIGV4dGVuZHMgU3lzdGVtU3RhdGVTdG9yZWREYXRhID0gU3lzdGVtU3RhdGVTdG9yZWREYXRhPiBleHRlbmRzIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZTxTeXN0ZW1TdGF0ZTxUPiwgU3lzdGVtU3RhdGVEb2N1bWVudDxUPiwgU3lzdGVtU3RhdGVEb2N1bWVudFN0b3JlPFQ+PiB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKGluamVjdChTeXN0ZW1TdGF0ZURvY3VtZW50U3RvcmU8VD4pKTtcbiAgfVxufVxuIl19
|
|
@@ -3292,33 +3292,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3292
3292
|
* Abstract directive that contains a DbxFirebaseDocumentStore and provides an interface for communicating with other directives.
|
|
3293
3293
|
*/
|
|
3294
3294
|
class DbxFirebaseDocumentStoreDirective {
|
|
3295
|
-
|
|
3295
|
+
_store = new BehaviorSubject(undefined);
|
|
3296
|
+
store$ = this._store.pipe(filterMaybe(), shareReplay(1));
|
|
3297
|
+
exists$ = this.store$.pipe(switchMap((x) => x.exists$));
|
|
3298
|
+
document$ = this.store$.pipe(switchMap((x) => x.document$));
|
|
3299
|
+
documentLoadingState$ = this.store$.pipe(switchMap((x) => x.documentLoadingState$));
|
|
3300
|
+
id$ = this.store$.pipe(switchMap((x) => x.id$));
|
|
3301
|
+
key$ = this.store$.pipe(switchMap((x) => x.key$));
|
|
3302
|
+
ref$ = this.store$.pipe(switchMap((x) => x.ref$));
|
|
3303
|
+
snapshot$ = this.store$.pipe(switchMap((x) => x.snapshot$));
|
|
3304
|
+
snapshotLoadingState$ = this.store$.pipe(switchMap((x) => x.snapshotLoadingState$));
|
|
3305
|
+
modelIdentity$ = this.store$.pipe(switchMap((x) => x.modelIdentity$));
|
|
3306
|
+
data$ = this.store$.pipe(switchMap((x) => x.data$));
|
|
3307
|
+
loadingState$ = this.store$.pipe(switchMap((x) => x.dataLoadingState$));
|
|
3296
3308
|
constructor(store) {
|
|
3297
|
-
this.store
|
|
3309
|
+
this.replaceStore(store);
|
|
3310
|
+
}
|
|
3311
|
+
ngOnDestroy() {
|
|
3312
|
+
this._store.complete();
|
|
3313
|
+
}
|
|
3314
|
+
/**
|
|
3315
|
+
* Replaces the internal store.
|
|
3316
|
+
*/
|
|
3317
|
+
replaceStore(store) {
|
|
3318
|
+
this._store.next(store);
|
|
3298
3319
|
}
|
|
3299
|
-
exists$ = this.store.exists$;
|
|
3300
|
-
document$ = this.store.document$;
|
|
3301
|
-
documentLoadingState$ = this.store.documentLoadingState$;
|
|
3302
|
-
id$ = this.store.id$;
|
|
3303
|
-
key$ = this.store.key$;
|
|
3304
|
-
ref$ = this.store.ref$;
|
|
3305
|
-
snapshot$ = this.store.snapshot$;
|
|
3306
|
-
snapshotLoadingState$ = this.store.snapshotLoadingState$;
|
|
3307
|
-
modelIdentity$ = this.store.modelIdentity$;
|
|
3308
|
-
data$ = this.store.data$;
|
|
3309
|
-
loadingState$ = this.store.dataLoadingState$;
|
|
3310
3320
|
// MARK: Inputs
|
|
3321
|
+
get store() {
|
|
3322
|
+
return this._store.value;
|
|
3323
|
+
}
|
|
3311
3324
|
set documentId(documentId) {
|
|
3312
|
-
this.store.setId(documentId);
|
|
3325
|
+
useFirst(this.store$, (x) => x.setId(documentId));
|
|
3313
3326
|
}
|
|
3314
3327
|
set key(key) {
|
|
3315
|
-
this.store.setKey(key);
|
|
3328
|
+
useFirst(this.store$, (x) => x.setKey(key));
|
|
3316
3329
|
}
|
|
3317
3330
|
set ref(ref) {
|
|
3318
|
-
this.store.setRef(ref);
|
|
3331
|
+
useFirst(this.store$, (x) => x.setRef(ref));
|
|
3319
3332
|
}
|
|
3320
3333
|
set streamMode(streamMode) {
|
|
3321
|
-
this.store.setStreamMode(streamMode);
|
|
3334
|
+
useFirst(this.store$, (x) => x.setStreamMode(streamMode));
|
|
3322
3335
|
}
|
|
3323
3336
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDocumentStoreDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
3324
3337
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseDocumentStoreDirective, inputs: { documentId: "documentId", key: "key", ref: "ref", streamMode: "streamMode" }, ngImport: i0 });
|
|
@@ -4376,10 +4389,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
4376
4389
|
}], ctorParameters: function () { return [{ type: undefined }]; } });
|
|
4377
4390
|
|
|
4378
4391
|
class DbxFirebaseSystemStateDocumentStoreDirective extends DbxFirebaseDocumentStoreDirective {
|
|
4379
|
-
constructor(
|
|
4380
|
-
super(
|
|
4392
|
+
constructor() {
|
|
4393
|
+
super(inject((SystemStateDocumentStore)));
|
|
4381
4394
|
}
|
|
4382
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseSystemStateDocumentStoreDirective, deps: [
|
|
4395
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseSystemStateDocumentStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
4383
4396
|
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxFirebaseSystemStateDocumentStoreDirective, selector: "[dbxFirebaseSystemStateDocument]", providers: provideDbxFirebaseDocumentStoreDirective(DbxFirebaseSystemStateDocumentStoreDirective, SystemStateDocumentStore), usesInheritance: true, ngImport: i0 });
|
|
4384
4397
|
}
|
|
4385
4398
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseSystemStateDocumentStoreDirective, decorators: [{
|
|
@@ -4388,7 +4401,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
4388
4401
|
selector: '[dbxFirebaseSystemStateDocument]',
|
|
4389
4402
|
providers: provideDbxFirebaseDocumentStoreDirective(DbxFirebaseSystemStateDocumentStoreDirective, SystemStateDocumentStore)
|
|
4390
4403
|
}]
|
|
4391
|
-
}], ctorParameters: function () { return [
|
|
4404
|
+
}], ctorParameters: function () { return []; } });
|
|
4392
4405
|
|
|
4393
4406
|
class DbxFirebaseModelModule {
|
|
4394
4407
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseModelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|