@angular/fire 7.6.0 → 16.0.0-canary.1350920

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 (480) hide show
  1. package/README.md +11 -27
  2. package/analytics/analytics.module.d.ts +2 -2
  3. package/analytics/firebase.d.ts +4 -1
  4. package/analytics/is-analytics-supported-factory.d.ts +4 -0
  5. package/analytics/screen-tracking.service.d.ts +3 -3
  6. package/app-check/app-check.d.ts +0 -6
  7. package/app-check/app-check.module.d.ts +3 -4
  8. package/app-check/firebase.d.ts +2 -1
  9. package/app-check/public_api.d.ts +2 -1
  10. package/auth/auth.module.d.ts +2 -2
  11. package/auth/firebase.d.ts +3 -1
  12. package/auth-guard/auth-guard.d.ts +6 -6
  13. package/compat/analytics/analytics.d.ts +1 -3
  14. package/compat/analytics/analytics.module.d.ts +1 -1
  15. package/compat/analytics/screen-tracking.service.d.ts +1 -1
  16. package/compat/analytics/user-tracking.service.d.ts +1 -1
  17. package/compat/auth/auth.d.ts +4 -4
  18. package/compat/auth-guard/auth-guard.d.ts +8 -6
  19. package/compat/database/database.d.ts +4 -4
  20. package/compat/database/interfaces.d.ts +14 -14
  21. package/compat/database/list/audit-trail.d.ts +1 -1
  22. package/compat/database/list/create-reference.d.ts +1 -1
  23. package/compat/database/list/data-operation.d.ts +1 -1
  24. package/compat/database/list/state-changes.d.ts +1 -1
  25. package/compat/database/object/create-reference.d.ts +1 -1
  26. package/compat/database/observable/fromRef.d.ts +1 -1
  27. package/compat/database/utils.d.ts +1 -1
  28. package/compat/firebase.app.module.d.ts +1 -1
  29. package/compat/firestore/collection/collection.d.ts +2 -2
  30. package/compat/firestore/collection-group/collection-group.d.ts +2 -2
  31. package/compat/firestore/document/document.d.ts +4 -4
  32. package/compat/firestore/firestore.d.ts +7 -7
  33. package/compat/firestore/interfaces.d.ts +19 -19
  34. package/compat/functions/functions.d.ts +3 -3
  35. package/compat/messaging/messaging.d.ts +2 -2
  36. package/compat/performance/performance.d.ts +2 -2
  37. package/compat/proxy.d.ts +8 -8
  38. package/compat/remote-config/interfaces.d.ts +1 -1
  39. package/compat/remote-config/remote-config.d.ts +15 -49
  40. package/compat/storage/interfaces.d.ts +8 -8
  41. package/compat/storage/observable/fromTask.d.ts +1 -2
  42. package/compat/storage/pipes/storageUrl.pipe.d.ts +1 -1
  43. package/compat/storage/ref.d.ts +1 -1
  44. package/compat/storage/storage.d.ts +3 -3
  45. package/compat/storage/task.d.ts +1 -1
  46. package/core.d.ts +8 -12
  47. package/database/database.module.d.ts +2 -2
  48. package/docs/app-check.md +1 -1
  49. package/docs/auth.md +6 -6
  50. package/docs/database.md +1 -1
  51. package/docs/deploy/getting-started.md +2 -2
  52. package/docs/firestore.md +1 -1
  53. package/docs/install-and-setup.md +1 -1
  54. package/docs/install-firebase-tools.md +78 -0
  55. package/docs/universal/cloud-functions.md +27 -6
  56. package/docs/universal/getting-started.md +9 -134
  57. package/{esm2015/analytics/analytics.js → esm2022/analytics/analytics.mjs} +1 -1
  58. package/esm2022/analytics/analytics.module.mjs +94 -0
  59. package/esm2022/analytics/firebase.mjs +17 -0
  60. package/esm2022/analytics/is-analytics-supported-factory.mjs +16 -0
  61. package/esm2022/analytics/overrides.mjs +3 -0
  62. package/esm2022/analytics/screen-tracking.service.mjs +148 -0
  63. package/esm2022/analytics/user-tracking.service.mjs +44 -0
  64. package/{esm2015/app/app.js → esm2022/app/app.mjs} +1 -1
  65. package/esm2022/app/app.module.mjs +85 -0
  66. package/esm2022/app-check/app-check.mjs +10 -0
  67. package/esm2022/app-check/app-check.module.mjs +78 -0
  68. package/esm2022/app-check/firebase.mjs +10 -0
  69. package/esm2022/app-check/public_api.mjs +5 -0
  70. package/{esm2015/auth/auth.js → esm2022/auth/auth.mjs} +1 -1
  71. package/esm2022/auth/auth.module.mjs +71 -0
  72. package/esm2022/auth/firebase.mjs +58 -0
  73. package/esm2022/auth-guard/auth-guard.mjs +53 -0
  74. package/{esm2015/auth-guard/auth-guard.module.js → esm2022/auth-guard/auth-guard.module.mjs} +7 -7
  75. package/esm2022/compat/analytics/analytics.mjs +160 -0
  76. package/esm2022/compat/analytics/analytics.module.mjs +35 -0
  77. package/esm2022/compat/analytics/screen-tracking.service.mjs +49 -0
  78. package/esm2022/compat/analytics/user-tracking.service.mjs +53 -0
  79. package/esm2022/compat/auth/auth.mjs +161 -0
  80. package/{esm2015/compat/auth/auth.module.js → esm2022/compat/auth/auth.module.mjs} +7 -7
  81. package/{esm2015/compat/auth/public_api.js → esm2022/compat/auth/public_api.mjs} +1 -1
  82. package/esm2022/compat/auth-guard/auth-guard.mjs +53 -0
  83. package/{esm2015/compat/auth-guard/auth-guard.module.js → esm2022/compat/auth-guard/auth-guard.module.mjs} +7 -7
  84. package/{esm2015/compat/cache.js → esm2022/compat/cache.mjs} +4 -3
  85. package/esm2022/compat/database/database.mjs +119 -0
  86. package/{esm2015/compat/database/database.module.js → esm2022/compat/database/database.module.mjs} +7 -7
  87. package/esm2022/compat/database/interfaces.mjs +2 -0
  88. package/{esm2015/compat/database/list/audit-trail.js → esm2022/compat/database/list/audit-trail.mjs} +3 -3
  89. package/esm2022/compat/database/list/changes.mjs +85 -0
  90. package/esm2022/compat/database/list/create-reference.mjs +44 -0
  91. package/{esm2015/compat/database/list/data-operation.js → esm2022/compat/database/list/data-operation.mjs} +1 -1
  92. package/{esm2015/compat/database/list/snapshot-changes.js → esm2022/compat/database/list/snapshot-changes.mjs} +1 -1
  93. package/{esm2015/compat/database/list/state-changes.js → esm2022/compat/database/list/state-changes.mjs} +2 -2
  94. package/{esm2015/compat/database/object/create-reference.js → esm2022/compat/database/object/create-reference.mjs} +2 -2
  95. package/{esm2015/compat/database/object/snapshot-changes.js → esm2022/compat/database/object/snapshot-changes.mjs} +1 -1
  96. package/esm2022/compat/database/observable/fromRef.mjs +48 -0
  97. package/{esm2015/compat/database/utils.js → esm2022/compat/database/utils.mjs} +1 -1
  98. package/{esm2015/compat/firebase.app.js → esm2022/compat/firebase.app.mjs} +1 -1
  99. package/esm2022/compat/firebase.app.module.mjs +71 -0
  100. package/esm2022/compat/firestore/collection/changes.mjs +108 -0
  101. package/esm2022/compat/firestore/collection/collection.mjs +123 -0
  102. package/esm2022/compat/firestore/collection-group/collection-group.mjs +86 -0
  103. package/esm2022/compat/firestore/document/document.mjs +87 -0
  104. package/esm2022/compat/firestore/firestore.mjs +257 -0
  105. package/{esm2015/compat/firestore/firestore.module.js → esm2022/compat/firestore/firestore.module.mjs} +7 -7
  106. package/esm2022/compat/firestore/interfaces.mjs +2 -0
  107. package/esm2022/compat/firestore/observable/fromRef.mjs +40 -0
  108. package/esm2022/compat/functions/functions.mjs +69 -0
  109. package/{esm2015/compat/functions/functions.module.js → esm2022/compat/functions/functions.module.mjs} +7 -7
  110. package/{esm2015/compat/functions/public_api.js → esm2022/compat/functions/public_api.mjs} +1 -1
  111. package/esm2022/compat/messaging/messaging.mjs +81 -0
  112. package/{esm2015/compat/messaging/messaging.module.js → esm2022/compat/messaging/messaging.module.mjs} +7 -7
  113. package/esm2022/compat/performance/performance.mjs +105 -0
  114. package/esm2022/compat/performance/performance.module.mjs +27 -0
  115. package/esm2022/compat/performance/performance.service.mjs +28 -0
  116. package/esm2022/compat/proxy.mjs +58 -0
  117. package/esm2022/compat/remote-config/remote-config.mjs +206 -0
  118. package/{esm2015/compat/remote-config/remote-config.module.js → esm2022/compat/remote-config/remote-config.module.mjs} +7 -7
  119. package/esm2022/compat/storage/observable/fromTask.mjs +36 -0
  120. package/esm2022/compat/storage/pipes/storageUrl.pipe.mjs +58 -0
  121. package/{esm2015/compat/storage/ref.js → esm2022/compat/storage/ref.mjs} +3 -3
  122. package/esm2022/compat/storage/storage.mjs +95 -0
  123. package/esm2022/compat/storage/storage.module.mjs +22 -0
  124. package/{esm2015/compat/storage/task.js → esm2022/compat/storage/task.mjs} +2 -2
  125. package/esm2022/core.mjs +43 -0
  126. package/{esm2015/database/database.js → esm2022/database/database.mjs} +1 -1
  127. package/esm2022/database/database.module.mjs +74 -0
  128. package/esm2022/firestore/firebase.mjs +73 -0
  129. package/{esm2015/firestore/firestore.js → esm2022/firestore/firestore.mjs} +1 -1
  130. package/esm2022/firestore/firestore.module.mjs +74 -0
  131. package/esm2022/firestore/lite/firebase.mjs +48 -0
  132. package/{esm2015/firestore/lite/lite.js → esm2022/firestore/lite/lite.mjs} +1 -1
  133. package/esm2022/firestore/lite/lite.module.mjs +73 -0
  134. package/esm2022/firestore/lite/rxfire.mjs +12 -0
  135. package/esm2022/firestore/rxfire.mjs +15 -0
  136. package/{esm2015/functions/functions.js → esm2022/functions/functions.mjs} +1 -1
  137. package/esm2022/functions/functions.module.mjs +74 -0
  138. package/esm2022/messaging/is-messaging-supported-factory.mjs +16 -0
  139. package/{esm2015/messaging/messaging.js → esm2022/messaging/messaging.mjs} +1 -1
  140. package/esm2022/messaging/messaging.module.mjs +86 -0
  141. package/esm2022/messaging/overrides.mjs +3 -0
  142. package/{esm2015/performance/performance.js → esm2022/performance/performance.mjs} +1 -1
  143. package/esm2022/performance/performance.module.mjs +81 -0
  144. package/esm2022/remote-config/is-remote-config-supported-factory.mjs +16 -0
  145. package/esm2022/remote-config/overrides.mjs +3 -0
  146. package/{esm2015/remote-config/remote-config.js → esm2022/remote-config/remote-config.mjs} +1 -1
  147. package/esm2022/remote-config/remote-config.module.mjs +86 -0
  148. package/{esm2015/storage/storage.js → esm2022/storage/storage.mjs} +1 -1
  149. package/esm2022/storage/storage.module.mjs +74 -0
  150. package/esm2022/zones.mjs +194 -0
  151. package/{fesm2015/angular-fire-analytics.js → fesm2022/angular-fire-analytics.mjs} +68 -41
  152. package/fesm2022/angular-fire-analytics.mjs.map +1 -0
  153. package/{fesm2015/angular-fire-app-check.js → fesm2022/angular-fire-app-check.mjs} +18 -25
  154. package/fesm2022/angular-fire-app-check.mjs.map +1 -0
  155. package/{fesm2015/angular-fire-app.js → fesm2022/angular-fire-app.mjs} +10 -9
  156. package/fesm2022/angular-fire-app.mjs.map +1 -0
  157. package/{fesm2015/angular-fire-auth-guard.js → fesm2022/angular-fire-auth-guard.mjs} +31 -27
  158. package/fesm2022/angular-fire-auth-guard.mjs.map +1 -0
  159. package/{fesm2015/angular-fire-auth.js → fesm2022/angular-fire-auth.mjs} +14 -13
  160. package/fesm2022/angular-fire-auth.mjs.map +1 -0
  161. package/{fesm2015/angular-fire-compat-analytics.js → fesm2022/angular-fire-compat-analytics.mjs} +43 -41
  162. package/fesm2022/angular-fire-compat-analytics.mjs.map +1 -0
  163. package/{fesm2015/angular-fire-compat-auth-guard.js → fesm2022/angular-fire-compat-auth-guard.mjs} +30 -26
  164. package/fesm2022/angular-fire-compat-auth-guard.mjs.map +1 -0
  165. package/{fesm2015/angular-fire-compat-auth.js → fesm2022/angular-fire-compat-auth.mjs} +38 -16
  166. package/fesm2022/angular-fire-compat-auth.mjs.map +1 -0
  167. package/{fesm2015/angular-fire-compat-database.js → fesm2022/angular-fire-compat-database.mjs} +138 -132
  168. package/fesm2022/angular-fire-compat-database.mjs.map +1 -0
  169. package/{fesm2015/angular-fire-compat-firestore.js → fesm2022/angular-fire-compat-firestore.mjs} +119 -98
  170. package/fesm2022/angular-fire-compat-firestore.mjs.map +1 -0
  171. package/{fesm2015/angular-fire-compat-functions.js → fesm2022/angular-fire-compat-functions.mjs} +13 -12
  172. package/fesm2022/angular-fire-compat-functions.mjs.map +1 -0
  173. package/{fesm2015/angular-fire-compat-messaging.js → fesm2022/angular-fire-compat-messaging.mjs} +25 -19
  174. package/fesm2022/angular-fire-compat-messaging.mjs.map +1 -0
  175. package/{fesm2015/angular-fire-compat-performance.js → fesm2022/angular-fire-compat-performance.mjs} +29 -34
  176. package/fesm2022/angular-fire-compat-performance.mjs.map +1 -0
  177. package/{fesm2015/angular-fire-compat-remote-config.js → fesm2022/angular-fire-compat-remote-config.mjs} +35 -22
  178. package/fesm2022/angular-fire-compat-remote-config.mjs.map +1 -0
  179. package/{fesm2015/angular-fire-compat-storage.js → fesm2022/angular-fire-compat-storage.mjs} +30 -23
  180. package/fesm2022/angular-fire-compat-storage.mjs.map +1 -0
  181. package/{fesm2015/angular-fire-compat.js → fesm2022/angular-fire-compat.mjs} +25 -25
  182. package/fesm2022/angular-fire-compat.mjs.map +1 -0
  183. package/{fesm2015/angular-fire-database.js → fesm2022/angular-fire-database.mjs} +11 -12
  184. package/fesm2022/angular-fire-database.mjs.map +1 -0
  185. package/{fesm2015/angular-fire-firestore-lite.js → fesm2022/angular-fire-firestore-lite.mjs} +25 -15
  186. package/fesm2022/angular-fire-firestore-lite.mjs.map +1 -0
  187. package/fesm2022/angular-fire-firestore.mjs +180 -0
  188. package/fesm2022/angular-fire-firestore.mjs.map +1 -0
  189. package/{fesm2015/angular-fire-functions.js → fesm2022/angular-fire-functions.mjs} +12 -13
  190. package/fesm2022/angular-fire-functions.mjs.map +1 -0
  191. package/{fesm2015/angular-fire-messaging.js → fesm2022/angular-fire-messaging.mjs} +33 -19
  192. package/fesm2022/angular-fire-messaging.mjs.map +1 -0
  193. package/{fesm2015/angular-fire-performance.js → fesm2022/angular-fire-performance.mjs} +11 -11
  194. package/fesm2022/angular-fire-performance.mjs.map +1 -0
  195. package/{fesm2015/angular-fire-remote-config.js → fesm2022/angular-fire-remote-config.mjs} +34 -20
  196. package/fesm2022/angular-fire-remote-config.mjs.map +1 -0
  197. package/{fesm2015/angular-fire-storage.js → fesm2022/angular-fire-storage.mjs} +10 -11
  198. package/fesm2022/angular-fire-storage.mjs.map +1 -0
  199. package/{fesm2015/angular-fire.js → fesm2022/angular-fire.mjs} +33 -58
  200. package/fesm2022/angular-fire.mjs.map +1 -0
  201. package/firestore/firebase.d.ts +21 -1
  202. package/firestore/firestore.module.d.ts +2 -2
  203. package/firestore/lite/firebase.d.ts +10 -1
  204. package/firestore/lite/lite.module.d.ts +2 -2
  205. package/firestore/lite/rxfire.d.ts +3 -1
  206. package/firestore/rxfire.d.ts +3 -1
  207. package/functions/functions.module.d.ts +2 -2
  208. package/messaging/is-messaging-supported-factory.d.ts +4 -0
  209. package/messaging/messaging.module.d.ts +2 -2
  210. package/package.json +170 -20
  211. package/performance/performance.module.d.ts +2 -2
  212. package/remote-config/is-remote-config-supported-factory.d.ts +4 -0
  213. package/remote-config/remote-config.module.d.ts +2 -2
  214. package/schematics/add/index.js +2 -2
  215. package/schematics/common.js +9 -5
  216. package/schematics/deploy/actions.js +69 -69
  217. package/schematics/deploy/builder.js +7 -7
  218. package/schematics/firebaseTools.js +9 -5
  219. package/schematics/interfaces.js +9 -8
  220. package/schematics/setup/index.js +48 -64
  221. package/schematics/setup/prompts.js +22 -18
  222. package/schematics/update/index.js +1 -1
  223. package/schematics/update/v7/index.js +7 -7
  224. package/schematics/utils.js +87 -71
  225. package/storage/storage.module.d.ts +2 -2
  226. package/analytics/package.json +0 -11
  227. package/app/package.json +0 -11
  228. package/app-check/package.json +0 -11
  229. package/auth/package.json +0 -11
  230. package/auth-guard/package.json +0 -11
  231. package/bundles/angular-fire-analytics.umd.js +0 -673
  232. package/bundles/angular-fire-analytics.umd.js.map +0 -1
  233. package/bundles/angular-fire-app-check.umd.js +0 -465
  234. package/bundles/angular-fire-app-check.umd.js.map +0 -1
  235. package/bundles/angular-fire-app.umd.js +0 -477
  236. package/bundles/angular-fire-app.umd.js.map +0 -1
  237. package/bundles/angular-fire-auth-guard.umd.js +0 -109
  238. package/bundles/angular-fire-auth-guard.umd.js.map +0 -1
  239. package/bundles/angular-fire-auth.umd.js +0 -557
  240. package/bundles/angular-fire-auth.umd.js.map +0 -1
  241. package/bundles/angular-fire-compat-analytics.umd.js +0 -672
  242. package/bundles/angular-fire-compat-analytics.umd.js.map +0 -1
  243. package/bundles/angular-fire-compat-auth-guard.umd.js +0 -112
  244. package/bundles/angular-fire-compat-auth-guard.umd.js.map +0 -1
  245. package/bundles/angular-fire-compat-auth.umd.js +0 -559
  246. package/bundles/angular-fire-compat-auth.umd.js.map +0 -1
  247. package/bundles/angular-fire-compat-database.umd.js +0 -799
  248. package/bundles/angular-fire-compat-database.umd.js.map +0 -1
  249. package/bundles/angular-fire-compat-firestore.umd.js +0 -1073
  250. package/bundles/angular-fire-compat-firestore.umd.js.map +0 -1
  251. package/bundles/angular-fire-compat-functions.umd.js +0 -443
  252. package/bundles/angular-fire-compat-functions.umd.js.map +0 -1
  253. package/bundles/angular-fire-compat-messaging.umd.js +0 -465
  254. package/bundles/angular-fire-compat-messaging.umd.js.map +0 -1
  255. package/bundles/angular-fire-compat-performance.umd.js +0 -212
  256. package/bundles/angular-fire-compat-performance.umd.js.map +0 -1
  257. package/bundles/angular-fire-compat-remote-config.umd.js +0 -605
  258. package/bundles/angular-fire-compat-remote-config.umd.js.map +0 -1
  259. package/bundles/angular-fire-compat-storage.umd.js +0 -598
  260. package/bundles/angular-fire-compat-storage.umd.js.map +0 -1
  261. package/bundles/angular-fire-compat.umd.js +0 -535
  262. package/bundles/angular-fire-compat.umd.js.map +0 -1
  263. package/bundles/angular-fire-database.umd.js +0 -557
  264. package/bundles/angular-fire-database.umd.js.map +0 -1
  265. package/bundles/angular-fire-firestore-lite.umd.js +0 -531
  266. package/bundles/angular-fire-firestore-lite.umd.js.map +0 -1
  267. package/bundles/angular-fire-firestore.umd.js +0 -565
  268. package/bundles/angular-fire-firestore.umd.js.map +0 -1
  269. package/bundles/angular-fire-functions.umd.js +0 -461
  270. package/bundles/angular-fire-functions.umd.js.map +0 -1
  271. package/bundles/angular-fire-messaging.umd.js +0 -473
  272. package/bundles/angular-fire-messaging.umd.js.map +0 -1
  273. package/bundles/angular-fire-performance.umd.js +0 -473
  274. package/bundles/angular-fire-performance.umd.js.map +0 -1
  275. package/bundles/angular-fire-remote-config.umd.js +0 -499
  276. package/bundles/angular-fire-remote-config.umd.js.map +0 -1
  277. package/bundles/angular-fire-storage.umd.js +0 -485
  278. package/bundles/angular-fire-storage.umd.js.map +0 -1
  279. package/bundles/angular-fire.umd.js +0 -308
  280. package/bundles/angular-fire.umd.js.map +0 -1
  281. package/compat/analytics/package.json +0 -11
  282. package/compat/auth/package.json +0 -11
  283. package/compat/auth-guard/package.json +0 -11
  284. package/compat/database/package.json +0 -11
  285. package/compat/firestore/package.json +0 -11
  286. package/compat/functions/package.json +0 -11
  287. package/compat/messaging/package.json +0 -11
  288. package/compat/package.json +0 -11
  289. package/compat/performance/package.json +0 -11
  290. package/compat/remote-config/package.json +0 -11
  291. package/compat/storage/package.json +0 -11
  292. package/database/package.json +0 -11
  293. package/esm2015/analytics/analytics.module.js +0 -93
  294. package/esm2015/analytics/firebase.js +0 -14
  295. package/esm2015/analytics/overrides.js +0 -3
  296. package/esm2015/analytics/screen-tracking.service.js +0 -139
  297. package/esm2015/analytics/user-tracking.service.js +0 -43
  298. package/esm2015/app/app.module.js +0 -84
  299. package/esm2015/app-check/app-check.js +0 -16
  300. package/esm2015/app-check/app-check.module.js +0 -81
  301. package/esm2015/app-check/firebase.js +0 -9
  302. package/esm2015/app-check/public_api.js +0 -4
  303. package/esm2015/auth/auth.module.js +0 -71
  304. package/esm2015/auth/firebase.js +0 -56
  305. package/esm2015/auth-guard/auth-guard.js +0 -49
  306. package/esm2015/compat/analytics/analytics.js +0 -163
  307. package/esm2015/compat/analytics/analytics.module.js +0 -32
  308. package/esm2015/compat/analytics/screen-tracking.service.js +0 -49
  309. package/esm2015/compat/analytics/user-tracking.service.js +0 -52
  310. package/esm2015/compat/auth/auth.js +0 -139
  311. package/esm2015/compat/auth-guard/auth-guard.js +0 -49
  312. package/esm2015/compat/database/database.js +0 -117
  313. package/esm2015/compat/database/interfaces.js +0 -2
  314. package/esm2015/compat/database/list/changes.js +0 -85
  315. package/esm2015/compat/database/list/create-reference.js +0 -41
  316. package/esm2015/compat/database/observable/fromRef.js +0 -47
  317. package/esm2015/compat/firebase.app.module.js +0 -69
  318. package/esm2015/compat/firestore/collection/changes.js +0 -107
  319. package/esm2015/compat/firestore/collection/collection.js +0 -117
  320. package/esm2015/compat/firestore/collection-group/collection-group.js +0 -81
  321. package/esm2015/compat/firestore/document/document.js +0 -82
  322. package/esm2015/compat/firestore/firestore.js +0 -254
  323. package/esm2015/compat/firestore/interfaces.js +0 -2
  324. package/esm2015/compat/firestore/observable/fromRef.js +0 -39
  325. package/esm2015/compat/functions/functions.js +0 -68
  326. package/esm2015/compat/messaging/messaging.js +0 -75
  327. package/esm2015/compat/performance/performance.js +0 -110
  328. package/esm2015/compat/performance/performance.module.js +0 -28
  329. package/esm2015/compat/performance/performance.service.js +0 -27
  330. package/esm2015/compat/proxy.js +0 -61
  331. package/esm2015/compat/remote-config/remote-config.js +0 -193
  332. package/esm2015/compat/storage/observable/fromTask.js +0 -34
  333. package/esm2015/compat/storage/pipes/storageUrl.pipe.js +0 -54
  334. package/esm2015/compat/storage/storage.js +0 -94
  335. package/esm2015/compat/storage/storage.module.js +0 -22
  336. package/esm2015/core.js +0 -79
  337. package/esm2015/database/database.module.js +0 -74
  338. package/esm2015/firestore/firebase.js +0 -53
  339. package/esm2015/firestore/firestore.module.js +0 -74
  340. package/esm2015/firestore/lite/firebase.js +0 -39
  341. package/esm2015/firestore/lite/lite.module.js +0 -74
  342. package/esm2015/firestore/lite/rxfire.js +0 -10
  343. package/esm2015/firestore/rxfire.js +0 -13
  344. package/esm2015/functions/functions.module.js +0 -74
  345. package/esm2015/messaging/messaging.module.js +0 -85
  346. package/esm2015/messaging/overrides.js +0 -3
  347. package/esm2015/performance/performance.module.js +0 -81
  348. package/esm2015/remote-config/overrides.js +0 -3
  349. package/esm2015/remote-config/remote-config.module.js +0 -85
  350. package/esm2015/storage/storage.module.js +0 -74
  351. package/esm2015/zones.js +0 -183
  352. package/fesm2015/angular-fire-analytics.js.map +0 -1
  353. package/fesm2015/angular-fire-app-check.js.map +0 -1
  354. package/fesm2015/angular-fire-app.js.map +0 -1
  355. package/fesm2015/angular-fire-auth-guard.js.map +0 -1
  356. package/fesm2015/angular-fire-auth.js.map +0 -1
  357. package/fesm2015/angular-fire-compat-analytics.js.map +0 -1
  358. package/fesm2015/angular-fire-compat-auth-guard.js.map +0 -1
  359. package/fesm2015/angular-fire-compat-auth.js.map +0 -1
  360. package/fesm2015/angular-fire-compat-database.js.map +0 -1
  361. package/fesm2015/angular-fire-compat-firestore.js.map +0 -1
  362. package/fesm2015/angular-fire-compat-functions.js.map +0 -1
  363. package/fesm2015/angular-fire-compat-messaging.js.map +0 -1
  364. package/fesm2015/angular-fire-compat-performance.js.map +0 -1
  365. package/fesm2015/angular-fire-compat-remote-config.js.map +0 -1
  366. package/fesm2015/angular-fire-compat-storage.js.map +0 -1
  367. package/fesm2015/angular-fire-compat.js.map +0 -1
  368. package/fesm2015/angular-fire-database.js.map +0 -1
  369. package/fesm2015/angular-fire-firestore-lite.js.map +0 -1
  370. package/fesm2015/angular-fire-firestore.js +0 -159
  371. package/fesm2015/angular-fire-firestore.js.map +0 -1
  372. package/fesm2015/angular-fire-functions.js.map +0 -1
  373. package/fesm2015/angular-fire-messaging.js.map +0 -1
  374. package/fesm2015/angular-fire-performance.js.map +0 -1
  375. package/fesm2015/angular-fire-remote-config.js.map +0 -1
  376. package/fesm2015/angular-fire-storage.js.map +0 -1
  377. package/fesm2015/angular-fire.js.map +0 -1
  378. package/firestore/lite/package.json +0 -11
  379. package/firestore/package.json +0 -11
  380. package/firestore-protos.js +0 -4
  381. package/functions/package.json +0 -11
  382. package/messaging/package.json +0 -11
  383. package/performance/package.json +0 -11
  384. package/remote-config/package.json +0 -11
  385. package/storage/package.json +0 -11
  386. /package/analytics/{angular-fire-analytics.d.ts → index.d.ts} +0 -0
  387. /package/app/{angular-fire-app.d.ts → index.d.ts} +0 -0
  388. /package/app-check/{angular-fire-app-check.d.ts → index.d.ts} +0 -0
  389. /package/auth/{angular-fire-auth.d.ts → index.d.ts} +0 -0
  390. /package/auth-guard/{angular-fire-auth-guard.d.ts → index.d.ts} +0 -0
  391. /package/compat/analytics/{angular-fire-compat-analytics.d.ts → index.d.ts} +0 -0
  392. /package/compat/auth/{angular-fire-compat-auth.d.ts → index.d.ts} +0 -0
  393. /package/compat/auth-guard/{angular-fire-compat-auth-guard.d.ts → index.d.ts} +0 -0
  394. /package/compat/database/{angular-fire-compat-database.d.ts → index.d.ts} +0 -0
  395. /package/compat/firestore/{angular-fire-compat-firestore.d.ts → index.d.ts} +0 -0
  396. /package/compat/functions/{angular-fire-compat-functions.d.ts → index.d.ts} +0 -0
  397. /package/compat/{angular-fire-compat.d.ts → index.d.ts} +0 -0
  398. /package/compat/messaging/{angular-fire-compat-messaging.d.ts → index.d.ts} +0 -0
  399. /package/compat/performance/{angular-fire-compat-performance.d.ts → index.d.ts} +0 -0
  400. /package/compat/remote-config/{angular-fire-compat-remote-config.d.ts → index.d.ts} +0 -0
  401. /package/compat/storage/{angular-fire-compat-storage.d.ts → index.d.ts} +0 -0
  402. /package/database/{angular-fire-database.d.ts → index.d.ts} +0 -0
  403. /package/{esm2015/analytics/angular-fire-analytics.js → esm2022/analytics/angular-fire-analytics.mjs} +0 -0
  404. /package/{esm2015/analytics/public_api.js → esm2022/analytics/public_api.mjs} +0 -0
  405. /package/{esm2015/angular-fire.js → esm2022/angular-fire.mjs} +0 -0
  406. /package/{esm2015/app/angular-fire-app.js → esm2022/app/angular-fire-app.mjs} +0 -0
  407. /package/{esm2015/app/firebase.js → esm2022/app/firebase.mjs} +0 -0
  408. /package/{esm2015/app/public_api.js → esm2022/app/public_api.mjs} +0 -0
  409. /package/{esm2015/app-check/angular-fire-app-check.js → esm2022/app-check/angular-fire-app-check.mjs} +0 -0
  410. /package/{esm2015/auth/angular-fire-auth.js → esm2022/auth/angular-fire-auth.mjs} +0 -0
  411. /package/{esm2015/auth/public_api.js → esm2022/auth/public_api.mjs} +0 -0
  412. /package/{esm2015/auth/rxfire.js → esm2022/auth/rxfire.mjs} +0 -0
  413. /package/{esm2015/auth-guard/angular-fire-auth-guard.js → esm2022/auth-guard/angular-fire-auth-guard.mjs} +0 -0
  414. /package/{esm2015/auth-guard/public_api.js → esm2022/auth-guard/public_api.mjs} +0 -0
  415. /package/{esm2015/compat/analytics/angular-fire-compat-analytics.js → esm2022/compat/analytics/angular-fire-compat-analytics.mjs} +0 -0
  416. /package/{esm2015/compat/analytics/base.js → esm2022/compat/analytics/base.mjs} +0 -0
  417. /package/{esm2015/compat/analytics/public_api.js → esm2022/compat/analytics/public_api.mjs} +0 -0
  418. /package/{esm2015/compat/angular-fire-compat.js → esm2022/compat/angular-fire-compat.mjs} +0 -0
  419. /package/{esm2015/compat/auth/angular-fire-compat-auth.js → esm2022/compat/auth/angular-fire-compat-auth.mjs} +0 -0
  420. /package/{esm2015/compat/auth/base.js → esm2022/compat/auth/base.mjs} +0 -0
  421. /package/{esm2015/compat/auth-guard/angular-fire-compat-auth-guard.js → esm2022/compat/auth-guard/angular-fire-compat-auth-guard.mjs} +0 -0
  422. /package/{esm2015/compat/auth-guard/public_api.js → esm2022/compat/auth-guard/public_api.mjs} +0 -0
  423. /package/{esm2015/compat/database/angular-fire-compat-database.js → esm2022/compat/database/angular-fire-compat-database.mjs} +0 -0
  424. /package/{esm2015/compat/database/list/remove.js → esm2022/compat/database/list/remove.mjs} +0 -0
  425. /package/{esm2015/compat/database/list/utils.js → esm2022/compat/database/list/utils.mjs} +0 -0
  426. /package/{esm2015/compat/database/public_api.js → esm2022/compat/database/public_api.mjs} +0 -0
  427. /package/{esm2015/compat/firestore/angular-fire-compat-firestore.js → esm2022/compat/firestore/angular-fire-compat-firestore.mjs} +0 -0
  428. /package/{esm2015/compat/firestore/public_api.js → esm2022/compat/firestore/public_api.mjs} +0 -0
  429. /package/{esm2015/compat/functions/angular-fire-compat-functions.js → esm2022/compat/functions/angular-fire-compat-functions.mjs} +0 -0
  430. /package/{esm2015/compat/functions/base.js → esm2022/compat/functions/base.mjs} +0 -0
  431. /package/{esm2015/compat/messaging/angular-fire-compat-messaging.js → esm2022/compat/messaging/angular-fire-compat-messaging.mjs} +0 -0
  432. /package/{esm2015/compat/messaging/base.js → esm2022/compat/messaging/base.mjs} +0 -0
  433. /package/{esm2015/compat/messaging/public_api.js → esm2022/compat/messaging/public_api.mjs} +0 -0
  434. /package/{esm2015/compat/performance/angular-fire-compat-performance.js → esm2022/compat/performance/angular-fire-compat-performance.mjs} +0 -0
  435. /package/{esm2015/compat/performance/base.js → esm2022/compat/performance/base.mjs} +0 -0
  436. /package/{esm2015/compat/performance/public_api.js → esm2022/compat/performance/public_api.mjs} +0 -0
  437. /package/{esm2015/compat/public_api.js → esm2022/compat/public_api.mjs} +0 -0
  438. /package/{esm2015/compat/remote-config/angular-fire-compat-remote-config.js → esm2022/compat/remote-config/angular-fire-compat-remote-config.mjs} +0 -0
  439. /package/{esm2015/compat/remote-config/base.js → esm2022/compat/remote-config/base.mjs} +0 -0
  440. /package/{esm2015/compat/remote-config/interfaces.js → esm2022/compat/remote-config/interfaces.mjs} +0 -0
  441. /package/{esm2015/compat/remote-config/public_api.js → esm2022/compat/remote-config/public_api.mjs} +0 -0
  442. /package/{esm2015/compat/storage/angular-fire-compat-storage.js → esm2022/compat/storage/angular-fire-compat-storage.mjs} +0 -0
  443. /package/{esm2015/compat/storage/interfaces.js → esm2022/compat/storage/interfaces.mjs} +0 -0
  444. /package/{esm2015/compat/storage/public_api.js → esm2022/compat/storage/public_api.mjs} +0 -0
  445. /package/{esm2015/database/angular-fire-database.js → esm2022/database/angular-fire-database.mjs} +0 -0
  446. /package/{esm2015/database/firebase.js → esm2022/database/firebase.mjs} +0 -0
  447. /package/{esm2015/database/public_api.js → esm2022/database/public_api.mjs} +0 -0
  448. /package/{esm2015/database/rxfire.js → esm2022/database/rxfire.mjs} +0 -0
  449. /package/{esm2015/firestore/angular-fire-firestore.js → esm2022/firestore/angular-fire-firestore.mjs} +0 -0
  450. /package/{esm2015/firestore/lite/angular-fire-firestore-lite.js → esm2022/firestore/lite/angular-fire-firestore-lite.mjs} +0 -0
  451. /package/{esm2015/firestore/lite/public_api.js → esm2022/firestore/lite/public_api.mjs} +0 -0
  452. /package/{esm2015/firestore/public_api.js → esm2022/firestore/public_api.mjs} +0 -0
  453. /package/{esm2015/functions/angular-fire-functions.js → esm2022/functions/angular-fire-functions.mjs} +0 -0
  454. /package/{esm2015/functions/firebase.js → esm2022/functions/firebase.mjs} +0 -0
  455. /package/{esm2015/functions/public_api.js → esm2022/functions/public_api.mjs} +0 -0
  456. /package/{esm2015/functions/rxfire.js → esm2022/functions/rxfire.mjs} +0 -0
  457. /package/{esm2015/messaging/angular-fire-messaging.js → esm2022/messaging/angular-fire-messaging.mjs} +0 -0
  458. /package/{esm2015/messaging/firebase.js → esm2022/messaging/firebase.mjs} +0 -0
  459. /package/{esm2015/messaging/public_api.js → esm2022/messaging/public_api.mjs} +0 -0
  460. /package/{esm2015/performance/angular-fire-performance.js → esm2022/performance/angular-fire-performance.mjs} +0 -0
  461. /package/{esm2015/performance/firebase.js → esm2022/performance/firebase.mjs} +0 -0
  462. /package/{esm2015/performance/public_api.js → esm2022/performance/public_api.mjs} +0 -0
  463. /package/{esm2015/performance/rxfire.js → esm2022/performance/rxfire.mjs} +0 -0
  464. /package/{esm2015/public_api.js → esm2022/public_api.mjs} +0 -0
  465. /package/{esm2015/remote-config/angular-fire-remote-config.js → esm2022/remote-config/angular-fire-remote-config.mjs} +0 -0
  466. /package/{esm2015/remote-config/firebase.js → esm2022/remote-config/firebase.mjs} +0 -0
  467. /package/{esm2015/remote-config/public_api.js → esm2022/remote-config/public_api.mjs} +0 -0
  468. /package/{esm2015/remote-config/rxfire.js → esm2022/remote-config/rxfire.mjs} +0 -0
  469. /package/{esm2015/storage/angular-fire-storage.js → esm2022/storage/angular-fire-storage.mjs} +0 -0
  470. /package/{esm2015/storage/firebase.js → esm2022/storage/firebase.mjs} +0 -0
  471. /package/{esm2015/storage/public_api.js → esm2022/storage/public_api.mjs} +0 -0
  472. /package/{esm2015/storage/rxfire.js → esm2022/storage/rxfire.mjs} +0 -0
  473. /package/firestore/{angular-fire-firestore.d.ts → index.d.ts} +0 -0
  474. /package/firestore/lite/{angular-fire-firestore-lite.d.ts → index.d.ts} +0 -0
  475. /package/functions/{angular-fire-functions.d.ts → index.d.ts} +0 -0
  476. /package/{angular-fire.d.ts → index.d.ts} +0 -0
  477. /package/messaging/{angular-fire-messaging.d.ts → index.d.ts} +0 -0
  478. /package/performance/{angular-fire-performance.d.ts → index.d.ts} +0 -0
  479. /package/remote-config/{angular-fire-remote-config.d.ts → index.d.ts} +0 -0
  480. /package/storage/{angular-fire-storage.d.ts → index.d.ts} +0 -0
