@angular/fire 18.0.1 → 19.0.0-canary.a58b329

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 (264) hide show
  1. package/README.md +2 -2
  2. package/analytics/firebase.d.ts +2 -2
  3. package/analytics/screen-tracking.service.d.ts +1 -1
  4. package/auth/rxfire.d.ts +2 -2
  5. package/compat/database/database.d.ts +1 -1
  6. package/compat/firestore/firestore.d.ts +1 -1
  7. package/compat/storage/pipes/storageUrl.pipe.d.ts +2 -2
  8. package/compat/storage/storage.d.ts +1 -1
  9. package/compat/storage/storage.module.d.ts +1 -1
  10. package/database/rxfire.d.ts +4 -4
  11. package/docs/install-and-setup.md +10 -5
  12. package/docs/vertexai.md +3 -3
  13. package/fesm2022/angular-fire-analytics.mjs +12 -12
  14. package/fesm2022/angular-fire-analytics.mjs.map +1 -1
  15. package/fesm2022/angular-fire-app-check.mjs +4 -4
  16. package/fesm2022/angular-fire-app-check.mjs.map +1 -1
  17. package/fesm2022/angular-fire-app.mjs +4 -4
  18. package/fesm2022/angular-fire-app.mjs.map +1 -1
  19. package/fesm2022/angular-fire-auth-guard.mjs +7 -7
  20. package/fesm2022/angular-fire-auth-guard.mjs.map +1 -1
  21. package/fesm2022/angular-fire-auth.mjs +6 -6
  22. package/fesm2022/angular-fire-auth.mjs.map +1 -1
  23. package/fesm2022/angular-fire-compat-analytics.mjs +13 -13
  24. package/fesm2022/angular-fire-compat-analytics.mjs.map +1 -1
  25. package/fesm2022/angular-fire-compat-auth-guard.mjs +7 -7
  26. package/fesm2022/angular-fire-compat-auth-guard.mjs.map +1 -1
  27. package/fesm2022/angular-fire-compat-auth.mjs +7 -7
  28. package/fesm2022/angular-fire-compat-auth.mjs.map +1 -1
  29. package/fesm2022/angular-fire-compat-database.mjs +7 -7
  30. package/fesm2022/angular-fire-compat-database.mjs.map +1 -1
  31. package/fesm2022/angular-fire-compat-firestore.mjs +9 -9
  32. package/fesm2022/angular-fire-compat-firestore.mjs.map +1 -1
  33. package/fesm2022/angular-fire-compat-functions.mjs +7 -7
  34. package/fesm2022/angular-fire-compat-functions.mjs.map +1 -1
  35. package/fesm2022/angular-fire-compat-messaging.mjs +7 -7
  36. package/fesm2022/angular-fire-compat-messaging.mjs.map +1 -1
  37. package/fesm2022/angular-fire-compat-performance.mjs +10 -10
  38. package/fesm2022/angular-fire-compat-performance.mjs.map +1 -1
  39. package/fesm2022/angular-fire-compat-remote-config.mjs +7 -7
  40. package/fesm2022/angular-fire-compat-remote-config.mjs.map +1 -1
  41. package/fesm2022/angular-fire-compat-storage.mjs +16 -15
  42. package/fesm2022/angular-fire-compat-storage.mjs.map +1 -1
  43. package/fesm2022/angular-fire-compat.mjs +4 -4
  44. package/fesm2022/angular-fire-compat.mjs.map +1 -1
  45. package/fesm2022/angular-fire-database.mjs +8 -8
  46. package/fesm2022/angular-fire-database.mjs.map +1 -1
  47. package/fesm2022/angular-fire-firestore-lite.mjs +11 -10
  48. package/fesm2022/angular-fire-firestore-lite.mjs.map +1 -1
  49. package/fesm2022/angular-fire-firestore.mjs +14 -13
  50. package/fesm2022/angular-fire-firestore.mjs.map +1 -1
  51. package/fesm2022/angular-fire-functions.mjs +4 -4
  52. package/fesm2022/angular-fire-functions.mjs.map +1 -1
  53. package/fesm2022/angular-fire-messaging.mjs +4 -4
  54. package/fesm2022/angular-fire-messaging.mjs.map +1 -1
  55. package/fesm2022/angular-fire-performance.mjs +6 -6
  56. package/fesm2022/angular-fire-performance.mjs.map +1 -1
  57. package/fesm2022/angular-fire-remote-config.mjs +9 -9
  58. package/fesm2022/angular-fire-remote-config.mjs.map +1 -1
  59. package/fesm2022/angular-fire-storage.mjs +4 -4
  60. package/fesm2022/angular-fire-storage.mjs.map +1 -1
  61. package/fesm2022/{angular-fire-vertexai-preview.mjs → angular-fire-vertexai.mjs} +8 -8
  62. package/fesm2022/angular-fire-vertexai.mjs.map +1 -0
  63. package/fesm2022/angular-fire.mjs +37 -57
  64. package/fesm2022/angular-fire.mjs.map +1 -1
  65. package/firestore/firebase.d.ts +2 -1
  66. package/firestore/lite/firebase.d.ts +2 -1
  67. package/firestore/lite/rxfire.d.ts +4 -4
  68. package/firestore/rxfire.d.ts +7 -7
  69. package/package.json +16 -75
  70. package/performance/rxfire.d.ts +2 -2
  71. package/publish.sh +1 -0
  72. package/remote-config/rxfire.d.ts +5 -5
  73. package/schematics/add/index.js +1 -13
  74. package/schematics/deploy/actions.js +138 -394
  75. package/schematics/deploy/builder.js +139 -61
  76. package/schematics/setup/index.js +94 -64
  77. package/schematics/update/index.js +1 -7
  78. package/schematics/update/v7/index.js +1 -67
  79. package/schematics/versions.json +2 -3
  80. package/vertexai/firebase.d.ts +4 -0
  81. package/{vertexai-preview → vertexai}/index.d.ts +1 -1
  82. package/vertexai/package.json +3 -0
  83. package/{vertexai-preview → vertexai}/vertexai.d.ts +1 -1
  84. package/{vertexai-preview → vertexai}/vertexai.module.d.ts +1 -1
  85. package/zones.d.ts +3 -2
  86. package/esm2022/analytics/analytics.mjs +0 -16
  87. package/esm2022/analytics/analytics.module.mjs +0 -101
  88. package/esm2022/analytics/angular-fire-analytics.mjs +0 -5
  89. package/esm2022/analytics/firebase.mjs +0 -17
  90. package/esm2022/analytics/is-analytics-supported-factory.mjs +0 -16
  91. package/esm2022/analytics/overrides.mjs +0 -3
  92. package/esm2022/analytics/public_api.mjs +0 -6
  93. package/esm2022/analytics/screen-tracking.service.mjs +0 -148
  94. package/esm2022/analytics/user-tracking.service.mjs +0 -44
  95. package/esm2022/angular-fire.mjs +0 -5
  96. package/esm2022/app/angular-fire-app.mjs +0 -5
  97. package/esm2022/app/app.mjs +0 -15
  98. package/esm2022/app/app.module.mjs +0 -91
  99. package/esm2022/app/firebase.mjs +0 -13
  100. package/esm2022/app/public_api.mjs +0 -4
  101. package/esm2022/app-check/angular-fire-app-check.mjs +0 -5
  102. package/esm2022/app-check/app-check.mjs +0 -10
  103. package/esm2022/app-check/app-check.module.mjs +0 -80
  104. package/esm2022/app-check/firebase.mjs +0 -10
  105. package/esm2022/app-check/public_api.mjs +0 -5
  106. package/esm2022/auth/angular-fire-auth.mjs +0 -5
  107. package/esm2022/auth/auth.mjs +0 -16
  108. package/esm2022/auth/auth.module.mjs +0 -73
  109. package/esm2022/auth/firebase.mjs +0 -59
  110. package/esm2022/auth/public_api.mjs +0 -5
  111. package/esm2022/auth/rxfire.mjs +0 -7
  112. package/esm2022/auth-guard/angular-fire-auth-guard.mjs +0 -5
  113. package/esm2022/auth-guard/auth-guard.mjs +0 -53
  114. package/esm2022/auth-guard/auth-guard.module.mjs +0 -20
  115. package/esm2022/auth-guard/public_api.mjs +0 -3
  116. package/esm2022/compat/analytics/analytics.mjs +0 -160
  117. package/esm2022/compat/analytics/analytics.module.mjs +0 -35
  118. package/esm2022/compat/analytics/angular-fire-compat-analytics.mjs +0 -5
  119. package/esm2022/compat/analytics/base.mjs +0 -11
  120. package/esm2022/compat/analytics/public_api.mjs +0 -5
  121. package/esm2022/compat/analytics/screen-tracking.service.mjs +0 -49
  122. package/esm2022/compat/analytics/user-tracking.service.mjs +0 -53
  123. package/esm2022/compat/angular-fire-compat.mjs +0 -5
  124. package/esm2022/compat/auth/angular-fire-compat-auth.mjs +0 -5
  125. package/esm2022/compat/auth/auth.mjs +0 -161
  126. package/esm2022/compat/auth/auth.module.mjs +0 -20
  127. package/esm2022/compat/auth/base.mjs +0 -39
  128. package/esm2022/compat/auth/public_api.mjs +0 -4
  129. package/esm2022/compat/auth-guard/angular-fire-compat-auth-guard.mjs +0 -5
  130. package/esm2022/compat/auth-guard/auth-guard.mjs +0 -53
  131. package/esm2022/compat/auth-guard/auth-guard.module.mjs +0 -20
  132. package/esm2022/compat/auth-guard/public_api.mjs +0 -3
  133. package/esm2022/compat/cache.mjs +0 -33
  134. package/esm2022/compat/database/angular-fire-compat-database.mjs +0 -5
  135. package/esm2022/compat/database/database.mjs +0 -119
  136. package/esm2022/compat/database/database.module.mjs +0 -20
  137. package/esm2022/compat/database/interfaces.mjs +0 -2
  138. package/esm2022/compat/database/list/audit-trail.mjs +0 -47
  139. package/esm2022/compat/database/list/changes.mjs +0 -85
  140. package/esm2022/compat/database/list/create-reference.mjs +0 -44
  141. package/esm2022/compat/database/list/data-operation.mjs +0 -11
  142. package/esm2022/compat/database/list/remove.mjs +0 -16
  143. package/esm2022/compat/database/list/snapshot-changes.mjs +0 -7
  144. package/esm2022/compat/database/list/state-changes.mjs +0 -9
  145. package/esm2022/compat/database/list/utils.mjs +0 -8
  146. package/esm2022/compat/database/object/create-reference.mjs +0 -19
  147. package/esm2022/compat/database/object/snapshot-changes.mjs +0 -7
  148. package/esm2022/compat/database/observable/fromRef.mjs +0 -48
  149. package/esm2022/compat/database/public_api.mjs +0 -9
  150. package/esm2022/compat/database/utils.mjs +0 -36
  151. package/esm2022/compat/firebase.app.mjs +0 -6
  152. package/esm2022/compat/firebase.app.module.mjs +0 -71
  153. package/esm2022/compat/firestore/angular-fire-compat-firestore.mjs +0 -5
  154. package/esm2022/compat/firestore/collection/changes.mjs +0 -108
  155. package/esm2022/compat/firestore/collection/collection.mjs +0 -123
  156. package/esm2022/compat/firestore/collection-group/collection-group.mjs +0 -86
  157. package/esm2022/compat/firestore/document/document.mjs +0 -87
  158. package/esm2022/compat/firestore/firestore.mjs +0 -257
  159. package/esm2022/compat/firestore/firestore.module.mjs +0 -32
  160. package/esm2022/compat/firestore/interfaces.mjs +0 -2
  161. package/esm2022/compat/firestore/observable/fromRef.mjs +0 -40
  162. package/esm2022/compat/firestore/public_api.mjs +0 -9
  163. package/esm2022/compat/functions/angular-fire-compat-functions.mjs +0 -5
  164. package/esm2022/compat/functions/base.mjs +0 -8
  165. package/esm2022/compat/functions/functions.mjs +0 -69
  166. package/esm2022/compat/functions/functions.module.mjs +0 -20
  167. package/esm2022/compat/functions/public_api.mjs +0 -4
  168. package/esm2022/compat/messaging/angular-fire-compat-messaging.mjs +0 -5
  169. package/esm2022/compat/messaging/base.mjs +0 -9
  170. package/esm2022/compat/messaging/messaging.mjs +0 -81
  171. package/esm2022/compat/messaging/messaging.module.mjs +0 -20
  172. package/esm2022/compat/messaging/public_api.mjs +0 -3
  173. package/esm2022/compat/performance/angular-fire-compat-performance.mjs +0 -5
  174. package/esm2022/compat/performance/base.mjs +0 -9
  175. package/esm2022/compat/performance/performance.mjs +0 -105
  176. package/esm2022/compat/performance/performance.module.mjs +0 -27
  177. package/esm2022/compat/performance/performance.service.mjs +0 -28
  178. package/esm2022/compat/performance/public_api.mjs +0 -4
  179. package/esm2022/compat/proxy.mjs +0 -58
  180. package/esm2022/compat/public_api.mjs +0 -5
  181. package/esm2022/compat/remote-config/angular-fire-compat-remote-config.mjs +0 -5
  182. package/esm2022/compat/remote-config/base.mjs +0 -20
  183. package/esm2022/compat/remote-config/interfaces.mjs +0 -2
  184. package/esm2022/compat/remote-config/public_api.mjs +0 -3
  185. package/esm2022/compat/remote-config/remote-config.mjs +0 -206
  186. package/esm2022/compat/remote-config/remote-config.module.mjs +0 -20
  187. package/esm2022/compat/storage/angular-fire-compat-storage.mjs +0 -5
  188. package/esm2022/compat/storage/interfaces.mjs +0 -2
  189. package/esm2022/compat/storage/observable/fromTask.mjs +0 -36
  190. package/esm2022/compat/storage/pipes/storageUrl.pipe.mjs +0 -56
  191. package/esm2022/compat/storage/public_api.mjs +0 -7
  192. package/esm2022/compat/storage/ref.mjs +0 -28
  193. package/esm2022/compat/storage/storage.mjs +0 -95
  194. package/esm2022/compat/storage/storage.module.mjs +0 -22
  195. package/esm2022/compat/storage/task.mjs +0 -21
  196. package/esm2022/core.mjs +0 -43
  197. package/esm2022/database/angular-fire-database.mjs +0 -5
  198. package/esm2022/database/database.mjs +0 -16
  199. package/esm2022/database/database.module.mjs +0 -76
  200. package/esm2022/database/firebase.mjs +0 -44
  201. package/esm2022/database/public_api.mjs +0 -5
  202. package/esm2022/database/rxfire.mjs +0 -13
  203. package/esm2022/firestore/angular-fire-firestore.mjs +0 -5
  204. package/esm2022/firestore/firebase.mjs +0 -73
  205. package/esm2022/firestore/firestore.mjs +0 -16
  206. package/esm2022/firestore/firestore.module.mjs +0 -76
  207. package/esm2022/firestore/lite/angular-fire-firestore-lite.mjs +0 -5
  208. package/esm2022/firestore/lite/firebase.mjs +0 -48
  209. package/esm2022/firestore/lite/lite.mjs +0 -16
  210. package/esm2022/firestore/lite/lite.module.mjs +0 -75
  211. package/esm2022/firestore/lite/public_api.mjs +0 -5
  212. package/esm2022/firestore/lite/rxfire.mjs +0 -12
  213. package/esm2022/firestore/public_api.mjs +0 -5
  214. package/esm2022/firestore/rxfire.mjs +0 -15
  215. package/esm2022/functions/angular-fire-functions.mjs +0 -5
  216. package/esm2022/functions/firebase.mjs +0 -9
  217. package/esm2022/functions/functions.mjs +0 -16
  218. package/esm2022/functions/functions.module.mjs +0 -76
  219. package/esm2022/functions/public_api.mjs +0 -5
  220. package/esm2022/functions/rxfire.mjs +0 -5
  221. package/esm2022/messaging/angular-fire-messaging.mjs +0 -5
  222. package/esm2022/messaging/firebase.mjs +0 -10
  223. package/esm2022/messaging/is-messaging-supported-factory.mjs +0 -16
  224. package/esm2022/messaging/messaging.mjs +0 -16
  225. package/esm2022/messaging/messaging.module.mjs +0 -93
  226. package/esm2022/messaging/overrides.mjs +0 -3
  227. package/esm2022/messaging/public_api.mjs +0 -4
  228. package/esm2022/performance/angular-fire-performance.mjs +0 -5
  229. package/esm2022/performance/firebase.mjs +0 -8
  230. package/esm2022/performance/performance.mjs +0 -16
  231. package/esm2022/performance/performance.module.mjs +0 -83
  232. package/esm2022/performance/public_api.mjs +0 -5
  233. package/esm2022/performance/rxfire.mjs +0 -8
  234. package/esm2022/public_api.mjs +0 -3
  235. package/esm2022/remote-config/angular-fire-remote-config.mjs +0 -5
  236. package/esm2022/remote-config/firebase.mjs +0 -17
  237. package/esm2022/remote-config/is-remote-config-supported-factory.mjs +0 -16
  238. package/esm2022/remote-config/overrides.mjs +0 -3
  239. package/esm2022/remote-config/public_api.mjs +0 -5
  240. package/esm2022/remote-config/remote-config.mjs +0 -16
  241. package/esm2022/remote-config/remote-config.module.mjs +0 -93
  242. package/esm2022/remote-config/rxfire.mjs +0 -9
  243. package/esm2022/storage/angular-fire-storage.mjs +0 -5
  244. package/esm2022/storage/firebase.mjs +0 -20
  245. package/esm2022/storage/public_api.mjs +0 -5
  246. package/esm2022/storage/rxfire.mjs +0 -6
  247. package/esm2022/storage/storage.mjs +0 -16
  248. package/esm2022/storage/storage.module.mjs +0 -76
  249. package/esm2022/vertexai-preview/angular-fire-vertexai-preview.mjs +0 -5
  250. package/esm2022/vertexai-preview/firebase.mjs +0 -7
  251. package/esm2022/vertexai-preview/public_api.mjs +0 -4
  252. package/esm2022/vertexai-preview/vertexai.mjs +0 -16
  253. package/esm2022/vertexai-preview/vertexai.module.mjs +0 -73
  254. package/esm2022/zones.mjs +0 -194
  255. package/fesm2022/angular-fire-vertexai-preview.mjs.map +0 -1
  256. package/schematics/common.js +0 -81
  257. package/schematics/deploy/functions-templates.js +0 -57
  258. package/schematics/firebaseTools.js +0 -78
  259. package/schematics/interfaces.js +0 -16
  260. package/schematics/setup/prompts.js +0 -195
  261. package/schematics/utils.js +0 -189
  262. package/vertexai-preview/firebase.d.ts +0 -4
  263. package/vertexai-preview/package.json +0 -3
  264. /package/{vertexai-preview → vertexai}/public_api.d.ts +0 -0
