@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.
@@ -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
- store;
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 = store;
11
- }
12
- exists$ = this.store.exists$;
13
- document$ = this.store.document$;
14
- documentLoadingState$ = this.store.documentLoadingState$;
15
- id$ = this.store.id$;
16
- key$ = this.store.key$;
17
- ref$ = this.store.ref$;
18
- snapshot$ = this.store.snapshot$;
19
- snapshotLoadingState$ = this.store.snapshotLoadingState$;
20
- modelIdentity$ = this.store.modelIdentity$;
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuZG9jdW1lbnQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvbW9kZWwvbW9kdWxlcy9zdG9yZS9zdG9yZS5kb2N1bWVudC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFrQixNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQXFCLDJCQUEyQixFQUEwRCxNQUFNLG1CQUFtQixDQUFDOztBQUkzSTs7R0FFRztBQUVILE1BQU0sT0FBZ0IsaUNBQWlDO0lBQ2hDO0lBQXJCLFlBQXFCLEtBQVE7UUFBUixVQUFLLEdBQUwsS0FBSyxDQUFHO0lBQUcsQ0FBQztJQUV4QixPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUM7SUFFN0IsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO0lBQ2pDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUM7SUFFekQsR0FBRyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO0lBQ3JCLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztJQUN2QixJQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7SUFFdkIsU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDO0lBQ2pDLHFCQUFxQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUM7SUFFekQsY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDO0lBQzNDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztJQUN6QixhQUFhLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQztJQUV0RCxlQUFlO0lBQ2YsSUFDSSxVQUFVLENBQUMsVUFBbUM7UUFDaEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVELElBQ0ksR0FBRyxDQUFDLEdBQTZCO1FBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUNJLEdBQUcsQ0FBQyxHQUFnQztRQUN0QyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFDSSxVQUFVLENBQUMsVUFBdUM7UUFDcEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDdkMsQ0FBQzt3R0F0Q21CLGlDQUFpQzs0RkFBakMsaUNBQWlDOzs0RkFBakMsaUNBQWlDO2tCQUR0RCxTQUFTOzZGQXNCSixVQUFVO3NCQURiLEtBQUs7Z0JBTUYsR0FBRztzQkFETixLQUFLO2dCQU1GLEdBQUc7c0JBRE4sS0FBSztnQkFNRixVQUFVO3NCQURiLEtBQUs7O0FBa0JSLE1BQU0sVUFBVSx3Q0FBd0MsQ0FBMEosVUFBbUIsRUFBRSxTQUFtQjtJQUN4UCxNQUFNLFNBQVMsR0FBZTtRQUM1QjtZQUNFLE9BQU8sRUFBRSxpQ0FBaUM7WUFDMUMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUM7U0FDMUM7S0FDRixDQUFDO0lBRUYsSUFBSSxTQUFTLEVBQUU7UUFDYixTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0tBQzNCO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgZm9yd2FyZFJlZiwgSW5wdXQsIFByb3ZpZGVyLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb2N1bWVudFJlZmVyZW5jZSwgRmlyZXN0b3JlQWNjZXNzb3JTdHJlYW1Nb2RlLCBGaXJlc3RvcmVEb2N1bWVudCwgRmlyZXN0b3JlTW9kZWxLZXksIEZpcmVzdG9yZU1vZGVsSWQgfSBmcm9tICdAZGVyZWVrYi9maXJlYmFzZSc7XG5pbXBvcnQgeyBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlIH0gZnJvbSAnLi9zdG9yZS5kb2N1bWVudCc7XG5cbi8qKlxuICogQWJzdHJhY3QgZGlyZWN0aXZlIHRoYXQgY29udGFpbnMgYSBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmUgYW5kIHByb3ZpZGVzIGFuIGludGVyZmFjZSBmb3IgY29tbXVuaWNhdGluZyB3aXRoIG90aGVyIGRpcmVjdGl2ZXMuXG4gKi9cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZTxUID0gdW5rbm93biwgRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFQ+ID0gRmlyZXN0b3JlRG9jdW1lbnQ8VD4sIFMgZXh0ZW5kcyBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmU8VCwgRD4gPSBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmU8VCwgRD4+IHtcbiAgY29uc3RydWN0b3IocmVhZG9ubHkgc3RvcmU6IFMpIHt9XG5cbiAgcmVhZG9ubHkgZXhpc3RzJCA9IHRoaXMuc3RvcmUuZXhpc3RzJDtcblxuICByZWFkb25seSBkb2N1bWVudCQgPSB0aGlzLnN0b3JlLmRvY3VtZW50JDtcbiAgcmVhZG9ubHkgZG9jdW1lbnRMb2FkaW5nU3RhdGUkID0gdGhpcy5zdG9yZS5kb2N1bWVudExvYWRpbmdTdGF0ZSQ7XG5cbiAgcmVhZG9ubHkgaWQkID0gdGhpcy5zdG9yZS5pZCQ7XG4gIHJlYWRvbmx5IGtleSQgPSB0aGlzLnN0b3JlLmtleSQ7XG4gIHJlYWRvbmx5IHJlZiQgPSB0aGlzLnN0b3JlLnJlZiQ7XG5cbiAgcmVhZG9ubHkgc25hcHNob3QkID0gdGhpcy5zdG9yZS5zbmFwc2hvdCQ7XG4gIHJlYWRvbmx5IHNuYXBzaG90TG9hZGluZ1N0YXRlJCA9IHRoaXMuc3RvcmUuc25hcHNob3RMb2FkaW5nU3RhdGUkO1xuXG4gIHJlYWRvbmx5IG1vZGVsSWRlbnRpdHkkID0gdGhpcy5zdG9yZS5tb2RlbElkZW50aXR5JDtcbiAgcmVhZG9ubHkgZGF0YSQgPSB0aGlzLnN0b3JlLmRhdGEkO1xuICByZWFkb25seSBsb2FkaW5nU3RhdGUkID0gdGhpcy5zdG9yZS5kYXRhTG9hZGluZ1N0YXRlJDtcblxuICAvLyBNQVJLOiBJbnB1dHNcbiAgQElucHV0KClcbiAgc2V0IGRvY3VtZW50SWQoZG9jdW1lbnRJZDogTWF5YmU8RmlyZXN0b3JlTW9kZWxJZD4pIHtcbiAgICB0aGlzLnN0b3JlLnNldElkKGRvY3VtZW50SWQpO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGtleShrZXk6IE1heWJlPEZpcmVzdG9yZU1vZGVsS2V5Pikge1xuICAgIHRoaXMuc3RvcmUuc2V0S2V5KGtleSk7XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgcmVmKHJlZjogTWF5YmU8RG9jdW1lbnRSZWZlcmVuY2U8VD4+KSB7XG4gICAgdGhpcy5zdG9yZS5zZXRSZWYocmVmKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHNldCBzdHJlYW1Nb2RlKHN0cmVhbU1vZGU6IEZpcmVzdG9yZUFjY2Vzc29yU3RyZWFtTW9kZSkge1xuICAgIHRoaXMuc3RvcmUuc2V0U3RyZWFtTW9kZShzdHJlYW1Nb2RlKTtcbiAgfVxufVxuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG4vLyBUaGUgdXNlIG9mIGFueSBoZXJlIGRvZXMgbm90IGRlZ3JhZGUgdGhlIHR5cGUtc2FmZXR5OyB3ZSB3YW50IHRvIHNpbXBseSBtYXRjaCB0aGF0IHRoZSBTdG9yZSB0eXBlIFMgaXMgdXNlZCBpbiB0aGUgRGlyZWN0aXZlIHR5cGUgQyB0byBwcm92aWRlIGl0LlxuXG4vKipcbiAqIENvbmZpZ3VyZXMgcHJvdmlkZXJzIGZvciBhIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZS5cbiAqXG4gKiBDYW4gb3B0aW9uYWxseSBhbHNvIHByb3ZpZGUgdGhlIGFjdHVhbCBzdG9yZSB0eXBlIHRvIGluY2x1ZGUgaW4gdGhlIHByb3ZpZGVycyBhcnJheSBzbyBpdCBpcyBpbnN0YW50aWF0ZWQgYnkgQW5ndWxhci5cbiAqXG4gKiBAcGFyYW0gc291cmNlVHlwZVxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZURieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZTxTIGV4dGVuZHMgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlRGlyZWN0aXZlPGFueSwgYW55LCBhbnk+Pihzb3VyY2VUeXBlOiBUeXBlPFM+KTogUHJvdmlkZXJbXTtcbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlRGlyZWN0aXZlPFMgZXh0ZW5kcyBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmU8YW55LCBhbnk+LCBDIGV4dGVuZHMgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlRGlyZWN0aXZlPGFueSwgYW55LCBTPiA9IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZTxhbnksIGFueSwgUz4+KHNvdXJjZVR5cGU6IFR5cGU8Qz4sIHN0b3JlVHlwZTogVHlwZTxTPik6IFByb3ZpZGVyW107XG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZURieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZTxTIGV4dGVuZHMgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlPGFueSwgYW55PiwgQyBleHRlbmRzIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZTxhbnksIGFueSwgUz4gPSBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVEaXJlY3RpdmU8YW55LCBhbnksIFM+Pihzb3VyY2VUeXBlOiBUeXBlPEM+LCBzdG9yZVR5cGU/OiBUeXBlPFM+KTogUHJvdmlkZXJbXSB7XG4gIGNvbnN0IHByb3ZpZGVyczogUHJvdmlkZXJbXSA9IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVEaXJlY3RpdmUsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBzb3VyY2VUeXBlKVxuICAgIH1cbiAgXTtcblxuICBpZiAoc3RvcmVUeXBlKSB7XG4gICAgcHJvdmlkZXJzLnB1c2goc3RvcmVUeXBlKTtcbiAgfVxuXG4gIHJldHVybiBwcm92aWRlcnM7XG59XG4iXX0=
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(store) {
8
- super(store);
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: [{ token: i1.SystemStateDocumentStore }], target: i0.ɵɵFactoryTarget.Directive });
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 [{ type: i1.SystemStateDocumentStore }]; } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtc3RhdGUuZG9jdW1lbnQuc3RvcmUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvbW9kZWwvc3lzdGVtL3N5c3RlbXN0YXRlLmRvY3VtZW50LnN0b3JlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3hJLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFNeEUsTUFBTSxPQUFPLDRDQUFzRyxTQUFRLGlDQUFzRztJQUMvTixZQUFZLEtBQWtDO1FBQzVDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNmLENBQUM7d0dBSFUsNENBQTRDOzRGQUE1Qyw0Q0FBNEMsMkRBRjVDLHdDQUF3QyxDQUFDLDRDQUE0QyxFQUFFLHdCQUF3QixDQUFDOzs0RkFFaEgsNENBQTRDO2tCQUp4RCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQ0FBa0M7b0JBQzVDLFNBQVMsRUFBRSx3Q0FBd0MsK0NBQStDLHdCQUF3QixDQUFDO2lCQUM1SCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3lzdGVtU3RhdGUsIFN5c3RlbVN0YXRlRG9jdW1lbnQsIFN5c3RlbVN0YXRlU3RvcmVkRGF0YSB9IGZyb20gJ0BkZXJlZWtiL2ZpcmViYXNlJztcbmltcG9ydCB7IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZSwgcHJvdmlkZURieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZSB9IGZyb20gJy4uL21vZHVsZXMvc3RvcmUvc3RvcmUuZG9jdW1lbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IFN5c3RlbVN0YXRlRG9jdW1lbnRTdG9yZSB9IGZyb20gJy4vc3lzdGVtc3RhdGUuZG9jdW1lbnQuc3RvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4RmlyZWJhc2VTeXN0ZW1TdGF0ZURvY3VtZW50XScsXG4gIHByb3ZpZGVyczogcHJvdmlkZURieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZShEYnhGaXJlYmFzZVN5c3RlbVN0YXRlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZSwgU3lzdGVtU3RhdGVEb2N1bWVudFN0b3JlKVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZVN5c3RlbVN0YXRlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZTxUIGV4dGVuZHMgU3lzdGVtU3RhdGVTdG9yZWREYXRhID0gU3lzdGVtU3RhdGVTdG9yZWREYXRhPiBleHRlbmRzIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZTxTeXN0ZW1TdGF0ZTxUPiwgU3lzdGVtU3RhdGVEb2N1bWVudDxUPiwgU3lzdGVtU3RhdGVEb2N1bWVudFN0b3JlPFQ+PiB7XG4gIGNvbnN0cnVjdG9yKHN0b3JlOiBTeXN0ZW1TdGF0ZURvY3VtZW50U3RvcmU8VD4pIHtcbiAgICBzdXBlcihzdG9yZSk7XG4gIH1cbn1cbiJdfQ==
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
- store;
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 = 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(store) {
4380
- super(store);
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: [{ token: SystemStateDocumentStore }], target: i0.ɵɵFactoryTarget.Directive });
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 [{ type: SystemStateDocumentStore }]; } });
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 });