@@ -0,0 +1,78 @@
1
+ import { isPlatformServer } from '@angular/common';
2
+ import { InjectionToken, Injector, NgModule, NgZone, Optional, PLATFORM_ID, isDevMode } from '@angular/core';
3
+ import { VERSION, ɵAPP_CHECK_PROVIDER_NAME, ɵAngularFireSchedulers, ɵAppCheckInstances, ɵgetDefaultInstanceOf } from '@angular/fire';
4
+ import { FirebaseApp, FirebaseApps } from '@angular/fire/app';
5
+ import { registerVersion } from 'firebase/app';
6
+ import { AppCheck } from './app-check';
7
+ import * as i0 from "@angular/core";
8
+ export const PROVIDED_APP_CHECK_INSTANCES = new InjectionToken('angularfire2.app-check-instances');
9
+ export function defaultAppCheckInstanceFactory(provided, defaultApp) {
10
+ const defaultAppCheck = ɵgetDefaultInstanceOf(ɵAPP_CHECK_PROVIDER_NAME, provided, defaultApp);
11
+ return defaultAppCheck && new AppCheck(defaultAppCheck);
12
+ }
13
+ const LOCALHOSTS = ['localhost', '0.0.0.0', '127.0.0.1'];
14
+ const isLocalhost = typeof window !== 'undefined' && LOCALHOSTS.includes(window.location.hostname);
15
+ export function appCheckInstanceFactory(fn) {
16
+ return (zone, injector, platformId) => {
17
+ // Node should use admin token provider, browser devmode and localhost should use debug token
18
+ if (!isPlatformServer(platformId) && (isDevMode() || isLocalhost)) {
19
+ globalThis.FIREBASE_APPCHECK_DEBUG_TOKEN ??= true;
20
+ }
21
+ const appCheck = zone.runOutsideAngular(() => fn(injector));
22
+ return new AppCheck(appCheck);
23
+ };
24
+ }
25
+ const APP_CHECK_INSTANCES_PROVIDER = {
26
+ provide: ɵAppCheckInstances,
27
+ deps: [
28
+ [new Optional(), PROVIDED_APP_CHECK_INSTANCES],
29
+ ]
30
+ };
31
+ const DEFAULT_APP_CHECK_INSTANCE_PROVIDER = {
32
+ provide: AppCheck,
33
+ useFactory: defaultAppCheckInstanceFactory,
34
+ deps: [
35
+ [new Optional(), PROVIDED_APP_CHECK_INSTANCES],
36
+ FirebaseApp,
37
+ PLATFORM_ID,
38
+ ]
39
+ };
40
+ export class AppCheckModule {
41
+ constructor() {
42
+ registerVersion('angularfire', VERSION.full, 'app-check');
43
+ }
44
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AppCheckModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
45
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.10", ngImport: i0, type: AppCheckModule });
46
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AppCheckModule, providers: [
47
+ DEFAULT_APP_CHECK_INSTANCE_PROVIDER,
48
+ APP_CHECK_INSTANCES_PROVIDER,
49
+ ] });
50
+ }
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AppCheckModule, decorators: [{
52
+ type: NgModule,
53
+ args: [{
54
+ providers: [
55
+ DEFAULT_APP_CHECK_INSTANCE_PROVIDER,
56
+ APP_CHECK_INSTANCES_PROVIDER,
57
+ ]
58
+ }]
59
+ }], ctorParameters: function () { return []; } });
60
+ export function provideAppCheck(fn, ...deps) {
61
+ return {
62
+ ngModule: AppCheckModule,
63
+ providers: [{
64
+ provide: PROVIDED_APP_CHECK_INSTANCES,
65
+ useFactory: appCheckInstanceFactory(fn),
66
+ multi: true,
67
+ deps: [
68
+ NgZone,
69
+ Injector,
70
+ PLATFORM_ID,
71
+ ɵAngularFireSchedulers,
72
+ FirebaseApps,
73
+ ...deps,
74
+ ]
75
+ }]
76
+ };
77
+ }
78
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWNoZWNrLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAtY2hlY2svYXBwLWNoZWNrLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBdUIsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsSSxPQUFPLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLHNCQUFzQixFQUFFLGtCQUFrQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JJLE9BQU8sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDOUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUV2QyxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxJQUFJLGNBQWMsQ0FBYSxrQ0FBa0MsQ0FBQyxDQUFDO0FBRS9HLE1BQU0sVUFBVSw4QkFBOEIsQ0FBQyxRQUFzQyxFQUFFLFVBQXVCO0lBQzVHLE1BQU0sZUFBZSxHQUFHLHFCQUFxQixDQUFtQix3QkFBd0IsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDaEgsT0FBTyxlQUFlLElBQUksSUFBSSxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUM7QUFDMUQsQ0FBQztBQUVELE1BQU0sVUFBVSxHQUFHLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxXQUFXLENBQUMsQ0FBQztBQUN6RCxNQUFNLFdBQVcsR0FBRyxPQUFPLE1BQU0sS0FBSyxXQUFXLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBRW5HLE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxFQUE0QztJQUNqRixPQUFPLENBQUMsSUFBWSxFQUFFLFFBQWtCLEVBQUUsVUFBbUIsRUFBRSxFQUFFO1FBQ2hFLDZGQUE2RjtRQUM3RixJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxXQUFXLENBQUMsRUFBRTtZQUNqRSxVQUFVLENBQUMsNkJBQTZCLEtBQUssSUFBSSxDQUFDO1NBQ25EO1FBQ0QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQzVELE9BQU8sSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEMsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sNEJBQTRCLEdBQUc7SUFDbkMsT0FBTyxFQUFFLGtCQUFrQjtJQUMzQixJQUFJLEVBQUU7UUFDSixDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsNEJBQTRCLENBQUU7S0FDaEQ7Q0FDRixDQUFDO0FBRUYsTUFBTSxtQ0FBbUMsR0FBRztJQUMxQyxPQUFPLEVBQUUsUUFBUTtJQUNqQixVQUFVLEVBQUUsOEJBQThCO0lBQzFDLElBQUksRUFBRTtRQUNKLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSw0QkFBNEIsQ0FBRTtRQUMvQyxXQUFXO1FBQ1gsV0FBVztLQUNaO0NBQ0YsQ0FBQztBQVFGLE1BQU0sT0FBTyxjQUFjO0lBQ3pCO1FBQ0UsZUFBZSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQzVELENBQUM7d0dBSFUsY0FBYzt5R0FBZCxjQUFjO3lHQUFkLGNBQWMsYUFMZDtZQUNULG1DQUFtQztZQUNuQyw0QkFBNEI7U0FDN0I7OzRGQUVVLGNBQWM7a0JBTjFCLFFBQVE7bUJBQUM7b0JBQ1IsU0FBUyxFQUFFO3dCQUNULG1DQUFtQzt3QkFDbkMsNEJBQTRCO3FCQUM3QjtpQkFDRjs7QUFPRCxNQUFNLFVBQVUsZUFBZSxDQUFDLEVBQTRDLEVBQUUsR0FBRyxJQUFXO0lBQzFGLE9BQU87UUFDTCxRQUFRLEVBQUUsY0FBYztRQUN4QixTQUFTLEVBQUUsQ0FBQztnQkFDVixPQUFPLEVBQUUsNEJBQTRCO2dCQUNyQyxVQUFVLEVBQUUsdUJBQXVCLENBQUMsRUFBRSxDQUFDO2dCQUN2QyxLQUFLLEVBQUUsSUFBSTtnQkFDWCxJQUFJLEVBQUU7b0JBQ0osTUFBTTtvQkFDTixRQUFRO29CQUNSLFdBQVc7b0JBQ1gsc0JBQXNCO29CQUN0QixZQUFZO29CQUNaLEdBQUcsSUFBSTtpQkFDUjthQUNGLENBQUM7S0FDSCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzUGxhdGZvcm1TZXJ2ZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIEluamVjdG9yLCBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgTmdab25lLCBPcHRpb25hbCwgUExBVEZPUk1fSUQsIGlzRGV2TW9kZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVkVSU0lPTiwgybVBUFBfQ0hFQ0tfUFJPVklERVJfTkFNRSwgybVBbmd1bGFyRmlyZVNjaGVkdWxlcnMsIMm1QXBwQ2hlY2tJbnN0YW5jZXMsIMm1Z2V0RGVmYXVsdEluc3RhbmNlT2YgfSBmcm9tICdAYW5ndWxhci9maXJlJztcbmltcG9ydCB7IEZpcmViYXNlQXBwLCBGaXJlYmFzZUFwcHMgfSBmcm9tICdAYW5ndWxhci9maXJlL2FwcCc7XG5pbXBvcnQgeyByZWdpc3RlclZlcnNpb24gfSBmcm9tICdmaXJlYmFzZS9hcHAnO1xuaW1wb3J0IHsgQXBwQ2hlY2sgYXMgRmlyZWJhc2VBcHBDaGVjayB9IGZyb20gJ2ZpcmViYXNlL2FwcC1jaGVjayc7XG5pbXBvcnQgeyBBcHBDaGVjayB9IGZyb20gJy4vYXBwLWNoZWNrJztcblxuZXhwb3J0IGNvbnN0IFBST1ZJREVEX0FQUF9DSEVDS19JTlNUQU5DRVMgPSBuZXcgSW5qZWN0aW9uVG9rZW48QXBwQ2hlY2tbXT4oJ2FuZ3VsYXJmaXJlMi5hcHAtY2hlY2staW5zdGFuY2VzJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWZhdWx0QXBwQ2hlY2tJbnN0YW5jZUZhY3RvcnkocHJvdmlkZWQ6IEZpcmViYXNlQXBwQ2hlY2tbXXx1bmRlZmluZWQsIGRlZmF1bHRBcHA6IEZpcmViYXNlQXBwKSB7XG4gIGNvbnN0IGRlZmF1bHRBcHBDaGVjayA9IMm1Z2V0RGVmYXVsdEluc3RhbmNlT2Y8RmlyZWJhc2VBcHBDaGVjaz4oybVBUFBfQ0hFQ0tfUFJPVklERVJfTkFNRSwgcHJvdmlkZWQsIGRlZmF1bHRBcHApO1xuICByZXR1cm4gZGVmYXVsdEFwcENoZWNrICYmIG5ldyBBcHBDaGVjayhkZWZhdWx0QXBwQ2hlY2spO1xufVxuXG5jb25zdCBMT0NBTEhPU1RTID0gWydsb2NhbGhvc3QnLCAnMC4wLjAuMCcsICcxMjcuMC4wLjEnXTtcbmNvbnN0IGlzTG9jYWxob3N0ID0gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgTE9DQUxIT1NUUy5pbmNsdWRlcyh3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpO1xuXG5leHBvcnQgZnVuY3Rpb24gYXBwQ2hlY2tJbnN0YW5jZUZhY3RvcnkoZm46IChpbmplY3RvcjogSW5qZWN0b3IpID0+IEZpcmViYXNlQXBwQ2hlY2spIHtcbiAgIHJldHVybiAoem9uZTogTmdab25lLCBpbmplY3RvcjogSW5qZWN0b3IsIHBsYXRmb3JtSWQ6IHVua25vd24pID0+IHtcbiAgICAvLyBOb2RlIHNob3VsZCB1c2UgYWRtaW4gdG9rZW4gcHJvdmlkZXIsIGJyb3dzZXIgZGV2bW9kZSBhbmQgbG9jYWxob3N0IHNob3VsZCB1c2UgZGVidWcgdG9rZW5cbiAgICBpZiAoIWlzUGxhdGZvcm1TZXJ2ZXIocGxhdGZvcm1JZCkgJiYgKGlzRGV2TW9kZSgpIHx8IGlzTG9jYWxob3N0KSkge1xuICAgICAgZ2xvYmFsVGhpcy5GSVJFQkFTRV9BUFBDSEVDS19ERUJVR19UT0tFTiA/Pz0gdHJ1ZTtcbiAgICB9XG4gICAgY29uc3QgYXBwQ2hlY2sgPSB6b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IGZuKGluamVjdG9yKSk7XG4gICAgcmV0dXJuIG5ldyBBcHBDaGVjayhhcHBDaGVjayk7XG4gIH07XG59XG5cbmNvbnN0IEFQUF9DSEVDS19JTlNUQU5DRVNfUFJPVklERVIgPSB7XG4gIHByb3ZpZGU6IMm1QXBwQ2hlY2tJbnN0YW5jZXMsXG4gIGRlcHM6IFtcbiAgICBbbmV3IE9wdGlvbmFsKCksIFBST1ZJREVEX0FQUF9DSEVDS19JTlNUQU5DRVMgXSxcbiAgXVxufTtcblxuY29uc3QgREVGQVVMVF9BUFBfQ0hFQ0tfSU5TVEFOQ0VfUFJPVklERVIgPSB7XG4gIHByb3ZpZGU6IEFwcENoZWNrLFxuICB1c2VGYWN0b3J5OiBkZWZhdWx0QXBwQ2hlY2tJbnN0YW5jZUZhY3RvcnksXG4gIGRlcHM6IFtcbiAgICBbbmV3IE9wdGlvbmFsKCksIFBST1ZJREVEX0FQUF9DSEVDS19JTlNUQU5DRVMgXSxcbiAgICBGaXJlYmFzZUFwcCxcbiAgICBQTEFURk9STV9JRCxcbiAgXVxufTtcblxuQE5nTW9kdWxlKHtcbiAgcHJvdmlkZXJzOiBbXG4gICAgREVGQVVMVF9BUFBfQ0hFQ0tfSU5TVEFOQ0VfUFJPVklERVIsXG4gICAgQVBQX0NIRUNLX0lOU1RBTkNFU19QUk9WSURFUixcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBBcHBDaGVja01vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHJlZ2lzdGVyVmVyc2lvbignYW5ndWxhcmZpcmUnLCBWRVJTSU9OLmZ1bGwsICdhcHAtY2hlY2snKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUFwcENoZWNrKGZuOiAoaW5qZWN0b3I6IEluamVjdG9yKSA9PiBGaXJlYmFzZUFwcENoZWNrLCAuLi5kZXBzOiBhbnlbXSk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QXBwQ2hlY2tNb2R1bGU+IHtcbiAgcmV0dXJuIHtcbiAgICBuZ01vZHVsZTogQXBwQ2hlY2tNb2R1bGUsXG4gICAgcHJvdmlkZXJzOiBbe1xuICAgICAgcHJvdmlkZTogUFJPVklERURfQVBQX0NIRUNLX0lOU1RBTkNFUyxcbiAgICAgIHVzZUZhY3Rvcnk6IGFwcENoZWNrSW5zdGFuY2VGYWN0b3J5KGZuKSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgZGVwczogW1xuICAgICAgICBOZ1pvbmUsXG4gICAgICAgIEluamVjdG9yLFxuICAgICAgICBQTEFURk9STV9JRCxcbiAgICAgICAgybVBbmd1bGFyRmlyZVNjaGVkdWxlcnMsXG4gICAgICAgIEZpcmViYXNlQXBwcyxcbiAgICAgICAgLi4uZGVwcyxcbiAgICAgIF1cbiAgICB9XVxuICB9O1xufVxuIl19
@@ -0,0 +1,10 @@
1
+ // DO NOT MODIFY, this file is autogenerated by tools/build.ts
2
+ export * from 'firebase/app-check';
3
+ import { ɵzoneWrap } from '@angular/fire';
4
+ import { getLimitedUseToken as _getLimitedUseToken, getToken as _getToken, initializeAppCheck as _initializeAppCheck, onTokenChanged as _onTokenChanged, setTokenAutoRefreshEnabled as _setTokenAutoRefreshEnabled } from 'firebase/app-check';
5
+ export const getLimitedUseToken = ɵzoneWrap(_getLimitedUseToken, true);
6
+ export const getToken = ɵzoneWrap(_getToken, true);
7
+ export const initializeAppCheck = ɵzoneWrap(_initializeAppCheck, true);
8
+ export const onTokenChanged = ɵzoneWrap(_onTokenChanged, true);
9
+ export const setTokenAutoRefreshEnabled = ɵzoneWrap(_setTokenAutoRefreshEnabled, true);
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwLWNoZWNrL2ZpcmViYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhEQUE4RDtBQUM5RCxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUNMLGtCQUFrQixJQUFJLG1CQUFtQixFQUN6QyxRQUFRLElBQUksU0FBUyxFQUNyQixrQkFBa0IsSUFBSSxtQkFBbUIsRUFDekMsY0FBYyxJQUFJLGVBQWUsRUFDakMsMEJBQTBCLElBQUksMkJBQTJCLEVBQzFELE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsU0FBUyxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3ZFLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ25ELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUN2RSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsU0FBUyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUMvRCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxTQUFTLENBQUMsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBETyBOT1QgTU9ESUZZLCB0aGlzIGZpbGUgaXMgYXV0b2dlbmVyYXRlZCBieSB0b29scy9idWlsZC50c1xuZXhwb3J0ICogZnJvbSAnZmlyZWJhc2UvYXBwLWNoZWNrJztcbmltcG9ydCB7IMm1em9uZVdyYXAgfSBmcm9tICdAYW5ndWxhci9maXJlJztcbmltcG9ydCB7XG4gIGdldExpbWl0ZWRVc2VUb2tlbiBhcyBfZ2V0TGltaXRlZFVzZVRva2VuLFxuICBnZXRUb2tlbiBhcyBfZ2V0VG9rZW4sXG4gIGluaXRpYWxpemVBcHBDaGVjayBhcyBfaW5pdGlhbGl6ZUFwcENoZWNrLFxuICBvblRva2VuQ2hhbmdlZCBhcyBfb25Ub2tlbkNoYW5nZWQsXG4gIHNldFRva2VuQXV0b1JlZnJlc2hFbmFibGVkIGFzIF9zZXRUb2tlbkF1dG9SZWZyZXNoRW5hYmxlZFxufSBmcm9tICdmaXJlYmFzZS9hcHAtY2hlY2snO1xuXG5leHBvcnQgY29uc3QgZ2V0TGltaXRlZFVzZVRva2VuID0gybV6b25lV3JhcChfZ2V0TGltaXRlZFVzZVRva2VuLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBnZXRUb2tlbiA9IMm1em9uZVdyYXAoX2dldFRva2VuLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBpbml0aWFsaXplQXBwQ2hlY2sgPSDJtXpvbmVXcmFwKF9pbml0aWFsaXplQXBwQ2hlY2ssIHRydWUpO1xuZXhwb3J0IGNvbnN0IG9uVG9rZW5DaGFuZ2VkID0gybV6b25lV3JhcChfb25Ub2tlbkNoYW5nZWQsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHNldFRva2VuQXV0b1JlZnJlc2hFbmFibGVkID0gybV6b25lV3JhcChfc2V0VG9rZW5BdXRvUmVmcmVzaEVuYWJsZWQsIHRydWUpO1xuIl19
@@ -0,0 +1,5 @@
1
+ export { AppCheck, appCheckInstance$ } from './app-check';
2
+ export { ɵAppCheckInstances as AppCheckInstances } from '@angular/fire';
3
+ export { provideAppCheck, AppCheckModule } from './app-check.module';
4
+ export * from './firebase';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAtY2hlY2svcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFELE9BQU8sRUFBRSxrQkFBa0IsSUFBSSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JFLGNBQWMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgQXBwQ2hlY2ssIGFwcENoZWNrSW5zdGFuY2UkIH0gZnJvbSAnLi9hcHAtY2hlY2snO1xuZXhwb3J0IHsgybVBcHBDaGVja0luc3RhbmNlcyBhcyBBcHBDaGVja0luc3RhbmNlcyB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuZXhwb3J0IHsgcHJvdmlkZUFwcENoZWNrLCBBcHBDaGVja01vZHVsZSB9IGZyb20gJy4vYXBwLWNoZWNrLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpcmViYXNlJztcbiJdfQ==
@@ -13,4 +13,4 @@ export class AuthInstances {
13
13
  }
