@dereekb/dbx-firebase 8.1.2 → 8.2.0

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,11 +1,12 @@
1
- import { shareReplay, distinctUntilChanged, BehaviorSubject, combineLatest, map } from 'rxjs';
1
+ import { BehaviorSubject, map, shareReplay, of, switchMap } from 'rxjs';
2
2
  import { Directive, Host, Input } from '@angular/core';
3
- import { DbxRouterService, AbstractSubscriptionDirective } from '@dereekb/dbx-core';
3
+ import { DbxRouterService, AbstractSubscriptionDirective, DbxRouteParamReaderInstance, DbxRouteParamDefaultRedirectInstance } from '@dereekb/dbx-core';
4
4
  import { DbxFirebaseDocumentStoreDirective } from './store.document.directive';
5
5
  import * as i0 from "@angular/core";
6
6
  import * as i1 from "./store.document.directive";
7
7
  import * as i2 from "@dereekb/dbx-core";
8
8
  export const DBX_FIREBASE_ROUTER_SYNC_DEFAULT_ID_PARAM_KEY = 'id';
9
+ export const DBX_FIREBASE_ROUTER_SYNC_USE_DEFAULT_PARAM_VALUE = '0';
9
10
  /**
10
11
  * Used for synchronizing the document store id to the param of the route.
11
12
  */
@@ -14,29 +15,58 @@ export class DbxFirebaseDocumentStoreRouteIdDirective extends AbstractSubscripti
14
15
  super();
15
16
  this.dbxFirebaseDocumentStoreDirective = dbxFirebaseDocumentStoreDirective;
16
17
  this.dbxRouterService = dbxRouterService;
17
- this._idParamKey = new BehaviorSubject(DBX_FIREBASE_ROUTER_SYNC_DEFAULT_ID_PARAM_KEY);
18
- this.idParamKey$ = this._idParamKey.asObservable();
19
- this.idFromParams$ = combineLatest([this.idParamKey$, this.dbxRouterService.params$]).pipe(map(([key, params]) => {
20
- return params[key] ?? undefined;
21
- }), distinctUntilChanged(), shareReplay(1));
18
+ this._paramReader = new DbxRouteParamReaderInstance(this.dbxRouterService, DBX_FIREBASE_ROUTER_SYNC_DEFAULT_ID_PARAM_KEY);
19
+ this._paramRedirect = new DbxRouteParamDefaultRedirectInstance(this._paramReader);
20
+ this._useDefaultParam = new BehaviorSubject(DBX_FIREBASE_ROUTER_SYNC_USE_DEFAULT_PARAM_VALUE);
21
+ this._useDefaultParam$ = this._useDefaultParam.pipe(map((x) => {
22
+ let result;
23
+ if (typeof x === 'string') {
24
+ result = (value) => of(value === x);
25
+ }
26
+ else {
27
+ result = x;
28
+ }
29
+ return result;
30
+ }), shareReplay(1));
31
+ this.idParamKey$ = this._paramReader.paramKey$;
32
+ this.idFromParams$ = this._paramReader.paramValue$;
33
+ this.id$ = this._paramReader.value$;
22
34
  }
23
35
  ngOnInit() {
24
36
  this.sub = this.dbxFirebaseDocumentStoreDirective.store.setId(this.idFromParams$);
37
+ this._paramRedirect.setUseDefaultFilter((value) => {
38
+ return this._useDefaultParam$.pipe(switchMap((x) => x(value)));
39
+ });
40
+ this._paramRedirect.init();
25
41
  }
26
42
  ngOnDestroy() {
27
43
  super.ngOnDestroy();
28
- this._idParamKey.complete();
44
+ this._paramReader.destroy();
45
+ this._paramRedirect.destroy();
46
+ this._useDefaultParam.complete();
29
47
  }
30
48
  // MARK: Input
31
49
  get idParam() {
32
- return this._idParamKey.value;
50
+ return this._paramReader.paramKey;
33
51
  }
34
52
  set idParam(idParam) {
35
- this._idParamKey.next(idParam || DBX_FIREBASE_ROUTER_SYNC_DEFAULT_ID_PARAM_KEY);
53
+ this._paramReader.paramKey = idParam;
54
+ }
55
+ set dbxFirebaseDocumentStoreRouteIdDefault(defaultValue) {
56
+ this._paramReader.setDefaultValue(defaultValue);
57
+ }
58
+ /**
59
+ * Whether or not to enable the redirection. Is enabled by default.
60
+ */
61
+ set dbxFirebaseDocumentStoreRouteIdDefaultRedirect(redirect) {
62
+ this._paramRedirect.enabled = redirect !== false; // true by default
63
+ }
64
+ set dbxFirebaseDocumentStoreRouteIdDefaultDecision(decider) {
65
+ this._useDefaultParam.next(decider);
36
66
  }
37
67
  }
38
68
  DbxFirebaseDocumentStoreRouteIdDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDocumentStoreRouteIdDirective, deps: [{ token: i1.DbxFirebaseDocumentStoreDirective, host: true }, { token: i2.DbxRouterService }], target: i0.ɵɵFactoryTarget.Directive });
