@dereekb/dbx-firebase 10.0.19 → 10.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/auth/auth.mjs +1 -1
- package/esm2022/lib/auth/service/firebase.auth.service.mjs +1 -1
- package/esm2022/lib/model/loader/collection.loader.instance.mjs +18 -2
- package/esm2022/lib/model/loader/collection.loader.mjs +1 -1
- package/esm2022/lib/model/modules/store/store.collection.mjs +12 -2
- package/fesm2022/dereekb-dbx-firebase.mjs +28 -3
- package/fesm2022/dereekb-dbx-firebase.mjs.map +1 -1
- package/lib/auth/auth.d.ts +8 -2
- package/lib/auth/service/firebase.auth.service.d.ts +1 -1
- package/lib/model/loader/collection.loader.d.ts +23 -3
- package/lib/model/loader/collection.loader.instance.d.ts +9 -5
- package/lib/model/modules/store/store.collection.d.ts +19 -10
- package/package.json +1 -1
package/lib/auth/auth.d.ts
CHANGED
|
@@ -2,8 +2,14 @@ import { FirebaseAuthToken } from '@dereekb/firebase';
|
|
|
2
2
|
import { ISO8601DateString, Maybe } from '@dereekb/util';
|
|
3
3
|
import { User, UserInfo } from 'firebase/auth';
|
|
4
4
|
export type AuthUserInfo = Omit<UserInfo, 'providerId'> & {
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
/**
|
|
6
|
+
* The creation time of the user's account.
|
|
7
|
+
*/
|
|
8
|
+
readonly creationTime?: Maybe<ISO8601DateString>;
|
|
9
|
+
/**
|
|
10
|
+
* The last time the user signed in and recieved a refresh token.
|
|
11
|
+
*/
|
|
12
|
+
readonly lastSignInTime?: Maybe<ISO8601DateString>;
|
|
7
13
|
};
|
|
8
14
|
export declare function authUserInfoFromAuthUser(user: User): AuthUserInfo;
|
|
9
15
|
export declare function firebaseAuthTokenFromUser(user: User): FirebaseAuthToken;
|
|
@@ -10,7 +10,7 @@ import * as i0 from "@angular/core";
|
|
|
10
10
|
*/
|
|
11
11
|
export type AuthUserStateObsFunction = (dbxFirebaseAuthService: DbxFirebaseAuthService) => Observable<AuthUserState>;
|
|
12
12
|
export declare abstract class DbxFirebaseAuthServiceDelegate {
|
|
13
|
-
fullControlOfAuthUserState?: boolean;
|
|
13
|
+
readonly fullControlOfAuthUserState?: boolean;
|
|
14
14
|
abstract authUserStateObs: AuthUserStateObsFunction;
|
|
15
15
|
abstract authRolesObs(dbxFirebaseAuthService: DbxFirebaseAuthService): Observable<AuthRoleSet>;
|
|
16
16
|
abstract isOnboarded(dbxFirebaseAuthService: DbxFirebaseAuthService): Observable<boolean>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { DocumentDataWithIdAndKey, FirestoreItemPageIterationInstance, FirestoreQueryConstraint, IterationQueryDocChangeWatcher } from '@dereekb/firebase';
|
|
2
|
-
import { PageListLoadingState } from '@dereekb/rxjs';
|
|
3
|
-
import { Maybe, ArrayOrValue } from '@dereekb/util';
|
|
1
|
+
import { DocumentDataWithIdAndKey, FirebaseQueryItemAccumulator, FirebaseQueryItemAccumulatorNextPageUntilResultsCountFunction, FirebaseQuerySnapshotAccumulator, FirestoreItemPageIterationInstance, FirestoreQueryConstraint, IterationQueryDocChangeWatcher } from '@dereekb/firebase';
|
|
2
|
+
import { ItemAccumulatorNextPageUntilResultsCountResult, PageListLoadingState } from '@dereekb/rxjs';
|
|
3
|
+
import { Maybe, ArrayOrValue, PageNumber } from '@dereekb/util';
|
|
4
4
|
import { Observable } from 'rxjs';
|
|
5
5
|
export interface DbxFirebaseCollectionLoaderAccessor<T = unknown> {
|
|
6
6
|
readonly constraints$: Observable<Maybe<ArrayOrValue<FirestoreQueryConstraint>>>;
|
|
@@ -38,4 +38,24 @@ export interface DbxFirebaseCollectionLoader<T = unknown> extends DbxFirebaseCol
|
|
|
38
38
|
* Loads more items.
|
|
39
39
|
*/
|
|
40
40
|
next(): void;
|
|
41
|
+
/**
|
|
42
|
+
* Returns an observable that loads up to the given page then emits the page number.
|
|
43
|
+
*
|
|
44
|
+
* @param page Page number to load to.
|
|
45
|
+
*/
|
|
46
|
+
loadToPage(page: PageNumber): Observable<PageNumber>;
|
|
47
|
+
/**
|
|
48
|
+
* Loads results until all results have been loaded or the max page limit is reached.
|
|
49
|
+
*/
|
|
50
|
+
loadAllResults(): Observable<PageNumber>;
|
|
51
|
+
}
|
|
52
|
+
export interface DbxFirebaseCollectionLoaderAccessorWithAccumulator<T = unknown> extends DbxFirebaseCollectionLoaderAccessor<T> {
|
|
53
|
+
readonly snapshotAccumulator$: Observable<FirebaseQuerySnapshotAccumulator<T>>;
|
|
54
|
+
readonly accumulator$: Observable<FirebaseQueryItemAccumulator<T>>;
|
|
55
|
+
}
|
|
56
|
+
export interface DbxFirebaseCollectionLoaderWithAccumulator<T = unknown> extends DbxFirebaseCollectionLoader<T>, DbxFirebaseCollectionLoaderAccessorWithAccumulator<T> {
|
|
57
|
+
/**
|
|
58
|
+
* Loads pages until the number of results has been reached, then emits the total number of results.
|
|
59
|
+
*/
|
|
60
|
+
loadPagesUntilResultsCount(maxResultsCount: number, countFunction?: FirebaseQueryItemAccumulatorNextPageUntilResultsCountFunction<T>): Observable<ItemAccumulatorNextPageUntilResultsCountResult>;
|
|
41
61
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { PageListLoadingState } from '@dereekb/rxjs';
|
|
1
|
+
import { PageListLoadingState, ItemAccumulatorNextPageUntilResultsCountResult } from '@dereekb/rxjs';
|
|
2
2
|
import { BehaviorSubject, Subject, Observable } from 'rxjs';
|
|
3
|
-
import { DocumentDataWithIdAndKey, DocumentReference, FirebaseQueryItemAccumulator, FirebaseQuerySnapshotAccumulator, FirestoreCollectionLike, FirestoreDocument, FirestoreItemPageIterationInstance, FirestoreItemPageIteratorFilter, FirestoreQueryConstraint, IterationQueryDocChangeWatcher } from '@dereekb/firebase';
|
|
4
|
-
import { ArrayOrValue, Destroyable, Initialized, Maybe } from '@dereekb/util';
|
|
5
|
-
import {
|
|
3
|
+
import { DocumentDataWithIdAndKey, DocumentReference, FirebaseQueryItemAccumulator, FirebaseQueryItemAccumulatorNextPageUntilResultsCountFunction, FirebaseQuerySnapshotAccumulator, FirestoreCollectionLike, FirestoreDocument, FirestoreItemPageIterationInstance, FirestoreItemPageIteratorFilter, FirestoreQueryConstraint, IterationQueryDocChangeWatcher } from '@dereekb/firebase';
|
|
4
|
+
import { ArrayOrValue, Destroyable, GetterOrValue, Initialized, Maybe, PageNumber } from '@dereekb/util';
|
|
5
|
+
import { DbxFirebaseCollectionLoaderAccessor, DbxFirebaseCollectionLoaderWithAccumulator } from './collection.loader';
|
|
6
6
|
export interface DbxFirebaseCollectionLoaderInstanceInitConfig<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> {
|
|
7
7
|
collection?: Maybe<FirestoreCollectionLike<T, D>>;
|
|
8
8
|
maxPages?: Maybe<number>;
|
|
@@ -13,7 +13,7 @@ export type DbxFirebaseCollectionLoaderInstanceData<T, D extends FirestoreDocume
|
|
|
13
13
|
/**
|
|
14
14
|
* DbxFirebaseModelLoader implementation within an instance.
|
|
15
15
|
*/
|
|
16
|
-
export declare class DbxFirebaseCollectionLoaderInstance<T = unknown, D extends FirestoreDocument<T> = FirestoreDocument<T>> implements
|
|
16
|
+
export declare class DbxFirebaseCollectionLoaderInstance<T = unknown, D extends FirestoreDocument<T> = FirestoreDocument<T>> implements DbxFirebaseCollectionLoaderWithAccumulator<T>, DbxFirebaseCollectionLoaderInstanceData<T, D>, Initialized, Destroyable {
|
|
17
17
|
private readonly _initConfig?;
|
|
18
18
|
protected readonly _collection: BehaviorSubject<Maybe<FirestoreCollectionLike<T, D, import("@dereekb/firebase").LimitedFirestoreDocumentAccessor<T, D>>>>;
|
|
19
19
|
protected readonly _maxPages: BehaviorSubject<Maybe<number>>;
|
|
@@ -30,6 +30,7 @@ export declare class DbxFirebaseCollectionLoaderInstance<T = unknown, D extends
|
|
|
30
30
|
readonly snapshotAccumulatorDocumentRefs$: Observable<DocumentReference<T>[][]>;
|
|
31
31
|
readonly snapshotAccumulatorDocuments$: Observable<D[][]>;
|
|
32
32
|
readonly accumulator$: Observable<FirebaseQueryItemAccumulator<T>>;
|
|
33
|
+
readonly accumulatorPage$: Observable<PageNumber>;
|
|
33
34
|
/**
|
|
34
35
|
* Passthrough for currentAllItems$ from the accumulator.
|
|
35
36
|
*/
|
|
@@ -58,6 +59,9 @@ export declare class DbxFirebaseCollectionLoaderInstance<T = unknown, D extends
|
|
|
58
59
|
restart(): void;
|
|
59
60
|
setConstraints(constraints: Maybe<ArrayOrValue<FirestoreQueryConstraint>>): void;
|
|
60
61
|
setCollection(firestoreCollection: Maybe<FirestoreCollectionLike<T, D>>): void;
|
|
62
|
+
loadPagesUntilResultsCount(maxResultsLimit: GetterOrValue<number>, countResultsFunction?: FirebaseQueryItemAccumulatorNextPageUntilResultsCountFunction<T> | undefined): Observable<ItemAccumulatorNextPageUntilResultsCountResult>;
|
|
63
|
+
loadToPage(page: PageNumber): Observable<PageNumber>;
|
|
64
|
+
loadAllResults(): Observable<PageNumber>;
|
|
61
65
|
}
|
|
62
66
|
export declare function dbxFirebaseCollectionLoaderInstance<T, D extends FirestoreDocument<T> = FirestoreDocument<T>>(config: DbxFirebaseCollectionLoaderInstanceInitConfig<T, D>): DbxFirebaseCollectionLoaderInstance<T, D>;
|
|
63
67
|
export declare function dbxFirebaseCollectionLoaderInstanceWithCollection<T, D extends FirestoreDocument<T> = FirestoreDocument<T>>(collection: Maybe<FirestoreCollectionLike<T, D>>): DbxFirebaseCollectionLoaderInstance<T, D>;
|
|
@@ -1,21 +1,26 @@
|
|
|
1
1
|
import { Observable, Subscription } from 'rxjs';
|
|
2
|
-
import { FirebaseQueryItemAccumulator, FirestoreCollectionLike, FirestoreDocument, FirestoreItemPageIterationInstance, FirestoreQueryConstraint, IterationQueryDocChangeWatcher, DocumentDataWithIdAndKey, DocumentReference } from '@dereekb/firebase';
|
|
3
|
-
import { ObservableOrValue, PageListLoadingState } from '@dereekb/rxjs';
|
|
4
|
-
import { ArrayOrValue, Maybe } from '@dereekb/util';
|
|
2
|
+
import { FirebaseQueryItemAccumulator, FirestoreCollectionLike, FirestoreDocument, FirestoreItemPageIterationInstance, FirestoreQueryConstraint, IterationQueryDocChangeWatcher, DocumentDataWithIdAndKey, DocumentReference, FirebaseQuerySnapshotAccumulator, FirebaseQueryItemAccumulatorNextPageUntilResultsCountFunction } from '@dereekb/firebase';
|
|
3
|
+
import { ObservableOrValue, PageListLoadingState, ItemAccumulatorNextPageUntilResultsCountResult } from '@dereekb/rxjs';
|
|
4
|
+
import { ArrayOrValue, Maybe, PageNumber } from '@dereekb/util';
|
|
5
5
|
import { LockSetComponentStore } from '@dereekb/dbx-core';
|
|
6
6
|
import { DbxFirebaseCollectionLoaderInstance, DbxFirebaseCollectionLoaderInstanceData } from '../../loader/collection.loader.instance';
|
|
7
|
-
import {
|
|
7
|
+
import { DbxFirebaseCollectionLoaderAccessorWithAccumulator } from '../../loader/collection.loader';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
|
-
export interface DbxFirebaseCollectionStore<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends
|
|
9
|
+
export interface DbxFirebaseCollectionStore<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends DbxFirebaseCollectionLoaderAccessorWithAccumulator<T>, DbxFirebaseCollectionLoaderInstanceData<T, D> {
|
|
10
10
|
readonly firestoreCollection$: Observable<Maybe<FirestoreCollectionLike<T, D>>>;
|
|
11
11
|
readonly loader$: Observable<DbxFirebaseCollectionLoaderInstance<T, D>>;
|
|
12
|
-
readonly firestoreIteration$: Observable<FirestoreItemPageIterationInstance<T>>;
|
|
13
|
-
readonly queryChangeWatcher$: Observable<IterationQueryDocChangeWatcher<T>>;
|
|
14
|
-
readonly accumulator$: Observable<FirebaseQueryItemAccumulator<T>>;
|
|
15
|
-
readonly pageLoadingState$: Observable<PageListLoadingState<DocumentDataWithIdAndKey<T>>>;
|
|
16
12
|
readonly hasDocuments$: Observable<boolean>;
|
|
13
|
+
/**
|
|
14
|
+
* Returns all document references loaded by the accumulator.
|
|
15
|
+
*/
|
|
17
16
|
readonly allDocumentRefs$: Observable<DocumentReference<T>[]>;
|
|
17
|
+
/**
|
|
18
|
+
* Returns all documents loaded by the accomulator.
|
|
19
|
+
*/
|
|
18
20
|
readonly allDocuments$: Observable<D[]>;
|
|
21
|
+
/**
|
|
22
|
+
* Returns all documents data loaded by the accumulator.
|
|
23
|
+
*/
|
|
19
24
|
readonly allDocumentData$: Observable<DocumentDataWithIdAndKey<T>[]>;
|
|
20
25
|
setMaxPages(observableOrValue: ObservableOrValue<Maybe<number>>): Subscription;
|
|
21
26
|
setItemsPerPage(observableOrValue: ObservableOrValue<Maybe<number>>): Subscription;
|
|
@@ -42,13 +47,17 @@ export declare class AbstractDbxFirebaseCollectionStore<T, D extends FirestoreDo
|
|
|
42
47
|
readonly constraints$: Observable<Maybe<ArrayOrValue<FirestoreQueryConstraint>>>;
|
|
43
48
|
readonly firestoreIteration$: Observable<FirestoreItemPageIterationInstance<T>>;
|
|
44
49
|
readonly queryChangeWatcher$: Observable<IterationQueryDocChangeWatcher<T>>;
|
|
45
|
-
readonly accumulator$: Observable<FirebaseQueryItemAccumulator<T>>;
|
|
46
50
|
readonly pageLoadingState$: Observable<PageListLoadingState<DocumentDataWithIdAndKey<T>>>;
|
|
51
|
+
readonly snapshotAccumulator$: Observable<FirebaseQuerySnapshotAccumulator<T>>;
|
|
52
|
+
readonly accumulator$: Observable<FirebaseQueryItemAccumulator<T>>;
|
|
47
53
|
readonly hasDocuments$: Observable<boolean>;
|
|
48
54
|
readonly allDocumentRefs$: Observable<DocumentReference<T>[]>;
|
|
49
55
|
readonly allDocuments$: Observable<D[]>;
|
|
50
56
|
readonly allDocumentData$: Observable<DocumentDataWithIdAndKey<T>[]>;
|
|
51
57
|
readonly setFirestoreCollection: (() => void) | ((observableOrValue: FirestoreCollectionLike<T, D, import("@dereekb/firebase").LimitedFirestoreDocumentAccessor<T, D>> | Observable<FirestoreCollectionLike<T, D, import("@dereekb/firebase").LimitedFirestoreDocumentAccessor<T, D>> | null | undefined> | null | undefined) => Subscription);
|
|
58
|
+
loadToPage(page: PageNumber): Observable<PageNumber>;
|
|
59
|
+
loadPagesUntilResultsCount(maxResultsCount: number, countFunction?: FirebaseQueryItemAccumulatorNextPageUntilResultsCountFunction<T> | undefined): Observable<ItemAccumulatorNextPageUntilResultsCountResult>;
|
|
60
|
+
loadAllResults(): Observable<PageNumber>;
|
|
52
61
|
static ɵfac: i0.ɵɵFactoryDeclaration<AbstractDbxFirebaseCollectionStore<any, any, any>, never>;
|
|
53
62
|
static ɵprov: i0.ɵɵInjectableDeclaration<AbstractDbxFirebaseCollectionStore<any, any, any>>;
|
|
54
63
|
}
|