@dereekb/dbx-firebase 1.2.0 → 3.0.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.
Files changed (150) hide show
  1. package/README.md +1 -1
  2. package/_index.scss +18 -0
  3. package/esm2020/lib/auth/auth.mjs +10 -0
  4. package/esm2020/lib/auth/error.mjs +28 -0
  5. package/esm2020/lib/auth/firebase.auth.module.mjs +34 -0
  6. package/esm2020/lib/auth/index.mjs +6 -0
  7. package/esm2020/lib/auth/login/firebase.login.module.mjs +274 -0
  8. package/esm2020/lib/auth/login/index.mjs +26 -0
  9. package/esm2020/lib/auth/login/login.anonymous.component.mjs +22 -0
  10. package/esm2020/lib/auth/login/login.apple.component.mjs +22 -0
  11. package/esm2020/lib/auth/login/login.button.component.mjs +139 -0
  12. package/esm2020/lib/auth/login/login.component.mjs +43 -0
  13. package/esm2020/lib/auth/login/login.context.back.component.mjs +27 -0
  14. package/esm2020/lib/auth/login/login.context.directive.mjs +25 -0
  15. package/esm2020/lib/auth/login/login.context.mjs +7 -0
  16. package/esm2020/lib/auth/login/login.email.component.mjs +23 -0
  17. package/esm2020/lib/auth/login/login.email.content.component.mjs +105 -0
  18. package/esm2020/lib/auth/login/login.email.form.component.mjs +35 -0
  19. package/esm2020/lib/auth/login/login.email.recovery.form.component.mjs +21 -0
  20. package/esm2020/lib/auth/login/login.facebook.component.mjs +22 -0
  21. package/esm2020/lib/auth/login/login.github.component.mjs +22 -0
  22. package/esm2020/lib/auth/login/login.google.component.mjs +22 -0
  23. package/esm2020/lib/auth/login/login.list.component.mjs +87 -0
  24. package/esm2020/lib/auth/login/login.microsoft.component.mjs +22 -0
  25. package/esm2020/lib/auth/login/login.mjs +3 -0
  26. package/esm2020/lib/auth/login/login.password.mjs +4 -0
  27. package/esm2020/lib/auth/login/login.service.mjs +134 -0
  28. package/esm2020/lib/auth/login/login.terms.component.mjs +26 -0
  29. package/esm2020/lib/auth/login/login.terms.mjs +3 -0
  30. package/esm2020/lib/auth/login/login.terms.simple.component.mjs +39 -0
  31. package/esm2020/lib/auth/login/login.twitter.component.mjs +22 -0
  32. package/esm2020/lib/auth/login/register.component.mjs +24 -0
  33. package/esm2020/lib/auth/login/register.email.component.mjs +21 -0
  34. package/esm2020/lib/auth/service/firebase.auth.rxjs.mjs +39 -0
  35. package/esm2020/lib/auth/service/firebase.auth.service.mjs +99 -0
  36. package/esm2020/lib/auth/service/index.mjs +3 -0
  37. package/esm2020/lib/firebase/emulators.mjs +3 -0
  38. package/esm2020/lib/firebase/firebase.emulator.module.mjs +36 -0
  39. package/esm2020/lib/firebase/firebase.module.mjs +188 -0
  40. package/esm2020/lib/firebase/index.mjs +5 -0
  41. package/esm2020/lib/firebase/options.mjs +2 -0
  42. package/esm2020/lib/firestore/firebase.firestore.context.service.mjs +23 -0
  43. package/esm2020/lib/firestore/firebase.firestore.mjs +6 -0
  44. package/esm2020/lib/firestore/firebase.firestore.module.mjs +31 -0
  45. package/esm2020/lib/firestore/index.mjs +4 -0
  46. package/esm2020/lib/function/firebase.function.module.mjs +47 -0
  47. package/esm2020/lib/function/index.mjs +2 -0
  48. package/esm2020/lib/index.mjs +7 -2
  49. package/esm2020/lib/model/error.mjs +6 -0
  50. package/esm2020/lib/model/index.mjs +5 -0
  51. package/esm2020/lib/model/loader/collection.loader.instance.mjs +101 -0
  52. package/esm2020/lib/model/loader/collection.loader.mjs +2 -0
  53. package/esm2020/lib/model/loader/index.mjs +3 -0
  54. package/esm2020/lib/model/model.module.mjs +17 -0
  55. package/esm2020/lib/model/store/index.mjs +14 -0
  56. package/esm2020/lib/model/store/model.store.module.mjs +41 -0
  57. package/esm2020/lib/model/store/store.collection.change.directive.mjs +54 -0
  58. package/esm2020/lib/model/store/store.collection.change.if.directive.mjs +57 -0
  59. package/esm2020/lib/model/store/store.collection.directive.mjs +52 -0
  60. package/esm2020/lib/model/store/store.collection.list.directive.mjs +27 -0
  61. package/esm2020/lib/model/store/store.collection.mjs +50 -0
  62. package/esm2020/lib/model/store/store.document.auth.directive.mjs +33 -0
  63. package/esm2020/lib/model/store/store.document.directive.mjs +46 -0
  64. package/esm2020/lib/model/store/store.document.mjs +81 -0
  65. package/esm2020/lib/model/store/store.document.router.directive.mjs +53 -0
  66. package/esm2020/lib/model/store/store.subcollection.document.mjs +37 -0
  67. package/esm2020/lib/model/store/store.subcollection.mjs +37 -0
  68. package/esm2020/lib/model/store/store.subcollection.rxjs.mjs +42 -0
  69. package/esm2020/lib/module.mjs +17 -0
  70. package/fesm2015/dereekb-dbx-firebase.mjs +2266 -2
  71. package/fesm2015/dereekb-dbx-firebase.mjs.map +1 -1
  72. package/fesm2020/dereekb-dbx-firebase.mjs +2247 -2
  73. package/fesm2020/dereekb-dbx-firebase.mjs.map +1 -1
  74. package/lib/auth/auth.d.ts +4 -0
  75. package/lib/auth/error.d.ts +9 -0
  76. package/lib/auth/firebase.auth.module.d.ts +12 -0
  77. package/lib/auth/index.d.ts +5 -0
  78. package/lib/auth/login/_login.scss +72 -0
  79. package/lib/auth/login/firebase.login.module.d.ts +48 -0
  80. package/lib/auth/login/index.d.ts +25 -0
  81. package/lib/auth/login/login.anonymous.component.d.ts +8 -0
  82. package/lib/auth/login/login.apple.component.d.ts +8 -0
  83. package/lib/auth/login/login.button.component.d.ts +51 -0
  84. package/lib/auth/login/login.component.d.ts +14 -0
  85. package/lib/auth/login/login.context.back.component.d.ts +9 -0
  86. package/lib/auth/login/login.context.d.ts +6 -0
  87. package/lib/auth/login/login.context.directive.d.ts +10 -0
  88. package/lib/auth/login/login.d.ts +7 -0
  89. package/lib/auth/login/login.email.component.d.ts +8 -0
  90. package/lib/auth/login/login.email.content.component.d.ts +39 -0
  91. package/lib/auth/login/login.email.form.component.d.ts +21 -0
  92. package/lib/auth/login/login.email.recovery.form.component.d.ts +11 -0
  93. package/lib/auth/login/login.facebook.component.d.ts +8 -0
  94. package/lib/auth/login/login.github.component.d.ts +8 -0
  95. package/lib/auth/login/login.google.component.d.ts +8 -0
  96. package/lib/auth/login/login.list.component.d.ts +28 -0
  97. package/lib/auth/login/login.microsoft.component.d.ts +8 -0
  98. package/lib/auth/login/login.password.d.ts +4 -0
  99. package/lib/auth/login/login.service.d.ts +115 -0
  100. package/lib/auth/login/login.terms.component.d.ts +10 -0
  101. package/lib/auth/login/login.terms.d.ts +4 -0
  102. package/lib/auth/login/login.terms.simple.component.d.ts +11 -0
  103. package/lib/auth/login/login.twitter.component.d.ts +8 -0
  104. package/lib/auth/login/register.component.d.ts +13 -0
  105. package/lib/auth/login/register.email.component.d.ts +8 -0
  106. package/lib/auth/service/firebase.auth.rxjs.d.ts +21 -0
  107. package/lib/auth/service/firebase.auth.service.d.ts +49 -0
  108. package/lib/auth/service/index.d.ts +2 -0
  109. package/lib/firebase/emulators.d.ts +52 -0
  110. package/lib/firebase/firebase.emulator.module.d.ts +12 -0
  111. package/lib/firebase/firebase.module.d.ts +50 -0
  112. package/lib/firebase/index.d.ts +4 -0
  113. package/lib/firebase/options.d.ts +6 -0
  114. package/lib/firestore/firebase.firestore.context.service.d.ts +11 -0
  115. package/lib/firestore/firebase.firestore.d.ts +5 -0
  116. package/lib/firestore/firebase.firestore.module.d.ts +17 -0
  117. package/lib/firestore/index.d.ts +3 -0
  118. package/lib/function/firebase.function.module.d.ts +24 -0
  119. package/lib/function/index.d.ts +1 -0
  120. package/lib/index.d.ts +6 -1
  121. package/lib/model/error.d.ts +5 -0
  122. package/lib/model/index.d.ts +4 -0
  123. package/lib/model/loader/collection.loader.d.ts +38 -0
  124. package/lib/model/loader/collection.loader.instance.d.ts +52 -0
  125. package/lib/model/loader/index.d.ts +2 -0
  126. package/lib/model/model.module.d.ts +7 -0
  127. package/lib/model/store/index.d.ts +13 -0
  128. package/lib/model/store/model.store.module.d.ts +11 -0
  129. package/lib/model/store/store.collection.change.directive.d.ts +30 -0
  130. package/lib/model/store/store.collection.change.if.directive.d.ts +24 -0
  131. package/lib/model/store/store.collection.d.ts +47 -0
  132. package/lib/model/store/store.collection.directive.d.ts +30 -0
  133. package/lib/model/store/store.collection.list.directive.d.ts +13 -0
  134. package/lib/model/store/store.document.auth.directive.d.ts +19 -0
  135. package/lib/model/store/store.document.d.ts +69 -0
  136. package/lib/model/store/store.document.directive.d.ts +34 -0
  137. package/lib/model/store/store.document.router.directive.d.ts +25 -0
  138. package/lib/model/store/store.subcollection.d.ts +31 -0
  139. package/lib/model/store/store.subcollection.document.d.ts +31 -0
  140. package/lib/model/store/store.subcollection.rxjs.d.ts +23 -0
  141. package/lib/module.d.ts +7 -0
  142. package/lib/style/_all-core.scss +6 -0
  143. package/lib/style/_all-theme.scss +6 -0
  144. package/lib/style/_all-typography.scss +6 -0
  145. package/lib/style/_config.scss +20 -0
  146. package/lib/style/_core.scss +9 -0
  147. package/lib/style/_mixin.scss +3 -0
  148. package/lib/style/_theming.scss +19 -0
  149. package/lib/style/_variables.scss +1 -0
  150. package/package.json +22 -13