39
- DbxFirebaseDocumentStoreRouteIdDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxFirebaseDocumentStoreRouteIdDirective, selector: "[dbxFirebaseDocumentStoreRouteId]", inputs: { idParam: ["dbxFirebaseDocumentStoreRouteId", "idParam"] }, usesInheritance: true, ngImport: i0 });
69
+ DbxFirebaseDocumentStoreRouteIdDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxFirebaseDocumentStoreRouteIdDirective, selector: "[dbxFirebaseDocumentStoreRouteId]", inputs: { idParam: ["dbxFirebaseDocumentStoreRouteId", "idParam"], dbxFirebaseDocumentStoreRouteIdDefault: "dbxFirebaseDocumentStoreRouteIdDefault", dbxFirebaseDocumentStoreRouteIdDefaultRedirect: "dbxFirebaseDocumentStoreRouteIdDefaultRedirect", dbxFirebaseDocumentStoreRouteIdDefaultDecision: "dbxFirebaseDocumentStoreRouteIdDefaultDecision" }, usesInheritance: true, ngImport: i0 });
40
70
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDocumentStoreRouteIdDirective, decorators: [{
41
71
  type: Directive,
42
72
  args: [{
@@ -47,5 +77,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
47
77
  }] }, { type: i2.DbxRouterService }]; }, propDecorators: { idParam: [{
48
78
  type: Input,
49
79
  args: ['dbxFirebaseDocumentStoreRouteId']
80
+ }], dbxFirebaseDocumentStoreRouteIdDefault: [{
81
+ type: Input
82
+ }], dbxFirebaseDocumentStoreRouteIdDefaultRedirect: [{
83
+ type: Input
84
+ }], dbxFirebaseDocumentStoreRouteIdDefaultDecision: [{
85
+ type: Input
50
86
  }] } });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuZG9jdW1lbnQucm91dGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZGVsL3N0b3JlL3N0b3JlLmRvY3VtZW50LnJvdXRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBYyxvQkFBb0IsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxRyxPQUFPLEVBQWEsU0FBUyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLDZCQUE2QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEYsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7QUFHL0UsTUFBTSxDQUFDLE1BQU0sNkNBQTZDLEdBQUcsSUFBSSxDQUFDO0FBRWxFOztHQUVHO0FBSUgsTUFBTSxPQUFPLHdDQUFzRCxTQUFRLDZCQUE2QjtJQVl0RyxZQUE2QixpQ0FBdUUsRUFBVyxnQkFBa0M7UUFDL0ksS0FBSyxFQUFFLENBQUM7UUFEbUIsc0NBQWlDLEdBQWpDLGlDQUFpQyxDQUFzQztRQUFXLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFYekksZ0JBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBUyw2Q0FBNkMsQ0FBQyxDQUFDO1FBQ3hGLGdCQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUU5QyxrQkFBYSxHQUFnQyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDekgsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLEVBQUUsRUFBRTtZQUNwQixPQUFRLE1BQU0sQ0FBQyxHQUFHLENBQW1CLElBQUksU0FBUyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxFQUNGLG9CQUFvQixFQUFFLEVBQ3RCLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0lBSUYsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxpQ0FBaUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRVEsV0FBVztRQUNsQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsY0FBYztJQUNkLElBQ0ksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLE9BQWU7UUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLDZDQUE2QyxDQUFDLENBQUM7SUFDbEYsQ0FBQzs7cUlBakNVLHdDQUF3Qzt5SEFBeEMsd0NBQXdDOzJGQUF4Qyx3Q0FBd0M7a0JBSHBELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1DQUFtQztpQkFDOUM7OzBCQWFjLElBQUk7MkVBZWIsT0FBTztzQkFEVixLQUFLO3VCQUFDLGlDQUFpQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHNoYXJlUmVwbGF5LCBPYnNlcnZhYmxlLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE9uRGVzdHJveSwgRGlyZWN0aXZlLCBIb3N0LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYnhSb3V0ZXJTZXJ2aWNlLCBBYnN0cmFjdFN1YnNjcmlwdGlvbkRpcmVjdGl2ZSB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZSB9IGZyb20gJy4vc3RvcmUuZG9jdW1lbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IE1heWJlLCBNb2RlbEtleSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuXG5leHBvcnQgY29uc3QgREJYX0ZJUkVCQVNFX1JPVVRFUl9TWU5DX0RFRkFVTFRfSURfUEFSQU1fS0VZID0gJ2lkJztcblxuLyoqXG4gKiBVc2VkIGZvciBzeW5jaHJvbml6aW5nIHRoZSBkb2N1bWVudCBzdG9yZSBpZCB0byB0aGUgcGFyYW0gb2YgdGhlIHJvdXRlLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlUm91dGVJZF0nXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZVJvdXRlSWREaXJlY3RpdmU8VCA9IHVua25vd24+IGV4dGVuZHMgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgX2lkUGFyYW1LZXkgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oREJYX0ZJUkVCQVNFX1JPVVRFUl9TWU5DX0RFRkFVTFRfSURfUEFSQU1fS0VZKTtcbiAgcmVhZG9ubHkgaWRQYXJhbUtleSQgPSB0aGlzLl9pZFBhcmFtS2V5LmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHJlYWRvbmx5IGlkRnJvbVBhcmFtcyQ6IE9ic2VydmFibGU8TWF5YmU8TW9kZWxLZXk+PiA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuaWRQYXJhbUtleSQsIHRoaXMuZGJ4Um91dGVyU2VydmljZS5wYXJhbXMkXSkucGlwZShcbiAgICBtYXAoKFtrZXksIHBhcmFtc10pID0+IHtcbiAgICAgIHJldHVybiAocGFyYW1zW2tleV0gYXMgTWF5YmU8c3RyaW5nPikgPz8gdW5kZWZpbmVkO1xuICAgIH0pLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihASG9zdCgpIHJlYWRvbmx5IGRieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZTogRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlRGlyZWN0aXZlPFQ+LCByZWFkb25seSBkYnhSb3V0ZXJTZXJ2aWNlOiBEYnhSb3V0ZXJTZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3ViID0gdGhpcy5kYnhGaXJlYmFzZURvY3VtZW50U3RvcmVEaXJlY3RpdmUuc3RvcmUuc2V0SWQodGhpcy5pZEZyb21QYXJhbXMkKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgdGhpcy5faWRQYXJhbUtleS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLy8gTUFSSzogSW5wdXRcbiAgQElucHV0KCdkYnhGaXJlYmFzZURvY3VtZW50U3RvcmVSb3V0ZUlkJylcbiAgZ2V0IGlkUGFyYW0oKSB7XG4gICAgcmV0dXJuIHRoaXMuX2lkUGFyYW1LZXkudmFsdWU7XG4gIH1cblxuICBzZXQgaWRQYXJhbShpZFBhcmFtOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9pZFBhcmFtS2V5Lm5leHQoaWRQYXJhbSB8fCBEQlhfRklSRUJBU0VfUk9VVEVSX1NZTkNfREVGQVVMVF9JRF9QQVJBTV9LRVkpO1xuICB9XG59XG4iXX0=
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuZG9jdW1lbnQucm91dGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZGVsL3N0b3JlL3N0b3JlLmRvY3VtZW50LnJvdXRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLGVBQWUsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDcEYsT0FBTyxFQUFhLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSw2QkFBNkIsRUFBRSwyQkFBMkIsRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3ZKLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7O0FBSS9FLE1BQU0sQ0FBQyxNQUFNLDZDQUE2QyxHQUFHLElBQUksQ0FBQztBQUNsRSxNQUFNLENBQUMsTUFBTSxnREFBZ0QsR0FBRyxHQUFHLENBQUM7QUFFcEU7O0dBRUc7QUFJSCxNQUFNLE9BQU8sd0NBQXNELFNBQVEsNkJBQTZCO0lBdUJ0RyxZQUE2QixpQ0FBdUUsRUFBVyxnQkFBa0M7UUFDL0ksS0FBSyxFQUFFLENBQUM7UUFEbUIsc0NBQWlDLEdBQWpDLGlDQUFpQyxDQUFzQztRQUFXLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUF0QnpJLGlCQUFZLEdBQUcsSUFBSSwyQkFBMkIsQ0FBVyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsNkNBQTZDLENBQUMsQ0FBQztRQUMvSCxtQkFBYyxHQUFHLElBQUksb0NBQW9DLENBQVcsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3ZGLHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUFzRCxnREFBZ0QsQ0FBQyxDQUFDO1FBQzlJLHNCQUFpQixHQUEyRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUM1RyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNSLElBQUksTUFBa0QsQ0FBQztZQUV2RCxJQUFJLE9BQU8sQ0FBQyxLQUFLLFFBQVEsRUFBRTtnQkFDekIsTUFBTSxHQUFHLENBQUMsS0FBc0IsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQzthQUN0RDtpQkFBTTtnQkFDTCxNQUFNLEdBQUcsQ0FBQyxDQUFDO2FBQ1o7WUFFRCxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUMsRUFDRixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztRQUVPLGdCQUFXLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUM7UUFDMUMsa0JBQWEsR0FBZ0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUM7UUFDM0UsUUFBRyxHQUFnQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQztJQUlyRSxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLGlDQUFpQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2xGLElBQUksQ0FBQyxjQUFjLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxLQUFvQixFQUFFLEVBQUU7WUFDL0QsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqRSxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVRLFdBQVc7UUFDbEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUM5QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDbkMsQ0FBQztJQUVELGNBQWM7SUFDZCxJQUNJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLE9BQU8sQ0FBQyxPQUFlO1FBQ3pCLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztJQUN2QyxDQUFDO0lBRUQsSUFDSSxzQ0FBc0MsQ0FBQyxZQUFvRDtRQUM3RixJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNJLDhDQUE4QyxDQUFDLFFBQTZCO1FBQzlFLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxHQUFHLFFBQVEsS0FBSyxLQUFLLENBQUMsQ0FBQyxrQkFBa0I7SUFDdEUsQ0FBQztJQUVELElBQ0ksOENBQThDLENBQUMsT0FBNEQ7UUFDN0csSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDOztxSUFwRVUsd0NBQXdDO3lIQUF4Qyx3Q0FBd0M7MkZBQXhDLHdDQUF3QztrQkFIcEQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsbUNBQW1DO2lCQUM5Qzs7MEJBd0JjLElBQUk7MkVBcUJiLE9BQU87c0JBRFYsS0FBSzt1QkFBQyxpQ0FBaUM7Z0JBVXBDLHNDQUFzQztzQkFEekMsS0FBSztnQkFTRiw4Q0FBOEM7c0JBRGpELEtBQUs7Z0JBTUYsOENBQThDO3NCQURqRCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIHNoYXJlUmVwbGF5LCBvZiwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPbkRlc3Ryb3ksIERpcmVjdGl2ZSwgSG9zdCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4Um91dGVyU2VydmljZSwgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUsIERieFJvdXRlUGFyYW1SZWFkZXJJbnN0YW5jZSwgRGJ4Um91dGVQYXJhbURlZmF1bHRSZWRpcmVjdEluc3RhbmNlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlRGlyZWN0aXZlIH0gZnJvbSAnLi9zdG9yZS5kb2N1bWVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgTWF5YmUsIE1vZGVsS2V5IH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBNYXliZU9ic2VydmFibGVPclZhbHVlR2V0dGVyLCBTd2l0Y2hNYXBUb0RlZmF1bHRGaWx0ZXJGdW5jdGlvbiB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuXG5leHBvcnQgY29uc3QgREJYX0ZJUkVCQVNFX1JPVVRFUl9TWU5DX0RFRkFVTFRfSURfUEFSQU1fS0VZID0gJ2lkJztcbmV4cG9ydCBjb25zdCBEQlhfRklSRUJBU0VfUk9VVEVSX1NZTkNfVVNFX0RFRkFVTFRfUEFSQU1fVkFMVUUgPSAnMCc7XG5cbi8qKlxuICogVXNlZCBmb3Igc3luY2hyb25pemluZyB0aGUgZG9jdW1lbnQgc3RvcmUgaWQgdG8gdGhlIHBhcmFtIG9mIHRoZSByb3V0ZS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RieEZpcmViYXNlRG9jdW1lbnRTdG9yZVJvdXRlSWRdJ1xufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVSb3V0ZUlkRGlyZWN0aXZlPFQgPSB1bmtub3duPiBleHRlbmRzIEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9wYXJhbVJlYWRlciA9IG5ldyBEYnhSb3V0ZVBhcmFtUmVhZGVySW5zdGFuY2U8TW9kZWxLZXk+KHRoaXMuZGJ4Um91dGVyU2VydmljZSwgREJYX0ZJUkVCQVNFX1JPVVRFUl9TWU5DX0RFRkFVTFRfSURfUEFSQU1fS0VZKTtcbiAgcHJpdmF0ZSBfcGFyYW1SZWRpcmVjdCA9IG5ldyBEYnhSb3V0ZVBhcmFtRGVmYXVsdFJlZGlyZWN0SW5zdGFuY2U8TW9kZWxLZXk+KHRoaXMuX3BhcmFtUmVhZGVyKTtcbiAgcHJpdmF0ZSBfdXNlRGVmYXVsdFBhcmFtID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmcgfCBTd2l0Y2hNYXBUb0RlZmF1bHRGaWx0ZXJGdW5jdGlvbjxNb2RlbEtleT4+KERCWF9GSVJFQkFTRV9ST1VURVJfU1lOQ19VU0VfREVGQVVMVF9QQVJBTV9WQUxVRSk7XG4gIHByaXZhdGUgX3VzZURlZmF1bHRQYXJhbSQ6IE9ic2VydmFibGU8U3dpdGNoTWFwVG9EZWZhdWx0RmlsdGVyRnVuY3Rpb248TW9kZWxLZXk+PiA9IHRoaXMuX3VzZURlZmF1bHRQYXJhbS5waXBlKFxuICAgIG1hcCgoeCkgPT4ge1xuICAgICAgbGV0IHJlc3VsdDogU3dpdGNoTWFwVG9EZWZhdWx0RmlsdGVyRnVuY3Rpb248TW9kZWxLZXk+O1xuXG4gICAgICBpZiAodHlwZW9mIHggPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJlc3VsdCA9ICh2YWx1ZTogTWF5YmU8TW9kZWxLZXk+KSA9PiBvZih2YWx1ZSA9PT0geCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXN1bHQgPSB4O1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH0pLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgaWRQYXJhbUtleSQgPSB0aGlzLl9wYXJhbVJlYWRlci5wYXJhbUtleSQ7XG4gIHJlYWRvbmx5IGlkRnJvbVBhcmFtcyQ6IE9ic2VydmFibGU8TWF5YmU8TW9kZWxLZXk+PiA9IHRoaXMuX3BhcmFtUmVhZGVyLnBhcmFtVmFsdWUkO1xuICByZWFkb25seSBpZCQ6IE9ic2VydmFibGU8TWF5YmU8TW9kZWxLZXk+PiA9IHRoaXMuX3BhcmFtUmVhZGVyLnZhbHVlJDtcblxuICBjb25zdHJ1Y3RvcihASG9zdCgpIHJlYWRvbmx5IGRieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZTogRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlRGlyZWN0aXZlPFQ+LCByZWFkb25seSBkYnhSb3V0ZXJTZXJ2aWNlOiBEYnhSb3V0ZXJTZXJ2aWNlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3ViID0gdGhpcy5kYnhGaXJlYmFzZURvY3VtZW50U3RvcmVEaXJlY3RpdmUuc3RvcmUuc2V0SWQodGhpcy5pZEZyb21QYXJhbXMkKTtcbiAgICB0aGlzLl9wYXJhbVJlZGlyZWN0LnNldFVzZURlZmF1bHRGaWx0ZXIoKHZhbHVlOiBNYXliZTxzdHJpbmc+KSA9PiB7XG4gICAgICByZXR1cm4gdGhpcy5fdXNlRGVmYXVsdFBhcmFtJC5waXBlKHN3aXRjaE1hcCgoeCkgPT4geCh2YWx1ZSkpKTtcbiAgICB9KTtcbiAgICB0aGlzLl9wYXJhbVJlZGlyZWN0LmluaXQoKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgdGhpcy5fcGFyYW1SZWFkZXIuZGVzdHJveSgpO1xuICAgIHRoaXMuX3BhcmFtUmVkaXJlY3QuZGVzdHJveSgpO1xuICAgIHRoaXMuX3VzZURlZmF1bHRQYXJhbS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLy8gTUFSSzogSW5wdXRcbiAgQElucHV0KCdkYnhGaXJlYmFzZURvY3VtZW50U3RvcmVSb3V0ZUlkJylcbiAgZ2V0IGlkUGFyYW0oKSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcmFtUmVhZGVyLnBhcmFtS2V5O1xuICB9XG5cbiAgc2V0IGlkUGFyYW0oaWRQYXJhbTogc3RyaW5nKSB7XG4gICAgdGhpcy5fcGFyYW1SZWFkZXIucGFyYW1LZXkgPSBpZFBhcmFtO1xuICB9XG5cbiAgQElucHV0KClcbiAgc2V0IGRieEZpcmViYXNlRG9jdW1lbnRTdG9yZVJvdXRlSWREZWZhdWx0KGRlZmF1bHRWYWx1ZTogTWF5YmVPYnNlcnZhYmxlT3JWYWx1ZUdldHRlcjxNb2RlbEtleT4pIHtcbiAgICB0aGlzLl9wYXJhbVJlYWRlci5zZXREZWZhdWx0VmFsdWUoZGVmYXVsdFZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBlbmFibGUgdGhlIHJlZGlyZWN0aW9uLiBJcyBlbmFibGVkIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBASW5wdXQoKVxuICBzZXQgZGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlUm91dGVJZERlZmF1bHRSZWRpcmVjdChyZWRpcmVjdDogTWF5YmU8Ym9vbGVhbj4gfCAnJykge1xuICAgIHRoaXMuX3BhcmFtUmVkaXJlY3QuZW5hYmxlZCA9IHJlZGlyZWN0ICE9PSBmYWxzZTsgLy8gdHJ1ZSBieSBkZWZhdWx0XG4gIH1cblxuICBASW5wdXQoKVxuICBzZXQgZGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlUm91dGVJZERlZmF1bHREZWNpc2lvbihkZWNpZGVyOiBzdHJpbmcgfCBTd2l0Y2hNYXBUb0RlZmF1bHRGaWx0ZXJGdW5jdGlvbjxNb2RlbEtleT4pIHtcbiAgICB0aGlzLl91c2VEZWZhdWx0UGFyYW0ubmV4dChkZWNpZGVyKTtcbiAgfVxufVxuIl19
@@ -14,7 +14,7 @@ import { CommonModule } from '@angular/common';
14
14
  import * as i3 from '@dereekb/dbx-web';
