@angular/fire 16.0.0-canary.e04cd7f → 16.0.0-rc.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 (257) hide show
  1. package/README.md +223 -0
  2. package/analytics/analytics.module.d.ts +2 -2
  3. package/analytics/firebase.d.ts +4 -1
  4. package/analytics/screen-tracking.service.d.ts +3 -3
  5. package/app-check/app-check.d.ts +0 -6
  6. package/app-check/app-check.module.d.ts +3 -4
  7. package/app-check/firebase.d.ts +2 -1
  8. package/app-check/public_api.d.ts +2 -1
  9. package/auth/auth.module.d.ts +2 -2
  10. package/auth/firebase.d.ts +3 -1
  11. package/auth-guard/auth-guard.d.ts +2 -2
  12. package/compat/analytics/analytics.d.ts +1 -3
  13. package/compat/analytics/analytics.module.d.ts +1 -1
  14. package/compat/analytics/screen-tracking.service.d.ts +1 -1
  15. package/compat/analytics/user-tracking.service.d.ts +1 -1
  16. package/compat/auth/auth.d.ts +3 -3
  17. package/compat/auth-guard/auth-guard.d.ts +2 -2
  18. package/compat/database/database.d.ts +4 -4
  19. package/compat/database/interfaces.d.ts +2 -2
  20. package/compat/database/list/audit-trail.d.ts +1 -1
  21. package/compat/database/list/create-reference.d.ts +1 -1
  22. package/compat/database/list/data-operation.d.ts +1 -1
  23. package/compat/database/list/state-changes.d.ts +1 -1
  24. package/compat/database/object/create-reference.d.ts +1 -1
  25. package/compat/database/observable/fromRef.d.ts +1 -1
  26. package/compat/database/utils.d.ts +1 -1
  27. package/compat/firebase.app.module.d.ts +1 -1
  28. package/compat/firestore/collection/collection.d.ts +2 -2
  29. package/compat/firestore/collection-group/collection-group.d.ts +2 -2
  30. package/compat/firestore/document/document.d.ts +4 -4
  31. package/compat/firestore/firestore.d.ts +7 -7
  32. package/compat/firestore/interfaces.d.ts +2 -2
  33. package/compat/functions/functions.d.ts +3 -3
  34. package/compat/messaging/messaging.d.ts +2 -2
  35. package/compat/performance/performance.d.ts +2 -2
  36. package/compat/remote-config/remote-config.d.ts +15 -49
  37. package/compat/storage/observable/fromTask.d.ts +1 -2
  38. package/compat/storage/ref.d.ts +1 -1
  39. package/compat/storage/storage.d.ts +3 -3
  40. package/compat/storage/task.d.ts +1 -1
  41. package/core.d.ts +7 -0
  42. package/database/database.module.d.ts +2 -2
  43. package/docs/analytics.md +67 -0
  44. package/docs/app-check.md +53 -0
  45. package/docs/auth.md +165 -0
  46. package/docs/compat/analytics/getting-started.md +137 -0
  47. package/docs/compat/auth/getting-started.md +162 -0
  48. package/docs/compat/auth/router-guards.md +104 -0
  49. package/docs/compat/emulators/emulators.md +134 -0
  50. package/docs/compat/firestore/collections.md +326 -0
  51. package/docs/compat/firestore/documents.md +115 -0
  52. package/docs/compat/firestore/offline-data.md +39 -0
  53. package/docs/compat/firestore/querying-collections.md +204 -0
  54. package/docs/compat/functions/functions.md +166 -0
  55. package/docs/compat/messaging/messaging.md +232 -0
  56. package/docs/compat/performance/getting-started.md +132 -0
  57. package/docs/compat/remote-config/getting-started.md +134 -0
  58. package/docs/compat/rtdb/lists.md +257 -0
  59. package/docs/compat/rtdb/objects.md +182 -0
  60. package/docs/compat/rtdb/querying-lists.md +155 -0
  61. package/docs/compat/storage/storage.md +257 -0
  62. package/docs/compat.md +70 -0
  63. package/docs/database.md +175 -0
  64. package/docs/deploy/getting-started.md +204 -0
  65. package/docs/firebase.json +16 -0
  66. package/docs/firestore.md +148 -0
  67. package/docs/functions.md +52 -0
  68. package/docs/images/analytics-illo_1x.png +0 -0
  69. package/docs/images/auth-illo_1x.png +0 -0
  70. package/docs/images/cloud-messaging-illo_1x.png +0 -0
  71. package/docs/images/database-illo_1x.png +0 -0
  72. package/docs/images/firestore-illo_1x.png +0 -0
  73. package/docs/images/functions-illo_1x.png +0 -0
  74. package/docs/images/hosting-illo_1x.png +0 -0
  75. package/docs/images/performance-illo_1x.png +0 -0
  76. package/docs/images/reCAPTCHA-logo@1x.png +0 -0
  77. package/docs/images/remote-config-illo_1x.png +0 -0
  78. package/docs/images/storage-illo_1x.png +0 -0
  79. package/docs/install-and-setup.md +114 -0
  80. package/docs/install-angular-cli-windows10.md +82 -0
  81. package/docs/install-firebase-tools.md +78 -0
  82. package/docs/messaging.md +25 -0
  83. package/docs/performance.md +57 -0
  84. package/docs/remote-config.md +53 -0
  85. package/docs/storage.md +90 -0
  86. package/docs/universal/cloud-functions.md +96 -0
  87. package/docs/universal/getting-started.md +28 -0
  88. package/docs/universal/prerendering.md +72 -0
  89. package/docs/version-4-upgrade.md +119 -0
  90. package/docs/version-5-upgrade.md +82 -0
  91. package/docs/version-6-upgrade.md +16 -0
  92. package/docs/version-7-upgrade.md +298 -0
  93. package/esm2022/analytics/analytics.mjs +1 -1
  94. package/esm2022/analytics/analytics.module.mjs +10 -10
  95. package/esm2022/analytics/firebase.mjs +5 -2
  96. package/esm2022/analytics/screen-tracking.service.mjs +11 -10
  97. package/esm2022/analytics/user-tracking.service.mjs +5 -5
  98. package/esm2022/app/app.mjs +1 -1
  99. package/esm2022/app/app.module.mjs +9 -8
  100. package/esm2022/app-check/app-check.mjs +3 -9
  101. package/esm2022/app-check/app-check.module.mjs +12 -14
  102. package/esm2022/app-check/firebase.mjs +3 -2
  103. package/esm2022/app-check/public_api.mjs +3 -2
  104. package/esm2022/auth/auth.mjs +1 -1
  105. package/esm2022/auth/auth.module.mjs +11 -11
  106. package/esm2022/auth/firebase.mjs +4 -2
  107. package/esm2022/auth-guard/auth-guard.mjs +8 -6
  108. package/esm2022/auth-guard/auth-guard.module.mjs +7 -7
  109. package/esm2022/compat/analytics/analytics.mjs +12 -13
  110. package/esm2022/compat/analytics/analytics.module.mjs +14 -11
  111. package/esm2022/compat/analytics/screen-tracking.service.mjs +9 -9
  112. package/esm2022/compat/analytics/user-tracking.service.mjs +7 -7
  113. package/esm2022/compat/auth/auth.mjs +13 -13
  114. package/esm2022/compat/auth/auth.module.mjs +7 -7
  115. package/esm2022/compat/auth-guard/auth-guard.mjs +8 -6
  116. package/esm2022/compat/auth-guard/auth-guard.module.mjs +7 -7
  117. package/esm2022/compat/cache.mjs +2 -1
  118. package/esm2022/compat/database/database.mjs +10 -10
  119. package/esm2022/compat/database/database.module.mjs +7 -7
  120. package/esm2022/compat/database/interfaces.mjs +1 -1
  121. package/esm2022/compat/database/list/audit-trail.mjs +3 -3
  122. package/esm2022/compat/database/list/changes.mjs +5 -5
  123. package/esm2022/compat/database/list/create-reference.mjs +5 -5
  124. package/esm2022/compat/database/list/data-operation.mjs +1 -1
  125. package/esm2022/compat/database/list/snapshot-changes.mjs +1 -1
  126. package/esm2022/compat/database/list/state-changes.mjs +2 -2
  127. package/esm2022/compat/database/object/create-reference.mjs +2 -2
  128. package/esm2022/compat/database/object/snapshot-changes.mjs +1 -1
  129. package/esm2022/compat/database/observable/fromRef.mjs +3 -2
  130. package/esm2022/compat/database/utils.mjs +1 -1
  131. package/esm2022/compat/firebase.app.mjs +1 -1
  132. package/esm2022/compat/firebase.app.module.mjs +11 -9
  133. package/esm2022/compat/firestore/collection/changes.mjs +2 -2
  134. package/esm2022/compat/firestore/collection/collection.mjs +4 -4
  135. package/esm2022/compat/firestore/collection-group/collection-group.mjs +4 -4
  136. package/esm2022/compat/firestore/document/document.mjs +4 -4
  137. package/esm2022/compat/firestore/firestore.mjs +11 -11
  138. package/esm2022/compat/firestore/firestore.module.mjs +7 -7
  139. package/esm2022/compat/firestore/interfaces.mjs +1 -1
  140. package/esm2022/compat/firestore/observable/fromRef.mjs +2 -2
  141. package/esm2022/compat/functions/functions.mjs +8 -8
  142. package/esm2022/compat/functions/functions.module.mjs +7 -7
  143. package/esm2022/compat/messaging/messaging.mjs +13 -12
  144. package/esm2022/compat/messaging/messaging.module.mjs +7 -7
  145. package/esm2022/compat/performance/performance.mjs +14 -20
  146. package/esm2022/compat/performance/performance.module.mjs +8 -9
  147. package/esm2022/compat/performance/performance.service.mjs +5 -4
  148. package/esm2022/compat/proxy.mjs +6 -7
  149. package/esm2022/compat/remote-config/remote-config.mjs +10 -11
  150. package/esm2022/compat/remote-config/remote-config.module.mjs +7 -7
  151. package/esm2022/compat/storage/observable/fromTask.mjs +3 -1
  152. package/esm2022/compat/storage/pipes/storageUrl.pipe.mjs +9 -9
  153. package/esm2022/compat/storage/ref.mjs +3 -3
  154. package/esm2022/compat/storage/storage.mjs +8 -8
  155. package/esm2022/compat/storage/storage.module.mjs +7 -7
  156. package/esm2022/compat/storage/task.mjs +2 -2
  157. package/esm2022/core.mjs +7 -1
  158. package/esm2022/database/database.mjs +1 -1
  159. package/esm2022/database/database.module.mjs +11 -11
  160. package/esm2022/firestore/firebase.mjs +22 -2
  161. package/esm2022/firestore/firestore.mjs +1 -1
  162. package/esm2022/firestore/firestore.module.mjs +11 -11
  163. package/esm2022/firestore/lite/firebase.mjs +11 -2
  164. package/esm2022/firestore/lite/lite.mjs +1 -1
  165. package/esm2022/firestore/lite/lite.module.mjs +10 -11
  166. package/esm2022/firestore/lite/rxfire.mjs +4 -2
  167. package/esm2022/firestore/rxfire.mjs +4 -4
  168. package/esm2022/functions/functions.mjs +1 -1
  169. package/esm2022/functions/functions.module.mjs +11 -11
  170. package/esm2022/messaging/messaging.mjs +1 -1
  171. package/esm2022/messaging/messaging.module.mjs +9 -9
  172. package/esm2022/performance/performance.mjs +1 -1
  173. package/esm2022/performance/performance.module.mjs +12 -12
  174. package/esm2022/remote-config/is-remote-config-supported-factory.mjs +2 -2
  175. package/esm2022/remote-config/remote-config.mjs +1 -1
  176. package/esm2022/remote-config/remote-config.module.mjs +9 -9
  177. package/esm2022/storage/storage.mjs +1 -1
  178. package/esm2022/storage/storage.module.mjs +11 -11
  179. package/esm2022/zones.mjs +9 -11
  180. package/fesm2022/angular-fire-analytics.mjs +18 -14
  181. package/fesm2022/angular-fire-analytics.mjs.map +1 -1
  182. package/fesm2022/angular-fire-app-check.mjs +13 -19
  183. package/fesm2022/angular-fire-app-check.mjs.map +1 -1
  184. package/fesm2022/angular-fire-app.mjs +6 -5
  185. package/fesm2022/angular-fire-app.mjs.map +1 -1
  186. package/fesm2022/angular-fire-auth-guard.mjs +13 -11
  187. package/fesm2022/angular-fire-auth-guard.mjs.map +1 -1
  188. package/fesm2022/angular-fire-auth.mjs +10 -9
  189. package/fesm2022/angular-fire-auth.mjs.map +1 -1
  190. package/fesm2022/angular-fire-compat-analytics.mjs +29 -27
  191. package/fesm2022/angular-fire-compat-analytics.mjs.map +1 -1
  192. package/fesm2022/angular-fire-compat-auth-guard.mjs +12 -10
  193. package/fesm2022/angular-fire-compat-auth-guard.mjs.map +1 -1
  194. package/fesm2022/angular-fire-compat-auth.mjs +13 -13
  195. package/fesm2022/angular-fire-compat-auth.mjs.map +1 -1
  196. package/fesm2022/angular-fire-compat-database.mjs +129 -128
  197. package/fesm2022/angular-fire-compat-database.mjs.map +1 -1
  198. package/fesm2022/angular-fire-compat-firestore.mjs +96 -96
  199. package/fesm2022/angular-fire-compat-firestore.mjs.map +1 -1
  200. package/fesm2022/angular-fire-compat-functions.mjs +10 -10
  201. package/fesm2022/angular-fire-compat-functions.mjs.map +1 -1
  202. package/fesm2022/angular-fire-compat-messaging.mjs +13 -12
  203. package/fesm2022/angular-fire-compat-messaging.mjs.map +1 -1
  204. package/fesm2022/angular-fire-compat-performance.mjs +23 -29
  205. package/fesm2022/angular-fire-compat-performance.mjs.map +1 -1
  206. package/fesm2022/angular-fire-compat-remote-config.mjs +10 -11
  207. package/fesm2022/angular-fire-compat-remote-config.mjs.map +1 -1
  208. package/fesm2022/angular-fire-compat-storage.mjs +21 -19
  209. package/fesm2022/angular-fire-compat-storage.mjs.map +1 -1
  210. package/fesm2022/angular-fire-compat.mjs +15 -13
  211. package/fesm2022/angular-fire-compat.mjs.map +1 -1
  212. package/fesm2022/angular-fire-database.mjs +7 -8
  213. package/fesm2022/angular-fire-database.mjs.map +1 -1
  214. package/fesm2022/angular-fire-firestore-lite.mjs +21 -11
  215. package/fesm2022/angular-fire-firestore-lite.mjs.map +1 -1
  216. package/fesm2022/angular-fire-firestore.mjs +32 -13
  217. package/fesm2022/angular-fire-firestore.mjs.map +1 -1
  218. package/fesm2022/angular-fire-functions.mjs +8 -9
  219. package/fesm2022/angular-fire-functions.mjs.map +1 -1
  220. package/fesm2022/angular-fire-messaging.mjs +4 -4
  221. package/fesm2022/angular-fire-messaging.mjs.map +1 -1
  222. package/fesm2022/angular-fire-performance.mjs +7 -7
  223. package/fesm2022/angular-fire-performance.mjs.map +1 -1
  224. package/fesm2022/angular-fire-remote-config.mjs +4 -4
  225. package/fesm2022/angular-fire-remote-config.mjs.map +1 -1
  226. package/fesm2022/angular-fire-storage.mjs +6 -7
  227. package/fesm2022/angular-fire-storage.mjs.map +1 -1
  228. package/fesm2022/angular-fire.mjs +14 -10
  229. package/fesm2022/angular-fire.mjs.map +1 -1
  230. package/firestore/firebase.d.ts +21 -1
  231. package/firestore/firestore.module.d.ts +2 -2
  232. package/firestore/lite/firebase.d.ts +10 -1
  233. package/firestore/lite/lite.module.d.ts +2 -2
  234. package/firestore/lite/rxfire.d.ts +3 -1
  235. package/firestore/rxfire.d.ts +3 -3
  236. package/functions/functions.module.d.ts +2 -2
  237. package/messaging/messaging.module.d.ts +2 -2
  238. package/package.json +17 -17
  239. package/performance/performance.module.d.ts +2 -2
  240. package/remote-config/remote-config.module.d.ts +2 -2
  241. package/schematics/add/index.js +1 -1
  242. package/schematics/add/schema.json +16 -0
  243. package/schematics/builders.json +10 -0
  244. package/schematics/collection.json +15 -0
  245. package/schematics/common.js +1 -1
  246. package/schematics/deploy/actions.js +11 -11
  247. package/schematics/deploy/builder.js +2 -2
  248. package/schematics/deploy/schema.json +119 -0
  249. package/schematics/migration.json +15 -0
  250. package/schematics/setup/index.js +5 -6
  251. package/schematics/setup/prompts.js +5 -6
  252. package/schematics/setup/schema.json +16 -0
  253. package/schematics/update/index.js +1 -1
  254. package/schematics/update/v7/index.js +2 -2
  255. package/schematics/utils.js +4 -4
  256. package/storage/storage.module.d.ts +2 -2
  257. package/publish.sh +0 -1
