@dereekb/dbx-firebase 5.1.0 → 5.3.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.
- package/esm2020/lib/auth/appcheck/appcheck.interceptor.mjs +5 -5
- package/esm2020/lib/auth/appcheck/appcheck.mjs +1 -1
- package/esm2020/lib/auth/login/login.service.mjs +1 -1
- package/esm2020/lib/auth/service/firebase.auth.service.delegate.mjs +22 -0
- package/esm2020/lib/auth/service/firebase.auth.service.mjs +4 -2
- package/esm2020/lib/auth/service/index.mjs +2 -1
- package/esm2020/lib/firebase/appcheck.mjs +1 -1
- package/esm2020/lib/firebase/firebase.module.mjs +1 -1
- package/esm2020/lib/model/loader/collection.loader.instance.mjs +1 -1
- package/esm2020/lib/model/store/index.mjs +2 -1
- package/esm2020/lib/model/store/store.collection.directive.mjs +1 -1
- package/esm2020/lib/model/store/store.collection.mjs +1 -1
- package/esm2020/lib/model/store/store.subcollection.directive.mjs +30 -0
- package/esm2020/lib/model/store/store.subcollection.document.mjs +21 -4
- package/esm2020/lib/model/store/store.subcollection.mjs +51 -9
- package/esm2020/lib/model/store/store.subcollection.rxjs.mjs +3 -22
- package/fesm2015/dereekb-dbx-firebase.mjs +132 -42
- package/fesm2015/dereekb-dbx-firebase.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-firebase.mjs +129 -42
- package/fesm2020/dereekb-dbx-firebase.mjs.map +1 -1
- package/lib/auth/service/firebase.auth.service.delegate.d.ts +14 -0
- package/lib/auth/service/index.d.ts +1 -0
- package/lib/model/loader/collection.loader.instance.d.ts +8 -8
- package/lib/model/store/index.d.ts +1 -0
- package/lib/model/store/store.collection.d.ts +7 -7
- package/lib/model/store/store.collection.directive.d.ts +1 -1
- package/lib/model/store/store.subcollection.d.ts +29 -9
- package/lib/model/store/store.subcollection.directive.d.ts +23 -0
- package/lib/model/store/store.subcollection.document.d.ts +9 -8
- package/lib/model/store/store.subcollection.rxjs.d.ts +7 -6
- package/package.json +6 -6
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Directive, forwardRef, Input } from '@angular/core';
|
|
2
|
+
import { DbxFirebaseCollectionStoreDirective, provideDbxFirebaseCollectionStoreDirective } from './store.collection.directive';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Abstract directive that contains a DbxFirebaseCollectionWithParentStore and provides an interface for communicating with other directives.
|
|
6
|
+
*/
|
|
7
|
+
export class DbxFirebaseCollectionWithParentStoreDirective extends DbxFirebaseCollectionStoreDirective {
|
|
8
|
+
// MARK: Inputs
|
|
9
|
+
set sourceMode(sourceMode) {
|
|
10
|
+
this.store.setSourceMode(sourceMode);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
DbxFirebaseCollectionWithParentStoreDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseCollectionWithParentStoreDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
14
|
+
DbxFirebaseCollectionWithParentStoreDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxFirebaseCollectionWithParentStoreDirective, inputs: { sourceMode: "sourceMode" }, usesInheritance: true, ngImport: i0 });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseCollectionWithParentStoreDirective, decorators: [{
|
|
16
|
+
type: Directive
|
|
17
|
+
}], propDecorators: { sourceMode: [{
|
|
18
|
+
type: Input
|
|
19
|
+
}] } });
|
|
20
|
+
export function provideDbxFirebaseCollectionWithParentStoreDirective(sourceType, storeType) {
|
|
21
|
+
const providers = [
|
|
22
|
+
...provideDbxFirebaseCollectionStoreDirective(sourceType, storeType),
|
|
23
|
+
{
|
|
24
|
+
provide: DbxFirebaseCollectionWithParentStoreDirective,
|
|
25
|
+
useExisting: forwardRef(() => sourceType)
|
|
26
|
+
}
|
|
27
|
+
];
|
|
28
|
+
return providers;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuc3ViY29sbGVjdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9tb2RlbC9zdG9yZS9zdG9yZS5zdWJjb2xsZWN0aW9uLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBRzdFLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSwwQ0FBMEMsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQUcvSDs7R0FFRztBQUVILE1BQU0sT0FBZ0IsNkNBQXlSLFNBQVEsbUNBQTRDO0lBQ2pXLGVBQWU7SUFDZixJQUNJLFVBQVUsQ0FBQyxVQUFnRTtRQUM3RSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN2QyxDQUFDOzswSUFMbUIsNkNBQTZDOzhIQUE3Qyw2Q0FBNkM7MkZBQTdDLDZDQUE2QztrQkFEbEUsU0FBUzs4QkFJSixVQUFVO3NCQURiLEtBQUs7O0FBa0JSLE1BQU0sVUFBVSxvREFBb0QsQ0FBNE4sVUFBbUIsRUFBRSxTQUFtQjtJQUN0VSxNQUFNLFNBQVMsR0FBZTtRQUM1QixHQUFHLDBDQUEwQyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUM7UUFDcEU7WUFDRSxPQUFPLEVBQUUsNkNBQTZDO1lBQ3RELFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDO1NBQzFDO0tBQ0YsQ0FBQztJQUVGLE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGZvcndhcmRSZWYsIElucHV0LCBQcm92aWRlciwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmlyZXN0b3JlRG9jdW1lbnQgfSBmcm9tICdAZGVyZWVrYi9maXJlYmFzZSc7XG5pbXBvcnQgeyBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uU3RvcmVEaXJlY3RpdmUsIHByb3ZpZGVEYnhGaXJlYmFzZUNvbGxlY3Rpb25TdG9yZURpcmVjdGl2ZSB9IGZyb20gJy4vc3RvcmUuY29sbGVjdGlvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uV2l0aFBhcmVudFN0b3JlLCBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudFNvdXJjZU1vZGUgfSBmcm9tICcuL3N0b3JlLnN1YmNvbGxlY3Rpb24nO1xuXG4vKipcbiAqIEFic3RyYWN0IGRpcmVjdGl2ZSB0aGF0IGNvbnRhaW5zIGEgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uV2l0aFBhcmVudFN0b3JlIGFuZCBwcm92aWRlcyBhbiBpbnRlcmZhY2UgZm9yIGNvbW11bmljYXRpbmcgd2l0aCBvdGhlciBkaXJlY3RpdmVzLlxuICovXG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEYnhGaXJlYmFzZUNvbGxlY3Rpb25XaXRoUGFyZW50U3RvcmVEaXJlY3RpdmU8VCwgUFQsIEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxUPiA9IEZpcmVzdG9yZURvY3VtZW50PFQ+LCBQRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFBUPiA9IEZpcmVzdG9yZURvY3VtZW50PFBUPiwgUyBleHRlbmRzIERieEZpcmViYXNlQ29sbGVjdGlvbldpdGhQYXJlbnRTdG9yZTxULCBQVCwgRCwgUEQ+ID0gRGJ4RmlyZWJhc2VDb2xsZWN0aW9uV2l0aFBhcmVudFN0b3JlPFQsIFBULCBELCBQRD4+IGV4dGVuZHMgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uU3RvcmVEaXJlY3RpdmU8VCwgRCwgUz4ge1xuICAvLyBNQVJLOiBJbnB1dHNcbiAgQElucHV0KClcbiAgc2V0IHNvdXJjZU1vZGUoc291cmNlTW9kZTogTWF5YmU8RGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnRTb3VyY2VNb2RlPikge1xuICAgIHRoaXMuc3RvcmUuc2V0U291cmNlTW9kZShzb3VyY2VNb2RlKTtcbiAgfVxufVxuXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG4vLyBUaGUgdXNlIG9mIGFueSBoZXJlIGRvZXMgbm90IGRlZ3JhZGUgdGhlIHR5cGUtc2FmZXR5OyB3ZSB3YW50IHRvIHNpbXBseSBtYXRjaCB0aGF0IHRoZSBTdG9yZSB0eXBlIFMgaXMgdXNlZCBpbiB0aGUgRGlyZWN0aXZlIHR5cGUgQyB0byBwcm92aWRlIGl0LlxuXG4vKipcbiAqIENvbmZpZ3VyZXMgcHJvdmlkZXJzIGZvciBhIERieEZpcmViYXNlQ29sbGVjdGlvbldpdGhQYXJlbnRTdG9yZURpcmVjdGl2ZS5cbiAqXG4gKiBDYW4gb3B0aW9uYWxseSBhbHNvIHByb3ZpZGUgdGhlIGFjdHVhbCBzdG9yZSB0eXBlIHRvIGluY2x1ZGUgaW4gdGhlIHByb3ZpZGVycyBhcnJheSBzbyBpdCBpcyBpbnN0YW50aWF0ZWQgYnkgQW5ndWxhci5cbiAqXG4gKiBAcGFyYW0gc291cmNlVHlwZVxuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZURieEZpcmViYXNlQ29sbGVjdGlvbldpdGhQYXJlbnRTdG9yZURpcmVjdGl2ZTxTIGV4dGVuZHMgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uV2l0aFBhcmVudFN0b3JlRGlyZWN0aXZlPGFueSwgYW55LCBhbnksIGFueSwgYW55Pj4oc291cmNlVHlwZTogVHlwZTxTPik6IFByb3ZpZGVyW107XG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZURieEZpcmViYXNlQ29sbGVjdGlvbldpdGhQYXJlbnRTdG9yZURpcmVjdGl2ZTxTIGV4dGVuZHMgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uV2l0aFBhcmVudFN0b3JlPGFueSwgYW55LCBhbnksIGFueT4sIEMgZXh0ZW5kcyBEYnhGaXJlYmFzZUNvbGxlY3Rpb25XaXRoUGFyZW50U3RvcmVEaXJlY3RpdmU8YW55LCBhbnksIGFueSwgYW55LCBTPiA9IERieEZpcmViYXNlQ29sbGVjdGlvbldpdGhQYXJlbnRTdG9yZURpcmVjdGl2ZTxhbnksIGFueSwgYW55LCBhbnksIFM+Pihzb3VyY2VUeXBlOiBUeXBlPEM+LCBzdG9yZVR5cGU/OiBUeXBlPFM+KTogUHJvdmlkZXJbXTtcbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlRGJ4RmlyZWJhc2VDb2xsZWN0aW9uV2l0aFBhcmVudFN0b3JlRGlyZWN0aXZlPFMgZXh0ZW5kcyBEYnhGaXJlYmFzZUNvbGxlY3Rpb25XaXRoUGFyZW50U3RvcmU8YW55LCBhbnksIGFueSwgYW55PiwgQyBleHRlbmRzIERieEZpcmViYXNlQ29sbGVjdGlvbldpdGhQYXJlbnRTdG9yZURpcmVjdGl2ZTxhbnksIGFueSwgYW55LCBhbnksIFM+ID0gRGJ4RmlyZWJhc2VDb2xsZWN0aW9uV2l0aFBhcmVudFN0b3JlRGlyZWN0aXZlPGFueSwgYW55LCBhbnksIGFueSwgUz4+KHNvdXJjZVR5cGU6IFR5cGU8Qz4sIHN0b3JlVHlwZT86IFR5cGU8Uz4pOiBQcm92aWRlcltdIHtcbiAgY29uc3QgcHJvdmlkZXJzOiBQcm92aWRlcltdID0gW1xuICAgIC4uLnByb3ZpZGVEYnhGaXJlYmFzZUNvbGxlY3Rpb25TdG9yZURpcmVjdGl2ZShzb3VyY2VUeXBlLCBzdG9yZVR5cGUpLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IERieEZpcmViYXNlQ29sbGVjdGlvbldpdGhQYXJlbnRTdG9yZURpcmVjdGl2ZSxcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IHNvdXJjZVR5cGUpXG4gICAgfVxuICBdO1xuXG4gIHJldHVybiBwcm92aWRlcnM7XG59XG4iXX0=
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { filterMaybe } from '@dereekb/rxjs';
|
|
2
2
|
import { Injectable } from '@angular/core';
|
|
3
|
-
import { shareReplay, distinctUntilChanged, map } from 'rxjs';
|
|
3
|
+
import { shareReplay, distinctUntilChanged, map, NEVER, switchMap, tap } from 'rxjs';
|
|
4
4
|
import { AbstractDbxFirebaseDocumentStore } from './store.document';
|
|
5
|
-
import {
|
|
5
|
+
import { setParentStoreEffect } from './store.subcollection.rxjs';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
/**
|
|
8
8
|
* Abstract DbxFirebaseDocumentStore that has a parent document from which is derives it's FiresbaseCollection from.
|
|
@@ -11,8 +11,25 @@ export class AbstractDbxFirebaseDocumentWithParentStore extends AbstractDbxFireb
|
|
|
11
11
|
constructor() {
|
|
12
12
|
super(...arguments);
|
|
13
13
|
// MARK: Effects
|
|
14
|
-
this.setParent = setParentEffect(this);
|
|
15
14
|
this.setParentStore = setParentStoreEffect(this);
|
|
15
|
+
this.setParent = this.effect((input) => {
|
|
16
|
+
return input.pipe(switchMap((parent) => {
|
|
17
|
+
this._setParentDocument(parent);
|
|
18
|
+
if (parent) {
|
|
19
|
+
return this.collectionFactory$.pipe(tap((collectionFactory) => {
|
|
20
|
+
const collection = collectionFactory(parent);
|
|
21
|
+
this.setFirestoreCollection(collection);
|
|
22
|
+
}));
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
// clear the current collection
|
|
26
|
+
this.setFirestoreCollection(undefined);
|
|
27
|
+
// do nothing until a parent is returned.
|
|
28
|
+
return NEVER;
|
|
29
|
+
}
|
|
30
|
+
}));
|
|
31
|
+
});
|
|
32
|
+
this._setParent = this.setParent;
|
|
16
33
|
// MARK: Accessors
|
|
17
34
|
this.currentParent$ = this.state$.pipe(map((x) => x.parent), distinctUntilChanged(), shareReplay(1));
|
|
18
35
|
this.parent$ = this.currentParent$.pipe(filterMaybe());
|
|
@@ -34,4 +51,4 @@ AbstractDbxFirebaseDocumentWithParentStore.ɵprov = i0.ɵɵngDeclareInjectable({
|
|
|
34
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AbstractDbxFirebaseDocumentWithParentStore, decorators: [{
|
|
35
52
|
type: Injectable
|
|
36
53
|
}] });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuc3ViY29sbGVjdGlvbi5kb2N1bWVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZGVsL3N0b3JlL3N0b3JlLnN1YmNvbGxlY3Rpb24uZG9jdW1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFnQixNQUFNLE1BQU0sQ0FBQztBQUcvRyxPQUFPLEVBQUUsZ0NBQWdDLEVBQWtFLE1BQU0sa0JBQWtCLENBQUM7QUFDcEksT0FBTyxFQUFtRSxvQkFBb0IsRUFBb0osTUFBTSw0QkFBNEIsQ0FBQzs7QUFNclI7O0dBRUc7QUFFSCxNQUFNLE9BQU8sMENBQTBTLFNBQVEsZ0NBQXlDO0lBRHhXOztRQUVFLGdCQUFnQjtRQUNQLG1CQUFjLEdBQTRFLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JILGNBQVMsR0FBbUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQTRCLEVBQUUsRUFBRTtZQUNoSSxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQ2YsU0FBUyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFFaEMsSUFBSSxNQUFNLEVBQUU7b0JBQ1YsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUNqQyxHQUFHLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFO3dCQUN4QixNQUFNLFVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQzt3QkFDN0MsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFVBQVUsQ0FBQyxDQUFDO29CQUMxQyxDQUFDLENBQUMsQ0FDSCxDQUFDO2lCQUNIO3FCQUFNO29CQUNMLCtCQUErQjtvQkFDL0IsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDO29CQUV2Qyx5Q0FBeUM7b0JBQ3pDLE9BQU8sS0FBSyxDQUFDO2lCQUNkO1lBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRU0sZUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFFckMsa0JBQWtCO1FBQ1QsbUJBQWMsR0FBMEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQy9ELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUNwQixvQkFBb0IsRUFBRSxFQUN0QixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztRQUVPLFlBQU8sR0FBbUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUVsRSw4QkFBeUIsR0FBMEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQzFILEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEVBQy9CLG9CQUFvQixFQUFFLEVBQ3RCLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO1FBRU8sdUJBQWtCLEdBQW1FLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUVqSixzQkFBc0I7UUFDdEI7O1dBRUc7UUFDTSx5QkFBb0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLGlCQUFxRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFFbEs7O1dBRUc7UUFDTSx1QkFBa0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLE1BQWlCLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7S0FDbEc7O3VJQXZEWSwwQ0FBMEM7MklBQTFDLDBDQUEwQzsyRkFBMUMsMENBQTBDO2tCQUR0RCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmlsdGVyTWF5YmUgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHNoYXJlUmVwbGF5LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCBORVZFUiwgc3dpdGNoTWFwLCB0YXAsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRmlyZXN0b3JlRG9jdW1lbnQsIEZpcmVzdG9yZUNvbGxlY3Rpb25XaXRoUGFyZW50RmFjdG9yeSwgRmlyZXN0b3JlQ29sbGVjdGlvbiB9IGZyb20gJ0BkZXJlZWtiL2ZpcmViYXNlJztcbmltcG9ydCB7IE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBBYnN0cmFjdERieEZpcmViYXNlRG9jdW1lbnRTdG9yZSwgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlLCBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVDb250ZXh0U3RhdGUgfSBmcm9tICcuL3N0b3JlLmRvY3VtZW50JztcbmltcG9ydCB7IERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50U2V0UGFyZW50U3RvcmVFZmZlY3RGdW5jdGlvbiwgc2V0UGFyZW50U3RvcmVFZmZlY3QsIERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50LCBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudENvbnRleHRTdGF0ZSwgRGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnRTZXRQYXJlbnRFZmZlY3RGdW5jdGlvbiB9IGZyb20gJy4vc3RvcmUuc3ViY29sbGVjdGlvbi5yeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBEYnhGaXJlYmFzZURvY3VtZW50V2l0aFBhcmVudFN0b3JlQ29udGV4dFN0YXRlPFQsIFBULCBEIGV4dGVuZHMgRmlyZXN0b3JlRG9jdW1lbnQ8VD4gPSBGaXJlc3RvcmVEb2N1bWVudDxUPiwgUEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxQVD4gPSBGaXJlc3RvcmVEb2N1bWVudDxQVD4+IGV4dGVuZHMgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlQ29udGV4dFN0YXRlPFQsIEQ+LCBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudENvbnRleHRTdGF0ZTxULCBQVCwgRCwgUEQ+IHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VEb2N1bWVudFdpdGhQYXJlbnRTdG9yZTxULCBQVCwgRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFQ+ID0gRmlyZXN0b3JlRG9jdW1lbnQ8VD4sIFBEIGV4dGVuZHMgRmlyZXN0b3JlRG9jdW1lbnQ8UFQ+ID0gRmlyZXN0b3JlRG9jdW1lbnQ8UFQ+PiBleHRlbmRzIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZTxULCBEPiwgRGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnQ8VCwgUFQsIEQsIFBELCBGaXJlc3RvcmVDb2xsZWN0aW9uPFQsIEQ+PiB7fVxuXG4vKipcbiAqIEFic3RyYWN0IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZSB0aGF0IGhhcyBhIHBhcmVudCBkb2N1bWVudCBmcm9tIHdoaWNoIGlzIGRlcml2ZXMgaXQncyBGaXJlc2Jhc2VDb2xsZWN0aW9uIGZyb20uXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBYnN0cmFjdERieEZpcmViYXNlRG9jdW1lbnRXaXRoUGFyZW50U3RvcmU8VCwgUFQsIEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxUPiA9IEZpcmVzdG9yZURvY3VtZW50PFQ+LCBQRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFBUPiA9IEZpcmVzdG9yZURvY3VtZW50PFBUPiwgQyBleHRlbmRzIERieEZpcmViYXNlRG9jdW1lbnRXaXRoUGFyZW50U3RvcmVDb250ZXh0U3RhdGU8VCwgUFQsIEQsIFBEPiA9IERieEZpcmViYXNlRG9jdW1lbnRXaXRoUGFyZW50U3RvcmVDb250ZXh0U3RhdGU8VCwgUFQsIEQsIFBEPj4gZXh0ZW5kcyBBYnN0cmFjdERieEZpcmViYXNlRG9jdW1lbnRTdG9yZTxULCBELCBDPiBpbXBsZW1lbnRzIERieEZpcmViYXNlRG9jdW1lbnRXaXRoUGFyZW50U3RvcmU8VCwgUFQsIEQsIFBEPiB7XG4gIC8vIE1BUks6IEVmZmVjdHNcbiAgcmVhZG9ubHkgc2V0UGFyZW50U3RvcmU6IERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50U2V0UGFyZW50U3RvcmVFZmZlY3RGdW5jdGlvbjxQVCwgUEQ+ID0gc2V0UGFyZW50U3RvcmVFZmZlY3QodGhpcyk7XG4gIHJlYWRvbmx5IHNldFBhcmVudDogRGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnRTZXRQYXJlbnRFZmZlY3RGdW5jdGlvbjxQRD4gPSB0aGlzLmVmZmVjdCgoaW5wdXQ6IE9ic2VydmFibGU8TWF5YmU8UEQ+PikgPT4ge1xuICAgIHJldHVybiBpbnB1dC5waXBlKFxuICAgICAgc3dpdGNoTWFwKChwYXJlbnQpID0+IHtcbiAgICAgICAgdGhpcy5fc2V0UGFyZW50RG9jdW1lbnQocGFyZW50KTtcblxuICAgICAgICBpZiAocGFyZW50KSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuY29sbGVjdGlvbkZhY3RvcnkkLnBpcGUoXG4gICAgICAgICAgICB0YXAoKGNvbGxlY3Rpb25GYWN0b3J5KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGNvbGxlY3Rpb24gPSBjb2xsZWN0aW9uRmFjdG9yeShwYXJlbnQpO1xuICAgICAgICAgICAgICB0aGlzLnNldEZpcmVzdG9yZUNvbGxlY3Rpb24oY29sbGVjdGlvbik7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gY2xlYXIgdGhlIGN1cnJlbnQgY29sbGVjdGlvblxuICAgICAgICAgIHRoaXMuc2V0RmlyZXN0b3JlQ29sbGVjdGlvbih1bmRlZmluZWQpO1xuXG4gICAgICAgICAgLy8gZG8gbm90aGluZyB1bnRpbCBhIHBhcmVudCBpcyByZXR1cm5lZC5cbiAgICAgICAgICByZXR1cm4gTkVWRVI7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgX3NldFBhcmVudCA9IHRoaXMuc2V0UGFyZW50O1xuXG4gIC8vIE1BUks6IEFjY2Vzc29yc1xuICByZWFkb25seSBjdXJyZW50UGFyZW50JDogT2JzZXJ2YWJsZTxNYXliZTxQRD4+ID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHgucGFyZW50KSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgcGFyZW50JDogT2JzZXJ2YWJsZTxQRD4gPSB0aGlzLmN1cnJlbnRQYXJlbnQkLnBpcGUoZmlsdGVyTWF5YmUoKSk7XG5cbiAgcmVhZG9ubHkgY3VycmVudENvbGxlY3Rpb25GYWN0b3J5JDogT2JzZXJ2YWJsZTxNYXliZTxGaXJlc3RvcmVDb2xsZWN0aW9uV2l0aFBhcmVudEZhY3Rvcnk8VCwgUFQsIEQsIFBEPj4+ID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHguY29sbGVjdGlvbkZhY3RvcnkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBjb2xsZWN0aW9uRmFjdG9yeSQ6IE9ic2VydmFibGU8RmlyZXN0b3JlQ29sbGVjdGlvbldpdGhQYXJlbnRGYWN0b3J5PFQsIFBULCBELCBQRD4+ID0gdGhpcy5jdXJyZW50Q29sbGVjdGlvbkZhY3RvcnkkLnBpcGUoZmlsdGVyTWF5YmUoKSk7XG5cbiAgLy8gTUFSSzogU3RhdGUgQ2hhbmdlc1xuICAvKipcbiAgICogU2V0cyB0aGUgY29sbGVjdGlvbiBmYWN0b3J5IGZ1bmN0aW9uIHRvIHVzZS5cbiAgICovXG4gIHJlYWRvbmx5IHNldENvbGxlY3Rpb25GYWN0b3J5ID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgY29sbGVjdGlvbkZhY3Rvcnk6IEZpcmVzdG9yZUNvbGxlY3Rpb25XaXRoUGFyZW50RmFjdG9yeTxULCBQVCwgRCwgUEQ+KSA9PiAoeyAuLi5zdGF0ZSwgY29sbGVjdGlvbkZhY3RvcnkgfSkpO1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBwYXJlbnQgb24gdGhlIGN1cnJlbnQgc3RhdGUuXG4gICAqL1xuICByZWFkb25seSBfc2V0UGFyZW50RG9jdW1lbnQgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBwYXJlbnQ6IE1heWJlPFBEPikgPT4gKHsgLi4uc3RhdGUsIHBhcmVudCB9KSk7XG59XG4iXX0=
|
|
@@ -1,37 +1,79 @@
|
|
|
1
|
+
import { Inject, Injectable, Optional } from '@angular/core';
|
|
1
2
|
import { filterMaybe } from '@dereekb/rxjs';
|
|
2
|
-
import {
|
|
3
|
-
import { shareReplay, distinctUntilChanged, map } from 'rxjs';
|
|
3
|
+
import { shareReplay, distinctUntilChanged, map, NEVER, switchMap, tap } from 'rxjs';
|
|
4
4
|
import { AbstractDbxFirebaseCollectionStore } from './store.collection';
|
|
5
|
-
import {
|
|
5
|
+
import { setParentStoreEffect } from './store.subcollection.rxjs';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
/**
|
|
8
8
|
* Abstract DbxFirebaseCollectionStore that has a parent document from which is derives it's FiresbaseCollection from.
|
|
9
9
|
*/
|
|
10
10
|
export class AbstractDbxFirebaseCollectionWithParentStore extends AbstractDbxFirebaseCollectionStore {
|
|
11
|
-
constructor() {
|
|
12
|
-
super(
|
|
11
|
+
constructor(state, defaultSourceMode) {
|
|
12
|
+
super(state);
|
|
13
13
|
// MARK: Effects
|
|
14
|
-
this.setParent = setParentEffect(this);
|
|
15
14
|
this.setParentStore = setParentStoreEffect(this);
|
|
15
|
+
this.setSourceMode = this.effect((input) => {
|
|
16
|
+
return input.pipe(distinctUntilChanged(), switchMap((inputMode) => {
|
|
17
|
+
const mode = inputMode?.toLowerCase() ?? 'parent'; // default to parent mode
|
|
18
|
+
if (mode === 'group') {
|
|
19
|
+
return this.currentCollectionGroup$.pipe(tap((collectionGroup) => {
|
|
20
|
+
this.setFirestoreCollection(collectionGroup);
|
|
21
|
+
}));
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
// parent document collection
|
|
25
|
+
return this.currentParent$.pipe(switchMap((parent) => {
|
|
26
|
+
if (parent) {
|
|
27
|
+
return this.collectionFactory$.pipe(tap((collectionFactory) => {
|
|
28
|
+
const collection = collectionFactory(parent);
|
|
29
|
+
this.setFirestoreCollection(collection);
|
|
30
|
+
}));
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
this.setFirestoreCollection(undefined);
|
|
34
|
+
return NEVER;
|
|
35
|
+
}
|
|
36
|
+
}));
|
|
37
|
+
}
|
|
38
|
+
}));
|
|
39
|
+
});
|
|
16
40
|
// MARK: Accessors
|
|
17
41
|
this.currentParent$ = this.state$.pipe(map((x) => x.parent), distinctUntilChanged(), shareReplay(1));
|
|
18
42
|
this.parent$ = this.currentParent$.pipe(filterMaybe());
|
|
19
43
|
this.currentCollectionFactory$ = this.state$.pipe(map((x) => x.collectionFactory), distinctUntilChanged(), shareReplay(1));
|
|
20
44
|
this.collectionFactory$ = this.currentCollectionFactory$.pipe(filterMaybe());
|
|
45
|
+
this.currentCollectionGroup$ = this.state$.pipe(map((x) => x.collectionGroup), distinctUntilChanged(), shareReplay(1));
|
|
46
|
+
this.collectionGroup$ = this.currentCollectionGroup$.pipe(filterMaybe());
|
|
21
47
|
// MARK: State Changes
|
|
22
48
|
/**
|
|
23
49
|
* Sets the collection factory function to use.
|
|
24
50
|
*/
|
|
25
51
|
this.setCollectionFactory = this.updater((state, collectionFactory) => ({ ...state, collectionFactory }));
|
|
52
|
+
/**
|
|
53
|
+
* Sets the collection group to use.
|
|
54
|
+
*/
|
|
55
|
+
this.setCollectionGroup = this.updater((state, collectionGroup) => ({ ...state, collectionGroup }));
|
|
26
56
|
/**
|
|
27
57
|
* Sets the parent on the current state.
|
|
28
58
|
*/
|
|
29
59
|
this._setParentDocument = this.updater((state, parent) => ({ ...state, parent }));
|
|
60
|
+
this._setParent = this._setParentDocument;
|
|
61
|
+
this.setSourceMode(defaultSourceMode || 'parent');
|
|
30
62
|
}
|
|
31
63
|
}
|
|
32
|
-
AbstractDbxFirebaseCollectionWithParentStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AbstractDbxFirebaseCollectionWithParentStore, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
64
|
+
AbstractDbxFirebaseCollectionWithParentStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AbstractDbxFirebaseCollectionWithParentStore, deps: [{ token: null, optional: true }, { token: null, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
33
65
|
AbstractDbxFirebaseCollectionWithParentStore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AbstractDbxFirebaseCollectionWithParentStore });
|
|
34
66
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AbstractDbxFirebaseCollectionWithParentStore, decorators: [{
|
|
35
67
|
type: Injectable
|
|
36
|
-
}]
|
|
37
|
-
|
|
68
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
69
|
+
type: Inject,
|
|
70
|
+
args: [null]
|
|
71
|
+
}, {
|
|
72
|
+
type: Optional
|
|
73
|
+
}] }, { type: undefined, decorators: [{
|
|
74
|
+
type: Inject,
|
|
75
|
+
args: [null]
|
|
76
|
+
}, {
|
|
77
|
+
type: Optional
|
|
78
|
+
}] }]; } });
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuc3ViY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZGVsL3N0b3JlL3N0b3JlLnN1YmNvbGxlY3Rpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxXQUFXLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQy9ELE9BQU8sRUFBYyxXQUFXLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFnQixLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvRyxPQUFPLEVBQUUsa0NBQWtDLEVBQXNFLE1BQU0sb0JBQW9CLENBQUM7QUFDNUksT0FBTyxFQUEyTSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQXFCM1E7O0dBRUc7QUFFSCxNQUFNLE9BQU8sNENBQWdULFNBQVEsa0NBQTJDO0lBQzlXLFlBQXNDLEtBQVEsRUFBNEIsaUJBQWlFO1FBQ3pJLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUlmLGdCQUFnQjtRQUNQLG1CQUFjLEdBQTRFLG9CQUFvQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3JILGtCQUFhLEdBQW1FLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUF1RSxFQUFFLEVBQUU7WUFDL0ssT0FBTyxLQUFLLENBQUMsSUFBSSxDQUNmLG9CQUFvQixFQUFFLEVBQ3RCLFNBQVMsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO2dCQUN0QixNQUFNLElBQUksR0FBRyxTQUFTLEVBQUUsV0FBVyxFQUFFLElBQUksUUFBUSxDQUFDLENBQUMseUJBQXlCO2dCQUU1RSxJQUFJLElBQUksS0FBSyxPQUFPLEVBQUU7b0JBQ3BCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FDdEMsR0FBRyxDQUFDLENBQUMsZUFBZSxFQUFFLEVBQUU7d0JBQ3RCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxlQUFlLENBQUMsQ0FBQztvQkFDL0MsQ0FBQyxDQUFDLENBQ0gsQ0FBQztpQkFDSDtxQkFBTTtvQkFDTCw2QkFBNkI7b0JBQzdCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQzdCLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO3dCQUNuQixJQUFJLE1BQU0sRUFBRTs0QkFDVixPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQ2pDLEdBQUcsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLEVBQUU7Z0NBQ3hCLE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO2dDQUM3QyxJQUFJLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLENBQUM7NEJBQzFDLENBQUMsQ0FBQyxDQUNILENBQUM7eUJBQ0g7NkJBQU07NEJBQ0wsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDOzRCQUN2QyxPQUFPLEtBQUssQ0FBQzt5QkFDZDtvQkFDSCxDQUFDLENBQUMsQ0FDSCxDQUFDO2lCQUNIO1lBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO1FBRUgsa0JBQWtCO1FBQ1QsbUJBQWMsR0FBMEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQy9ELEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUNwQixvQkFBb0IsRUFBRSxFQUN0QixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztRQUVPLFlBQU8sR0FBbUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUVsRSw4QkFBeUIsR0FBMEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQzFILEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEVBQy9CLG9CQUFvQixFQUFFLEVBQ3RCLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO1FBRU8sdUJBQWtCLEdBQW1FLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUV4SSw0QkFBdUIsR0FBc0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ3BHLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxFQUM3QixvQkFBb0IsRUFBRSxFQUN0QixXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztRQUVPLHFCQUFnQixHQUErQyxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFFekgsc0JBQXNCO1FBQ3RCOztXQUVHO1FBQ00seUJBQW9CLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxpQkFBcUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRWxLOztXQUVHO1FBQ00sdUJBQWtCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxlQUFzRCxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBbUksQ0FBQztRQUVqUjs7V0FFRztRQUNNLHVCQUFrQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsTUFBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQztRQUN4RixlQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUEwRSxDQUFDO1FBL0VwRyxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixJQUFJLFFBQVEsQ0FBQyxDQUFDO0lBQ3BELENBQUM7O3lJQUpVLDRDQUE0QyxrQkFDbkMsSUFBSSw2QkFBZ0MsSUFBSTs2SUFEakQsNENBQTRDOzJGQUE1Qyw0Q0FBNEM7a0JBRHhELFVBQVU7OzBCQUVJLE1BQU07MkJBQUMsSUFBSTs7MEJBQUcsUUFBUTs7MEJBQWMsTUFBTTsyQkFBQyxJQUFJOzswQkFBRyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGZpbHRlck1heWJlLCBPYnNlcnZhYmxlT3JWYWx1ZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgc2hhcmVSZXBsYXksIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIFN1YnNjcmlwdGlvbiwgTkVWRVIsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGaXJlc3RvcmVDb2xsZWN0aW9uR3JvdXAsIEZpcmVzdG9yZUNvbGxlY3Rpb25XaXRoUGFyZW50RmFjdG9yeSwgRmlyZXN0b3JlRG9jdW1lbnQgfSBmcm9tICdAZGVyZWVrYi9maXJlYmFzZSc7XG5pbXBvcnQgeyBBYnN0cmFjdERieEZpcmViYXNlQ29sbGVjdGlvblN0b3JlLCBEYnhGaXJlYmFzZUNvbGxlY3Rpb25TdG9yZSwgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uU3RvcmVDb250ZXh0U3RhdGUgfSBmcm9tICcuL3N0b3JlLmNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVNldFBhcmVudEVmZmVjdEZ1bmN0aW9uLCBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudCwgRGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnRDb250ZXh0U3RhdGUsIERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50U2V0UGFyZW50U3RvcmVFZmZlY3RGdW5jdGlvbiwgc2V0UGFyZW50U3RvcmVFZmZlY3QgfSBmcm9tICcuL3N0b3JlLnN1YmNvbGxlY3Rpb24ucnhqcyc7XG5cbi8qKlxuICogV2hldGhlciBvciBub3QgdG8gbG9hZCB2YWx1ZXMgZnJvbSBhIHBhcmVudCBvciBhIGdyb3VwLlxuICovXG5leHBvcnQgdHlwZSBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudFNvdXJjZU1vZGUgPSAncGFyZW50JyB8ICdncm91cCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uV2l0aFBhcmVudFN0b3JlQ29udGV4dFN0YXRlPFQsIFBULCBEIGV4dGVuZHMgRmlyZXN0b3JlRG9jdW1lbnQ8VD4gPSBGaXJlc3RvcmVEb2N1bWVudDxUPiwgUEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxQVD4gPSBGaXJlc3RvcmVEb2N1bWVudDxQVD4+IGV4dGVuZHMgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uU3RvcmVDb250ZXh0U3RhdGU8VCwgRD4sIERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50Q29udGV4dFN0YXRlPFQsIFBULCBELCBQRD4ge1xuICByZWFkb25seSBtb2RlPzogTWF5YmU8RGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnRTb3VyY2VNb2RlPjtcbiAgcmVhZG9ubHkgY29sbGVjdGlvbkdyb3VwPzogTWF5YmU8RmlyZXN0b3JlQ29sbGVjdGlvbkdyb3VwPFQsIEQ+Pjtcbn1cblxuZXhwb3J0IHR5cGUgRGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnRTZXRQYXJlbnRTb3VyY2VNb2RlRnVuY3Rpb24gPSAob2JzZXJ2YWJsZU9yVmFsdWU6IE9ic2VydmFibGVPclZhbHVlPE1heWJlPERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50U291cmNlTW9kZT4+KSA9PiBTdWJzY3JpcHRpb247XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uV2l0aFBhcmVudFN0b3JlPFQsIFBULCBEIGV4dGVuZHMgRmlyZXN0b3JlRG9jdW1lbnQ8VD4gPSBGaXJlc3RvcmVEb2N1bWVudDxUPiwgUEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxQVD4gPSBGaXJlc3RvcmVEb2N1bWVudDxQVD4+IGV4dGVuZHMgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uU3RvcmU8VCwgRD4sIERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50PFQsIFBULCBELCBQRD4ge1xuICByZWFkb25seSBzZXRTb3VyY2VNb2RlOiBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudFNldFBhcmVudFNvdXJjZU1vZGVGdW5jdGlvbjtcbiAgcmVhZG9ubHkgc2V0Q29sbGVjdGlvbkdyb3VwOiAob2JzZXJ2YWJsZU9yVmFsdWU6IEZpcmVzdG9yZUNvbGxlY3Rpb25Hcm91cDxULCBEPiB8IE9ic2VydmFibGU8RmlyZXN0b3JlQ29sbGVjdGlvbkdyb3VwPFQsIEQ+PikgPT4gU3Vic2NyaXB0aW9uO1xuICByZWFkb25seSBjdXJyZW50Q29sbGVjdGlvbkdyb3VwJDogT2JzZXJ2YWJsZTxNYXliZTxGaXJlc3RvcmVDb2xsZWN0aW9uR3JvdXA8VCwgRD4+PjtcbiAgcmVhZG9ubHkgY29sbGVjdGlvbkdyb3VwJDogT2JzZXJ2YWJsZTxGaXJlc3RvcmVDb2xsZWN0aW9uR3JvdXA8VCwgRD4+O1xufVxuXG4vKipcbiAqIEFic3RyYWN0IERieEZpcmViYXNlQ29sbGVjdGlvblN0b3JlIHRoYXQgaGFzIGEgcGFyZW50IGRvY3VtZW50IGZyb20gd2hpY2ggaXMgZGVyaXZlcyBpdCdzIEZpcmVzYmFzZUNvbGxlY3Rpb24gZnJvbS5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEFic3RyYWN0RGJ4RmlyZWJhc2VDb2xsZWN0aW9uV2l0aFBhcmVudFN0b3JlPFQsIFBULCBEIGV4dGVuZHMgRmlyZXN0b3JlRG9jdW1lbnQ8VD4gPSBGaXJlc3RvcmVEb2N1bWVudDxUPiwgUEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxQVD4gPSBGaXJlc3RvcmVEb2N1bWVudDxQVD4sIEMgZXh0ZW5kcyBEYnhGaXJlYmFzZUNvbGxlY3Rpb25XaXRoUGFyZW50U3RvcmVDb250ZXh0U3RhdGU8VCwgUFQsIEQsIFBEPiA9IERieEZpcmViYXNlQ29sbGVjdGlvbldpdGhQYXJlbnRTdG9yZUNvbnRleHRTdGF0ZTxULCBQVCwgRCwgUEQ+PiBleHRlbmRzIEFic3RyYWN0RGJ4RmlyZWJhc2VDb2xsZWN0aW9uU3RvcmU8VCwgRCwgQz4gaW1wbGVtZW50cyBEYnhGaXJlYmFzZUNvbGxlY3Rpb25XaXRoUGFyZW50U3RvcmU8VCwgUFQsIEQsIFBEPiB7XG4gIGNvbnN0cnVjdG9yKEBJbmplY3QobnVsbCkgQE9wdGlvbmFsKCkgc3RhdGU6IEMsIEBJbmplY3QobnVsbCkgQE9wdGlvbmFsKCkgZGVmYXVsdFNvdXJjZU1vZGU/OiBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudFNvdXJjZU1vZGUpIHtcbiAgICBzdXBlcihzdGF0ZSk7XG4gICAgdGhpcy5zZXRTb3VyY2VNb2RlKGRlZmF1bHRTb3VyY2VNb2RlIHx8ICdwYXJlbnQnKTtcbiAgfVxuXG4gIC8vIE1BUks6IEVmZmVjdHNcbiAgcmVhZG9ubHkgc2V0UGFyZW50U3RvcmU6IERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50U2V0UGFyZW50U3RvcmVFZmZlY3RGdW5jdGlvbjxQVCwgUEQ+ID0gc2V0UGFyZW50U3RvcmVFZmZlY3QodGhpcyk7XG4gIHJlYWRvbmx5IHNldFNvdXJjZU1vZGU6IERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50U2V0UGFyZW50U291cmNlTW9kZUZ1bmN0aW9uID0gdGhpcy5lZmZlY3QoKGlucHV0OiBPYnNlcnZhYmxlPE1heWJlPERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50U291cmNlTW9kZT4+KSA9PiB7XG4gICAgcmV0dXJuIGlucHV0LnBpcGUoXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgc3dpdGNoTWFwKChpbnB1dE1vZGUpID0+IHtcbiAgICAgICAgY29uc3QgbW9kZSA9IGlucHV0TW9kZT8udG9Mb3dlckNhc2UoKSA/PyAncGFyZW50JzsgLy8gZGVmYXVsdCB0byBwYXJlbnQgbW9kZVxuXG4gICAgICAgIGlmIChtb2RlID09PSAnZ3JvdXAnKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudENvbGxlY3Rpb25Hcm91cCQucGlwZShcbiAgICAgICAgICAgIHRhcCgoY29sbGVjdGlvbkdyb3VwKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuc2V0RmlyZXN0b3JlQ29sbGVjdGlvbihjb2xsZWN0aW9uR3JvdXApO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIHBhcmVudCBkb2N1bWVudCBjb2xsZWN0aW9uXG4gICAgICAgICAgcmV0dXJuIHRoaXMuY3VycmVudFBhcmVudCQucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgocGFyZW50KSA9PiB7XG4gICAgICAgICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jb2xsZWN0aW9uRmFjdG9yeSQucGlwZShcbiAgICAgICAgICAgICAgICAgIHRhcCgoY29sbGVjdGlvbkZhY3RvcnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29sbGVjdGlvbiA9IGNvbGxlY3Rpb25GYWN0b3J5KHBhcmVudCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0RmlyZXN0b3JlQ29sbGVjdGlvbihjb2xsZWN0aW9uKTtcbiAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldEZpcmVzdG9yZUNvbGxlY3Rpb24odW5kZWZpbmVkKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gTkVWRVI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9KTtcblxuICAvLyBNQVJLOiBBY2Nlc3NvcnNcbiAgcmVhZG9ubHkgY3VycmVudFBhcmVudCQ6IE9ic2VydmFibGU8TWF5YmU8UEQ+PiA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4LnBhcmVudCksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IHBhcmVudCQ6IE9ic2VydmFibGU8UEQ+ID0gdGhpcy5jdXJyZW50UGFyZW50JC5waXBlKGZpbHRlck1heWJlKCkpO1xuXG4gIHJlYWRvbmx5IGN1cnJlbnRDb2xsZWN0aW9uRmFjdG9yeSQ6IE9ic2VydmFibGU8TWF5YmU8RmlyZXN0b3JlQ29sbGVjdGlvbldpdGhQYXJlbnRGYWN0b3J5PFQsIFBULCBELCBQRD4+PiA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4LmNvbGxlY3Rpb25GYWN0b3J5KSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgY29sbGVjdGlvbkZhY3RvcnkkOiBPYnNlcnZhYmxlPEZpcmVzdG9yZUNvbGxlY3Rpb25XaXRoUGFyZW50RmFjdG9yeTxULCBQVCwgRCwgUEQ+PiA9IHRoaXMuY3VycmVudENvbGxlY3Rpb25GYWN0b3J5JC5waXBlKGZpbHRlck1heWJlKCkpO1xuXG4gIHJlYWRvbmx5IGN1cnJlbnRDb2xsZWN0aW9uR3JvdXAkOiBPYnNlcnZhYmxlPE1heWJlPEZpcmVzdG9yZUNvbGxlY3Rpb25Hcm91cDxULCBEPj4+ID0gdGhpcy5zdGF0ZSQucGlwZShcbiAgICBtYXAoKHgpID0+IHguY29sbGVjdGlvbkdyb3VwKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgIHNoYXJlUmVwbGF5KDEpXG4gICk7XG5cbiAgcmVhZG9ubHkgY29sbGVjdGlvbkdyb3VwJDogT2JzZXJ2YWJsZTxGaXJlc3RvcmVDb2xsZWN0aW9uR3JvdXA8VCwgRD4+ID0gdGhpcy5jdXJyZW50Q29sbGVjdGlvbkdyb3VwJC5waXBlKGZpbHRlck1heWJlKCkpO1xuXG4gIC8vIE1BUks6IFN0YXRlIENoYW5nZXNcbiAgLyoqXG4gICAqIFNldHMgdGhlIGNvbGxlY3Rpb24gZmFjdG9yeSBmdW5jdGlvbiB0byB1c2UuXG4gICAqL1xuICByZWFkb25seSBzZXRDb2xsZWN0aW9uRmFjdG9yeSA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGNvbGxlY3Rpb25GYWN0b3J5OiBGaXJlc3RvcmVDb2xsZWN0aW9uV2l0aFBhcmVudEZhY3Rvcnk8VCwgUFQsIEQsIFBEPikgPT4gKHsgLi4uc3RhdGUsIGNvbGxlY3Rpb25GYWN0b3J5IH0pKTtcblxuICAvKipcbiAgICogU2V0cyB0aGUgY29sbGVjdGlvbiBncm91cCB0byB1c2UuXG4gICAqL1xuICByZWFkb25seSBzZXRDb2xsZWN0aW9uR3JvdXAgPSB0aGlzLnVwZGF0ZXIoKHN0YXRlLCBjb2xsZWN0aW9uR3JvdXA6IE1heWJlPEZpcmVzdG9yZUNvbGxlY3Rpb25Hcm91cDxULCBEPj4pID0+ICh7IC4uLnN0YXRlLCBjb2xsZWN0aW9uR3JvdXAgfSkpIGFzIChvYnNlcnZhYmxlT3JWYWx1ZTogTWF5YmU8RmlyZXN0b3JlQ29sbGVjdGlvbkdyb3VwPFQsIEQ+PiB8IE9ic2VydmFibGU8TWF5YmU8RmlyZXN0b3JlQ29sbGVjdGlvbkdyb3VwPFQsIEQ+Pj4pID0+IFN1YnNjcmlwdGlvbjtcblxuICAvKipcbiAgICogU2V0cyB0aGUgcGFyZW50IG9uIHRoZSBjdXJyZW50IHN0YXRlLlxuICAgKi9cbiAgcmVhZG9ubHkgX3NldFBhcmVudERvY3VtZW50ID0gdGhpcy51cGRhdGVyKChzdGF0ZSwgcGFyZW50OiBNYXliZTxQRD4pID0+ICh7IC4uLnN0YXRlLCBwYXJlbnQgfSkpO1xuICByZWFkb25seSBfc2V0UGFyZW50ID0gdGhpcy5fc2V0UGFyZW50RG9jdW1lbnQgYXMgRGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVNldFBhcmVudEVmZmVjdEZ1bmN0aW9uPFBEPjtcbn1cbiJdfQ==
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { cleanup } from '@dereekb/rxjs';
|
|
2
|
-
import { map
|
|
2
|
+
import { map } from 'rxjs';
|
|
3
3
|
export function setParentStoreEffect(store) {
|
|
4
4
|
return store.effect((input) => {
|
|
5
5
|
return input.pipe(map((parentStore) => {
|
|
6
6
|
let result;
|
|
7
7
|
if (parentStore) {
|
|
8
|
-
result = store.
|
|
8
|
+
result = store._setParent(parentStore.currentDocument$);
|
|
9
9
|
}
|
|
10
10
|
else {
|
|
11
11
|
result = undefined;
|
|
@@ -20,23 +20,4 @@ export function setParentStoreEffect(store) {
|
|
|
20
20
|
}));
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
|
-
|
|
24
|
-
return store.effect((input) => {
|
|
25
|
-
return input.pipe(switchMap((parent) => {
|
|
26
|
-
store._setParentDocument(parent);
|
|
27
|
-
if (parent) {
|
|
28
|
-
return store.collectionFactory$.pipe(tap((collectionFactory) => {
|
|
29
|
-
const collection = collectionFactory(parent);
|
|
30
|
-
store.setFirestoreCollection(collection);
|
|
31
|
-
}));
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
// clear the current collection
|
|
35
|
-
store.setFirestoreCollection(undefined);
|
|
36
|
-
// do nothing until a parent is returned.
|
|
37
|
-
return NEVER;
|
|
38
|
-
}
|
|
39
|
-
}));
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuc3ViY29sbGVjdGlvbi5yeGpzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvbW9kZWwvc3RvcmUvc3RvcmUuc3ViY29sbGVjdGlvbi5yeGpzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxPQUFPLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRzNELE9BQU8sRUFBRSxHQUFHLEVBQTRCLEtBQUssRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBb0I1RSxNQUFNLFVBQVUsb0JBQW9CLENBQXlILEtBQXdEO0lBQ25OLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQTBELEVBQUUsRUFBRTtRQUNqRixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQ2YsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDbEIsSUFBSSxNQUEyQixDQUFDO1lBRWhDLElBQUksV0FBVyxFQUFFO2dCQUNmLE1BQU0sR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBaUIsQ0FBQzthQUN4RTtpQkFBTTtnQkFDTCxNQUFNLEdBQUcsU0FBUyxDQUFDO2FBQ3BCO1lBRUQsaUNBQWlDO1lBQ2pDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUVwQyxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUMsRUFDRixPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNkLElBQUksR0FBRyxFQUFFO2dCQUNQLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUNuQjtRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLFVBQVUsZUFBZSxDQUF5SCxLQUF3RDtJQUM5TSxPQUFPLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUE0QixFQUFFLEVBQUU7UUFDbkQsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUNmLFNBQVMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ25CLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUVqQyxJQUFJLE1BQU0sRUFBRTtnQkFDVixPQUFPLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQ2xDLEdBQUcsQ0FBQyxDQUFDLGlCQUFpQixFQUFFLEVBQUU7b0JBQ3hCLE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUM3QyxLQUFLLENBQUMsc0JBQXNCLENBQUMsVUFBVSxDQUFDLENBQUM7Z0JBQzNDLENBQUMsQ0FBQyxDQUNILENBQUM7YUFDSDtpQkFBTTtnQkFDTCwrQkFBK0I7Z0JBQy9CLEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFFeEMseUNBQXlDO2dCQUN6QyxPQUFPLEtBQUssQ0FBQzthQUNkO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExvY2tTZXRDb21wb25lbnRTdG9yZSB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IEZpcmVzdG9yZUNvbGxlY3Rpb24sIEZpcmVzdG9yZUNvbGxlY3Rpb25XaXRoUGFyZW50RmFjdG9yeSwgRmlyZXN0b3JlRG9jdW1lbnQgfSBmcm9tICdAZGVyZWVrYi9maXJlYmFzZSc7XG5pbXBvcnQgeyBjbGVhbnVwLCBPYnNlcnZhYmxlT3JWYWx1ZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IENvbXBvbmVudFN0b3JlIH0gZnJvbSAnQG5ncngvY29tcG9uZW50LXN0b3JlJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uLCBORVZFUiwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZSB9IGZyb20gJy4vc3RvcmUuZG9jdW1lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50Q29udGV4dFN0YXRlPFQsIFBULCBEIGV4dGVuZHMgRmlyZXN0b3JlRG9jdW1lbnQ8VD4gPSBGaXJlc3RvcmVEb2N1bWVudDxUPiwgUEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxQVD4gPSBGaXJlc3RvcmVEb2N1bWVudDxQVD4+IHtcbiAgcmVhZG9ubHkgcGFyZW50PzogTWF5YmU8UEQ+O1xuICByZWFkb25seSBjb2xsZWN0aW9uRmFjdG9yeT86IE1heWJlPEZpcmVzdG9yZUNvbGxlY3Rpb25XaXRoUGFyZW50RmFjdG9yeTxULCBQVCwgRCwgUEQ+Pjtcbn1cblxuZXhwb3J0IHR5cGUgRGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnRTZXRQYXJlbnRFZmZlY3RGdW5jdGlvbjxQRD4gPSAob2JzZXJ2YWJsZU9yVmFsdWU6IE9ic2VydmFibGVPclZhbHVlPE1heWJlPFBEPj4pID0+IFN1YnNjcmlwdGlvbjtcbmV4cG9ydCB0eXBlIERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50U2V0UGFyZW50U3RvcmVFZmZlY3RGdW5jdGlvbjxQVCwgUEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxQVD4gPSBGaXJlc3RvcmVEb2N1bWVudDxQVD4+ID0gKG9ic2VydmFibGVPclZhbHVlOiBPYnNlcnZhYmxlT3JWYWx1ZTxEYnhGaXJlYmFzZURvY3VtZW50U3RvcmU8UFQsIFBEPj4pID0+IFN1YnNjcmlwdGlvbjtcblxuZXhwb3J0IGludGVyZmFjZSBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudDxULCBQVCwgRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFQ+ID0gRmlyZXN0b3JlRG9jdW1lbnQ8VD4sIFBEIGV4dGVuZHMgRmlyZXN0b3JlRG9jdW1lbnQ8UFQ+ID0gRmlyZXN0b3JlRG9jdW1lbnQ8UFQ+PiBleHRlbmRzIExvY2tTZXRDb21wb25lbnRTdG9yZTxvYmplY3Q+LCBQaWNrPENvbXBvbmVudFN0b3JlPERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50Q29udGV4dFN0YXRlPFQsIFBULCBELCBQRD4+LCAnZWZmZWN0Jz4ge1xuICByZWFkb25seSBjdXJyZW50UGFyZW50JDogT2JzZXJ2YWJsZTxNYXliZTxQRD4+O1xuICByZWFkb25seSBwYXJlbnQkOiBPYnNlcnZhYmxlPFBEPjtcbiAgcmVhZG9ubHkgY29sbGVjdGlvbkZhY3RvcnkkOiBPYnNlcnZhYmxlPEZpcmVzdG9yZUNvbGxlY3Rpb25XaXRoUGFyZW50RmFjdG9yeTxULCBQVCwgRCwgUEQ+PjtcbiAgcmVhZG9ubHkgc2V0UGFyZW50OiBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudFNldFBhcmVudEVmZmVjdEZ1bmN0aW9uPFBEPjtcbiAgcmVhZG9ubHkgX3NldFBhcmVudERvY3VtZW50OiAoKCkgPT4gdm9pZCkgfCAoKG9ic2VydmFibGVPclZhbHVlOiBPYnNlcnZhYmxlT3JWYWx1ZTxNYXliZTxQRD4+KSA9PiBTdWJzY3JpcHRpb24pO1xuICByZWFkb25seSBzZXRGaXJlc3RvcmVDb2xsZWN0aW9uOiAoKCkgPT4gdm9pZCkgfCAoKG9ic2VydmFibGVPclZhbHVlOiBPYnNlcnZhYmxlT3JWYWx1ZTxNYXliZTxGaXJlc3RvcmVDb2xsZWN0aW9uPFQsIEQ+Pj4pID0+IFN1YnNjcmlwdGlvbik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRQYXJlbnRTdG9yZUVmZmVjdDxULCBQVCwgRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFQ+ID0gRmlyZXN0b3JlRG9jdW1lbnQ8VD4sIFBEIGV4dGVuZHMgRmlyZXN0b3JlRG9jdW1lbnQ8UFQ+ID0gRmlyZXN0b3JlRG9jdW1lbnQ8UFQ+PihzdG9yZTogRGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnQ8VCwgUFQsIEQsIFBEPik6IERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50U2V0UGFyZW50U3RvcmVFZmZlY3RGdW5jdGlvbjxQVCwgUEQ+IHtcbiAgcmV0dXJuIHN0b3JlLmVmZmVjdCgoaW5wdXQ6IE9ic2VydmFibGU8TWF5YmU8RGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlPFBULCBQRD4+PikgPT4ge1xuICAgIHJldHVybiBpbnB1dC5waXBlKFxuICAgICAgbWFwKChwYXJlbnRTdG9yZSkgPT4ge1xuICAgICAgICBsZXQgcmVzdWx0OiBNYXliZTxTdWJzY3JpcHRpb24+O1xuXG4gICAgICAgIGlmIChwYXJlbnRTdG9yZSkge1xuICAgICAgICAgIHJlc3VsdCA9IHN0b3JlLnNldFBhcmVudChwYXJlbnRTdG9yZS5jdXJyZW50RG9jdW1lbnQkKSBhcyBTdWJzY3JpcHRpb247XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzdWx0ID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gc2V0IGFzIHRoZSBwYXJlbnQgbG9jayBzZXQgdG9vXG4gICAgICAgIHN0b3JlLnNldFBhcmVudExvY2tTZXQocGFyZW50U3RvcmUpO1xuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9KSxcbiAgICAgIGNsZWFudXAoKHN1YikgPT4ge1xuICAgICAgICBpZiAoc3ViKSB7XG4gICAgICAgICAgc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRQYXJlbnRFZmZlY3Q8VCwgUFQsIEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxUPiA9IEZpcmVzdG9yZURvY3VtZW50PFQ+LCBQRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFBUPiA9IEZpcmVzdG9yZURvY3VtZW50PFBUPj4oc3RvcmU6IERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50PFQsIFBULCBELCBQRD4pOiBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudFNldFBhcmVudEVmZmVjdEZ1bmN0aW9uPFBEPiB7XG4gIHJldHVybiBzdG9yZS5lZmZlY3QoKGlucHV0OiBPYnNlcnZhYmxlPE1heWJlPFBEPj4pID0+IHtcbiAgICByZXR1cm4gaW5wdXQucGlwZShcbiAgICAgIHN3aXRjaE1hcCgocGFyZW50KSA9PiB7XG4gICAgICAgIHN0b3JlLl9zZXRQYXJlbnREb2N1bWVudChwYXJlbnQpO1xuXG4gICAgICAgIGlmIChwYXJlbnQpIHtcbiAgICAgICAgICByZXR1cm4gc3RvcmUuY29sbGVjdGlvbkZhY3RvcnkkLnBpcGUoXG4gICAgICAgICAgICB0YXAoKGNvbGxlY3Rpb25GYWN0b3J5KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGNvbGxlY3Rpb24gPSBjb2xsZWN0aW9uRmFjdG9yeShwYXJlbnQpO1xuICAgICAgICAgICAgICBzdG9yZS5zZXRGaXJlc3RvcmVDb2xsZWN0aW9uKGNvbGxlY3Rpb24pO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIGNsZWFyIHRoZSBjdXJyZW50IGNvbGxlY3Rpb25cbiAgICAgICAgICBzdG9yZS5zZXRGaXJlc3RvcmVDb2xsZWN0aW9uKHVuZGVmaW5lZCk7XG5cbiAgICAgICAgICAvLyBkbyBub3RoaW5nIHVudGlsIGEgcGFyZW50IGlzIHJldHVybmVkLlxuICAgICAgICAgIHJldHVybiBORVZFUjtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9KTtcbn1cbiJdfQ==
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuc3ViY29sbGVjdGlvbi5yeGpzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvbW9kZWwvc3RvcmUvc3RvcmUuc3ViY29sbGVjdGlvbi5yeGpzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxPQUFPLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBRzNELE9BQU8sRUFBRSxHQUFHLEVBQW1ELE1BQU0sTUFBTSxDQUFDO0FBc0I1RSxNQUFNLFVBQVUsb0JBQW9CLENBQWtNLEtBQTJEO0lBQy9SLE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQTBELEVBQUUsRUFBRTtRQUNqRixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQ2YsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDbEIsSUFBSSxNQUEyQixDQUFDO1lBRWhDLElBQUksV0FBVyxFQUFFO2dCQUNmLE1BQU0sR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBaUIsQ0FBQzthQUN6RTtpQkFBTTtnQkFDTCxNQUFNLEdBQUcsU0FBUyxDQUFDO2FBQ3BCO1lBRUQsaUNBQWlDO1lBQ2pDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUVwQyxPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDLENBQUMsRUFDRixPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNkLElBQUksR0FBRyxFQUFFO2dCQUNQLEdBQUcsQ0FBQyxXQUFXLEVBQUUsQ0FBQzthQUNuQjtRQUNILENBQUMsQ0FBQyxDQUNILENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NrU2V0Q29tcG9uZW50U3RvcmUgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBGaXJlc3RvcmVDb2xsZWN0aW9uR3JvdXAsIEZpcmVzdG9yZUNvbGxlY3Rpb25MaWtlLCBGaXJlc3RvcmVDb2xsZWN0aW9uV2l0aFBhcmVudEZhY3RvcnksIEZpcmVzdG9yZURvY3VtZW50IH0gZnJvbSAnQGRlcmVla2IvZmlyZWJhc2UnO1xuaW1wb3J0IHsgY2xlYW51cCwgT2JzZXJ2YWJsZU9yVmFsdWUgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBDb21wb25lbnRTdG9yZSB9IGZyb20gJ0BuZ3J4L2NvbXBvbmVudC1zdG9yZSc7XG5pbXBvcnQgeyBtYXAsIE5FVkVSLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24sIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmUgfSBmcm9tICcuL3N0b3JlLmRvY3VtZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudENvbnRleHRTdGF0ZTxULCBQVCwgRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFQ+ID0gRmlyZXN0b3JlRG9jdW1lbnQ8VD4sIFBEIGV4dGVuZHMgRmlyZXN0b3JlRG9jdW1lbnQ8UFQ+ID0gRmlyZXN0b3JlRG9jdW1lbnQ8UFQ+PiB7XG4gIHJlYWRvbmx5IHBhcmVudD86IE1heWJlPFBEPjtcbiAgcmVhZG9ubHkgY29sbGVjdGlvbkZhY3Rvcnk/OiBNYXliZTxGaXJlc3RvcmVDb2xsZWN0aW9uV2l0aFBhcmVudEZhY3Rvcnk8VCwgUFQsIEQsIFBEPj47XG59XG5cbmV4cG9ydCB0eXBlIERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVTZXRQYXJlbnRFZmZlY3RGdW5jdGlvbjxQRD4gPSAocGFyZW50OiBPYnNlcnZhYmxlPE1heWJlPFBEPj4pID0+IFN1YnNjcmlwdGlvbjtcbmV4cG9ydCB0eXBlIERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVXaXRoUGFyZW50U2V0UGFyZW50RWZmZWN0RnVuY3Rpb248UEQ+ID0gKG9ic2VydmFibGVPclZhbHVlOiBPYnNlcnZhYmxlT3JWYWx1ZTxNYXliZTxQRD4+KSA9PiBTdWJzY3JpcHRpb247XG5leHBvcnQgdHlwZSBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudFNldFBhcmVudFN0b3JlRWZmZWN0RnVuY3Rpb248UFQsIFBEIGV4dGVuZHMgRmlyZXN0b3JlRG9jdW1lbnQ8UFQ+ID0gRmlyZXN0b3JlRG9jdW1lbnQ8UFQ+PiA9IChvYnNlcnZhYmxlT3JWYWx1ZTogT2JzZXJ2YWJsZU9yVmFsdWU8RGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlPFBULCBQRD4+KSA9PiBTdWJzY3JpcHRpb247XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnQ8VCwgUFQsIEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxUPiA9IEZpcmVzdG9yZURvY3VtZW50PFQ+LCBQRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFBUPiA9IEZpcmVzdG9yZURvY3VtZW50PFBUPiwgQSBleHRlbmRzIEZpcmVzdG9yZUNvbGxlY3Rpb25MaWtlPFQsIEQ+ID0gRmlyZXN0b3JlQ29sbGVjdGlvbkxpa2U8VCwgRD4+IGV4dGVuZHMgTG9ja1NldENvbXBvbmVudFN0b3JlPG9iamVjdD4sIFBpY2s8Q29tcG9uZW50U3RvcmU8RGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnRDb250ZXh0U3RhdGU8VCwgUFQsIEQsIFBEPj4sICdlZmZlY3QnPiB7XG4gIHJlYWRvbmx5IGN1cnJlbnRQYXJlbnQkOiBPYnNlcnZhYmxlPE1heWJlPFBEPj47XG4gIHJlYWRvbmx5IHBhcmVudCQ6IE9ic2VydmFibGU8UEQ+O1xuICByZWFkb25seSBjdXJyZW50Q29sbGVjdGlvbkZhY3RvcnkkOiBPYnNlcnZhYmxlPE1heWJlPEZpcmVzdG9yZUNvbGxlY3Rpb25XaXRoUGFyZW50RmFjdG9yeTxULCBQVCwgRCwgUEQ+Pj47XG4gIHJlYWRvbmx5IGNvbGxlY3Rpb25GYWN0b3J5JDogT2JzZXJ2YWJsZTxGaXJlc3RvcmVDb2xsZWN0aW9uV2l0aFBhcmVudEZhY3Rvcnk8VCwgUFQsIEQsIFBEPj47XG4gIHJlYWRvbmx5IF9zZXRQYXJlbnQ6IERieEZpcmViYXNlQ29tcG9uZW50U3RvcmVTZXRQYXJlbnRFZmZlY3RGdW5jdGlvbjxQRD47XG4gIHJlYWRvbmx5IF9zZXRQYXJlbnREb2N1bWVudDogKCgpID0+IHZvaWQpIHwgKChvYnNlcnZhYmxlT3JWYWx1ZTogT2JzZXJ2YWJsZU9yVmFsdWU8TWF5YmU8UEQ+PikgPT4gU3Vic2NyaXB0aW9uKTtcbiAgcmVhZG9ubHkgc2V0RmlyZXN0b3JlQ29sbGVjdGlvbjogKCgpID0+IHZvaWQpIHwgKChvYnNlcnZhYmxlT3JWYWx1ZTogT2JzZXJ2YWJsZU9yVmFsdWU8TWF5YmU8QT4+KSA9PiBTdWJzY3JpcHRpb24pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0UGFyZW50U3RvcmVFZmZlY3Q8VCwgUFQsIEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxUPiA9IEZpcmVzdG9yZURvY3VtZW50PFQ+LCBQRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFBUPiA9IEZpcmVzdG9yZURvY3VtZW50PFBUPiwgQSBleHRlbmRzIEZpcmVzdG9yZUNvbGxlY3Rpb25MaWtlPFQsIEQ+ID0gRmlyZXN0b3JlQ29sbGVjdGlvbkxpa2U8VCwgRD4+KHN0b3JlOiBEYnhGaXJlYmFzZUNvbXBvbmVudFN0b3JlV2l0aFBhcmVudDxULCBQVCwgRCwgUEQsIEE+KTogRGJ4RmlyZWJhc2VDb21wb25lbnRTdG9yZVdpdGhQYXJlbnRTZXRQYXJlbnRTdG9yZUVmZmVjdEZ1bmN0aW9uPFBULCBQRD4ge1xuICByZXR1cm4gc3RvcmUuZWZmZWN0KChpbnB1dDogT2JzZXJ2YWJsZTxNYXliZTxEYnhGaXJlYmFzZURvY3VtZW50U3RvcmU8UFQsIFBEPj4+KSA9PiB7XG4gICAgcmV0dXJuIGlucHV0LnBpcGUoXG4gICAgICBtYXAoKHBhcmVudFN0b3JlKSA9PiB7XG4gICAgICAgIGxldCByZXN1bHQ6IE1heWJlPFN1YnNjcmlwdGlvbj47XG5cbiAgICAgICAgaWYgKHBhcmVudFN0b3JlKSB7XG4gICAgICAgICAgcmVzdWx0ID0gc3RvcmUuX3NldFBhcmVudChwYXJlbnRTdG9yZS5jdXJyZW50RG9jdW1lbnQkKSBhcyBTdWJzY3JpcHRpb247XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzdWx0ID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gc2V0IGFzIHRoZSBwYXJlbnQgbG9jayBzZXQgdG9vXG4gICAgICAgIHN0b3JlLnNldFBhcmVudExvY2tTZXQocGFyZW50U3RvcmUpO1xuXG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9KSxcbiAgICAgIGNsZWFudXAoKHN1YikgPT4ge1xuICAgICAgICBpZiAoc3ViKSB7XG4gICAgICAgICAgc3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKTtcbiAgfSk7XG59XG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { urlWithoutParameters, addToSet, removeFromSet, filterMaybeValues, mapIterable, asArray, excludeValuesFromArray, containsStringAnyCase, forEachKeyValue, readableError, isMaybeSo } from '@dereekb/util';
|
|
1
|
+
import { urlWithoutParameters, addToSet, removeFromSet, filterMaybeValues, mapIterable, asArray, excludeValuesFromArray, containsStringAnyCase, addToSetCopy, forEachKeyValue, readableError, isMaybeSo } from '@dereekb/util';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
3
|
import { InjectionToken, Injectable, Inject, Optional, Component, Input, Directive, EventEmitter, Output, NgModule, Injector, forwardRef, Host } from '@angular/core';
|
|
4
4
|
import { getToken, initializeAppCheck, ReCaptchaV3Provider } from 'firebase/app-check';
|
|
@@ -15,7 +15,7 @@ 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
17
|
import { loggedInObsFromIsLoggedIn, loggedOutObsFromIsLoggedIn, authUserIdentifier, DbxInjectionContext, AbstractForwardDbxInjectionContextDirective, DBX_INJECTION_COMPONENT_DATA, DbxInjectionComponentModule, DbxAuthService, AbstractSubscriptionDirective, AbstractIfDirective, LockSetComponentStore } from '@dereekb/dbx-core';
|
|
18
|
-
import { filterMaybe, isNot, SubscriptionObject, cleanupDestroyable, accumulatorFlattenPageListLoadingState, useFirst, successResult, beginLoading, loadingStateFromObs, errorResult, cleanup } from '@dereekb/rxjs';
|
|
18
|
+
import { filterMaybe, isNot, tapLog, SubscriptionObject, cleanupDestroyable, accumulatorFlattenPageListLoadingState, useFirst, successResult, beginLoading, loadingStateFromObs, errorResult, cleanup } from '@dereekb/rxjs';
|
|
19
19
|
import * as i1$1 from '@angular/fire/auth';
|
|
20
20
|
import { authState, GoogleAuthProvider, FacebookAuthProvider, TwitterAuthProvider, GithubAuthProvider, signInWithPopup, createUserWithEmailAndPassword, signInWithEmailAndPassword, signInAnonymously, provideAuth, getAuth, connectAuthEmulator } from '@angular/fire/auth';
|
|
21
21
|
import { sendPasswordResetEmail } from 'firebase/auth';
|
|
@@ -58,8 +58,8 @@ class DbxFirebaseAppCheckHttpInterceptor {
|
|
|
58
58
|
if (appCheck != null) {
|
|
59
59
|
routes = ((_b = (_a = this.dbxFirebaseOptions.appCheck) === null || _a === void 0 ? void 0 : _a.appCheckRoutes) !== null && _b !== void 0 ? _b : ['/api/*']).map((route) => {
|
|
60
60
|
const wildcardIndex = route.indexOf('*');
|
|
61
|
-
const isWildcard =
|
|
62
|
-
const match =
|
|
61
|
+
const isWildcard = wildcardIndex === route.length - 1;
|
|
62
|
+
const match = isWildcard ? route.substring(0, wildcardIndex) : route;
|
|
63
63
|
return {
|
|
64
64
|
isWildcard,
|
|
65
65
|
match
|
|
@@ -107,7 +107,7 @@ class DbxFirebaseAppCheckHttpInterceptor {
|
|
|
107
107
|
return url === enabledRoute.match;
|
|
108
108
|
}
|
|
109
109
|
}
|
|
110
|
-
return from(this._appCheckRoutes).pipe(first((route) => isEnabledRouteMatch(route), false), map(x => Boolean(x)));
|
|
110
|
+
return from(this._appCheckRoutes).pipe(first((route) => isEnabledRouteMatch(route), false), map((x) => Boolean(x)));
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
DbxFirebaseAppCheckHttpInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseAppCheckHttpInterceptor, deps: [{ token: DBX_FIREBASE_OPTIONS_TOKEN }, { token: i1.AppCheck }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -121,6 +121,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
121
121
|
}] }, { type: i1.AppCheck }];
|
|
122
122
|
} });
|
|
123
123
|
|
|
124
|
+
function authUserInfoFromAuthUser(user) {
|
|
125
|
+
return {
|
|
126
|
+
displayName: user === null || user === void 0 ? void 0 : user.displayName,
|
|
127
|
+
email: user.email,
|
|
128
|
+
phoneNumber: user.phoneNumber,
|
|
129
|
+
photoURL: user.photoURL,
|
|
130
|
+
uid: user.uid
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
|
|
124
134
|
/**
|
|
125
135
|
* Derives a user state from the input firebase auth service.
|
|
126
136
|
*
|
|
@@ -159,16 +169,7 @@ function readValueFromIdToken(dbxFirebaseAuthService, readBooleanFromIdToken, de
|
|
|
159
169
|
}));
|
|
160
170
|
}
|
|
161
171
|
|
|
162
|
-
|
|
163
|
-
return {
|
|
164
|
-
displayName: user === null || user === void 0 ? void 0 : user.displayName,
|
|
165
|
-
email: user.email,
|
|
166
|
-
phoneNumber: user.phoneNumber,
|
|
167
|
-
photoURL: user.photoURL,
|
|
168
|
-
uid: user.uid
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
+
// MARK: Delegate
|
|
172
173
|
class DbxFirebaseAuthServiceDelegate {
|
|
173
174
|
}
|
|
174
175
|
const DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE = {
|
|
@@ -182,6 +183,7 @@ const DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE = {
|
|
|
182
183
|
return dbxFirebaseAuthService.authUserState$.pipe(map((x) => x === 'user'));
|
|
183
184
|
}
|
|
184
185
|
};
|
|
186
|
+
// MARK: Service
|
|
185
187
|
class DbxFirebaseAuthService {
|
|
186
188
|
constructor(firebaseAuth, delegate) {
|
|
187
189
|
this.firebaseAuth = firebaseAuth;
|
|
@@ -1353,6 +1355,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
1353
1355
|
}]
|
|
1354
1356
|
}], ctorParameters: function () { return [{ type: DbxFirebaseLoginModuleRootConfig }, { type: DbxFirebaseAuthLoginService }]; } });
|
|
1355
1357
|
|
|
1358
|
+
function authRolesObsWithClaimsService(config) {
|
|
1359
|
+
const { addAuthUserStateToRoles: addAuthUserState, claimsService } = config;
|
|
1360
|
+
return (dbxFirebaseAuthService) => {
|
|
1361
|
+
let obs = dbxFirebaseAuthService.idTokenResult$.pipe(tapLog('a'), map((x) => claimsService.toRoles(x.claims)));
|
|
1362
|
+
if (addAuthUserState) {
|
|
1363
|
+
obs = obs.pipe(tapLog('b'), switchMap((authRoleSet) => dbxFirebaseAuthService.authUserState$.pipe(map((userState) => addToSetCopy(authRoleSet, [userState])))), tapLog('c'));
|
|
1364
|
+
}
|
|
1365
|
+
return obs;
|
|
1366
|
+
};
|
|
1367
|
+
}
|
|
1368
|
+
function defaultDbxFirebaseAuthServiceDelegateWithClaimsService(config) {
|
|
1369
|
+
return {
|
|
1370
|
+
authUserStateObs: DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE.authUserStateObs,
|
|
1371
|
+
authRolesObs: authRolesObsWithClaimsService(config),
|
|
1372
|
+
isOnboarded: DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE.isOnboarded
|
|
1373
|
+
};
|
|
1374
|
+
}
|
|
1375
|
+
|
|
1356
1376
|
class DbxFirebaseAuthModule {
|
|
1357
1377
|
static forRoot(config) {
|
|
1358
1378
|
const providers = [
|
|
@@ -2331,7 +2351,7 @@ function setParentStoreEffect(store) {
|
|
|
2331
2351
|
return input.pipe(map((parentStore) => {
|
|
2332
2352
|
let result;
|
|
2333
2353
|
if (parentStore) {
|
|
2334
|
-
result = store.
|
|
2354
|
+
result = store._setParent(parentStore.currentDocument$);
|
|
2335
2355
|
}
|
|
2336
2356
|
else {
|
|
2337
2357
|
result = undefined;
|
|
@@ -2346,56 +2366,82 @@ function setParentStoreEffect(store) {
|
|
|
2346
2366
|
}));
|
|
2347
2367
|
});
|
|
2348
2368
|
}
|
|
2349
|
-
function setParentEffect(store) {
|
|
2350
|
-
return store.effect((input) => {
|
|
2351
|
-
return input.pipe(switchMap((parent) => {
|
|
2352
|
-
store._setParentDocument(parent);
|
|
2353
|
-
if (parent) {
|
|
2354
|
-
return store.collectionFactory$.pipe(tap((collectionFactory) => {
|
|
2355
|
-
const collection = collectionFactory(parent);
|
|
2356
|
-
store.setFirestoreCollection(collection);
|
|
2357
|
-
}));
|
|
2358
|
-
}
|
|
2359
|
-
else {
|
|
2360
|
-
// clear the current collection
|
|
2361
|
-
store.setFirestoreCollection(undefined);
|
|
2362
|
-
// do nothing until a parent is returned.
|
|
2363
|
-
return NEVER;
|
|
2364
|
-
}
|
|
2365
|
-
}));
|
|
2366
|
-
});
|
|
2367
|
-
}
|
|
2368
2369
|
|
|
2369
2370
|
/**
|
|
2370
2371
|
* Abstract DbxFirebaseCollectionStore that has a parent document from which is derives it's FiresbaseCollection from.
|
|
2371
2372
|
*/
|
|
2372
2373
|
class AbstractDbxFirebaseCollectionWithParentStore extends AbstractDbxFirebaseCollectionStore {
|
|
2373
|
-
constructor() {
|
|
2374
|
-
super(
|
|
2374
|
+
constructor(state, defaultSourceMode) {
|
|
2375
|
+
super(state);
|
|
2375
2376
|
// MARK: Effects
|
|
2376
|
-
this.setParent = setParentEffect(this);
|
|
2377
2377
|
this.setParentStore = setParentStoreEffect(this);
|
|
2378
|
+
this.setSourceMode = this.effect((input) => {
|
|
2379
|
+
return input.pipe(distinctUntilChanged(), switchMap((inputMode) => {
|
|
2380
|
+
var _a;
|
|
2381
|
+
const mode = (_a = inputMode === null || inputMode === void 0 ? void 0 : inputMode.toLowerCase()) !== null && _a !== void 0 ? _a : 'parent'; // default to parent mode
|
|
2382
|
+
if (mode === 'group') {
|
|
2383
|
+
return this.currentCollectionGroup$.pipe(tap((collectionGroup) => {
|
|
2384
|
+
this.setFirestoreCollection(collectionGroup);
|
|
2385
|
+
}));
|
|
2386
|
+
}
|
|
2387
|
+
else {
|
|
2388
|
+
// parent document collection
|
|
2389
|
+
return this.currentParent$.pipe(switchMap((parent) => {
|
|
2390
|
+
if (parent) {
|
|
2391
|
+
return this.collectionFactory$.pipe(tap((collectionFactory) => {
|
|
2392
|
+
const collection = collectionFactory(parent);
|
|
2393
|
+
this.setFirestoreCollection(collection);
|
|
2394
|
+
}));
|
|
2395
|
+
}
|
|
2396
|
+
else {
|
|
2397
|
+
this.setFirestoreCollection(undefined);
|
|
2398
|
+
return NEVER;
|
|
2399
|
+
}
|
|
2400
|
+
}));
|
|
2401
|
+
}
|
|
2402
|
+
}));
|
|
2403
|
+
});
|
|
2378
2404
|
// MARK: Accessors
|
|
2379
2405
|
this.currentParent$ = this.state$.pipe(map((x) => x.parent), distinctUntilChanged(), shareReplay(1));
|
|
2380
2406
|
this.parent$ = this.currentParent$.pipe(filterMaybe());
|
|
2381
2407
|
this.currentCollectionFactory$ = this.state$.pipe(map((x) => x.collectionFactory), distinctUntilChanged(), shareReplay(1));
|
|
2382
2408
|
this.collectionFactory$ = this.currentCollectionFactory$.pipe(filterMaybe());
|
|
2409
|
+
this.currentCollectionGroup$ = this.state$.pipe(map((x) => x.collectionGroup), distinctUntilChanged(), shareReplay(1));
|
|
2410
|
+
this.collectionGroup$ = this.currentCollectionGroup$.pipe(filterMaybe());
|
|
2383
2411
|
// MARK: State Changes
|
|
2384
2412
|
/**
|
|
2385
2413
|
* Sets the collection factory function to use.
|
|
2386
2414
|
*/
|
|
2387
2415
|
this.setCollectionFactory = this.updater((state, collectionFactory) => (Object.assign(Object.assign({}, state), { collectionFactory })));
|
|
2416
|
+
/**
|
|
2417
|
+
* Sets the collection group to use.
|
|
2418
|
+
*/
|
|
2419
|
+
this.setCollectionGroup = this.updater((state, collectionGroup) => (Object.assign(Object.assign({}, state), { collectionGroup })));
|
|
2388
2420
|
/**
|
|
2389
2421
|
* Sets the parent on the current state.
|
|
2390
2422
|
*/
|
|
2391
2423
|
this._setParentDocument = this.updater((state, parent) => (Object.assign(Object.assign({}, state), { parent })));
|
|
2424
|
+
this._setParent = this._setParentDocument;
|
|
2425
|
+
this.setSourceMode(defaultSourceMode || 'parent');
|
|
2392
2426
|
}
|
|
2393
2427
|
}
|
|
2394
|
-
AbstractDbxFirebaseCollectionWithParentStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AbstractDbxFirebaseCollectionWithParentStore, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
2428
|
+
AbstractDbxFirebaseCollectionWithParentStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AbstractDbxFirebaseCollectionWithParentStore, deps: [{ token: null, optional: true }, { token: null, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2395
2429
|
AbstractDbxFirebaseCollectionWithParentStore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AbstractDbxFirebaseCollectionWithParentStore });
|
|
2396
2430
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AbstractDbxFirebaseCollectionWithParentStore, decorators: [{
|
|
2397
2431
|
type: Injectable
|
|
2398
|
-
}]
|
|
2432
|
+
}], ctorParameters: function () {
|
|
2433
|
+
return [{ type: undefined, decorators: [{
|
|
2434
|
+
type: Inject,
|
|
2435
|
+
args: [null]
|
|
2436
|
+
}, {
|
|
2437
|
+
type: Optional
|
|
2438
|
+
}] }, { type: undefined, decorators: [{
|
|
2439
|
+
type: Inject,
|
|
2440
|
+
args: [null]
|
|
2441
|
+
}, {
|
|
2442
|
+
type: Optional
|
|
2443
|
+
}] }];
|
|
2444
|
+
} });
|
|
2399
2445
|
|
|
2400
2446
|
/**
|
|
2401
2447
|
* Abstract DbxFirebaseDocumentStore that has a parent document from which is derives it's FiresbaseCollection from.
|
|
@@ -2404,8 +2450,25 @@ class AbstractDbxFirebaseDocumentWithParentStore extends AbstractDbxFirebaseDocu
|
|
|
2404
2450
|
constructor() {
|
|
2405
2451
|
super(...arguments);
|
|
2406
2452
|
// MARK: Effects
|
|
2407
|
-
this.setParent = setParentEffect(this);
|
|
2408
2453
|
this.setParentStore = setParentStoreEffect(this);
|
|
2454
|
+
this.setParent = this.effect((input) => {
|
|
2455
|
+
return input.pipe(switchMap((parent) => {
|
|
2456
|
+
this._setParentDocument(parent);
|
|
2457
|
+
if (parent) {
|
|
2458
|
+
return this.collectionFactory$.pipe(tap((collectionFactory) => {
|
|
2459
|
+
const collection = collectionFactory(parent);
|
|
2460
|
+
this.setFirestoreCollection(collection);
|
|
2461
|
+
}));
|
|
2462
|
+
}
|
|
2463
|
+
else {
|
|
2464
|
+
// clear the current collection
|
|
2465
|
+
this.setFirestoreCollection(undefined);
|
|
2466
|
+
// do nothing until a parent is returned.
|
|
2467
|
+
return NEVER;
|
|
2468
|
+
}
|
|
2469
|
+
}));
|
|
2470
|
+
});
|
|
2471
|
+
this._setParent = this.setParent;
|
|
2409
2472
|
// MARK: Accessors
|
|
2410
2473
|
this.currentParent$ = this.state$.pipe(map((x) => x.parent), distinctUntilChanged(), shareReplay(1));
|
|
2411
2474
|
this.parent$ = this.currentParent$.pipe(filterMaybe());
|
|
@@ -2428,6 +2491,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
2428
2491
|
type: Injectable
|
|
2429
2492
|
}] });
|
|
2430
2493
|
|
|
2494
|
+
/**
|
|
2495
|
+
* Abstract directive that contains a DbxFirebaseCollectionWithParentStore and provides an interface for communicating with other directives.
|
|
2496
|
+
*/
|
|
2497
|
+
class DbxFirebaseCollectionWithParentStoreDirective extends DbxFirebaseCollectionStoreDirective {
|
|
2498
|
+
// MARK: Inputs
|
|
2499
|
+
set sourceMode(sourceMode) {
|
|
2500
|
+
this.store.setSourceMode(sourceMode);
|
|
2501
|
+
}
|
|
2502
|
+
}
|
|
2503
|
+
DbxFirebaseCollectionWithParentStoreDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseCollectionWithParentStoreDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
2504
|
+
DbxFirebaseCollectionWithParentStoreDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxFirebaseCollectionWithParentStoreDirective, inputs: { sourceMode: "sourceMode" }, usesInheritance: true, ngImport: i0 });
|
|
2505
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseCollectionWithParentStoreDirective, decorators: [{
|
|
2506
|
+
type: Directive
|
|
2507
|
+
}], propDecorators: { sourceMode: [{
|
|
2508
|
+
type: Input
|
|
2509
|
+
}] } });
|
|
2510
|
+
function provideDbxFirebaseCollectionWithParentStoreDirective(sourceType, storeType) {
|
|
2511
|
+
const providers = [
|
|
2512
|
+
...provideDbxFirebaseCollectionStoreDirective(sourceType, storeType),
|
|
2513
|
+
{
|
|
2514
|
+
provide: DbxFirebaseCollectionWithParentStoreDirective,
|
|
2515
|
+
useExisting: forwardRef(() => sourceType)
|
|
2516
|
+
}
|
|
2517
|
+
];
|
|
2518
|
+
return providers;
|
|
2519
|
+
}
|
|
2520
|
+
|
|
2431
2521
|
class DbxFirebaseModelModule {
|
|
2432
2522
|
}
|
|
2433
2523
|
DbxFirebaseModelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseModelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
@@ -2456,5 +2546,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
2456
2546
|
* Generated bundle index. Do not edit.
|
|
2457
2547
|
*/
|
|
2458
2548
|
|
|
2459
|
-
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, DbxFirebaseAuthLoginService, DbxFirebaseAuthModule, DbxFirebaseAuthService, DbxFirebaseAuthServiceDelegate, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseCollectionListDirective, DbxFirebaseCollectionLoaderInstance, DbxFirebaseCollectionStoreDirective, 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, authUserInfoFromAuthUser, authUserStateFromFirebaseAuthService, dbxFirebaseCollectionLoaderInstance, dbxFirebaseCollectionLoaderInstanceWithCollection, defaultFirebaseAuthLoginProvidersFactory, enableAppCheckDebugTokenGeneration, firebaseAuthErrorToReadableError, modelDoesNotExistError, provideDbxFirebaseCollectionStoreDirective, provideDbxFirebaseDocumentStoreDirective, readValueFromIdToken,
|
|
2549
|
+
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, 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, modelDoesNotExistError, provideDbxFirebaseCollectionStoreDirective, provideDbxFirebaseCollectionWithParentStoreDirective, provideDbxFirebaseDocumentStoreDirective, readValueFromIdToken, setParentStoreEffect };
|
|
2460
2550
|
//# sourceMappingURL=dereekb-dbx-firebase.mjs.map
|