@@ -0,0 +1,99 @@
1
+ import { filterMaybe, isNot } from '@dereekb/rxjs';
2
+ import { Injectable, Optional } from "@angular/core";
3
+ import { loggedOutObsFromIsLoggedIn, loggedInObsFromIsLoggedIn, authUserIdentifier } from "@dereekb/dbx-core";
4
+ import { Auth, authState, GoogleAuthProvider, signInWithPopup, signInAnonymously, signInWithEmailAndPassword, FacebookAuthProvider, GithubAuthProvider, TwitterAuthProvider, createUserWithEmailAndPassword } from '@angular/fire/auth';
5
+ import { timeout, startWith, distinctUntilChanged, shareReplay, map, switchMap } from "rxjs";
6
+ import { authUserStateFromFirebaseAuthService } from './firebase.auth.rxjs';
7
+ import { authUserInfoFromAuthUser } from '../auth';
8
+ import { sendPasswordResetEmail } from 'firebase/auth';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/fire/auth";
11
+ export class DbxFirebaseAuthServiceDelegate {
12
+ }
13
+ export const DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE = {
14
+ authUserStateObs(dbxFirebaseAuthService) {
15
+ return authUserStateFromFirebaseAuthService(dbxFirebaseAuthService);
16
+ },
17
+ authRolesObs(dbxFirebaseAuthService) {
18
+ return dbxFirebaseAuthService.authUserState$.pipe(map(x => x === 'user' ? new Set(['user']) : new Set()));
19
+ },
20
+ isOnboarded(dbxFirebaseAuthService) {
21
+ return dbxFirebaseAuthService.authUserState$.pipe(map(x => x === 'user'));
22
+ }
23
+ };
24
+ export class DbxFirebaseAuthService {
25
+ constructor(firebaseAuth, delegate) {
26
+ this.firebaseAuth = firebaseAuth;
27
+ this._authState$ = authState(this.firebaseAuth);
28
+ this.currentAuthUser$ = this._authState$.pipe(timeout({
29
+ first: 1000,
30
+ with: () => this._authState$.pipe(startWith(null))
31
+ }), distinctUntilChanged(), shareReplay(1));
32
+ this.currentAuthUserInfo$ = this.currentAuthUser$.pipe(map((x) => (x) ? authUserInfoFromAuthUser(x) : undefined));
33
+ this.authUser$ = this.currentAuthUser$.pipe(filterMaybe());
34
+ this.authUserInfo$ = this.authUser$.pipe(map(authUserInfoFromAuthUser));
35
+ this.hasAuthUser$ = this.currentAuthUser$.pipe(map(x => Boolean(x)), distinctUntilChanged(), shareReplay(1));
36
+ this.isAnonymousUser$ = this.authUser$.pipe(map(x => x.isAnonymous), distinctUntilChanged(), shareReplay(1));
37
+ this.isNotAnonymousUser$ = this.isAnonymousUser$.pipe(isNot());
38
+ this.isLoggedIn$ = this.hasAuthUser$;
39
+ this.isNotLoggedIn$ = this.isLoggedIn$.pipe(isNot());
40
+ this.onLogIn$ = loggedInObsFromIsLoggedIn(this.isLoggedIn$);
41
+ this.onLogOut$ = loggedOutObsFromIsLoggedIn(this.isLoggedIn$);
42
+ this.userIdentifier$ = this.currentAuthUser$.pipe(map(x => authUserIdentifier(x?.uid)));
43
+ this.idTokenResult$ = this.authUser$.pipe(switchMap(x => x.getIdTokenResult()));
44
+ this.claims$ = this.idTokenResult$.pipe(map(x => x.claims));
45
+ delegate = delegate ?? DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE;
46
+ this.authUserState$ = delegate.authUserStateObs(this).pipe(distinctUntilChanged(), shareReplay(1));
47
+ this.authRoles$ = delegate.authRolesObs(this);
48
+ this.isOnboarded$ = delegate.isOnboarded(this);
49
+ }
50
+ logInWithGoogle() {
51
+ return this.logInWithPopup(new GoogleAuthProvider());
52
+ }
53
+ logInWithFacebook() {
54
+ return this.logInWithPopup(new FacebookAuthProvider());
55
+ }
56
+ logInWithTwitter() {
57
+ return this.logInWithPopup(new TwitterAuthProvider());
58
+ }
59
+ logInWithGithub() {
60
+ return this.logInWithPopup(new GithubAuthProvider());
61
+ }
62
+ logInWithApple() {
63
+ throw new Error('todo');
64
+ }
65
+ logInWithMicrosoft() {
66
+ // return this.logInWithPopup(new MicrosoftAuthProvider());
67
+ throw new Error('todo');
68
+ }
69
+ logInWithPhone() {
70
+ throw new Error('todo');
71
+ // return signInWithPhoneNumber(this.firebaseAuth, )
72
+ }
73
+ logInWithPopup(provider, resolver) {
74
+ return signInWithPopup(this.firebaseAuth, provider, resolver);
75
+ }
76
+ registerWithEmailAndPassword(email, password) {
77
+ return createUserWithEmailAndPassword(this.firebaseAuth, email, password);
78
+ }
79
+ sendPasswordResetEmail(email) {
80
+ return sendPasswordResetEmail(this.firebaseAuth, email);
81
+ }
82
+ logInWithEmailAndPassword(email, password) {
83
+ return signInWithEmailAndPassword(this.firebaseAuth, email, password);
84
+ }
85
+ logInAsAnonymous() {
86
+ return signInAnonymously(this.firebaseAuth);
87
+ }
88
+ logOut() {
89
+ return this.firebaseAuth.signOut();
90
+ }
91
+ }
92
+ DbxFirebaseAuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseAuthService, deps: [{ token: i1.Auth }, { token: DbxFirebaseAuthServiceDelegate, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
93
+ DbxFirebaseAuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseAuthService });
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseAuthService, decorators: [{
95
+ type: Injectable
96
+ }], ctorParameters: function () { return [{ type: i1.Auth }, { type: DbxFirebaseAuthServiceDelegate, decorators: [{
97
+ type: Optional
98
+ }] }]; } });
99
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuYXV0aC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvYXV0aC9zZXJ2aWNlL2ZpcmViYXNlLmF1dGguc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQWlDLDBCQUEwQixFQUFFLHlCQUF5QixFQUFzQixrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pLLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFvQyxrQkFBa0IsRUFBRSxlQUFlLEVBQXVDLGlCQUFpQixFQUFFLDBCQUEwQixFQUFrQixvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQy9ULE9BQU8sRUFBYyxPQUFPLEVBQUUsU0FBUyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXpHLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzVFLE9BQU8sRUFBZ0Isd0JBQXdCLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDakUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFFdkQsTUFBTSxPQUFnQiw4QkFBOEI7Q0FJbkQ7QUFFRCxNQUFNLENBQUMsTUFBTSwwQ0FBMEMsR0FBbUM7SUFDeEYsZ0JBQWdCLENBQUMsc0JBQThDO1FBQzdELE9BQU8sb0NBQW9DLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBQ0QsWUFBWSxDQUFDLHNCQUE4QztR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MUIsQ0FBQztJQUVELGNBQWM7UUFDWixNQUFNLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hCLG9EQUFvRDtJQUN0RCxDQUFDO0lBRUQsY0FBYyxDQUFDLFFBQXNCLEVBQUUsUUFBZ0M7UUFDckUsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELDRCQUE0QixDQUFDLEtBQWEsRUFBRSxRQUFnQjtRQUMxRCxPQUFPLDhCQUE4QixDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxzQkFBc0IsQ0FBQyxLQUFhO1FBQ2xDLE9BQU8sc0JBQXNCLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQseUJBQXlCLENBQUMsS0FBYSxFQUFFLFFBQWdCO1FBQ3ZELE9BQU8sMEJBQTBCLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDeEUsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3JDLENBQUM7O21IQXJHVSxzQkFBc0Isc0NBeUNULDhCQUE4Qjt1SEF6QzNDLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQURsQyxVQUFVOzZFQTBDZSw4QkFBOEI7MEJBQW5ELFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaWx0ZXJNYXliZSwgaXNOb3QgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IEluamVjdGFibGUsIE9wdGlvbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEF1dGhVc2VyU3RhdGUsIERieEF1dGhTZXJ2aWNlLCBsb2dnZWRPdXRPYnNGcm9tSXNMb2dnZWRJbiwgbG9nZ2VkSW5PYnNGcm9tSXNMb2dnZWRJbiwgQXV0aFVzZXJJZGVudGlmaWVyLCBhdXRoVXNlcklkZW50aWZpZXIgfSBmcm9tIFwiQGRlcmVla2IvZGJ4LWNvcmVcIjtcbmltcG9ydCB7IEF1dGgsIGF1dGhTdGF0ZSwgVXNlciwgSWRUb2tlblJlc3VsdCwgUGFyc2VkVG9rZW4sIEdvb2dsZUF1dGhQcm92aWRlciwgc2lnbkluV2l0aFBvcHVwLCBBdXRoUHJvdmlkZXIsIFBvcHVwUmVkaXJlY3RSZXNvbHZlciwgc2lnbkluQW5vbnltb3VzbHksIHNpZ25JbldpdGhFbWFpbEFuZFBhc3N3b3JkLCBVc2VyQ3JlZGVudGlhbCwgRmFjZWJvb2tBdXRoUHJvdmlkZXIsIEdpdGh1YkF1dGhQcm92aWRlciwgVHdpdHRlckF1dGhQcm92aWRlciwgY3JlYXRlVXNlcldpdGhFbWFpbEFuZFBhc3N3b3JkIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hdXRoJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRpbWVvdXQsIHN0YXJ0V2l0aCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHNoYXJlUmVwbGF5LCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBBdXRoUm9sZVNldCwgTWF5YmUgfSBmcm9tIFwiQGRlcmVla2IvdXRpbFwiO1xuaW1wb3J0IHsgYXV0aFVzZXJTdGF0ZUZyb21GaXJlYmFzZUF1dGhTZXJ2aWNlIH0gZnJvbSAnLi9maXJlYmFzZS5hdXRoLnJ4anMnO1xuaW1wb3J0IHsgQXV0aFVzZXJJbmZvLCBhdXRoVXNlckluZm9Gcm9tQXV0aFVzZXIgfSBmcm9tICcuLi9hdXRoJztcbmltcG9ydCB7IHNlbmRQYXNzd29yZFJlc2V0RW1haWwgfSBmcm9tICdmaXJlYmFzZS9hdXRoJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERieEZpcmViYXNlQXV0aFNlcnZpY2VEZWxlZ2F0ZSB7XG4gIGFic3RyYWN0IGF1dGhVc2VyU3RhdGVPYnMoZGJ4RmlyZWJhc2VBdXRoU2VydmljZTogRGJ4RmlyZWJhc2VBdXRoU2VydmljZSk6IE9ic2VydmFibGU8QXV0aFVzZXJTdGF0ZT47XG4gIGFic3RyYWN0IGF1dGhSb2xlc09icyhkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlOiBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlKTogT2JzZXJ2YWJsZTxBdXRoUm9sZVNldD47XG4gIGFic3RyYWN0IGlzT25ib2FyZGVkKGRieEZpcmViYXNlQXV0aFNlcnZpY2U6IERieEZpcmViYXNlQXV0aFNlcnZpY2UpOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xufVxuXG5leHBvcnQgY29uc3QgREVGQVVMVF9EQlhfRklSRUJBU0VfQVVUSF9TRVJWSUNFX0RFTEVHQVRFOiBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlRGVsZWdhdGUgPSB7XG4gIGF1dGhVc2VyU3RhdGVPYnMoZGJ4RmlyZWJhc2VBdXRoU2VydmljZTogRGJ4RmlyZWJhc2VBdXRoU2VydmljZSk6IE9ic2VydmFibGU8QXV0aFVzZXJTdGF0ZT4ge1xuICAgIHJldHVybiBhdXRoVXNlclN0YXRlRnJvbUZpcmViYXNlQXV0aFNlcnZpY2UoZGJ4RmlyZWJhc2VBdXRoU2VydmljZSk7XG4gIH0sXG4gIGF1dGhSb2xlc09icyhkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlOiBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlKTogT2JzZXJ2YWJsZTxBdXRoUm9sZVNldD4ge1xuICAgIHJldHVybiBkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlLmF1dGhVc2VyU3RhdGUkLnBpcGUobWFwKHggPT4geCA9PT0gJ3VzZXInID8gbmV3IFNldChbJ3VzZXInXSkgOiBuZXcgU2V0KCkpKTtcbiAgfSxcbiAgaXNPbmJvYXJkZWQoZGJ4RmlyZWJhc2VBdXRoU2VydmljZTogRGJ4RmlyZWJhc2VBdXRoU2VydmljZSk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiBkYnhGaXJlYmFzZUF1dGhTZXJ2aWNlLmF1dGhVc2VyU3RhdGUkLnBpcGUobWFwKHggPT4geCA9PT0gJ3VzZXInKSk7XG4gIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlQXV0aFNlcnZpY2UgaW1wbGVtZW50cyBEYnhBdXRoU2VydmljZSB7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfYXV0aFN0YXRlJDogT2JzZXJ2YWJsZTxNYXliZTxVc2VyPj4gPSBhdXRoU3RhdGUodGhpcy5maXJlYmFzZUF1dGgpO1xuXG4gIHJlYWRvbmx5IGN1cnJlbnRBdXRoVXNlciQ6IE9ic2VydmFibGU8TWF5YmU8VXNlcj4+ID0gdGhpcy5fYXV0aFN0YXRlJC5waXBlKFxuICAgIHRpbWVvdXQoe1xuICAgICAgZmlyc3Q6IDEwMDAsXG4gICAgICB3aXRoOiAoKSA9PiB0aGlzLl9hdXRoU3RhdGUkLnBpcGUoc3RhcnRXaXRoKG51bGwpKVxuICAgIH0pLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBjdXJyZW50QXV0aFVzZXJJbmZvJDogT2JzZXJ2YWJsZTxNYXliZTxBdXRoVXNlckluZm8+PiA9IHRoaXMuY3VycmVudEF1dGhVc2VyJC5waXBlKG1hcCgoeCkgPT4gKHgpID8gYXV0aFVzZXJJbmZvRnJvbUF1dGhVc2VyKHgpIDogdW5kZWZpbmVkKSk7XG5cbiAgcmVhZG9ubHkgYXV0aFVzZXIkOiBPYnNlcnZhYmxlPFVzZXI+ID0gdGhpcy5jdXJyZW50QXV0aFVzZXIkLnBpcGUoZmlsdGVyTWF5YmUoKSk7XG4gIHJlYWRvbmx5IGF1dGhVc2VySW5mbyQ6IE9ic2VydmFibGU8QXV0aFVzZXJJbmZvPiA9IHRoaXMuYXV0aFVzZXIkLnBpcGUobWFwKGF1dGhVc2VySW5mb0Zyb21BdXRoVXNlcikpO1xuXG4gIHJlYWRvbmx5IGhhc0F1dGhVc2VyJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuY3VycmVudEF1dGhVc2VyJC5waXBlKG1hcCh4ID0+IEJvb2xlYW4oeCkpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSgxKSk7XG4gIHJlYWRvbmx5IGlzQW5vbnltb3VzVXNlciQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmF1dGhVc2VyJC5waXBlKG1hcCh4ID0+IHguaXNBbm9ueW1vdXMpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSgxKSk7XG4gIHJlYWRvbmx5IGlzTm90QW5vbnltb3VzVXNlciQ6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSB0aGlzLmlzQW5vbnltb3VzVXNlciQucGlwZShpc05vdCgpKTtcblxuICByZWFkb25seSBpc0xvZ2dlZEluJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMuaGFzQXV0aFVzZXIkO1xuXG4gIHJlYWRvbmx5IGlzTm90TG9nZ2VkSW4kOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5pc0xvZ2dlZEluJC5waXBlKGlzTm90KCkpO1xuICByZWFkb25seSBvbkxvZ0luJDogT2JzZXJ2YWJsZTx2b2lkPiA9IGxvZ2dlZEluT2JzRnJvbUlzTG9nZ2VkSW4odGhpcy5pc0xvZ2dlZEluJCk7XG4gIHJlYWRvbmx5IG9uTG9nT3V0JDogT2JzZXJ2YWJsZTx2b2lkPiA9IGxvZ2dlZE91dE9ic0Zyb21Jc0xvZ2dlZEluKHRoaXMuaXNMb2dnZWRJbiQpO1xuICByZWFkb25seSB1c2VySWRlbnRpZmllciQ6IE9ic2VydmFibGU8QXV0aFVzZXJJZGVudGlmaWVyPiA9IHRoaXMuY3VycmVudEF1dGhVc2VyJC5waXBlKG1hcCh4ID0+IGF1dGhVc2VySWRlbnRpZmllcih4Py51aWQpKSk7XG5cbiAgcmVhZG9ubHkgaWRUb2tlblJlc3VsdCQ6IE9ic2VydmFibGU8SWRUb2tlblJlc3VsdD4gPSB0aGlzLmF1dGhVc2VyJC5waXBlKFxuICAgIHN3aXRjaE1hcCh4ID0+IHguZ2V0SWRUb2tlblJlc3VsdCgpKVxuICApO1xuXG4gIHJlYWRvbmx5IGNsYWltcyQ6IE9ic2VydmFibGU8UGFyc2VkVG9rZW4+ID0gdGhpcy5pZFRva2VuUmVzdWx0JC5waXBlKG1hcCh4ID0+IHguY2xhaW1zKSk7XG5cbiAgcmVhZG9ubHkgYXV0aFVzZXJTdGF0ZSQ6IE9ic2VydmFibGU8QXV0aFVzZXJTdGF0ZT47XG4gIHJlYWRvbmx5IGF1dGhSb2xlcyQ6IE9ic2VydmFibGU8QXV0aFJvbGVTZXQ+O1xuICByZWFkb25seSBpc09uYm9hcmRlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcmVhZG9ubHkgZmlyZWJhc2VBdXRoOiBBdXRoLFxuICAgIEBPcHRpb25hbCgpIGRlbGVnYXRlOiBEYnhGaXJlYmFzZUF1dGhTZXJ2aWNlRGVsZWdhdGVcbiAgKSB7XG4gICAgZGVsZWdhdGUgPSBkZWxlZ2F0ZSA/PyBERUZBVUxUX0RCWF9GSVJFQkFTRV9BVVRIX1NFUlZJQ0VfREVMRUdBVEU7XG4gICAgdGhpcy5hdXRoVXNlclN0YXRlJCA9IGRlbGVnYXRlLmF1dGhVc2VyU3RhdGVPYnModGhpcykucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSgxKSk7XG4gICAgdGhpcy5hdXRoUm9sZXMkID0gZGVsZWdhdGUuYXV0aFJvbGVzT2JzKHRoaXMpO1xuICAgIHRoaXMuaXNPbmJvYXJkZWQkID0gZGVsZWdhdGUuaXNPbmJvYXJkZWQodGhpcyk7XG4gIH1cblxuICBsb2dJbldpdGhHb29nbGUoKTogUHJvbWlzZTxVc2VyQ3JlZGVudGlhbD4ge1xuICAgIHJldHVybiB0aGlzLmxvZ0luV2l0aFBvcHVwKG5ldyBHb29nbGVBdXRoUHJvdmlkZXIoKSk7XG4gIH1cblxuICBsb2dJbldpdGhGYWNlYm9vaygpOiBQcm9taXNlPFVzZXJDcmVkZW50aWFsPiB7XG4gICAgcmV0dXJuIHRoaXMubG9nSW5XaXRoUG9wdXAobmV3IEZhY2Vib29rQXV0aFByb3ZpZGVyKCkpO1xuICB9XG5cbiAgbG9nSW5XaXRoVHdpdHRlcigpOiBQcm9taXNlPFVzZXJDcmVkZW50aWFsPiB7XG4gICAgcmV0dXJuIHRoaXMubG9nSW5XaXRoUG9wdXAobmV3IFR3aXR0ZXJBdXRoUHJvdmlkZXIoKSk7XG4gIH1cblxuICBsb2dJbldpdGhHaXRodWIoKTogUHJvbWlzZTxVc2VyQ3JlZGVudGlhbD4ge1xuICAgIHJldHVybiB0aGlzLmxvZ0luV2l0aFBvcHVwKG5ldyBHaXRodWJBdXRoUHJvdmlkZXIoKSk7XG4gIH1cblxuICBsb2dJbldpdGhBcHBsZSgpOiBQcm9taXNlPFVzZXJDcmVkZW50aWFsPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd0b2RvJyk7XG4gIH1cblxuICBsb2dJbldpdGhNaWNyb3NvZnQoKTogUHJvbWlzZTxVc2VyQ3JlZGVudGlhbD4ge1xuICAgIC8vIHJldHVybiB0aGlzLmxvZ0luV2l0aFBvcHVwKG5ldyBNaWNyb3NvZnRBdXRoUHJvdmlkZXIoKSk7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd0b2RvJyk7XG4gIH1cblxuICBsb2dJbldpdGhQaG9uZSgpOiBQcm9taXNlPFVzZXJDcmVkZW50aWFsPiB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCd0b2RvJyk7XG4gICAgLy8gcmV0dXJuIHNpZ25JbldpdGhQaG9uZU51bWJlcih0aGlzLmZpcmViYXNlQXV0aCwgKVxuICB9XG5cbiAgbG9nSW5XaXRoUG9wdXAocHJvdmlkZXI6IEF1dGhQcm92aWRlciwgcmVzb2x2ZXI/OiBQb3B1cFJlZGlyZWN0UmVzb2x2ZXIpOiBQcm9taXNlPFVzZXJDcmVkZW50aWFsPiB7XG4gICAgcmV0dXJuIHNpZ25JbldpdGhQb3B1cCh0aGlzLmZpcmViYXNlQXV0aCwgcHJvdmlkZXIsIHJlc29sdmVyKTtcbiAgfVxuXG4gIHJlZ2lzdGVyV2l0aEVtYWlsQW5kUGFzc3dvcmQoZW1haWw6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZyk6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICByZXR1cm4gY3JlYXRlVXNlcldpdGhFbWFpbEFuZFBhc3N3b3JkKHRoaXMuZmlyZWJhc2VBdXRoLCBlbWFpbCwgcGFzc3dvcmQpO1xuICB9XG5cbiAgc2VuZFBhc3N3b3JkUmVzZXRFbWFpbChlbWFpbDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHNlbmRQYXNzd29yZFJlc2V0RW1haWwodGhpcy5maXJlYmFzZUF1dGgsIGVtYWlsKTtcbiAgfVxuXG4gIGxvZ0luV2l0aEVtYWlsQW5kUGFzc3dvcmQoZW1haWw6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZyk6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICByZXR1cm4gc2lnbkluV2l0aEVtYWlsQW5kUGFzc3dvcmQodGhpcy5maXJlYmFzZUF1dGgsIGVtYWlsLCBwYXNzd29yZCk7XG4gIH1cblxuICBsb2dJbkFzQW5vbnltb3VzKCk6IFByb21pc2U8VXNlckNyZWRlbnRpYWw+IHtcbiAgICByZXR1cm4gc2lnbkluQW5vbnltb3VzbHkodGhpcy5maXJlYmFzZUF1dGgpO1xuICB9XG5cbiAgbG9nT3V0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmZpcmViYXNlQXV0aC5zaWduT3V0KCk7XG4gIH1cblxufVxuIl19
@@ -0,0 +1,3 @@
1
+ export * from './firebase.auth.rxjs';
2
+ export * from './firebase.auth.service';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9hdXRoL3NlcnZpY2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9maXJlYmFzZS5hdXRoLnJ4anMnO1xuZXhwb3J0ICogZnJvbSAnLi9maXJlYmFzZS5hdXRoLnNlcnZpY2UnO1xuIl19
@@ -0,0 +1,3 @@
1
+ export class DbxFirebaseParsedEmulatorsConfig {
2
+ }
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW11bGF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZmlyZWJhc2UvZW11bGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStDQSxNQUFNLE9BQWdCLGdDQUFnQztDQU9yRCIsInNvdXJjZXNDb250ZW50IjpbIlxuZXhwb3J0IGludGVyZmFjZSBEYnhGaXJlYmFzZUVtdWxhdG9yQ29uZmlnIHtcbiAgLyoqXG4gICAqIFBvcnQgdG8gdGFyZ2V0LlxuICAgKi9cbiAgcG9ydDogbnVtYmVyO1xuICAvKipcbiAgICogRGVmYXVsdHMgdG8gbG9jYWxob3N0IGlmIG5vdCBwcm92aWRlZC5cbiAgICovXG4gIGhvc3Q/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VFbXVsYXRvcnNDb25maWcge1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gZW5hYmxlIHRoZSBlbXVsYXRvcnMuXG4gICAqL1xuICB1c2VFbXVsYXRvcnM/OiBib29sZWFuO1xuICAvKipcbiAgICogRGVmYXVsdCBob3N0IHRvIHRhcmdldC4gRGVmYXVsdHMgdG8gbG9jYWxob3N0IGlmIG5vdCBwcm92aWRlZC5cbiAgICovXG4gIGhvc3Q/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBlbXVsYXRvciBVSSBjb25maWd1cmF0aW9uXG4gICAqL1xuICB1aT86IERieEZpcmViYXNlRW11bGF0b3JDb25maWc7XG4gIC8qKlxuICAgKiBBdXRoIGVtdWxhdG9yIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIGF1dGg/OiBEYnhGaXJlYmFzZUVtdWxhdG9yQ29uZmlnO1xuICAvKipcbiAgICogRmlyZXN0b3JlIGVtdWxhdG9yIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIGZpcmVzdG9yZT86IERieEZpcmViYXNlRW11bGF0b3JDb25maWc7XG4gIC8qKlxuICAgKiBGaXJlc3RvcmUgZW11bGF0b3IgY29uZmlndXJhdGlvblxuICAgKi9cbiAgc3RvcmFnZT86IERieEZpcmViYXNlRW11bGF0b3JDb25maWc7XG4gIC8qKlxuICAgKiBGdW5jdGlvbnMgZW11bGF0b3IgY29uZmlndXJhdGlvblxuICAgKi9cbiAgZnVuY3Rpb25zPzogRGJ4RmlyZWJhc2VFbXVsYXRvckNvbmZpZztcbiAgLyoqXG4gICAqIERhdGFiYXNlIGVtdWxhdG9yIGNvbmZpZ3VyYXRpb25cbiAgICovXG4gIGRhdGFiYXNlPzogRGJ4RmlyZWJhc2VFbXVsYXRvckNvbmZpZztcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnIGltcGxlbWVudHMgRGJ4RmlyZWJhc2VFbXVsYXRvcnNDb25maWcge1xuICB1c2VFbXVsYXRvcnM/OiBib29sZWFuO1xuICBhdXRoPzogUmVxdWlyZWQ8RGJ4RmlyZWJhc2VFbXVsYXRvckNvbmZpZz47XG4gIGZpcmVzdG9yZT86IFJlcXVpcmVkPERieEZpcmViYXNlRW11bGF0b3JDb25maWc+O1xuICBzdG9yYWdlPzogUmVxdWlyZWQ8RGJ4RmlyZWJhc2VFbXVsYXRvckNvbmZpZz47XG4gIGZ1bmN0aW9ucz86IFJlcXVpcmVkPERieEZpcmViYXNlRW11bGF0b3JDb25maWc+O1xuICBkYXRhYmFzZT86IFJlcXVpcmVkPERieEZpcmViYXNlRW11bGF0b3JDb25maWc+O1xufVxuIl19
@@ -0,0 +1,36 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { DbxFirebaseParsedEmulatorsConfig } from './emulators';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Used to configure the DbxFirebaseEmulatorsConfig provider.
6
+ */
7
+ export class DbxFirebaseEmulatorModule {
8
+ static forRoot(config) {
9
+ const defaultHost = config.host ?? 'localhost';
10
+ function emulatorConfig(emulator) {
11
+ return (emulator) ? { host: emulator.host ?? defaultHost, port: emulator.port } : undefined;
12
+ }
13
+ const finalConfig = {
14
+ useEmulators: config.useEmulators !== false,
15
+ auth: emulatorConfig(config.auth),
16
+ firestore: emulatorConfig(config.firestore),
17
+ storage: emulatorConfig(config.storage),
18
+ functions: emulatorConfig(config.functions),
19
+ database: emulatorConfig(config.database)
20
+ };
21
+ return {
22
+ ngModule: DbxFirebaseEmulatorModule,
23
+ providers: [{
24
+ provide: DbxFirebaseParsedEmulatorsConfig,
25
+ useValue: finalConfig
26
+ }]
27
+ };
28
+ }
29
+ }
30
+ DbxFirebaseEmulatorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseEmulatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
31
+ DbxFirebaseEmulatorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseEmulatorModule });
32
+ DbxFirebaseEmulatorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseEmulatorModule });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseEmulatorModule, decorators: [{
34
+ type: NgModule
35
+ }] });
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuZW11bGF0b3IubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZmlyZWJhc2UvZmlyZWJhc2UuZW11bGF0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBeUQsZ0NBQWdDLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBR3RIOztHQUVHO0FBRUgsTUFBTSxPQUFPLHlCQUF5QjtJQUVwQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQWtDO1FBQy9DLE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxJQUFJLElBQUksV0FBVyxDQUFDO1FBRS9DLFNBQVMsY0FBYyxDQUFDLFFBQTBDO1lBQ2hFLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksSUFBSSxXQUFXLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBQzlGLENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBcUM7WUFDcEQsWUFBWSxFQUFFLE1BQU0sQ0FBQyxZQUFZLEtBQUssS0FBSztZQUMzQyxJQUFJLEVBQUUsY0FBYyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDakMsU0FBUyxFQUFFLGNBQWMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDO1lBQzNDLE9BQU8sRUFBRSxjQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUN2QyxTQUFTLEVBQUUsY0FBYyxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUM7WUFDM0MsUUFBUSxFQUFFLGNBQWMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO1NBQzFDLENBQUM7UUFFRixPQUFPO1lBQ0wsUUFBUSxFQUFFLHlCQUF5QjtZQUNuQyxTQUFTLEVBQUUsQ0FBQztvQkFDVixPQUFPLEVBQUUsZ0NBQWdDO29CQUN6QyxRQUFRLEVBQUUsV0FBVztpQkFDdEIsQ0FBQztTQUNILENBQUM7SUFDSixDQUFDOztzSEF6QlUseUJBQXlCO3VIQUF6Qix5QkFBeUI7dUhBQXpCLHlCQUF5QjsyRkFBekIseUJBQXlCO2tCQURyQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERieEZpcmViYXNlRW11bGF0b3JDb25maWcsIERieEZpcmViYXNlRW11bGF0b3JzQ29uZmlnLCBEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZyB9IGZyb20gJy4vZW11bGF0b3JzJztcbmltcG9ydCB7IE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbi8qKlxuICogVXNlZCB0byBjb25maWd1cmUgdGhlIERieEZpcmViYXNlRW11bGF0b3JzQ29uZmlnIHByb3ZpZGVyLlxuICovXG5ATmdNb2R1bGUoKVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRW11bGF0b3JNb2R1bGUge1xuXG4gIHN0YXRpYyBmb3JSb290KGNvbmZpZzogRGJ4RmlyZWJhc2VFbXVsYXRvcnNDb25maWcpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPERieEZpcmViYXNlRW11bGF0b3JNb2R1bGU+IHtcbiAgICBjb25zdCBkZWZhdWx0SG9zdCA9IGNvbmZpZy5ob3N0ID8/ICdsb2NhbGhvc3QnO1xuXG4gICAgZnVuY3Rpb24gZW11bGF0b3JDb25maWcoZW11bGF0b3I6IE1heWJlPERieEZpcmViYXNlRW11bGF0b3JDb25maWc+KTogUmVxdWlyZWQ8RGJ4RmlyZWJhc2VFbXVsYXRvckNvbmZpZz4gfCB1bmRlZmluZWQge1xuICAgICAgcmV0dXJuIChlbXVsYXRvcikgPyB7IGhvc3Q6IGVtdWxhdG9yLmhvc3QgPz8gZGVmYXVsdEhvc3QsIHBvcnQ6IGVtdWxhdG9yLnBvcnQgfSA6IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBjb25zdCBmaW5hbENvbmZpZzogRGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWcgPSB7XG4gICAgICB1c2VFbXVsYXRvcnM6IGNvbmZpZy51c2VFbXVsYXRvcnMgIT09IGZhbHNlLFxuICAgICAgYXV0aDogZW11bGF0b3JDb25maWcoY29uZmlnLmF1dGgpLFxuICAgICAgZmlyZXN0b3JlOiBlbXVsYXRvckNvbmZpZyhjb25maWcuZmlyZXN0b3JlKSxcbiAgICAgIHN0b3JhZ2U6IGVtdWxhdG9yQ29uZmlnKGNvbmZpZy5zdG9yYWdlKSxcbiAgICAgIGZ1bmN0aW9uczogZW11bGF0b3JDb25maWcoY29uZmlnLmZ1bmN0aW9ucyksXG4gICAgICBkYXRhYmFzZTogZW11bGF0b3JDb25maWcoY29uZmlnLmRhdGFiYXNlKVxuICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IERieEZpcmViYXNlRW11bGF0b3JNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFt7XG4gICAgICAgIHByb3ZpZGU6IERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnLFxuICAgICAgICB1c2VWYWx1ZTogZmluYWxDb25maWdcbiAgICAgIH1dXG4gICAgfTtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,188 @@
1
+ import { NgModule, InjectionToken } from '@angular/core';
2
+ import { initializeApp } from 'firebase/app';
3
+ import { provideFirebaseApp } from '@angular/fire/app';
4
+ import { provideStorage, getStorage, connectStorageEmulator } from '@angular/fire/storage';
5
+ import { provideFunctions, getFunctions, connectFunctionsEmulator } from '@angular/fire/functions';
6
+ import { provideFirestore, getFirestore, connectFirestoreEmulator, enableIndexedDbPersistence } from '@angular/fire/firestore';
7
+ import { provideAuth, getAuth, connectAuthEmulator } from '@angular/fire/auth';
8
+ import { DbxFirebaseParsedEmulatorsConfig } from './emulators';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/fire/firestore";
11
+ import * as i2 from "@angular/fire/auth";
12
+ import * as i3 from "@angular/fire/storage";
13
+ import * as i4 from "@angular/fire/functions";
14
+ import * as i5 from "@angular/fire/app";
15
+ // TODO: remove "as any" typescript casting - https://github.com/angular/angularfire/issues/3086
16
+ /**
17
+ * Default firebase firestore provider module.
18
+ */
19
+ export class DbxFirebaseDefaultFirestoreProviderModule {
20
+ }
21
+ DbxFirebaseDefaultFirestoreProviderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
22
+ DbxFirebaseDefaultFirestoreProviderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, imports: [i1.FirestoreModule] });
23
+ DbxFirebaseDefaultFirestoreProviderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, imports: [[
24
+ provideFirestore(((injector) => {
25
+ const firestore = getFirestore();
26
+ const emulators = injector.get(DbxFirebaseParsedEmulatorsConfig, undefined);
27
+ if (emulators?.useEmulators && emulators?.firestore) {
28
+ connectFirestoreEmulator(firestore, emulators.firestore.host, emulators.firestore.port, {});
29
+ }
30
+ enableIndexedDbPersistence(firestore);
31
+ return firestore;
32
+ }))
33
+ ]] });
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, decorators: [{
35
+ type: NgModule,
36
+ args: [{
37
+ imports: [
38
+ provideFirestore(((injector) => {
39
+ const firestore = getFirestore();
40
+ const emulators = injector.get(DbxFirebaseParsedEmulatorsConfig, undefined);
41
+ if (emulators?.useEmulators && emulators?.firestore) {
42
+ connectFirestoreEmulator(firestore, emulators.firestore.host, emulators.firestore.port, {});
43
+ }
44
+ enableIndexedDbPersistence(firestore);
45
+ return firestore;
46
+ }))
47
+ ]
48
+ }]
49
+ }] });
50
+ /**
51
+ * Default firebase auth provider module.
52
+ */
53
+ export class DbxFirebaseDefaultAuthProviderModule {
54
+ }
55
+ DbxFirebaseDefaultAuthProviderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultAuthProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
56
+ DbxFirebaseDefaultAuthProviderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultAuthProviderModule, imports: [i2.AuthModule] });
57
+ DbxFirebaseDefaultAuthProviderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultAuthProviderModule, imports: [[
58
+ provideAuth(((injector) => {
59
+ const auth = getAuth();
60
+ const emulators = injector.get(DbxFirebaseParsedEmulatorsConfig, undefined);
61
+ if (emulators?.useEmulators && emulators?.auth) {
62
+ connectAuthEmulator(auth, `http://${emulators.auth.host}:${emulators.auth.port}`);
63
+ }
64
+ return auth;
65
+ }))
66
+ ]] });
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultAuthProviderModule, decorators: [{
68
+ type: NgModule,
69
+ args: [{
70
+ imports: [
71
+ provideAuth(((injector) => {
72
+ const auth = getAuth();
73
+ const emulators = injector.get(DbxFirebaseParsedEmulatorsConfig, undefined);
74
+ if (emulators?.useEmulators && emulators?.auth) {
75
+ connectAuthEmulator(auth, `http://${emulators.auth.host}:${emulators.auth.port}`);
76
+ }
77
+ return auth;
78
+ }))
79
+ ]
80
+ }]
81
+ }] });
82
+ /**
83
+ * Default firebase storage provider module.
84
+ */
85
+ export class DbxFirebaseDefaultStorageProviderModule {
86
+ }
87
+ DbxFirebaseDefaultStorageProviderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultStorageProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
88
+ DbxFirebaseDefaultStorageProviderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultStorageProviderModule, imports: [i3.StorageModule] });
89
+ DbxFirebaseDefaultStorageProviderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultStorageProviderModule, imports: [[
90
+ provideStorage(((injector) => {
91
+ const storage = getStorage();
92
+ const emulators = injector.get(DbxFirebaseParsedEmulatorsConfig, undefined);
93
+ if (emulators?.useEmulators && emulators?.storage) {
94
+ connectStorageEmulator(storage, emulators.storage.host, emulators.storage.port, {});
95
+ }
96
+ return storage;
97
+ }))
98
+ ]] });
99
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultStorageProviderModule, decorators: [{
100
+ type: NgModule,
101
+ args: [{
102
+ imports: [
103
+ provideStorage(((injector) => {
104
+ const storage = getStorage();
105
+ const emulators = injector.get(DbxFirebaseParsedEmulatorsConfig, undefined);
106
+ if (emulators?.useEmulators && emulators?.storage) {
107
+ connectStorageEmulator(storage, emulators.storage.host, emulators.storage.port, {});
108
+ }
109
+ return storage;
110
+ }))
111
+ ]
112
+ }]
113
+ }] });
114
+ /**
115
+ * Default firebase functions provider module.
116
+ */
117
+ export class DbxFirebaseDefaultFunctionsProviderModule {
118
+ }
119
+ DbxFirebaseDefaultFunctionsProviderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
120
+ DbxFirebaseDefaultFunctionsProviderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, imports: [i4.FunctionsModule] });
121
+ DbxFirebaseDefaultFunctionsProviderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, imports: [[
122
+ provideFunctions(((injector) => {
123
+ const functions = getFunctions();
124
+ const emulators = injector.get(DbxFirebaseParsedEmulatorsConfig, undefined);
125
+ if (emulators?.useEmulators && emulators?.functions) {
126
+ connectFunctionsEmulator(functions, emulators.functions.host, emulators.functions.port);
127
+ }
128
+ return functions;
129
+ }))
130
+ ]] });
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, decorators: [{
132
+ type: NgModule,
133
+ args: [{
134
+ imports: [
135
+ provideFunctions(((injector) => {
136
+ const functions = getFunctions();
137
+ const emulators = injector.get(DbxFirebaseParsedEmulatorsConfig, undefined);
138
+ if (emulators?.useEmulators && emulators?.functions) {
139
+ connectFunctionsEmulator(functions, emulators.functions.host, emulators.functions.port);
140
+ }
141
+ return functions;
142
+ }))
143
+ ]
144
+ }]
145
+ }] });
146
+ export const DBX_FIREBASE_OPTIONS_TOKEN = new InjectionToken('DbxFirebaseOptions');
147
+ /**
148
+ * Default provider module.
149
+ */
150
+ export class DbxFirebaseDefaultFirebaseProvidersModule {
151
+ static forRoot(firebaseOptions) {
152
+ return {
153
+ ngModule: DbxFirebaseDefaultFirebaseProvidersModule,
154
+ providers: [{
155
+ provide: DBX_FIREBASE_OPTIONS_TOKEN,
156
+ useValue: firebaseOptions
157
+ }]
158
+ };
159
+ }
160
+ }
161
+ DbxFirebaseDefaultFirebaseProvidersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultFirebaseProvidersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
162
+ DbxFirebaseDefaultFirebaseProvidersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultFirebaseProvidersModule, imports: [DbxFirebaseDefaultFirestoreProviderModule, DbxFirebaseDefaultAuthProviderModule, DbxFirebaseDefaultStorageProviderModule, DbxFirebaseDefaultFunctionsProviderModule, i5.FirebaseAppModule] });
163
+ DbxFirebaseDefaultFirebaseProvidersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultFirebaseProvidersModule, imports: [[
164
+ DbxFirebaseDefaultFirestoreProviderModule,
165
+ DbxFirebaseDefaultAuthProviderModule,
166
+ DbxFirebaseDefaultStorageProviderModule,
167
+ DbxFirebaseDefaultFunctionsProviderModule,
168
+ provideFirebaseApp(((injector) => {
169
+ const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
170
+ return initializeApp(firebaseOptions);
171
+ }))
172
+ ]] });
173
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultFirebaseProvidersModule, decorators: [{
174
+ type: NgModule,
175
+ args: [{
176
+ imports: [
177
+ DbxFirebaseDefaultFirestoreProviderModule,
178
+ DbxFirebaseDefaultAuthProviderModule,
179
+ DbxFirebaseDefaultStorageProviderModule,
180
+ DbxFirebaseDefaultFunctionsProviderModule,
181
+ provideFirebaseApp(((injector) => {
182
+ const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
183
+ return initializeApp(firebaseOptions);
184
+ }))
185
+ ]
186
+ }]
187
+ }] });
188
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZmlyZWJhc2UvZmlyZWJhc2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFZLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQW1CLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLHdCQUF3QixFQUFFLDBCQUEwQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0gsT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxhQUFhLENBQUM7Ozs7Ozs7QUFFL0QsZ0dBQWdHO0FBRWhHOztHQUVHO0FBaUJILE1BQU0sT0FBTyx5Q0FBeUM7O3NJQUF6Qyx5Q0FBeUM7dUlBQXpDLHlDQUF5Qzt1SUFBekMseUNBQXlDLFlBZjNDO1lBQ1AsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLFFBQWtCLEVBQUUsRUFBRTtnQkFDdkMsTUFBTSxTQUFTLEdBQUcsWUFBWSxFQUFFLENBQUM7Z0JBQ2pDLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQW1DLGdDQUFnQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUU5RyxJQUFJLFNBQVMsRUFBRSxZQUFZLElBQUksU0FBUyxFQUFFLFNBQVMsRUFBRTtvQkFDbkQsd0JBQXdCLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSyxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2lCQUM5RjtnQkFFRCwwQkFBMEIsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFFdEMsT0FBTyxTQUFTLENBQUM7WUFDbkIsQ0FBQyxDQUFRLENBQUM7U0FDWDsyRkFFVSx5Q0FBeUM7a0JBaEJyRCxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsUUFBa0IsRUFBRSxFQUFFOzRCQUN2QyxNQUFNLFNBQVMsR0FBRyxZQUFZLEVBQUUsQ0FBQzs0QkFDakMsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBbUMsZ0NBQWdDLEVBQUUsU0FBUyxDQUFDLENBQUM7NEJBRTlHLElBQUksU0FBUyxFQUFFLFlBQVksSUFBSSxTQUFTLEVBQUUsU0FBUyxFQUFFO2dDQUNuRCx3QkFBd0IsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFLLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7NkJBQzlGOzRCQUVELDBCQUEwQixDQUFDLFNBQVMsQ0FBQyxDQUFDOzRCQUV0QyxPQUFPLFNBQVMsQ0FBQzt3QkFDbkIsQ0FBQyxDQUFRLENBQUM7cUJBQ1g7aUJBQ0Y7O0FBR0Q7O0dBRUc7QUFlSCxNQUFNLE9BQU8sb0NBQW9DOztpSUFBcEMsb0NBQW9DO2tJQUFwQyxvQ0FBb0M7a0lBQXBDLG9DQUFvQyxZQWJ0QztZQUNQLFdBQVcsQ0FBQyxDQUFDLENBQUMsUUFBa0IsRUFBRSxFQUFFO2dCQUNsQyxNQUFNLElBQUksR0FBRyxPQUFPLEVBQUUsQ0FBQztnQkFDdkIsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBbUMsZ0NBQWdDLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBRTlHLElBQUksU0FBUyxFQUFFLFlBQVksSUFBSSxTQUFTLEVBQUUsSUFBSSxFQUFFO29CQUM5QyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUssSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7aUJBQ3BGO2dCQUVELE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQyxDQUFRLENBQUM7U0FDWDsyRkFFVSxvQ0FBb0M7a0JBZGhELFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFdBQVcsQ0FBQyxDQUFDLENBQUMsUUFBa0IsRUFBRSxFQUFFOzRCQUNsQyxNQUFNLElBQUksR0FBRyxPQUFPLEVBQUUsQ0FBQzs0QkFDdkIsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBbUMsZ0NBQWdDLEVBQUUsU0FBUyxDQUFDLENBQUM7NEJBRTlHLElBQUksU0FBUyxFQUFFLFlBQVksSUFBSSxTQUFTLEVBQUUsSUFBSSxFQUFFO2dDQUM5QyxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUssSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7NkJBQ3BGOzRCQUVELE9BQU8sSUFBSSxDQUFDO3dCQUNkLENBQUMsQ0FBUSxDQUFDO3FCQUNYO2lCQUNGOztBQUdEOztHQUVHO0FBZUgsTUFBTSxPQUFPLHVDQUF1Qzs7b0lBQXZDLHVDQUF1QztxSUFBdkMsdUNBQXVDO3FJQUF2Qyx1Q0FBdUMsWUFiekM7WUFDUCxjQUFjLENBQUMsQ0FBQyxDQUFDLFFBQWtCLEVBQUUsRUFBRTtnQkFDckMsTUFBTSxPQUFPLEdBQUcsVUFBVSxFQUFFLENBQUM7Z0JBQzdCLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQW1DLGdDQUFnQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUU5RyxJQUFJLFNBQVMsRUFBRSxZQUFZLElBQUksU0FBUyxFQUFFLE9BQU8sRUFBRTtvQkFDakQsc0JBQXNCLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSyxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO2lCQUN0RjtnQkFFRCxPQUFPLE9BQU8sQ0FBQztZQUNqQixDQUFDLENBQVEsQ0FBQztTQUNYOzJGQUVVLHVDQUF1QztrQkFkbkQsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsY0FBYyxDQUFDLENBQUMsQ0FBQyxRQUFrQixFQUFFLEVBQUU7NEJBQ3JDLE1BQU0sT0FBTyxHQUFHLFVBQVUsRUFBRSxDQUFDOzRCQUM3QixNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFtQyxnQ0FBZ0MsRUFBRSxTQUFTLENBQUMsQ0FBQzs0QkFFOUcsSUFBSSxTQUFTLEVBQUUsWUFBWSxJQUFJLFNBQVMsRUFBRSxPQUFPLEVBQUU7Z0NBQ2pELHNCQUFzQixDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUssRUFBRSxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQzs2QkFDdEY7NEJBRUQsT0FBTyxPQUFPLENBQUM7d0JBQ2pCLENBQUMsQ0FBUSxDQUFDO3FCQUNYO2lCQUNGOztBQUdEOztHQUVHO0FBZUgsTUFBTSxPQUFPLHlDQUF5Qzs7c0lBQXpDLHlDQUF5Qzt1SUFBekMseUNBQXlDO3VJQUF6Qyx5Q0FBeUMsWUFiM0M7WUFDUCxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsUUFBa0IsRUFBRSxFQUFFO2dCQUN2QyxNQUFNLFNBQVMsR0FBRyxZQUFZLEVBQUUsQ0FBQztnQkFDakMsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBbUMsZ0NBQWdDLEVBQUUsU0FBUyxDQUFDLENBQUM7Z0JBRTlHLElBQUksU0FBUyxFQUFFLFlBQVksSUFBSSxTQUFTLEVBQUUsU0FBUyxFQUFFO29CQUNuRCx3QkFBd0IsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFLLEVBQUUsU0FBUyxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDMUY7Z0JBRUQsT0FBTyxTQUFTLENBQUM7WUFDbkIsQ0FBQyxDQUFRLENBQUM7U0FDWDsyRkFFVSx5Q0FBeUM7a0JBZHJELFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxRQUFrQixFQUFFLEVBQUU7NEJBQ3ZDLE1BQU0sU0FBUyxHQUFHLFlBQVksRUFBRSxDQUFDOzRCQUNqQyxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFtQyxnQ0FBZ0MsRUFBRSxTQUFTLENBQUMsQ0FBQzs0QkFFOUcsSUFBSSxTQUFTLEVBQUUsWUFBWSxJQUFJLFNBQVMsRUFBRSxTQUFTLEVBQUU7Z0NBQ25ELHdCQUF3QixDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUssRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDOzZCQUMxRjs0QkFFRCxPQUFPLFNBQVMsQ0FBQzt3QkFDbkIsQ0FBQyxDQUFRLENBQUM7cUJBQ1g7aUJBQ0Y7O0FBR0QsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsSUFBSSxjQUFjLENBQUMsb0JBQW9CLENBQUMsQ0FBQztBQUVuRjs7R0FFRztBQWFILE1BQU0sT0FBTyx5Q0FBeUM7SUFFcEQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxlQUFnQztRQUM3QyxPQUFPO1lBQ0wsUUFBUSxFQUFFLHlDQUF5QztZQUNuRCxTQUFTLEVBQUUsQ0FBQztvQkFDVixPQUFPLEVBQUUsMEJBQTBCO29CQUNuQyxRQUFRLEVBQUUsZUFBZTtpQkFDMUIsQ0FBQztTQUNILENBQUM7SUFDSixDQUFDOztzSUFWVSx5Q0FBeUM7dUlBQXpDLHlDQUF5QyxZQTVFekMseUNBQXlDLEVBbUJ6QyxvQ0FBb0MsRUFtQnBDLHVDQUF1QyxFQW1CdkMseUNBQXlDO3VJQW1CekMseUNBQXlDLFlBWDNDO1lBQ1AseUNBQXlDO1lBQ3pDLG9DQUFvQztZQUNwQyx1Q0FBdUM7WUFDdkMseUNBQXlDO1lBQ3pDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxRQUFrQixFQUFFLEVBQUU7Z0JBQ3pDLE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQWtCLDBCQUEwQixDQUFDLENBQUM7Z0JBQ2xGLE9BQU8sYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3hDLENBQUMsQ0FBUSxDQUFDO1NBQ1g7MkZBRVUseUNBQXlDO2tCQVpyRCxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCx5Q0FBeUM7d0JBQ3pDLG9DQUFvQzt3QkFDcEMsdUNBQXVDO3dCQUN2Qyx5Q0FBeUM7d0JBQ3pDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxRQUFrQixFQUFFLEVBQUU7NEJBQ3pDLE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQWtCLDBCQUEwQixDQUFDLENBQUM7NEJBQ2xGLE9BQU8sYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO3dCQUN4QyxDQUFDLENBQVEsQ0FBQztxQkFDWDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBJbmplY3RvciwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpcmViYXNlT3B0aW9ucywgaW5pdGlhbGl6ZUFwcCB9IGZyb20gJ2ZpcmViYXNlL2FwcCc7XG5pbXBvcnQgeyBwcm92aWRlRmlyZWJhc2VBcHAgfSBmcm9tICdAYW5ndWxhci9maXJlL2FwcCc7XG5pbXBvcnQgeyBwcm92aWRlU3RvcmFnZSwgZ2V0U3RvcmFnZSwgY29ubmVjdFN0b3JhZ2VFbXVsYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvc3RvcmFnZSc7XG5pbXBvcnQgeyBwcm92aWRlRnVuY3Rpb25zLCBnZXRGdW5jdGlvbnMsIGNvbm5lY3RGdW5jdGlvbnNFbXVsYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZnVuY3Rpb25zJztcbmltcG9ydCB7IHByb3ZpZGVGaXJlc3RvcmUsIGdldEZpcmVzdG9yZSwgY29ubmVjdEZpcmVzdG9yZUVtdWxhdG9yLCBlbmFibGVJbmRleGVkRGJQZXJzaXN0ZW5jZSB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZmlyZXN0b3JlJztcbmltcG9ydCB7IHByb3ZpZGVBdXRoLCBnZXRBdXRoLCBjb25uZWN0QXV0aEVtdWxhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hdXRoJztcbmltcG9ydCB7IERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnIH0gZnJvbSAnLi9lbXVsYXRvcnMnO1xuXG4vLyBUT0RPOiByZW1vdmUgXCJhcyBhbnlcIiB0eXBlc2NyaXB0IGNhc3RpbmcgLSBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyZmlyZS9pc3N1ZXMvMzA4NlxuXG4vKipcbiAqIERlZmF1bHQgZmlyZWJhc2UgZmlyZXN0b3JlIHByb3ZpZGVyIG1vZHVsZS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIHByb3ZpZGVGaXJlc3RvcmUoKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IGZpcmVzdG9yZSA9IGdldEZpcmVzdG9yZSgpO1xuICAgICAgY29uc3QgZW11bGF0b3JzID0gaW5qZWN0b3IuZ2V0PERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnPihEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZywgdW5kZWZpbmVkKTtcblxuICAgICAgaWYgKGVtdWxhdG9ycz8udXNlRW11bGF0b3JzICYmIGVtdWxhdG9ycz8uZmlyZXN0b3JlKSB7XG4gICAgICAgIGNvbm5lY3RGaXJlc3RvcmVFbXVsYXRvcihmaXJlc3RvcmUsIGVtdWxhdG9ycy5maXJlc3RvcmUuaG9zdCEsIGVtdWxhdG9ycy5maXJlc3RvcmUucG9ydCwge30pO1xuICAgICAgfVxuXG4gICAgICBlbmFibGVJbmRleGVkRGJQZXJzaXN0ZW5jZShmaXJlc3RvcmUpO1xuXG4gICAgICByZXR1cm4gZmlyZXN0b3JlO1xuICAgIH0pIGFzIGFueSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURlZmF1bHRGaXJlc3RvcmVQcm92aWRlck1vZHVsZSB7IH1cblxuLyoqXG4gKiBEZWZhdWx0IGZpcmViYXNlIGF1dGggcHJvdmlkZXIgbW9kdWxlLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgcHJvdmlkZUF1dGgoKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IGF1dGggPSBnZXRBdXRoKCk7XG4gICAgICBjb25zdCBlbXVsYXRvcnMgPSBpbmplY3Rvci5nZXQ8RGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWc+KERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnLCB1bmRlZmluZWQpO1xuXG4gICAgICBpZiAoZW11bGF0b3JzPy51c2VFbXVsYXRvcnMgJiYgZW11bGF0b3JzPy5hdXRoKSB7XG4gICAgICAgIGNvbm5lY3RBdXRoRW11bGF0b3IoYXV0aCwgYGh0dHA6Ly8ke2VtdWxhdG9ycy5hdXRoLmhvc3QhfToke2VtdWxhdG9ycy5hdXRoLnBvcnR9YCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhdXRoO1xuICAgIH0pIGFzIGFueSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURlZmF1bHRBdXRoUHJvdmlkZXJNb2R1bGUgeyB9XG5cbi8qKlxuICogRGVmYXVsdCBmaXJlYmFzZSBzdG9yYWdlIHByb3ZpZGVyIG1vZHVsZS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIHByb3ZpZGVTdG9yYWdlKCgoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICBjb25zdCBzdG9yYWdlID0gZ2V0U3RvcmFnZSgpO1xuICAgICAgY29uc3QgZW11bGF0b3JzID0gaW5qZWN0b3IuZ2V0PERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnPihEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZywgdW5kZWZpbmVkKTtcblxuICAgICAgaWYgKGVtdWxhdG9ycz8udXNlRW11bGF0b3JzICYmIGVtdWxhdG9ycz8uc3RvcmFnZSkge1xuICAgICAgICBjb25uZWN0U3RvcmFnZUVtdWxhdG9yKHN0b3JhZ2UsIGVtdWxhdG9ycy5zdG9yYWdlLmhvc3QhLCBlbXVsYXRvcnMuc3RvcmFnZS5wb3J0LCB7fSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzdG9yYWdlO1xuICAgIH0pIGFzIGFueSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURlZmF1bHRTdG9yYWdlUHJvdmlkZXJNb2R1bGUgeyB9XG5cbi8qKlxuICogRGVmYXVsdCBmaXJlYmFzZSBmdW5jdGlvbnMgcHJvdmlkZXIgbW9kdWxlLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgcHJvdmlkZUZ1bmN0aW9ucygoKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgZnVuY3Rpb25zID0gZ2V0RnVuY3Rpb25zKCk7XG4gICAgICBjb25zdCBlbXVsYXRvcnMgPSBpbmplY3Rvci5nZXQ8RGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWc+KERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnLCB1bmRlZmluZWQpO1xuXG4gICAgICBpZiAoZW11bGF0b3JzPy51c2VFbXVsYXRvcnMgJiYgZW11bGF0b3JzPy5mdW5jdGlvbnMpIHtcbiAgICAgICAgY29ubmVjdEZ1bmN0aW9uc0VtdWxhdG9yKGZ1bmN0aW9ucywgZW11bGF0b3JzLmZ1bmN0aW9ucy5ob3N0ISwgZW11bGF0b3JzLmZ1bmN0aW9ucy5wb3J0KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZ1bmN0aW9ucztcbiAgICB9KSBhcyBhbnkpXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VEZWZhdWx0RnVuY3Rpb25zUHJvdmlkZXJNb2R1bGUgeyB9XG5cbmV4cG9ydCBjb25zdCBEQlhfRklSRUJBU0VfT1BUSU9OU19UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbignRGJ4RmlyZWJhc2VPcHRpb25zJyk7XG5cbi8qKlxuICogRGVmYXVsdCBwcm92aWRlciBtb2R1bGUuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBEYnhGaXJlYmFzZURlZmF1bHRGaXJlc3RvcmVQcm92aWRlck1vZHVsZSxcbiAgICBEYnhGaXJlYmFzZURlZmF1bHRBdXRoUHJvdmlkZXJNb2R1bGUsXG4gICAgRGJ4RmlyZWJhc2VEZWZhdWx0U3RvcmFnZVByb3ZpZGVyTW9kdWxlLFxuICAgIERieEZpcmViYXNlRGVmYXVsdEZ1bmN0aW9uc1Byb3ZpZGVyTW9kdWxlLFxuICAgIHByb3ZpZGVGaXJlYmFzZUFwcCgoKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgZmlyZWJhc2VPcHRpb25zID0gaW5qZWN0b3IuZ2V0PEZpcmViYXNlT3B0aW9ucz4oREJYX0ZJUkVCQVNFX09QVElPTlNfVE9LRU4pO1xuICAgICAgcmV0dXJuIGluaXRpYWxpemVBcHAoZmlyZWJhc2VPcHRpb25zKTtcbiAgICB9KSBhcyBhbnkpXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VEZWZhdWx0RmlyZWJhc2VQcm92aWRlcnNNb2R1bGUge1xuXG4gIHN0YXRpYyBmb3JSb290KGZpcmViYXNlT3B0aW9uczogRmlyZWJhc2VPcHRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxEYnhGaXJlYmFzZURlZmF1bHRGaXJlYmFzZVByb3ZpZGVyc01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRGJ4RmlyZWJhc2VEZWZhdWx0RmlyZWJhc2VQcm92aWRlcnNNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFt7XG4gICAgICAgIHByb3ZpZGU6IERCWF9GSVJFQkFTRV9PUFRJT05TX1RPS0VOLFxuICAgICAgICB1c2VWYWx1ZTogZmlyZWJhc2VPcHRpb25zXG4gICAgICB9XVxuICAgIH07XG4gIH1cblxufVxuIl19
@@ -0,0 +1,5 @@
1
+ export * from './emulators';
2
+ export * from './firebase.module';
3
+ export * from './firebase.emulator.module';
4
+ export * from './options';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9maXJlYmFzZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VtdWxhdG9ycyc7XG5leHBvcnQgKiBmcm9tICcuL2ZpcmViYXNlLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpcmViYXNlLmVtdWxhdG9yLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL29wdGlvbnMnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL2ZpcmViYXNlL29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpcmViYXNlT3B0aW9ucyB9IGZyb20gXCJmaXJlYmFzZS9hcHBcIjtcbmltcG9ydCB7IERieEZpcmViYXNlTG9naW5Nb2R1bGVSb290Q29uZmlnIH0gZnJvbSBcIi4uL2F1dGgvbG9naW4vZmlyZWJhc2UubG9naW4ubW9kdWxlXCI7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZUVtdWxhdG9yc0NvbmZpZyB9IGZyb20gXCIuL2VtdWxhdG9yc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieEZpcmViYXNlT3B0aW9ucyBleHRlbmRzIEZpcmViYXNlT3B0aW9ucywgUGljazxEYnhGaXJlYmFzZUxvZ2luTW9kdWxlUm9vdENvbmZpZywgJ2VuYWJsZWRMb2dpbk1ldGhvZHMnPiB7XG4gIGVtdWxhdG9yczogRGJ4RmlyZWJhc2VFbXVsYXRvcnNDb25maWc7XG59XG4iXX0=
@@ -0,0 +1,23 @@
1
+ import { Inject, Injectable } from '@angular/core';
2
+ import { DBX_FIRESTORE_CONTEXT_TOKEN } from './firebase.firestore';
3
+ import * as i0 from "@angular/core";
4
+ /**
5
+ * Service that provides access to the app's FirestoreContext.
6
+ */
7
+ export class DbxFirestoreContextService {
8
+ constructor(firestoreContext) {
9
+ this.firestoreContext = firestoreContext;
10
+ }
11
+ }
12
+ DbxFirestoreContextService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirestoreContextService, deps: [{ token: DBX_FIRESTORE_CONTEXT_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable });
13
+ DbxFirestoreContextService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirestoreContextService, providedIn: 'root' });
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirestoreContextService, decorators: [{
15
+ type: Injectable,
16
+ args: [{
17
+ providedIn: 'root'
18
+ }]
19
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
20
+ type: Inject,
21
+ args: [DBX_FIRESTORE_CONTEXT_TOKEN]
22
+ }] }]; } });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuZmlyZXN0b3JlLmNvbnRleHQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL2ZpcmVzdG9yZS9maXJlYmFzZS5maXJlc3RvcmUuY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUVuRTs7R0FFRztBQUlILE1BQU0sT0FBTywwQkFBMEI7SUFFckMsWUFBMEQsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFBSSxDQUFDOzt1SEFGdEYsMEJBQTBCLGtCQUVqQiwyQkFBMkI7MkhBRnBDLDBCQUEwQixjQUZ6QixNQUFNOzJGQUVQLDBCQUEwQjtrQkFIdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQUdjLE1BQU07MkJBQUMsMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaXJlc3RvcmVDb250ZXh0IH0gZnJvbSAnQGRlcmVla2IvZmlyZWJhc2UnO1xuaW1wb3J0IHsgREJYX0ZJUkVTVE9SRV9DT05URVhUX1RPS0VOIH0gZnJvbSAnLi9maXJlYmFzZS5maXJlc3RvcmUnO1xuXG4vKipcbiAqIFNlcnZpY2UgdGhhdCBwcm92aWRlcyBhY2Nlc3MgdG8gdGhlIGFwcCdzIEZpcmVzdG9yZUNvbnRleHQuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmVzdG9yZUNvbnRleHRTZXJ2aWNlIHtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KERCWF9GSVJFU1RPUkVfQ09OVEVYVF9UT0tFTikgcmVhZG9ubHkgZmlyZXN0b3JlQ29udGV4dDogRmlyZXN0b3JlQ29udGV4dCkgeyB9XG5cbn1cbiJdfQ==
@@ -0,0 +1,6 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ /**
3
+ * Token to access the FirestoreContext value.
4
+ */
5
+ export const DBX_FIRESTORE_CONTEXT_TOKEN = new InjectionToken('DBX_FIRESTORE_CONTEXT_TOKEN');
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuZmlyZXN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZmlyZXN0b3JlL2ZpcmViYXNlLmZpcmVzdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsSUFBSSxjQUFjLENBQUMsNkJBQTZCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogVG9rZW4gdG8gYWNjZXNzIHRoZSBGaXJlc3RvcmVDb250ZXh0IHZhbHVlLlxuICovXG5leHBvcnQgY29uc3QgREJYX0ZJUkVTVE9SRV9DT05URVhUX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuKCdEQlhfRklSRVNUT1JFX0NPTlRFWFRfVE9LRU4nKTtcbiJdfQ==
@@ -0,0 +1,31 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { firebaseFirestoreContextFactory } from "@dereekb/firebase";
3
+ import { DBX_FIRESTORE_CONTEXT_TOKEN } from "./firebase.firestore";
4
+ import { Firestore } from "@angular/fire/firestore";
5
+ import * as i0 from "@angular/core";
6
+ /**
7
+ * Used to initialize the FirestoreCollection for a DbxFirebase app.
8
+ */
9
+ export class DbxFirebaseFirestoreCollectionModule {
10
+ static forRoot(config) {
11
+ return {
12
+ ngModule: DbxFirebaseFirestoreCollectionModule,
13
+ providers: [{
14
+ provide: DBX_FIRESTORE_CONTEXT_TOKEN,
15
+ useFactory: firebaseFirestoreContextFactory,
16
+ deps: [Firestore]
17
+ }, {
18
+ provide: config.appCollectionClass,
19
+ useFactory: config.collectionFactory,
20
+ deps: [DBX_FIRESTORE_CONTEXT_TOKEN]
21
+ }]
22
+ };
23
+ }
24
+ }
25
+ DbxFirebaseFirestoreCollectionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseFirestoreCollectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
26
+ DbxFirebaseFirestoreCollectionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseFirestoreCollectionModule });
27
+ DbxFirebaseFirestoreCollectionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseFirestoreCollectionModule });
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseFirestoreCollectionModule, decorators: [{
29
+ type: NgModule
30
+ }] });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuZmlyZXN0b3JlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL2ZpcmVzdG9yZS9maXJlYmFzZS5maXJlc3RvcmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSwrQkFBK0IsRUFBb0IsTUFBTSxtQkFBbUIsQ0FBQztBQUN0RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBUXBEOztHQUVHO0FBRUgsTUFBTSxPQUFPLG9DQUFvQztJQUUvQyxNQUFNLENBQUMsT0FBTyxDQUFJLE1BQXFEO1FBQ3JFLE9BQU87WUFDTCxRQUFRLEVBQUUsb0NBQW9DO1lBQzlDLFNBQVMsRUFBRSxDQUFDO29CQUNWLE9BQU8sRUFBRSwyQkFBMkI7b0JBQ3BDLFVBQVUsRUFBRSwrQkFBK0I7b0JBQzNDLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBQztpQkFDbEIsRUFBRTtvQkFDRCxPQUFPLEVBQUUsTUFBTSxDQUFDLGtCQUFrQjtvQkFDbEMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxpQkFBaUI7b0JBQ3BDLElBQUksRUFBRSxDQUFDLDJCQUEyQixDQUFDO2lCQUNwQyxDQUFDO1NBQ0gsQ0FBQztJQUNKLENBQUM7O2lJQWZVLG9DQUFvQztrSUFBcEMsb0NBQW9DO2tJQUFwQyxvQ0FBb0M7MkZBQXBDLG9DQUFvQztrQkFEaEQsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IGZpcmViYXNlRmlyZXN0b3JlQ29udGV4dEZhY3RvcnksIEZpcmVzdG9yZUNvbnRleHQgfSBmcm9tIFwiQGRlcmVla2IvZmlyZWJhc2VcIjtcbmltcG9ydCB7IERCWF9GSVJFU1RPUkVfQ09OVEVYVF9UT0tFTiB9IGZyb20gXCIuL2ZpcmViYXNlLmZpcmVzdG9yZVwiO1xuaW1wb3J0IHsgRmlyZXN0b3JlIH0gZnJvbSBcIkBhbmd1bGFyL2ZpcmUvZmlyZXN0b3JlXCI7XG5pbXBvcnQgeyBDbGFzc0xpa2VUeXBlIH0gZnJvbSBcIkBkZXJlZWtiL3V0aWxcIjtcblxuZXhwb3J0IGludGVyZmFjZSBEYnhGaXJlYmFzZUZpcmVzdG9yZUNvbGxlY3Rpb25Nb2R1bGVDb25maWc8VD4ge1xuICBhcHBDb2xsZWN0aW9uQ2xhc3M6IENsYXNzTGlrZVR5cGU8VD47XG4gIGNvbGxlY3Rpb25GYWN0b3J5OiAoY29udGV4dDogRmlyZXN0b3JlQ29udGV4dCkgPT4gVDtcbn1cblxuLyoqXG4gKiBVc2VkIHRvIGluaXRpYWxpemUgdGhlIEZpcmVzdG9yZUNvbGxlY3Rpb24gZm9yIGEgRGJ4RmlyZWJhc2UgYXBwLlxuICovXG5ATmdNb2R1bGUoKVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRmlyZXN0b3JlQ29sbGVjdGlvbk1vZHVsZSB7XG5cbiAgc3RhdGljIGZvclJvb3Q8VD4oY29uZmlnOiBEYnhGaXJlYmFzZUZpcmVzdG9yZUNvbGxlY3Rpb25Nb2R1bGVDb25maWc8VD4pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPERieEZpcmViYXNlRmlyZXN0b3JlQ29sbGVjdGlvbk1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRGJ4RmlyZWJhc2VGaXJlc3RvcmVDb2xsZWN0aW9uTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbe1xuICAgICAgICBwcm92aWRlOiBEQlhfRklSRVNUT1JFX0NPTlRFWFRfVE9LRU4sXG4gICAgICAgIHVzZUZhY3Rvcnk6IGZpcmViYXNlRmlyZXN0b3JlQ29udGV4dEZhY3RvcnksXG4gICAgICAgIGRlcHM6IFtGaXJlc3RvcmVdXG4gICAgICB9LCB7XG4gICAgICAgIHByb3ZpZGU6IGNvbmZpZy5hcHBDb2xsZWN0aW9uQ2xhc3MsXG4gICAgICAgIHVzZUZhY3Rvcnk6IGNvbmZpZy5jb2xsZWN0aW9uRmFjdG9yeSxcbiAgICAgICAgZGVwczogW0RCWF9GSVJFU1RPUkVfQ09OVEVYVF9UT0tFTl1cbiAgICAgIH1dXG4gICAgfTtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export * from './firebase.firestore';
2
+ export * from './firebase.firestore.module';
3
+ export * from './firebase.firestore.context.service';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9maXJlc3RvcmUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsc0NBQXNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2ZpcmViYXNlLmZpcmVzdG9yZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpcmViYXNlLmZpcmVzdG9yZS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9maXJlYmFzZS5maXJlc3RvcmUuY29udGV4dC5zZXJ2aWNlJztcbiJdfQ==
@@ -0,0 +1,47 @@
1
+ import { NgModule } from "@angular/core";
2
+ import { Functions } from "@angular/fire/functions";
3
+ import { forEachKeyValue } from "@dereekb/util";
4
+ import * as i0 from "@angular/core";
5
+ /**
6
+ * Used to initialize the LazyFirebaseFunctions type for a DbxFirebase app.
7
+ */
8
+ export class DbxFirebaseFunctionsModule {
9
+ static forRoot(config) {
10
+ const providers = [{
11
+ provide: config.functionsGetterToken,
12
+ useFactory: config.functionsGetterFactory,
13
+ deps: [Functions]
14
+ }];
15
+ if (config.functionsConfigMap) {
16
+ forEachKeyValue(config.functionsConfigMap, {
17
+ forEach: ([key, entry]) => {
18
+ const provide = entry[0];
19
+ providers.push({
20
+ provide,
21
+ useFactory: (lazyFunctions) => {
22
+ const getter = lazyFunctions[key];
23
+ if (!getter) {
24
+ throw new Error(`Could not create provider for firebase function getter "${provide}" as the getter was unavailable.`);
25
+ }
26
+ else {
27
+ return getter();
28
+ }
29
+ },
30
+ deps: [config.functionsGetterToken]
31
+ });
32
+ }
33
+ });
34
+ }
35
+ return {
36
+ ngModule: DbxFirebaseFunctionsModule,
37
+ providers
38
+ };
39
+ }
40
+ }
41
+ DbxFirebaseFunctionsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseFunctionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
42
+ DbxFirebaseFunctionsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseFunctionsModule });
43
+ DbxFirebaseFunctionsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseFunctionsModule });
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseFunctionsModule, decorators: [{
45
+ type: NgModule
46
+ }] });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuZnVuY3Rpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZnVuY3Rpb24vZmlyZWJhc2UuZnVuY3Rpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVwRCxPQUFPLEVBQWlCLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFhL0Q7O0dBRUc7QUFFSCxNQUFNLE9BQU8sMEJBQTBCO0lBRXJDLE1BQU0sQ0FBQyxPQUFPLENBQUksTUFBMkM7UUFDM0QsTUFBTSxTQUFTLEdBQWUsQ0FBQztnQkFDN0IsT0FBTyxFQUFFLE1BQU0sQ0FBQyxvQkFBb0I7Z0JBQ3BDLFVBQVUsRUFBRSxNQUFNLENBQUMsc0JBQXNCO2dCQUN6QyxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUM7YUFDbEIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxNQUFNLENBQUMsa0JBQWtCLEVBQUU7WUFDN0IsZUFBZSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRTtnQkFDekMsT0FBTyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtvQkFDeEIsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUV6QixTQUFTLENBQUMsSUFBSSxDQUFDO3dCQUNiLE9BQU87d0JBQ1AsVUFBVSxFQUFFLENBQUMsYUFBeUMsRUFBRSxFQUFFOzRCQUN4RCxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsR0FBYSxDQUFDLENBQUM7NEJBRTVDLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0NBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQywyREFBMkQsT0FBTyxrQ0FBa0MsQ0FBQyxDQUFDOzZCQUN2SDtpQ0FBTTtnQ0FDTCxPQUFPLE1BQU0sRUFBRSxDQUFDOzZCQUNqQjt3QkFDSCxDQUFDO3dCQUNELElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQztxQkFDcEMsQ0FBQyxDQUFBO2dCQUNKLENBQUM7YUFDRixDQUFDLENBQUM7U0FDSjtRQUVELE9BQU87WUFDTCxRQUFRLEVBQUUsMEJBQTBCO1lBQ3BDLFNBQVM7U0FDVixDQUFDO0lBQ0osQ0FBQzs7dUhBbkNVLDBCQUEwQjt3SEFBMUIsMEJBQTBCO3dIQUExQiwwQkFBMEI7MkZBQTFCLDBCQUEwQjtrQkFEdEMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBQcm92aWRlciB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGdW5jdGlvbnMgfSBmcm9tIFwiQGFuZ3VsYXIvZmlyZS9mdW5jdGlvbnNcIjtcbmltcG9ydCB7IEZpcmViYXNlRnVuY3Rpb25zQ29uZmlnTWFwLCBMYXp5RmlyZWJhc2VGdW5jdGlvbnMgfSBmcm9tIFwiQGRlcmVla2IvZmlyZWJhc2VcIjtcbmltcG9ydCB7IENsYXNzTGlrZVR5cGUsIGZvckVhY2hLZXlWYWx1ZSB9IGZyb20gXCJAZGVyZWVrYi91dGlsXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VGdW5jdGlvbnNNb2R1bGVDb25maWc8VD4ge1xuICBmdW5jdGlvbnNHZXR0ZXJUb2tlbjogQ2xhc3NMaWtlVHlwZTxUPjtcbiAgZnVuY3Rpb25zR2V0dGVyRmFjdG9yeTogKGZ1bmN0aW9uczogRnVuY3Rpb25zKSA9PiBUO1xuICAvKipcbiAgICogT3B0aW9uYWwgZnVuY3Rpb25zIGNvbmZpZyBtYXAgdG8gcHJvdmlkZS4gXG4gICAqIFxuICAgKiBJZiBwcm92aWRlZCwgd2lsbCBpbmplY3QgYWxsIHRoZSB0eXBlcyB3aXRoIGZhY3RvcnkgZnVuY3Rpb25zIHNvIHRoZXkgY2FuIGJlIGluamVjdGVkIGludG8gdGhlIGFwcC5cbiAgICovXG4gIGZ1bmN0aW9uc0NvbmZpZ01hcD86IEZpcmViYXNlRnVuY3Rpb25zQ29uZmlnTWFwPGFueT47XG59XG5cbi8qKlxuICogVXNlZCB0byBpbml0aWFsaXplIHRoZSBMYXp5RmlyZWJhc2VGdW5jdGlvbnMgdHlwZSBmb3IgYSBEYnhGaXJlYmFzZSBhcHAuXG4gKi9cbkBOZ01vZHVsZSgpXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VGdW5jdGlvbnNNb2R1bGUge1xuXG4gIHN0YXRpYyBmb3JSb290PFQ+KGNvbmZpZzogRGJ4RmlyZWJhc2VGdW5jdGlvbnNNb2R1bGVDb25maWc8VD4pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPERieEZpcmViYXNlRnVuY3Rpb25zTW9kdWxlPiB7XG4gICAgY29uc3QgcHJvdmlkZXJzOiBQcm92aWRlcltdID0gW3tcbiAgICAgIHByb3ZpZGU6IGNvbmZpZy5mdW5jdGlvbnNHZXR0ZXJUb2tlbixcbiAgICAgIHVzZUZhY3Rvcnk6IGNvbmZpZy5mdW5jdGlvbnNHZXR0ZXJGYWN0b3J5LFxuICAgICAgZGVwczogW0Z1bmN0aW9uc11cbiAgICB9XTtcblxuICAgIGlmIChjb25maWcuZnVuY3Rpb25zQ29uZmlnTWFwKSB7XG4gICAgICBmb3JFYWNoS2V5VmFsdWUoY29uZmlnLmZ1bmN0aW9uc0NvbmZpZ01hcCwge1xuICAgICAgICBmb3JFYWNoOiAoW2tleSwgZW50cnldKSA9PiB7XG4gICAgICAgICAgY29uc3QgcHJvdmlkZSA9IGVudHJ5WzBdO1xuXG4gICAgICAgICAgcHJvdmlkZXJzLnB1c2goe1xuICAgICAgICAgICAgcHJvdmlkZSxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IChsYXp5RnVuY3Rpb25zOiBMYXp5RmlyZWJhc2VGdW5jdGlvbnM8YW55PikgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBnZXR0ZXIgPSBsYXp5RnVuY3Rpb25zW2tleSBhcyBzdHJpbmddO1xuXG4gICAgICAgICAgICAgIGlmICghZ2V0dGVyKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgY3JlYXRlIHByb3ZpZGVyIGZvciBmaXJlYmFzZSBmdW5jdGlvbiBnZXR0ZXIgXCIke3Byb3ZpZGV9XCIgYXMgdGhlIGdldHRlciB3YXMgdW5hdmFpbGFibGUuYCk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldHRlcigpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGVwczogW2NvbmZpZy5mdW5jdGlvbnNHZXR0ZXJUb2tlbl1cbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IERieEZpcmViYXNlRnVuY3Rpb25zTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzXG4gICAgfTtcbiAgfVxuXG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './firebase.function.module';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9mdW5jdGlvbi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRCQUE0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9maXJlYmFzZS5mdW5jdGlvbi5tb2R1bGUnO1xuIl19
@@ -1,2 +1,7 @@
1
- export const test = '';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IHRlc3QgPSAnJztcbiJdfQ==
1
+ export * from './auth';
2
+ export * from './firebase';
3
+ export * from './firestore';
4
+ export * from './function';
5
+ export * from './model';
6
+ export * from './module';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXV0aCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpcmViYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vZmlyZXN0b3JlJztcbmV4cG9ydCAqIGZyb20gJy4vZnVuY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL21vZHVsZSc7XG4iXX0=
@@ -0,0 +1,6 @@
1
+ import { readableError } from "@dereekb/util";
2
+ export const DBX_FIREBASE_MODEL_DOES_NOT_EXIST_ERROR = 'DOES_NOT_EXIST';
3
+ export function modelDoesNotExistError() {
4
+ return readableError(DBX_FIREBASE_MODEL_DOES_NOT_EXIST_ERROR, 'The document does not exist.');
5
+ }
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9tb2RlbC9lcnJvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlDLE1BQU0sQ0FBQyxNQUFNLHVDQUF1QyxHQUFHLGdCQUFnQixDQUFDO0FBRXhFLE1BQU0sVUFBVSxzQkFBc0I7SUFDcEMsT0FBTyxhQUFhLENBQUMsdUNBQXVDLEVBQUUsOEJBQThCLENBQUMsQ0FBQTtBQUMvRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcmVhZGFibGVFcnJvciB9IGZyb20gXCJAZGVyZWVrYi91dGlsXCI7XG5cbmV4cG9ydCBjb25zdCBEQlhfRklSRUJBU0VfTU9ERUxfRE9FU19OT1RfRVhJU1RfRVJST1IgPSAnRE9FU19OT1RfRVhJU1QnO1xuXG5leHBvcnQgZnVuY3Rpb24gbW9kZWxEb2VzTm90RXhpc3RFcnJvcigpIHtcbiAgcmV0dXJuIHJlYWRhYmxlRXJyb3IoREJYX0ZJUkVCQVNFX01PREVMX0RPRVNfTk9UX0VYSVNUX0VSUk9SLCAnVGhlIGRvY3VtZW50IGRvZXMgbm90IGV4aXN0LicpXG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ export * from './loader';
2
+ export * from './store';
3
+ export * from './error';
4
+ export * from './model.module';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9tb2RlbC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9sb2FkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yZSc7XG5leHBvcnQgKiBmcm9tICcuL2Vycm9yJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWwubW9kdWxlJztcbiJdfQ==