@@ -1,13 +1,13 @@
1
1
  import 'firebase/compat/auth';
2
+ import { isPlatformServer } from '@angular/common';
2
3
  import * as i0 from '@angular/core';
3
4
  import { InjectionToken, PLATFORM_ID, Injectable, Inject, Optional, NgModule } from '@angular/core';
4
- import { Subject, of, Observable, from, merge } from 'rxjs';
5
- import { observeOn, switchMap, map, shareReplay, first, switchMapTo, subscribeOn, filter } from 'rxjs/operators';
6
5
  import * as i1 from '@angular/fire';
7
6
  import { keepUnstableUntilFirst, VERSION } from '@angular/fire';
8
- import { ɵcacheInstance, ɵfirebaseAppFactory, ɵlazySDKProxy, FIREBASE_OPTIONS, FIREBASE_APP_NAME, ɵapplyMixins } from '@angular/fire/compat';
9
- import { isPlatformServer } from '@angular/common';
10
7
  import * as i2 from '@angular/fire/app-check';
8
+ import { ɵcacheInstance, ɵfirebaseAppFactory, ɵlazySDKProxy, FIREBASE_OPTIONS, FIREBASE_APP_NAME, ɵapplyMixins } from '@angular/fire/compat';
9
+ import { Subject, of, Observable, from, merge } from 'rxjs';
10
+ import { observeOn, switchMap, map, shareReplay, first, switchMapTo, subscribeOn, filter } from 'rxjs/operators';
11
11
  import firebase from 'firebase/compat/app';