15
15
  import { DbxRouterAnchorModule, DbxReadableErrorModule, DbxActionModule, DbxButtonModule } from '@dereekb/dbx-web';
16
16
  import * as i3$1 from '@dereekb/dbx-core';
17
- import { loggedInObsFromIsLoggedIn, loggedOutObsFromIsLoggedIn, authUserIdentifier, DbxInjectionContext, AbstractForwardDbxInjectionContextDirective, DBX_INJECTION_COMPONENT_DATA, DbxInjectionComponentModule, DbxAuthService, AbstractSubscriptionDirective, AbstractIfDirective, LockSetComponentStore } from '@dereekb/dbx-core';
17
+ import { loggedInObsFromIsLoggedIn, loggedOutObsFromIsLoggedIn, authUserIdentifier, DbxInjectionContext, AbstractForwardDbxInjectionContextDirective, DBX_INJECTION_COMPONENT_DATA, DbxInjectionComponentModule, DbxAuthService, AbstractSubscriptionDirective, AbstractIfDirective, DbxRouteParamReaderInstance, DbxRouteParamDefaultRedirectInstance, LockSetComponentStore } from '@dereekb/dbx-core';
18
18
  import { __awaiter } from 'tslib';
19
19
  import { filterMaybe, isNot, SubscriptionObject, cleanupDestroyable, accumulatorFlattenPageListLoadingState, useFirst, successResult, beginLoading, loadingStateFromObs, errorResult, lazyFrom, cleanup } from '@dereekb/rxjs';