14
14
  }
15
15
  export const authInstance$ = timer(0, 300).pipe(concatMap(() => from(ɵgetAllInstancesOf(AUTH_PROVIDER_NAME))), distinct());
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hdXRoL2F1dGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDO0FBTXpDLE1BQU0sT0FBTyxJQUFJO0lBQ2YsWUFBWSxJQUFrQjtRQUM1QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRjtBQUtELE1BQU0sT0FBTyxhQUFhO0lBQ3hCO1FBQ0UsT0FBTyxrQkFBa0IsQ0FBZSxrQkFBa0IsQ0FBQyxDQUFDO0lBQzlELENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDN0MsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBZSxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsRUFDM0UsUUFBUSxFQUFFLENBQ1gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF1dGggYXMgRmlyZWJhc2VBdXRoIH0gZnJvbSAnZmlyZWJhc2UvYXV0aCc7XG5pbXBvcnQgeyDJtWdldEFsbEluc3RhbmNlc09mIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZSc7XG5pbXBvcnQgeyBmcm9tLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY29uY2F0TWFwLCBkaXN0aW5jdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGNvbnN0IEFVVEhfUFJPVklERVJfTkFNRSA9ICdhdXRoJztcblxuLy8gc2VlIG5vdGVzIGluIGNvcmUvZmlyZWJhc2UuYXBwLm1vZHVsZS50cyBmb3Igd2h5IHdlJ3JlIGJ1aWxkaW5nIHRoZSBjbGFzcyBsaWtlIHRoaXNcbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1lbXB0eS1pbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgQXV0aCBleHRlbmRzIEZpcmViYXNlQXV0aCB7fVxuXG5leHBvcnQgY2xhc3MgQXV0aCB7XG4gIGNvbnN0cnVjdG9yKGF1dGg6IEZpcmViYXNlQXV0aCkge1xuICAgIHJldHVybiBhdXRoO1xuICB9XG59XG5cbi8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpuby1lbXB0eS1pbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgQXV0aEluc3RhbmNlcyBleHRlbmRzIEFycmF5PEZpcmViYXNlQXV0aD4ge31cblxuZXhwb3J0IGNsYXNzIEF1dGhJbnN0YW5jZXMge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICByZXR1cm4gybVnZXRBbGxJbnN0YW5jZXNPZjxGaXJlYmFzZUF1dGg+KEFVVEhfUFJPVklERVJfTkFNRSk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGF1dGhJbnN0YW5jZSQgPSB0aW1lcigwLCAzMDApLnBpcGUoXG4gIGNvbmNhdE1hcCgoKSA9PiBmcm9tKMm1Z2V0QWxsSW5zdGFuY2VzT2Y8RmlyZWJhc2VBdXRoPihBVVRIX1BST1ZJREVSX05BTUUpKSksXG4gIGRpc3RpbmN0KCksXG4pO1xuIl19
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hdXRoL2F1dGgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsTUFBTSxDQUFDO0FBTXpDLE1BQU0sT0FBTyxJQUFJO0lBQ2YsWUFBWSxJQUFrQjtRQUM1QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRjtBQUtELE1BQU0sT0FBTyxhQUFhO0lBQ3hCO1FBQ0UsT0FBTyxrQkFBa0IsQ0FBZSxrQkFBa0IsQ0FBQyxDQUFDO0lBQzlELENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDN0MsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBZSxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsRUFDM0UsUUFBUSxFQUFFLENBQ1gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IMm1Z2V0QWxsSW5zdGFuY2VzT2YgfSBmcm9tICdAYW5ndWxhci9maXJlJztcbmltcG9ydCB7IEF1dGggYXMgRmlyZWJhc2VBdXRoIH0gZnJvbSAnZmlyZWJhc2UvYXV0aCc7XG5pbXBvcnQgeyBmcm9tLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY29uY2F0TWFwLCBkaXN0aW5jdCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IGNvbnN0IEFVVEhfUFJPVklERVJfTkFNRSA9ICdhdXRoJztcblxuLy8gc2VlIG5vdGVzIGluIGNvcmUvZmlyZWJhc2UuYXBwLm1vZHVsZS50cyBmb3Igd2h5IHdlJ3JlIGJ1aWxkaW5nIHRoZSBjbGFzcyBsaWtlIHRoaXNcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktaW50ZXJmYWNlXG5leHBvcnQgaW50ZXJmYWNlIEF1dGggZXh0ZW5kcyBGaXJlYmFzZUF1dGgge31cblxuZXhwb3J0IGNsYXNzIEF1dGgge1xuICBjb25zdHJ1Y3RvcihhdXRoOiBGaXJlYmFzZUF1dGgpIHtcbiAgICByZXR1cm4gYXV0aDtcbiAgfVxufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBBdXRoSW5zdGFuY2VzIGV4dGVuZHMgQXJyYXk8RmlyZWJhc2VBdXRoPiB7fVxuXG5leHBvcnQgY2xhc3MgQXV0aEluc3RhbmNlcyB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHJldHVybiDJtWdldEFsbEluc3RhbmNlc09mPEZpcmViYXNlQXV0aD4oQVVUSF9QUk9WSURFUl9OQU1FKTtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgYXV0aEluc3RhbmNlJCA9IHRpbWVyKDAsIDMwMCkucGlwZShcbiAgY29uY2F0TWFwKCgpID0+IGZyb20oybVnZXRBbGxJbnN0YW5jZXNPZjxGaXJlYmFzZUF1dGg+KEFVVEhfUFJPVklERVJfTkFNRSkpKSxcbiAgZGlzdGluY3QoKSxcbik7XG4iXX0=
@@ -0,0 +1,71 @@
1
+ import { InjectionToken, Injector, NgModule, NgZone, Optional } 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: "16.2.10", ngImport: i0, type: AuthModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
38
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.10", ngImport: i0, type: AuthModule });
39
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AuthModule, providers: [
40
+ DEFAULT_AUTH_INSTANCE_PROVIDER,
41
+ AUTH_INSTANCES_PROVIDER,
42
+ ] });
43
+ }
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", 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: function () { return []; } });
53
+ export function provideAuth(fn, ...deps) {
54
+ return {
55
+ ngModule: AuthModule,
56
+ providers: [{
57
+ provide: PROVIDED_AUTH_INSTANCES,
58
+ useFactory: authInstanceFactory(fn),
59
+ multi: true,
60
+ deps: [
61
+ NgZone,
62
+ Injector,
63
+ ɵAngularFireSchedulers,
64
+ FirebaseApps,
65
+ [new Optional(), ɵAppCheckInstances],
66
+ ...deps,
67
+ ]
68
+ }]
69
+ };
70
+ }
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXV0aC9hdXRoLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBdUIsUUFBUSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRS9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLE1BQU0sUUFBUSxDQUFDOztBQUVqRSxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLGNBQWMsQ0FBUyw2QkFBNkIsQ0FBQyxDQUFDO0FBRWpHLE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxRQUFrQyxFQUFFLFVBQXVCO0lBQ3BHLE1BQU0sV0FBVyxHQUFHLHFCQUFxQixDQUFlLGtCQUFrQixFQUFFLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztJQUNsRyxPQUFPLFdBQVcsSUFBSSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUM5QyxDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUFDLEVBQXdDO0lBQzFFLE9BQU8sQ0FBQyxJQUFZLEVBQUUsUUFBa0IsRUFBRSxFQUFFO1FBQzFDLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztRQUN4RCxPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3hCLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLHVCQUF1QixHQUFHO0lBQzlCLE9BQU8sRUFBRSxhQUFhO0lBQ3RCLElBQUksRUFBRTtRQUNKLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSx1QkFBdUIsQ0FBRTtLQUMzQztDQUNGLENBQUM7QUFFRixNQUFNLDhCQUE4QixHQUFHO0lBQ3JDLE9BQU8sRUFBRSxJQUFJO0lBQ2IsVUFBVSxFQUFFLDBCQUEwQjtJQUN0QyxJQUFJLEVBQUU7UUFDSixDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsdUJBQXVCLENBQUU7UUFDMUMsV0FBVztLQUNaO0NBQ0YsQ0FBQztBQVFGLE1BQU0sT0FBTyxVQUFVO0lBQ3JCO1FBQ0UsZUFBZSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7d0dBSFUsVUFBVTt5R0FBVixVQUFVO3lHQUFWLFVBQVUsYUFMVjtZQUNULDhCQUE4QjtZQUM5Qix1QkFBdUI7U0FDeEI7OzRGQUVVLFVBQVU7a0JBTnRCLFFBQVE7bUJBQUM7b0JBQ1IsU0FBUyxFQUFFO3dCQUNULDhCQUE4Qjt3QkFDOUIsdUJBQXVCO3FCQUN4QjtpQkFDRjs7QUFPRCxNQUFNLFVBQVUsV0FBVyxDQUFDLEVBQXdDLEVBQUUsR0FBRyxJQUFXO0lBQ2xGLE9BQU87UUFDTCxRQUFRLEVBQUUsVUFBVTtRQUNwQixTQUFTLEVBQUUsQ0FBQztnQkFDVixPQUFPLEVBQUUsdUJBQXVCO2dCQUNoQyxVQUFVLEVBQUUsbUJBQW1CLENBQUMsRUFBRSxDQUFDO2dCQUNuQyxLQUFLLEVBQUUsSUFBSTtnQkFDWCxJQUFJLEVBQUU7b0JBQ0osTUFBTTtvQkFDTixRQUFRO29CQUNSLHNCQUFzQjtvQkFDdEIsWUFBWTtvQkFDWixDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsa0JBQWtCLENBQUU7b0JBQ3JDLEdBQUcsSUFBSTtpQkFDUjthQUNGLENBQUM7S0FDSCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuLCBJbmplY3RvciwgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIE5nWm9uZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZFUlNJT04sIMm1QW5ndWxhckZpcmVTY2hlZHVsZXJzLCDJtWdldERlZmF1bHRJbnN0YW5jZU9mIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZSc7XG5pbXBvcnQgeyDJtUFwcENoZWNrSW5zdGFuY2VzIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZSc7XG5pbXBvcnQgeyBGaXJlYmFzZUFwcCwgRmlyZWJhc2VBcHBzIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hcHAnO1xuaW1wb3J0IHsgcmVnaXN0ZXJWZXJzaW9uIH0gZnJvbSAnZmlyZWJhc2UvYXBwJztcbmltcG9ydCB7IEF1dGggYXMgRmlyZWJhc2VBdXRoIH0gZnJvbSAnZmlyZWJhc2UvYXV0aCc7XG5pbXBvcnQgeyBBVVRIX1BST1ZJREVSX05BTUUsIEF1dGgsIEF1dGhJbnN0YW5jZXMgfSBmcm9tICcuL2F1dGgnO1xuXG5leHBvcnQgY29uc3QgUFJPVklERURfQVVUSF9JTlNUQU5DRVMgPSBuZXcgSW5qZWN0aW9uVG9rZW48QXV0aFtdPignYW5ndWxhcmZpcmUyLmF1dGgtaW5zdGFuY2VzJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWZhdWx0QXV0aEluc3RhbmNlRmFjdG9yeShwcm92aWRlZDogRmlyZWJhc2VBdXRoW118dW5kZWZpbmVkLCBkZWZhdWx0QXBwOiBGaXJlYmFzZUFwcCkge1xuICBjb25zdCBkZWZhdWx0QXV0aCA9IMm1Z2V0RGVmYXVsdEluc3RhbmNlT2Y8RmlyZWJhc2VBdXRoPihBVVRIX1BST1ZJREVSX05BTUUsIHByb3ZpZGVkLCBkZWZhdWx0QXBwKTtcbiAgcmV0dXJuIGRlZmF1bHRBdXRoICYmIG5ldyBBdXRoKGRlZmF1bHRBdXRoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGF1dGhJbnN0YW5jZUZhY3RvcnkoZm46IChpbmplY3RvcjogSW5qZWN0b3IpID0+IEZpcmViYXNlQXV0aCkge1xuICByZXR1cm4gKHpvbmU6IE5nWm9uZSwgaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgY29uc3QgYXV0aCA9IHpvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gZm4oaW5qZWN0b3IpKTtcbiAgICByZXR1cm4gbmV3IEF1dGgoYXV0aCk7XG4gIH07XG59XG5cbmNvbnN0IEFVVEhfSU5TVEFOQ0VTX1BST1ZJREVSID0ge1xuICBwcm92aWRlOiBBdXRoSW5zdGFuY2VzLFxuICBkZXBzOiBbXG4gICAgW25ldyBPcHRpb25hbCgpLCBQUk9WSURFRF9BVVRIX0lOU1RBTkNFUyBdLFxuICBdXG59O1xuXG5jb25zdCBERUZBVUxUX0FVVEhfSU5TVEFOQ0VfUFJPVklERVIgPSB7XG4gIHByb3ZpZGU6IEF1dGgsXG4gIHVzZUZhY3Rvcnk6IGRlZmF1bHRBdXRoSW5zdGFuY2VGYWN0b3J5LFxuICBkZXBzOiBbXG4gICAgW25ldyBPcHRpb25hbCgpLCBQUk9WSURFRF9BVVRIX0lOU1RBTkNFUyBdLFxuICAgIEZpcmViYXNlQXBwLFxuICBdXG59O1xuXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFtcbiAgICBERUZBVUxUX0FVVEhfSU5TVEFOQ0VfUFJPVklERVIsXG4gICAgQVVUSF9JTlNUQU5DRVNfUFJPVklERVIsXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgQXV0aE1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHJlZ2lzdGVyVmVyc2lvbignYW5ndWxhcmZpcmUnLCBWRVJTSU9OLmZ1bGwsICdhdXRoJyk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVBdXRoKGZuOiAoaW5qZWN0b3I6IEluamVjdG9yKSA9PiBGaXJlYmFzZUF1dGgsIC4uLmRlcHM6IGFueVtdKTogTW9kdWxlV2l0aFByb3ZpZGVyczxBdXRoTW9kdWxlPiB7XG4gIHJldHVybiB7XG4gICAgbmdNb2R1bGU6IEF1dGhNb2R1bGUsXG4gICAgcHJvdmlkZXJzOiBbe1xuICAgICAgcHJvdmlkZTogUFJPVklERURfQVVUSF9JTlNUQU5DRVMsXG4gICAgICB1c2VGYWN0b3J5OiBhdXRoSW5zdGFuY2VGYWN0b3J5KGZuKSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgZGVwczogW1xuICAgICAgICBOZ1pvbmUsXG4gICAgICAgIEluamVjdG9yLFxuICAgICAgICDJtUFuZ3VsYXJGaXJlU2NoZWR1bGVycyxcbiAgICAgICAgRmlyZWJhc2VBcHBzLFxuICAgICAgICBbbmV3IE9wdGlvbmFsKCksIMm1QXBwQ2hlY2tJbnN0YW5jZXMgXSxcbiAgICAgICAgLi4uZGVwcyxcbiAgICAgIF1cbiAgICB9XVxuICB9O1xufVxuIl19
@@ -0,0 +1,58 @@
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, 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 sendEmailVerification = ɵzoneWrap(_sendEmailVerification, true);
36
+ export const sendPasswordResetEmail = ɵzoneWrap(_sendPasswordResetEmail, true);
37
+ export const sendSignInLinkToEmail = ɵzoneWrap(_sendSignInLinkToEmail, true);
38
+ export const setPersistence = ɵzoneWrap(_setPersistence, true);
39
+ export const signInAnonymously = ɵzoneWrap(_signInAnonymously, true);
40
+ export const signInWithCredential = ɵzoneWrap(_signInWithCredential, true);
41
+ export const signInWithCustomToken = ɵzoneWrap(_signInWithCustomToken, true);
42
+ export const signInWithEmailAndPassword = ɵzoneWrap(_signInWithEmailAndPassword, true);
43
+ export const signInWithEmailLink = ɵzoneWrap(_signInWithEmailLink, true);
44
+ export const signInWithPhoneNumber = ɵzoneWrap(_signInWithPhoneNumber, true);
45
+ export const signInWithPopup = ɵzoneWrap(_signInWithPopup, true);
46
+ export const signInWithRedirect = ɵzoneWrap(_signInWithRedirect, true);
47
+ export const signOut = ɵzoneWrap(_signOut, true);
48
+ export const unlink = ɵzoneWrap(_unlink, true);
49
+ export const updateCurrentUser = ɵzoneWrap(_updateCurrentUser, true);
50
+ export const updateEmail = ɵzoneWrap(_updateEmail, true);
51
+ export const updatePassword = ɵzoneWrap(_updatePassword, true);
52
+ export const updatePhoneNumber = ɵzoneWrap(_updatePhoneNumber, true);
53
+ export const updateProfile = ɵzoneWrap(_updateProfile, true);
54
+ export const useDeviceLanguage = ɵzoneWrap(_useDeviceLanguage, true);
55
+ export const validatePassword = ɵzoneWrap(_validatePassword, true);
56
+ export const verifyBeforeUpdateEmail = ɵzoneWrap(_verifyBeforeUpdateEmail, true);
57
+ export const verifyPasswordResetCode = ɵzoneWrap(_verifyPasswordResetCode, true);
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXV0aC9maXJlYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSw4REFBOEQ7QUFDOUQsY0FBYyxlQUFlLENBQUM7QUFDOUIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQ0wsZUFBZSxJQUFJLGdCQUFnQixFQUNuQyxzQkFBc0IsSUFBSSx1QkFBdUIsRUFDakQsZUFBZSxJQUFJLGdCQUFnQixFQUNuQyxvQkFBb0IsSUFBSSxxQkFBcUIsRUFDN0MsbUJBQW1CLElBQUksb0JBQW9CLEVBQzNDLDhCQUE4QixJQUFJLCtCQUErQixFQUNqRSxVQUFVLElBQUksV0FBVyxFQUN6QiwwQkFBMEIsSUFBSSwyQkFBMkIsRUFDekQscUJBQXFCLElBQUksc0JBQXNCLEVBQy9DLE9BQU8sSUFBSSxRQUFRLEVBQ25CLFVBQVUsSUFBSSxXQUFXLEVBQ3pCLGdCQUFnQixJQUFJLGlCQUFpQixFQUNyQyxzQkFBc0IsSUFBSSx1QkFBdUIsRUFDakQsaUJBQWlCLElBQUksa0JBQWtCLEVBQ3ZDLGNBQWMsSUFBSSxlQUFlLEVBQ2pDLHlCQUF5QixJQUFJLDBCQUEwQixFQUN2RCxxQkFBcUIsSUFBSSxzQkFBc0IsRUFDL0Msa0JBQWtCLElBQUksbUJBQW1CLEVBQ3pDLG1CQUFtQixJQUFJLG9CQUFvQixFQUMzQyxhQUFhLElBQUksY0FBYyxFQUMvQixnQkFBZ0IsSUFBSSxpQkFBaUIsRUFDckMsV0FBVyxJQUFJLFlBQVksRUFDM0Isa0JBQWtCLElBQUksbUJBQW1CLEVBQ3pDLGdCQUFnQixJQUFJLGlCQUFpQixFQUNyQyxrQkFBa0IsSUFBSSxtQkFBbUIsRUFDekMsNEJBQTRCLElBQUksNkJBQTZCLEVBQzdELDZCQUE2QixJQUFJLDhCQUE4QixFQUMvRCx1QkFBdUIsSUFBSSx3QkFBd0IsRUFDbkQsMEJBQTBCLElBQUksMkJBQTJC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LE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztBQUMvQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxTQUFTLENBQUMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDckUsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDekQsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDL0QsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsU0FBUyxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3JFLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNyRSxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDbkUsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsU0FBUyxDQUFDLHdCQUF3QixFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ2pGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLFNBQVMsQ0FBQyx3QkFBd0IsRUFBRSxJQUFJLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIERPIE5PVCBNT0RJRlksIHRoaXMgZmlsZSBpcyBhdXRvZ2VuZXJhdGVkIGJ5IHRvb2xzL2J1aWxkLnRzXG5leHBvcnQgKiBmcm9tICdmaXJlYmFzZS9hdXRoJztcbmltcG9ydCB7IMm1em9uZVdyYXAgfSBmcm9tICdAYW5ndWxhci9maXJlJztcbmltcG9ydCB7XG4gIGFwcGx5QWN0aW9uQ29kZSBhcyBfYXBwbHlBY3Rpb25Db2RlLFxuICBiZWZvcmVBdXRoU3RhdGVDaGFuZ2VkIGFzIF9iZWZvcmVBdXRoU3RhdGVDaGFuZ2VkLFxuICBjaGVja0FjdGlvbkNvZGUgYXMgX2NoZWNrQWN0aW9uQ29kZSxcbiAgY29uZmlybVBhc3N3b3JkUmVzZXQgYXMgX2NvbmZpcm1QYXNzd29yZFJlc2V0LFxuICBjb25uZWN0QXV0aEVtdWxhdG9yIGFzIF9jb25uZWN0QXV0aEVtdWxhdG9yLFxuICBjcmVhdGVVc2VyV2l0aEVtYWlsQW5kUGFzc3dvcmQgYXMgX2NyZWF0ZVVzZXJXaXRoRW1haWxBbmRQYXNzd29yZCxcbiAgZGVsZXRlVXNlciBhcyBfZGVsZXRlVXNlcixcbiAgZmV0Y2hTaWduSW5NZXRob2RzRm9yRW1haWwgYXMgX2ZldGNoU2lnbkluTWV0aG9kc0ZvckVtYWlsLFxuICBnZXRBZGRpdGlvbmFsVXNlckluZm8gYXMgX2dldEFkZGl0aW9uYWxVc2VySW5mbyxcbiAgZ2V0QXV0aCBhcyBfZ2V0QXV0aCxcbiAgZ2V0SWRUb2tlbiBhcyBfZ2V0SWRUb2tlbixcbiAgZ2V0SWRUb2tlblJlc3VsdCBhcyBfZ2V0SWRUb2tlblJlc3VsdCxcbiAgZ2V0TXVsdGlGYWN0b3JSZXNvbHZlciBhcyBfZ2V0TXVsdGlGYWN0b3JSZXNvbHZlcixcbiAgZ2V0UmVkaXJlY3RSZXN1bHQgYXMgX2dldFJlZGlyZWN0UmVzdWx0LFxuICBpbml0aWFsaXplQXV0aCBhcyBfaW5pdGlhbGl6ZUF1dGgsXG4gIGluaXRpYWxpemVSZWNhcHRjaGFDb25maWcgYXMgX2luaXRpYWxpemVSZWNhcHRjaGFDb25maWcsXG4gIGlzU2lnbkluV2l0aEVtYWlsTGluayBhcyBfaXNTaWduSW5XaXRoRW1haWxMaW5rLFxuICBsaW5rV2l0aENyZWRlbnRpYWwgYXMgX2xpbmtXaXRoQ3JlZGVudGlhbCxcbiAgbGlua1dpdGhQaG9uZU51bWJlciBhcyBfbGlua1dpdGhQaG9uZU51bWJlcixcbiAgbGlua1dpdGhQb3B1cCBhcyBfbGlua1dpdGhQb3B1cCxcbiAgbGlua1dpdGhSZWRpcmVjdCBhcyBfbGlua1dpdGhSZWRpcmVjdCxcbiAgbXVsdGlGYWN0b3IgYXMgX211bHRpRmFjdG9yLFxuICBvbkF1dGhTdGF0ZUNoYW5nZWQgYXMgX29uQXV0aFN0YXRlQ2hhbmdlZCxcbiAgb25JZFRva2VuQ2hhbmdlZCBhcyBfb25JZFRva2VuQ2hhbmdlZCxcbiAgcGFyc2VBY3Rpb25Db2RlVVJMIGFzIF9wYXJzZUFjdGlvbkNvZGVVUkwsXG4gIHJlYXV0aGVudGljYXRlV2l0aENyZWRlbnRpYWwgYXMgX3JlYXV0aGVudGljYXRlV2l0aENyZWRlbnRpYWwsXG4gIHJlYXV0aGVudGljYXRlV2l0aFBob25lTnVtYmVyIGFzIF9yZWF1dGhlbnRpY2F0ZVdpdGhQaG9uZU51bWJlcixcbiAgcmVhdXRoZW50aWNhdGVXaXRoUG9wdXAgYXMgX3JlYXV0aGVudGljYXRlV2l0aFBvcHVwLFxuICByZWF1dGhlbnRpY2F0ZVdpdGhSZWRpcmVjdCBhcyBfcmVhdXRoZW50aWNhdGVXaXRoUmVkaXJlY3QsXG4gIHJlbG9hZCBhcyBfcmVsb2FkLFxuICBzZW5kRW1haWxWZXJpZmljYXRpb24gYXMgX3NlbmRFbWFpbFZlcmlmaWNhdGlvbixcbiAgc2VuZFBhc3N3b3JkUmVzZXRFbWFpbCBhcyBfc2VuZFBhc3N3b3JkUmVzZXRFbWFpbCxcbiAgc2VuZFNpZ25JbkxpbmtUb0VtYWlsIGFzIF9zZW5kU2lnbkluTGlua1RvRW1haWwsXG4gIHNldFBlcnNpc3RlbmNlIGFzIF9zZXRQZXJzaXN0ZW5jZSxcbiAgc2lnbkluQW5vbnltb3VzbHkgYXMgX3NpZ25JbkFub255bW91c2x5LFxuICBzaWduSW5XaXRoQ3JlZGVudGlhbCBhcyBfc2lnbkluV2l0aENyZWRlbnRpYWwsXG4gIHNpZ25JbldpdGhDdXN0b21Ub2tlbiBhcyBfc2lnbkluV2l0aEN1c3RvbVRva2VuLFxuICBzaWduSW5XaXRoRW1haWxBbmRQYXNzd29yZCBhcyBfc2lnbkluV2l0aEVtYWlsQW5kUGFzc3dvcmQsXG4gIHNpZ25JbldpdGhFbWFpbExpbmsgYXMgX3NpZ25JbldpdGhFbWFpbExpbmssXG4gIHNpZ25JbldpdGhQaG9uZU51bWJlciBhcyBfc2lnbkluV2l0aFBob25lTnVtYmVyLFxuICBzaWduSW5XaXRoUG9wdXAgYXMgX3NpZ25JbldpdGhQb3B1cCxcbiAgc2lnbkluV2l0aFJlZGlyZWN0IGFzIF9zaWduSW5XaXRoUmVkaXJlY3QsXG4gIHNpZ25PdXQgYXMgX3NpZ25PdXQsXG4gIHVubGluayBhcyBfdW5saW5rLFxuICB1cGRhdGVDdXJyZW50VXNlciBhcyBfdXBkYXRlQ3VycmVudFVzZXIsXG4gIHVwZGF0ZUVtYWlsIGFzIF91cGRhdGVFbWFpbCxcbiAgdXBkYXRlUGFzc3dvcmQgYXMgX3VwZGF0ZVBhc3N3b3JkLFxuICB1cGRhdGVQaG9uZU51bWJlciBhcyBfdXBkYXRlUGhvbmVOdW1iZXIsXG4gIHVwZGF0ZVByb2ZpbGUgYXMgX3VwZGF0ZVByb2ZpbGUsXG4gIHVzZURldmljZUxhbmd1YWdlIGFzIF91c2VEZXZpY2VMYW5ndWFnZSxcbiAgdmFsaWRhdGVQYXNzd29yZCBhcyBfdmFsaWRhdGVQYXNzd29yZCxcbiAgdmVyaWZ5QmVmb3JlVXBkYXRlRW1haWwgYXMgX3ZlcmlmeUJlZm9yZVVwZGF0ZUVtYWlsLFxuICB2ZXJpZnlQYXNzd29yZFJlc2V0Q29kZSBhcyBfdmVyaWZ5UGFzc3dvcmRSZXNldENvZGVcbn0gZnJvbSAnZmlyZWJhc2UvYXV0aCc7XG5cbmV4cG9ydCBjb25zdCBhcHBseUFjdGlvbkNvZGUgPSDJtXpvbmVXcmFwKF9hcHBseUFjdGlvbkNvZGUsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGJlZm9yZUF1dGhTdGF0ZUNoYW5nZWQgPSDJtXpvbmVXcmFwKF9iZWZvcmVBdXRoU3RhdGVDaGFuZ2VkLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBjaGVja0FjdGlvbkNvZGUgPSDJtXpvbmVXcmFwKF9jaGVja0FjdGlvbkNvZGUsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGNvbmZpcm1QYXNzd29yZFJlc2V0ID0gybV6b25lV3JhcChfY29uZmlybVBhc3N3b3JkUmVzZXQsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGNvbm5lY3RBdXRoRW11bGF0b3IgPSDJtXpvbmVXcmFwKF9jb25uZWN0QXV0aEVtdWxhdG9yLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBjcmVhdGVVc2VyV2l0aEVtYWlsQW5kUGFzc3dvcmQgPSDJtXpvbmVXcmFwKF9jcmVhdGVVc2VyV2l0aEVtYWlsQW5kUGFzc3dvcmQsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGRlbGV0ZVVzZXIgPSDJtXpvbmVXcmFwKF9kZWxldGVVc2VyLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBmZXRjaFNpZ25Jbk1ldGhvZHNGb3JFbWFpbCA9IMm1em9uZVdyYXAoX2ZldGNoU2lnbkluTWV0aG9kc0ZvckVtYWlsLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBnZXRBZGRpdGlvbmFsVXNlckluZm8gPSDJtXpvbmVXcmFwKF9nZXRBZGRpdGlvbmFsVXNlckluZm8sIHRydWUpO1xuZXhwb3J0IGNvbnN0IGdldEF1dGggPSDJtXpvbmVXcmFwKF9nZXRBdXRoLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBnZXRJZFRva2VuID0gybV6b25lV3JhcChfZ2V0SWRUb2tlbiwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgZ2V0SWRUb2tlblJlc3VsdCA9IMm1em9uZVdyYXAoX2dldElkVG9rZW5SZXN1bHQsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGdldE11bHRpRmFjdG9yUmVzb2x2ZXIgPSDJtXpvbmVXcmFwKF9nZXRNdWx0aUZhY3RvclJlc29sdmVyLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBnZXRSZWRpcmVjdFJlc3VsdCA9IMm1em9uZVdyYXAoX2dldFJlZGlyZWN0UmVzdWx0LCB0cnVlKTtcbmV4cG9ydCBjb25zdCBpbml0aWFsaXplQXV0aCA9IMm1em9uZVdyYXAoX2luaXRpYWxpemVBdXRoLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBpbml0aWFsaXplUmVjYXB0Y2hhQ29uZmlnID0gybV6b25lV3JhcChfaW5pdGlhbGl6ZVJlY2FwdGNoYUNvbmZpZywgdHJ1ZSk7XG5leHBvcnQgY29uc3QgaXNTaWduSW5XaXRoRW1haWxMaW5rID0gybV6b25lV3JhcChfaXNTaWduSW5XaXRoRW1haWxMaW5rLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBsaW5rV2l0aENyZWRlbnRpYWwgPSDJtXpvbmVXcmFwKF9saW5rV2l0aENyZWRlbnRpYWwsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGxpbmtXaXRoUGhvbmVOdW1iZXIgPSDJtXpvbmVXcmFwKF9saW5rV2l0aFBob25lTnVtYmVyLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBsaW5rV2l0aFBvcHVwID0gybV6b25lV3JhcChfbGlua1dpdGhQb3B1cCwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgbGlua1dpdGhSZWRpcmVjdCA9IMm1em9uZVdyYXAoX2xpbmtXaXRoUmVkaXJlY3QsIHRydWUpO1xuZXhwb3J0IGNvbnN0IG11bHRpRmFjdG9yID0gybV6b25lV3JhcChfbXVsdGlGYWN0b3IsIHRydWUpO1xuZXhwb3J0IGNvbnN0IG9uQXV0aFN0YXRlQ2hhbmdlZCA9IMm1em9uZVdyYXAoX29uQXV0aFN0YXRlQ2hhbmdlZCwgdHJ1ZSk7XG5leHBvcnQgY29uc3Qgb25JZFRva2VuQ2hhbmdlZCA9IMm1em9uZVdyYXAoX29uSWRUb2tlbkNoYW5nZWQsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHBhcnNlQWN0aW9uQ29kZVVSTCA9IMm1em9uZVdyYXAoX3BhcnNlQWN0aW9uQ29kZVVSTCwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgcmVhdXRoZW50aWNhdGVXaXRoQ3JlZGVudGlhbCA9IMm1em9uZVdyYXAoX3JlYXV0aGVudGljYXRlV2l0aENyZWRlbnRpYWwsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHJlYXV0aGVudGljYXRlV2l0aFBob25lTnVtYmVyID0gybV6b25lV3JhcChfcmVhdXRoZW50aWNhdGVXaXRoUGhvbmVOdW1iZXIsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHJlYXV0aGVudGljYXRlV2l0aFBvcHVwID0gybV6b25lV3JhcChfcmVhdXRoZW50aWNhdGVXaXRoUG9wdXAsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHJlYXV0aGVudGljYXRlV2l0aFJlZGlyZWN0ID0gybV6b25lV3JhcChfcmVhdXRoZW50aWNhdGVXaXRoUmVkaXJlY3QsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHJlbG9hZCA9IMm1em9uZVdyYXAoX3JlbG9hZCwgdHJ1ZSk7XG5leHBvcnQgY29uc3Qgc2VuZEVtYWlsVmVyaWZpY2F0aW9uID0gybV6b25lV3JhcChfc2VuZEVtYWlsVmVyaWZpY2F0aW9uLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBzZW5kUGFzc3dvcmRSZXNldEVtYWlsID0gybV6b25lV3JhcChfc2VuZFBhc3N3b3JkUmVzZXRFbWFpbCwgdHJ1ZSk7XG5leHBvcnQgY29uc3Qgc2VuZFNpZ25JbkxpbmtUb0VtYWlsID0gybV6b25lV3JhcChfc2VuZFNpZ25JbkxpbmtUb0VtYWlsLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBzZXRQZXJzaXN0ZW5jZSA9IMm1em9uZVdyYXAoX3NldFBlcnNpc3RlbmNlLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBzaWduSW5Bbm9ueW1vdXNseSA9IMm1em9uZVdyYXAoX3NpZ25JbkFub255bW91c2x5LCB0cnVlKTtcbmV4cG9ydCBjb25zdCBzaWduSW5XaXRoQ3JlZGVudGlhbCA9IMm1em9uZVdyYXAoX3NpZ25JbldpdGhDcmVkZW50aWFsLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBzaWduSW5XaXRoQ3VzdG9tVG9rZW4gPSDJtXpvbmVXcmFwKF9zaWduSW5XaXRoQ3VzdG9tVG9rZW4sIHRydWUpO1xuZXhwb3J0IGNvbnN0IHNpZ25JbldpdGhFbWFpbEFuZFBhc3N3b3JkID0gybV6b25lV3JhcChfc2lnbkluV2l0aEVtYWlsQW5kUGFzc3dvcmQsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHNpZ25JbldpdGhFbWFpbExpbmsgPSDJtXpvbmVXcmFwKF9zaWduSW5XaXRoRW1haWxMaW5rLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBzaWduSW5XaXRoUGhvbmVOdW1iZXIgPSDJtXpvbmVXcmFwKF9zaWduSW5XaXRoUGhvbmVOdW1iZXIsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHNpZ25JbldpdGhQb3B1cCA9IMm1em9uZVdyYXAoX3NpZ25JbldpdGhQb3B1cCwgdHJ1ZSk7XG5leHBvcnQgY29uc3Qgc2lnbkluV2l0aFJlZGlyZWN0ID0gybV6b25lV3JhcChfc2lnbkluV2l0aFJlZGlyZWN0LCB0cnVlKTtcbmV4cG9ydCBjb25zdCBzaWduT3V0ID0gybV6b25lV3JhcChfc2lnbk91dCwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgdW5saW5rID0gybV6b25lV3JhcChfdW5saW5rLCB0cnVlKTtcbmV4cG9ydCBjb25zdCB1cGRhdGVDdXJyZW50VXNlciA9IMm1em9uZVdyYXAoX3VwZGF0ZUN1cnJlbnRVc2VyLCB0cnVlKTtcbmV4cG9ydCBjb25zdCB1cGRhdGVFbWFpbCA9IMm1em9uZVdyYXAoX3VwZGF0ZUVtYWlsLCB0cnVlKTtcbmV4cG9ydCBjb25zdCB1cGRhdGVQYXNzd29yZCA9IMm1em9uZVdyYXAoX3VwZGF0ZVBhc3N3b3JkLCB0cnVlKTtcbmV4cG9ydCBjb25zdCB1cGRhdGVQaG9uZU51bWJlciA9IMm1em9uZVdyYXAoX3VwZGF0ZVBob25lTnVtYmVyLCB0cnVlKTtcbmV4cG9ydCBjb25zdCB1cGRhdGVQcm9maWxlID0gybV6b25lV3JhcChfdXBkYXRlUHJvZmlsZSwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgdXNlRGV2aWNlTGFuZ3VhZ2UgPSDJtXpvbmVXcmFwKF91c2VEZXZpY2VMYW5ndWFnZSwgdHJ1ZSk7XG5leHBvcnQgY29uc3QgdmFsaWRhdGVQYXNzd29yZCA9IMm1em9uZVdyYXAoX3ZhbGlkYXRlUGFzc3dvcmQsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHZlcmlmeUJlZm9yZVVwZGF0ZUVtYWlsID0gybV6b25lV3JhcChfdmVyaWZ5QmVmb3JlVXBkYXRlRW1haWwsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHZlcmlmeVBhc3N3b3JkUmVzZXRDb2RlID0gybV6b25lV3JhcChfdmVyaWZ5UGFzc3dvcmRSZXNldENvZGUsIHRydWUpO1xuIl19
@@ -0,0 +1,53 @@
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: "16.2.10", 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: "16.2.10", ngImport: i0, type: AuthGuard, providedIn: 'any' });
34
+ }
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AuthGuard, decorators: [{
36
+ type: Injectable,
37
+ args: [{
38
+ providedIn: 'any'
39
+ }]
40
+ }], ctorParameters: function () { return [{ 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hdXRoLWd1YXJkL2F1dGgtZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBdUMsTUFBTSxFQUF1QixNQUFNLGlCQUFpQixDQUFDO0FBRW5HLE9BQU8sRUFBNkIsRUFBRSxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRCxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUt0RCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBS3RELE1BQU0sT0FBTyxTQUFTO0lBRUE7SUFBd0I7SUFBNUMsWUFBb0IsTUFBYyxFQUFVLElBQVU7UUFBbEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLFNBQUksR0FBSixJQUFJLENBQU07SUFBRyxDQUFDO0lBRTFELFdBQVcsR0FBRyxDQUFDLElBQTRCLEVBQUUsS0FBMEIsRUFBRSxFQUFFO1FBQ3pFLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBa0MsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQ3pCLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxlQUFlLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUM1QixHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDUixJQUFJLE9BQU8sR0FBRyxLQUFLLFNBQVMsRUFBRTtnQkFDNUIsT0FBTyxHQUFHLENBQUM7YUFDWjtpQkFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQzdCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDdkM7aUJBQU07Z0JBQ0wsK0JBQStCO2dCQUMvQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ2xDO1FBQ0gsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUMsQ0FBQTt3R0FwQlUsU0FBUzs0R0FBVCxTQUFTLGNBRlIsS0FBSzs7NEZBRU4sU0FBUztrQkFIckIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsS0FBSztpQkFDbEI7O0FBeUJELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLElBQXVCLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDdkQsV0FBVyxFQUFFLENBQUUsU0FBUyxDQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRTtDQUMxRCxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUNqRixNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDLENBQUMsSUFBZSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztBQUN2RyxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQWEsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDakYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2pILE1BQU0sQ0FBQyxNQUFNLGNBQWM7QUFDekIsaURBQWlEO0FBQ2pELENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFFLE1BQU0sQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzlFLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUNqQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQztBQUN0RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FDN0IsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxJQUFJLFFBQVEsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aCwgdXNlciB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvYXV0aCc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBDYW5BY3RpdmF0ZSwgUm91dGVyLCBSb3V0ZXJTdGF0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICdmaXJlYmFzZS9hdXRoJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFVuYXJ5RnVuY3Rpb24sIG9mLCBwaXBlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHN3aXRjaE1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuZXhwb3J0IHR5cGUgQXV0aFBpcGVHZW5lcmF0b3IgPSAobmV4dDogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgc3RhdGU6IFJvdXRlclN0YXRlU25hcHNob3QpID0+IEF1dGhQaXBlO1xuZXhwb3J0IHR5cGUgQXV0aFBpcGUgPSBVbmFyeUZ1bmN0aW9uPE9ic2VydmFibGU8VXNlcnxudWxsPiwgT2JzZXJ2YWJsZTxib29sZWFufHN0cmluZ3xhbnlbXT4+O1xuXG5leHBvcnQgY29uc3QgbG9nZ2VkSW46IEF1dGhQaXBlID0gbWFwKHVzZXIgPT4gISF1c2VyKTtcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAnYW55J1xufSlcbmV4cG9ydCBjbGFzcyBBdXRoR3VhcmQgaW1wbGVtZW50cyBDYW5BY3RpdmF0ZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlciwgcHJpdmF0ZSBhdXRoOiBBdXRoKSB7fVxuXG4gIGNhbkFjdGl2YXRlID0gKG5leHQ6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KSA9PiB7XG4gICAgY29uc3QgYXV0aFBpcGVGYWN0b3J5ID0gbmV4dC5kYXRhLmF1dGhHdWFyZFBpcGUgYXMgQXV0aFBpcGVHZW5lcmF0b3IgfHwgKCgpID0+IGxvZ2dlZEluKTtcbiAgICByZXR1cm4gdXNlcih0aGlzLmF1dGgpLnBpcGUoXG4gICAgICB0YWtlKDEpLFxuICAgICAgYXV0aFBpcGVGYWN0b3J5KG5leHQsIHN0YXRlKSxcbiAgICAgIG1hcChjYW4gPT4ge1xuICAgICAgICBpZiAodHlwZW9mIGNhbiA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgcmV0dXJuIGNhbjtcbiAgICAgICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGNhbikpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShjYW4pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFRPRE8oRWRyaWNDaGFuMDMpOiBBZGQgdGVzdHNcbiAgICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZXIucGFyc2VVcmwoY2FuKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbn1cblxuZXhwb3J0IGNvbnN0IGNhbkFjdGl2YXRlID0gKHBpcGU6IEF1dGhQaXBlR2VuZXJhdG9yKSA9PiAoe1xuICBjYW5BY3RpdmF0ZTogWyBBdXRoR3VhcmQgXSwgZGF0YTogeyBhdXRoR3VhcmRQaXBlOiBwaXBlIH1cbn0pO1xuXG5leHBvcnQgY29uc3QgaXNOb3RBbm9ueW1vdXM6IEF1dGhQaXBlID0gbWFwKHVzZXIgPT4gISF1c2VyICYmICF1c2VyLmlzQW5vbnltb3VzKTtcbmV4cG9ydCBjb25zdCBpZFRva2VuUmVzdWx0ID0gc3dpdGNoTWFwKCh1c2VyOiBVc2VyfG51bGwpID0+IHVzZXIgPyB1c2VyLmdldElkVG9rZW5SZXN1bHQoKSA6IG9mKG51bGwpKTtcbmV4cG9ydCBjb25zdCBlbWFpbFZlcmlmaWVkOiBBdXRoUGlwZSA9IG1hcCh1c2VyID0+ICEhdXNlciAmJiB1c2VyLmVtYWlsVmVyaWZpZWQpO1xuZXhwb3J0IGNvbnN0IGN1c3RvbUNsYWltcyA9IHBpcGUoaWRUb2tlblJlc3VsdCwgbWFwKGlkVG9rZW5SZXN1bHQgPT4gaWRUb2tlblJlc3VsdCA/IGlkVG9rZW5SZXN1bHQuY2xhaW1zIDogW10pKTtcbmV4cG9ydCBjb25zdCBoYXNDdXN0b21DbGFpbTogKGNsYWltOiBzdHJpbmcpID0+IEF1dGhQaXBlID1cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXByb3RvdHlwZS1idWlsdGluc1xuICAoY2xhaW0pID0+IHBpcGUoY3VzdG9tQ2xhaW1zLCBtYXAoY2xhaW1zID0+ICBjbGFpbXMuaGFzT3duUHJvcGVydHkoY2xhaW0pKSk7XG5leHBvcnQgY29uc3QgcmVkaXJlY3RVbmF1dGhvcml6ZWRUbzogKHJlZGlyZWN0OiBzdHJpbmd8YW55W10pID0+IEF1dGhQaXBlID1cbiAgKHJlZGlyZWN0KSA9PiBwaXBlKGxvZ2dlZEluLCBtYXAobG9nZ2VkSW4gPT4gbG9nZ2VkSW4gfHwgcmVkaXJlY3QpKTtcbmV4cG9ydCBjb25zdCByZWRpcmVjdExvZ2dlZEluVG86IChyZWRpcmVjdDogc3RyaW5nfGFueVtdKSA9PiBBdXRoUGlwZSA9XG4gIChyZWRpcmVjdCkgPT4gcGlwZShsb2dnZWRJbiwgbWFwKGxvZ2dlZEluID0+IGxvZ2dlZEluICYmIHJlZGlyZWN0IHx8IHRydWUpKTtcbiJdfQ==
@@ -1,20 +1,20 @@
1
1
  import { NgModule } from '@angular/core';
2
- import { AuthGuard } from './auth-guard';
3
- import { registerVersion } from 'firebase/app';
4
2
  import { VERSION } from '@angular/fire';
3
+ import { registerVersion } from 'firebase/app';
4
+ import { AuthGuard } from './auth-guard';
5
5
  import * as i0 from "@angular/core";
6
6
  export class AuthGuardModule {
7
7
  constructor() {
8
8
  registerVersion('angularfire', VERSION.full, 'auth-guard');
9
9
  }
10
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AuthGuardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
11
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.10", ngImport: i0, type: AuthGuardModule });
12
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AuthGuardModule, providers: [AuthGuard] });
10
13
  }
11
- AuthGuardModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AuthGuardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- AuthGuardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AuthGuardModule });
13
- AuthGuardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AuthGuardModule, providers: [AuthGuard] });
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.1.3", ngImport: i0, type: AuthGuardModule, decorators: [{
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AuthGuardModule, decorators: [{
15
15
  type: NgModule,
16
16
  args: [{
17
17
  providers: [AuthGuard]
18
18
  }]
19
19
  }], ctorParameters: function () { return []; } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1ndWFyZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXV0aC1ndWFyZC9hdXRoLWd1YXJkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUt4QyxNQUFNLE9BQU8sZUFBZTtJQUMxQjtRQUNFLGVBQWUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQztJQUM3RCxDQUFDOzs0R0FIVSxlQUFlOzZHQUFmLGVBQWU7NkdBQWYsZUFBZSxhQUZmLENBQUUsU0FBUyxDQUFFOzJGQUViLGVBQWU7a0JBSDNCLFFBQVE7bUJBQUM7b0JBQ1IsU0FBUyxFQUFFLENBQUUsU0FBUyxDQUFFO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBdXRoR3VhcmQgfSBmcm9tICcuL2F1dGgtZ3VhcmQnO1xuaW1wb3J0IHsgcmVnaXN0ZXJWZXJzaW9uIH0gZnJvbSAnZmlyZWJhc2UvYXBwJztcbmltcG9ydCB7IFZFUlNJT04gfSBmcm9tICdAYW5ndWxhci9maXJlJztcblxuQE5nTW9kdWxlKHtcbiAgcHJvdmlkZXJzOiBbIEF1dGhHdWFyZCBdXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhHdWFyZE1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHJlZ2lzdGVyVmVyc2lvbignYW5ndWxhcmZpcmUnLCBWRVJTSU9OLmZ1bGwsICdhdXRoLWd1YXJkJyk7XG4gIH1cbn1cbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1ndWFyZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXV0aC1ndWFyZC9hdXRoLWd1YXJkLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQUt6QyxNQUFNLE9BQU8sZUFBZTtJQUMxQjtRQUNFLGVBQWUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQztJQUM3RCxDQUFDO3dHQUhVLGVBQWU7eUdBQWYsZUFBZTt5R0FBZixlQUFlLGFBRmYsQ0FBRSxTQUFTLENBQUU7OzRGQUViLGVBQWU7a0JBSDNCLFFBQVE7bUJBQUM7b0JBQ1IsU0FBUyxFQUFFLENBQUUsU0FBUyxDQUFFO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWRVJTSU9OIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZSc7XG5pbXBvcnQgeyByZWdpc3RlclZlcnNpb24gfSBmcm9tICdmaXJlYmFzZS9hcHAnO1xuaW1wb3J0IHsgQXV0aEd1YXJkIH0gZnJvbSAnLi9hdXRoLWd1YXJkJztcblxuQE5nTW9kdWxlKHtcbiAgcHJvdmlkZXJzOiBbIEF1dGhHdWFyZCBdXG59KVxuZXhwb3J0IGNsYXNzIEF1dGhHdWFyZE1vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHJlZ2lzdGVyVmVyc2lvbignYW5ndWxhcmZpcmUnLCBWRVJTSU9OLmZ1bGwsICdhdXRoLWd1YXJkJyk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,160 @@
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: "16.2.10", 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: "16.2.10", ngImport: i0, type: AngularFireAnalytics, providedIn: 'any' });
124
+ }
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: AngularFireAnalytics, decorators: [{
126
+ type: Injectable,
127
+ args: [{
128
+ providedIn: 'any'
129
+ }]
130
+ }], ctorParameters: function () { return [{ 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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QUFDLFdBQVc7OzBCQUM5QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLFFBQVE7OzBCQUMzQixRQUFROzswQkFBSSxNQUFNOzJCQUFDLFVBQVU7OzBCQUM3QixRQUFROzswQkFBSSxNQUFNOzJCQUFDLE1BQU07OzBCQUV6QixNQUFNOzJCQUFDLFdBQVc7O0FBNkd2QixZQUFZLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIEluamVjdGlvblRva2VuLCBOZ1pvbmUsIE9wdGlvbmFsLCBQTEFURk9STV9JRCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgybVBbmd1bGFyRmlyZVNjaGVkdWxlcnMgfSBmcm9tICdAYW5ndWxhci9maXJlJztcbmltcG9ydCB7IMm1UHJvbWlzZVByb3h5LCDJtWFwcGx5TWl4aW5zLCDJtWNhY2hlSW5zdGFuY2UsIMm1bGF6eVNES1Byb3h5IH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9jb21wYXQnO1xuaW1wb3J0IHsgRmlyZWJhc2VBcHAgfSBmcm9tICdAYW5ndWxhci9maXJlL2NvbXBhdCc7XG5pbXBvcnQgeyBpc1N1cHBvcnRlZCB9IGZyb20gJ2ZpcmViYXNlL2FuYWx5dGljcyc7XG5pbXBvcnQgZmlyZWJhc2UgZnJvbSAnZmlyZWJhc2UvY29tcGF0L2FwcCc7XG5pbXBvcnQgeyBFTVBUWSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgb2JzZXJ2ZU9uLCBzaGFyZVJlcGxheSwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgcHJveHlQb2x5ZmlsbENvbXBhdCB9IGZyb20gJy4vYmFzZSc7XG5cbmV4cG9ydCB0eXBlIENvbmZpZyA9IFJlY29yZDxzdHJpbmcsIGFueT47XG5cbmV4cG9ydCBjb25zdCBDT0xMRUNUSU9OX0VOQUJMRUQgPSBuZXcgSW5qZWN0aW9uVG9rZW48Ym9vbGVhbj4oJ2FuZ3VsYXJmaXJlMi5hbmFseXRpY3MuYW5hbHl0aWNzQ29sbGVjdGlvbkVuYWJsZWQnKTtcbmV4cG9ydCBjb25zdCBBUFBfVkVSU0lPTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdhbmd1bGFyZmlyZTIuYW5hbHl0aWNzLmFwcFZlcnNpb24nKTtcbmV4cG9ydCBjb25zdCBBUFBfTkFNRSA9IG5ldyBJbmplY3Rpb25Ub2tlbjxzdHJpbmc+KCdhbmd1bGFyZmlyZTIuYW5hbHl0aWNzLmFwcE5hbWUnKTtcbmV4cG9ydCBjb25zdCBERUJVR19NT0RFID0gbmV3IEluamVjdGlvblRva2VuPGJvb2xlYW4+KCdhbmd1bGFyZmlyZTIuYW5hbHl0aWNzLmRlYnVnTW9kZScpO1xuZXhwb3J0IGNvbnN0IENPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxDb25maWc+KCdhbmd1bGFyZmlyZTIuYW5hbHl0aWNzLmNvbmZpZycpO1xuXG5jb25zdCBBUFBfTkFNRV9LRVkgPSAnYXBwX25hbWUnO1xuY29uc3QgQVBQX1ZFUlNJT05fS0VZID0gJ2FwcF92ZXJzaW9uJztcbmNvbnN0IERFQlVHX01PREVfS0VZID0gJ2RlYnVnX21vZGUnO1xuY29uc3QgR1RBR19DT05GSUdfQ09NTUFORCA9ICdjb25maWcnO1xuY29uc3QgR1RBR19GVU5DVElPTl9OQU1FID0gJ2d0YWcnOyAvLyBUT0RPIHJlbmFtZSB0aGVzZVxuY29uc3QgREFUQV9MQVlFUl9OQU1FID0gJ2RhdGFMYXllcic7XG5jb25zdCBTRU5EX1RPX0tFWSA9ICdzZW5kX3RvJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgQW5ndWxhckZpcmVBbmFseXRpY3MgZXh0ZW5kcyDJtVByb21pc2VQcm94eTxmaXJlYmFzZS5hbmFseXRpY3MuQW5hbHl0aWNzPiB7XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ2FueSdcbn0pXG5leHBvcnQgY2xhc3MgQW5ndWxhckZpcmVBbmFseXRpY3Mge1xuXG4gIHByaXZhdGUgbWVhc3VyZW1lbnRJZDogc3RyaW5nO1xuICBwcml2YXRlIGFuYWx5dGljc0luaXRpYWxpemVkID0gbmV3IFByb21pc2U8dm9pZD4oKCkgPT4gdW5kZWZpbmVkKTtcblxuICBhc3luYyB1cGRhdGVDb25maWcoY29uZmlnOiBDb25maWcpIHtcbiAgICBhd2FpdCB0aGlzLmFuYWx5dGljc0luaXRpYWxpemVkO1xuICAgIHdpbmRvd1tHVEFHX0ZVTkNUSU9OX05BTUVdKEdUQUdfQ09ORklHX0NPTU1BTkQsIHRoaXMubWVhc3VyZW1lbnRJZCwgeyAuLi5jb25maWcsIHVwZGF0ZTogdHJ1ZSB9KTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGFwcDogRmlyZWJhc2VBcHAsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChDT0xMRUNUSU9OX0VOQUJMRUQpIGFuYWx5dGljc0NvbGxlY3Rpb25FbmFibGVkOiBib29sZWFuIHwgbnVsbCxcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFQUF9WRVJTSU9OKSBwcm92aWRlZEFwcFZlcnNpb246IHN0cmluZyB8IG51bGwsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChBUFBfTkFNRSkgcHJvdmlkZWRBcHBOYW1lOiBzdHJpbmcgfCBudWxsLFxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoREVCVUdfTU9ERSkgZGVidWdNb2RlRW5hYmxlZDogYm9vbGVhbiB8IG51bGwsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChDT05GSUcpIHByb3ZpZGVkQ29uZmlnOiBDb25maWcgfCBudWxsLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXR5cGVzXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcGxhdGZvcm1JZDogT2JqZWN0LFxuICAgIHpvbmU6IE5nWm9uZSxcbiAgICBzY2hlZHVsZXJzOiDJtUFuZ3VsYXJGaXJlU2NoZWR1bGVycyxcbiAgKSB7XG5cbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIocGxhdGZvcm1JZCkpIHtcblxuICAgICAgd2luZG93W0RBVEFfTEFZRVJfTkFNRV0gPSB3aW5kb3dbREFUQV9MQVlFUl9OQU1FXSB8fCBbXTtcblxuICAgICAgLy8gSXQgdHVybnMgb3V0IHdlIGNhbid0IHJlbHkgb24gdGhlIG1lYXN1cmVtZW50SWQgaW4gdGhlIEZpcmViYXNlIGNvbmZpZyBKU09OXG4gICAgICAvLyB0aGlzIGlkZW50aWZpZXIgaXMgbm90IHN0YWJsZS4gZmlyZWJhc2UvYW5hbHl0aWNzIGRvZXMgYSBjYWxsIHRvIGdldCBhIGZyZXNoIHZhbHVlXG4gICAgICAvLyBmYWxsaW5nIGJhY2sgb24gdGhlIG9uZSBpbiB0aGUgY29uZmlnLiBSYXRoZXIgdGhhbiBkbyB0aGF0IG91cnNlbHZlcyB3ZSBzaG91bGQgbGlzdGVuXG4gICAgICAvLyBvbiBvdXIgZ3RhZyBmdW5jdGlvbiBmb3IgYSBhbmFseXRpY3MgY29uZmlnIGNvbW1hbmRcbiAgICAgIC8vIGUuZywgWydjb25maWcnLCBtZWFzdXJlbWVudElkLCB7IG9yaWdpbjogJ2ZpcmViYXNlJywgZmlyZWJhc2VfaWQgfV1cbiAgICAgIGNvbnN0IHBhcnNlTWVhc3VyZW1lbnRJZCA9ICguLi5hcmdzOiBhbnlbXSkgPT4ge1xuICAgICAgICBpZiAoYXJnc1swXSA9PT0gJ2NvbmZpZycgJiYgYXJnc1syXS5vcmlnaW4gPT09ICdmaXJlYmFzZScpIHtcbiAgICAgICAgICB0aGlzLm1lYXN1cmVtZW50SWQgPSBhcmdzWzFdO1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfTtcblxuICAgICAgY29uc3QgcGF0Y2hHdGFnID0gKGZuPzogKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkKSA9PiB7XG4gICAgICAgIHdpbmRvd1tHVEFHX0ZVTkNUSU9OX05BTUVdID0gKC4uLmFyZ3M6IGFueVtdKSA9PiB7XG4gICAgICAgICAgaWYgKGZuKSB7XG4gICAgICAgICAgICBmbiguLi5hcmdzKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gSW5qZWN0IGFwcF9uYW1lIGFuZCBhcHBfdmVyc2lvbiBpbnRvIGV2ZW50c1xuICAgICAgICAgIC8vIFRPRE8oamFtZXNkYW5pZWxzKTogSSdtIGRvaW5nIHRoaXMgYXMgZG9jdW1lbnRlZCBidXQgaXQncyBzdGlsbCBub3RcbiAgICAgICAgICAvLyAgIHNob3dpbmcgdXAgaW4gdGhlIGNvbnNvbGUuIEludmVzdGlnYXRlLiBHdWVzc2luZyBpdCdzIGp1c3QgcGFydCBvZiB0aGVcbiAgICAgICAgICAvLyAgIHdob2xlIEdBNCB0cmFuc2l0aW9uIG1lc3MuXG4gICAgICAgICAgaWYgKGFyZ3NbMF0gPT09ICdldmVudCcgJiYgYXJnc1syXVtTRU5EX1RPX0tFWV0gPT09IHRoaXMubWVhc3VyZW1lbnRJZCkge1xuICAgICAgICAgICAgaWYgKHByb3ZpZGVkQXBwTmFtZSkge1xuICAgICAgICAgICAgICBhcmdzWzJdW0FQUF9OQU1FX0tFWV0gPSBwcm92aWRlZEFwcE5hbWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocHJvdmlkZWRBcHBWZXJzaW9uKSB7XG4gICAgICAgICAgICAgIGFyZ3NbMl1bQVBQX1ZFUlNJT05fS0VZXSA9IHByb3ZpZGVkQXBwVmVyc2lvbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGRlYnVnTW9kZUVuYWJsZWQgJiYgdHlwZW9mIGNvbnNvbGUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgICAgICAgICAgY29uc29sZS5pbmZvKC4uLmFyZ3MpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvKipcbiAgICAgICAgICAgKiBBY2NvcmRpbmcgdG8gdGhlIGd0YWcgZG9jdW1lbnRhdGlvbiwgdGhpcyBmdW5jdGlvbiB0aGF0IGRlZmluZXMgYSBjdXN0b20gZGF0YSBsYXllciBjYW5ub3QgYmVcbiAgICAgICAgICAgKiBhbiBhcnJvdyBmdW5jdGlvbiBiZWNhdXNlICdhcmd1bWVudHMnIGlzIG5vdCBhbiBhcnJheS4gSXQgaXMgYWN0dWFsbHkgYW4gb2JqZWN0IHRoYXQgYmVoYXZlc1xuICAgICAgICAgICAqIGxpa2UgYW4gYXJyYXkgYW5kIGNvbnRhaW5zIG1vcmUgaW5mb3JtYXRpb24gdGhlbiBqdXN0IGluZGV4ZXMuIFRyYW5zZm9ybWluZyB0aGlzIGludG8gYXJyb3cgZnVuY3Rpb25cbiAgICAgICAgICAgKiBjYXVzZWQgaXNzdWUgIzI1MDUgd2hlcmUgYW5hbHl0aWNzIG5vIGxvbmdlciBzZW50IGFueSBkYXRhLlxuICAgICAgICAgICAqL1xuICAgICAgICAgIChmdW5jdGlvbiguLi5fYXJnczogYW55W10pIHtcbiAgICAgICAgICAgIHdpbmRvd1tEQVRBX0xBWUVSX05BTUVdLnB1c2goYXJndW1lbnRzKTtcbiAgICAgICAgICB9KSguLi5hcmdzKTtcbiAgICAgICAgfTtcbiAgICAgIH07XG5cbiAgICAgIC8vIFVuY2xlYXIgaWYgd2Ugc3RpbGwgbmVlZCB0byBidXQgSSB3YXMgcnVubmluZyBpbnRvIGNvbmZpZy9ldmVudHMgSSBwYXNzZWRcbiAgICAgIC8vIHRvIGd0YWcgYmVmb3JlIFsnanMnIHRpbWVzdGFtcF0gd2VyZW4ndCBnZXR0aW5nIHBhcnNlZCwgc28gbGV0J3MgbWFrZSBhIHByb21pc2VcbiAgICAgIC8vIHRoYXQgcmVzb2x2ZXMgd2hlbiBmaXJlYmFzZS9hbmFseXRpY3MgaGFzIGNvbmZpZ3VyZWQgZ3RhZy5qcyB0aGF0IHdlIHdhaXQgb25cbiAgICAgIC8vIGJlZm9yZSBzZW5kaW5nIGFueXRoaW5nXG4gICAgICBjb25zdCBmaXJlYmFzZUFuYWx5dGljc0FscmVhZHlJbml0aWFsaXplZCA9IHdpbmRvd1tEQVRBX0xBWUVSX05BTUVdLnNvbWUocGFyc2VNZWFzdXJlbWVudElkKTtcbiAgICAgIGlmIChmaXJlYmFzZUFuYWx5dGljc0FscmVhZHlJbml0aWFsaXplZCkge1xuICAgICAgICB0aGlzLmFuYWx5dGljc0luaXRpYWxpemVkID0gUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgICAgIHBhdGNoR3RhZygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5hbmFseXRpY3NJbml0aWFsaXplZCA9IG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgICAgICAgIHBhdGNoR3RhZygoLi4uYXJncykgPT4ge1xuICAgICAgICAgICAgaWYgKHBhcnNlTWVhc3VyZW1lbnRJZCguLi5hcmdzKSkge1xuICAgICAgICAgICAgICByZXNvbHZlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBpZiAocHJvdmlkZWRDb25maWcpIHtcbiAgICAgICAgdGhpcy51cGRhdGVDb25maWcocHJvdmlkZWRDb25maWcpO1xuICAgICAgfVxuICAgICAgaWYgKGRlYnVnTW9kZUVuYWJsZWQpIHtcbiAgICAgICAgdGhpcy51cGRhdGVDb25maWcoeyBbREVCVUdfTU9ERV9LRVldOiAxIH0pO1xuICAgICAgfVxuXG4gICAgfSBlbHNlIHtcblxuICAgICAgdGhpcy5hbmFseXRpY3NJbml0aWFsaXplZCA9IFByb21pc2UucmVzb2x2ZSgpO1xuXG4gICAgfVxuXG4gICAgY29uc3QgYW5hbHl0aWNzID0gb2YodW5kZWZpbmVkKS5waXBlKFxuICAgICAgb2JzZXJ2ZU9uKHNjaGVkdWxlcnMub3V0c2lkZUFuZ3VsYXIpLFxuICAgICAgc3dpdGNoTWFwKGlzU3VwcG9ydGVkKSxcbiAgICAgIHN3aXRjaE1hcChzdXBwb3J0ZWQgPT4gc3VwcG9ydGVkID8gem9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiBpbXBvcnQoJ2ZpcmViYXNlL2NvbXBhdC9hbmFseXRpY3MnKSkgOiBFTVBUWSksXG4gICAgICBtYXAoKCkgPT4ge1xuICAgICAgICByZXR1cm4gybVjYWNoZUluc3RhbmNlKGBhbmFseXRpY3NgLCAnQW5ndWxhckZpcmVBbmFseXRpY3MnLCBhcHAubmFtZSwgKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGFuYWx5dGljcyA9IGFwcC5hbmFseXRpY3MoKTtcbiAgICAgICAgICBpZiAoYW5hbHl0aWNzQ29sbGVjdGlvbkVuYWJsZWQgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICBhbmFseXRpY3Muc2V0QW5hbHl0aWNzQ29sbGVjdGlvbkVuYWJsZWQoZmFsc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gYW5hbHl0aWNzO1xuICAgICAgICB9LCBbYXBwLCBhbmFseXRpY3NDb2xsZWN0aW9uRW5hYmxlZCwgcHJvdmlkZWRDb25maWcsIGRlYnVnTW9kZUVuYWJsZWRdKTtcbiAgICAgIH0pLFxuICAgICAgc2hhcmVSZXBsYXkoeyBidWZmZXJTaXplOiAxLCByZWZDb3VudDogZmFsc2UgfSlcbiAgICApO1xuXG4gICAgcmV0dXJuIMm1bGF6eVNES1Byb3h5KHRoaXMsIGFuYWx5dGljcywgem9uZSk7XG5cbiAgfVxuXG59XG5cbsm1YXBwbHlNaXhpbnMoQW5ndWxhckZpcmVBbmFseXRpY3MsIFtwcm94eVBvbHlmaWxsQ29tcGF0XSk7XG4iXX0=