12
12
 
13
13
  // DO NOT MODIFY, this file is autogenerated by tools/build.ts
@@ -101,7 +101,7 @@ class AngularFireAuth {
101
101
  */
102
102
  credential;
103
103
  constructor(options, name,
104
- // tslint:disable-next-line:ban-types
104
+ // eslint-disable-next-line @typescript-eslint/ban-types
105
105
  platformId, zone, schedulers, useEmulator, // can't use the tuple here
106
106
  settings, // can't use firebase.auth.AuthSettings here
107
107
  tenantId, languageCode, useDeviceLanguage, persistence, _appCheckInstances) {
@@ -116,7 +116,7 @@ class AngularFireAuth {
116
116
  // as we're completely lazy. Let's eagerly load the Auth SDK here.
117
117
  // There could potentially be race conditions still... but this greatly decreases the odds while
118
118
  // we reevaluate the API.
119
- const _ = auth.pipe(first()).subscribe();
119
+ auth.pipe(first()).subscribe();
120
120
  const redirectResult = auth.pipe(switchMap(auth => auth.getRedirectResult().then(it => it, () => null)), keepUnstableUntilFirst, shareReplay({ bufferSize: 1, refCount: false }));
121
121
  const authStateChanged = auth.pipe(switchMap(auth => new Observable(sub => ({ unsubscribe: zone.runOutsideAngular(() => auth.onAuthStateChanged(next => sub.next(next), err => sub.error(err), () => sub.complete())) }))));
122
122
  const idTokenChanged = auth.pipe(switchMap(auth => new Observable(sub => ({ unsubscribe: zone.runOutsideAngular(() => auth.onIdTokenChanged(next => sub.next(next), err => sub.error(err), () => sub.complete())) }))));
@@ -144,10 +144,10 @@ class AngularFireAuth {
144
144
  }
145
145
  } });
146
146
  }
147
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuth, deps: [{ token: FIREBASE_OPTIONS }, { token: FIREBASE_APP_NAME, optional: true }, { token: PLATFORM_ID }, { token: i0.NgZone }, { token: i1.ɵAngularFireSchedulers }, { token: USE_EMULATOR, optional: true }, { token: SETTINGS, optional: true }, { token: TENANT_ID, optional: true }, { token: LANGUAGE_CODE, optional: true }, { token: USE_DEVICE_LANGUAGE, optional: true }, { token: PERSISTENCE, optional: true }, { token: i2.AppCheckInstances, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
148
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuth, providedIn: 'any' });
147
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AngularFireAuth, deps: [{ token: FIREBASE_OPTIONS }, { token: FIREBASE_APP_NAME, optional: true }, { token: PLATFORM_ID }, { token: i0.NgZone }, { token: i1.ɵAngularFireSchedulers }, { token: USE_EMULATOR, optional: true }, { token: SETTINGS, optional: true }, { token: TENANT_ID, optional: true }, { token: LANGUAGE_CODE, optional: true }, { token: USE_DEVICE_LANGUAGE, optional: true }, { token: PERSISTENCE, optional: true }, { token: i2.AppCheckInstances, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
148
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AngularFireAuth, providedIn: 'any' });
149
149
  }
