@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.
@@ -1,8 +1,8 @@
1
- import { urlWithoutParameters, addToSet, removeFromSet, filterMaybeValues, mapIterable, asArray, excludeValuesFromArray, containsStringAnyCase, addToSetCopy, forEachKeyValue, readableError, isMaybeSo } from '@dereekb/util';
1
+ import { urlWithoutParameters, cachedGetter, addToSet, removeFromSet, filterMaybeValues, mapIterable, asArray, excludeValuesFromArray, containsStringAnyCase, addToSetCopy, forEachKeyValue, readableError, isMaybeSo, firstValue } 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';
5
- import { switchMap, from, first, map, of, shareReplay, timeout, startWith, distinctUntilChanged, BehaviorSubject, combineLatest, tap, firstValueFrom, Subject, throttleTime, NEVER, filter, take, exhaustMap } from 'rxjs';
5
+ import { switchMap, from, first, map, of, shareReplay, timeout, startWith, distinctUntilChanged, firstValueFrom, BehaviorSubject, combineLatest, tap, Subject, throttleTime, NEVER, filter, take, exhaustMap } from 'rxjs';
6
6
  import * as i1 from '@angular/fire/app-check';
7
7
  import { provideAppCheck } from '@angular/fire/app-check';
8
8
  import * as i4 from '@angular/material/button';
@@ -11,7 +11,7 @@ import * as i2 from '@angular/material/icon';
11
11
  import { MatIconModule } from '@angular/material/icon';
12
12
  import * as i6 from '@angular/common';
13
13
  import { CommonModule } from '@angular/common';
14
- import { filterMaybe, isNot, tapLog, SubscriptionObject, cleanupDestroyable, accumulatorFlattenPageListLoadingState, useFirst, successResult, beginLoading, loadingStateFromObs, errorResult, cleanup } from '@dereekb/rxjs';
14
+ import { filterMaybe, isNot, SubscriptionObject, cleanupDestroyable, accumulatorFlattenPageListLoadingState, useFirst, successResult, beginLoading, loadingStateFromObs, errorResult, lazyFrom, cleanup } from '@dereekb/rxjs';
15
15
  import * as i3$1 from '@dereekb/dbx-core';
16
16
  import { loggedInObsFromIsLoggedIn, loggedOutObsFromIsLoggedIn, authUserIdentifier, DbxInjectionContext, AbstractForwardDbxInjectionContextDirective, DBX_INJECTION_COMPONENT_DATA, DbxInjectionComponentModule, DbxAuthService, AbstractSubscriptionDirective, AbstractIfDirective, LockSetComponentStore } from '@dereekb/dbx-core';
17
17
  import * as i1$1 from '@angular/fire/auth';
@@ -127,6 +127,13 @@ function authUserInfoFromAuthUser(user) {
127
127
  uid: user.uid
128
128
  };
129
129
  }
130
+ function firebaseAuthTokenFromUser(user) {
131
+ return {
132
+ email: user.email,
133
+ emailVerified: user.emailVerified,
134
+ phoneNumber: user.phoneNumber
135
+ };
136
+ }
130
137
 
