@dereekb/dbx-firebase 5.3.0 → 7.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/auth/auth.mjs +8 -1
- package/esm2020/lib/auth/service/firebase.auth.service.delegate.mjs +5 -5
- package/esm2020/lib/auth/service/firebase.auth.service.mjs +41 -3
- package/esm2020/lib/firebase/firebase.module.mjs +3 -3
- package/esm2020/lib/model/store/index.mjs +2 -1
- package/esm2020/lib/model/store/store.document.crud.mjs +43 -0
- package/esm2020/lib/model/store/store.document.mjs +26 -10
- package/esm2020/lib/model/store/store.subcollection.document.mjs +1 -1
- package/esm2020/lib/model/store/store.subcollection.rxjs.mjs +1 -1
- package/fesm2015/dereekb-dbx-firebase.mjs +114 -17
- package/fesm2015/dereekb-dbx-firebase.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-firebase.mjs +118 -17
- package/fesm2020/dereekb-dbx-firebase.mjs.map +1 -1
- package/lib/auth/auth.d.ts +2 -0
- package/lib/auth/service/firebase.auth.service.d.ts +19 -1
- package/lib/auth/service/firebase.auth.service.delegate.d.ts +1 -2
- package/lib/model/store/index.d.ts +1 -0
- package/lib/model/store/store.document.crud.d.ts +27 -0
- package/lib/model/store/store.document.d.ts +39 -11
- package/lib/model/store/store.subcollection.document.d.ts +3 -3
- package/package.json +6 -6
package/lib/auth/auth.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { FirebaseAuthToken } from '@dereekb/firebase';
|
|
1
2
|
import { User, UserInfo } from 'firebase/auth';
|
|
2
3
|
export declare type AuthUserInfo = Omit<UserInfo, 'providerId'>;
|
|
3
4
|
export declare function authUserInfoFromAuthUser(user: User): AuthUserInfo;
|
|
5
|
+
export declare function firebaseAuthTokenFromUser(user: User): FirebaseAuthToken;
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { AuthUserState, DbxAuthService, AuthUserIdentifier } from '@dereekb/dbx-core';
|
|
2
2
|
import { Auth, User, IdTokenResult, ParsedToken, AuthProvider, PopupRedirectResolver, UserCredential } from '@angular/fire/auth';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
|
-
import { AuthRoleSet, Maybe } from '@dereekb/util';
|
|
4
|
+
import { AuthClaims, AuthClaimsObject, AuthRoleClaimsService, AuthRoleSet, Maybe } from '@dereekb/util';
|
|
5
5
|
import { AuthUserInfo } from '../auth';
|
|
6
|
+
import { FirebaseAuthContextInfo, FirebaseAuthToken } from '@dereekb/firebase';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
export declare abstract class DbxFirebaseAuthServiceDelegate {
|
|
8
9
|
abstract authUserStateObs(dbxFirebaseAuthService: DbxFirebaseAuthService): Observable<AuthUserState>;
|
|
9
10
|
abstract authRolesObs(dbxFirebaseAuthService: DbxFirebaseAuthService): Observable<AuthRoleSet>;
|
|
10
11
|
abstract isOnboarded(dbxFirebaseAuthService: DbxFirebaseAuthService): Observable<boolean>;
|
|
12
|
+
abstract authRoleClaimsService?: Maybe<AuthRoleClaimsService<AuthClaimsObject>>;
|
|
11
13
|
}
|
|
12
14
|
export declare const DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE: DbxFirebaseAuthServiceDelegate;
|
|
13
15
|
export declare class DbxFirebaseAuthService implements DbxAuthService {
|
|
@@ -30,7 +32,10 @@ export declare class DbxFirebaseAuthService implements DbxAuthService {
|
|
|
30
32
|
readonly authUserState$: Observable<AuthUserState>;
|
|
31
33
|
readonly authRoles$: Observable<AuthRoleSet>;
|
|
32
34
|
readonly isOnboarded$: Observable<boolean>;
|
|
35
|
+
private _authRoleClaimsService?;
|
|
33
36
|
constructor(firebaseAuth: Auth, delegate: DbxFirebaseAuthServiceDelegate);
|
|
37
|
+
rolesForClaims<T extends AuthClaimsObject = AuthClaimsObject>(claims: AuthClaims<T>): AuthRoleSet;
|
|
38
|
+
getAuthContextInfo(): Promise<Maybe<DbxFirebaseAuthContextInfo>>;
|
|
34
39
|
logInWithGoogle(): Promise<UserCredential>;
|
|
35
40
|
logInWithFacebook(): Promise<UserCredential>;
|
|
36
41
|
logInWithTwitter(): Promise<UserCredential>;
|
|
@@ -47,3 +52,16 @@ export declare class DbxFirebaseAuthService implements DbxAuthService {
|
|
|
47
52
|
static ɵfac: i0.ɵɵFactoryDeclaration<DbxFirebaseAuthService, [null, { optional: true; }]>;
|
|
48
53
|
static ɵprov: i0.ɵɵInjectableDeclaration<DbxFirebaseAuthService>;
|
|
49
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* FirebaseAuthContextInfo implementation from DbxFirebaseAuthService.
|
|
57
|
+
*/
|
|
58
|
+
export declare class DbxFirebaseAuthContextInfo implements FirebaseAuthContextInfo {
|
|
59
|
+
readonly service: DbxFirebaseAuthService;
|
|
60
|
+
readonly user: User;
|
|
61
|
+
private _token;
|
|
62
|
+
constructor(service: DbxFirebaseAuthService, user: User);
|
|
63
|
+
get uid(): string;
|
|
64
|
+
loadClaims(): Promise<AuthClaims<AuthClaimsObject>>;
|
|
65
|
+
loadAuthRoles(): Promise<AuthRoleSet>;
|
|
66
|
+
get token(): FirebaseAuthToken;
|
|
67
|
+
}
|
|
@@ -9,6 +9,5 @@ export interface AuthRolesObsWithClaimsServiceConfig<T extends AuthClaimsObject>
|
|
|
9
9
|
readonly addAuthUserStateToRoles?: boolean;
|
|
10
10
|
}
|
|
11
11
|
export declare function authRolesObsWithClaimsService<T extends AuthClaimsObject>(config: AuthRolesObsWithClaimsServiceConfig<T>): (dbxFirebaseAuthService: DbxFirebaseAuthService) => Observable<AuthRoleSet>;
|
|
12
|
-
export
|
|
13
|
-
}
|
|
12
|
+
export declare type DefaultDbxFirebaseAuthServiceDelegateWithClaimsServiceConfig<T extends AuthClaimsObject> = AuthRolesObsWithClaimsServiceConfig<T>;
|
|
14
13
|
export declare function defaultDbxFirebaseAuthServiceDelegateWithClaimsService<T extends AuthClaimsObject>(config: DefaultDbxFirebaseAuthServiceDelegateWithClaimsServiceConfig<T>): DbxFirebaseAuthServiceDelegate;
|
|
@@ -5,6 +5,7 @@ export * from './store.collection.change.if.directive';
|
|
|
5
5
|
export * from './store.collection.directive';
|
|
6
6
|
export * from './store.collection.list.directive';
|
|
7
7
|
export * from './store.document';
|
|
8
|
+
export * from './store.document.crud';
|
|
8
9
|
export * from './store.document.auth.directive';
|
|
9
10
|
export * from './store.document.directive';
|
|
10
11
|
export * from './store.document.router.directive';
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { FirestoreModelKeyRef, ModelFirebaseCreateFunction, ModelFirebaseDeleteFunction, ModelFirebaseUpdateFunction, OnCallCreateModelResult } from '@dereekb/firebase';
|
|
2
|
+
import { LoadingState } from '@dereekb/rxjs';
|
|
3
|
+
import { Observable } from 'rxjs';
|
|
4
|
+
import { Writable } from 'ts-essentials';
|
|
5
|
+
import { DbxFirebaseDocumentStore } from './store.document';
|
|
6
|
+
export declare type DbxFirebaseDocumentStoreCreateFunction<I, O extends OnCallCreateModelResult = OnCallCreateModelResult> = (params: I) => Observable<LoadingState<O>>;
|
|
7
|
+
/**
|
|
8
|
+
* Creates a function for a store that DbxFirebaseDocumentStore captures the ModelFirebaseCreateFunction result and sets the key of the created value.
|
|
9
|
+
*
|
|
10
|
+
* @param store
|
|
11
|
+
* @param fn
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
export declare function firebaseDocumentStoreCreateFunction<I, O extends OnCallCreateModelResult = OnCallCreateModelResult>(store: DbxFirebaseDocumentStore<any, any>, fn: ModelFirebaseCreateFunction<I, O>): DbxFirebaseDocumentStoreCreateFunction<I, O>;
|
|
15
|
+
export declare type DbxFirebaseDocumentStoreUpdateParams = Partial<Writable<FirestoreModelKeyRef>>;
|
|
16
|
+
export declare type DbxFirebaseDocumentStoreUpdateFunction<I extends DbxFirebaseDocumentStoreUpdateParams> = (params: I) => Observable<LoadingState<void>>;
|
|
17
|
+
export declare function firebaseDocumentStoreUpdateFunction<I extends DbxFirebaseDocumentStoreUpdateParams>(store: DbxFirebaseDocumentStore<any, any>, fn: ModelFirebaseUpdateFunction<I>): DbxFirebaseDocumentStoreUpdateFunction<I>;
|
|
18
|
+
export declare type DbxFirebaseDocumentStoreDeleteParams = Partial<Writable<FirestoreModelKeyRef>>;
|
|
19
|
+
export declare type DbxFirebaseDocumentStoreDeleteFunction<I extends DbxFirebaseDocumentStoreDeleteParams> = (params: I) => Observable<LoadingState<void>>;
|
|
20
|
+
/**
|
|
21
|
+
* Deletes a function for a store that DbxFirebaseDocumentStore captures the ModelFirebaseDeleteFunction result and sets the key of the created value.
|
|
22
|
+
*
|
|
23
|
+
* @param store
|
|
24
|
+
* @param fn
|
|
25
|
+
* @returns
|
|
26
|
+
*/
|
|
27
|
+
export declare function firebaseDocumentStoreDeleteFunction<I>(store: DbxFirebaseDocumentStore<any, any>, fn: ModelFirebaseDeleteFunction<I>): DbxFirebaseDocumentStoreDeleteFunction<I>;
|
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
import { Observable, Subscription } from 'rxjs';
|
|
2
|
-
import { DocumentSnapshot, DocumentReference, FirestoreCollection, FirestoreDocument, DocumentDataWithId } from '@dereekb/firebase';
|
|
2
|
+
import { DocumentSnapshot, DocumentReference, FirestoreCollection, FirestoreDocument, DocumentDataWithId, FirestoreModelId, FirestoreModelKey, FirestoreCollectionLike, FirestoreModelIdentity } from '@dereekb/firebase';
|
|
3
3
|
import { LoadingState, ObservableOrValue } from '@dereekb/rxjs';
|
|
4
|
-
import { Maybe
|
|
4
|
+
import { Maybe } from '@dereekb/util';
|
|
5
5
|
import { LockSetComponent, LockSetComponentStore } from '@dereekb/dbx-core';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export interface DbxFirebaseDocumentStore<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> extends LockSetComponent {
|
|
8
|
+
readonly firestoreCollectionLike$: Observable<FirestoreCollectionLike<T, D>>;
|
|
8
9
|
readonly firestoreCollection$: Observable<FirestoreCollection<T, D>>;
|
|
9
|
-
readonly currentInputId$: Observable<Maybe<
|
|
10
|
-
readonly inputId$: Observable<
|
|
10
|
+
readonly currentInputId$: Observable<Maybe<FirestoreModelId>>;
|
|
11
|
+
readonly inputId$: Observable<FirestoreModelId>;
|
|
12
|
+
readonly currentInputKey$: Observable<Maybe<FirestoreModelKey>>;
|
|
13
|
+
readonly inputKey$: Observable<FirestoreModelKey>;
|
|
11
14
|
readonly currentInputRef$: Observable<Maybe<DocumentReference<T>>>;
|
|
12
15
|
readonly inputRef$: Observable<DocumentReference<T>>;
|
|
13
16
|
readonly currentDocument$: Observable<Maybe<D>>;
|
|
14
17
|
readonly document$: Observable<D>;
|
|
15
|
-
readonly id$: Observable<
|
|
18
|
+
readonly id$: Observable<FirestoreModelId>;
|
|
19
|
+
readonly key$: Observable<FirestoreModelKey>;
|
|
16
20
|
readonly ref$: Observable<DocumentReference<T>>;
|
|
17
21
|
readonly documentLoadingState$: Observable<LoadingState<D>>;
|
|
18
22
|
readonly snapshot$: Observable<DocumentSnapshot<T>>;
|
|
@@ -21,32 +25,49 @@ export interface DbxFirebaseDocumentStore<T, D extends FirestoreDocument<T> = Fi
|
|
|
21
25
|
readonly data$: Observable<DocumentDataWithId<T>>;
|
|
22
26
|
readonly dataLoadingState$: Observable<LoadingState<DocumentDataWithId<T>>>;
|
|
23
27
|
readonly exists$: Observable<boolean>;
|
|
24
|
-
|
|
28
|
+
readonly modelIdentity$: Observable<FirestoreModelIdentity>;
|
|
29
|
+
setId: (observableOrValue: ObservableOrValue<Maybe<FirestoreModelId>>) => Subscription;
|
|
30
|
+
setKey: (observableOrValue: ObservableOrValue<Maybe<FirestoreModelKey>>) => Subscription;
|
|
25
31
|
setRef: (observableOrValue: ObservableOrValue<Maybe<DocumentReference<T>>>) => Subscription;
|
|
26
32
|
/**
|
|
27
|
-
*
|
|
33
|
+
* Clears the key/id/ref and current document from the store.
|
|
34
|
+
*/
|
|
35
|
+
clearRefs: () => void;
|
|
36
|
+
/**
|
|
37
|
+
* Sets the FirestoreCollection to retrieve documents from.
|
|
28
38
|
*/
|
|
29
39
|
readonly setFirestoreCollection: (() => void) | ((observableOrValue: ObservableOrValue<Maybe<FirestoreCollection<T, D>>>) => Subscription);
|
|
40
|
+
/**
|
|
41
|
+
* Sets the FirestoreCollectionLike to retrieve documents from.
|
|
42
|
+
*/
|
|
43
|
+
readonly setFirestoreCollectionLike: (() => void) | ((observableOrValue: ObservableOrValue<Maybe<FirestoreCollectionLike<T, D>>>) => Subscription);
|
|
30
44
|
}
|
|
31
45
|
export interface DbxFirebaseDocumentStoreContextState<T, D extends FirestoreDocument<T> = FirestoreDocument<T>> {
|
|
46
|
+
readonly firestoreCollectionLike?: Maybe<FirestoreCollectionLike<T, D>>;
|
|
32
47
|
readonly firestoreCollection?: Maybe<FirestoreCollection<T, D>>;
|
|
33
|
-
readonly id?: Maybe<
|
|
48
|
+
readonly id?: Maybe<FirestoreModelId>;
|
|
49
|
+
readonly key?: Maybe<FirestoreModelKey>;
|
|
34
50
|
readonly ref?: Maybe<DocumentReference<T>>;
|
|
35
51
|
}
|
|
36
52
|
/**
|
|
37
53
|
* Used for storing the state of a Person and related email threads.
|
|
38
54
|
*/
|
|
39
55
|
export declare class AbstractDbxFirebaseDocumentStore<T, D extends FirestoreDocument<T> = FirestoreDocument<T>, C extends DbxFirebaseDocumentStoreContextState<T, D> = DbxFirebaseDocumentStoreContextState<T, D>> extends LockSetComponentStore<C> implements DbxFirebaseDocumentStore<T, D> {
|
|
56
|
+
readonly currentFirestoreCollectionLike$: Observable<Maybe<FirestoreCollectionLike<T, D>>>;
|
|
40
57
|
readonly currentFirestoreCollection$: Observable<Maybe<FirestoreCollection<T, D>>>;
|
|
58
|
+
readonly firestoreCollectionLike$: Observable<FirestoreCollectionLike<T, D>>;
|
|
41
59
|
readonly firestoreCollection$: Observable<FirestoreCollection<T, D>>;
|
|
42
|
-
readonly currentInputId$: Observable<Maybe<
|
|
43
|
-
readonly inputId$: Observable<
|
|
60
|
+
readonly currentInputId$: Observable<Maybe<FirestoreModelId>>;
|
|
61
|
+
readonly inputId$: Observable<FirestoreModelId>;
|
|
62
|
+
readonly currentInputKey$: Observable<Maybe<FirestoreModelKey>>;
|
|
63
|
+
readonly inputKey$: Observable<FirestoreModelKey>;
|
|
44
64
|
readonly currentInputRef$: Observable<Maybe<DocumentReference<T>>>;
|
|
45
65
|
readonly inputRef$: Observable<DocumentReference<T>>;
|
|
46
66
|
readonly currentDocument$: Observable<Maybe<D>>;
|
|
47
67
|
readonly document$: Observable<D>;
|
|
48
68
|
readonly documentLoadingState$: Observable<LoadingState<D>>;
|
|
49
|
-
readonly id$: Observable<
|
|
69
|
+
readonly id$: Observable<FirestoreModelId>;
|
|
70
|
+
readonly key$: Observable<FirestoreModelKey>;
|
|
50
71
|
readonly ref$: Observable<DocumentReference<T>>;
|
|
51
72
|
readonly snapshot$: Observable<DocumentSnapshot<T>>;
|
|
52
73
|
readonly snapshotLoadingState$: Observable<LoadingState<DocumentSnapshot<T>>>;
|
|
@@ -55,15 +76,22 @@ export declare class AbstractDbxFirebaseDocumentStore<T, D extends FirestoreDocu
|
|
|
55
76
|
readonly dataLoadingState$: Observable<LoadingState<DocumentDataWithId<T>>>;
|
|
56
77
|
readonly exists$: Observable<boolean>;
|
|
57
78
|
readonly doesNotExist$: Observable<boolean>;
|
|
79
|
+
readonly modelIdentity$: Observable<FirestoreModelIdentity>;
|
|
58
80
|
/**
|
|
59
81
|
* Sets the id of the document to load.
|
|
60
82
|
*/
|
|
61
83
|
readonly setId: (observableOrValue: Maybe<string> | Observable<Maybe<string>>) => Subscription;
|
|
84
|
+
/**
|
|
85
|
+
* Sets the key of the document to load.
|
|
86
|
+
*/
|
|
87
|
+
readonly setKey: (observableOrValue: Maybe<string> | Observable<Maybe<string>>) => Subscription;
|
|
62
88
|
/**
|
|
63
89
|
* Sets the ref of the document to load.
|
|
64
90
|
*/
|
|
65
91
|
readonly setRef: (observableOrValue: Maybe<DocumentReference<T>> | Observable<Maybe<DocumentReference<T>>>) => Subscription;
|
|
92
|
+
readonly clearRefs: () => void;
|
|
66
93
|
readonly setFirestoreCollection: (() => void) | ((observableOrValue: Maybe<FirestoreCollection<T, D>> | Observable<Maybe<FirestoreCollection<T, D>>>) => Subscription);
|
|
94
|
+
readonly setFirestoreCollectionLike: (() => void) | ((observableOrValue: Maybe<FirestoreCollectionLike<T, D, import("@dereekb/firebase").LimitedFirestoreDocumentAccessor<T, D>>> | Observable<Maybe<FirestoreCollectionLike<T, D, import("@dereekb/firebase").LimitedFirestoreDocumentAccessor<T, D>>>>) => Subscription);
|
|
67
95
|
static ɵfac: i0.ɵɵFactoryDeclaration<AbstractDbxFirebaseDocumentStore<any, any, any>, never>;
|
|
68
96
|
static ɵprov: i0.ɵɵInjectableDeclaration<AbstractDbxFirebaseDocumentStore<any, any, any>>;
|
|
69
97
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Observable
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
2
|
import { FirestoreDocument, FirestoreCollectionWithParentFactory, FirestoreCollection } from '@dereekb/firebase';
|
|
3
3
|
import { Maybe } from '@dereekb/util';
|
|
4
4
|
import { AbstractDbxFirebaseDocumentStore, DbxFirebaseDocumentStore, DbxFirebaseDocumentStoreContextState } from './store.document';
|
|
@@ -22,11 +22,11 @@ export declare class AbstractDbxFirebaseDocumentWithParentStore<T, PT, D extends
|
|
|
22
22
|
/**
|
|
23
23
|
* Sets the collection factory function to use.
|
|
24
24
|
*/
|
|
25
|
-
readonly setCollectionFactory: (observableOrValue: FirestoreCollectionWithParentFactory<T, PT, D, PD, import("@dereekb/firebase").FirestoreCollectionWithParent<T, PT, D, PD>> | Observable<FirestoreCollectionWithParentFactory<T, PT, D, PD, import("@dereekb/firebase").FirestoreCollectionWithParent<T, PT, D, PD>>>) => Subscription;
|
|
25
|
+
readonly setCollectionFactory: (observableOrValue: FirestoreCollectionWithParentFactory<T, PT, D, PD, import("@dereekb/firebase").FirestoreCollectionWithParent<T, PT, D, PD>> | Observable<FirestoreCollectionWithParentFactory<T, PT, D, PD, import("@dereekb/firebase").FirestoreCollectionWithParent<T, PT, D, PD>>>) => import("rxjs").Subscription;
|
|
26
26
|
/**
|
|
27
27
|
* Sets the parent on the current state.
|
|
28
28
|
*/
|
|
29
|
-
readonly _setParentDocument: (() => void) | ((observableOrValue: Maybe<PD> | Observable<Maybe<PD>>) => Subscription) | (PD extends void ? () => void : (observableOrValue: Maybe<PD> | Observable<Maybe<PD>>) => Subscription);
|
|
29
|
+
readonly _setParentDocument: (() => void) | ((observableOrValue: Maybe<PD> | Observable<Maybe<PD>>) => import("rxjs").Subscription) | (PD extends void ? () => void : (observableOrValue: Maybe<PD> | Observable<Maybe<PD>>) => import("rxjs").Subscription);
|
|
30
30
|
static ɵfac: i0.ɵɵFactoryDeclaration<AbstractDbxFirebaseDocumentWithParentStore<any, any, any, any, any>, never>;
|
|
31
31
|
static ɵprov: i0.ɵɵInjectableDeclaration<AbstractDbxFirebaseDocumentWithParentStore<any, any, any, any, any>>;
|
|
32
32
|
}
|
package/package.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/dbx-firebase",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "7.0.1",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": "^13.0.0",
|
|
6
6
|
"@angular/core": "^13.0.0",
|
|
7
|
-
"@dereekb/util": "
|
|
7
|
+
"@dereekb/util": "7.0.1",
|
|
8
8
|
"firebase": "^9.8.0",
|
|
9
9
|
"rxjs": "^7.0.0",
|
|
10
10
|
"@angular/fire": "^7.3.0-canary.8d5bc12",
|
|
11
|
-
"@dereekb/
|
|
11
|
+
"@dereekb/firebase": "7.0.1",
|
|
12
|
+
"@dereekb/dbx-core": "7.0.1",
|
|
12
13
|
"@angular/material": "^13.0.0",
|
|
13
|
-
"@dereekb/dbx-web": "
|
|
14
|
-
"@dereekb/dbx-form": "
|
|
15
|
-
"@dereekb/firebase": "5.3.0"
|
|
14
|
+
"@dereekb/dbx-web": "7.0.1",
|
|
15
|
+
"@dereekb/dbx-form": "7.0.1"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
18
|
"tslib": "^2.3.0"
|