150
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuth, decorators: [{
150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AngularFireAuth, decorators: [{
151
151
  type: Injectable,
152
152
  args: [{
153
153
  providedIn: 'any'
@@ -202,11 +202,11 @@ class AngularFireAuthModule {
202
202
  constructor() {
203
203
  firebase.registerVersion('angularfire', VERSION.full, 'auth-compat');
204
204
  }
205
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
206
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuthModule });
207
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuthModule, providers: [AngularFireAuth] });
205
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AngularFireAuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
206
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.10", ngImport: i0, type: AngularFireAuthModule });
207
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AngularFireAuthModule, providers: [AngularFireAuth] });
208
208
  }
209
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireAuthModule, decorators: [{
209
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AngularFireAuthModule, decorators: [{
210
210
  type: NgModule,
211
211
  args: [{
212
212
  providers: [AngularFireAuth]
@@ -1 +1 @@
1
- {"version":3,"file":"angular-fire-compat-auth.mjs","sources":["../../../src/compat/auth/base.ts","../../../src/compat/auth/auth.ts","../../../src/compat/auth/auth.module.ts","../../../src/compat/auth/angular-fire-compat-auth.ts"],"sourcesContent":["// DO NOT MODIFY, this file is autogenerated by tools/build.ts\n// Export a null object with the same keys as firebase/compat/auth, so Proxy can work with proxy-polyfill in Internet Explorer\nexport const proxyPolyfillCompat = {\n name: null,\n config: null,\n emulatorConfig: null,\n app: null,\n applyActionCode: null,\n checkActionCode: null,\n confirmPasswordReset: null,\n createUserWithEmailAndPassword: null,\n currentUser: null,\n fetchSignInMethodsForEmail: null,\n isSignInWithEmailLink: null,\n getRedirectResult: null,\n languageCode: null,\n settings: null,\n onAuthStateChanged: null,\n onIdTokenChanged: null,\n sendSignInLinkToEmail: null,\n sendPasswordResetEmail: null,\n setPersistence: null,\n signInAndRetrieveDataWithCredential: null,\n signInAnonymously: null,\n signInWithCredential: null,\n signInWithCustomToken: null,\n signInWithEmailAndPassword: null,\n signInWithPhoneNumber: null,\n signInWithEmailLink: null,\n signInWithPopup: null,\n signInWithRedirect: null,\n signOut: null,\n tenantId: null,\n updateCurrentUser: null,\n useDeviceLanguage: null,\n useEmulator: null,\n verifyPasswordResetCode: null,\n};\n","import { Injectable, Inject, Optional, NgZone, PLATFORM_ID, InjectionToken } from '@angular/core';\nimport { Observable, of, from, merge, Subject } from 'rxjs';\nimport { switchMap, map, observeOn, shareReplay, first, filter, switchMapTo, subscribeOn } from 'rxjs/operators';\nimport { ɵAngularFireSchedulers, keepUnstableUntilFirst } from '@angular/fire';\nimport { ɵlazySDKProxy, ɵPromiseProxy, ɵapplyMixins } from '@angular/fire/compat';\nimport { ɵfirebaseAppFactory, FIREBASE_OPTIONS, FIREBASE_APP_NAME, FirebaseApp, ɵcacheInstance } from '@angular/fire/compat';\nimport { FirebaseOptions } from 'firebase/app';\nimport firebase from 'firebase/compat/app';\nimport { isPlatformServer } from '@angular/common';\nimport { proxyPolyfillCompat } from './base';\nimport { AppCheckInstances } from '@angular/fire/app-check';\n\nexport interface AngularFireAuth extends ɵPromiseProxy<firebase.auth.Auth> {}\n\ntype UseEmulatorArguments = Parameters<firebase.auth.Auth['useEmulator']>;\nexport const USE_EMULATOR = new InjectionToken<UseEmulatorArguments>('angularfire2.auth.use-emulator');\n\nexport const SETTINGS = new InjectionToken<firebase.auth.AuthSettings>('angularfire2.auth.settings');\nexport const TENANT_ID = new InjectionToken<string>('angularfire2.auth.tenant-id');\nexport const LANGUAGE_CODE = new InjectionToken<string>('angularfire2.auth.langugage-code');\nexport const USE_DEVICE_LANGUAGE = new InjectionToken<boolean>('angularfire2.auth.use-device-language');\nexport const PERSISTENCE = new InjectionToken<string>('angularfire.auth.persistence');\n\nexport const ɵauthFactory = (\n app: FirebaseApp, zone: NgZone, useEmulator: UseEmulatorArguments|null,\n tenantId: string, languageCode: string|null, useDeviceLanguage: boolean|null,\n settings: firebase.auth.AuthSettings|null, persistence: string|null,\n) => ɵcacheInstance(`${app.name}.auth`, 'AngularFireAuth', app.name, () => {\n const auth = zone.runOutsideAngular(() => app.auth());\n if (useEmulator) {\n auth.useEmulator(...useEmulator);\n }\n if (tenantId) {\n auth.tenantId = tenantId;\n }\n auth.languageCode = languageCode;\n if (useDeviceLanguage) {\n auth.useDeviceLanguage();\n }\n if (settings) {\n for (const [k, v] of Object.entries(settings)) {\n auth.settings[k] = v;\n }\n }\n if (persistence) {\n auth.setPersistence(persistence);\n }\n return auth;\n}, [useEmulator, tenantId, languageCode, useDeviceLanguage, settings, persistence]);\n\n@Injectable({\n providedIn: 'any'\n})\nexport class AngularFireAuth {\n\n /**\n * Observable of authentication state; as of Firebase 4.0 this is only triggered via sign-in/out\n */\n public readonly authState: Observable<firebase.User|null>;\n\n /**\n * Observable of the currently signed-in user's JWT token used to identify the user to a Firebase service (or null).\n */\n public readonly idToken: Observable<string|null>;\n\n /**\n * Observable of the currently signed-in user (or null).\n */\n public readonly user: Observable<firebase.User|null>;\n\n /**\n * Observable of the currently signed-in user's IdTokenResult object which contains the ID token JWT string and other\n * helper properties for getting different data associated with the token as well as all the decoded payload claims\n * (or null).\n */\n public readonly idTokenResult: Observable<firebase.auth.IdTokenResult|null>;\n\n /**\n * Observable of the currently signed-in user's credential, or null\n */\n public readonly credential: Observable<Required<firebase.auth.UserCredential>|null>;\n\n constructor(\n @Inject(FIREBASE_OPTIONS) options: FirebaseOptions,\n @Optional() @Inject(FIREBASE_APP_NAME) name: string|null|undefined,\n // tslint:disable-next-line:ban-types\n @Inject(PLATFORM_ID) platformId: Object,\n zone: NgZone,\n schedulers: ɵAngularFireSchedulers,\n @Optional() @Inject(USE_EMULATOR) useEmulator: any, // can't use the tuple here\n @Optional() @Inject(SETTINGS) settings: any, // can't use firebase.auth.AuthSettings here\n @Optional() @Inject(TENANT_ID) tenantId: string | null,\n @Optional() @Inject(LANGUAGE_CODE) languageCode: string | null,\n @Optional() @Inject(USE_DEVICE_LANGUAGE) useDeviceLanguage: boolean | null,\n @Optional() @Inject(PERSISTENCE) persistence: string | null,\n @Optional() _appCheckInstances: AppCheckInstances,\n ) {\n const logins = new Subject<Required<firebase.auth.UserCredential>>();\n\n const auth = of(undefined).pipe(\n observeOn(schedulers.outsideAngular),\n switchMap(() => zone.runOutsideAngular(() => import('firebase/compat/auth'))),\n map(() => ɵfirebaseAppFactory(options, zone, name)),\n map(app => ɵauthFactory(app, zone, useEmulator, tenantId, languageCode, useDeviceLanguage, settings, persistence)),\n shareReplay({ bufferSize: 1, refCount: false }),\n );\n\n if (isPlatformServer(platformId)) {\n\n this.authState = this.user = this.idToken = this.idTokenResult = this.credential = of(null);\n\n } else {\n\n // HACK, as we're exporting auth.Auth, rather than auth, developers importing firebase.auth\n // (e.g, `import { auth } from 'firebase/compat/app'`) are getting an undefined auth object unexpectedly\n // as we're completely lazy. Let's eagerly load the Auth SDK here.\n // There could potentially be race conditions still... but this greatly decreases the odds while\n // we reevaluate the API.\n const _ = auth.pipe(first()).subscribe();\n\n const redirectResult = auth.pipe(\n switchMap(auth => auth.getRedirectResult().then(it => it, () => null)),\n keepUnstableUntilFirst,\n shareReplay({ bufferSize: 1, refCount: false }),\n );\n\n const authStateChanged = auth.pipe(\n switchMap(auth => new Observable<firebase.User|null>(sub =>\n ({ unsubscribe: zone.runOutsideAngular(() => auth.onAuthStateChanged(\n next => sub.next(next),\n err => sub.error(err),\n () => sub.complete()\n ))})\n )),\n );\n\n const idTokenChanged = auth.pipe(\n switchMap(auth => new Observable<firebase.User|null>(sub =>\n ({ unsubscribe: zone.runOutsideAngular(() => auth.onIdTokenChanged(\n next => sub.next(next),\n err => sub.error(err),\n () => sub.complete()\n ))})\n ))\n );\n\n this.authState = redirectResult.pipe(\n switchMapTo(authStateChanged),\n subscribeOn(schedulers.outsideAngular),\n observeOn(schedulers.insideAngular),\n );\n\n this.user = redirectResult.pipe(\n switchMapTo(idTokenChanged),\n subscribeOn(schedulers.outsideAngular),\n observeOn(schedulers.insideAngular),\n );\n\n this.idToken = this.user.pipe(\n switchMap(user => user ? from(user.getIdToken()) : of(null))\n );\n\n this.idTokenResult = this.user.pipe(\n switchMap(user => user ? from(user.getIdTokenResult()) : of(null))\n );\n\n this.credential = merge(\n redirectResult,\n logins,\n // pipe in null authState to make credential zipable, just a weird devexp if\n // authState and user go null to still have a credential\n this.authState.pipe(filter(it => !it))\n ).pipe(\n // handle the { user: { } } when a user is already logged in, rather have null\n // TODO handle the type corcersion better\n map(credential => credential?.user ? credential as Required<firebase.auth.UserCredential> : null),\n subscribeOn(schedulers.outsideAngular),\n observeOn(schedulers.insideAngular),\n );\n\n }\n\n return ɵlazySDKProxy(this, auth, zone, { spy: {\n apply: (name, _, val) => {\n // If they call a signIn or createUser function listen into the promise\n // this will give us the user credential, push onto the logins Subject\n // to be consumed in .credential\n if (name.startsWith('signIn') || name.startsWith('createUser')) {\n // TODO fix the types, the trouble is UserCredential has everything optional\n val.then((user: firebase.auth.UserCredential) => logins.next(user as any));\n }\n }\n }});\n\n }\n\n}\n\nɵapplyMixins(AngularFireAuth, [proxyPolyfillCompat]);\n","import { NgModule } from '@angular/core';\nimport { AngularFireAuth } from './auth';\nimport firebase from 'firebase/compat/app';\nimport { VERSION } from '@angular/fire';\n\n@NgModule({\n providers: [ AngularFireAuth ]\n})\nexport class AngularFireAuthModule {\n constructor() {\n firebase.registerVersion('angularfire', VERSION.full, 'auth-compat');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"angular-fire-compat-auth.mjs","sources":["../../../src/compat/auth/base.ts","../../../src/compat/auth/auth.ts","../../../src/compat/auth/auth.module.ts","../../../src/compat/auth/angular-fire-compat-auth.ts"],"sourcesContent":["// DO NOT MODIFY, this file is autogenerated by tools/build.ts\n// Export a null object with the same keys as firebase/compat/auth, so Proxy can work with proxy-polyfill in Internet Explorer\nexport const proxyPolyfillCompat = {\n name: null,\n config: null,\n emulatorConfig: null,\n app: null,\n applyActionCode: null,\n checkActionCode: null,\n confirmPasswordReset: null,\n createUserWithEmailAndPassword: null,\n currentUser: null,\n fetchSignInMethodsForEmail: null,\n isSignInWithEmailLink: null,\n getRedirectResult: null,\n languageCode: null,\n settings: null,\n onAuthStateChanged: null,\n onIdTokenChanged: null,\n sendSignInLinkToEmail: null,\n sendPasswordResetEmail: null,\n setPersistence: null,\n signInAndRetrieveDataWithCredential: null,\n signInAnonymously: null,\n signInWithCredential: null,\n signInWithCustomToken: null,\n signInWithEmailAndPassword: null,\n signInWithPhoneNumber: null,\n signInWithEmailLink: null,\n signInWithPopup: null,\n signInWithRedirect: null,\n signOut: null,\n tenantId: null,\n updateCurrentUser: null,\n useDeviceLanguage: null,\n useEmulator: null,\n verifyPasswordResetCode: null,\n};\n","import { isPlatformServer } from '@angular/common';\nimport { Inject, Injectable, InjectionToken, NgZone, Optional, PLATFORM_ID } from '@angular/core';\nimport { keepUnstableUntilFirst, ɵAngularFireSchedulers } from '@angular/fire';\nimport { AppCheckInstances } from '@angular/fire/app-check';\nimport { ɵPromiseProxy, ɵapplyMixins, ɵlazySDKProxy } from '@angular/fire/compat';\nimport { FIREBASE_APP_NAME, FIREBASE_OPTIONS, FirebaseApp, ɵcacheInstance, ɵfirebaseAppFactory } from '@angular/fire/compat';\nimport { FirebaseOptions } from 'firebase/app';\nimport firebase from 'firebase/compat/app';\nimport { Observable, Subject, from, merge, of } from 'rxjs';\nimport { filter, first, map, observeOn, shareReplay, subscribeOn, switchMap, switchMapTo } from 'rxjs/operators';\nimport { proxyPolyfillCompat } from './base';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface AngularFireAuth extends ɵPromiseProxy<firebase.auth.Auth> {}\n\ntype UseEmulatorArguments = Parameters<firebase.auth.Auth['useEmulator']>;\nexport const USE_EMULATOR = new InjectionToken<UseEmulatorArguments>('angularfire2.auth.use-emulator');\n\nexport const SETTINGS = new InjectionToken<firebase.auth.AuthSettings>('angularfire2.auth.settings');\nexport const TENANT_ID = new InjectionToken<string>('angularfire2.auth.tenant-id');\nexport const LANGUAGE_CODE = new InjectionToken<string>('angularfire2.auth.langugage-code');\nexport const USE_DEVICE_LANGUAGE = new InjectionToken<boolean>('angularfire2.auth.use-device-language');\nexport const PERSISTENCE = new InjectionToken<string>('angularfire.auth.persistence');\n\nexport const ɵauthFactory = (\n app: FirebaseApp, zone: NgZone, useEmulator: UseEmulatorArguments|null,\n tenantId: string, languageCode: string|null, useDeviceLanguage: boolean|null,\n settings: firebase.auth.AuthSettings|null, persistence: string|null,\n) => ɵcacheInstance(`${app.name}.auth`, 'AngularFireAuth', app.name, () => {\n const auth = zone.runOutsideAngular(() => app.auth());\n if (useEmulator) {\n auth.useEmulator(...useEmulator);\n }\n if (tenantId) {\n auth.tenantId = tenantId;\n }\n auth.languageCode = languageCode;\n if (useDeviceLanguage) {\n auth.useDeviceLanguage();\n }\n if (settings) {\n for (const [k, v] of Object.entries(settings)) {\n auth.settings[k] = v;\n }\n }\n if (persistence) {\n auth.setPersistence(persistence);\n }\n return auth;\n}, [useEmulator, tenantId, languageCode, useDeviceLanguage, settings, persistence]);\n\n@Injectable({\n providedIn: 'any'\n})\nexport class AngularFireAuth {\n\n /**\n * Observable of authentication state; as of Firebase 4.0 this is only triggered via sign-in/out\n */\n public readonly authState: Observable<firebase.User|null>;\n\n /**\n * Observable of the currently signed-in user's JWT token used to identify the user to a Firebase service (or null).\n */\n public readonly idToken: Observable<string|null>;\n\n /**\n * Observable of the currently signed-in user (or null).\n */\n public readonly user: Observable<firebase.User|null>;\n\n /**\n * Observable of the currently signed-in user's IdTokenResult object which contains the ID token JWT string and other\n * helper properties for getting different data associated with the token as well as all the decoded payload claims\n * (or null).\n */\n public readonly idTokenResult: Observable<firebase.auth.IdTokenResult|null>;\n\n /**\n * Observable of the currently signed-in user's credential, or null\n */\n public readonly credential: Observable<Required<firebase.auth.UserCredential>|null>;\n\n constructor(\n @Inject(FIREBASE_OPTIONS) options: FirebaseOptions,\n @Optional() @Inject(FIREBASE_APP_NAME) name: string|null|undefined,\n // eslint-disable-next-line @typescript-eslint/ban-types\n @Inject(PLATFORM_ID) platformId: Object,\n zone: NgZone,\n schedulers: ɵAngularFireSchedulers,\n @Optional() @Inject(USE_EMULATOR) useEmulator: any, // can't use the tuple here\n @Optional() @Inject(SETTINGS) settings: any, // can't use firebase.auth.AuthSettings here\n @Optional() @Inject(TENANT_ID) tenantId: string | null,\n @Optional() @Inject(LANGUAGE_CODE) languageCode: string | null,\n @Optional() @Inject(USE_DEVICE_LANGUAGE) useDeviceLanguage: boolean | null,\n @Optional() @Inject(PERSISTENCE) persistence: string | null,\n @Optional() _appCheckInstances: AppCheckInstances,\n ) {\n const logins = new Subject<Required<firebase.auth.UserCredential>>();\n\n const auth = of(undefined).pipe(\n observeOn(schedulers.outsideAngular),\n switchMap(() => zone.runOutsideAngular(() => import('firebase/compat/auth'))),\n map(() => ɵfirebaseAppFactory(options, zone, name)),\n map(app => ɵauthFactory(app, zone, useEmulator, tenantId, languageCode, useDeviceLanguage, settings, persistence)),\n shareReplay({ bufferSize: 1, refCount: false }),\n );\n\n if (isPlatformServer(platformId)) {\n\n this.authState = this.user = this.idToken = this.idTokenResult = this.credential = of(null);\n\n } else {\n\n // HACK, as we're exporting auth.Auth, rather than auth, developers importing firebase.auth\n // (e.g, `import { auth } from 'firebase/compat/app'`) are getting an undefined auth object unexpectedly\n // as we're completely lazy. Let's eagerly load the Auth SDK here.\n // There could potentially be race conditions still... but this greatly decreases the odds while\n // we reevaluate the API.\n auth.pipe(first()).subscribe();\n\n const redirectResult = auth.pipe(\n switchMap(auth => auth.getRedirectResult().then(it => it, () => null)),\n keepUnstableUntilFirst,\n shareReplay({ bufferSize: 1, refCount: false }),\n );\n\n const authStateChanged = auth.pipe(\n switchMap(auth => new Observable<firebase.User|null>(sub =>\n ({ unsubscribe: zone.runOutsideAngular(() => auth.onAuthStateChanged(\n next => sub.next(next),\n err => sub.error(err),\n () => sub.complete()\n ))})\n )),\n );\n\n const idTokenChanged = auth.pipe(\n switchMap(auth => new Observable<firebase.User|null>(sub =>\n ({ unsubscribe: zone.runOutsideAngular(() => auth.onIdTokenChanged(\n next => sub.next(next),\n err => sub.error(err),\n () => sub.complete()\n ))})\n ))\n );\n\n this.authState = redirectResult.pipe(\n switchMapTo(authStateChanged),\n subscribeOn(schedulers.outsideAngular),\n observeOn(schedulers.insideAngular),\n );\n\n this.user = redirectResult.pipe(\n switchMapTo(idTokenChanged),\n subscribeOn(schedulers.outsideAngular),\n observeOn(schedulers.insideAngular),\n );\n\n this.idToken = this.user.pipe(\n switchMap(user => user ? from(user.getIdToken()) : of(null))\n );\n\n this.idTokenResult = this.user.pipe(\n switchMap(user => user ? from(user.getIdTokenResult()) : of(null))\n );\n\n this.credential = merge(\n redirectResult,\n logins,\n // pipe in null authState to make credential zipable, just a weird devexp if\n // authState and user go null to still have a credential\n this.authState.pipe(filter(it => !it))\n ).pipe(\n // handle the { user: { } } when a user is already logged in, rather have null\n // TODO handle the type corcersion better\n map(credential => credential?.user ? credential as Required<firebase.auth.UserCredential> : null),\n subscribeOn(schedulers.outsideAngular),\n observeOn(schedulers.insideAngular),\n );\n\n }\n\n return ɵlazySDKProxy(this, auth, zone, { spy: {\n apply: (name, _, val) => {\n // If they call a signIn or createUser function listen into the promise\n // this will give us the user credential, push onto the logins Subject\n // to be consumed in .credential\n if (name.startsWith('signIn') || name.startsWith('createUser')) {\n // TODO fix the types, the trouble is UserCredential has everything optional\n val.then((user: firebase.auth.UserCredential) => logins.next(user as any));\n }\n }\n }});\n\n }\n\n}\n\nɵapplyMixins(AngularFireAuth, [proxyPolyfillCompat]);\n","import { NgModule } from '@angular/core';\nimport { VERSION } from '@angular/fire';\nimport firebase from 'firebase/compat/app';\nimport { AngularFireAuth } from './auth';\n\n@NgModule({\n providers: [ AngularFireAuth ]\n})\nexport class AngularFireAuthModule {\n constructor() {\n firebase.registerVersion('angularfire', VERSION.full, 'auth-compat');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
@@ -1,53 +1,17 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { InjectionToken, PLATFORM_ID, Injectable, Inject, Optional, NgModule } from '@angular/core';
3
- import { Observable, asyncScheduler, of, merge } from 'rxjs';
4
- import { map, share, switchMap, scan, distinctUntilChanged, withLatestFrom, skipWhile } from 'rxjs/operators';
5
3
  import * as i1 from '@angular/fire';
6
4
  import { keepUnstableUntilFirst, VERSION } from '@angular/fire';
5
+ import * as i3 from '@angular/fire/app-check';
7
6
  import { ɵfirebaseAppFactory, ɵcacheInstance, FIREBASE_OPTIONS, FIREBASE_APP_NAME } from '@angular/fire/compat';
8
- import 'firebase/compat/auth';
9
- import 'firebase/compat/database';
10
7
  import * as i2 from '@angular/fire/compat/auth';
11
8
  import { ɵauthFactory, USE_EMULATOR as USE_EMULATOR$1, SETTINGS, TENANT_ID, LANGUAGE_CODE, USE_DEVICE_LANGUAGE, PERSISTENCE } from '@angular/fire/compat/auth';
12
- import * as i3 from '@angular/fire/app-check';
9
+ import { map, share, scan, withLatestFrom, skipWhile, switchMap, distinctUntilChanged } from 'rxjs/operators';
10
+ import { Observable, asyncScheduler, merge, of } from 'rxjs';
11
+ import 'firebase/compat/auth';
12
+ import 'firebase/compat/database';
13
13
  import firebase from 'firebase/compat/app';
14
14
 
15
- function isString(value) {
16
- return typeof value === 'string';
17
- }
18
- function isFirebaseDataSnapshot(value) {
19
- return typeof value.exportVal === 'function';
20
- }
21
- function isNil(obj) {
22
- return obj === undefined || obj === null;
23
- }
24
- function isFirebaseRef(value) {
25
- return typeof value.set === 'function';
26
- }
27
- /**
28
- * Returns a database reference given a Firebase App and an
29
- * absolute or relative path.
30
- * @param database - Firebase Database
31
- * @param pathRef - Database path, relative or absolute
32
- */
33
- function getRef(database, pathRef) {
34
- // if a db ref was passed in, just return it
35
- return isFirebaseRef(pathRef) ? pathRef
36
- : database.ref(pathRef);
37
- }
38
- function checkOperationCases(item, cases) {
39
- if (isString(item)) {
40
- return cases.stringCase();
41
- }
42
- else if (isFirebaseRef(item)) {
43
- return cases.firebaseCase();
44
- }
45
- else if (isFirebaseDataSnapshot(item)) {
46
- return cases.snapshotCase();
47
- }
48
- throw new Error(`Expects a string, snapshot, or reference. Got: ${typeof item}`);
49
- }
50
-
51
15
  /**
52
16
  * Create an observable from a Database Reference or Database Query.
53
17
  * @param ref Database Reference
@@ -79,6 +43,7 @@ function fromRef(ref, event, listenType = 'on', scheduler = asyncScheduler) {
79
43
  }
80
44
  else {
81
45
  return {
46
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
82
47
  unsubscribe() {
83
48
  }
84
49
  };
@@ -93,85 +58,40 @@ function fromRef(ref, event, listenType = 'on', scheduler = asyncScheduler) {
93
58
  }), share());
94
59
  }
95
60
 
96
- function listChanges(ref, events, scheduler) {
97
- return fromRef(ref, 'value', 'once', scheduler).pipe(switchMap(snapshotAction => {
98
- const childEvent$ = [of(snapshotAction)];
99
- events.forEach(event => childEvent$.push(fromRef(ref, event, 'on', scheduler)));
100
- return merge(...childEvent$).pipe(scan(buildView, []));
101
- }), distinctUntilChanged());
61
+ function isString(value) {
62
+ return typeof value === 'string';
102
63
  }
103
- function positionFor(changes, key) {
104
- const len = changes.length;
105
- for (let i = 0; i < len; i++) {
106
- if (changes[i].payload.key === key) {
107
- return i;
108
- }
109
- }
110
- return -1;
64
+ function isFirebaseDataSnapshot(value) {
65
+ return typeof value.exportVal === 'function';
111
66
  }
112
- function positionAfter(changes, prevKey) {
113
- if (isNil(prevKey)) {
114
- return 0;
67
+ function isNil(obj) {
68
+ return obj === undefined || obj === null;
69
+ }
70
+ function isFirebaseRef(value) {
71
+ return typeof value.set === 'function';
72
+ }
73
+ /**
74
+ * Returns a database reference given a Firebase App and an
75
+ * absolute or relative path.
76
+ * @param database - Firebase Database
77
+ * @param pathRef - Database path, relative or absolute
78
+ */
79
+ function getRef(database, pathRef) {
80
+ // if a db ref was passed in, just return it
81
+ return isFirebaseRef(pathRef) ? pathRef
82
+ : database.ref(pathRef);
83
+ }
84
+ function checkOperationCases(item, cases) {
85
+ if (isString(item)) {
86
+ return cases.stringCase();
115
87
  }
116
- else {
117
- const i = positionFor(changes, prevKey);
118
- if (i === -1) {
119
- return changes.length;
120
- }
121
- else {
122
- return i + 1;
123
- }
88
+ else if (isFirebaseRef(item)) {
89
+ return cases.firebaseCase();
124
90
  }
125
- }
126
- function buildView(current, action) {
127
- const { payload, prevKey, key } = action;
128
- const currentKeyPosition = positionFor(current, key);
129
- const afterPreviousKeyPosition = positionAfter(current, prevKey);
130
- switch (action.type) {
131
- case 'value':
132
- if (action.payload && action.payload.exists()) {
133
- let prevKey = null;
134
- action.payload.forEach(payload => {
135
- const action = { payload, type: 'value', prevKey, key: payload.key };
136
- prevKey = payload.key;
137
- current = [...current, action];
138
- return false;
139
- });
140
- }
141
- return current;
142
- case 'child_added':
143
- if (currentKeyPosition > -1) {
144
- // check that the previouskey is what we expect, else reorder
145
- const previous = current[currentKeyPosition - 1];
146
- if ((previous && previous.key || null) !== prevKey) {
147
- current = current.filter(x => x.payload.key !== payload.key);
148
- current.splice(afterPreviousKeyPosition, 0, action);
149
- }
150
- }
151
- else if (prevKey == null) {
152
- return [action, ...current];
153
- }
154
- else {
155
- current = current.slice();
156
- current.splice(afterPreviousKeyPosition, 0, action);
157
- }
158
- return current;
159
- case 'child_removed':
160
- return current.filter(x => x.payload.key !== payload.key);
161
- case 'child_changed':
162
- return current.map(x => x.payload.key === key ? action : x);
163
- case 'child_moved':
164
- if (currentKeyPosition > -1) {
165
- const data = current.splice(currentKeyPosition, 1)[0];
166
- current = current.slice();
167
- current.splice(afterPreviousKeyPosition, 0, data);
168
- return current;
169
- }
170
- return current;
171
- // default will also remove null results
172
- default:
173
- return current;
91
+ else if (isFirebaseDataSnapshot(item)) {
92
+ return cases.snapshotCase();
174
93
  }
94
+ throw new Error(`Expects a string, snapshot, or reference. Got: ${typeof item}`);
175
95
  }
176
96
 
177
97
  function validateEventsArray(events) {
@@ -181,11 +101,6 @@ function validateEventsArray(events) {
181
101
  return events;
182
102
  }
183
103
 
184
- function snapshotChanges(query, events, scheduler) {
185
- events = validateEventsArray(events);
186
- return listChanges(query, events, scheduler);
187
- }
188
-
189
104
  function stateChanges(query, events, scheduler) {
190
105
  events = validateEventsArray(events);
191
106
  const childEvent$ = events.map(event => fromRef(query, event, 'on', scheduler));
@@ -261,6 +176,92 @@ function createRemoveMethod(ref) {
261
176
  };
262
177
  }
263
178
 
179
+ function listChanges(ref, events, scheduler) {
180
+ return fromRef(ref, 'value', 'once', scheduler).pipe(switchMap(snapshotAction => {
181
+ const childEvent$ = [of(snapshotAction)];
182
+ events.forEach(event => childEvent$.push(fromRef(ref, event, 'on', scheduler)));
183
+ return merge(...childEvent$).pipe(scan(buildView, []));
184
+ }), distinctUntilChanged());
185
+ }
186
+ function positionFor(changes, key) {
187
+ const len = changes.length;
188
+ for (let i = 0; i < len; i++) {
189
+ if (changes[i].payload.key === key) {
190
+ return i;
191
+ }
192
+ }
193
+ return -1;
194
+ }
195
+ function positionAfter(changes, prevKey) {
196
+ if (isNil(prevKey)) {
197
+ return 0;
198
+ }
199
+ else {
200
+ const i = positionFor(changes, prevKey);
201
+ if (i === -1) {
202
+ return changes.length;
203
+ }
204
+ else {
205
+ return i + 1;
206
+ }
207
+ }
208
+ }
209
+ function buildView(current, action) {
210
+ const { payload, prevKey, key } = action;
211
+ const currentKeyPosition = positionFor(current, key);
212
+ const afterPreviousKeyPosition = positionAfter(current, prevKey);
213
+ switch (action.type) {
214
+ case 'value':
215
+ if (action.payload?.exists()) {
216
+ let prevKey = null;
217
+ action.payload.forEach(payload => {
218
+ const action = { payload, type: 'value', prevKey, key: payload.key };
219
+ prevKey = payload.key;
220
+ current = [...current, action];
221
+ return false;
222
+ });
223
+ }
224
+ return current;
225
+ case 'child_added':
226
+ if (currentKeyPosition > -1) {
227
+ // check that the previouskey is what we expect, else reorder
228
+ const previous = current[currentKeyPosition - 1];
229
+ if ((previous?.key || null) !== prevKey) {
230
+ current = current.filter(x => x.payload.key !== payload.key);
231
+ current.splice(afterPreviousKeyPosition, 0, action);
232
+ }
233
+ }
234
+ else if (prevKey == null) {
235
+ return [action, ...current];
236
+ }
237
+ else {
238
+ current = current.slice();
239
+ current.splice(afterPreviousKeyPosition, 0, action);
240
+ }
241
+ return current;
242
+ case 'child_removed':
243
+ return current.filter(x => x.payload.key !== payload.key);
244
+ case 'child_changed':
245
+ return current.map(x => x.payload.key === key ? action : x);
246
+ case 'child_moved':
247
+ if (currentKeyPosition > -1) {
248
+ const data = current.splice(currentKeyPosition, 1)[0];
249
+ current = current.slice();
250
+ current.splice(afterPreviousKeyPosition, 0, data);
251
+ return current;
252
+ }
253
+ return current;
254
+ // default will also remove null results
255
+ default:
256
+ return current;
257
+ }
258
+ }
259
+
260
+ function snapshotChanges(query, events, scheduler) {
261
+ events = validateEventsArray(events);
262
+ return listChanges(query, events, scheduler);
263
+ }
264
+
264
265
  function createListReference(query, afDatabase) {
265
266
  const outsideAngularScheduler = afDatabase.schedulers.outsideAngular;
266
267
  const refInZone = afDatabase.schedulers.ngZone.run(() => query.ref);
@@ -326,7 +327,7 @@ class AngularFireDatabase {
326
327
  schedulers;
327
328
  database;
328
329
  constructor(options, name, databaseURL,
329
- // tslint:disable-next-line:ban-types
330
+ // eslint-disable-next-line @typescript-eslint/ban-types
330
331
  platformId, zone, schedulers, _useEmulator, // tuple isn't working here
331
332
  auth, useAuthEmulator, authSettings, // can't use firebase.auth.AuthSettings here
332
333
  tenantId, languageCode, useDeviceLanguage, persistence, _appCheckInstances) {
@@ -360,10 +361,10 @@ class AngularFireDatabase {
360
361
  const ref = this.schedulers.ngZone.runOutsideAngular(() => this.database.ref());
361
362
  return ref.push().key;
362
363
  }
363
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireDatabase, deps: [{ token: FIREBASE_OPTIONS }, { token: FIREBASE_APP_NAME, optional: true }, { token: URL, optional: true }, { token: PLATFORM_ID }, { token: i0.NgZone }, { token: i1.ɵAngularFireSchedulers }, { token: USE_EMULATOR, optional: true }, { token: i2.AngularFireAuth, optional: true }, { token: USE_EMULATOR$1, optional: true }, { token: SETTINGS, optional: true }, { token: TENANT_ID, optional: true }, { token: LANGUAGE_CODE, optional: true }, { token: USE_DEVICE_LANGUAGE, optional: true }, { token: PERSISTENCE, optional: true }, { token: i3.AppCheckInstances, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
364
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireDatabase, providedIn: 'any' });
364
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AngularFireDatabase, deps: [{ token: FIREBASE_OPTIONS }, { token: FIREBASE_APP_NAME, optional: true }, { token: URL, optional: true }, { token: PLATFORM_ID }, { token: i0.NgZone }, { token: i1.ɵAngularFireSchedulers }, { token: USE_EMULATOR, optional: true }, { token: i2.AngularFireAuth, optional: true }, { token: USE_EMULATOR$1, optional: true }, { token: SETTINGS, optional: true }, { token: TENANT_ID, optional: true }, { token: LANGUAGE_CODE, optional: true }, { token: USE_DEVICE_LANGUAGE, optional: true }, { token: PERSISTENCE, optional: true }, { token: i3.AppCheckInstances, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
365
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AngularFireDatabase, providedIn: 'any' });
365
366
  }
366
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireDatabase, decorators: [{
367
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AngularFireDatabase, decorators: [{
367
368
  type: Injectable,
368
369
  args: [{
369
370
  providedIn: 'any'
@@ -429,11 +430,11 @@ class AngularFireDatabaseModule {
429
430
  constructor() {
430
431
  firebase.registerVersion('angularfire', VERSION.full, 'rtdb-compat');
431
432
  }
432
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireDatabaseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
433
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.3", ngImport: i0, type: AngularFireDatabaseModule });
434
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireDatabaseModule, providers: [AngularFireDatabase] });
433
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AngularFireDatabaseModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
434
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.10", ngImport: i0, type: AngularFireDatabaseModule });
435
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AngularFireDatabaseModule, providers: [AngularFireDatabase] });
435
436
  }
436
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: AngularFireDatabaseModule, decorators: [{
437
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AngularFireDatabaseModule, decorators: [{
437
438
  type: NgModule,
438
439
  args: [{
439
440
  providers: [AngularFireDatabase]