20
20
  import * as i1$1 from '@angular/fire/auth';
@@ -2238,6 +2238,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
2238
2238
  } });
2239
2239
 
2240
2240
  const DBX_FIREBASE_ROUTER_SYNC_DEFAULT_ID_PARAM_KEY = 'id';
2241
+ const DBX_FIREBASE_ROUTER_SYNC_USE_DEFAULT_PARAM_VALUE = '0';
2241
2242
  /**
2242
2243
  * Used for synchronizing the document store id to the param of the route.
2243
2244
  */
@@ -2246,30 +2247,58 @@ class DbxFirebaseDocumentStoreRouteIdDirective extends AbstractSubscriptionDirec
2246
2247
  super();
2247
2248
  this.dbxFirebaseDocumentStoreDirective = dbxFirebaseDocumentStoreDirective;
2248
2249
  this.dbxRouterService = dbxRouterService;
2249
- this._idParamKey = new BehaviorSubject(DBX_FIREBASE_ROUTER_SYNC_DEFAULT_ID_PARAM_KEY);
2250
- this.idParamKey$ = this._idParamKey.asObservable();
2251
- this.idFromParams$ = combineLatest([this.idParamKey$, this.dbxRouterService.params$]).pipe(map(([key, params]) => {
2252
- var _a;
2253
- return (_a = params[key]) !== null && _a !== void 0 ? _a : undefined;
2254
- }), distinctUntilChanged(), shareReplay(1));
2250
+ this._paramReader = new DbxRouteParamReaderInstance(this.dbxRouterService, DBX_FIREBASE_ROUTER_SYNC_DEFAULT_ID_PARAM_KEY);
2251
+ this._paramRedirect = new DbxRouteParamDefaultRedirectInstance(this._paramReader);
2252
+ this._useDefaultParam = new BehaviorSubject(DBX_FIREBASE_ROUTER_SYNC_USE_DEFAULT_PARAM_VALUE);
2253
+ this._useDefaultParam$ = this._useDefaultParam.pipe(map((x) => {
2254
+ let result;
2255
+ if (typeof x === 'string') {
2256
+ result = (value) => of(value === x);
2257
+ }
2258
+ else {
2259
+ result = x;
2260
+ }
2261
+ return result;
2262
+ }), shareReplay(1));
2263
+ this.idParamKey$ = this._paramReader.paramKey$;
2264
+ this.idFromParams$ = this._paramReader.paramValue$;
2265
+ this.id$ = this._paramReader.value$;
2255
2266
  }