131
138
  /**
132
139
  * Derives a user state from the input firebase auth service.
@@ -206,6 +213,21 @@ class DbxFirebaseAuthService {
206
213
  this.authUserState$ = delegate.authUserStateObs(this).pipe(distinctUntilChanged(), shareReplay(1));
207
214
  this.authRoles$ = delegate.authRolesObs(this);
208
215
  this.isOnboarded$ = delegate.isOnboarded(this);
216
+ this._authRoleClaimsService = delegate.authRoleClaimsService;
217
+ }
218
+ rolesForClaims(claims) {
219
+ let result;
220
+ if (this._authRoleClaimsService) {
221
+ return this._authRoleClaimsService.toRoles(claims);
222
+ }
223
+ else {
224
+ console.warn('DbxFirebaseAuthService: rolesForClaims called with no authRoleClaimsService provided. An empty set is returned.');
225
+ result = new Set();
226
+ }
227
+ return result;
228
+ }
229
+ getAuthContextInfo() {
230
+ return firstValueFrom(this.authUser$).then((user) => (user ? new DbxFirebaseAuthContextInfo(this, user) : undefined));
209
231
  }
210
232
  logInWithGoogle() {
211
233
  return this.logInWithPopup(new GoogleAuthProvider());
@@ -256,6 +278,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
256
278
  }], ctorParameters: function () { return [{ type: i1$1.Auth }, { type: DbxFirebaseAuthServiceDelegate, decorators: [{
257
279
  type: Optional
258
280
  }] }]; } });
281
+ /**
282
+ * FirebaseAuthContextInfo implementation from DbxFirebaseAuthService.
283
+ */
284
+ class DbxFirebaseAuthContextInfo {
285
+ constructor(service, user) {
286
+ this.service = service;
287
+ this.user = user;
288
+ this._token = cachedGetter(() => firebaseAuthTokenFromUser(this.user));
289
+ }
290
+ get uid() {
291
+ return this.user.uid;
292
+ }
293
+ loadClaims() {
294
+ return this.user.getIdTokenResult().then((x) => x.claims);
295
+ }
296
+ loadAuthRoles() {
297
+ return this.loadClaims().then((x) => this.service.rolesForClaims(x));
298
+ }
299
+ get token() {
300
+ return this._token();
301
+ }
302
+ }
259
303
 
260
304
  class DbxFirebaseLoginTermsConfig {
261
305
  }
@@ -1345,9 +1389,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
1345
1389
  function authRolesObsWithClaimsService(config) {
1346
1390
  const { addAuthUserStateToRoles: addAuthUserState, claimsService } = config;
1347
1391
  return (dbxFirebaseAuthService) => {
1348
- let obs = dbxFirebaseAuthService.idTokenResult$.pipe(tapLog('a'), map((x) => claimsService.toRoles(x.claims)));
1392
+ let obs = dbxFirebaseAuthService.idTokenResult$.pipe(map((x) => claimsService.toRoles(x.claims)));
1349
1393
  if (addAuthUserState) {
1350
- obs = obs.pipe(tapLog('b'), switchMap((authRoleSet) => dbxFirebaseAuthService.authUserState$.pipe(map((userState) => addToSetCopy(authRoleSet, [userState])))), tapLog('c'));
1394
+ obs = obs.pipe(switchMap((authRoleSet) => dbxFirebaseAuthService.authUserState$.pipe(map((userState) => addToSetCopy(authRoleSet, [userState])))));
1351
1395
  }
1352
1396
  return obs;
1353
1397
  };
@@ -1356,7 +1400,8 @@ function defaultDbxFirebaseAuthServiceDelegateWithClaimsService(config) {
1356
1400
  return {
1357
1401
  authUserStateObs: DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE.authUserStateObs,
1358
1402
  authRolesObs: authRolesObsWithClaimsService(config),
1359
- isOnboarded: DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE.isOnboarded
1403
+ isOnboarded: DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE.isOnboarded,
1404
+ authRoleClaimsService: config.claimsService
1360
1405
  };
1361
1406
  }
1362
1407
 
@@ -1462,7 +1507,7 @@ DbxFirebaseDefaultAppCheckProviderModule.ɵinj = i0.ɵɵngDeclareInjector({ minV
1462
1507
  provider: new ReCaptchaV3Provider(appCheckOptions.reCaptchaV3),
1463
1508
  isTokenAutoRefreshEnabled: appCheckOptions.isTokenAutoRefreshEnabled ?? true
1464
1509
  });
1465
- console.debug('Enabled AppCheck.');
1510
+ console.log('Enabled AppCheck.');
1466
1511
  }
1467
1512
  else {
1468
1513
  appCheck = undefined;
@@ -1493,7 +1538,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
1493
1538
  provider: new ReCaptchaV3Provider(appCheckOptions.reCaptchaV3),
1494
1539
  isTokenAutoRefreshEnabled: appCheckOptions.isTokenAutoRefreshEnabled ?? true
1495
1540
  });
1496
- console.debug('Enabled AppCheck.');
1541
+ console.log('Enabled AppCheck.');
1497
1542
  }
