@angular/fire 18.0.1 → 19.0.0-canary.45ccd39

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 (283) hide show
  1. package/README.md +2 -2
  2. package/analytics/analytics.module.d.ts +2 -2
  3. package/analytics/firebase.d.ts +3 -3
  4. package/analytics/screen-tracking.service.d.ts +1 -1
  5. package/auth/rxfire.d.ts +2 -2
  6. package/compat/database/database.d.ts +1 -1
  7. package/compat/firestore/firestore.d.ts +1 -1
  8. package/compat/storage/pipes/storageUrl.pipe.d.ts +2 -2
  9. package/compat/storage/storage.d.ts +1 -1
  10. package/compat/storage/storage.module.d.ts +1 -1
  11. package/data-connect/data-connect.d.ts +9 -0
  12. package/data-connect/data-connect.module.d.ts +13 -0
  13. package/data-connect/firebase.d.ts +12 -0
  14. package/{vertexai-preview → data-connect}/index.d.ts +1 -1
  15. package/data-connect/package.json +3 -0
  16. package/data-connect/public_api.d.ts +3 -0
  17. package/database/rxfire.d.ts +4 -4
  18. package/docs/install-and-setup.md +10 -5
  19. package/docs/vertexai.md +3 -3
  20. package/fesm2022/angular-fire-analytics.mjs +25 -52
  21. package/fesm2022/angular-fire-analytics.mjs.map +1 -1
  22. package/fesm2022/angular-fire-app-check.mjs +4 -4
  23. package/fesm2022/angular-fire-app-check.mjs.map +1 -1
  24. package/fesm2022/angular-fire-app.mjs +4 -4
  25. package/fesm2022/angular-fire-app.mjs.map +1 -1
  26. package/fesm2022/angular-fire-auth-guard.mjs +7 -7
  27. package/fesm2022/angular-fire-auth-guard.mjs.map +1 -1
  28. package/fesm2022/angular-fire-auth.mjs +7 -7
  29. package/fesm2022/angular-fire-auth.mjs.map +1 -1
  30. package/fesm2022/angular-fire-compat-analytics.mjs +15 -15
  31. package/fesm2022/angular-fire-compat-analytics.mjs.map +1 -1
  32. package/fesm2022/angular-fire-compat-auth-guard.mjs +7 -7
  33. package/fesm2022/angular-fire-compat-auth-guard.mjs.map +1 -1
  34. package/fesm2022/angular-fire-compat-auth.mjs +10 -9
  35. package/fesm2022/angular-fire-compat-auth.mjs.map +1 -1
  36. package/fesm2022/angular-fire-compat-database.mjs +20 -19
  37. package/fesm2022/angular-fire-compat-database.mjs.map +1 -1
  38. package/fesm2022/angular-fire-compat-firestore.mjs +25 -24
  39. package/fesm2022/angular-fire-compat-firestore.mjs.map +1 -1
  40. package/fesm2022/angular-fire-compat-functions.mjs +7 -7
  41. package/fesm2022/angular-fire-compat-functions.mjs.map +1 -1
  42. package/fesm2022/angular-fire-compat-messaging.mjs +7 -7
  43. package/fesm2022/angular-fire-compat-messaging.mjs.map +1 -1
  44. package/fesm2022/angular-fire-compat-performance.mjs +10 -10
  45. package/fesm2022/angular-fire-compat-performance.mjs.map +1 -1
  46. package/fesm2022/angular-fire-compat-remote-config.mjs +10 -9
  47. package/fesm2022/angular-fire-compat-remote-config.mjs.map +1 -1
  48. package/fesm2022/angular-fire-compat-storage.mjs +20 -18
  49. package/fesm2022/angular-fire-compat-storage.mjs.map +1 -1
  50. package/fesm2022/angular-fire-compat.mjs +4 -4
  51. package/fesm2022/angular-fire-compat.mjs.map +1 -1
  52. package/fesm2022/angular-fire-data-connect.mjs +100 -0
  53. package/fesm2022/angular-fire-data-connect.mjs.map +1 -0
  54. package/fesm2022/angular-fire-database.mjs +8 -8
  55. package/fesm2022/angular-fire-database.mjs.map +1 -1
  56. package/fesm2022/angular-fire-firestore-lite.mjs +11 -10
  57. package/fesm2022/angular-fire-firestore-lite.mjs.map +1 -1
  58. package/fesm2022/angular-fire-firestore.mjs +14 -13
  59. package/fesm2022/angular-fire-firestore.mjs.map +1 -1
  60. package/fesm2022/angular-fire-functions.mjs +4 -4
  61. package/fesm2022/angular-fire-functions.mjs.map +1 -1
  62. package/fesm2022/angular-fire-messaging.mjs +15 -42
  63. package/fesm2022/angular-fire-messaging.mjs.map +1 -1
  64. package/fesm2022/angular-fire-performance.mjs +6 -6
  65. package/fesm2022/angular-fire-performance.mjs.map +1 -1
  66. package/fesm2022/angular-fire-remote-config.mjs +20 -47
  67. package/fesm2022/angular-fire-remote-config.mjs.map +1 -1
  68. package/fesm2022/angular-fire-storage.mjs +4 -4
  69. package/fesm2022/angular-fire-storage.mjs.map +1 -1
  70. package/fesm2022/{angular-fire-vertexai-preview.mjs → angular-fire-vertexai.mjs} +8 -8
  71. package/fesm2022/angular-fire-vertexai.mjs.map +1 -0
  72. package/fesm2022/angular-fire.mjs +101 -105
  73. package/fesm2022/angular-fire.mjs.map +1 -1
  74. package/firestore/firebase.d.ts +2 -1
  75. package/firestore/lite/firebase.d.ts +2 -1
  76. package/firestore/lite/rxfire.d.ts +4 -4
  77. package/firestore/rxfire.d.ts +7 -7
  78. package/messaging/firebase.d.ts +2 -2
  79. package/messaging/messaging.module.d.ts +2 -2
  80. package/package.json +21 -76
  81. package/performance/rxfire.d.ts +2 -2
  82. package/publish.sh +1 -0
  83. package/remote-config/firebase.d.ts +2 -2
  84. package/remote-config/remote-config.module.d.ts +2 -2
  85. package/remote-config/rxfire.d.ts +5 -5
  86. package/schematics/add/index.js +1 -13
  87. package/schematics/deploy/actions.js +138 -394
  88. package/schematics/deploy/builder.js +139 -61
  89. package/schematics/setup/index.js +94 -64
  90. package/schematics/update/index.js +1 -7
  91. package/schematics/update/v7/index.js +1 -67
  92. package/schematics/versions.json +2 -3
  93. package/vertexai/firebase.d.ts +4 -0
  94. package/vertexai/index.d.ts +5 -0
  95. package/vertexai/package.json +3 -0
  96. package/{vertexai-preview → vertexai}/vertexai.d.ts +1 -1
  97. package/{vertexai-preview → vertexai}/vertexai.module.d.ts +1 -1
  98. package/zones.d.ts +1 -11
  99. package/analytics/is-analytics-supported-factory.d.ts +0 -4
  100. package/analytics/overrides.d.ts +0 -1
  101. package/esm2022/analytics/analytics.mjs +0 -16
  102. package/esm2022/analytics/analytics.module.mjs +0 -101
  103. package/esm2022/analytics/angular-fire-analytics.mjs +0 -5
  104. package/esm2022/analytics/firebase.mjs +0 -17
  105. package/esm2022/analytics/is-analytics-supported-factory.mjs +0 -16
  106. package/esm2022/analytics/overrides.mjs +0 -3
  107. package/esm2022/analytics/public_api.mjs +0 -6
  108. package/esm2022/analytics/screen-tracking.service.mjs +0 -148
  109. package/esm2022/analytics/user-tracking.service.mjs +0 -44
  110. package/esm2022/angular-fire.mjs +0 -5
  111. package/esm2022/app/angular-fire-app.mjs +0 -5
  112. package/esm2022/app/app.mjs +0 -15
  113. package/esm2022/app/app.module.mjs +0 -91
  114. package/esm2022/app/firebase.mjs +0 -13
  115. package/esm2022/app/public_api.mjs +0 -4
  116. package/esm2022/app-check/angular-fire-app-check.mjs +0 -5
  117. package/esm2022/app-check/app-check.mjs +0 -10
  118. package/esm2022/app-check/app-check.module.mjs +0 -80
  119. package/esm2022/app-check/firebase.mjs +0 -10
  120. package/esm2022/app-check/public_api.mjs +0 -5
  121. package/esm2022/auth/angular-fire-auth.mjs +0 -5
  122. package/esm2022/auth/auth.mjs +0 -16
  123. package/esm2022/auth/auth.module.mjs +0 -73
  124. package/esm2022/auth/firebase.mjs +0 -59
  125. package/esm2022/auth/public_api.mjs +0 -5
  126. package/esm2022/auth/rxfire.mjs +0 -7
  127. package/esm2022/auth-guard/angular-fire-auth-guard.mjs +0 -5
  128. package/esm2022/auth-guard/auth-guard.mjs +0 -53
  129. package/esm2022/auth-guard/auth-guard.module.mjs +0 -20
  130. package/esm2022/auth-guard/public_api.mjs +0 -3
  131. package/esm2022/compat/analytics/analytics.mjs +0 -160
  132. package/esm2022/compat/analytics/analytics.module.mjs +0 -35
  133. package/esm2022/compat/analytics/angular-fire-compat-analytics.mjs +0 -5
  134. package/esm2022/compat/analytics/base.mjs +0 -11
  135. package/esm2022/compat/analytics/public_api.mjs +0 -5
  136. package/esm2022/compat/analytics/screen-tracking.service.mjs +0 -49
  137. package/esm2022/compat/analytics/user-tracking.service.mjs +0 -53
  138. package/esm2022/compat/angular-fire-compat.mjs +0 -5
  139. package/esm2022/compat/auth/angular-fire-compat-auth.mjs +0 -5
  140. package/esm2022/compat/auth/auth.mjs +0 -161
  141. package/esm2022/compat/auth/auth.module.mjs +0 -20
  142. package/esm2022/compat/auth/base.mjs +0 -39
  143. package/esm2022/compat/auth/public_api.mjs +0 -4
  144. package/esm2022/compat/auth-guard/angular-fire-compat-auth-guard.mjs +0 -5
  145. package/esm2022/compat/auth-guard/auth-guard.mjs +0 -53
  146. package/esm2022/compat/auth-guard/auth-guard.module.mjs +0 -20
  147. package/esm2022/compat/auth-guard/public_api.mjs +0 -3
  148. package/esm2022/compat/cache.mjs +0 -33
  149. package/esm2022/compat/database/angular-fire-compat-database.mjs +0 -5
  150. package/esm2022/compat/database/database.mjs +0 -119
  151. package/esm2022/compat/database/database.module.mjs +0 -20
  152. package/esm2022/compat/database/interfaces.mjs +0 -2
  153. package/esm2022/compat/database/list/audit-trail.mjs +0 -47
  154. package/esm2022/compat/database/list/changes.mjs +0 -85
  155. package/esm2022/compat/database/list/create-reference.mjs +0 -44
  156. package/esm2022/compat/database/list/data-operation.mjs +0 -11
  157. package/esm2022/compat/database/list/remove.mjs +0 -16
  158. package/esm2022/compat/database/list/snapshot-changes.mjs +0 -7
  159. package/esm2022/compat/database/list/state-changes.mjs +0 -9
  160. package/esm2022/compat/database/list/utils.mjs +0 -8
  161. package/esm2022/compat/database/object/create-reference.mjs +0 -19
  162. package/esm2022/compat/database/object/snapshot-changes.mjs +0 -7
  163. package/esm2022/compat/database/observable/fromRef.mjs +0 -48
  164. package/esm2022/compat/database/public_api.mjs +0 -9
  165. package/esm2022/compat/database/utils.mjs +0 -36
  166. package/esm2022/compat/firebase.app.mjs +0 -6
  167. package/esm2022/compat/firebase.app.module.mjs +0 -71
  168. package/esm2022/compat/firestore/angular-fire-compat-firestore.mjs +0 -5
  169. package/esm2022/compat/firestore/collection/changes.mjs +0 -108
  170. package/esm2022/compat/firestore/collection/collection.mjs +0 -123
  171. package/esm2022/compat/firestore/collection-group/collection-group.mjs +0 -86
  172. package/esm2022/compat/firestore/document/document.mjs +0 -87
  173. package/esm2022/compat/firestore/firestore.mjs +0 -257
  174. package/esm2022/compat/firestore/firestore.module.mjs +0 -32
  175. package/esm2022/compat/firestore/interfaces.mjs +0 -2
  176. package/esm2022/compat/firestore/observable/fromRef.mjs +0 -40
  177. package/esm2022/compat/firestore/public_api.mjs +0 -9
  178. package/esm2022/compat/functions/angular-fire-compat-functions.mjs +0 -5
  179. package/esm2022/compat/functions/base.mjs +0 -8
  180. package/esm2022/compat/functions/functions.mjs +0 -69
  181. package/esm2022/compat/functions/functions.module.mjs +0 -20
  182. package/esm2022/compat/functions/public_api.mjs +0 -4
  183. package/esm2022/compat/messaging/angular-fire-compat-messaging.mjs +0 -5
  184. package/esm2022/compat/messaging/base.mjs +0 -9
  185. package/esm2022/compat/messaging/messaging.mjs +0 -81
  186. package/esm2022/compat/messaging/messaging.module.mjs +0 -20
  187. package/esm2022/compat/messaging/public_api.mjs +0 -3
  188. package/esm2022/compat/performance/angular-fire-compat-performance.mjs +0 -5
  189. package/esm2022/compat/performance/base.mjs +0 -9
  190. package/esm2022/compat/performance/performance.mjs +0 -105
  191. package/esm2022/compat/performance/performance.module.mjs +0 -27
  192. package/esm2022/compat/performance/performance.service.mjs +0 -28
  193. package/esm2022/compat/performance/public_api.mjs +0 -4
  194. package/esm2022/compat/proxy.mjs +0 -58
  195. package/esm2022/compat/public_api.mjs +0 -5
  196. package/esm2022/compat/remote-config/angular-fire-compat-remote-config.mjs +0 -5
  197. package/esm2022/compat/remote-config/base.mjs +0 -20
  198. package/esm2022/compat/remote-config/interfaces.mjs +0 -2
  199. package/esm2022/compat/remote-config/public_api.mjs +0 -3
  200. package/esm2022/compat/remote-config/remote-config.mjs +0 -206
  201. package/esm2022/compat/remote-config/remote-config.module.mjs +0 -20
  202. package/esm2022/compat/storage/angular-fire-compat-storage.mjs +0 -5
  203. package/esm2022/compat/storage/interfaces.mjs +0 -2
  204. package/esm2022/compat/storage/observable/fromTask.mjs +0 -36
  205. package/esm2022/compat/storage/pipes/storageUrl.pipe.mjs +0 -56
  206. package/esm2022/compat/storage/public_api.mjs +0 -7
  207. package/esm2022/compat/storage/ref.mjs +0 -28
  208. package/esm2022/compat/storage/storage.mjs +0 -95
  209. package/esm2022/compat/storage/storage.module.mjs +0 -22
  210. package/esm2022/compat/storage/task.mjs +0 -21
  211. package/esm2022/core.mjs +0 -43
  212. package/esm2022/database/angular-fire-database.mjs +0 -5
  213. package/esm2022/database/database.mjs +0 -16
  214. package/esm2022/database/database.module.mjs +0 -76
  215. package/esm2022/database/firebase.mjs +0 -44
  216. package/esm2022/database/public_api.mjs +0 -5
  217. package/esm2022/database/rxfire.mjs +0 -13
  218. package/esm2022/firestore/angular-fire-firestore.mjs +0 -5
  219. package/esm2022/firestore/firebase.mjs +0 -73
  220. package/esm2022/firestore/firestore.mjs +0 -16
  221. package/esm2022/firestore/firestore.module.mjs +0 -76
  222. package/esm2022/firestore/lite/angular-fire-firestore-lite.mjs +0 -5
  223. package/esm2022/firestore/lite/firebase.mjs +0 -48
  224. package/esm2022/firestore/lite/lite.mjs +0 -16
  225. package/esm2022/firestore/lite/lite.module.mjs +0 -75
  226. package/esm2022/firestore/lite/public_api.mjs +0 -5
  227. package/esm2022/firestore/lite/rxfire.mjs +0 -12
  228. package/esm2022/firestore/public_api.mjs +0 -5
  229. package/esm2022/firestore/rxfire.mjs +0 -15
  230. package/esm2022/functions/angular-fire-functions.mjs +0 -5
  231. package/esm2022/functions/firebase.mjs +0 -9
  232. package/esm2022/functions/functions.mjs +0 -16
  233. package/esm2022/functions/functions.module.mjs +0 -76
  234. package/esm2022/functions/public_api.mjs +0 -5
  235. package/esm2022/functions/rxfire.mjs +0 -5
  236. package/esm2022/messaging/angular-fire-messaging.mjs +0 -5
  237. package/esm2022/messaging/firebase.mjs +0 -10
  238. package/esm2022/messaging/is-messaging-supported-factory.mjs +0 -16
  239. package/esm2022/messaging/messaging.mjs +0 -16
  240. package/esm2022/messaging/messaging.module.mjs +0 -93
  241. package/esm2022/messaging/overrides.mjs +0 -3
  242. package/esm2022/messaging/public_api.mjs +0 -4
  243. package/esm2022/performance/angular-fire-performance.mjs +0 -5
  244. package/esm2022/performance/firebase.mjs +0 -8
  245. package/esm2022/performance/performance.mjs +0 -16
  246. package/esm2022/performance/performance.module.mjs +0 -83
  247. package/esm2022/performance/public_api.mjs +0 -5
  248. package/esm2022/performance/rxfire.mjs +0 -8
  249. package/esm2022/public_api.mjs +0 -3
  250. package/esm2022/remote-config/angular-fire-remote-config.mjs +0 -5
  251. package/esm2022/remote-config/firebase.mjs +0 -17
  252. package/esm2022/remote-config/is-remote-config-supported-factory.mjs +0 -16
  253. package/esm2022/remote-config/overrides.mjs +0 -3
  254. package/esm2022/remote-config/public_api.mjs +0 -5
  255. package/esm2022/remote-config/remote-config.mjs +0 -16
  256. package/esm2022/remote-config/remote-config.module.mjs +0 -93
  257. package/esm2022/remote-config/rxfire.mjs +0 -9
  258. package/esm2022/storage/angular-fire-storage.mjs +0 -5
  259. package/esm2022/storage/firebase.mjs +0 -20
  260. package/esm2022/storage/public_api.mjs +0 -5
  261. package/esm2022/storage/rxfire.mjs +0 -6
  262. package/esm2022/storage/storage.mjs +0 -16
  263. package/esm2022/storage/storage.module.mjs +0 -76
  264. package/esm2022/vertexai-preview/angular-fire-vertexai-preview.mjs +0 -5
  265. package/esm2022/vertexai-preview/firebase.mjs +0 -7
  266. package/esm2022/vertexai-preview/public_api.mjs +0 -4
  267. package/esm2022/vertexai-preview/vertexai.mjs +0 -16
  268. package/esm2022/vertexai-preview/vertexai.module.mjs +0 -73
  269. package/esm2022/zones.mjs +0 -194
  270. package/fesm2022/angular-fire-vertexai-preview.mjs.map +0 -1
  271. package/messaging/is-messaging-supported-factory.d.ts +0 -4
  272. package/messaging/overrides.d.ts +0 -1
  273. package/remote-config/is-remote-config-supported-factory.d.ts +0 -4
  274. package/remote-config/overrides.d.ts +0 -1
  275. package/schematics/common.js +0 -81
  276. package/schematics/deploy/functions-templates.js +0 -57
  277. package/schematics/firebaseTools.js +0 -78
  278. package/schematics/interfaces.js +0 -16
  279. package/schematics/setup/prompts.js +0 -195
  280. package/schematics/utils.js +0 -189
  281. package/vertexai-preview/firebase.d.ts +0 -4
  282. package/vertexai-preview/package.json +0 -3
  283. /package/{vertexai-preview → vertexai}/public_api.d.ts +0 -0