2256
2267
  ngOnInit() {
2257
2268
  this.sub = this.dbxFirebaseDocumentStoreDirective.store.setId(this.idFromParams$);
2269
+ this._paramRedirect.setUseDefaultFilter((value) => {
2270
+ return this._useDefaultParam$.pipe(switchMap((x) => x(value)));
2271
+ });
2272
+ this._paramRedirect.init();
2258
2273
  }
2259
2274
  ngOnDestroy() {
2260
2275
  super.ngOnDestroy();
2261
- this._idParamKey.complete();
2276
+ this._paramReader.destroy();
2277
+ this._paramRedirect.destroy();
2278
+ this._useDefaultParam.complete();
2262
2279
  }
2263
2280
  // MARK: Input
2264
2281
  get idParam() {
2265
- return this._idParamKey.value;
2282
+ return this._paramReader.paramKey;
2266
2283
  }
2267
2284
  set idParam(idParam) {
2268
- this._idParamKey.next(idParam || DBX_FIREBASE_ROUTER_SYNC_DEFAULT_ID_PARAM_KEY);
2285
+ this._paramReader.paramKey = idParam;
2286
+ }
2287
+ set dbxFirebaseDocumentStoreRouteIdDefault(defaultValue) {
2288
+ this._paramReader.setDefaultValue(defaultValue);
2289
+ }
2290
+ /**
2291
+ * Whether or not to enable the redirection. Is enabled by default.
2292
+ */
2293
+ set dbxFirebaseDocumentStoreRouteIdDefaultRedirect(redirect) {
2294
+ this._paramRedirect.enabled = redirect !== false; // true by default
2295
+ }
2296
+ set dbxFirebaseDocumentStoreRouteIdDefaultDecision(decider) {
2297
+ this._useDefaultParam.next(decider);
2269
2298
  }