1498
1543
  else {
1499
1544
  appCheck = undefined;
@@ -2257,27 +2302,36 @@ class AbstractDbxFirebaseDocumentStore extends LockSetComponentStore {
2257
2302
  super(...arguments);
2258
2303
  // MARK: Effects
2259
2304
  // MARK: Accessors
2305
+ this.currentFirestoreCollectionLike$ = this.state$.pipe(map((x) => x.firestoreCollection ?? x.firestoreCollectionLike), distinctUntilChanged(), shareReplay(1));
2260
2306
  this.currentFirestoreCollection$ = this.state$.pipe(map((x) => x.firestoreCollection), distinctUntilChanged(), shareReplay(1));
2307
+ this.firestoreCollectionLike$ = this.currentFirestoreCollectionLike$.pipe(filterMaybe());
2261
2308
  this.firestoreCollection$ = this.currentFirestoreCollection$.pipe(filterMaybe());
2262
2309
  this.currentInputId$ = this.state$.pipe(map((x) => x.id), distinctUntilChanged(), shareReplay(1));
2263
2310
  this.inputId$ = this.currentInputId$.pipe(filterMaybe(), distinctUntilChanged(), shareReplay(1));
2311
+ this.currentInputKey$ = this.state$.pipe(map((x) => x.key), distinctUntilChanged(), shareReplay(1));
2312
+ this.inputKey$ = this.currentInputKey$.pipe(filterMaybe(), distinctUntilChanged(), shareReplay(1));
2264
2313
  this.currentInputRef$ = this.state$.pipe(map((x) => x.ref), distinctUntilChanged(), shareReplay(1));
2265
2314
  this.inputRef$ = this.currentInputRef$.pipe(filterMaybe(), distinctUntilChanged(), shareReplay(1));
2266
- this.currentDocument$ = combineLatest([this.currentFirestoreCollection$, this.currentInputId$, this.currentInputRef$]).pipe(map(([collection, id, ref]) => {
2315
+ this.currentDocument$ = combineLatest([this.currentInputId$, this.currentInputKey$, this.currentInputRef$]).pipe(switchMap(([id, key, ref]) => {
2267
2316
  let document;
2268
- if (collection) {
2269
- if (ref) {
2270
- document = collection.documentAccessor().loadDocument(ref);
2271
- }
2272
- else if (id) {
2273
- document = collection.documentAccessor().loadDocumentForPath(id);
2274
- }
2317
+ if (ref) {
2318
+ document = this.firestoreCollectionLike$.pipe(map((x) => x.documentAccessor().loadDocument(ref)));
2319
+ }
2320
+ else if (key) {
2321
+ document = this.firestoreCollectionLike$.pipe(map((x) => x.documentAccessor().loadDocumentForKey(key)));
2322
+ }
2323
+ else if (id) {
2324
+ document = this.firestoreCollection$.pipe(map((x) => x.documentAccessor().loadDocumentForPath(id)));
2325
+ }
2326
+ else {
2327
+ document = of(undefined);
2275
2328
  }
2276
2329
  return document;
2277
2330
  }), distinctUntilChanged(), shareReplay(1));
2278
2331
  this.document$ = this.currentDocument$.pipe(filterMaybe(), distinctUntilChanged(), shareReplay(1));
2279
2332
  this.documentLoadingState$ = this.currentDocument$.pipe(map((x) => (x ? successResult(x) : beginLoading())), shareReplay(1));
2280
2333
  this.id$ = this.document$.pipe(map((x) => x.id), shareReplay());
2334
+ this.key$ = this.document$.pipe(map((x) => x.key), shareReplay());
2281
2335
  this.ref$ = this.document$.pipe(map((x) => x.documentRef), shareReplay());
2282
2336
  this.snapshot$ = this.document$.pipe(switchMap((x) => x.accessor.stream()), shareReplay(1));
2283
2337
  this.snapshotLoadingState$ = this.currentDocument$.pipe(switchMap(() => loadingStateFromObs(this.snapshot$)), shareReplay(1));
@@ -2304,16 +2358,23 @@ class AbstractDbxFirebaseDocumentStore extends LockSetComponentStore {
2304
2358
  }), shareReplay(1));
2305
2359
  this.exists$ = this.currentData$.pipe(map((x) => isMaybeSo(x)), shareReplay(1));
2306
2360
  this.doesNotExist$ = this.exists$.pipe(map((x) => !x), shareReplay(1));
2361
+ this.modelIdentity$ = this.document$.pipe(map((x) => x.modelIdentity), shareReplay(1));
2307
2362
  // MARK: State Changes
2308
2363
  /**
2309
2364
  * Sets the id of the document to load.
2310
2365
  */
2311
2366
  this.setId = this.updater((state, id) => (id ? { ...state, id, ref: undefined } : { ...state, id }));
2367
+ /**
2368
+ * Sets the key of the document to load.
2369
+ */
2370
+ this.setKey = this.updater((state, key) => (key ? { ...state, key, ref: undefined } : { ...state, key }));
2312
2371
  /**
2313
2372
  * Sets the ref of the document to load.
2314
2373
  */
2315
2374
  this.setRef = this.updater((state, ref) => (ref ? { ...state, id: undefined, ref } : { ...state, ref }));
2375
+ this.clearRefs = this.updater((state) => ({ ...state, id: undefined, key: undefined, ref: undefined }));
2316
2376
  this.setFirestoreCollection = this.updater((state, firestoreCollection) => ({ ...state, firestoreCollection }));
2377
+ this.setFirestoreCollectionLike = this.updater((state, firestoreCollectionLike) => ({ ...state, firestoreCollectionLike }));
2317
2378
  }
2318
2379
  }
2319
2380
  AbstractDbxFirebaseDocumentStore.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AbstractDbxFirebaseDocumentStore, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
@@ -2322,6 +2383,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
2322
2383
  type: Injectable
2323
2384
  }] });