@@ -1,73 +0,0 @@
1
- import { InjectionToken, Injector, NgModule, NgZone, Optional, makeEnvironmentProviders, } from '@angular/core';
2
- import { VERSION, ɵAngularFireSchedulers, ɵgetDefaultInstanceOf } from '@angular/fire';
3
- import { ɵAppCheckInstances } from '@angular/fire';
4
- import { FirebaseApp, FirebaseApps } from '@angular/fire/app';
5
- import { registerVersion } from 'firebase/app';
6
- import { AUTH_PROVIDER_NAME, Auth, AuthInstances } from './auth';
7
- import * as i0 from "@angular/core";
8
- export const PROVIDED_AUTH_INSTANCES = new InjectionToken('angularfire2.auth-instances');
9
- export function defaultAuthInstanceFactory(provided, defaultApp) {
10
- const defaultAuth = ɵgetDefaultInstanceOf(AUTH_PROVIDER_NAME, provided, defaultApp);
11
- return defaultAuth && new Auth(defaultAuth);
12
- }
13
- export function authInstanceFactory(fn) {
14
- return (zone, injector) => {
15
- const auth = zone.runOutsideAngular(() => fn(injector));
16
- return new Auth(auth);
17
- };
18
- }
19
- const AUTH_INSTANCES_PROVIDER = {
20
- provide: AuthInstances,
21
- deps: [
22
- [new Optional(), PROVIDED_AUTH_INSTANCES],
23
- ]
24
- };
25
- const DEFAULT_AUTH_INSTANCE_PROVIDER = {
26
- provide: Auth,
27
- useFactory: defaultAuthInstanceFactory,
28
- deps: [
29
- [new Optional(), PROVIDED_AUTH_INSTANCES],
30
- FirebaseApp,
31
- ]
32
- };
33
- export class AuthModule {
34
- constructor() {
35
- registerVersion('angularfire', VERSION.full, 'auth');
36
- }
37
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
38
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: AuthModule });
39
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AuthModule, providers: [
40
- DEFAULT_AUTH_INSTANCE_PROVIDER,
41
- AUTH_INSTANCES_PROVIDER,
42
- ] });
43
- }
44
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AuthModule, decorators: [{
45
- type: NgModule,
46
- args: [{
47
- providers: [
48
- DEFAULT_AUTH_INSTANCE_PROVIDER,
49
- AUTH_INSTANCES_PROVIDER,
50
- ]
51
- }]
52
- }], ctorParameters: () => [] });
53
- export function provideAuth(fn, ...deps) {
54
- registerVersion('angularfire', VERSION.full, 'auth');
55
- return makeEnvironmentProviders([
56
- DEFAULT_AUTH_INSTANCE_PROVIDER,
57
- AUTH_INSTANCES_PROVIDER,
58
- {
59
- provide: PROVIDED_AUTH_INSTANCES,
60
- useFactory: authInstanceFactory(fn),
61
- multi: true,
62
- deps: [
63
- NgZone,
64
- Injector,
65
- ɵAngularFireSchedulers,
66
- FirebaseApps,
67
- [new Optional(), ɵAppCheckInstances],
68
- ...deps,
69
- ]
70
- }
71
- ]);
72
- }
73
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXV0aC9hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsY0FBYyxFQUNkLFFBQVEsRUFDUixRQUFRLEVBQ1IsTUFBTSxFQUNOLFFBQVEsRUFDUix3QkFBd0IsR0FDekIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRS9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLE1BQU0sUUFBUSxDQUFDOztBQUVqRSxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLGNBQWMsQ0FBUyw2QkFBNkIsQ0FBQyxDQUFDO0FBRWpHLE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxRQUFrQyxFQUFFLFVBQXVCO0lBQ3BHLE1BQU0sV0FBVyxHQUFHLHFCQUFxQixDQUFlLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNsRyxPQUFPLFdBQVcsSUFBSSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUFDLEVBQXdDO0lBQzFFLE9BQU8sQ0FBQyxJQUFZLEVBQUUsUUFBa0IsRUFBRSxFQUFFO1FBQzFDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUN4RCxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLHVCQUF1QixHQUFHO0lBQzlCLE9BQU8sRUFBRSxhQUFhO0lBQ3RCLElBQUksRUFBRTtRQUNKLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSx1QkFBdUIsQ0FBRTtLQUMzQztDQUNGLENBQUM7QUFFRixNQUFNLDhCQUE4QixHQUFHO0lBQ3JDLE9BQU8sRUFBRSxJQUFJO0lBQ2IsVUFBVSxFQUFFLDBCQUEwQjtJQUN0QyxJQUFJLEVBQUU7UUFDSixDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsdUJBQXVCLENBQUU7UUFDMUMsV0FBVztLQUNaO0NBQ0YsQ0FBQztBQVFGLE1BQU0sT0FBTyxVQUFVO0lBQ3JCO1FBQ0UsZUFBZSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7dUdBSFUsVUFBVTt3R0FBVixVQUFVO3dHQUFWLFVBQVUsYUFMVjtZQUNULDhCQUE4QjtZQUM5Qix1QkFBdUI7U0FDeEI7OzJGQUVVLFVBQVU7a0JBTnRCLFFBQVE7bUJBQUM7b0JBQ1IsU0FBUyxFQUFFO3dCQUNULDhCQUE4Qjt3QkFDOUIsdUJBQXVCO3FCQUN4QjtpQkFDRjs7QUFPRCxNQUFNLFVBQVUsV0FBVyxDQUFDLEVBQXdDLEVBQUUsR0FBRyxJQUFXO0lBQ2xGLGVBQWUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyRCxPQUFPLHdCQUF3QixDQUFDO1FBQzlCLDhCQUE4QjtRQUM5Qix1QkFBdUI7UUFDdkI7WUFDRSxPQUFPLEVBQUUsdUJBQXVCO1lBQ2hDLFVBQVUsRUFBRSxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7WUFDbkMsS0FBSyxFQUFFLElBQUk7WUFDWCxJQUFJLEVBQUU7Z0JBQ0osTUFBTTtnQkFDTixRQUFRO2dCQUNSLHNCQUFzQjtnQkFDdEIsWUFBWTtnQkFDWixDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsa0JBQWtCLENBQUU7Z0JBQ3JDLEdBQUcsSUFBSTthQUNSO1NBQ0Y7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRW52aXJvbm1lbnRQcm92aWRlcnMsXG4gIEluamVjdGlvblRva2VuLFxuICBJbmplY3RvcixcbiAgTmdNb2R1bGUsXG4gIE5nWm9uZSxcbiAgT3B0aW9uYWwsXG4gIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWRVJTSU9OLCDJtUFuZ3VsYXJGaXJlU2NoZWR1bGVycywgybVnZXREZWZhdWx0SW5zdGFuY2VPZiB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuaW1wb3J0IHsgybVBcHBDaGVja0luc3RhbmNlcyB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuaW1wb3J0IHsgRmlyZWJhc2VBcHAsIEZpcmViYXNlQXBwcyB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvYXBwJztcbmltcG9ydCB7IHJlZ2lzdGVyVmVyc2lvbiB9IGZyb20gJ2ZpcmViYXNlL2FwcCc7XG5pbXBvcnQgeyBBdXRoIGFzIEZpcmViYXNlQXV0aCB9IGZyb20gJ2ZpcmViYXNlL2F1dGgnO1xuaW1wb3J0IHsgQVVUSF9QUk9WSURFUl9OQU1FLCBBdXRoLCBBdXRoSW5zdGFuY2VzIH0gZnJvbSAnLi9hdXRoJztcblxuZXhwb3J0IGNvbnN0IFBST1ZJREVEX0FVVEhfSU5TVEFOQ0VTID0gbmV3IEluamVjdGlvblRva2VuPEF1dGhbXT4oJ2FuZ3VsYXJmaXJlMi5hdXRoLWluc3RhbmNlcycpO1xuXG5leHBvcnQgZnVuY3Rpb24gZGVmYXVsdEF1dGhJbnN0YW5jZUZhY3RvcnkocHJvdmlkZWQ6IEZpcmViYXNlQXV0aFtdfHVuZGVmaW5lZCwgZGVmYXVsdEFwcDogRmlyZWJhc2VBcHApIHtcbiAgY29uc3QgZGVmYXVsdEF1dGggPSDJtWdldERlZmF1bHRJbnN0YW5jZU9mPEZpcmViYXNlQXV0aD4oQVVUSF9QUk9WSURFUl9OQU1FLCBwcm92aWRlZCwgZGVmYXVsdEFwcCk7XG4gIHJldHVybiBkZWZhdWx0QXV0aCAmJiBuZXcgQXV0aChkZWZhdWx0QXV0aCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhdXRoSW5zdGFuY2VGYWN0b3J5KGZuOiAoaW5qZWN0b3I6IEluamVjdG9yKSA9PiBGaXJlYmFzZUF1dGgpIHtcbiAgcmV0dXJuICh6b25lOiBOZ1pvbmUsIGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgIGNvbnN0IGF1dGggPSB6b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IGZuKGluamVjdG9yKSk7XG4gICAgcmV0dXJuIG5ldyBBdXRoKGF1dGgpO1xuICB9O1xufVxuXG5jb25zdCBBVVRIX0lOU1RBTkNFU19QUk9WSURFUiA9IHtcbiAgcHJvdmlkZTogQXV0aEluc3RhbmNlcyxcbiAgZGVwczogW1xuICAgIFtuZXcgT3B0aW9uYWwoKSwgUFJPVklERURfQVVUSF9JTlNUQU5DRVMgXSxcbiAgXVxufTtcblxuY29uc3QgREVGQVVMVF9BVVRIX0lOU1RBTkNFX1BST1ZJREVSID0ge1xuICBwcm92aWRlOiBBdXRoLFxuICB1c2VGYWN0b3J5OiBkZWZhdWx0QXV0aEluc3RhbmNlRmFjdG9yeSxcbiAgZGVwczogW1xuICAgIFtuZXcgT3B0aW9uYWwoKSwgUFJPVklERURfQVVUSF9JTlNUQU5DRVMgXSxcbiAgICBGaXJlYmFzZUFwcCxcbiAgXVxufTtcblxuQE5nTW9kdWxlKHtcbiAgcHJvdmlkZXJzOiBbXG4gICAgREVGQVVMVF9BVVRIX0lOU1RBTkNFX1BST1ZJREVSLFxuICAgIEFVVEhfSU5TVEFOQ0VTX1BST1ZJREVSLFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhNb2R1bGUge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICByZWdpc3RlclZlcnNpb24oJ2FuZ3VsYXJmaXJlJywgVkVSU0lPTi5mdWxsLCAnYXV0aCcpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQXV0aChmbjogKGluamVjdG9yOiBJbmplY3RvcikgPT4gRmlyZWJhc2VBdXRoLCAuLi5kZXBzOiBhbnlbXSk6IEVudmlyb25tZW50UHJvdmlkZXJzIHtcbiAgcmVnaXN0ZXJWZXJzaW9uKCdhbmd1bGFyZmlyZScsIFZFUlNJT04uZnVsbCwgJ2F1dGgnKTtcbiAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhbXG4gICAgREVGQVVMVF9BVVRIX0lOU1RBTkNFX1BST1ZJREVSLFxuICAgIEFVVEhfSU5TVEFOQ0VTX1BST1ZJREVSLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFBST1ZJREVEX0FVVEhfSU5TVEFOQ0VTLFxuICAgICAgdXNlRmFjdG9yeTogYXV0aEluc3RhbmNlRmFjdG9yeShmbiksXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICAgIGRlcHM6IFtcbiAgICAgICAgTmdab25lLFxuICAgICAgICBJbmplY3RvcixcbiAgICAgICAgybVBbmd1bGFyRmlyZVNjaGVkdWxlcnMsXG4gICAgICAgIEZpcmViYXNlQXBwcyxcbiAgICAgICAgW25ldyBPcHRpb25hbCgpLCDJtUFwcENoZWNrSW5zdGFuY2VzIF0sXG4gICAgICAgIC4uLmRlcHMsXG4gICAgICBdXG4gICAgfVxuICBdKTtcbn1cbiJdfQ==
@@ -1,59 +0,0 @@
1
- // DO NOT MODIFY, this file is autogenerated by tools/build.ts
2
- export * from 'firebase/auth';
3
- import { ɵzoneWrap } from '@angular/fire';
4
- import { applyActionCode as _applyActionCode, beforeAuthStateChanged as _beforeAuthStateChanged, checkActionCode as _checkActionCode, confirmPasswordReset as _confirmPasswordReset, connectAuthEmulator as _connectAuthEmulator, createUserWithEmailAndPassword as _createUserWithEmailAndPassword, deleteUser as _deleteUser, fetchSignInMethodsForEmail as _fetchSignInMethodsForEmail, getAdditionalUserInfo as _getAdditionalUserInfo, getAuth as _getAuth, getIdToken as _getIdToken, getIdTokenResult as _getIdTokenResult, getMultiFactorResolver as _getMultiFactorResolver, getRedirectResult as _getRedirectResult, initializeAuth as _initializeAuth, initializeRecaptchaConfig as _initializeRecaptchaConfig, isSignInWithEmailLink as _isSignInWithEmailLink, linkWithCredential as _linkWithCredential, linkWithPhoneNumber as _linkWithPhoneNumber, linkWithPopup as _linkWithPopup, linkWithRedirect as _linkWithRedirect, multiFactor as _multiFactor, onAuthStateChanged as _onAuthStateChanged, onIdTokenChanged as _onIdTokenChanged, parseActionCodeURL as _parseActionCodeURL, reauthenticateWithCredential as _reauthenticateWithCredential, reauthenticateWithPhoneNumber as _reauthenticateWithPhoneNumber, reauthenticateWithPopup as _reauthenticateWithPopup, reauthenticateWithRedirect as _reauthenticateWithRedirect, reload as _reload, revokeAccessToken as _revokeAccessToken, sendEmailVerification as _sendEmailVerification, sendPasswordResetEmail as _sendPasswordResetEmail, sendSignInLinkToEmail as _sendSignInLinkToEmail, setPersistence as _setPersistence, signInAnonymously as _signInAnonymously, signInWithCredential as _signInWithCredential, signInWithCustomToken as _signInWithCustomToken, signInWithEmailAndPassword as _signInWithEmailAndPassword, signInWithEmailLink as _signInWithEmailLink, signInWithPhoneNumber as _signInWithPhoneNumber, signInWithPopup as _signInWithPopup, signInWithRedirect as _signInWithRedirect, signOut as _signOut, unlink as _unlink, updateCurrentUser as _updateCurrentUser, updateEmail as _updateEmail, updatePassword as _updatePassword, updatePhoneNumber as _updatePhoneNumber, updateProfile as _updateProfile, useDeviceLanguage as _useDeviceLanguage, validatePassword as _validatePassword, verifyBeforeUpdateEmail as _verifyBeforeUpdateEmail, verifyPasswordResetCode as _verifyPasswordResetCode } from 'firebase/auth';
5
- export const applyActionCode = ɵzoneWrap(_applyActionCode, true);
6
- export const beforeAuthStateChanged = ɵzoneWrap(_beforeAuthStateChanged, true);
7
- export const checkActionCode = ɵzoneWrap(_checkActionCode, true);
8
- export const confirmPasswordReset = ɵzoneWrap(_confirmPasswordReset, true);
9
- export const connectAuthEmulator = ɵzoneWrap(_connectAuthEmulator, true);
10
- export const createUserWithEmailAndPassword = ɵzoneWrap(_createUserWithEmailAndPassword, true);
11
- export const deleteUser = ɵzoneWrap(_deleteUser, true);
12
- export const fetchSignInMethodsForEmail = ɵzoneWrap(_fetchSignInMethodsForEmail, true);
13
- export const getAdditionalUserInfo = ɵzoneWrap(_getAdditionalUserInfo, true);
14
- export const getAuth = ɵzoneWrap(_getAuth, true);
15
- export const getIdToken = ɵzoneWrap(_getIdToken, true);
16
- export const getIdTokenResult = ɵzoneWrap(_getIdTokenResult, true);
17
- export const getMultiFactorResolver = ɵzoneWrap(_getMultiFactorResolver, true);
18
- export const getRedirectResult = ɵzoneWrap(_getRedirectResult, true);
19
- export const initializeAuth = ɵzoneWrap(_initializeAuth, true);
20
- export const initializeRecaptchaConfig = ɵzoneWrap(_initializeRecaptchaConfig, true);
21
- export const isSignInWithEmailLink = ɵzoneWrap(_isSignInWithEmailLink, true);
22
- export const linkWithCredential = ɵzoneWrap(_linkWithCredential, true);
23
- export const linkWithPhoneNumber = ɵzoneWrap(_linkWithPhoneNumber, true);
24
- export const linkWithPopup = ɵzoneWrap(_linkWithPopup, true);
25
- export const linkWithRedirect = ɵzoneWrap(_linkWithRedirect, true);
26
- export const multiFactor = ɵzoneWrap(_multiFactor, true);
27
- export const onAuthStateChanged = ɵzoneWrap(_onAuthStateChanged, true);
28
- export const onIdTokenChanged = ɵzoneWrap(_onIdTokenChanged, true);
29
- export const parseActionCodeURL = ɵzoneWrap(_parseActionCodeURL, true);
30
- export const reauthenticateWithCredential = ɵzoneWrap(_reauthenticateWithCredential, true);
31
- export const reauthenticateWithPhoneNumber = ɵzoneWrap(_reauthenticateWithPhoneNumber, true);
32
- export const reauthenticateWithPopup = ɵzoneWrap(_reauthenticateWithPopup, true);
33
- export const reauthenticateWithRedirect = ɵzoneWrap(_reauthenticateWithRedirect, true);
34
- export const reload = ɵzoneWrap(_reload, true);
35
- export const revokeAccessToken = ɵzoneWrap(_revokeAccessToken, true);
36
- export const sendEmailVerification = ɵzoneWrap(_sendEmailVerification, true);
37
- export const sendPasswordResetEmail = ɵzoneWrap(_sendPasswordResetEmail, true);
38
- export const sendSignInLinkToEmail = ɵzoneWrap(_sendSignInLinkToEmail, true);
39
- export const setPersistence = ɵzoneWrap(_setPersistence, true);
40
- export const signInAnonymously = ɵzoneWrap(_signInAnonymously, true);
41
- export const signInWithCredential = ɵzoneWrap(_signInWithCredential, true);
42
- export const signInWithCustomToken = ɵzoneWrap(_signInWithCustomToken, true);
43
- export const signInWithEmailAndPassword = ɵzoneWrap(_signInWithEmailAndPassword, true);
44
- export const signInWithEmailLink = ɵzoneWrap(_signInWithEmailLink, true);
45
- export const signInWithPhoneNumber = ɵzoneWrap(_signInWithPhoneNumber, true);
46
- export const signInWithPopup = ɵzoneWrap(_signInWithPopup, true);
47
- export const signInWithRedirect = ɵzoneWrap(_signInWithRedirect, true);
48
- export const signOut = ɵzoneWrap(_signOut, true);
49
- export const unlink = ɵzoneWrap(_unlink, true);
50
- export const updateCurrentUser = ɵzoneWrap(_updateCurrentUser, true);
51
- export const updateEmail = ɵzoneWrap(_updateEmail, true);
52
- export const updatePassword = ɵzoneWrap(_updatePassword, true);
53
- export const updatePhoneNumber = ɵzoneWrap(_updatePhoneNumber, true);
54
- export const updateProfile = ɵzoneWrap(_updateProfile, true);
55
- export const useDeviceLanguage = ɵzoneWrap(_useDeviceLanguage, true);
56
- export const validatePassword = ɵzoneWrap(_validatePassword, true);
57
- export const verifyBeforeUpdateEmail = ɵzoneWrap(_verifyBeforeUpdateEmail, true);
58
- export const verifyPasswordResetCode = ɵzoneWrap(_verifyPasswordResetCode, true);
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXV0aC9maXJlYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4REFBOEQ7QUFDOUQsY0FBYyxlQUFlLENBQUM7QUFDOUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQ0wsZUFBZSxJQUFJLGdCQUFnQixFQUNuQyxzQkFBc0IsSUFBSSx1QkFBdUIsRUFDakQsZUFBZSxJQUFJLGdCQUFnQixFQUNuQyxvQkFBb0IsSUFBSSxxQkFBcUIsRUFDN0MsbUJBQW1CLElBQUksb0JBQW9CLEVBQzNDLDhCQUE4QixJQUFJLCtCQUErQixFQUNqRSxVQUFVLElBQUksV0FBVyxFQUN6QiwwQkFBMEIsSUFBSSwyQkFBMkIsRUFDekQscUJBQXFCLElBQUksc0JBQXNCLEVBQy9DLE9BQU8sSUFBSSxRQUFRLEVBQ25CLFVBQVUsSUFBSSxXQUFXLEVBQ3pCLGdCQUFnQixJQUFJLGlCQUFpQixFQUNyQyxzQkFBc0IsSUFBSSx1QkFBdUIsRUFDakQsaUJBQWlCLElBQUksa0JBQWtCLEVBQ3ZDLGNBQWMsSUFBSSxlQUFlLEVBQ2pDLHlCQUF5QixJQUFJLDBCQUEwQixFQUN2RCxxQkFBcUIsSUFBSSxzQkFBc0IsRUFDL0Msa0JBQWtCLElBQUksbUJBQW1CLEVBQ3pDLG1CQUFtQixJQUFJLG9CQUFvQixFQUMzQyxhQUFhLElBQUksY0FBYyxFQUMvQixnQkFBZ0IsSUFBSSxpQkFBaUIsRUFDckMsV0FBVyxJQUFJLFlBQVksRUFDM0Isa0JBQWtCLElBQUksbUJBQW1CLEVBQ3pDLGdCQUFnQixJQUFJLGlCQUFpQixFQUNyQyxrQkFBa0IsSUFBSSxtQkFBbUIsRUFDekMsNEJBQTRCLElBQUksNkJBQTZCLEVBQzdELDZCQUE2QixJQUFJLDhCQUE4QixFQUMvRCx1QkFBdUIsSUFBSSx3QkFBd0IsRUFDbkQsMEJBQTBCLElBQUksMkJBQTJC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Q0FBQyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQy9DLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNyRSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztBQUN6RCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsU0FBUyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUMvRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxTQUFTLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDckUsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQyxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDN0QsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsU0FBUyxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3JFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLFNBQVMsQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNuRSxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxTQUFTLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDakYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsU0FBUyxDQUFDLHdCQUF3QixFQUFFLElBQUksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRE8gTk9UIE1PRElGWSwgdGhpcyBmaWxlIGlzIGF1dG9nZW5lcmF0ZWQgYnkgdG9vbHMvYnVpbGQudHNcbmV4cG9ydCAqIGZyb20gJ2ZpcmViYXNlL2F1dGgnO1xuaW1wb3J0IHsgybV6b25lV3JhcCB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuaW1wb3J0IHtcbiAgYXBwbHlBY3Rpb25Db2RlIGFzIF9hcHBseUFjdGlvbkNvZGUsXG4gIGJlZm9yZUF1dGhTdGF0ZUNoYW5nZWQgYXMgX2JlZm9yZUF1dGhTdGF0ZUNoYW5nZWQsXG4gIGNoZWNrQWN0aW9uQ29kZSBhcyBfY2hlY2tBY3Rpb25Db2RlLFxuICBjb25maXJtUGFzc3dvcmRSZXNldCBhcyBfY29uZmlybVBhc3N3b3JkUmVzZXQsXG4gIGNvbm5lY3RBdXRoRW11bGF0b3IgYXMgX2Nvbm5lY3RBdXRoRW11bGF0b3IsXG4gIGNyZWF0ZVVzZXJXaXRoRW1haWxBbmRQYXNzd29yZCBhcyBfY3JlYXRlVXNlcldpdGhFbWFpbEFuZFBhc3N3b3JkLFxuICBkZWxldGVVc2VyIGFzIF9kZWxldGVVc2VyLFxuICBmZXRjaFNpZ25Jbk1ldGhvZHNGb3JFbWFpbCBhcyBfZmV0Y2hTaWduSW5NZXRob2RzRm9yRW1haWwsXG4gIGdldEFkZGl0aW9uYWxVc2VySW5mbyBhcyBfZ2V0QWRkaXRpb25hbFVzZXJJbmZvLFxuICBnZXRBdXRoIGFzIF9nZXRBdXRoLFxuICBnZXRJZFRva2VuIGFzIF9nZXRJZFRva2VuLFxuICBnZXRJZFRva2VuUmVzdWx0IGFzIF9nZXRJZFRva2VuUmVzdWx0LFxuICBnZXRNdWx0aUZhY3RvclJlc29sdmVyIGFzIF9nZXRNdWx0aUZhY3RvclJlc29sdmVyLFxuICBnZXRSZWRpcmVjdFJlc3VsdCBhcyBfZ2V0UmVkaXJlY3RSZXN1bHQsXG4gIGluaXRpYWxpemVBdXRoIGFzIF9pbml0aWFsaXplQXV0aCxcbiAgaW5pdGlhbGl6ZVJlY2FwdGNoYUNvbmZpZyBhcyBfaW5pdGlhbGl6ZVJlY2FwdGNoYUNvbmZpZyxcbiAgaXNTaWduSW5XaXRoRW1haWxMaW5rIGFzIF9pc1NpZ25JbldpdGhFbWFpbExpbmssXG4gIGxpbmtXaXRoQ3JlZGVudGlhbCBhcyBfbGlua1dpdGhDcmVkZW50aWFsLFxuICBsaW5rV2l0aFBob25lTnVtYmVyIGFzIF9saW5rV2l0aFBob25lTnVtYmVyLFxuICBsaW5rV2l0aFBvcHVwIGFzIF9saW5rV2l0aFBvcHVwLFxuICBsaW5rV2l0aFJlZGlyZWN0IGFzIF9saW5rV2l0aFJlZGlyZWN0LFxuICBtdWx0aUZhY3RvciBhcyBfbXVsdGlGYWN0b3IsXG4gIG9uQXV0aFN0YXRlQ2hhbmdlZCBhcyBfb25BdXRoU3RhdGVDaGFuZ2VkLFxuICBvbklkVG9rZW5DaGFuZ2VkIGFzIF9vbklkVG9rZW5DaGFuZ2VkLFxuICBwYXJzZUFjdGlvbkNvZGVVUkwgYXMgX3BhcnNlQWN0aW9uQ29kZVVSTCxcbiAgcmVhdXRoZW50aWNhdGVXaXRoQ3JlZGVudGlhbCBhcyBfcmVhdXRoZW50aWNhdGVXaXRoQ3JlZGVudGlhbCxcbiAgcmVhdXRoZW50aWNhdGVXaXRoUGhvbmVOdW1iZXIgYXMgX3JlYXV0aGVudGljYXRlV2l0aFBob25lTnVtYmVyLFxuICByZWF1dGhlbnRpY2F0ZVdpdGhQb3B1cCBhcyBfcmVhdXRoZW50aWNhdGVXaXRoUG9wdXAsXG4gIHJlYXV0aGVudGljYXRlV2l0aFJlZGlyZWN0IGFzIF9yZWF1dGhlbnRpY2F0ZVdpdGhSZWRpcmVjdCxcbiAgcmVsb2FkIGFzIF9yZWxvYWQsXG4gIHJldm9rZUFjY2Vzc1Rva2VuIGFzIF9yZXZva2VBY2Nlc3NUb2tlbixcbiAgc2VuZEVtYWlsVmVyaWZpY2F0aW9uIGFzIF9zZW5kRW1haWxWZXJpZmljYXRpb24sXG4gIHNlbmRQYXNzd29yZFJlc2V0RW1haWwgYXMgX3NlbmRQYXNzd29yZFJlc2V0RW1haWwsXG4gIHNlbmRTaWduSW5MaW5rVG9FbWFpbCBhcyBfc2VuZFNpZ25JbkxpbmtUb0VtYWlsLFxuICBzZXRQZXJzaXN0ZW5jZSBhcyBfc2V0UGVyc2lzdGVuY2UsXG4gIHNpZ25JbkFub255bW91c2x5IGFzIF9zaWduSW5Bbm9ueW1vdXNseSxcbiAgc2lnbkluV2l0aENyZWRlbnRpYWwgYXMgX3NpZ25JbldpdGhDcmVkZW50aWFsLFxuICBzaWduSW5XaXRoQ3VzdG9tVG9rZW4gYXMgX3NpZ25JbldpdGhDdXN0b21Ub2tlbixcbiAgc2lnbkluV2l0aEVtYWlsQW5kUGFzc3dvcmQgYXMgX3NpZ25JbldpdGhFbWFpbEFuZFBhc3N3b3JkLFxuICBzaWduSW5XaXRoRW1haWxMaW5rIGFzIF9zaWduSW5XaXRoRW1haWxMaW5rLFxuICBzaWduSW5XaXRoUGhvbmVOdW1iZXIgYXMgX3NpZ25JbldpdGhQaG9uZU51bWJlcixcbiAgc2lnbkluV2l0aFBvcHVwIGFzIF9zaWduSW5XaXRoUG9wdXAsXG4gIHNpZ25JbldpdGhSZWRpcmVjdCBhcyBfc2lnbkluV2l0aFJlZGlyZWN0LFxuICBzaWduT3V0IGFzIF9zaWduT3V0LFxuICB1bmxpbmsgYXMgX3VubGluayxcbiAgdXBkYXRlQ3VycmVudFVzZXIgYXMgX3VwZGF0ZUN1cnJlbnRVc2VyLFxuICB1cGRhdGVFbWFpbCBhcyBfdXBkYXRlRW1haWwsXG4gIHVwZGF0ZVBhc3N3b3JkIGFzIF91cGRhdGVQYXNzd29yZCxcbiAgdXBkYXRlUGhvbmVOdW1iZXIgYXMgX3VwZGF0ZVBob25lTnVtYmVyLFxuICB1cGRhdGVQcm9maWxlIGFzIF91cGRhdGVQcm9maWxlLFxuICB1c2VEZXZpY2VMYW5ndWFnZSBhcyBfdXNlRGV2aWNlTGFuZ3VhZ2UsXG4gIHZhbGlkYXRlUGFzc3dvcmQgYXMgX3ZhbGlkYXRlUGFzc3dvcmQsXG4gIHZlcmlmeUJlZm9yZVVwZGF0ZUVtYWlsIGFzIF92ZXJpZnlCZWZvcmVVcGRhdGVFbWFpbCxcbiAgdmVyaWZ5UGFzc3dvcmRSZXNldENvZGUgYXMgX3ZlcmlmeVBhc3N3b3JkUmVzZXRDb2RlXG59IGZyb20gJ2ZpcmViYXNlL2F1dGgnO1xuXG5leHBvcnQgY29uc3QgYXBwbHlBY3Rpb25Db2RlID0gybV6b25lV3JhcChfYXBwbHlBY3Rpb25Db2RlLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBiZWZvcmVBdXRoU3RhdGVDaGFuZ2VkID0gybV6b25lV3JhcChfYmVmb3JlQXV0aFN0YXRlQ2hhbmdlZCwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgY2hlY2tBY3Rpb25Db2RlID0gybV6b25lV3JhcChfY2hlY2tBY3Rpb25Db2RlLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBjb25maXJtUGFzc3dvcmRSZXNldCA9IMm1em9uZVdyYXAoX2NvbmZpcm1QYXNzd29yZFJlc2V0LCB0cnVlKTtcbmV4cG9ydCBjb25zdCBjb25uZWN0QXV0aEVtdWxhdG9yID0gybV6b25lV3JhcChfY29ubmVjdEF1dGhFbXVsYXRvciwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgY3JlYXRlVXNlcldpdGhFbWFpbEFuZFBhc3N3b3JkID0gybV6b25lV3JhcChfY3JlYXRlVXNlcldpdGhFbWFpbEFuZFBhc3N3b3JkLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBkZWxldGVVc2VyID0gybV6b25lV3JhcChfZGVsZXRlVXNlciwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgZmV0Y2hTaWduSW5NZXRob2RzRm9yRW1haWwgPSDJtXpvbmVXcmFwKF9mZXRjaFNpZ25Jbk1ldGhvZHNGb3JFbWFpbCwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgZ2V0QWRkaXRpb25hbFVzZXJJbmZvID0gybV6b25lV3JhcChfZ2V0QWRkaXRpb25hbFVzZXJJbmZvLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBnZXRBdXRoID0gybV6b25lV3JhcChfZ2V0QXV0aCwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgZ2V0SWRUb2tlbiA9IMm1em9uZVdyYXAoX2dldElkVG9rZW4sIHRydWUpO1xuZXhwb3J0IGNvbnN0IGdldElkVG9rZW5SZXN1bHQgPSDJtXpvbmVXcmFwKF9nZXRJZFRva2VuUmVzdWx0LCB0cnVlKTtcbmV4cG9ydCBjb25zdCBnZXRNdWx0aUZhY3RvclJlc29sdmVyID0gybV6b25lV3JhcChfZ2V0TXVsdGlGYWN0b3JSZXNvbHZlciwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgZ2V0UmVkaXJlY3RSZXN1bHQgPSDJtXpvbmVXcmFwKF9nZXRSZWRpcmVjdFJlc3VsdCwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgaW5pdGlhbGl6ZUF1dGggPSDJtXpvbmVXcmFwKF9pbml0aWFsaXplQXV0aCwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgaW5pdGlhbGl6ZVJlY2FwdGNoYUNvbmZpZyA9IMm1em9uZVdyYXAoX2luaXRpYWxpemVSZWNhcHRjaGFDb25maWcsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGlzU2lnbkluV2l0aEVtYWlsTGluayA9IMm1em9uZVdyYXAoX2lzU2lnbkluV2l0aEVtYWlsTGluaywgdHJ1ZSk7XG5leHBvcnQgY29uc3QgbGlua1dpdGhDcmVkZW50aWFsID0gybV6b25lV3JhcChfbGlua1dpdGhDcmVkZW50aWFsLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBsaW5rV2l0aFBob25lTnVtYmVyID0gybV6b25lV3JhcChfbGlua1dpdGhQaG9uZU51bWJlciwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgbGlua1dpdGhQb3B1cCA9IMm1em9uZVdyYXAoX2xpbmtXaXRoUG9wdXAsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGxpbmtXaXRoUmVkaXJlY3QgPSDJtXpvbmVXcmFwKF9saW5rV2l0aFJlZGlyZWN0LCB0cnVlKTtcbmV4cG9ydCBjb25zdCBtdWx0aUZhY3RvciA9IMm1em9uZVdyYXAoX211bHRpRmFjdG9yLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBvbkF1dGhTdGF0ZUNoYW5nZWQgPSDJtXpvbmVXcmFwKF9vbkF1dGhTdGF0ZUNoYW5nZWQsIHRydWUpO1xuZXhwb3J0IGNvbnN0IG9uSWRUb2tlbkNoYW5nZWQgPSDJtXpvbmVXcmFwKF9vbklkVG9rZW5DaGFuZ2VkLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBwYXJzZUFjdGlvbkNvZGVVUkwgPSDJtXpvbmVXcmFwKF9wYXJzZUFjdGlvbkNvZGVVUkwsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHJlYXV0aGVudGljYXRlV2l0aENyZWRlbnRpYWwgPSDJtXpvbmVXcmFwKF9yZWF1dGhlbnRpY2F0ZVdpdGhDcmVkZW50aWFsLCB0cnVlKTtcbmV4cG9ydCBjb25zdCByZWF1dGhlbnRpY2F0ZVdpdGhQaG9uZU51bWJlciA9IMm1em9uZVdyYXAoX3JlYXV0aGVudGljYXRlV2l0aFBob25lTnVtYmVyLCB0cnVlKTtcbmV4cG9ydCBjb25zdCByZWF1dGhlbnRpY2F0ZVdpdGhQb3B1cCA9IMm1em9uZVdyYXAoX3JlYXV0aGVudGljYXRlV2l0aFBvcHVwLCB0cnVlKTtcbmV4cG9ydCBjb25zdCByZWF1dGhlbnRpY2F0ZVdpdGhSZWRpcmVjdCA9IMm1em9uZVdyYXAoX3JlYXV0aGVudGljYXRlV2l0aFJlZGlyZWN0LCB0cnVlKTtcbmV4cG9ydCBjb25zdCByZWxvYWQgPSDJtXpvbmVXcmFwKF9yZWxvYWQsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHJldm9rZUFjY2Vzc1Rva2VuID0gybV6b25lV3JhcChfcmV2b2tlQWNjZXNzVG9rZW4sIHRydWUpO1xuZXhwb3J0IGNvbnN0IHNlbmRFbWFpbFZlcmlmaWNhdGlvbiA9IMm1em9uZVdyYXAoX3NlbmRFbWFpbFZlcmlmaWNhdGlvbiwgdHJ1ZSk7XG5leHBvcnQgY29uc3Qgc2VuZFBhc3N3b3JkUmVzZXRFbWFpbCA9IMm1em9uZVdyYXAoX3NlbmRQYXNzd29yZFJlc2V0RW1haWwsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHNlbmRTaWduSW5MaW5rVG9FbWFpbCA9IMm1em9uZVdyYXAoX3NlbmRTaWduSW5MaW5rVG9FbWFpbCwgdHJ1ZSk7XG5leHBvcnQgY29uc3Qgc2V0UGVyc2lzdGVuY2UgPSDJtXpvbmVXcmFwKF9zZXRQZXJzaXN0ZW5jZSwgdHJ1ZSk7XG5leHBvcnQgY29uc3Qgc2lnbkluQW5vbnltb3VzbHkgPSDJtXpvbmVXcmFwKF9zaWduSW5Bbm9ueW1vdXNseSwgdHJ1ZSk7XG5leHBvcnQgY29uc3Qgc2lnbkluV2l0aENyZWRlbnRpYWwgPSDJtXpvbmVXcmFwKF9zaWduSW5XaXRoQ3JlZGVudGlhbCwgdHJ1ZSk7XG5leHBvcnQgY29uc3Qgc2lnbkluV2l0aEN1c3RvbVRva2VuID0gybV6b25lV3JhcChfc2lnbkluV2l0aEN1c3RvbVRva2VuLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBzaWduSW5XaXRoRW1haWxBbmRQYXNzd29yZCA9IMm1em9uZVdyYXAoX3NpZ25JbldpdGhFbWFpbEFuZFBhc3N3b3JkLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBzaWduSW5XaXRoRW1haWxMaW5rID0gybV6b25lV3JhcChfc2lnbkluV2l0aEVtYWlsTGluaywgdHJ1ZSk7XG5leHBvcnQgY29uc3Qgc2lnbkluV2l0aFBob25lTnVtYmVyID0gybV6b25lV3JhcChfc2lnbkluV2l0aFBob25lTnVtYmVyLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBzaWduSW5XaXRoUG9wdXAgPSDJtXpvbmVXcmFwKF9zaWduSW5XaXRoUG9wdXAsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHNpZ25JbldpdGhSZWRpcmVjdCA9IMm1em9uZVdyYXAoX3NpZ25JbldpdGhSZWRpcmVjdCwgdHJ1ZSk7XG5leHBvcnQgY29uc3Qgc2lnbk91dCA9IMm1em9uZVdyYXAoX3NpZ25PdXQsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHVubGluayA9IMm1em9uZVdyYXAoX3VubGluaywgdHJ1ZSk7XG5leHBvcnQgY29uc3QgdXBkYXRlQ3VycmVudFVzZXIgPSDJtXpvbmVXcmFwKF91cGRhdGVDdXJyZW50VXNlciwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgdXBkYXRlRW1haWwgPSDJtXpvbmVXcmFwKF91cGRhdGVFbWFpbCwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgdXBkYXRlUGFzc3dvcmQgPSDJtXpvbmVXcmFwKF91cGRhdGVQYXNzd29yZCwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgdXBkYXRlUGhvbmVOdW1iZXIgPSDJtXpvbmVXcmFwKF91cGRhdGVQaG9uZU51bWJlciwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgdXBkYXRlUHJvZmlsZSA9IMm1em9uZVdyYXAoX3VwZGF0ZVByb2ZpbGUsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHVzZURldmljZUxhbmd1YWdlID0gybV6b25lV3JhcChfdXNlRGV2aWNlTGFuZ3VhZ2UsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHZhbGlkYXRlUGFzc3dvcmQgPSDJtXpvbmVXcmFwKF92YWxpZGF0ZVBhc3N3b3JkLCB0cnVlKTtcbmV4cG9ydCBjb25zdCB2ZXJpZnlCZWZvcmVVcGRhdGVFbWFpbCA9IMm1em9uZVdyYXAoX3ZlcmlmeUJlZm9yZVVwZGF0ZUVtYWlsLCB0cnVlKTtcbmV4cG9ydCBjb25zdCB2ZXJpZnlQYXNzd29yZFJlc2V0Q29kZSA9IMm1em9uZVdyYXAoX3ZlcmlmeVBhc3N3b3JkUmVzZXRDb2RlLCB0cnVlKTtcbiJdfQ==
@@ -1,5 +0,0 @@
1
- export { Auth, AuthInstances, authInstance$ } from './auth';
2
- export { provideAuth, AuthModule } from './auth.module';
3
- export * from './rxfire';
4
- export * from './firebase';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hdXRoL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzVELE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3hELGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQXV0aCwgQXV0aEluc3RhbmNlcywgYXV0aEluc3RhbmNlJCB9IGZyb20gJy4vYXV0aCc7XG5leHBvcnQgeyBwcm92aWRlQXV0aCwgQXV0aE1vZHVsZSB9IGZyb20gJy4vYXV0aC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9yeGZpcmUnO1xuZXhwb3J0ICogZnJvbSAnLi9maXJlYmFzZSc7XG4iXX0=
@@ -1,7 +0,0 @@
1
- // DO NOT MODIFY, this file is autogenerated by tools/build.ts
2
- import { ɵzoneWrap } from '@angular/fire';
3
- import { authState as _authState, user as _user, idToken as _idToken } from 'rxfire/auth';
4
- export const authState = ɵzoneWrap(_authState, true);
5
- export const user = ɵzoneWrap(_user, true);
6
- export const idToken = ɵzoneWrap(_idToken, true);
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnhmaXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2F1dGgvcnhmaXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhEQUE4RDtBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFDTCxTQUFTLElBQUksVUFBVSxFQUN2QixJQUFJLElBQUksS0FBSyxFQUNiLE9BQU8sSUFBSSxRQUFRLEVBQ3BCLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzNDLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxTQUFTLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRE8gTk9UIE1PRElGWSwgdGhpcyBmaWxlIGlzIGF1dG9nZW5lcmF0ZWQgYnkgdG9vbHMvYnVpbGQudHNcbmltcG9ydCB7IMm1em9uZVdyYXAgfSBmcm9tICdAYW5ndWxhci9maXJlJztcbmltcG9ydCB7XG4gIGF1dGhTdGF0ZSBhcyBfYXV0aFN0YXRlLFxuICB1c2VyIGFzIF91c2VyLFxuICBpZFRva2VuIGFzIF9pZFRva2VuXG59IGZyb20gJ3J4ZmlyZS9hdXRoJztcblxuZXhwb3J0IGNvbnN0IGF1dGhTdGF0ZSA9IMm1em9uZVdyYXAoX2F1dGhTdGF0ZSwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgdXNlciA9IMm1em9uZVdyYXAoX3VzZXIsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGlkVG9rZW4gPSDJtXpvbmVXcmFwKF9pZFRva2VuLCB0cnVlKTtcbiJdfQ==
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1maXJlLWF1dGgtZ3VhcmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXV0aC1ndWFyZC9hbmd1bGFyLWZpcmUtYXV0aC1ndWFyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
@@ -1,53 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { Auth, user } from '@angular/fire/auth';
3
- import { Router } from '@angular/router';
4
- import { of, pipe } from 'rxjs';
5
- import { map, switchMap, take } from 'rxjs/operators';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/router";
8
- import * as i2 from "@angular/fire/auth";
9
- export const loggedIn = map(user => !!user);
10
- export class AuthGuard {
11
- router;
12
- auth;
13
- constructor(router, auth) {
14
- this.router = router;
15
- this.auth = auth;
16
- }
17
- canActivate = (next, state) => {
18
- const authPipeFactory = next.data.authGuardPipe || (() => loggedIn);
19
- return user(this.auth).pipe(take(1), authPipeFactory(next, state), map(can => {
20
- if (typeof can === 'boolean') {
21
- return can;
22
- }
23
- else if (Array.isArray(can)) {
24
- return this.router.createUrlTree(can);
25
- }
26
- else {
27
- // TODO(EdricChan03): Add tests
28
- return this.router.parseUrl(can);
29
- }
30
- }));
31
- };
32
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AuthGuard, deps: [{ token: i1.Router }, { token: i2.Auth }], target: i0.ɵɵFactoryTarget.Injectable });
33
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AuthGuard, providedIn: 'any' });
34
- }
35
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AuthGuard, decorators: [{
36
- type: Injectable,
37
- args: [{
38
- providedIn: 'any'
39
- }]
40
- }], ctorParameters: () => [{ type: i1.Router }, { type: i2.Auth }] });
41
- export const canActivate = (pipe) => ({
42
- canActivate: [AuthGuard], data: { authGuardPipe: pipe }
43
- });
44
- export const isNotAnonymous = map(user => !!user && !user.isAnonymous);
45
- export const idTokenResult = switchMap((user) => user ? user.getIdTokenResult() : of(null));
46
- export const emailVerified = map(user => !!user && user.emailVerified);
47
- export const customClaims = pipe(idTokenResult, map(idTokenResult => idTokenResult ? idTokenResult.claims : []));
48
- export const hasCustomClaim =
49
- // eslint-disable-next-line no-prototype-builtins
50
- (claim) => pipe(customClaims, map(claims => claims.hasOwnProperty(claim)));
51
- export const redirectUnauthorizedTo = (redirect) => pipe(loggedIn, map(loggedIn => loggedIn || redirect));
52
- export const redirectLoggedInTo = (redirect) => pipe(loggedIn, map(loggedIn => loggedIn && redirect || true));
53
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hdXRoLWd1YXJkL2F1dGgtZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBdUMsTUFBTSxFQUF1QixNQUFNLGlCQUFpQixDQUFDO0FBRW5HLE9BQU8sRUFBNkIsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUt0RCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBS3RELE1BQU0sT0FBTyxTQUFTO0lBRUE7SUFBd0I7SUFBNUMsWUFBb0IsTUFBYyxFQUFVLElBQVU7UUFBbEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLFNBQUksR0FBSixJQUFJLENBQU07SUFBRyxDQUFDO0lBRTFELFdBQVcsR0FBRyxDQUFDLElBQTRCLEVBQUUsS0FBMEIsRUFBRSxFQUFFO1FBQ3pFLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBa0MsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQ3pCLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxlQUFlLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUM1QixHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDUixJQUFJLE9BQU8sR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUM3QixPQUFPLEdBQUcsQ0FBQztZQUNiLENBQUM7aUJBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzlCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLCtCQUErQjtnQkFDL0IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuQyxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUMsQ0FBQTt1R0FwQlUsU0FBUzsyR0FBVCxTQUFTLGNBRlIsS0FBSzs7MkZBRU4sU0FBUztrQkFIckIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsS0FBSztpQkFDbEI7O0FBeUJELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLElBQXVCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdkQsV0FBVyxFQUFFLENBQUUsU0FBUyxDQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRTtDQUMxRCxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUNqRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDLENBQUMsSUFBZSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUN2RyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDakYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2pILE1BQU0sQ0FBQyxNQUFNLGNBQWM7QUFDekIsaURBQWlEO0FBQ2pELENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFFLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlFLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUNqQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQztBQUN0RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FDN0IsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxJQUFJLFFBQVEsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aCwgdXNlciB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvYXV0aCc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBDYW5BY3RpdmF0ZSwgUm91dGVyLCBSb3V0ZXJTdGF0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICdmaXJlYmFzZS9hdXRoJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFVuYXJ5RnVuY3Rpb24sIG9mLCBwaXBlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHN3aXRjaE1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IHR5cGUgQXV0aFBpcGVHZW5lcmF0b3IgPSAobmV4dDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpID0+IEF1dGhQaXBlO1xuZXhwb3J0IHR5cGUgQXV0aFBpcGUgPSBVbmFyeUZ1bmN0aW9uPE9ic2VydmFibGU8VXNlcnxudWxsPiwgT2JzZXJ2YWJsZTxib29sZWFufHN0cmluZ3xhbnlbXT4+O1xuXG5leHBvcnQgY29uc3QgbG9nZ2VkSW46IEF1dGhQaXBlID0gbWFwKHVzZXIgPT4gISF1c2VyKTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAnYW55J1xufSlcbmV4cG9ydCBjbGFzcyBBdXRoR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBhdXRoOiBBdXRoKSB7fVxuXG4gIGNhbkFjdGl2YXRlID0gKG5leHQ6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KSA9PiB7XG4gICAgY29uc3QgYXV0aFBpcGVGYWN0b3J5ID0gbmV4dC5kYXRhLmF1dGhHdWFyZFBpcGUgYXMgQXV0aFBpcGVHZW5lcmF0b3IgfHwgKCgpID0+IGxvZ2dlZEluKTtcbiAgICByZXR1cm4gdXNlcih0aGlzLmF1dGgpLnBpcGUoXG4gICAgICB0YWtlKDEpLFxuICAgICAgYXV0aFBpcGVGYWN0b3J5KG5leHQsIHN0YXRlKSxcbiAgICAgIG1hcChjYW4gPT4ge1xuICAgICAgICBpZiAodHlwZW9mIGNhbiA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgcmV0dXJuIGNhbjtcbiAgICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGNhbikpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShjYW4pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFRPRE8oRWRyaWNDaGFuMDMpOiBBZGQgdGVzdHNcbiAgICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXIucGFyc2VVcmwoY2FuKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbn1cblxuZXhwb3J0IGNvbnN0IGNhbkFjdGl2YXRlID0gKHBpcGU6IEF1dGhQaXBlR2VuZXJhdG9yKSA9PiAoe1xuICBjYW5BY3RpdmF0ZTogWyBBdXRoR3VhcmQgXSwgZGF0YTogeyBhdXRoR3VhcmRQaXBlOiBwaXBlIH1cbn0pO1xuXG5leHBvcnQgY29uc3QgaXNOb3RBbm9ueW1vdXM6IEF1dGhQaXBlID0gbWFwKHVzZXIgPT4gISF1c2VyICYmICF1c2VyLmlzQW5vbnltb3VzKTtcbmV4cG9ydCBjb25zdCBpZFRva2VuUmVzdWx0ID0gc3dpdGNoTWFwKCh1c2VyOiBVc2VyfG51bGwpID0+IHVzZXIgPyB1c2VyLmdldElkVG9rZW5SZXN1bHQoKSA6IG9mKG51bGwpKTtcbmV4cG9ydCBjb25zdCBlbWFpbFZlcmlmaWVkOiBBdXRoUGlwZSA9IG1hcCh1c2VyID0+ICEhdXNlciAmJiB1c2VyLmVtYWlsVmVyaWZpZWQpO1xuZXhwb3J0IGNvbnN0IGN1c3RvbUNsYWltcyA9IHBpcGUoaWRUb2tlblJlc3VsdCwgbWFwKGlkVG9rZW5SZXN1bHQgPT4gaWRUb2tlblJlc3VsdCA/IGlkVG9rZW5SZXN1bHQuY2xhaW1zIDogW10pKTtcbmV4cG9ydCBjb25zdCBoYXNDdXN0b21DbGFpbTogKGNsYWltOiBzdHJpbmcpID0+IEF1dGhQaXBlID1cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXByb3RvdHlwZS1idWlsdGluc1xuICAoY2xhaW0pID0+IHBpcGUoY3VzdG9tQ2xhaW1zLCBtYXAoY2xhaW1zID0+ICBjbGFpbXMuaGFzT3duUHJvcGVydHkoY2xhaW0pKSk7XG5leHBvcnQgY29uc3QgcmVkaXJlY3RVbmF1dGhvcml6ZWRUbzogKHJlZGlyZWN0OiBzdHJpbmd8YW55W10pID0+IEF1dGhQaXBlID1cbiAgKHJlZGlyZWN0KSA9PiBwaXBlKGxvZ2dlZEluLCBtYXAobG9nZ2VkSW4gPT4gbG9nZ2VkSW4gfHwgcmVkaXJlY3QpKTtcbmV4cG9ydCBjb25zdCByZWRpcmVjdExvZ2dlZEluVG86IChyZWRpcmVjdDogc3RyaW5nfGFueVtdKSA9PiBBdXRoUGlwZSA9XG4gIChyZWRpcmVjdCkgPT4gcGlwZShsb2dnZWRJbiwgbWFwKGxvZ2dlZEluID0+IGxvZ2dlZEluICYmIHJlZGlyZWN0IHx8IHRydWUpKTtcbiJdfQ==
@@ -1,20 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { VERSION } from '@angular/fire';
3
- import { registerVersion } from 'firebase/app';
4
- import { AuthGuard } from './auth-guard';
5
- import * as i0 from "@angular/core";
6
- export class AuthGuardModule {
7
- constructor() {
8
- registerVersion('angularfire', VERSION.full, 'auth-guard');
9
- }
10
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AuthGuardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: AuthGuardModule });
12
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AuthGuardModule, providers: [AuthGuard] });
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AuthGuardModule, decorators: [{
15
- type: NgModule,
16
- args: [{
17
- providers: [AuthGuard]
18
- }]
19
- }], ctorParameters: () => [] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1ndWFyZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXV0aC1ndWFyZC9hdXRoLWd1YXJkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUt6QyxNQUFNLE9BQU8sZUFBZTtJQUMxQjtRQUNFLGVBQWUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQztJQUM3RCxDQUFDO3VHQUhVLGVBQWU7d0dBQWYsZUFBZTt3R0FBZixlQUFlLGFBRmYsQ0FBRSxTQUFTLENBQUU7OzJGQUViLGVBQWU7a0JBSDNCLFFBQVE7bUJBQUM7b0JBQ1IsU0FBUyxFQUFFLENBQUUsU0FBUyxDQUFFO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWRVJTSU9OIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZSc7XG5pbXBvcnQgeyByZWdpc3RlclZlcnNpb24gfSBmcm9tICdmaXJlYmFzZS9hcHAnO1xuaW1wb3J0IHsgQXV0aEd1YXJkIH0gZnJvbSAnLi9hdXRoLWd1YXJkJztcblxuQE5nTW9kdWxlKHtcbiAgcHJvdmlkZXJzOiBbIEF1dGhHdWFyZCBdXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhHdWFyZE1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHJlZ2lzdGVyVmVyc2lvbignYW5ndWxhcmZpcmUnLCBWRVJTSU9OLmZ1bGwsICdhdXRoLWd1YXJkJyk7XG4gIH1cbn1cbiJdfQ==
@@ -1,3 +0,0 @@
1
- export * from './auth-guard';
2
- export * from './auth-guard.module';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hdXRoLWd1YXJkL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXV0aC1ndWFyZCc7XG5leHBvcnQgKiBmcm9tICcuL2F1dGgtZ3VhcmQubW9kdWxlJztcbiJdfQ==
@@ -1,160 +0,0 @@
1
- import { isPlatformBrowser } from '@angular/common';
2
- import { Inject, Injectable, InjectionToken, NgZone, Optional, PLATFORM_ID } from '@angular/core';
3
- import { ɵAngularFireSchedulers } from '@angular/fire';
4
- import { ɵapplyMixins, ɵcacheInstance, ɵlazySDKProxy } from '@angular/fire/compat';
5
- import { FirebaseApp } from '@angular/fire/compat';
6
- import { isSupported } from 'firebase/analytics';
7
- import { EMPTY, of } from 'rxjs';
8
- import { map, observeOn, shareReplay, switchMap } from 'rxjs/operators';
9
- import { proxyPolyfillCompat } from './base';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@angular/fire/compat";
12
- import * as i2 from "@angular/fire";
13
- export const COLLECTION_ENABLED = new InjectionToken('angularfire2.analytics.analyticsCollectionEnabled');
14
- export const APP_VERSION = new InjectionToken('angularfire2.analytics.appVersion');
15
- export const APP_NAME = new InjectionToken('angularfire2.analytics.appName');
16
- export const DEBUG_MODE = new InjectionToken('angularfire2.analytics.debugMode');
17
- export const CONFIG = new InjectionToken('angularfire2.analytics.config');
18
- const APP_NAME_KEY = 'app_name';
19
- const APP_VERSION_KEY = 'app_version';
20
- const DEBUG_MODE_KEY = 'debug_mode';
21
- const GTAG_CONFIG_COMMAND = 'config';
22
- const GTAG_FUNCTION_NAME = 'gtag'; // TODO rename these
23
- const DATA_LAYER_NAME = 'dataLayer';
24
- const SEND_TO_KEY = 'send_to';
25
- export class AngularFireAnalytics {
26
- measurementId;
27
- analyticsInitialized = new Promise(() => undefined);
28
- async updateConfig(config) {
29
- await this.analyticsInitialized;
30
- window[GTAG_FUNCTION_NAME](GTAG_CONFIG_COMMAND, this.measurementId, { ...config, update: true });
31
- }
32
- constructor(app, analyticsCollectionEnabled, providedAppVersion, providedAppName, debugModeEnabled, providedConfig,
33
- // eslint-disable-next-line @typescript-eslint/ban-types
34
- platformId, zone, schedulers) {
35
- if (isPlatformBrowser(platformId)) {
36
- window[DATA_LAYER_NAME] = window[DATA_LAYER_NAME] || [];
37
- // It turns out we can't rely on the measurementId in the Firebase config JSON
38
- // this identifier is not stable. firebase/analytics does a call to get a fresh value
39
- // falling back on the one in the config. Rather than do that ourselves we should listen
40
- // on our gtag function for a analytics config command
41
- // e.g, ['config', measurementId, { origin: 'firebase', firebase_id }]
42
- const parseMeasurementId = (...args) => {
43
- if (args[0] === 'config' && args[2].origin === 'firebase') {
44
- this.measurementId = args[1];
45
- return true;
46
- }
47
- else {
48
- return false;
49
- }
50
- };
51
- const patchGtag = (fn) => {
52
- window[GTAG_FUNCTION_NAME] = (...args) => {
53
- if (fn) {
54
- fn(...args);
55
- }
56
- // Inject app_name and app_version into events
57
- // TODO(jamesdaniels): I'm doing this as documented but it's still not
58
- // showing up in the console. Investigate. Guessing it's just part of the
59
- // whole GA4 transition mess.
60
- if (args[0] === 'event' && args[2][SEND_TO_KEY] === this.measurementId) {
61
- if (providedAppName) {
62
- args[2][APP_NAME_KEY] = providedAppName;
63
- }
64
- if (providedAppVersion) {
65
- args[2][APP_VERSION_KEY] = providedAppVersion;
66
- }
67
- }
68
- if (debugModeEnabled && typeof console !== 'undefined') {
69
- // eslint-disable-next-line no-console
70
- console.info(...args);
71
- }
72
- /**
73
- * According to the gtag documentation, this function that defines a custom data layer cannot be
74
- * an arrow function because 'arguments' is not an array. It is actually an object that behaves
75
- * like an array and contains more information then just indexes. Transforming this into arrow function
76
- * caused issue #2505 where analytics no longer sent any data.
77
- */
78
- (function (..._args) {
79
- window[DATA_LAYER_NAME].push(arguments);
80
- })(...args);
81
- };
82
- };
83
- // Unclear if we still need to but I was running into config/events I passed
84
- // to gtag before ['js' timestamp] weren't getting parsed, so let's make a promise
85
- // that resolves when firebase/analytics has configured gtag.js that we wait on
86
- // before sending anything
87
- const firebaseAnalyticsAlreadyInitialized = window[DATA_LAYER_NAME].some(parseMeasurementId);
88
- if (firebaseAnalyticsAlreadyInitialized) {
89
- this.analyticsInitialized = Promise.resolve();
90
- patchGtag();
91
- }
92
- else {
93
- this.analyticsInitialized = new Promise(resolve => {
94
- patchGtag((...args) => {
95
- if (parseMeasurementId(...args)) {
96
- resolve();
97
- }
98
- });
99
- });
100
- }
101
- if (providedConfig) {
102
- this.updateConfig(providedConfig);
103
- }
104
- if (debugModeEnabled) {
105
- this.updateConfig({ [DEBUG_MODE_KEY]: 1 });
106
- }
107
- }
108
- else {
109
- this.analyticsInitialized = Promise.resolve();
110
- }
111
- const analytics = of(undefined).pipe(observeOn(schedulers.outsideAngular), switchMap(isSupported), switchMap(supported => supported ? zone.runOutsideAngular(() => import('firebase/compat/analytics')) : EMPTY), map(() => {
112
- return ɵcacheInstance(`analytics`, 'AngularFireAnalytics', app.name, () => {
113
- const analytics = app.analytics();
114
- if (analyticsCollectionEnabled === false) {
115
- analytics.setAnalyticsCollectionEnabled(false);
116
- }
117
- return analytics;
118
- }, [app, analyticsCollectionEnabled, providedConfig, debugModeEnabled]);
119
- }), shareReplay({ bufferSize: 1, refCount: false }));
120
- return ɵlazySDKProxy(this, analytics, zone);
121
- }
122
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AngularFireAnalytics, deps: [{ token: i1.FirebaseApp }, { token: COLLECTION_ENABLED, optional: true }, { token: APP_VERSION, optional: true }, { token: APP_NAME, optional: true }, { token: DEBUG_MODE, optional: true }, { token: CONFIG, optional: true }, { token: PLATFORM_ID }, { token: i0.NgZone }, { token: i2.ɵAngularFireSchedulers }], target: i0.ɵɵFactoryTarget.Injectable });
123
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AngularFireAnalytics, providedIn: 'any' });
124
- }
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AngularFireAnalytics, decorators: [{
126
- type: Injectable,
127
- args: [{
128
- providedIn: 'any'
129
- }]
130
- }], ctorParameters: () => [{ type: i1.FirebaseApp }, { type: undefined, decorators: [{
131
- type: Optional
132
- }, {
133
- type: Inject,
134
- args: [COLLECTION_ENABLED]
135
- }] }, { type: undefined, decorators: [{
136
- type: Optional
137
- }, {
138
- type: Inject,
139
- args: [APP_VERSION]
140
- }] }, { type: undefined, decorators: [{
141
- type: Optional
142
- }, {
143
- type: Inject,
144
- args: [APP_NAME]
145
- }] }, { type: undefined, decorators: [{
146
- type: Optional
147
- }, {
148
- type: Inject,
149
- args: [DEBUG_MODE]
150
- }] }, { type: undefined, decorators: [{
151
- type: Optional
152
- }, {
153
- type: Inject,
154
- args: [CONFIG]
155
- }] }, { type: Object, decorators: [{
156
- type: Inject,
157
- args: [PLATFORM_ID]
158
- }] }, { type: i0.NgZone }, { type: i2.ɵAngularFireSchedulers }] });
159
- ɵapplyMixins(AngularFireAnalytics, [proxyPolyfillCompat]);
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBhdC9hbmFseXRpY3MvYW5hbHl0aWNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkQsT0FBTyxFQUFpQixZQUFZLEVBQUUsY0FBYyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFakQsT0FBTyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakMsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFFBQVEsQ0FBQzs7OztBQUk3QyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLGNBQWMsQ0FBVSxtREFBbUQsQ0FBQyxDQUFDO0FBQ25ILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLGNBQWMsQ0FBUyxtQ0FBbUMsQ0FBQyxDQUFDO0FBQzNGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxJQUFJLGNBQWMsQ0FBUyxnQ0FBZ0MsQ0FBQyxDQUFDO0FBQ3JGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxJQUFJLGNBQWMsQ0FBVSxrQ0FBa0MsQ0FBQyxDQUFDO0FBQzFGLE1BQU0s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OzJHQWxCVixvQkFBb0IsY0FGbkIsS0FBSzs7MkZBRU4sb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxLQUFLO2lCQUNsQjs7MEJBYUksUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxrQkFBa0I7OzBCQUNyQyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLFdBQVc7OzBCQUM5QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLFFBQVE7OzBCQUMzQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLFVBQVU7OzBCQUM3QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLE1BQU07OzBCQUV6QixNQUFNOzJCQUFDLFdBQVc7O0FBNkd2QixZQUFZLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBOZ1pvbmUsIE9wdGlvbmFsLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgybVBbmd1bGFyRmlyZVNjaGVkdWxlcnMgfSBmcm9tICdAYW5ndWxhci9maXJlJztcbmltcG9ydCB7IMm1UHJvbWlzZVByb3h5LCDJtWFwcGx5TWl4aW5zLCDJtWNhY2hlSW5zdGFuY2UsIMm1bGF6eVNES1Byb3h5IH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9jb21wYXQnO1xuaW1wb3J0IHsgRmlyZWJhc2VBcHAgfSBmcm9tICdAYW5ndWxhci9maXJlL2NvbXBhdCc7XG5pbXBvcnQgeyBpc1N1cHBvcnRlZCB9IGZyb20gJ2ZpcmViYXNlL2FuYWx5dGljcyc7XG5pbXBvcnQgZmlyZWJhc2UgZnJvbSAnZmlyZWJhc2UvY29tcGF0L2FwcCc7XG5pbXBvcnQgeyBFTVBUWSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgb2JzZXJ2ZU9uLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgcHJveHlQb2x5ZmlsbENvbXBhdCB9IGZyb20gJy4vYmFzZSc7XG5cbmV4cG9ydCB0eXBlIENvbmZpZyA9IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbmV4cG9ydCBjb25zdCBDT0xMRUNUSU9OX0VOQUJMRUQgPSBuZXcgSW5qZWN0aW9uVG9rZW48Ym9vbGVhbj4oJ2FuZ3VsYXJmaXJlMi5hbmFseXRpY3MuYW5hbHl0aWNzQ29sbGVjdGlvbkVuYWJsZWQnKTtcbmV4cG9ydCBjb25zdCBBUFBfVkVSU0lPTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdhbmd1bGFyZmlyZTIuYW5hbHl0aWNzLmFwcFZlcnNpb24nKTtcbmV4cG9ydCBjb25zdCBBUFBfTkFNRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdhbmd1bGFyZmlyZTIuYW5hbHl0aWNzLmFwcE5hbWUnKTtcbmV4cG9ydCBjb25zdCBERUJVR19NT0RFID0gbmV3IEluamVjdGlvblRva2VuPGJvb2xlYW4+KCdhbmd1bGFyZmlyZTIuYW5hbHl0aWNzLmRlYnVnTW9kZScpO1xuZXhwb3J0IGNvbnN0IENPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDb25maWc+KCdhbmd1bGFyZmlyZTIuYW5hbHl0aWNzLmNvbmZpZycpO1xuXG5jb25zdCBBUFBfTkFNRV9LRVkgPSAnYXBwX25hbWUnO1xuY29uc3QgQVBQX1ZFUlNJT05fS0VZID0gJ2FwcF92ZXJzaW9uJztcbmNvbnN0IERFQlVHX01PREVfS0VZID0gJ2RlYnVnX21vZGUnO1xuY29uc3QgR1RBR19DT05GSUdfQ09NTUFORCA9ICdjb25maWcnO1xuY29uc3QgR1RBR19GVU5DVElPTl9OQU1FID0gJ2d0YWcnOyAvLyBUT0RPIHJlbmFtZSB0aGVzZVxuY29uc3QgREFUQV9MQVlFUl9OQU1FID0gJ2RhdGFMYXllcic7XG5jb25zdCBTRU5EX1RPX0tFWSA9ICdzZW5kX3RvJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgQW5ndWxhckZpcmVBbmFseXRpY3MgZXh0ZW5kcyDJtVByb21pc2VQcm94eTxmaXJlYmFzZS5hbmFseXRpY3MuQW5hbHl0aWNzPiB7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ2FueSdcbn0pXG5leHBvcnQgY2xhc3MgQW5ndWxhckZpcmVBbmFseXRpY3Mge1xuXG4gIHByaXZhdGUgbWVhc3VyZW1lbnRJZDogc3RyaW5nO1xuICBwcml2YXRlIGFuYWx5dGljc0luaXRpYWxpemVkID0gbmV3IFByb21pc2U8dm9pZD4oKCkgPT4gdW5kZWZpbmVkKTtcblxuICBhc3luYyB1cGRhdGVDb25maWcoY29uZmlnOiBDb25maWcpIHtcbiAgICBhd2FpdCB0aGlzLmFuYWx5dGljc0luaXRpYWxpemVkO1xuICAgIHdpbmRvd1tHVEFHX0ZVTkNUSU9OX05BTUVdKEdUQUdfQ09ORklHX0NPTU1BTkQsIHRoaXMubWVhc3VyZW1lbnRJZCwgeyAuLi5jb25maWcsIHVwZGF0ZTogdHJ1ZSB9KTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGFwcDogRmlyZWJhc2VBcHAsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChDT0xMRUNUSU9OX0VOQUJMRUQpIGFuYWx5dGljc0NvbGxlY3Rpb25FbmFibGVkOiBib29sZWFuIHwgbnVsbCxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFQUF9WRVJTSU9OKSBwcm92aWRlZEFwcFZlcnNpb246IHN0cmluZyB8IG51bGwsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChBUFBfTkFNRSkgcHJvdmlkZWRBcHBOYW1lOiBzdHJpbmcgfCBudWxsLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoREVCVUdfTU9ERSkgZGVidWdNb2RlRW5hYmxlZDogYm9vbGVhbiB8IG51bGwsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChDT05GSUcpIHByb3ZpZGVkQ29uZmlnOiBDb25maWcgfCBudWxsLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcGxhdGZvcm1JZDogT2JqZWN0LFxuICAgIHpvbmU6IE5nWm9uZSxcbiAgICBzY2hlZHVsZXJzOiDJtUFuZ3VsYXJGaXJlU2NoZWR1bGVycyxcbiAgKSB7XG5cbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIocGxhdGZvcm1JZCkpIHtcblxuICAgICAgd2luZG93W0RBVEFfTEFZRVJfTkFNRV0gPSB3aW5kb3dbREFUQV9MQVlFUl9OQU1FXSB8fCBbXTtcblxuICAgICAgLy8gSXQgdHVybnMgb3V0IHdlIGNhbid0IHJlbHkgb24gdGhlIG1lYXN1cmVtZW50SWQgaW4gdGhlIEZpcmViYXNlIGNvbmZpZyBKU09OXG4gICAgICAvLyB0aGlzIGlkZW50aWZpZXIgaXMgbm90IHN0YWJsZS4gZmlyZWJhc2UvYW5hbHl0aWNzIGRvZXMgYSBjYWxsIHRvIGdldCBhIGZyZXNoIHZhbHVlXG4gICAgICAvLyBmYWxsaW5nIGJhY2sgb24gdGhlIG9uZSBpbiB0aGUgY29uZmlnLiBSYXRoZXIgdGhhbiBkbyB0aGF0IG91cnNlbHZlcyB3ZSBzaG91bGQgbGlzdGVuXG4gICAgICAvLyBvbiBvdXIgZ3RhZyBmdW5jdGlvbiBmb3IgYSBhbmFseXRpY3MgY29uZmlnIGNvbW1hbmRcbiAgICAgIC8vIGUuZywgWydjb25maWcnLCBtZWFzdXJlbWVudElkLCB7IG9yaWdpbjogJ2ZpcmViYXNlJywgZmlyZWJhc2VfaWQgfV1cbiAgICAgIGNvbnN0IHBhcnNlTWVhc3VyZW1lbnRJZCA9ICguLi5hcmdzOiBhbnlbXSkgPT4ge1xuICAgICAgICBpZiAoYXJnc1swXSA9PT0gJ2NvbmZpZycgJiYgYXJnc1syXS5vcmlnaW4gPT09ICdmaXJlYmFzZScpIHtcbiAgICAgICAgICB0aGlzLm1lYXN1cmVtZW50SWQgPSBhcmdzWzFdO1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgY29uc3QgcGF0Y2hHdGFnID0gKGZuPzogKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkKSA9PiB7XG4gICAgICAgIHdpbmRvd1tHVEFHX0ZVTkNUSU9OX05BTUVdID0gKC4uLmFyZ3M6IGFueVtdKSA9PiB7XG4gICAgICAgICAgaWYgKGZuKSB7XG4gICAgICAgICAgICBmbiguLi5hcmdzKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gSW5qZWN0IGFwcF9uYW1lIGFuZCBhcHBfdmVyc2lvbiBpbnRvIGV2ZW50c1xuICAgICAgICAgIC8vIFRPRE8oamFtZXNkYW5pZWxzKTogSSdtIGRvaW5nIHRoaXMgYXMgZG9jdW1lbnRlZCBidXQgaXQncyBzdGlsbCBub3RcbiAgICAgICAgICAvLyAgIHNob3dpbmcgdXAgaW4gdGhlIGNvbnNvbGUuIEludmVzdGlnYXRlLiBHdWVzc2luZyBpdCdzIGp1c3QgcGFydCBvZiB0aGVcbiAgICAgICAgICAvLyAgIHdob2xlIEdBNCB0cmFuc2l0aW9uIG1lc3MuXG4gICAgICAgICAgaWYgKGFyZ3NbMF0gPT09ICdldmVudCcgJiYgYXJnc1syXVtTRU5EX1RPX0tFWV0gPT09IHRoaXMubWVhc3VyZW1lbnRJZCkge1xuICAgICAgICAgICAgaWYgKHByb3ZpZGVkQXBwTmFtZSkge1xuICAgICAgICAgICAgICBhcmdzWzJdW0FQUF9OQU1FX0tFWV0gPSBwcm92aWRlZEFwcE5hbWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocHJvdmlkZWRBcHBWZXJzaW9uKSB7XG4gICAgICAgICAgICAgIGFyZ3NbMl1bQVBQX1ZFUlNJT05fS0VZXSA9IHByb3ZpZGVkQXBwVmVyc2lvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGRlYnVnTW9kZUVuYWJsZWQgJiYgdHlwZW9mIGNvbnNvbGUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgICAgICAgY29uc29sZS5pbmZvKC4uLmFyZ3MpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvKipcbiAgICAgICAgICAgKiBBY2NvcmRpbmcgdG8gdGhlIGd0YWcgZG9jdW1lbnRhdGlvbiwgdGhpcyBmdW5jdGlvbiB0aGF0IGRlZmluZXMgYSBjdXN0b20gZGF0YSBsYXllciBjYW5ub3QgYmVcbiAgICAgICAgICAgKiBhbiBhcnJvdyBmdW5jdGlvbiBiZWNhdXNlICdhcmd1bWVudHMnIGlzIG5vdCBhbiBhcnJheS4gSXQgaXMgYWN0dWFsbHkgYW4gb2JqZWN0IHRoYXQgYmVoYXZlc1xuICAgICAgICAgICAqIGxpa2UgYW4gYXJyYXkgYW5kIGNvbnRhaW5zIG1vcmUgaW5mb3JtYXRpb24gdGhlbiBqdXN0IGluZGV4ZXMuIFRyYW5zZm9ybWluZyB0aGlzIGludG8gYXJyb3cgZnVuY3Rpb25cbiAgICAgICAgICAgKiBjYXVzZWQgaXNzdWUgIzI1MDUgd2hlcmUgYW5hbHl0aWNzIG5vIGxvbmdlciBzZW50IGFueSBkYXRhLlxuICAgICAgICAgICAqL1xuICAgICAgICAgIChmdW5jdGlvbiguLi5fYXJnczogYW55W10pIHtcbiAgICAgICAgICAgIHdpbmRvd1tEQVRBX0xBWUVSX05BTUVdLnB1c2goYXJndW1lbnRzKTtcbiAgICAgICAgICB9KSguLi5hcmdzKTtcbiAgICAgICAgfTtcbiAgICAgIH07XG5cbiAgICAgIC8vIFVuY2xlYXIgaWYgd2Ugc3RpbGwgbmVlZCB0byBidXQgSSB3YXMgcnVubmluZyBpbnRvIGNvbmZpZy9ldmVudHMgSSBwYXNzZWRcbiAgICAgIC8vIHRvIGd0YWcgYmVmb3JlIFsnanMnIHRpbWVzdGFtcF0gd2VyZW4ndCBnZXR0aW5nIHBhcnNlZCwgc28gbGV0J3MgbWFrZSBhIHByb21pc2VcbiAgICAgIC8vIHRoYXQgcmVzb2x2ZXMgd2hlbiBmaXJlYmFzZS9hbmFseXRpY3MgaGFzIGNvbmZpZ3VyZWQgZ3RhZy5qcyB0aGF0IHdlIHdhaXQgb25cbiAgICAgIC8vIGJlZm9yZSBzZW5kaW5nIGFueXRoaW5nXG4gICAgICBjb25zdCBmaXJlYmFzZUFuYWx5dGljc0FscmVhZHlJbml0aWFsaXplZCA9IHdpbmRvd1tEQVRBX0xBWUVSX05BTUVdLnNvbWUocGFyc2VNZWFzdXJlbWVudElkKTtcbiAgICAgIGlmIChmaXJlYmFzZUFuYWx5dGljc0FscmVhZHlJbml0aWFsaXplZCkge1xuICAgICAgICB0aGlzLmFuYWx5dGljc0luaXRpYWxpemVkID0gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICAgIHBhdGNoR3RhZygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5hbmFseXRpY3NJbml0aWFsaXplZCA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgICAgICAgIHBhdGNoR3RhZygoLi4uYXJncykgPT4ge1xuICAgICAgICAgICAgaWYgKHBhcnNlTWVhc3VyZW1lbnRJZCguLi5hcmdzKSkge1xuICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJvdmlkZWRDb25maWcpIHtcbiAgICAgICAgdGhpcy51cGRhdGVDb25maWcocHJvdmlkZWRDb25maWcpO1xuICAgICAgfVxuICAgICAgaWYgKGRlYnVnTW9kZUVuYWJsZWQpIHtcbiAgICAgICAgdGhpcy51cGRhdGVDb25maWcoeyBbREVCVUdfTU9ERV9LRVldOiAxIH0pO1xuICAgICAgfVxuXG4gICAgfSBlbHNlIHtcblxuICAgICAgdGhpcy5hbmFseXRpY3NJbml0aWFsaXplZCA9IFByb21pc2UucmVzb2x2ZSgpO1xuXG4gICAgfVxuXG4gICAgY29uc3QgYW5hbHl0aWNzID0gb2YodW5kZWZpbmVkKS5waXBlKFxuICAgICAgb2JzZXJ2ZU9uKHNjaGVkdWxlcnMub3V0c2lkZUFuZ3VsYXIpLFxuICAgICAgc3dpdGNoTWFwKGlzU3VwcG9ydGVkKSxcbiAgICAgIHN3aXRjaE1hcChzdXBwb3J0ZWQgPT4gc3VwcG9ydGVkID8gem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiBpbXBvcnQoJ2ZpcmViYXNlL2NvbXBhdC9hbmFseXRpY3MnKSkgOiBFTVBUWSksXG4gICAgICBtYXAoKCkgPT4ge1xuICAgICAgICByZXR1cm4gybVjYWNoZUluc3RhbmNlKGBhbmFseXRpY3NgLCAnQW5ndWxhckZpcmVBbmFseXRpY3MnLCBhcHAubmFtZSwgKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGFuYWx5dGljcyA9IGFwcC5hbmFseXRpY3MoKTtcbiAgICAgICAgICBpZiAoYW5hbHl0aWNzQ29sbGVjdGlvbkVuYWJsZWQgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICBhbmFseXRpY3Muc2V0QW5hbHl0aWNzQ29sbGVjdGlvbkVuYWJsZWQoZmFsc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gYW5hbHl0aWNzO1xuICAgICAgICB9LCBbYXBwLCBhbmFseXRpY3NDb2xsZWN0aW9uRW5hYmxlZCwgcHJvdmlkZWRDb25maWcsIGRlYnVnTW9kZUVuYWJsZWRdKTtcbiAgICAgIH0pLFxuICAgICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogZmFsc2UgfSlcbiAgICApO1xuXG4gICAgcmV0dXJuIMm1bGF6eVNES1Byb3h5KHRoaXMsIGFuYWx5dGljcywgem9uZSk7XG5cbiAgfVxuXG59XG5cbsm1YXBwbHlNaXhpbnMoQW5ndWxhckZpcmVBbmFseXRpY3MsIFtwcm94eVBvbHlmaWxsQ29tcGF0XSk7XG4iXX0=
@@ -1,35 +0,0 @@
1
- import { NgModule, Optional } from '@angular/core';
2
- import { VERSION } from '@angular/fire';
3
- import firebase from 'firebase/compat/app';
4
- import { AngularFireAnalytics } from './analytics';
5
- import { ScreenTrackingService } from './screen-tracking.service';
6
- import { UserTrackingService } from './user-tracking.service';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "./analytics";
9
- import * as i2 from "./screen-tracking.service";
10
- import * as i3 from "./user-tracking.service";
11
- export class AngularFireAnalyticsModule {
12
- constructor(analytics,
13
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
14
- screenTracking,
15
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
16
- userTracking) {
17
- firebase.registerVersion('angularfire', VERSION.full, 'analytics-compat');
18
- // calling anything on analytics will eagerly load the SDK
19
- analytics.app.then(() => undefined);
20
- }
21
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AngularFireAnalyticsModule, deps: [{ token: i1.AngularFireAnalytics }, { token: i2.ScreenTrackingService, optional: true }, { token: i3.UserTrackingService, optional: true }], target: i0.ɵɵFactoryTarget.NgModule });
22
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: AngularFireAnalyticsModule });
23
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AngularFireAnalyticsModule, providers: [AngularFireAnalytics] });
24
- }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AngularFireAnalyticsModule, decorators: [{
26
- type: NgModule,
27
- args: [{
28
- providers: [AngularFireAnalytics]
29
- }]
30
- }], ctorParameters: () => [{ type: i1.AngularFireAnalytics }, { type: i2.ScreenTrackingService, decorators: [{
31
- type: Optional
32
- }] }, { type: i3.UserTrackingService, decorators: [{
33
- type: Optional
34
- }] }] });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvYW5hbHl0aWNzL2FuYWx5dGljcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLFFBQVEsTUFBTSxxQkFBcUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7O0FBSzlELE1BQU0sT0FBTywwQkFBMEI7SUFDckMsWUFDRSxTQUErQjtJQUMvQiw2REFBNkQ7SUFDakQsY0FBcUM7SUFDakQsNkRBQTZEO0lBQ2pELFlBQWlDO1FBRTdDLFFBQVEsQ0FBQyxlQUFlLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUMxRSwwREFBMEQ7UUFDMUQsU0FBUyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDdEMsQ0FBQzt1R0FYVSwwQkFBMEI7d0dBQTFCLDBCQUEwQjt3R0FBMUIsMEJBQTBCLGFBRjFCLENBQUUsb0JBQW9CLENBQUU7OzJGQUV4QiwwQkFBMEI7a0JBSHRDLFFBQVE7bUJBQUM7b0JBQ1IsU0FBUyxFQUFFLENBQUUsb0JBQW9CLENBQUU7aUJBQ3BDOzswQkFLSSxRQUFROzswQkFFUixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWRVJTSU9OIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZSc7XG5pbXBvcnQgZmlyZWJhc2UgZnJvbSAnZmlyZWJhc2UvY29tcGF0L2FwcCc7XG5pbXBvcnQgeyBBbmd1bGFyRmlyZUFuYWx5dGljcyB9IGZyb20gJy4vYW5hbHl0aWNzJztcbmltcG9ydCB7IFNjcmVlblRyYWNraW5nU2VydmljZSB9IGZyb20gJy4vc2NyZWVuLXRyYWNraW5nLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlclRyYWNraW5nU2VydmljZSB9IGZyb20gJy4vdXNlci10cmFja2luZy5zZXJ2aWNlJztcblxuQE5nTW9kdWxlKHtcbiAgcHJvdmlkZXJzOiBbIEFuZ3VsYXJGaXJlQW5hbHl0aWNzIF1cbn0pXG5leHBvcnQgY2xhc3MgQW5ndWxhckZpcmVBbmFseXRpY3NNb2R1bGUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBhbmFseXRpY3M6IEFuZ3VsYXJGaXJlQW5hbHl0aWNzLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICBAT3B0aW9uYWwoKSBzY3JlZW5UcmFja2luZzogU2NyZWVuVHJhY2tpbmdTZXJ2aWNlLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICBAT3B0aW9uYWwoKSB1c2VyVHJhY2tpbmc6IFVzZXJUcmFja2luZ1NlcnZpY2UsXG4gICkge1xuICAgIGZpcmViYXNlLnJlZ2lzdGVyVmVyc2lvbignYW5ndWxhcmZpcmUnLCBWRVJTSU9OLmZ1bGwsICdhbmFseXRpY3MtY29tcGF0Jyk7XG4gICAgLy8gY2FsbGluZyBhbnl0aGluZyBvbiBhbmFseXRpY3Mgd2lsbCBlYWdlcmx5IGxvYWQgdGhlIFNES1xuICAgIGFuYWx5dGljcy5hcHAudGhlbigoKSA9PiB1bmRlZmluZWQpO1xuICB9XG59XG4iXX0=
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1maXJlLWNvbXBhdC1hbmFseXRpY3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvY29tcGF0L2FuYWx5dGljcy9hbmd1bGFyLWZpcmUtY29tcGF0LWFuYWx5dGljcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
@@ -1,11 +0,0 @@
1
- // DO NOT MODIFY, this file is autogenerated by tools/build.ts
2
- // Export a null object with the same keys as firebase/compat/analytics, so Proxy can work with proxy-polyfill in Internet Explorer
3
- export const proxyPolyfillCompat = {
4
- app: null,
5
- logEvent: null,
6
- setCurrentScreen: null,
7
- setUserId: null,
8
- setUserProperties: null,
9
- setAnalyticsCollectionEnabled: null,
10
- };
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvYW5hbHl0aWNzL2Jhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsOERBQThEO0FBQzlELG1JQUFtSTtBQUNuSSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRztJQUNqQyxHQUFHLEVBQUUsSUFBSTtJQUNULFFBQVEsRUFBRSxJQUFJO0lBQ2QsZ0JBQWdCLEVBQUUsSUFBSTtJQUN0QixTQUFTLEVBQUUsSUFBSTtJQUNmLGlCQUFpQixFQUFFLElBQUk7SUFDdkIsNkJBQTZCLEVBQUUsSUFBSTtDQUNwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gRE8gTk9UIE1PRElGWSwgdGhpcyBmaWxlIGlzIGF1dG9nZW5lcmF0ZWQgYnkgdG9vbHMvYnVpbGQudHNcbi8vIEV4cG9ydCBhIG51bGwgb2JqZWN0IHdpdGggdGhlIHNhbWUga2V5cyBhcyBmaXJlYmFzZS9jb21wYXQvYW5hbHl0aWNzLCBzbyBQcm94eSBjYW4gd29yayB3aXRoIHByb3h5LXBvbHlmaWxsIGluIEludGVybmV0IEV4cGxvcmVyXG5leHBvcnQgY29uc3QgcHJveHlQb2x5ZmlsbENvbXBhdCA9IHtcbiAgYXBwOiBudWxsLFxuICBsb2dFdmVudDogbnVsbCxcbiAgc2V0Q3VycmVudFNjcmVlbjogbnVsbCxcbiAgc2V0VXNlcklkOiBudWxsLFxuICBzZXRVc2VyUHJvcGVydGllczogbnVsbCxcbiAgc2V0QW5hbHl0aWNzQ29sbGVjdGlvbkVuYWJsZWQ6IG51bGwsXG59O1xuIl19
@@ -1,5 +0,0 @@
1
- export * from './analytics';
2
- export * from './analytics.module';
3
- export * from './screen-tracking.service';
4
- export * from './user-tracking.service';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wYXQvYW5hbHl0aWNzL3B1YmxpY19hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FuYWx5dGljcyc7XG5leHBvcnQgKiBmcm9tICcuL2FuYWx5dGljcy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9zY3JlZW4tdHJhY2tpbmcuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3VzZXItdHJhY2tpbmcuc2VydmljZSc7XG4iXX0=