@@ -1,7 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ngPostUpdate = void 0;
4
- const ngPostUpdate = () => (host, _context) => {
5
- return host;
6
- };
7
- exports.ngPostUpdate = ngPostUpdate;
1
+ var c=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var x=Object.getOwnPropertyNames;var a=Object.prototype.hasOwnProperty;var i=(t,e)=>{for(var r in e)c(t,r,{get:e[r],enumerable:!0})},p=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of x(e))!a.call(t,o)&&o!==r&&c(t,o,{get:()=>e[o],enumerable:!(n=m(e,o))||n.enumerable});return t};var u=t=>p(c({},"__esModule",{value:!0}),t);var l={};i(l,{ngPostUpdate:()=>h});module.exports=u(l);var h=()=>(t,e)=>t;0&&(module.exports={ngPostUpdate});
@@ -1,67 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ngUpdate = void 0;
4
- const path_1 = require("path");
5
- const schematics_1 = require("@angular-devkit/schematics");
6
- const tasks_1 = require("@angular-devkit/schematics/tasks");
7
- const common_1 = require("../../common");
8
- const versions_json_1 = require("../../versions.json");
9
- const IMPORT_REGEX = /(?<key>import|export)\s+(?:(?<alias>[\w,{}\s*]+)\s+from)?\s*(?:(?<quote>["'])?(?<ref>[@\w\s\\/.-]+)\3?)\s*(?<term>[;\n])/g;
10
- const ngUpdate = () => (host, context) => {
11
- const packageJson = host.exists('package.json') && (0, common_1.safeReadJSON)('package.json', host);
12
- if (packageJson === undefined) {
13
- throw new schematics_1.SchematicsException('Could not locate package.json');
14
- }
15
- Object.keys(versions_json_1.peerDependencies).forEach(depName => {
16
- const dep = versions_json_1.peerDependencies[depName];
17
- if (dep) {
18
- packageJson[dep.dev ? 'devDependencies' : 'dependencies'][depName] = dep.version;
19
- }
20
- });
21
- Object.keys(versions_json_1.firebaseFunctionsDependencies).forEach(depName => {
22
- const dep = versions_json_1.firebaseFunctionsDependencies[depName];
23
- if (dep.dev && packageJson.devDependencies[depName]) {
24
- packageJson.devDependencies[depName] = dep.version;
25
- }
26
- else if (packageJson.dependencies[depName]) {
27
- packageJson.dependencies[depName] = dep.version;
28
- }
29
- });
30
- (0, common_1.overwriteIfExists)(host, 'package.json', (0, common_1.stringifyFormatted)(packageJson));
31
- context.addTask(new tasks_1.NodePackageInstallTask());
32
- const angularJson = host.exists('angular.json') && (0, common_1.safeReadJSON)('angular.json', host);
33
- if (packageJson === undefined) {
34
- throw new schematics_1.SchematicsException('Could not locate angular.json');
35
- }
36
- const srcRoots = Object.values(angularJson.projects).map((it) => (0, path_1.join)(...['/', it.root, it.sourceRoot].filter(it => !!it)));
37
- host.visit(filePath => {
38
- var _a;
39
- if (!filePath.endsWith('.ts') ||
40
- filePath.endsWith('.d.ts') ||
41
- !srcRoots.find(root => filePath.startsWith(root))) {
42
- return;
43
- }
44
- const content = (_a = host.read(filePath)) === null || _a === void 0 ? void 0 : _a.toString();
45
- if (!content) {
46
- return;
47
- }
48
- const newContent = content.replace(IMPORT_REGEX, (substring, ...args) => {
49
- const { alias, key, ref, quote, term } = args.pop();
50
- if (ref.startsWith('@angular/fire') && !ref.startsWith('@angular/fire/compat')) {
51
- return `${key} ${alias} from ${quote}${ref.replace('@angular/fire', '@angular/fire/compat')}${quote}${term}`;
52
- }
53
- if (ref.startsWith('firebase') && !ref.startsWith('firebase/compat')) {
54
- return `${key} ${alias} from ${quote}${ref.replace('firebase', 'firebase/compat')}${quote}${term}`;
55
- }
56
- if (ref.startsWith('@firebase')) {
57
- return `${key} ${alias} from ${quote}${ref.replace('@firebase', 'firebase')}${quote}${term}`;
58
- }
59
- return substring;
60
- });
61
- if (content !== newContent) {
62
- (0, common_1.overwriteIfExists)(host, filePath, newContent);
63
- }
64
- });
65
- return host;
66
- };
67
- exports.ngUpdate = ngUpdate;
1
+ var $t=Object.create;var F=Object.defineProperty;var mt=Object.getOwnPropertyDescriptor;var Rt=Object.getOwnPropertyNames;var dt=Object.getPrototypeOf,It=Object.prototype.hasOwnProperty;var p=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Lt=(t,e)=>{for(var r in e)F(t,r,{get:e[r],enumerable:!0})},de=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Rt(e))!It.call(t,i)&&i!==r&&F(t,i,{get:()=>e[i],enumerable:!(s=mt(e,i))||s.enumerable});return t};var Nt=(t,e,r)=>(r=t!=null?$t(dt(t)):{},de(e||!t||!t.__esModule?F(r,"default",{value:t,enumerable:!0}):r,t)),Ot=t=>de(F({},"__esModule",{value:!0}),t);var x=p((gi,Ie)=>{var gt="2.0.0",St=Number.MAX_SAFE_INTEGER||9007199254740991,Tt=16,At=250,qt=["major","premajor","minor","preminor","patch","prepatch","prerelease"];Ie.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:Tt,MAX_SAFE_BUILD_LENGTH:At,MAX_SAFE_INTEGER:St,RELEASE_TYPES:qt,SEMVER_SPEC_VERSION:gt,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var C=p((Si,Le)=>{var wt=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};Le.exports=wt});var w=p((T,Ne)=>{var{MAX_SAFE_COMPONENT_LENGTH:z,MAX_SAFE_BUILD_LENGTH:vt,MAX_LENGTH:xt}=x(),Ct=C();T=Ne.exports={};var Pt=T.re=[],Dt=T.safeRe=[],a=T.src=[],c=T.t={},yt=0,J="[a-zA-Z0-9-]",jt=[["\\s",1],["\\d",xt],[J,vt]],Gt=t=>{for(let[e,r]of jt)t=t.split(`${e}*`).join(`${e}{0,${r}}`).split(`${e}+`).join(`${e}{1,${r}}`);return t},$=(t,e,r)=>{let s=Gt(e),i=yt++;Ct(t,i,e),c[t]=i,a[i]=e,Pt[i]=new RegExp(e,r?"g":void 0),Dt[i]=new RegExp(s,r?"g":void 0)};$("NUMERICIDENTIFIER","0|[1-9]\\d*");$("NUMERICIDENTIFIERLOOSE","\\d+");$("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${J}*`);$("MAINVERSION",`(${a[c.NUMERICIDENTIFIER]})\\.(${a[c.NUMERICIDENTIFIER]})\\.(${a[c.NUMERICIDENTIFIER]})`);$("MAINVERSIONLOOSE",`(${a[c.NUMERICIDENTIFIERLOOSE]})\\.(${a[c.NUMERICIDENTIFIERLOOSE]})\\.(${a[c.NUMERICIDENTIFIERLOOSE]})`);$("PRERELEASEIDENTIFIER",`(?:${a[c.NUMERICIDENTIFIER]}|${a[c.NONNUMERICIDENTIFIER]})`);$("PRERELEASEIDENTIFIERLOOSE",`(?:${a[c.NUMERICIDENTIFIERLOOSE]}|${a[c.NONNUMERICIDENTIFIER]})`);$("PRERELEASE",`(?:-(${a[c.PRERELEASEIDENTIFIER]}(?:\\.${a[c.PRERELEASEIDENTIFIER]})*))`);$("PRERELEASELOOSE",`(?:-?(${a[c.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${a[c.PRERELEASEIDENTIFIERLOOSE]})*))`);$("BUILDIDENTIFIER",`${J}+`);$("BUILD",`(?:\\+(${a[c.BUILDIDENTIFIER]}(?:\\.${a[c.BUILDIDENTIFIER]})*))`);$("FULLPLAIN",`v?${a[c.MAINVERSION]}${a[c.PRERELEASE]}?${a[c.BUILD]}?`);$("FULL",`^${a[c.FULLPLAIN]}$`);$("LOOSEPLAIN",`[v=\\s]*${a[c.MAINVERSIONLOOSE]}${a[c.PRERELEASELOOSE]}?${a[c.BUILD]}?`);$("LOOSE",`^${a[c.LOOSEPLAIN]}$`);$("GTLT","((?:<|>)?=?)");$("XRANGEIDENTIFIERLOOSE",`${a[c.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);$("XRANGEIDENTIFIER",`${a[c.NUMERICIDENTIFIER]}|x|X|\\*`);$("XRANGEPLAIN",`[v=\\s]*(${a[c.XRANGEIDENTIFIER]})(?:\\.(${a[c.XRANGEIDENTIFIER]})(?:\\.(${a[c.XRANGEIDENTIFIER]})(?:${a[c.PRERELEASE]})?${a[c.BUILD]}?)?)?`);$("XRANGEPLAINLOOSE",`[v=\\s]*(${a[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${a[c.XRANGEIDENTIFIERLOOSE]})(?:\\.(${a[c.XRANGEIDENTIFIERLOOSE]})(?:${a[c.PRERELEASELOOSE]})?${a[c.BUILD]}?)?)?`);$("XRANGE",`^${a[c.GTLT]}\\s*${a[c.XRANGEPLAIN]}$`);$("XRANGELOOSE",`^${a[c.GTLT]}\\s*${a[c.XRANGEPLAINLOOSE]}$`);$("COERCEPLAIN",`(^|[^\\d])(\\d{1,${z}})(?:\\.(\\d{1,${z}}))?(?:\\.(\\d{1,${z}}))?`);$("COERCE",`${a[c.COERCEPLAIN]}(?:$|[^\\d])`);$("COERCEFULL",a[c.COERCEPLAIN]+`(?:${a[c.PRERELEASE]})?(?:${a[c.BUILD]})?(?:$|[^\\d])`);$("COERCERTL",a[c.COERCE],!0);$("COERCERTLFULL",a[c.COERCEFULL],!0);$("LONETILDE","(?:~>?)");$("TILDETRIM",`(\\s*)${a[c.LONETILDE]}\\s+`,!0);T.tildeTrimReplace="$1~";$("TILDE",`^${a[c.LONETILDE]}${a[c.XRANGEPLAIN]}$`);$("TILDELOOSE",`^${a[c.LONETILDE]}${a[c.XRANGEPLAINLOOSE]}$`);$("LONECARET","(?:\\^)");$("CARETTRIM",`(\\s*)${a[c.LONECARET]}\\s+`,!0);T.caretTrimReplace="$1^";$("CARET",`^${a[c.LONECARET]}${a[c.XRANGEPLAIN]}$`);$("CARETLOOSE",`^${a[c.LONECARET]}${a[c.XRANGEPLAINLOOSE]}$`);$("COMPARATORLOOSE",`^${a[c.GTLT]}\\s*(${a[c.LOOSEPLAIN]})$|^$`);$("COMPARATOR",`^${a[c.GTLT]}\\s*(${a[c.FULLPLAIN]})$|^$`);$("COMPARATORTRIM",`(\\s*)${a[c.GTLT]}\\s*(${a[c.LOOSEPLAIN]}|${a[c.XRANGEPLAIN]})`,!0);T.comparatorTrimReplace="$1$2$3";$("HYPHENRANGE",`^\\s*(${a[c.XRANGEPLAIN]})\\s+-\\s+(${a[c.XRANGEPLAIN]})\\s*$`);$("HYPHENRANGELOOSE",`^\\s*(${a[c.XRANGEPLAINLOOSE]})\\s+-\\s+(${a[c.XRANGEPLAINLOOSE]})\\s*$`);$("STAR","(<|>)?=?\\s*\\*");$("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");$("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var X=p((Ti,Oe)=>{var Ft=Object.freeze({loose:!0}),Xt=Object.freeze({}),Ut=t=>t?typeof t!="object"?Ft:t:Xt;Oe.exports=Ut});var K=p((Ai,Te)=>{var ge=/^[0-9]+$/,Se=(t,e)=>{let r=ge.test(t),s=ge.test(e);return r&&s&&(t=+t,e=+e),t===e?0:r&&!s?-1:s&&!r?1:t<e?-1:1},bt=(t,e)=>Se(e,t);Te.exports={compareIdentifiers:Se,rcompareIdentifiers:bt}});var I=p((qi,ve)=>{var U=C(),{MAX_LENGTH:Ae,MAX_SAFE_INTEGER:b}=x(),{safeRe:qe,t:we}=w(),Vt=X(),{compareIdentifiers:v}=K(),Z=class t{constructor(e,r){if(r=Vt(r),e instanceof t){if(e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>Ae)throw new TypeError(`version is longer than ${Ae} characters`);U("SemVer",e,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let s=e.trim().match(r.loose?qe[we.LOOSE]:qe[we.FULL]);if(!s)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+s[1],this.minor=+s[2],this.patch=+s[3],this.major>b||this.major<0)throw new TypeError("Invalid major version");if(this.minor>b||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>b||this.patch<0)throw new TypeError("Invalid patch version");s[4]?this.prerelease=s[4].split(".").map(i=>{if(/^[0-9]+$/.test(i)){let n=+i;if(n>=0&&n<b)return n}return i}):this.prerelease=[],this.build=s[5]?s[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(e){if(U("SemVer.compare",this.version,this.options,e),!(e instanceof t)){if(typeof e=="string"&&e===this.version)return 0;e=new t(e,this.options)}return e.version===this.version?0:this.compareMain(e)||this.comparePre(e)}compareMain(e){return e instanceof t||(e=new t(e,this.options)),v(this.major,e.major)||v(this.minor,e.minor)||v(this.patch,e.patch)}comparePre(e){if(e instanceof t||(e=new t(e,this.options)),this.prerelease.length&&!e.prerelease.length)return-1;if(!this.prerelease.length&&e.prerelease.length)return 1;if(!this.prerelease.length&&!e.prerelease.length)return 0;let r=0;do{let s=this.prerelease[r],i=e.prerelease[r];if(U("prerelease compare",r,s,i),s===void 0&&i===void 0)return 0;if(i===void 0)return 1;if(s===void 0)return-1;if(s===i)continue;return v(s,i)}while(++r)}compareBuild(e){e instanceof t||(e=new t(e,this.options));let r=0;do{let s=this.build[r],i=e.build[r];if(U("build compare",r,s,i),s===void 0&&i===void 0)return 0;if(i===void 0)return 1;if(s===void 0)return-1;if(s===i)continue;return v(s,i)}while(++r)}inc(e,r,s){switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",r,s);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",r,s);break;case"prepatch":this.prerelease.length=0,this.inc("patch",r,s),this.inc("pre",r,s);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",r,s),this.inc("pre",r,s);break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let i=Number(s)?1:0;if(!r&&s===!1)throw new Error("invalid increment argument: identifier is empty");if(this.prerelease.length===0)this.prerelease=[i];else{let n=this.prerelease.length;for(;--n>=0;)typeof this.prerelease[n]=="number"&&(this.prerelease[n]++,n=-2);if(n===-1){if(r===this.prerelease.join(".")&&s===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(i)}}if(r){let n=[r,i];s===!1&&(n=[r]),v(this.prerelease[0],r)===0?isNaN(this.prerelease[1])&&(this.prerelease=n):this.prerelease=n}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};ve.exports=Z});var q=p((wi,Ce)=>{var xe=I(),kt=(t,e,r=!1)=>{if(t instanceof xe)return t;try{return new xe(t,e)}catch(s){if(!r)return null;throw s}};Ce.exports=kt});var De=p((vi,Pe)=>{var _t=q(),Ht=(t,e)=>{let r=_t(t,e);return r?r.version:null};Pe.exports=Ht});var je=p((xi,ye)=>{var Wt=q(),Mt=(t,e)=>{let r=Wt(t.trim().replace(/^[=v]+/,""),e);return r?r.version:null};ye.exports=Mt});var Xe=p((Ci,Fe)=>{var Ge=I(),Yt=(t,e,r,s,i)=>{typeof r=="string"&&(i=s,s=r,r=void 0);try{return new Ge(t instanceof Ge?t.version:t,r).inc(e,s,i).version}catch(n){return null}};Fe.exports=Yt});var Ve=p((Pi,be)=>{var Ue=q(),Bt=(t,e)=>{let r=Ue(t,null,!0),s=Ue(e,null,!0),i=r.compare(s);if(i===0)return null;let n=i>0,o=n?r:s,l=n?s:r,u=!!o.prerelease.length;if(!!l.prerelease.length&&!u)return!l.patch&&!l.minor?"major":o.patch?"patch":o.minor?"minor":"major";let m=u?"pre":"";return r.major!==s.major?m+"major":r.minor!==s.minor?m+"minor":r.patch!==s.patch?m+"patch":"prerelease"};be.exports=Bt});var _e=p((Di,ke)=>{var zt=I(),Jt=(t,e)=>new zt(t,e).major;ke.exports=Jt});var We=p((yi,He)=>{var Kt=I(),Zt=(t,e)=>new Kt(t,e).minor;He.exports=Zt});var Ye=p((ji,Me)=>{var Qt=I(),es=(t,e)=>new Qt(t,e).patch;Me.exports=es});var ze=p((Gi,Be)=>{var rs=q(),ts=(t,e)=>{let r=rs(t,e);return r&&r.prerelease.length?r.prerelease:null};Be.exports=ts});var g=p((Fi,Ke)=>{var Je=I(),ss=(t,e,r)=>new Je(t,r).compare(new Je(e,r));Ke.exports=ss});var Qe=p((Xi,Ze)=>{var ns=g(),is=(t,e,r)=>ns(e,t,r);Ze.exports=is});var rr=p((Ui,er)=>{var os=g(),as=(t,e)=>os(t,e,!0);er.exports=as});var V=p((bi,sr)=>{var tr=I(),cs=(t,e,r)=>{let s=new tr(t,r),i=new tr(e,r);return s.compare(i)||s.compareBuild(i)};sr.exports=cs});var ir=p((Vi,nr)=>{var ls=V(),us=(t,e)=>t.sort((r,s)=>ls(r,s,e));nr.exports=us});var ar=p((ki,or)=>{var fs=V(),Es=(t,e)=>t.sort((r,s)=>fs(s,r,e));or.exports=Es});var P=p((_i,cr)=>{var hs=g(),ps=(t,e,r)=>hs(t,e,r)>0;cr.exports=ps});var k=p((Hi,lr)=>{var $s=g(),ms=(t,e,r)=>$s(t,e,r)<0;lr.exports=ms});var Q=p((Wi,ur)=>{var Rs=g(),ds=(t,e,r)=>Rs(t,e,r)===0;ur.exports=ds});var ee=p((Mi,fr)=>{var Is=g(),Ls=(t,e,r)=>Is(t,e,r)!==0;fr.exports=Ls});var _=p((Yi,Er)=>{var Ns=g(),Os=(t,e,r)=>Ns(t,e,r)>=0;Er.exports=Os});var H=p((Bi,hr)=>{var gs=g(),Ss=(t,e,r)=>gs(t,e,r)<=0;hr.exports=Ss});var re=p((zi,pr)=>{var Ts=Q(),As=ee(),qs=P(),ws=_(),vs=k(),xs=H(),Cs=(t,e,r,s)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t===r;case"!==":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t!==r;case"":case"=":case"==":return Ts(t,r,s);case"!=":return As(t,r,s);case">":return qs(t,r,s);case">=":return ws(t,r,s);case"<":return vs(t,r,s);case"<=":return xs(t,r,s);default:throw new TypeError(`Invalid operator: ${e}`)}};pr.exports=Cs});var mr=p((Ji,$r)=>{var Ps=I(),Ds=q(),{safeRe:W,t:M}=w(),ys=(t,e)=>{if(t instanceof Ps)return t;if(typeof t=="number"&&(t=String(t)),typeof t!="string")return null;e=e||{};let r=null;if(!e.rtl)r=t.match(e.includePrerelease?W[M.COERCEFULL]:W[M.COERCE]);else{let u=e.includePrerelease?W[M.COERCERTLFULL]:W[M.COERCERTL],h;for(;(h=u.exec(t))&&(!r||r.index+r[0].length!==t.length);)(!r||h.index+h[0].length!==r.index+r[0].length)&&(r=h),u.lastIndex=h.index+h[1].length+h[2].length;u.lastIndex=-1}if(r===null)return null;let s=r[2],i=r[3]||"0",n=r[4]||"0",o=e.includePrerelease&&r[5]?`-${r[5]}`:"",l=e.includePrerelease&&r[6]?`+${r[6]}`:"";return Ds(`${s}.${i}.${n}${o}${l}`,e)};$r.exports=ys});var dr=p((Ki,Rr)=>{var te=class{constructor(){this.max=1e3,this.map=new Map}get(e){let r=this.map.get(e);if(r!==void 0)return this.map.delete(e),this.map.set(e,r),r}delete(e){return this.map.delete(e)}set(e,r){if(!this.delete(e)&&r!==void 0){if(this.map.size>=this.max){let i=this.map.keys().next().value;this.delete(i)}this.map.set(e,r)}return this}};Rr.exports=te});var S=p((Zi,Or)=>{var js=/\s+/g,se=class t{constructor(e,r){if(r=Fs(r),e instanceof t)return e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease?e:new t(e.raw,r);if(e instanceof ne)return this.raw=e.value,this.set=[[e]],this.formatted=void 0,this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=e.trim().replace(js," "),this.set=this.raw.split("||").map(s=>this.parseRange(s.trim())).filter(s=>s.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let s=this.set[0];if(this.set=this.set.filter(i=>!Lr(i[0])),this.set.length===0)this.set=[s];else if(this.set.length>1){for(let i of this.set)if(i.length===1&&Hs(i[0])){this.set=[i];break}}}this.formatted=void 0}get range(){if(this.formatted===void 0){this.formatted="";for(let e=0;e<this.set.length;e++){e>0&&(this.formatted+="||");let r=this.set[e];for(let s=0;s<r.length;s++)s>0&&(this.formatted+=" "),this.formatted+=r[s].toString().trim()}}return this.formatted}format(){return this.range}toString(){return this.range}parseRange(e){let s=((this.options.includePrerelease&&ks)|(this.options.loose&&_s))+":"+e,i=Ir.get(s);if(i)return i;let n=this.options.loose,o=n?O[L.HYPHENRANGELOOSE]:O[L.HYPHENRANGE];e=e.replace(o,en(this.options.includePrerelease)),d("hyphen replace",e),e=e.replace(O[L.COMPARATORTRIM],Us),d("comparator trim",e),e=e.replace(O[L.TILDETRIM],bs),d("tilde trim",e),e=e.replace(O[L.CARETTRIM],Vs),d("caret trim",e);let l=e.split(" ").map(E=>Ws(E,this.options)).join(" ").split(/\s+/).map(E=>Qs(E,this.options));n&&(l=l.filter(E=>(d("loose invalid filter",E,this.options),!!E.match(O[L.COMPARATORLOOSE])))),d("range list",l);let u=new Map,h=l.map(E=>new ne(E,this.options));for(let E of h){if(Lr(E))return[E];u.set(E.value,E)}u.size>1&&u.has("")&&u.delete("");let m=[...u.values()];return Ir.set(s,m),m}intersects(e,r){if(!(e instanceof t))throw new TypeError("a Range is required");return this.set.some(s=>Nr(s,r)&&e.set.some(i=>Nr(i,r)&&s.every(n=>i.every(o=>n.intersects(o,r)))))}test(e){if(!e)return!1;if(typeof e=="string")try{e=new Xs(e,this.options)}catch(r){return!1}for(let r=0;r<this.set.length;r++)if(rn(this.set[r],e,this.options))return!0;return!1}};Or.exports=se;var Gs=dr(),Ir=new Gs,Fs=X(),ne=D(),d=C(),Xs=I(),{safeRe:O,t:L,comparatorTrimReplace:Us,tildeTrimReplace:bs,caretTrimReplace:Vs}=w(),{FLAG_INCLUDE_PRERELEASE:ks,FLAG_LOOSE:_s}=x(),Lr=t=>t.value==="<0.0.0-0",Hs=t=>t.value==="",Nr=(t,e)=>{let r=!0,s=t.slice(),i=s.pop();for(;r&&s.length;)r=s.every(n=>i.intersects(n,e)),i=s.pop();return r},Ws=(t,e)=>(d("comp",t,e),t=Bs(t,e),d("caret",t),t=Ms(t,e),d("tildes",t),t=Js(t,e),d("xrange",t),t=Zs(t,e),d("stars",t),t),N=t=>!t||t.toLowerCase()==="x"||t==="*",Ms=(t,e)=>t.trim().split(/\s+/).map(r=>Ys(r,e)).join(" "),Ys=(t,e)=>{let r=e.loose?O[L.TILDELOOSE]:O[L.TILDE];return t.replace(r,(s,i,n,o,l)=>{d("tilde",t,s,i,n,o,l);let u;return N(i)?u="":N(n)?u=`>=${i}.0.0 <${+i+1}.0.0-0`:N(o)?u=`>=${i}.${n}.0 <${i}.${+n+1}.0-0`:l?(d("replaceTilde pr",l),u=`>=${i}.${n}.${o}-${l} <${i}.${+n+1}.0-0`):u=`>=${i}.${n}.${o} <${i}.${+n+1}.0-0`,d("tilde return",u),u})},Bs=(t,e)=>t.trim().split(/\s+/).map(r=>zs(r,e)).join(" "),zs=(t,e)=>{d("caret",t,e);let r=e.loose?O[L.CARETLOOSE]:O[L.CARET],s=e.includePrerelease?"-0":"";return t.replace(r,(i,n,o,l,u)=>{d("caret",t,i,n,o,l,u);let h;return N(n)?h="":N(o)?h=`>=${n}.0.0${s} <${+n+1}.0.0-0`:N(l)?n==="0"?h=`>=${n}.${o}.0${s} <${n}.${+o+1}.0-0`:h=`>=${n}.${o}.0${s} <${+n+1}.0.0-0`:u?(d("replaceCaret pr",u),n==="0"?o==="0"?h=`>=${n}.${o}.${l}-${u} <${n}.${o}.${+l+1}-0`:h=`>=${n}.${o}.${l}-${u} <${n}.${+o+1}.0-0`:h=`>=${n}.${o}.${l}-${u} <${+n+1}.0.0-0`):(d("no pr"),n==="0"?o==="0"?h=`>=${n}.${o}.${l}${s} <${n}.${o}.${+l+1}-0`:h=`>=${n}.${o}.${l}${s} <${n}.${+o+1}.0-0`:h=`>=${n}.${o}.${l} <${+n+1}.0.0-0`),d("caret return",h),h})},Js=(t,e)=>(d("replaceXRanges",t,e),t.split(/\s+/).map(r=>Ks(r,e)).join(" ")),Ks=(t,e)=>{t=t.trim();let r=e.loose?O[L.XRANGELOOSE]:O[L.XRANGE];return t.replace(r,(s,i,n,o,l,u)=>{d("xRange",t,s,i,n,o,l,u);let h=N(n),m=h||N(o),E=m||N(l),R=E;return i==="="&&R&&(i=""),u=e.includePrerelease?"-0":"",h?i===">"||i==="<"?s="<0.0.0-0":s="*":i&&R?(m&&(o=0),l=0,i===">"?(i=">=",m?(n=+n+1,o=0,l=0):(o=+o+1,l=0)):i==="<="&&(i="<",m?n=+n+1:o=+o+1),i==="<"&&(u="-0"),s=`${i+n}.${o}.${l}${u}`):m?s=`>=${n}.0.0${u} <${+n+1}.0.0-0`:E&&(s=`>=${n}.${o}.0${u} <${n}.${+o+1}.0-0`),d("xRange return",s),s})},Zs=(t,e)=>(d("replaceStars",t,e),t.trim().replace(O[L.STAR],"")),Qs=(t,e)=>(d("replaceGTE0",t,e),t.trim().replace(O[e.includePrerelease?L.GTE0PRE:L.GTE0],"")),en=t=>(e,r,s,i,n,o,l,u,h,m,E,R)=>(N(s)?r="":N(i)?r=`>=${s}.0.0${t?"-0":""}`:N(n)?r=`>=${s}.${i}.0${t?"-0":""}`:o?r=`>=${r}`:r=`>=${r}${t?"-0":""}`,N(h)?u="":N(m)?u=`<${+h+1}.0.0-0`:N(E)?u=`<${h}.${+m+1}.0-0`:R?u=`<=${h}.${m}.${E}-${R}`:t?u=`<${h}.${m}.${+E+1}-0`:u=`<=${u}`,`${r} ${u}`.trim()),rn=(t,e,r)=>{for(let s=0;s<t.length;s++)if(!t[s].test(e))return!1;if(e.prerelease.length&&!r.includePrerelease){for(let s=0;s<t.length;s++)if(d(t[s].semver),t[s].semver!==ne.ANY&&t[s].semver.prerelease.length>0){let i=t[s].semver;if(i.major===e.major&&i.minor===e.minor&&i.patch===e.patch)return!0}return!1}return!0}});var D=p((Qi,wr)=>{var y=Symbol("SemVer ANY"),ae=class t{static get ANY(){return y}constructor(e,r){if(r=gr(r),e instanceof t){if(e.loose===!!r.loose)return e;e=e.value}e=e.trim().split(/\s+/).join(" "),oe("comparator",e,r),this.options=r,this.loose=!!r.loose,this.parse(e),this.semver===y?this.value="":this.value=this.operator+this.semver.version,oe("comp",this)}parse(e){let r=this.options.loose?Sr[Tr.COMPARATORLOOSE]:Sr[Tr.COMPARATOR],s=e.match(r);if(!s)throw new TypeError(`Invalid comparator: ${e}`);this.operator=s[1]!==void 0?s[1]:"",this.operator==="="&&(this.operator=""),s[2]?this.semver=new Ar(s[2],this.options.loose):this.semver=y}toString(){return this.value}test(e){if(oe("Comparator.test",e,this.options.loose),this.semver===y||e===y)return!0;if(typeof e=="string")try{e=new Ar(e,this.options)}catch(r){return!1}return ie(e,this.operator,this.semver,this.options)}intersects(e,r){if(!(e instanceof t))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new qr(e.value,r).test(this.value):e.operator===""?e.value===""?!0:new qr(this.value,r).test(e.semver):(r=gr(r),r.includePrerelease&&(this.value==="<0.0.0-0"||e.value==="<0.0.0-0")||!r.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&e.operator.startsWith(">")||this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||ie(this.semver,"<",e.semver,r)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||ie(this.semver,">",e.semver,r)&&this.operator.startsWith("<")&&e.operator.startsWith(">")))}};wr.exports=ae;var gr=X(),{safeRe:Sr,t:Tr}=w(),ie=re(),oe=C(),Ar=I(),qr=S()});var j=p((eo,vr)=>{var tn=S(),sn=(t,e,r)=>{try{e=new tn(e,r)}catch(s){return!1}return e.test(t)};vr.exports=sn});var Cr=p((ro,xr)=>{var nn=S(),on=(t,e)=>new nn(t,e).set.map(r=>r.map(s=>s.value).join(" ").trim().split(" "));xr.exports=on});var Dr=p((to,Pr)=>{var an=I(),cn=S(),ln=(t,e,r)=>{let s=null,i=null,n=null;try{n=new cn(e,r)}catch(o){return null}return t.forEach(o=>{n.test(o)&&(!s||i.compare(o)===-1)&&(s=o,i=new an(s,r))}),s};Pr.exports=ln});var jr=p((so,yr)=>{var un=I(),fn=S(),En=(t,e,r)=>{let s=null,i=null,n=null;try{n=new fn(e,r)}catch(o){return null}return t.forEach(o=>{n.test(o)&&(!s||i.compare(o)===1)&&(s=o,i=new un(s,r))}),s};yr.exports=En});var Xr=p((no,Fr)=>{var ce=I(),hn=S(),Gr=P(),pn=(t,e)=>{t=new hn(t,e);let r=new ce("0.0.0");if(t.test(r)||(r=new ce("0.0.0-0"),t.test(r)))return r;r=null;for(let s=0;s<t.set.length;++s){let i=t.set[s],n=null;i.forEach(o=>{let l=new ce(o.semver.version);switch(o.operator){case">":l.prerelease.length===0?l.patch++:l.prerelease.push(0),l.raw=l.format();case"":case">=":(!n||Gr(l,n))&&(n=l);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${o.operator}`)}}),n&&(!r||Gr(r,n))&&(r=n)}return r&&t.test(r)?r:null};Fr.exports=pn});var br=p((io,Ur)=>{var $n=S(),mn=(t,e)=>{try{return new $n(t,e).range||"*"}catch(r){return null}};Ur.exports=mn});var Y=p((oo,Hr)=>{var Rn=I(),_r=D(),{ANY:dn}=_r,In=S(),Ln=j(),Vr=P(),kr=k(),Nn=H(),On=_(),gn=(t,e,r,s)=>{t=new Rn(t,s),e=new In(e,s);let i,n,o,l,u;switch(r){case">":i=Vr,n=Nn,o=kr,l=">",u=">=";break;case"<":i=kr,n=On,o=Vr,l="<",u="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(Ln(t,e,s))return!1;for(let h=0;h<e.set.length;++h){let m=e.set[h],E=null,R=null;if(m.forEach(f=>{f.semver===dn&&(f=new _r(">=0.0.0")),E=E||f,R=R||f,i(f.semver,E.semver,s)?E=f:o(f.semver,R.semver,s)&&(R=f)}),E.operator===l||E.operator===u||(!R.operator||R.operator===l)&&n(t,R.semver))return!1;if(R.operator===u&&o(t,R.semver))return!1}return!0};Hr.exports=gn});var Mr=p((ao,Wr)=>{var Sn=Y(),Tn=(t,e,r)=>Sn(t,e,">",r);Wr.exports=Tn});var Br=p((co,Yr)=>{var An=Y(),qn=(t,e,r)=>An(t,e,"<",r);Yr.exports=qn});var Kr=p((lo,Jr)=>{var zr=S(),wn=(t,e,r)=>(t=new zr(t,r),e=new zr(e,r),t.intersects(e,r));Jr.exports=wn});var Qr=p((uo,Zr)=>{var vn=j(),xn=g();Zr.exports=(t,e,r)=>{let s=[],i=null,n=null,o=t.sort((m,E)=>xn(m,E,r));for(let m of o)vn(m,e,r)?(n=m,i||(i=m)):(n&&s.push([i,n]),n=null,i=null);i&&s.push([i,null]);let l=[];for(let[m,E]of s)m===E?l.push(m):!E&&m===o[0]?l.push("*"):E?m===o[0]?l.push(`<=${E}`):l.push(`${m} - ${E}`):l.push(`>=${m}`);let u=l.join(" || "),h=typeof e.raw=="string"?e.raw:String(e);return u.length<h.length?u:e}});var it=p((fo,nt)=>{var et=S(),ue=D(),{ANY:le}=ue,G=j(),fe=g(),Cn=(t,e,r={})=>{if(t===e)return!0;t=new et(t,r),e=new et(e,r);let s=!1;e:for(let i of t.set){for(let n of e.set){let o=Dn(i,n,r);if(s=s||o!==null,o)continue e}if(s)return!1}return!0},Pn=[new ue(">=0.0.0-0")],rt=[new ue(">=0.0.0")],Dn=(t,e,r)=>{if(t===e)return!0;if(t.length===1&&t[0].semver===le){if(e.length===1&&e[0].semver===le)return!0;r.includePrerelease?t=Pn:t=rt}if(e.length===1&&e[0].semver===le){if(r.includePrerelease)return!0;e=rt}let s=new Set,i,n;for(let f of t)f.operator===">"||f.operator===">="?i=tt(i,f,r):f.operator==="<"||f.operator==="<="?n=st(n,f,r):s.add(f.semver);if(s.size>1)return null;let o;if(i&&n){if(o=fe(i.semver,n.semver,r),o>0)return null;if(o===0&&(i.operator!==">="||n.operator!=="<="))return null}for(let f of s){if(i&&!G(f,String(i),r)||n&&!G(f,String(n),r))return null;for(let A of e)if(!G(f,String(A),r))return!1;return!0}let l,u,h,m,E=n&&!r.includePrerelease&&n.semver.prerelease.length?n.semver:!1,R=i&&!r.includePrerelease&&i.semver.prerelease.length?i.semver:!1;E&&E.prerelease.length===1&&n.operator==="<"&&E.prerelease[0]===0&&(E=!1);for(let f of e){if(m=m||f.operator===">"||f.operator===">=",h=h||f.operator==="<"||f.operator==="<=",i){if(R&&f.semver.prerelease&&f.semver.prerelease.length&&f.semver.major===R.major&&f.semver.minor===R.minor&&f.semver.patch===R.patch&&(R=!1),f.operator===">"||f.operator===">="){if(l=tt(i,f,r),l===f&&l!==i)return!1}else if(i.operator===">="&&!G(i.semver,String(f),r))return!1}if(n){if(E&&f.semver.prerelease&&f.semver.prerelease.length&&f.semver.major===E.major&&f.semver.minor===E.minor&&f.semver.patch===E.patch&&(E=!1),f.operator==="<"||f.operator==="<="){if(u=st(n,f,r),u===f&&u!==n)return!1}else if(n.operator==="<="&&!G(n.semver,String(f),r))return!1}if(!f.operator&&(n||i)&&o!==0)return!1}return!(i&&h&&!n&&o!==0||n&&m&&!i&&o!==0||R||E)},tt=(t,e,r)=>{if(!t)return e;let s=fe(t.semver,e.semver,r);return s>0?t:s<0||e.operator===">"&&t.operator===">="?e:t},st=(t,e,r)=>{if(!t)return e;let s=fe(t.semver,e.semver,r);return s<0?t:s>0||e.operator==="<"&&t.operator==="<="?e:t};nt.exports=Cn});var lt=p((Eo,ct)=>{var Ee=w(),ot=x(),yn=I(),at=K(),jn=q(),Gn=De(),Fn=je(),Xn=Xe(),Un=Ve(),bn=_e(),Vn=We(),kn=Ye(),_n=ze(),Hn=g(),Wn=Qe(),Mn=rr(),Yn=V(),Bn=ir(),zn=ar(),Jn=P(),Kn=k(),Zn=Q(),Qn=ee(),ei=_(),ri=H(),ti=re(),si=mr(),ni=D(),ii=S(),oi=j(),ai=Cr(),ci=Dr(),li=jr(),ui=Xr(),fi=br(),Ei=Y(),hi=Mr(),pi=Br(),$i=Kr(),mi=Qr(),Ri=it();ct.exports={parse:jn,valid:Gn,clean:Fn,inc:Xn,diff:Un,major:bn,minor:Vn,patch:kn,prerelease:_n,compare:Hn,rcompare:Wn,compareLoose:Mn,compareBuild:Yn,sort:Bn,rsort:zn,gt:Jn,lt:Kn,eq:Zn,neq:Qn,gte:ei,lte:ri,cmp:ti,coerce:si,Comparator:ni,Range:ii,satisfies:oi,toComparators:ai,maxSatisfying:ci,minSatisfying:li,minVersion:ui,validRange:fi,outside:Ei,gtr:hi,ltr:pi,intersects:$i,simplifyRange:mi,subset:Ri,SemVer:yn,re:Ee.re,src:Ee.src,tokens:Ee.t,SEMVER_SPEC_VERSION:ot.SEMVER_SPEC_VERSION,RELEASE_TYPES:ot.RELEASE_TYPES,compareIdentifiers:at.compareIdentifiers,rcompareIdentifiers:at.rcompareIdentifiers}});var Ni={};Lt(Ni,{ngUpdate:()=>Li});module.exports=Ot(Ni);var ht=require("path"),Re=require("@angular-devkit/schematics"),pt=require("@angular-devkit/schematics/tasks");var ut=require("@angular-devkit/schematics"),di=Nt(lt());var ft=t=>JSON.stringify(t,null,2),he=(t,e,r)=>{t.exists(e)?t.overwrite(e,r):t.create(e,r)};function pe(t,e){try{return JSON.parse(e.read(t).toString())}catch(r){throw new ut.SchematicsException(`Error when parsing ${t}: ${r.message}`)}}var $e={},me={"firebase-admin":{dev:!1,version:"0.0.0"},"firebase-functions":{dev:!1,version:"0.0.0"}};var Ii=new RegExp(`(?<key>import|export)\\s+(?:(?<alias>[\\w,{}\\s*]+)\\s+from)?\\s*(?:(?<quote>["'])?(?<ref>[@\\w\\s\\\\/.-]+)\\3?)\\s*(?<term>[;\\n])`,"g"),Li=()=>(t,e)=>{let r=t.exists("package.json")&&pe("package.json",t);if(r===void 0)throw new Re.SchematicsException("Could not locate package.json");Object.keys($e).forEach(n=>{let o=$e[n];o&&(r[o.dev?"devDependencies":"dependencies"][n]=o.version)}),Object.keys(me).forEach(n=>{let o=me[n];o.dev&&r.devDependencies[n]?r.devDependencies[n]=o.version:r.dependencies[n]&&(r.dependencies[n]=o.version)}),he(t,"package.json",ft(r)),e.addTask(new pt.NodePackageInstallTask);let s=t.exists("angular.json")&&pe("angular.json",t);if(r===void 0)throw new Re.SchematicsException("Could not locate angular.json");let i=Object.values(s.projects).map(n=>(0,ht.join)(...["/",n.root,n.sourceRoot].filter(o=>!!o)));return t.visit(n=>{var u;if(!n.endsWith(".ts")||n.endsWith(".d.ts")||!i.find(h=>n.startsWith(h)))return;let o=(u=t.read(n))==null?void 0:u.toString();if(!o)return;let l=o.replace(Ii,(h,...m)=>{let{alias:E,key:R,ref:f,quote:A,term:B}=m.pop();return f.startsWith("@angular/fire")&&!f.startsWith("@angular/fire/compat")?`${R} ${E} from ${A}${f.replace("@angular/fire","@angular/fire/compat")}${A}${B}`:f.startsWith("firebase")&&!f.startsWith("firebase/compat")?`${R} ${E} from ${A}${f.replace("firebase","firebase/compat")}${A}${B}`:f.startsWith("@firebase")?`${R} ${E} from ${A}${f.replace("@firebase","firebase")}${A}${B}`:h});o!==l&&he(t,n,l)}),t};0&&(module.exports={ngUpdate});
@@ -2,12 +2,11 @@
2
2
  "peerDependencies": {},
3
3
  "firebaseFunctionsDependencies": {
4
4
  "firebase-admin": {
5
- "dev": false,
6
- "version": "^9.11.1"
5
+ "dev": false
7
6
  },
8
7
  "firebase-functions": {
9
8
  "dev": false,
10
- "version": "^3.6.0"
9
+ "version": "^6.1.0"
11
10
  }
12
11
  }
13
12
  }
@@ -0,0 +1,4 @@
1
+ export * from 'firebase/vertexai';
2
+ import { getGenerativeModel as _getGenerativeModel, getVertexAI as _getVertexAI } from 'firebase/vertexai';
3
+ export declare const getGenerativeModel: typeof _getGenerativeModel;
4
+ export declare const getVertexAI: typeof _getVertexAI;
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
- /// <amd-module name="@angular/fire/vertexai-preview" />
4
+ /// <amd-module name="@angular/fire/vertexai" />
5
5
  export * from './public_api';
@@ -0,0 +1,3 @@
1
+ {
2
+ "module": "../fesm2022/angular-fire-vertexai.mjs"
3
+ }
@@ -1,4 +1,4 @@
1
- import { VertexAI as FirebaseVertexAI } from 'firebase/vertexai-preview';
1
+ import { VertexAI as FirebaseVertexAI } from 'firebase/vertexai';
2
2
  export interface VertexAI extends FirebaseVertexAI {
3
3
  }
4
4
  export declare class VertexAI {
@@ -1,6 +1,6 @@
1
1
  import { EnvironmentProviders, InjectionToken, Injector, NgZone } from '@angular/core';
2
2
  import { FirebaseApp } from '@angular/fire/app';
3
- import { VertexAI as FirebaseVertexAI } from 'firebase/vertexai-preview';
3
+ import { VertexAI as FirebaseVertexAI } from 'firebase/vertexai';
4
4
  import { VertexAI } from './vertexai';
5
5
  import * as i0 from "@angular/core";
6
6
  export declare const PROVIDED_VERTEX_AI_INSTANCES: InjectionToken<VertexAI[]>;
package/zones.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { NgZone } from '@angular/core';
1
+ import { NgZone, PendingTasks } from '@angular/core';
2
2
  import { Observable, SchedulerAction, SchedulerLike, Subscription } from 'rxjs';
3
3
  import * as i0 from "@angular/core";
4
4
  /**
@@ -13,9 +13,10 @@ export declare class ɵZoneScheduler implements SchedulerLike {
13
13
  }
14
14
  export declare class ɵAngularFireSchedulers {
15
15
  ngZone: NgZone;
16
+ pendingTasks: PendingTasks;
16
17
  readonly outsideAngular: ɵZoneScheduler;
17
18
  readonly insideAngular: ɵZoneScheduler;
18
- constructor(ngZone: NgZone);
19
+ constructor(ngZone: NgZone, pendingTasks: PendingTasks);
19
20
  static ɵfac: i0.ɵɵFactoryDeclaration<ɵAngularFireSchedulers, never>;
20
21
  static ɵprov: i0.ɵɵInjectableDeclaration<ɵAngularFireSchedulers>;
21
22
  }
@@ -1,16 +0,0 @@
1
- import { ɵgetAllInstancesOf } from '@angular/fire';
2
- import { from, timer } from 'rxjs';
3
- import { concatMap, distinct } from 'rxjs/operators';
4
- export class Analytics {
5
- constructor(analytics) {
6
- return analytics;
7
- }
8
- }
9
- export const ANALYTICS_PROVIDER_NAME = 'analytics';
10
- export class AnalyticsInstances {
11
- constructor() {
12
- return ɵgetAllInstancesOf(ANALYTICS_PROVIDER_NAME);
13
- }
14
- }
15
- export const analyticInstance$ = timer(0, 300).pipe(concatMap(() => from(ɵgetAllInstancesOf(ANALYTICS_PROVIDER_NAME))), distinct());
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FuYWx5dGljcy9hbmFseXRpY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFNckQsTUFBTSxPQUFPLFNBQVM7SUFDcEIsWUFBWSxTQUE0QjtRQUN0QyxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxXQUFXLENBQUM7QUFLbkQsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QjtRQUNFLE9BQU8sa0JBQWtCLENBQW9CLHVCQUF1QixDQUFDLENBQUM7SUFDeEUsQ0FBQztDQUNGO0FBRUQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQ2pELFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQW9CLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxFQUNyRixRQUFRLEVBQUUsQ0FDWCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgybVnZXRBbGxJbnN0YW5jZXNPZiB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuaW1wb3J0IHsgQW5hbHl0aWNzIGFzIEZpcmViYXNlQW5hbHl0aWNzIH0gZnJvbSAnZmlyZWJhc2UvYW5hbHl0aWNzJztcbmltcG9ydCB7IGZyb20sIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjb25jYXRNYXAsIGRpc3RpbmN0IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vLyBzZWUgbm90ZXMgaW4gY29yZS9maXJlYmFzZS5hcHAubW9kdWxlLnRzIGZvciB3aHkgd2UncmUgYnVpbGRpbmcgdGhlIGNsYXNzIGxpa2UgdGhpc1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1pbnRlcmZhY2VcbmV4cG9ydCBpbnRlcmZhY2UgQW5hbHl0aWNzIGV4dGVuZHMgRmlyZWJhc2VBbmFseXRpY3Mge31cblxuZXhwb3J0IGNsYXNzIEFuYWx5dGljcyB7XG4gIGNvbnN0cnVjdG9yKGFuYWx5dGljczogRmlyZWJhc2VBbmFseXRpY3MpIHtcbiAgICByZXR1cm4gYW5hbHl0aWNzO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBBTkFMWVRJQ1NfUFJPVklERVJfTkFNRSA9ICdhbmFseXRpY3MnO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWludGVyZmFjZVxuZXhwb3J0IGludGVyZmFjZSBBbmFseXRpY3NJbnN0YW5jZXMgZXh0ZW5kcyBBcnJheTxGaXJlYmFzZUFuYWx5dGljcz4ge31cblxuZXhwb3J0IGNsYXNzIEFuYWx5dGljc0luc3RhbmNlcyB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHJldHVybiDJtWdldEFsbEluc3RhbmNlc09mPEZpcmViYXNlQW5hbHl0aWNzPihBTkFMWVRJQ1NfUFJPVklERVJfTkFNRSk7XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IGFuYWx5dGljSW5zdGFuY2UkID0gdGltZXIoMCwgMzAwKS5waXBlKFxuICBjb25jYXRNYXAoKCkgPT4gZnJvbSjJtWdldEFsbEluc3RhbmNlc09mPEZpcmViYXNlQW5hbHl0aWNzPihBTkFMWVRJQ1NfUFJPVklERVJfTkFNRSkpKSxcbiAgZGlzdGluY3QoKSxcbik7XG4iXX0=
@@ -1,101 +0,0 @@
1
- import { APP_INITIALIZER, InjectionToken, Injector, NgModule, NgZone, Optional, makeEnvironmentProviders, } from '@angular/core';
2
- import { VERSION, ɵAngularFireSchedulers, ɵgetDefaultInstanceOf } from '@angular/fire';
3
- import { FirebaseApp, FirebaseApps } from '@angular/fire/app';
4
- import { registerVersion } from 'firebase/app';
5
- import { ANALYTICS_PROVIDER_NAME, Analytics, AnalyticsInstances } from './analytics';
6
- import { isAnalyticsSupportedFactory } from './is-analytics-supported-factory';
7
- import { ScreenTrackingService } from './screen-tracking.service';
8
- import { UserTrackingService } from './user-tracking.service';
9
- import * as i0 from "@angular/core";
10
- import * as i1 from "./screen-tracking.service";
11
- import * as i2 from "./user-tracking.service";
12
- export const PROVIDED_ANALYTICS_INSTANCES = new InjectionToken('angularfire2.analytics-instances');
13
- export function defaultAnalyticsInstanceFactory(provided, defaultApp) {
14
- if (!isAnalyticsSupportedFactory.sync()) {
15
- return null;
16
- }
17
- const defaultAnalytics = ɵgetDefaultInstanceOf(ANALYTICS_PROVIDER_NAME, provided, defaultApp);
18
- return defaultAnalytics && new Analytics(defaultAnalytics);
19
- }
20
- export function analyticsInstanceFactory(fn) {
21
- return (zone, injector) => {
22
- if (!isAnalyticsSupportedFactory.sync()) {
23
- return null;
24
- }
25
- const analytics = zone.runOutsideAngular(() => fn(injector));
26
- return new Analytics(analytics);
27
- };
28
- }
29
- const ANALYTICS_INSTANCES_PROVIDER = {
30
- provide: AnalyticsInstances,
31
- deps: [
32
- [new Optional(), PROVIDED_ANALYTICS_INSTANCES],
33
- ]
34
- };
35
- const DEFAULT_ANALYTICS_INSTANCE_PROVIDER = {
36
- provide: Analytics,
37
- useFactory: defaultAnalyticsInstanceFactory,
38
- deps: [
39
- [new Optional(), PROVIDED_ANALYTICS_INSTANCES],
40
- FirebaseApp,
41
- ]
42
- };
43
- export class AnalyticsModule {
44
- constructor(_screenTrackingService, _userTrackingService) {
45
- registerVersion('angularfire', VERSION.full, 'analytics');
46
- }
47
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AnalyticsModule, deps: [{ token: i1.ScreenTrackingService, optional: true }, { token: i2.UserTrackingService, optional: true }], target: i0.ɵɵFactoryTarget.NgModule });
48
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0", ngImport: i0, type: AnalyticsModule });
49
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AnalyticsModule, providers: [
50
- DEFAULT_ANALYTICS_INSTANCE_PROVIDER,
51
- ANALYTICS_INSTANCES_PROVIDER,
52
- {
53
- provide: APP_INITIALIZER,
54
- useValue: isAnalyticsSupportedFactory.async,
55
- multi: true,
56
- }
57
- ] });
58
- }
59
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: AnalyticsModule, decorators: [{
60
- type: NgModule,
61
- args: [{
62
- providers: [
63
- DEFAULT_ANALYTICS_INSTANCE_PROVIDER,
64
- ANALYTICS_INSTANCES_PROVIDER,
65
- {
66
- provide: APP_INITIALIZER,
67
- useValue: isAnalyticsSupportedFactory.async,
68
- multi: true,
69
- }
70
- ]
71
- }]
72
- }], ctorParameters: () => [{ type: i1.ScreenTrackingService, decorators: [{
73
- type: Optional
74
- }] }, { type: i2.UserTrackingService, decorators: [{
75
- type: Optional
76
- }] }] });
77
- export function provideAnalytics(fn, ...deps) {
78
- registerVersion('angularfire', VERSION.full, 'analytics');
79
- return makeEnvironmentProviders([
80
- DEFAULT_ANALYTICS_INSTANCE_PROVIDER,
81
- ANALYTICS_INSTANCES_PROVIDER,
82
- {
83
- provide: APP_INITIALIZER,
84
- useValue: isAnalyticsSupportedFactory.async,
85
- multi: true,
86
- },
87
- {
88
- provide: PROVIDED_ANALYTICS_INSTANCES,
89
- useFactory: analyticsInstanceFactory(fn),
90
- multi: true,
91
- deps: [
92
- NgZone,
93
- Injector,
94
- ɵAngularFireSchedulers,
95
- FirebaseApps,
96
- ...deps,
97
- ],
98
- },
99
- ]);
100
- }
101
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5hbHl0aWNzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hbmFseXRpY3MvYW5hbHl0aWNzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZUFBZSxFQUVmLGNBQWMsRUFDZCxRQUFRLEVBQ1IsUUFBUSxFQUNSLE1BQU0sRUFDTixRQUFRLEVBQ1Isd0JBQXdCLEdBQ3pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkYsT0FBTyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUU5RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDckYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFFOUQsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsSUFBSSxjQUFjLENBQWMsa0NBQWtDLENBQUMsQ0FBQztBQUVoSCxNQUFNLFVBQVUsK0JBQStCLENBQUMsUUFBdUMsRUFBRSxVQUF1QjtJQUM5RyxJQUFJLENBQUMsMkJBQTJCLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUFDLE9BQU8sSUFBSSxDQUFDO0lBQUMsQ0FBQztJQUN6RCxNQUFNLGdCQUFnQixHQUFHLHFCQUFxQixDQUFvQix1QkFBdUIsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDakgsT0FBTyxnQkFBZ0IsSUFBSSxJQUFJLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FBQzdELENBQUM7QUFFRCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsRUFBNkM7SUFDcEYsT0FBTyxDQUFDLElBQVksRUFBRSxRQUFrQixFQUFFLEVBQUU7UUFDMUMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7WUFBQyxPQUFPLElBQUksQ0FBQztRQUFDLENBQUM7UUFDekQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQzdELE9BQU8sSUFBSSxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEMsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sNEJBQTRCLEdBQUc7SUFDbkMsT0FBTyxFQUFFLGtCQUFrQjtJQUMzQixJQUFJLEVBQUU7UUFDSixDQUFDLElBQUksUUFBUSxFQUFFLEVBQUUsNEJBQTRCLENBQUU7S0FDaEQ7Q0FDRixDQUFDO0FBRUYsTUFBTSxtQ0FBbUMsR0FBRztJQUMxQyxPQUFPLEVBQUUsU0FBUztJQUNsQixVQUFVLEVBQUUsK0JBQStCO0lBQzNDLElBQUksRUFBRTtRQUNKLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSw0QkFBNEIsQ0FBRTtRQUMvQyxXQUFXO0tBQ1o7Q0FDRixDQUFDO0FBYUYsTUFBTSxPQUFPLGVBQWU7SUFDMUIsWUFDYyxzQkFBNkMsRUFDN0Msb0JBQXlDO1FBRXJELGVBQWUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM1RCxDQUFDO3VHQU5VLGVBQWU7d0dBQWYsZUFBZTt3R0FBZixlQUFlLGFBVmY7WUFDVCxtQ0FBbUM7WUFDbkMsNEJBQTRCO1lBQzVCO2dCQUNFLE9BQU8sRUFBRSxlQUFlO2dCQUN4QixRQUFRLEVBQUUsMkJBQTJCLENBQUMsS0FBSztnQkFDM0MsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGOzsyRkFFVSxlQUFlO2tCQVgzQixRQUFRO21CQUFDO29CQUNSLFNBQVMsRUFBRTt3QkFDVCxtQ0FBbUM7d0JBQ25DLDRCQUE0Qjt3QkFDNUI7NEJBQ0UsT0FBTyxFQUFFLGVBQWU7NEJBQ3hCLFFBQVEsRUFBRSwyQkFBMkIsQ0FBQyxLQUFLOzRCQUMzQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRjs7MEJBR0ksUUFBUTs7MEJBQ1IsUUFBUTs7QUFNYixNQUFNLFVBQVUsZ0JBQWdCLENBQUMsRUFBNkMsRUFBRSxHQUFHLElBQVc7SUFDNUYsZUFBZSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBRTFELE9BQU8sd0JBQXdCLENBQUM7UUFDOUIsbUNBQW1DO1FBQ25DLDRCQUE0QjtRQUM1QjtZQUNFLE9BQU8sRUFBRSxlQUFlO1lBQ3hCLFFBQVEsRUFBRSwyQkFBMkIsQ0FBQyxLQUFLO1lBQzNDLEtBQUssRUFBRSxJQUFJO1NBQ1o7UUFDRDtZQUNFLE9BQU8sRUFBRSw0QkFBNEI7WUFDckMsVUFBVSxFQUFFLHdCQUF3QixDQUFDLEVBQUUsQ0FBQztZQUN4QyxLQUFLLEVBQUUsSUFBSTtZQUNYLElBQUksRUFBRTtnQkFDSixNQUFNO2dCQUNOLFFBQVE7Z0JBQ1Isc0JBQXNCO2dCQUN0QixZQUFZO2dCQUNaLEdBQUcsSUFBSTthQUNSO1NBQ0Y7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQVBQX0lOSVRJQUxJWkVSLFxuICBFbnZpcm9ubWVudFByb3ZpZGVycyxcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIEluamVjdG9yLFxuICBOZ01vZHVsZSxcbiAgTmdab25lLFxuICBPcHRpb25hbCxcbiAgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZFUlNJT04sIMm1QW5ndWxhckZpcmVTY2hlZHVsZXJzLCDJtWdldERlZmF1bHRJbnN0YW5jZU9mIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZSc7XG5pbXBvcnQgeyBGaXJlYmFzZUFwcCwgRmlyZWJhc2VBcHBzIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hcHAnO1xuaW1wb3J0IHsgQW5hbHl0aWNzIGFzIEZpcmViYXNlQW5hbHl0aWNzIH0gZnJvbSAnZmlyZWJhc2UvYW5hbHl0aWNzJztcbmltcG9ydCB7IHJlZ2lzdGVyVmVyc2lvbiB9IGZyb20gJ2ZpcmViYXNlL2FwcCc7XG5pbXBvcnQgeyBBTkFMWVRJQ1NfUFJPVklERVJfTkFNRSwgQW5hbHl0aWNzLCBBbmFseXRpY3NJbnN0YW5jZXMgfSBmcm9tICcuL2FuYWx5dGljcyc7XG5pbXBvcnQgeyBpc0FuYWx5dGljc1N1cHBvcnRlZEZhY3RvcnkgfSBmcm9tICcuL2lzLWFuYWx5dGljcy1zdXBwb3J0ZWQtZmFjdG9yeSc7XG5pbXBvcnQgeyBTY3JlZW5UcmFja2luZ1NlcnZpY2UgfSBmcm9tICcuL3NjcmVlbi10cmFja2luZy5zZXJ2aWNlJztcbmltcG9ydCB7IFVzZXJUcmFja2luZ1NlcnZpY2UgfSBmcm9tICcuL3VzZXItdHJhY2tpbmcuc2VydmljZSc7XG5cbmV4cG9ydCBjb25zdCBQUk9WSURFRF9BTkFMWVRJQ1NfSU5TVEFOQ0VTID0gbmV3IEluamVjdGlvblRva2VuPEFuYWx5dGljc1tdPignYW5ndWxhcmZpcmUyLmFuYWx5dGljcy1pbnN0YW5jZXMnKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRBbmFseXRpY3NJbnN0YW5jZUZhY3RvcnkocHJvdmlkZWQ6IEZpcmViYXNlQW5hbHl0aWNzW118dW5kZWZpbmVkLCBkZWZhdWx0QXBwOiBGaXJlYmFzZUFwcCkge1xuICBpZiAoIWlzQW5hbHl0aWNzU3VwcG9ydGVkRmFjdG9yeS5zeW5jKCkpIHsgcmV0dXJuIG51bGw7IH1cbiAgY29uc3QgZGVmYXVsdEFuYWx5dGljcyA9IMm1Z2V0RGVmYXVsdEluc3RhbmNlT2Y8RmlyZWJhc2VBbmFseXRpY3M+KEFOQUxZVElDU19QUk9WSURFUl9OQU1FLCBwcm92aWRlZCwgZGVmYXVsdEFwcCk7XG4gIHJldHVybiBkZWZhdWx0QW5hbHl0aWNzICYmIG5ldyBBbmFseXRpY3MoZGVmYXVsdEFuYWx5dGljcyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhbmFseXRpY3NJbnN0YW5jZUZhY3RvcnkoZm46IChpbmplY3RvcjogSW5qZWN0b3IpID0+IEZpcmViYXNlQW5hbHl0aWNzKSB7XG4gIHJldHVybiAoem9uZTogTmdab25lLCBpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICBpZiAoIWlzQW5hbHl0aWNzU3VwcG9ydGVkRmFjdG9yeS5zeW5jKCkpIHsgcmV0dXJuIG51bGw7IH1cbiAgICBjb25zdCBhbmFseXRpY3MgPSB6b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IGZuKGluamVjdG9yKSk7XG4gICAgcmV0dXJuIG5ldyBBbmFseXRpY3MoYW5hbHl0aWNzKTtcbiAgfTtcbn1cblxuY29uc3QgQU5BTFlUSUNTX0lOU1RBTkNFU19QUk9WSURFUiA9IHtcbiAgcHJvdmlkZTogQW5hbHl0aWNzSW5zdGFuY2VzLFxuICBkZXBzOiBbXG4gICAgW25ldyBPcHRpb25hbCgpLCBQUk9WSURFRF9BTkFMWVRJQ1NfSU5TVEFOQ0VTIF0sXG4gIF1cbn07XG5cbmNvbnN0IERFRkFVTFRfQU5BTFlUSUNTX0lOU1RBTkNFX1BST1ZJREVSID0ge1xuICBwcm92aWRlOiBBbmFseXRpY3MsXG4gIHVzZUZhY3Rvcnk6IGRlZmF1bHRBbmFseXRpY3NJbnN0YW5jZUZhY3RvcnksXG4gIGRlcHM6IFtcbiAgICBbbmV3IE9wdGlvbmFsKCksIFBST1ZJREVEX0FOQUxZVElDU19JTlNUQU5DRVMgXSxcbiAgICBGaXJlYmFzZUFwcCxcbiAgXVxufTtcblxuQE5nTW9kdWxlKHtcbiAgcHJvdmlkZXJzOiBbXG4gICAgREVGQVVMVF9BTkFMWVRJQ1NfSU5TVEFOQ0VfUFJPVklERVIsXG4gICAgQU5BTFlUSUNTX0lOU1RBTkNFU19QUk9WSURFUixcbiAgICB7XG4gICAgICBwcm92aWRlOiBBUFBfSU5JVElBTElaRVIsXG4gICAgICB1c2VWYWx1ZTogaXNBbmFseXRpY3NTdXBwb3J0ZWRGYWN0b3J5LmFzeW5jLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEFuYWx5dGljc01vZHVsZSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIF9zY3JlZW5UcmFja2luZ1NlcnZpY2U6IFNjcmVlblRyYWNraW5nU2VydmljZSxcbiAgICBAT3B0aW9uYWwoKSBfdXNlclRyYWNraW5nU2VydmljZTogVXNlclRyYWNraW5nU2VydmljZSxcbiAgKSB7XG4gICAgcmVnaXN0ZXJWZXJzaW9uKCdhbmd1bGFyZmlyZScsIFZFUlNJT04uZnVsbCwgJ2FuYWx5dGljcycpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQW5hbHl0aWNzKGZuOiAoaW5qZWN0b3I6IEluamVjdG9yKSA9PiBGaXJlYmFzZUFuYWx5dGljcywgLi4uZGVwczogYW55W10pOiBFbnZpcm9ubWVudFByb3ZpZGVycyB7XG4gIHJlZ2lzdGVyVmVyc2lvbignYW5ndWxhcmZpcmUnLCBWRVJTSU9OLmZ1bGwsICdhbmFseXRpY3MnKTtcblxuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFtcbiAgICBERUZBVUxUX0FOQUxZVElDU19JTlNUQU5DRV9QUk9WSURFUixcbiAgICBBTkFMWVRJQ1NfSU5TVEFOQ0VTX1BST1ZJREVSLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgIHVzZVZhbHVlOiBpc0FuYWx5dGljc1N1cHBvcnRlZEZhY3RvcnkuYXN5bmMsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFBST1ZJREVEX0FOQUxZVElDU19JTlNUQU5DRVMsXG4gICAgICB1c2VGYWN0b3J5OiBhbmFseXRpY3NJbnN0YW5jZUZhY3RvcnkoZm4pLFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgICBkZXBzOiBbXG4gICAgICAgIE5nWm9uZSxcbiAgICAgICAgSW5qZWN0b3IsXG4gICAgICAgIMm1QW5ndWxhckZpcmVTY2hlZHVsZXJzLFxuICAgICAgICBGaXJlYmFzZUFwcHMsXG4gICAgICAgIC4uLmRlcHMsXG4gICAgICBdLFxuICAgIH0sXG4gIF0pO1xufVxuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './public_api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1maXJlLWFuYWx5dGljcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hbmFseXRpY3MvYW5ndWxhci1maXJlLWFuYWx5dGljcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpY19hcGknO1xuIl19
@@ -1,17 +0,0 @@
1
- // DO NOT MODIFY, this file is autogenerated by tools/build.ts
2
- export * from 'firebase/analytics';
3
- import { ɵzoneWrap } from '@angular/fire';
4
- import { getAnalytics as _getAnalytics, getGoogleAnalyticsClientId as _getGoogleAnalyticsClientId, initializeAnalytics as _initializeAnalytics, logEvent as _logEvent, setAnalyticsCollectionEnabled as _setAnalyticsCollectionEnabled, setConsent as _setConsent, setCurrentScreen as _setCurrentScreen, setDefaultEventParameters as _setDefaultEventParameters, settings as _settings, setUserId as _setUserId, setUserProperties as _setUserProperties } from 'firebase/analytics';
5
- export { isSupported } from './overrides';
6
- export const getAnalytics = ɵzoneWrap(_getAnalytics, true);
7
- export const getGoogleAnalyticsClientId = ɵzoneWrap(_getGoogleAnalyticsClientId, true);
8
- export const initializeAnalytics = ɵzoneWrap(_initializeAnalytics, true);
9
- export const logEvent = ɵzoneWrap(_logEvent, true);
10
- export const setAnalyticsCollectionEnabled = ɵzoneWrap(_setAnalyticsCollectionEnabled, true);
11
- export const setConsent = ɵzoneWrap(_setConsent, true);
12
- export const setCurrentScreen = ɵzoneWrap(_setCurrentScreen, true);
13
- export const setDefaultEventParameters = ɵzoneWrap(_setDefaultEventParameters, true);
14
- export const settings = ɵzoneWrap(_settings, true);
15
- export const setUserId = ɵzoneWrap(_setUserId, true);
16
- export const setUserProperties = ɵzoneWrap(_setUserProperties, true);
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYW5hbHl0aWNzL2ZpcmViYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDhEQUE4RDtBQUM5RCxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUNMLFlBQVksSUFBSSxhQUFhLEVBQzdCLDBCQUEwQixJQUFJLDJCQUEyQixFQUN6RCxtQkFBbUIsSUFBSSxvQkFBb0IsRUFDM0MsUUFBUSxJQUFJLFNBQVMsRUFDckIsNkJBQTZCLElBQUksOEJBQThCLEVBQy9ELFVBQVUsSUFBSSxXQUFXLEVBQ3pCLGdCQUFnQixJQUFJLGlCQUFpQixFQUNyQyx5QkFBeUIsSUFBSSwwQkFBMEIsRUFDdkQsUUFBUSxJQUFJLFNBQVMsRUFDckIsU0FBUyxJQUFJLFVBQVUsRUFDdkIsaUJBQWlCLElBQUksa0JBQWtCLEVBQ3hDLE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUNMLFdBQVcsRUFDWixNQUFNLGFBQWEsQ0FBQztBQUVyQixNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsU0FBUyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUMzRCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxTQUFTLENBQUMsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdkYsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsU0FBUyxDQUFDLG9CQUFvQixFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3pFLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ25ELE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLFNBQVMsQ0FBQyw4QkFBOEIsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUM3RixNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUN2RCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDbkUsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsU0FBUyxDQUFDLDBCQUEwQixFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3JGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ25ELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO0FBQ3JELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIERPIE5PVCBNT0RJRlksIHRoaXMgZmlsZSBpcyBhdXRvZ2VuZXJhdGVkIGJ5IHRvb2xzL2J1aWxkLnRzXG5leHBvcnQgKiBmcm9tICdmaXJlYmFzZS9hbmFseXRpY3MnO1xuaW1wb3J0IHsgybV6b25lV3JhcCB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUnO1xuaW1wb3J0IHtcbiAgZ2V0QW5hbHl0aWNzIGFzIF9nZXRBbmFseXRpY3MsXG4gIGdldEdvb2dsZUFuYWx5dGljc0NsaWVudElkIGFzIF9nZXRHb29nbGVBbmFseXRpY3NDbGllbnRJZCxcbiAgaW5pdGlhbGl6ZUFuYWx5dGljcyBhcyBfaW5pdGlhbGl6ZUFuYWx5dGljcyxcbiAgbG9nRXZlbnQgYXMgX2xvZ0V2ZW50LFxuICBzZXRBbmFseXRpY3NDb2xsZWN0aW9uRW5hYmxlZCBhcyBfc2V0QW5hbHl0aWNzQ29sbGVjdGlvbkVuYWJsZWQsXG4gIHNldENvbnNlbnQgYXMgX3NldENvbnNlbnQsXG4gIHNldEN1cnJlbnRTY3JlZW4gYXMgX3NldEN1cnJlbnRTY3JlZW4sXG4gIHNldERlZmF1bHRFdmVudFBhcmFtZXRlcnMgYXMgX3NldERlZmF1bHRFdmVudFBhcmFtZXRlcnMsXG4gIHNldHRpbmdzIGFzIF9zZXR0aW5ncyxcbiAgc2V0VXNlcklkIGFzIF9zZXRVc2VySWQsXG4gIHNldFVzZXJQcm9wZXJ0aWVzIGFzIF9zZXRVc2VyUHJvcGVydGllc1xufSBmcm9tICdmaXJlYmFzZS9hbmFseXRpY3MnO1xuXG5leHBvcnQge1xuICBpc1N1cHBvcnRlZFxufSBmcm9tICcuL292ZXJyaWRlcyc7XG5cbmV4cG9ydCBjb25zdCBnZXRBbmFseXRpY3MgPSDJtXpvbmVXcmFwKF9nZXRBbmFseXRpY3MsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGdldEdvb2dsZUFuYWx5dGljc0NsaWVudElkID0gybV6b25lV3JhcChfZ2V0R29vZ2xlQW5hbHl0aWNzQ2xpZW50SWQsIHRydWUpO1xuZXhwb3J0IGNvbnN0IGluaXRpYWxpemVBbmFseXRpY3MgPSDJtXpvbmVXcmFwKF9pbml0aWFsaXplQW5hbHl0aWNzLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBsb2dFdmVudCA9IMm1em9uZVdyYXAoX2xvZ0V2ZW50LCB0cnVlKTtcbmV4cG9ydCBjb25zdCBzZXRBbmFseXRpY3NDb2xsZWN0aW9uRW5hYmxlZCA9IMm1em9uZVdyYXAoX3NldEFuYWx5dGljc0NvbGxlY3Rpb25FbmFibGVkLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBzZXRDb25zZW50ID0gybV6b25lV3JhcChfc2V0Q29uc2VudCwgdHJ1ZSk7XG5leHBvcnQgY29uc3Qgc2V0Q3VycmVudFNjcmVlbiA9IMm1em9uZVdyYXAoX3NldEN1cnJlbnRTY3JlZW4sIHRydWUpO1xuZXhwb3J0IGNvbnN0IHNldERlZmF1bHRFdmVudFBhcmFtZXRlcnMgPSDJtXpvbmVXcmFwKF9zZXREZWZhdWx0RXZlbnRQYXJhbWV0ZXJzLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBzZXR0aW5ncyA9IMm1em9uZVdyYXAoX3NldHRpbmdzLCB0cnVlKTtcbmV4cG9ydCBjb25zdCBzZXRVc2VySWQgPSDJtXpvbmVXcmFwKF9zZXRVc2VySWQsIHRydWUpO1xuZXhwb3J0IGNvbnN0IHNldFVzZXJQcm9wZXJ0aWVzID0gybV6b25lV3JhcChfc2V0VXNlclByb3BlcnRpZXMsIHRydWUpO1xuIl19
@@ -1,16 +0,0 @@
1
- import { ɵisSupportedError } from '@angular/fire';
2
- import { isSupported } from 'firebase/analytics';
3
- const isAnalyticsSupportedValueSymbol = '__angularfire_symbol__analyticsIsSupportedValue';
4
- const isAnalyticsSupportedPromiseSymbol = '__angularfire_symbol__analyticsIsSupported';
5
- globalThis[isAnalyticsSupportedPromiseSymbol] ||= isSupported().then(it => globalThis[isAnalyticsSupportedValueSymbol] = it).catch(() => globalThis[isAnalyticsSupportedValueSymbol] = false);
6
- export const isAnalyticsSupportedFactory = {
7
- async: () => globalThis[isAnalyticsSupportedPromiseSymbol],
8
- sync: () => {
9
- const ret = globalThis[isAnalyticsSupportedValueSymbol];
10
- if (ret === undefined) {
11
- throw new Error(ɵisSupportedError('Analytics'));
12
- }
13
- return ret;
14
- }
15
- };
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtYW5hbHl0aWNzLXN1cHBvcnRlZC1mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FuYWx5dGljcy9pcy1hbmFseXRpY3Mtc3VwcG9ydGVkLWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUVqRCxNQUFNLCtCQUErQixHQUFHLGlEQUFpRCxDQUFDO0FBQzFGLE1BQU0saUNBQWlDLEdBQUcsNENBQTRDLENBQUM7QUFFdkYsVUFBVSxDQUFDLGlDQUFpQyxDQUFDLEtBQUssV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQ3hFLFVBQVUsQ0FBQywrQkFBK0IsQ0FBQyxHQUFHLEVBQUUsQ0FDakQsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQ1gsVUFBVSxDQUFDLCtCQUErQixDQUFDLEdBQUcsS0FBSyxDQUNwRCxDQUFDO0FBQ0YsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUc7SUFDekMsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxpQ0FBaUMsQ0FBQztJQUMxRCxJQUFJLEVBQUUsR0FBRyxFQUFFO1FBQ1QsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDeEQsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFLENBQUM7WUFBQyxNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFBQyxDQUFDO1FBQzNFLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyDJtWlzU3VwcG9ydGVkRXJyb3IgfSBmcm9tICdAYW5ndWxhci9maXJlJztcbmltcG9ydCB7IGlzU3VwcG9ydGVkIH0gZnJvbSAnZmlyZWJhc2UvYW5hbHl0aWNzJztcblxuY29uc3QgaXNBbmFseXRpY3NTdXBwb3J0ZWRWYWx1ZVN5bWJvbCA9ICdfX2FuZ3VsYXJmaXJlX3N5bWJvbF9fYW5hbHl0aWNzSXNTdXBwb3J0ZWRWYWx1ZSc7XG5jb25zdCBpc0FuYWx5dGljc1N1cHBvcnRlZFByb21pc2VTeW1ib2wgPSAnX19hbmd1bGFyZmlyZV9zeW1ib2xfX2FuYWx5dGljc0lzU3VwcG9ydGVkJztcblxuZ2xvYmFsVGhpc1tpc0FuYWx5dGljc1N1cHBvcnRlZFByb21pc2VTeW1ib2xdIHx8PSBpc1N1cHBvcnRlZCgpLnRoZW4oaXQgPT5cbiAgZ2xvYmFsVGhpc1tpc0FuYWx5dGljc1N1cHBvcnRlZFZhbHVlU3ltYm9sXSA9IGl0XG4pLmNhdGNoKCgpID0+XG4gIGdsb2JhbFRoaXNbaXNBbmFseXRpY3NTdXBwb3J0ZWRWYWx1ZVN5bWJvbF0gPSBmYWxzZVxuKTtcbmV4cG9ydCBjb25zdCBpc0FuYWx5dGljc1N1cHBvcnRlZEZhY3RvcnkgPSB7XG4gIGFzeW5jOiAoKSA9PiBnbG9iYWxUaGlzW2lzQW5hbHl0aWNzU3VwcG9ydGVkUHJvbWlzZVN5bWJvbF0sXG4gIHN5bmM6ICgpID0+IHtcbiAgICBjb25zdCByZXQgPSBnbG9iYWxUaGlzW2lzQW5hbHl0aWNzU3VwcG9ydGVkVmFsdWVTeW1ib2xdO1xuICAgIGlmIChyZXQgPT09IHVuZGVmaW5lZCkgeyB0aHJvdyBuZXcgRXJyb3IoybVpc1N1cHBvcnRlZEVycm9yKCdBbmFseXRpY3MnKSk7IH1cbiAgICByZXR1cm4gcmV0O1xuICB9XG59O1xuIl19
@@ -1,3 +0,0 @@
1
- import { isAnalyticsSupportedFactory } from './is-analytics-supported-factory';
2
- export const isSupported = isAnalyticsSupportedFactory.async;
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcnJpZGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FuYWx5dGljcy9vdmVycmlkZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFL0UsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLDJCQUEyQixDQUFDLEtBQUssQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzQW5hbHl0aWNzU3VwcG9ydGVkRmFjdG9yeSB9IGZyb20gJy4vaXMtYW5hbHl0aWNzLXN1cHBvcnRlZC1mYWN0b3J5JztcblxuZXhwb3J0IGNvbnN0IGlzU3VwcG9ydGVkID0gaXNBbmFseXRpY3NTdXBwb3J0ZWRGYWN0b3J5LmFzeW5jO1xuXG4iXX0=
@@ -1,6 +0,0 @@
1
- export { Analytics, AnalyticsInstances, analyticInstance$ } from './analytics';
2
- export { provideAnalytics, AnalyticsModule } from './analytics.module';
3
- export * from './firebase';
4
- export * from './screen-tracking.service';
5
- export * from './user-tracking.service';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hbmFseXRpY3MvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN2RSxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBBbmFseXRpY3MsIEFuYWx5dGljc0luc3RhbmNlcywgYW5hbHl0aWNJbnN0YW5jZSQgfSBmcm9tICcuL2FuYWx5dGljcyc7XG5leHBvcnQgeyBwcm92aWRlQW5hbHl0aWNzLCBBbmFseXRpY3NNb2R1bGUgfSBmcm9tICcuL2FuYWx5dGljcy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9maXJlYmFzZSc7XG5leHBvcnQgKiBmcm9tICcuL3NjcmVlbi10cmFja2luZy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vdXNlci10cmFja2luZy5zZXJ2aWNlJztcbiJdfQ==
@@ -1,148 +0,0 @@
1
- import { ComponentFactoryResolver, Injectable, Injector, NgZone, Optional } from '@angular/core';
2
- import { VERSION } from '@angular/fire';
3
- import { Title } from '@angular/platform-browser';
4
- import { ActivationEnd, Router, ɵEmptyOutletComponent } from '@angular/router';
5
- import { registerVersion } from 'firebase/app';
6
- import { of } from 'rxjs';
7
- import { distinctUntilChanged, filter, groupBy, map, mergeMap, pairwise, startWith, switchMap } from 'rxjs/operators';
8
- import { Analytics } from './analytics';
9
- import { isSupported, logEvent } from './firebase';
10
- import { UserTrackingService } from './user-tracking.service';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@angular/router";
13
- import * as i2 from "@angular/platform-browser";
14
- import * as i3 from "./user-tracking.service";
15
- const FIREBASE_EVENT_ORIGIN_KEY = 'firebase_event_origin';
16
- const FIREBASE_PREVIOUS_SCREEN_CLASS_KEY = 'firebase_previous_class';
17
- const FIREBASE_PREVIOUS_SCREEN_INSTANCE_ID_KEY = 'firebase_previous_id';
18
- const FIREBASE_PREVIOUS_SCREEN_NAME_KEY = 'firebase_previous_screen';
19
- const FIREBASE_SCREEN_CLASS_KEY = 'firebase_screen_class';
20
- const FIREBASE_SCREEN_INSTANCE_ID_KEY = 'firebase_screen_id';
21
- const FIREBASE_SCREEN_NAME_KEY = 'firebase_screen';
22
- const OUTLET_KEY = 'outlet';
23
- const PAGE_PATH_KEY = 'page_path';
24
- const PAGE_TITLE_KEY = 'page_title';
25
- const SCREEN_CLASS_KEY = 'screen_class';
26
- const SCREEN_NAME_KEY = 'screen_name';
27
- const SCREEN_VIEW_EVENT = 'screen_view';
28
- const EVENT_ORIGIN_AUTO = 'auto';
29
- const SCREEN_INSTANCE_DELIMITER = '#';
30
- // this is an INT64 in iOS/Android but use INT32 cause javascript
31
- let nextScreenInstanceID = Math.floor(Math.random() * (2 ** 32 - 1)) - 2 ** 31;
32
- const knownScreenInstanceIDs = {};
33
- const getScreenInstanceID = (params) => {
34
- // unique the screen class against the outlet name
35
- const screenInstanceKey = [
36
- params[SCREEN_CLASS_KEY],
37
- params[OUTLET_KEY]
38
- ].join(SCREEN_INSTANCE_DELIMITER);
39
- // eslint-disable-next-line no-prototype-builtins
40
- if (knownScreenInstanceIDs.hasOwnProperty(screenInstanceKey)) {
41
- return knownScreenInstanceIDs[screenInstanceKey];
42
- }
43
- else {
44
- const ret = nextScreenInstanceID++;
45
- knownScreenInstanceIDs[screenInstanceKey] = ret;
46
- return ret;
47
- }
48
- };
49
- export const ɵscreenViewEvent = (router, title, componentFactoryResolver) => {
50
- const activationEndEvents = router.events.pipe(filter(e => e instanceof ActivationEnd));
51
- return activationEndEvents.pipe(switchMap(activationEnd => {
52
- // router parseUrl is having trouble with outlets when they're empty
53
- // e.g, /asdf/1(bob://sally:asdf), so put another slash in when empty
54
- const urlTree = router.parseUrl(router.url.replace(/(?:\().+(?:\))/g, a => a.replace('://', ':///')));
55
- const pagePath = urlTree.root.children[activationEnd.snapshot.outlet]?.toString() || '';
56
- const actualSnapshot = router.routerState.root.children.map(it => it).find(it => it.outlet === activationEnd.snapshot.outlet);
57
- if (!actualSnapshot) {
58
- return of(null);
59
- }
60
- let actualDeep = actualSnapshot;
61
- while (actualDeep.firstChild) {
62
- actualDeep = actualDeep.firstChild;
63
- }
64
- const screenName = actualDeep.pathFromRoot.map(s => s.routeConfig?.path).filter(it => it).join('/') || '/';
65
- const params = {
66
- [SCREEN_NAME_KEY]: screenName,
67
- [PAGE_PATH_KEY]: `/${pagePath}`,
68
- [FIREBASE_EVENT_ORIGIN_KEY]: EVENT_ORIGIN_AUTO,
69
- [FIREBASE_SCREEN_NAME_KEY]: screenName,
70
- [OUTLET_KEY]: activationEnd.snapshot.outlet
71
- };
72
- if (title) {
73
- params[PAGE_TITLE_KEY] = title.getTitle();
74
- }
75
- let component = actualSnapshot.component;
76
- if (component) {
77
- if (component === ɵEmptyOutletComponent) {
78
- let deepSnapshot = activationEnd.snapshot;
79
- // TODO when might there be mutple children, different outlets? explore
80
- while (deepSnapshot.firstChild) {
81
- deepSnapshot = deepSnapshot.firstChild;
82
- }
83
- component = deepSnapshot.component;
84
- }
85
- }
86
- else {
87
- component = activationEnd.snapshot.component;
88
- }
89
- if (typeof component === 'string') {
90
- return of({ ...params, [SCREEN_CLASS_KEY]: component });
91
- }
92
- else if (component) {
93
- const componentFactory = componentFactoryResolver.resolveComponentFactory(component);
94
- return of({ ...params, [SCREEN_CLASS_KEY]: componentFactory.selector });
95
- }
96
- // lazy loads cause extra activations, ignore
97
- return of(null);
98
- }), filter(it => !!it), map(params => ({
99
- [FIREBASE_SCREEN_CLASS_KEY]: params[SCREEN_CLASS_KEY],
100
- [FIREBASE_SCREEN_INSTANCE_ID_KEY]: getScreenInstanceID(params),
101
- ...params
102
- })), groupBy(it => it[OUTLET_KEY]), mergeMap(it => it.pipe(distinctUntilChanged((a, b) => JSON.stringify(a) === JSON.stringify(b)), startWith(undefined), pairwise(), map(([prior, current]) => prior ? {
103
- [FIREBASE_PREVIOUS_SCREEN_CLASS_KEY]: prior[SCREEN_CLASS_KEY],
104
- [FIREBASE_PREVIOUS_SCREEN_NAME_KEY]: prior[SCREEN_NAME_KEY],
105
- [FIREBASE_PREVIOUS_SCREEN_INSTANCE_ID_KEY]: prior[FIREBASE_SCREEN_INSTANCE_ID_KEY],
106
- ...current
107
- } : current))));
108
- };
109
- export class ScreenTrackingService {
110
- disposable;
111
- constructor(router, title, componentFactoryResolver, zone, userTrackingService, injector) {
112
- registerVersion('angularfire', VERSION.full, 'screen-tracking');
113
- // The APP_INITIALIZER that is making isSupported() sync for the sake of convenient DI
114
- // may not be done when services are initialized. Guard the functionality by first ensuring
115
- // that the (global) promise has resolved, then get Analytics from the injector.
116
- isSupported().then(() => {
117
- const analytics = injector.get(Analytics);
118
- if (!router || !analytics) {
119
- return;
120
- }
121
- zone.runOutsideAngular(() => {
122
- this.disposable = ɵscreenViewEvent(router, title, componentFactoryResolver).pipe(switchMap(async (params) => {
123
- if (userTrackingService) {
124
- await userTrackingService.initialized;
125
- }
126
- return logEvent(analytics, SCREEN_VIEW_EVENT, params);
127
- })).subscribe();
128
- });
129
- });
130
- }
131
- ngOnDestroy() {
132
- if (this.disposable) {
133
- this.disposable.unsubscribe();
134
- }
135
- }
136
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ScreenTrackingService, deps: [{ token: i1.Router, optional: true }, { token: i2.Title, optional: true }, { token: i0.ComponentFactoryResolver }, { token: i0.NgZone }, { token: i3.UserTrackingService, optional: true }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
137
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ScreenTrackingService });
138
- }
139
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ScreenTrackingService, decorators: [{
140
- type: Injectable
141
- }], ctorParameters: () => [{ type: i1.Router, decorators: [{
142
- type: Optional
143
- }] }, { type: i2.Title, decorators: [{
144
- type: Optional
145
- }] }, { type: i0.ComponentFactoryResolver }, { type: i0.NgZone }, { type: i3.UserTrackingService, decorators: [{
146
- type: Optional
147
- }] }, { type: i0.Injector }] });
148
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NyZWVuLXRyYWNraW5nLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYW5hbHl0aWNzL3NjcmVlbi10cmFja2luZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBYSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQy9DLE9BQU8sRUFBNEIsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0SCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7OztBQUU5RCxNQUFNLHlCQUF5QixHQUFHLHVCQUF1QixDQUFDO0FBQzFELE1BQU0sa0NBQWtDLEdBQUcseUJBQXlCLENBQUM7QUFDckUsTUFBTSx3Q0FBd0MsR0FBRyxzQkFBc0IsQ0FBQztBQUN4RSxNQUFNLGlDQUFpQyxHQUFHLDBCQUEwQixDQUFDO0FBQ3JFLE1BQU0seUJBQXlCLEdBQUcsdUJBQXVCLENBQUM7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QkFBQyxNQUFNLG1CQUFtQixDQUFDLFdBQVcsQ0FBQztvQkFBQyxDQUFDO29CQUNuRSxPQUFPLFFBQVEsQ0FBQyxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLENBQUM7Z0JBQ3hELENBQUMsQ0FBQyxDQUNILENBQUMsU0FBUyxFQUFFLENBQUM7WUFDaEIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQzt1R0FsQ1UscUJBQXFCOzJHQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVU7OzBCQU1OLFFBQVE7OzBCQUNSLFFBQVE7OzBCQUdSLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIEluamVjdGFibGUsIEluamVjdG9yLCBOZ1pvbmUsIE9uRGVzdHJveSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZFUlNJT04gfSBmcm9tICdAYW5ndWxhci9maXJlJztcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBBY3RpdmF0aW9uRW5kLCBSb3V0ZXIsIMm1RW1wdHlPdXRsZXRDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgcmVnaXN0ZXJWZXJzaW9uIH0gZnJvbSAnZmlyZWJhc2UvYXBwJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIGdyb3VwQnksIG1hcCwgbWVyZ2VNYXAsIHBhaXJ3aXNlLCBzdGFydFdpdGgsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFuYWx5dGljcyB9IGZyb20gJy4vYW5hbHl0aWNzJztcbmltcG9ydCB7IGlzU3VwcG9ydGVkLCBsb2dFdmVudCB9IGZyb20gJy4vZmlyZWJhc2UnO1xuaW1wb3J0IHsgVXNlclRyYWNraW5nU2VydmljZSB9IGZyb20gJy4vdXNlci10cmFja2luZy5zZXJ2aWNlJztcblxuY29uc3QgRklSRUJBU0VfRVZFTlRfT1JJR0lOX0tFWSA9ICdmaXJlYmFzZV9ldmVudF9vcmlnaW4nO1xuY29uc3QgRklSRUJBU0VfUFJFVklPVVNfU0NSRUVOX0NMQVNTX0tFWSA9ICdmaXJlYmFzZV9wcmV2aW91c19jbGFzcyc7XG5jb25zdCBGSVJFQkFTRV9QUkVWSU9VU19TQ1JFRU5fSU5TVEFOQ0VfSURfS0VZID0gJ2ZpcmViYXNlX3ByZXZpb3VzX2lkJztcbmNvbnN0IEZJUkVCQVNFX1BSRVZJT1VTX1NDUkVFTl9OQU1FX0tFWSA9ICdmaXJlYmFzZV9wcmV2aW91c19zY3JlZW4nO1xuY29uc3QgRklSRUJBU0VfU0NSRUVOX0NMQVNTX0tFWSA9ICdmaXJlYmFzZV9zY3JlZW5fY2xhc3MnO1xuY29uc3QgRklSRUJBU0VfU0NSRUVOX0lOU1RBTkNFX0lEX0tFWSA9ICdmaXJlYmFzZV9zY3JlZW5faWQnO1xuY29uc3QgRklSRUJBU0VfU0NSRUVOX05BTUVfS0VZID0gJ2ZpcmViYXNlX3NjcmVlbic7XG5jb25zdCBPVVRMRVRfS0VZID0gJ291dGxldCc7XG5jb25zdCBQQUdFX1BBVEhfS0VZID0gJ3BhZ2VfcGF0aCc7XG5jb25zdCBQQUdFX1RJVExFX0tFWSA9ICdwYWdlX3RpdGxlJztcbmNvbnN0IFNDUkVFTl9DTEFTU19LRVkgPSAnc2NyZWVuX2NsYXNzJztcbmNvbnN0IFNDUkVFTl9OQU1FX0tFWSA9ICdzY3JlZW5fbmFtZSc7XG5jb25zdCBTQ1JFRU5fVklFV19FVkVOVCA9ICdzY3JlZW5fdmlldyc7XG5jb25zdCBFVkVOVF9PUklHSU5fQVVUTyA9ICdhdXRvJztcbmNvbnN0IFNDUkVFTl9JTlNUQU5DRV9ERUxJTUlURVIgPSAnIyc7XG5cbi8vIHRoaXMgaXMgYW4gSU5UNjQgaW4gaU9TL0FuZHJvaWQgYnV0IHVzZSBJTlQzMiBjYXVzZSBqYXZhc2NyaXB0XG5sZXQgbmV4dFNjcmVlbkluc3RhbmNlSUQgPSBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAoMiAqKiAzMiAtIDEpKSAtIDIgKiogMzE7XG5cbmNvbnN0IGtub3duU2NyZWVuSW5zdGFuY2VJRHM6IFJlY29yZDxzdHJpbmcsIG51bWJlcj4gPSB7fTtcblxuY29uc3QgZ2V0U2NyZWVuSW5zdGFuY2VJRCA9IChwYXJhbXM6IFJlY29yZDxzdHJpbmcsIGFueT4pID0+IHtcbiAgLy8gdW5pcXVlIHRoZSBzY3JlZW4gY2xhc3MgYWdhaW5zdCB0aGUgb3V0bGV0IG5hbWVcbiAgY29uc3Qgc2NyZWVuSW5zdGFuY2VLZXkgPSBbXG4gICAgcGFyYW1zW1NDUkVFTl9DTEFTU19LRVldLFxuICAgIHBhcmFtc1tPVVRMRVRfS0VZXVxuICBdLmpvaW4oU0NSRUVOX0lOU1RBTkNFX0RFTElNSVRFUik7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wcm90b3R5cGUtYnVpbHRpbnNcbiAgaWYgKGtub3duU2NyZWVuSW5zdGFuY2VJRHMuaGFzT3duUHJvcGVydHkoc2NyZWVuSW5zdGFuY2VLZXkpKSB7XG4gICAgcmV0dXJuIGtub3duU2NyZWVuSW5zdGFuY2VJRHNbc2NyZWVuSW5zdGFuY2VLZXldO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHJldCA9IG5leHRTY3JlZW5JbnN0YW5jZUlEKys7XG4gICAga25vd25TY3JlZW5JbnN0YW5jZUlEc1tzY3JlZW5JbnN0YW5jZUtleV0gPSByZXQ7XG4gICAgcmV0dXJuIHJldDtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IMm1c2NyZWVuVmlld0V2ZW50ID0gKFxuICByb3V0ZXI6IFJvdXRlcixcbiAgdGl0bGU6IFRpdGxlfG51bGwsXG4gIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuKTogT2JzZXJ2YWJsZTx7XG4gIFtTQ1JFRU5fTkFNRV9LRVldOiBzdHJpbmcsXG4gIFtQQUdFX1BBVEhfS0VZXTogc3RyaW5nLFxuICBbRklSRUJBU0VfRVZFTlRfT1JJR0lOX0tFWV06ICdhdXRvJyxcbiAgW0ZJUkVCQVNFX1NDUkVFTl9OQU1FX0tFWV06IHN0cmluZyxcbiAgW09VVExFVF9LRVldOiBzdHJpbmcsXG4gIFtQQUdFX1RJVExFX0tFWV0/OiBzdHJpbmcsXG4gIFtTQ1JFRU5fQ0xBU1NfS0VZXTogc3RyaW5nLFxuICBbRklSRUJBU0VfU0NSRUVOX0NMQVNTX0tFWV06IHN0cmluZyxcbiAgW0ZJUkVCQVNFX1NDUkVFTl9JTlNUQU5DRV9JRF9LRVldOiBudW1iZXIsXG4gIFtGSVJFQkFTRV9QUkVWSU9VU19TQ1JFRU5fQ0xBU1NfS0VZXTogc3RyaW5nLFxuICBbRklSRUJBU0VfUFJFVklPVVNfU0NSRUVOX05BTUVfS0VZXTogc3RyaW5nLFxuICBbRklSRUJBU0VfUFJFVklPVVNfU0NSRUVOX0lOU1RBTkNFX0lEX0tFWV06IG51bWJlcixcbn0+ID0+IHtcbiAgY29uc3QgYWN0aXZhdGlvbkVuZEV2ZW50cyA9IHJvdXRlci5ldmVudHMucGlwZShmaWx0ZXI8QWN0aXZhdGlvbkVuZD4oZSA9PiBlIGluc3RhbmNlb2YgQWN0aXZhdGlvbkVuZCkpO1xuICByZXR1cm4gYWN0aXZhdGlvbkVuZEV2ZW50cy5waXBlKFxuICAgIHN3aXRjaE1hcDxBY3RpdmF0aW9uRW5kLCBPYnNlcnZhYmxlPFJlY29yZDxzdHJpbmcsIGFueT58bnVsbD4+KGFjdGl2YXRpb25FbmQgPT4ge1xuICAgICAgLy8gcm91dGVyIHBhcnNlVXJsIGlzIGhhdmluZyB0cm91YmxlIHdpdGggb3V0bGV0cyB3aGVuIHRoZXkncmUgZW1wdHlcbiAgICAgIC8vIGUuZywgL2FzZGYvMShib2I6Ly9zYWxseTphc2RmKSwgc28gcHV0IGFub3RoZXIgc2xhc2ggaW4gd2hlbiBlbXB0eVxuICAgICAgY29uc3QgdXJsVHJlZSA9IHJvdXRlci5wYXJzZVVybChyb3V0ZXIudXJsLnJlcGxhY2UoLyg/OlxcKCkuKyg/OlxcKSkvZywgYSA9PiBhLnJlcGxhY2UoJzovLycsICc6Ly8vJykpKTtcbiAgICAgIGNvbnN0IHBhZ2VQYXRoID0gdXJsVHJlZS5yb290LmNoaWxkcmVuW2FjdGl2YXRpb25FbmQuc25hcHNob3Qub3V0bGV0XT8udG9TdHJpbmcoKSB8fCAnJztcbiAgICAgIGNvbnN0IGFjdHVhbFNuYXBzaG90ID0gcm91dGVyLnJvdXRlclN0YXRlLnJvb3QuY2hpbGRyZW4ubWFwKGl0ID0+IGl0KS5maW5kKGl0ID0+IGl0Lm91dGxldCA9PT0gYWN0aXZhdGlvbkVuZC5zbmFwc2hvdC5vdXRsZXQpO1xuXG4gICAgICBpZiAoIWFjdHVhbFNuYXBzaG90KSB7XG4gICAgICAgIHJldHVybiBvZihudWxsKTtcbiAgICAgIH1cblxuICAgICAgbGV0IGFjdHVhbERlZXAgPSBhY3R1YWxTbmFwc2hvdDtcbiAgICAgIHdoaWxlIChhY3R1YWxEZWVwLmZpcnN0Q2hpbGQpIHtcbiAgICAgICAgYWN0dWFsRGVlcCA9IGFjdHVhbERlZXAuZmlyc3RDaGlsZDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHNjcmVlbk5hbWUgPSBhY3R1YWxEZWVwLnBhdGhGcm9tUm9vdC5tYXAocyA9PiBzLnJvdXRlQ29uZmlnPy5wYXRoKS5maWx0ZXIoaXQgPT4gaXQpLmpvaW4oJy8nKSB8fCAnLyc7XG5cbiAgICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgICAgW1NDUkVFTl9OQU1FX0tFWV06IHNjcmVlbk5hbWUsXG4gICAgICAgIFtQQUdFX1BBVEhfS0VZXTogYC8ke3BhZ2VQYXRofWAsXG4gICAgICAgIFtGSVJFQkFTRV9FVkVOVF9PUklHSU5fS0VZXTogRVZFTlRfT1JJR0lOX0FVVE8sXG4gICAgICAgIFtGSVJFQkFTRV9TQ1JFRU5fTkFNRV9LRVldOiBzY3JlZW5OYW1lLFxuICAgICAgICBbT1VUTEVUX0tFWV06IGFjdGl2YXRpb25FbmQuc25hcHNob3Qub3V0bGV0XG4gICAgICB9O1xuICAgICAgaWYgKHRpdGxlKSB7XG4gICAgICAgIHBhcmFtc1tQQUdFX1RJVExFX0tFWV0gPSB0aXRsZS5nZXRUaXRsZSgpO1xuICAgICAgfVxuXG4gICAgICBsZXQgY29tcG9uZW50ID0gYWN0dWFsU25hcHNob3QuY29tcG9uZW50O1xuICAgICAgaWYgKGNvbXBvbmVudCkge1xuICAgICAgICBpZiAoY29tcG9uZW50ID09PSDJtUVtcHR5T3V0bGV0Q29tcG9uZW50KSB7XG4gICAgICAgICAgbGV0IGRlZXBTbmFwc2hvdCA9IGFjdGl2YXRpb25FbmQuc25hcHNob3Q7XG4gICAgICAgICAgLy8gVE9ETyB3aGVuIG1pZ2h0IHRoZXJlIGJlIG11dHBsZSBjaGlsZHJlbiwgZGlmZmVyZW50IG91dGxldHM/IGV4cGxvcmVcbiAgICAgICAgICB3aGlsZSAoZGVlcFNuYXBzaG90LmZpcnN0Q2hpbGQpIHtcbiAgICAgICAgICAgIGRlZXBTbmFwc2hvdCA9IGRlZXBTbmFwc2hvdC5maXJzdENoaWxkO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb21wb25lbnQgPSBkZWVwU25hcHNob3QuY29tcG9uZW50O1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb21wb25lbnQgPSBhY3RpdmF0aW9uRW5kLnNuYXBzaG90LmNvbXBvbmVudDtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiBjb21wb25lbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIHJldHVybiBvZih7IC4uLnBhcmFtcywgW1NDUkVFTl9DTEFTU19LRVldOiBjb21wb25lbnQgfSk7XG4gICAgICB9IGVsc2UgaWYgKGNvbXBvbmVudCkge1xuICAgICAgICBjb25zdCBjb21wb25lbnRGYWN0b3J5ID0gY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLnJlc29sdmVDb21wb25lbnRGYWN0b3J5KGNvbXBvbmVudCk7XG4gICAgICAgIHJldHVybiBvZih7IC4uLnBhcmFtcywgW1NDUkVFTl9DTEFTU19LRVldOiBjb21wb25lbnRGYWN0b3J5LnNlbGVjdG9yIH0pO1xuICAgICAgfVxuICAgICAgLy8gbGF6eSBsb2FkcyBjYXVzZSBleHRyYSBhY3RpdmF0aW9ucywgaWdub3JlXG4gICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgfSksXG4gICAgZmlsdGVyKGl0ID0+ICEhaXQpLFxuICAgIG1hcChwYXJhbXMgPT4gKHtcbiAgICAgIFtGSVJFQkFTRV9TQ1JFRU5fQ0xBU1NfS0VZXTogcGFyYW1zW1NDUkVFTl9DTEFTU19LRVldLFxuICAgICAgW0ZJUkVCQVNFX1NDUkVFTl9JTlNUQU5DRV9JRF9LRVldOiBnZXRTY3JlZW5JbnN0YW5jZUlEKHBhcmFtcyksXG4gICAgICAuLi5wYXJhbXNcbiAgICB9KSksXG4gICAgZ3JvdXBCeShpdCA9PiBpdFtPVVRMRVRfS0VZXSksXG4gICAgbWVyZ2VNYXAoaXQgPT4gaXQucGlwZShcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChhLCBiKSA9PiBKU09OLnN0cmluZ2lmeShhKSA9PT0gSlNPTi5zdHJpbmdpZnkoYikpLFxuICAgICAgc3RhcnRXaXRoPGFueSwgYW55Pih1bmRlZmluZWQpLFxuICAgICAgcGFpcndpc2UoKSxcbiAgICAgIG1hcCgoW3ByaW9yLCBjdXJyZW50XSkgPT5cbiAgICAgICAgcHJpb3IgPyB7XG4gICAgICAgICAgW0ZJUkVCQVNFX1BSRVZJT1VTX1NDUkVFTl9DTEFTU19LRVldOiBwcmlvcltTQ1JFRU5fQ0xBU1NfS0VZXSxcbiAgICAgICAgICBbRklSRUJBU0VfUFJFVklPVVNfU0NSRUVOX05BTUVfS0VZXTogcHJpb3JbU0NSRUVOX05BTUVfS0VZXSxcbiAgICAgICAgICBbRklSRUJBU0VfUFJFVklPVVNfU0NSRUVOX0lOU1RBTkNFX0lEX0tFWV06IHByaW9yW0ZJUkVCQVNFX1NDUkVFTl9JTlNUQU5DRV9JRF9LRVldLFxuICAgICAgICAgIC4uLmN1cnJlbnRcbiAgICAgICAgfSA6IGN1cnJlbnRcbiAgICAgICksXG4gICAgKSlcbiAgKTtcbn07XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTY3JlZW5UcmFja2luZ1NlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgZGlzcG9zYWJsZTogU3Vic2NyaXB0aW9uIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIHJvdXRlcjogUm91dGVyLFxuICAgIEBPcHRpb25hbCgpIHRpdGxlOiBUaXRsZSxcbiAgICBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICB6b25lOiBOZ1pvbmUsXG4gICAgQE9wdGlvbmFsKCkgdXNlclRyYWNraW5nU2VydmljZTogVXNlclRyYWNraW5nU2VydmljZSxcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICkge1xuICAgIHJlZ2lzdGVyVmVyc2lvbignYW5ndWxhcmZpcmUnLCBWRVJTSU9OLmZ1bGwsICdzY3JlZW4tdHJhY2tpbmcnKTtcbiAgICAvLyBUaGUgQVBQX0lOSVRJQUxJWkVSIHRoYXQgaXMgbWFraW5nIGlzU3VwcG9ydGVkKCkgc3luYyBmb3IgdGhlIHNha2Ugb2YgY29udmVuaWVudCBESVxuICAgIC8vIG1heSBub3QgYmUgZG9uZSB3aGVuIHNlcnZpY2VzIGFyZSBpbml0aWFsaXplZC4gR3VhcmQgdGhlIGZ1bmN0aW9uYWxpdHkgYnkgZmlyc3QgZW5zdXJpbmdcbiAgICAvLyB0aGF0IHRoZSAoZ2xvYmFsKSBwcm9taXNlIGhhcyByZXNvbHZlZCwgdGhlbiBnZXQgQW5hbHl0aWNzIGZyb20gdGhlIGluamVjdG9yLlxuICAgIGlzU3VwcG9ydGVkKCkudGhlbigoKSA9PiB7XG4gICAgICBjb25zdCBhbmFseXRpY3MgPSBpbmplY3Rvci5nZXQoQW5hbHl0aWNzKTtcbiAgICAgIGlmICghcm91dGVyIHx8ICFhbmFseXRpY3MpIHsgcmV0dXJuOyB9XG4gICAgICB6b25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgICAgdGhpcy5kaXNwb3NhYmxlID0gybVzY3JlZW5WaWV3RXZlbnQocm91dGVyLCB0aXRsZSwgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyKS5waXBlKFxuICAgICAgICAgIHN3aXRjaE1hcChhc3luYyBwYXJhbXMgPT4ge1xuICAgICAgICAgICAgaWYgKHVzZXJUcmFja2luZ1NlcnZpY2UpIHsgYXdhaXQgdXNlclRyYWNraW5nU2VydmljZS5pbml0aWFsaXplZDsgfVxuICAgICAgICAgICAgcmV0dXJuIGxvZ0V2ZW50KGFuYWx5dGljcywgU0NSRUVOX1ZJRVdfRVZFTlQsIHBhcmFtcyk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKS5zdWJzY3JpYmUoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuZGlzcG9zYWJsZSkge1xuICAgICAgdGhpcy5kaXNwb3NhYmxlLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbn1cbiJdfQ==