2324
2385
 
2386
+ /**
2387
+ * Creates a function for a store that DbxFirebaseDocumentStore captures the ModelFirebaseCreateFunction result and sets the key of the created value.
2388
+ *
2389
+ * @param store
2390
+ * @param fn
2391
+ * @returns
2392
+ */
2393
+ function firebaseDocumentStoreCreateFunction(store, fn) {
2394
+ return (params) => loadingStateFromObs(lazyFrom(() => fn(params).then((result) => {
2395
+ const modelKeys = result.modelKeys;
2396
+ const firstKey = firstValue(modelKeys);
2397
+ if (firstKey) {
2398
+ store.setKey(firstKey);
2399
+ }
2400
+ return result;
2401
+ })));
2402
+ }
2403
+ function firebaseDocumentStoreUpdateFunction(store, fn) {
2404
+ return (params) => loadingStateFromObs(store.key$.pipe(first(), switchMap((key) => fn({
2405
+ ...params,
2406
+ key // inject key into the parameters.
2407
+ }))));
2408
+ }
2409
+ /**
2410
+ * Deletes a function for a store that DbxFirebaseDocumentStore captures the ModelFirebaseDeleteFunction result and sets the key of the created value.
2411
+ *
2412
+ * @param store
2413
+ * @param fn
2414
+ * @returns
2415
+ */
2416
+ function firebaseDocumentStoreDeleteFunction(store, fn) {
2417
+ return (params) => loadingStateFromObs(store.key$.pipe(first(), switchMap((key) => fn({
2418
+ ...params,
2419
+ key // inject key into the parameters.
2420
+ }).then((result) => {
2421
+ store.clearRefs();
2422
+ return result;
2423
+ }))));
2424
+ }
2425
+
2325
2426
  function setParentStoreEffect(store) {
2326
2427
  return store.effect((input) => {
2327
2428
  return input.pipe(map((parentStore) => {
@@ -2519,5 +2620,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
2519
2620
  * Generated bundle index. Do not edit.
2520
2621
  */
2521
2622
 
2522
- 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 };
2623
+ export { AbstractConfiguredDbxFirebaseLoginButtonDirective, AbstractDbxFirebaseCollectionStore, AbstractDbxFirebaseCollectionWithParentStore, AbstractDbxFirebaseDocumentStore, AbstractDbxFirebaseDocumentWithParentStore, DBX_FIREBASE_MODEL_DOES_NOT_EXIST_ERROR, DBX_FIREBASE_OPTIONS_TOKEN, DBX_FIREBASE_ROUTER_SYNC_DEFAULT_ID_PARAM_KEY, DBX_FIRESTORE_CONTEXT_TOKEN, DEFAULT_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_TEMPLATE, DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE, DEFAULT_FIREBASE_AUTH_LOGIN_PASSWORD_CONFIG, DEFAULT_FIREBASE_AUTH_LOGIN_PASSWORD_CONFIG_TOKEN, DEFAULT_FIREBASE_AUTH_LOGIN_PROVIDERS_TOKEN, DEFAULT_FIREBASE_AUTH_LOGIN_TERMS_COMPONENT_CLASS_TOKEN, DEFAULT_FIREBASE_LOGIN_METHOD_CATEGORY, DbxFirebaseAppCheckHttpInterceptor, DbxFirebaseAuthContextInfo, DbxFirebaseAuthLoginService, DbxFirebaseAuthModule, DbxFirebaseAuthService, DbxFirebaseAuthServiceDelegate, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseCollectionListDirective, DbxFirebaseCollectionLoaderInstance, DbxFirebaseCollectionStoreDirective, DbxFirebaseCollectionWithParentStoreDirective, DbxFirebaseDefaultAppCheckProviderModule, DbxFirebaseDefaultAuthProviderModule, DbxFirebaseDefaultFirebaseProvidersModule, DbxFirebaseDefaultFirestoreProviderModule, DbxFirebaseDefaultFunctionsProviderModule, DbxFirebaseDefaultStorageProviderModule, DbxFirebaseDocumentAuthIdDirective, DbxFirebaseDocumentStoreDirective, DbxFirebaseDocumentStoreRouteIdDirective, DbxFirebaseEmailFormComponent, DbxFirebaseEmailRecoveryFormComponent, DbxFirebaseEmulatorModule, DbxFirebaseFirestoreCollectionModule, DbxFirebaseFunctionsModule, DbxFirebaseLoginAnonymousComponent, DbxFirebaseLoginAppleComponent, DbxFirebaseLoginButtonComponent, DbxFirebaseLoginButtonContainerComponent, DbxFirebaseLoginComponent, DbxFirebaseLoginContext, DbxFirebaseLoginContextBackButtonComponent, DbxFirebaseLoginContextDirective, DbxFirebaseLoginEmailComponent, DbxFirebaseLoginEmailContentComponent, DbxFirebaseLoginFacebookComponent, DbxFirebaseLoginGitHubComponent, DbxFirebaseLoginGoogleComponent, DbxFirebaseLoginListComponent, DbxFirebaseLoginMicrosoftComponent, DbxFirebaseLoginModule, DbxFirebaseLoginModuleRootConfig, DbxFirebaseLoginTermsComponent, DbxFirebaseLoginTermsSimpleComponent, DbxFirebaseLoginTwitterComponent, DbxFirebaseModelModule, DbxFirebaseModelStoreModule, DbxFirebaseModule, DbxFirebaseParsedEmulatorsConfig, DbxFirebaseRegisterComponent, DbxFirebaseRegisterEmailComponent, DbxFirestoreContextService, FIREBASE_AUTH_NETWORK_REQUEST_ERROR, FIREBASE_AUTH_USER_NOT_FOUND_ERROR, OAUTH_FIREBASE_LOGIN_METHOD_CATEGORY, authRolesObsWithClaimsService, authUserInfoFromAuthUser, authUserStateFromFirebaseAuthService, dbxFirebaseCollectionLoaderInstance, dbxFirebaseCollectionLoaderInstanceWithCollection, defaultDbxFirebaseAuthServiceDelegateWithClaimsService, defaultFirebaseAuthLoginProvidersFactory, enableAppCheckDebugTokenGeneration, firebaseAuthErrorToReadableError, firebaseAuthTokenFromUser, firebaseDocumentStoreCreateFunction, firebaseDocumentStoreDeleteFunction, firebaseDocumentStoreUpdateFunction, modelDoesNotExistError, provideDbxFirebaseCollectionStoreDirective, provideDbxFirebaseCollectionWithParentStoreDirective, provideDbxFirebaseDocumentStoreDirective, readValueFromIdToken, setParentStoreEffect };
2523
2624
  //# sourceMappingURL=dereekb-dbx-firebase.mjs.map