2270
2299
  }
2271
2300
  DbxFirebaseDocumentStoreRouteIdDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDocumentStoreRouteIdDirective, deps: [{ token: DbxFirebaseDocumentStoreDirective, host: true }, { token: i3$1.DbxRouterService }], target: i0.ɵɵFactoryTarget.Directive });
2272
- DbxFirebaseDocumentStoreRouteIdDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxFirebaseDocumentStoreRouteIdDirective, selector: "[dbxFirebaseDocumentStoreRouteId]", inputs: { idParam: ["dbxFirebaseDocumentStoreRouteId", "idParam"] }, usesInheritance: true, ngImport: i0 });
2301
+ DbxFirebaseDocumentStoreRouteIdDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxFirebaseDocumentStoreRouteIdDirective, selector: "[dbxFirebaseDocumentStoreRouteId]", inputs: { idParam: ["dbxFirebaseDocumentStoreRouteId", "idParam"], dbxFirebaseDocumentStoreRouteIdDefault: "dbxFirebaseDocumentStoreRouteIdDefault", dbxFirebaseDocumentStoreRouteIdDefaultRedirect: "dbxFirebaseDocumentStoreRouteIdDefaultRedirect", dbxFirebaseDocumentStoreRouteIdDefaultDecision: "dbxFirebaseDocumentStoreRouteIdDefaultDecision" }, usesInheritance: true, ngImport: i0 });
2273
2302
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDocumentStoreRouteIdDirective, decorators: [{
2274
2303
  type: Directive,
2275
2304
  args: [{
@@ -2282,6 +2311,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
2282
2311
  }, propDecorators: { idParam: [{
2283
2312
  type: Input,
2284
2313
  args: ['dbxFirebaseDocumentStoreRouteId']
2314
+ }], dbxFirebaseDocumentStoreRouteIdDefault: [{
2315
+ type: Input
2316
+ }], dbxFirebaseDocumentStoreRouteIdDefaultRedirect: [{
2317
+ type: Input
2318
+ }], dbxFirebaseDocumentStoreRouteIdDefaultDecision: [{
2319
+ type: Input
2285
2320
  }] } });
2286
2321
 
2287
2322
  class DbxFirebaseModelStoreModule {
@@ -2669,5 +2704,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
2669
2704
  * Generated bundle index. Do not edit.
2670
2705
  */
2671
2706
 
2672
- export { AbstractConfiguredDbxFirebaseLoginButtonDirective, AbstractDbxFirebaseCollectionStore, AbstractDbxFirebaseCollectionWithParentStore, AbstractDbxFirebaseDocumentStore, AbstractDbxFirebaseDocumentWithParentStore, DBX_FIREBASE_MODEL_DOES_NOT_EXIST_ERROR, DBX_FIREBASE_OPTIONS_TOKEN, DBX_FIREBASE_ROUTER_SYNC_DEFAULT_ID_PARAM_KEY, DBX_FIRESTORE_CONTEXT_TOKEN, DEFAULT_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_TEMPLATE, DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE, DEFAULT_FIREBASE_AUTH_LOGIN_PASSWORD_CONFIG, DEFAULT_FIREBASE_AUTH_LOGIN_PASSWORD_CONFIG_TOKEN, DEFAULT_FIREBASE_AUTH_LOGIN_PROVIDERS_TOKEN, DEFAULT_FIREBASE_AUTH_LOGIN_TERMS_COMPONENT_CLASS_TOKEN, DEFAULT_FIREBASE_LOGIN_METHOD_CATEGORY, DbxFirebaseAppCheckHttpInterceptor, DbxFirebaseAuthContextInfo, DbxFirebaseAuthLoginService, DbxFirebaseAuthModule, DbxFirebaseAuthService, DbxFirebaseAuthServiceDelegate, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseCollectionListDirective, DbxFirebaseCollectionLoaderInstance, DbxFirebaseCollectionStoreDirective, DbxFirebaseCollectionWithParentStoreDirective, DbxFirebaseDefaultAppCheckProviderModule, DbxFirebaseDefaultAuthProviderModule, DbxFirebaseDefaultFirebaseProvidersModule, DbxFirebaseDefaultFirestoreProviderModule, DbxFirebaseDefaultFunctionsProviderModule, DbxFirebaseDefaultStorageProviderModule, DbxFirebaseDocumentAuthIdDirective, DbxFirebaseDocumentStoreDirective, DbxFirebaseDocumentStoreRouteIdDirective, DbxFirebaseEmailFormComponent, DbxFirebaseEmailRecoveryFormComponent, DbxFirebaseEmulatorModule, DbxFirebaseFirestoreCollectionModule, DbxFirebaseFunctionsModule, DbxFirebaseLoginAnonymousComponent, DbxFirebaseLoginAppleComponent, DbxFirebaseLoginButtonComponent, DbxFirebaseLoginButtonContainerComponent, DbxFirebaseLoginComponent, DbxFirebaseLoginContext, DbxFirebaseLoginContextBackButtonComponent, DbxFirebaseLoginContextDirective, DbxFirebaseLoginEmailComponent, DbxFirebaseLoginEmailContentComponent, DbxFirebaseLoginFacebookComponent, DbxFirebaseLoginGitHubComponent, DbxFirebaseLoginGoogleComponent, DbxFirebaseLoginListComponent, DbxFirebaseLoginMicrosoftComponent, DbxFirebaseLoginModule, DbxFirebaseLoginModuleRootConfig, DbxFirebaseLoginTermsComponent, DbxFirebaseLoginTermsSimpleComponent, DbxFirebaseLoginTwitterComponent, DbxFirebaseModelModule, DbxFirebaseModelStoreModule, DbxFirebaseModule, DbxFirebaseParsedEmulatorsConfig, DbxFirebaseRegisterComponent, DbxFirebaseRegisterEmailComponent, DbxFirestoreContextService, FIREBASE_AUTH_NETWORK_REQUEST_ERROR, FIREBASE_AUTH_USER_NOT_FOUND_ERROR, OAUTH_FIREBASE_LOGIN_METHOD_CATEGORY, authRolesObsWithClaimsService, authUserInfoFromAuthUser, authUserStateFromFirebaseAuthService, dbxFirebaseCollectionLoaderInstance, dbxFirebaseCollectionLoaderInstanceWithCollection, defaultDbxFirebaseAuthServiceDelegateWithClaimsService, defaultFirebaseAuthLoginProvidersFactory, enableAppCheckDebugTokenGeneration, firebaseAuthErrorToReadableError, firebaseAuthTokenFromUser, firebaseDocumentStoreCreateFunction, firebaseDocumentStoreDeleteFunction, firebaseDocumentStoreUpdateFunction, modelDoesNotExistError, provideDbxFirebaseCollectionStoreDirective, provideDbxFirebaseCollectionWithParentStoreDirective, provideDbxFirebaseDocumentStoreDirective, readValueFromIdToken, setParentStoreEffect };
2707
+ export { AbstractConfiguredDbxFirebaseLoginButtonDirective, AbstractDbxFirebaseCollectionStore, AbstractDbxFirebaseCollectionWithParentStore, AbstractDbxFirebaseDocumentStore, AbstractDbxFirebaseDocumentWithParentStore, DBX_FIREBASE_MODEL_DOES_NOT_EXIST_ERROR, DBX_FIREBASE_OPTIONS_TOKEN, DBX_FIREBASE_ROUTER_SYNC_DEFAULT_ID_PARAM_KEY, DBX_FIREBASE_ROUTER_SYNC_USE_DEFAULT_PARAM_VALUE, DBX_FIRESTORE_CONTEXT_TOKEN, DEFAULT_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_TEMPLATE, DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE, DEFAULT_FIREBASE_AUTH_LOGIN_PASSWORD_CONFIG, DEFAULT_FIREBASE_AUTH_LOGIN_PASSWORD_CONFIG_TOKEN, DEFAULT_FIREBASE_AUTH_LOGIN_PROVIDERS_TOKEN, DEFAULT_FIREBASE_AUTH_LOGIN_TERMS_COMPONENT_CLASS_TOKEN, DEFAULT_FIREBASE_LOGIN_METHOD_CATEGORY, DbxFirebaseAppCheckHttpInterceptor, DbxFirebaseAuthContextInfo, DbxFirebaseAuthLoginService, DbxFirebaseAuthModule, DbxFirebaseAuthService, DbxFirebaseAuthServiceDelegate, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseCollectionListDirective, DbxFirebaseCollectionLoaderInstance, DbxFirebaseCollectionStoreDirective, DbxFirebaseCollectionWithParentStoreDirective, DbxFirebaseDefaultAppCheckProviderModule, DbxFirebaseDefaultAuthProviderModule, DbxFirebaseDefaultFirebaseProvidersModule, DbxFirebaseDefaultFirestoreProviderModule, DbxFirebaseDefaultFunctionsProviderModule, DbxFirebaseDefaultStorageProviderModule, DbxFirebaseDocumentAuthIdDirective, DbxFirebaseDocumentStoreDirective, DbxFirebaseDocumentStoreRouteIdDirective, DbxFirebaseEmailFormComponent, DbxFirebaseEmailRecoveryFormComponent, DbxFirebaseEmulatorModule, DbxFirebaseFirestoreCollectionModule, DbxFirebaseFunctionsModule, DbxFirebaseLoginAnonymousComponent, DbxFirebaseLoginAppleComponent, DbxFirebaseLoginButtonComponent, DbxFirebaseLoginButtonContainerComponent, DbxFirebaseLoginComponent, DbxFirebaseLoginContext, DbxFirebaseLoginContextBackButtonComponent, DbxFirebaseLoginContextDirective, DbxFirebaseLoginEmailComponent, DbxFirebaseLoginEmailContentComponent, DbxFirebaseLoginFacebookComponent, DbxFirebaseLoginGitHubComponent, DbxFirebaseLoginGoogleComponent, DbxFirebaseLoginListComponent, DbxFirebaseLoginMicrosoftComponent, DbxFirebaseLoginModule, DbxFirebaseLoginModuleRootConfig, DbxFirebaseLoginTermsComponent, DbxFirebaseLoginTermsSimpleComponent, DbxFirebaseLoginTwitterComponent, DbxFirebaseModelModule, DbxFirebaseModelStoreModule, DbxFirebaseModule, DbxFirebaseParsedEmulatorsConfig, DbxFirebaseRegisterComponent, DbxFirebaseRegisterEmailComponent, DbxFirestoreContextService, FIREBASE_AUTH_NETWORK_REQUEST_ERROR, FIREBASE_AUTH_USER_NOT_FOUND_ERROR, OAUTH_FIREBASE_LOGIN_METHOD_CATEGORY, authRolesObsWithClaimsService, authUserInfoFromAuthUser, authUserStateFromFirebaseAuthService, dbxFirebaseCollectionLoaderInstance, dbxFirebaseCollectionLoaderInstanceWithCollection, defaultDbxFirebaseAuthServiceDelegateWithClaimsService, defaultFirebaseAuthLoginProvidersFactory, enableAppCheckDebugTokenGeneration, firebaseAuthErrorToReadableError, firebaseAuthTokenFromUser, firebaseDocumentStoreCreateFunction, firebaseDocumentStoreDeleteFunction, firebaseDocumentStoreUpdateFunction, modelDoesNotExistError, provideDbxFirebaseCollectionStoreDirective, provideDbxFirebaseCollectionWithParentStoreDirective, provideDbxFirebaseDocumentStoreDirective, readValueFromIdToken, setParentStoreEffect };
2673
2708
  //# sourceMappingURL=dereekb-dbx-firebase.mjs.map