@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
package/esm2022/zones.mjs DELETED
@@ -1,194 +0,0 @@
1
- /* eslint-disable @typescript-eslint/ban-ts-comment */
2
- import { Injectable, NgZone } from '@angular/core';
3
- import { Observable, asyncScheduler, queueScheduler } from 'rxjs';
4
- import { observeOn, subscribeOn, tap } from 'rxjs/operators';
5
- import * as i0 from "@angular/core";
6
- // eslint-disable-next-line @typescript-eslint/no-empty-function
7
- function noop() {
8
- }
9
- /**
10
- * Schedules tasks so that they are invoked inside the Zone that is passed in the constructor.
11
- */
12
- export class ɵZoneScheduler {
13
- zone;
14
- delegate;
15
- constructor(zone, delegate = queueScheduler) {
16
- this.zone = zone;
17
- this.delegate = delegate;
18
- }
19
- now() {
20
- return this.delegate.now();
21
- }
22
- schedule(work, delay, state) {
23
- const targetZone = this.zone;
24
- // Wrap the specified work function to make sure that if nested scheduling takes place the
25
- // work is executed in the correct zone
26
- const workInZone = function (state) {
27
- targetZone.runGuarded(() => {
28
- work.apply(this, [state]);
29
- });
30
- };
31
- // Scheduling itself needs to be run in zone to ensure setInterval calls for async scheduling are done
32
- // inside the correct zone. This scheduler needs to schedule asynchronously always to ensure that
33
- // firebase emissions are never synchronous. Specifying a delay causes issues with the queueScheduler delegate.
34
- return this.delegate.schedule(workInZone, delay, state);
35
- }
36
- }
37
- class BlockUntilFirstOperator {
38
- zone;
39
- // @ts-ignore
40
- task = null;
41
- constructor(zone) {
42
- this.zone = zone;
43
- }
44
- call(subscriber, source) {
45
- const unscheduleTask = this.unscheduleTask.bind(this);
46
- // @ts-ignore
47
- this.task = this.zone.run(() => Zone.current.scheduleMacroTask('firebaseZoneBlock', noop, {}, noop, noop));
48
- return source.pipe(tap({ next: unscheduleTask, complete: unscheduleTask, error: unscheduleTask })).subscribe(subscriber).add(unscheduleTask);
49
- }
50
- unscheduleTask() {
51
- // maybe this is a race condition, invoke in a timeout
52
- // hold for 10ms while I try to figure out what is going on
53
- setTimeout(() => {
54
- if (this.task != null && this.task.state === 'scheduled') {
55
- this.task.invoke();
56
- this.task = null;
57
- }
58
- }, 10);
59
- }
60
- }
61
- export class ɵAngularFireSchedulers {
62
- ngZone;
63
- outsideAngular;
64
- insideAngular;
65
- constructor(ngZone) {
66
- this.ngZone = ngZone;
67
- // @ts-ignore
68
- this.outsideAngular = ngZone.runOutsideAngular(() => new ɵZoneScheduler(Zone.current));
69
- // @ts-ignore
70
- this.insideAngular = ngZone.run(() => new ɵZoneScheduler(Zone.current, asyncScheduler));
71
- globalThis.ɵAngularFireScheduler ||= this;
72
- }
73
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ɵAngularFireSchedulers, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
74
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ɵAngularFireSchedulers, providedIn: 'root' });
75
- }
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0", ngImport: i0, type: ɵAngularFireSchedulers, decorators: [{
77
- type: Injectable,
78
- args: [{
79
- providedIn: 'root',
80
- }]
81
- }], ctorParameters: () => [{ type: i0.NgZone }] });
82
- function getSchedulers() {
83
- const schedulers = globalThis.ɵAngularFireScheduler;
84
- if (!schedulers) {
85
- throw new Error(`Either AngularFireModule has not been provided in your AppModule (this can be done manually or implictly using
86
- provideFirebaseApp) or you're calling an AngularFire method outside of an NgModule (which is not supported).`);
87
- }
88
- return schedulers;
89
- }
90
- function runOutsideAngular(fn) {
91
- return getSchedulers().ngZone.runOutsideAngular(() => fn());
92
- }
93
- function run(fn) {
94
- return getSchedulers().ngZone.run(() => fn());
95
- }
96
- export function observeOutsideAngular(obs$) {
97
- return obs$.pipe(observeOn(getSchedulers().outsideAngular));
98
- }
99
- export function observeInsideAngular(obs$) {
100
- return obs$.pipe(observeOn(getSchedulers().insideAngular));
101
- }
102
- export function keepUnstableUntilFirst(obs$) {
103
- return ɵkeepUnstableUntilFirstFactory(getSchedulers())(obs$);
104
- }
105
- /**
106
- * Operator to block the zone until the first value has been emitted or the observable
107
- * has completed/errored. This is used to make sure that universal waits until the first
108
- * value from firebase but doesn't block the zone forever since the firebase subscription
109
- * is still alive.
110
- */
111
- export function ɵkeepUnstableUntilFirstFactory(schedulers) {
112
- return function keepUnstableUntilFirst(obs$) {
113
- obs$ = obs$.lift(new BlockUntilFirstOperator(schedulers.ngZone));
114
- return obs$.pipe(
115
- // Run the subscribe body outside of Angular (e.g. calling Firebase SDK to add a listener to a change event)
116
- subscribeOn(schedulers.outsideAngular),
117
- // Run operators inside the angular zone (e.g. side effects via tap())
118
- observeOn(schedulers.insideAngular)
119
- // INVESTIGATE https://github.com/angular/angularfire/pull/2315
120
- // share()
121
- );
122
- };
123
- }
124
- // @ts-ignore
125
- const zoneWrapFn = (it, macrotask) => {
126
- // eslint-disable-next-line @typescript-eslint/no-this-alias
127
- const _this = this;
128
- // function() is needed for the arguments object
129
- return function () {
130
- const _arguments = arguments;
131
- if (macrotask) {
132
- setTimeout(() => {
133
- if (macrotask.state === 'scheduled') {
134
- macrotask.invoke();
135
- }
136
- }, 10);
137
- }
138
- return run(() => it.apply(_this, _arguments));
139
- };
140
- };
141
- export const ɵzoneWrap = (it, blockUntilFirst) => {
142
- // function() is needed for the arguments object
143
- return function () {
144
- // @ts-ignore
145
- let macrotask;
146
- const _arguments = arguments;
147
- // if this is a callback function, e.g, onSnapshot, we should create a microtask and invoke it
148
- // only once one of the callback functions is tripped.
149
- for (let i = 0; i < arguments.length; i++) {
150
- if (typeof _arguments[i] === 'function') {
151
- if (blockUntilFirst) {
152
- // @ts-ignore
153
- macrotask ||= run(() => Zone.current.scheduleMacroTask('firebaseZoneBlock', noop, {}, noop, noop));
154
- }
155
- // TODO create a microtask to track callback functions
156
- _arguments[i] = zoneWrapFn(_arguments[i], macrotask);
157
- }
158
- }
159
- const ret = runOutsideAngular(() => it.apply(this, _arguments));
160
- if (!blockUntilFirst) {
161
- if (ret instanceof Observable) {
162
- const schedulers = getSchedulers();
163
- return ret.pipe(subscribeOn(schedulers.outsideAngular), observeOn(schedulers.insideAngular));
164
- }
165
- else {
166
- return run(() => ret);
167
- }
168
- }
169
- if (ret instanceof Observable) {
170
- return ret.pipe(keepUnstableUntilFirst);
171
- }
172
- else if (ret instanceof Promise) {
173
- // eslint-disable-next-line @typescript-eslint/no-misused-promises
174
- return run(() => new Promise((resolve, reject) => ret.then(it => run(() => resolve(it)), reason => run(() => reject(reason)))));
175
- }
176
- else if (typeof ret === 'function' && macrotask) {
177
- // Handle unsubscribe
178
- // function() is needed for the arguments object
179
- return function () {
180
- setTimeout(() => {
181
- if (macrotask && macrotask.state === 'scheduled') {
182
- macrotask.invoke();
183
- }
184
- }, 10);
185
- return ret.apply(this, arguments);
186
- };
187
- }
188
- else {
189
- // TODO how do we handle storage uploads in Zone? and other stuff with cancel() etc?
190
- return run(() => ret);
191
- }
192
- };
193
- };
194
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9uZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvem9uZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsc0RBQXNEO0FBQ3RELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFDTCxVQUFVLEVBT1YsY0FBYyxFQUNkLGNBQWMsRUFDZixNQUFNLE1BQU0sQ0FBQztBQUNkLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztBQUU3RCxnRUFBZ0U7QUFDaEUsU0FBUyxJQUFJO0FBQ2IsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFDTDtJQUFtQjtJQUF2QyxZQUFvQixJQUFTLEVBQVUsV0FBZ0IsY0FBYztRQUFqRCxTQUFJLEdBQUosSUFBSSxDQUFLO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBc0I7SUFDckUsQ0FBQztJQUVELEdBQUc7UUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUF1RCxFQUFFLEtBQWMsRUFBRSxLQUFXO1FBQzNGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDN0IsMEZBQTBGO1FBQzFGLHVDQUF1QztRQUN2QyxNQUFNLFVBQVUsR0FBRyxVQUFxQyxLQUFVO1lBQ2hFLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUN6QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7UUFFRixzR0FBc0c7UUFDdEcsaUdBQWlHO1FBQ2pHLCtHQUErRztRQUMvRyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxL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RTtvQkFDZCxJQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsS0FBSyxLQUFLLFdBQVcsRUFBRSxDQUFDO3dCQUNqRCxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ3JCLENBQUM7Z0JBQ0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2dCQUNQLE9BQU8sR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDcEMsQ0FBQyxDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixvRkFBb0Y7WUFDcEYsT0FBTyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEIsQ0FBQztJQUNILENBQVEsQ0FBQztBQUNYLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudCAqL1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgTmdab25lIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBPYnNlcnZhYmxlLFxuICBPcGVyYXRvcixcbiAgU2NoZWR1bGVyQWN0aW9uLFxuICBTY2hlZHVsZXJMaWtlLFxuICBTdWJzY3JpYmVyLFxuICBTdWJzY3JpcHRpb24sXG4gIFRlYXJkb3duTG9naWMsXG4gIGFzeW5jU2NoZWR1bGVyLFxuICBxdWV1ZVNjaGVkdWxlclxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG9ic2VydmVPbiwgc3Vic2NyaWJlT24sIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuZnVuY3Rpb24gbm9vcCgpIHtcbn1cblxuLyoqXG4gKiBTY2hlZHVsZXMgdGFza3Mgc28gdGhhdCB0aGV5IGFyZSBpbnZva2VkIGluc2lkZSB0aGUgWm9uZSB0aGF0IGlzIHBhc3NlZCBpbiB0aGUgY29uc3RydWN0b3IuXG4gKi9cbmV4cG9ydCBjbGFzcyDJtVpvbmVTY2hlZHVsZXIgaW1wbGVtZW50cyBTY2hlZHVsZXJMaWtlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB6b25lOiBhbnksIHByaXZhdGUgZGVsZWdhdGU6IGFueSA9IHF1ZXVlU2NoZWR1bGVyKSB7XG4gIH1cblxuICBub3coKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVsZWdhdGUubm93KCk7XG4gIH1cblxuICBzY2hlZHVsZSh3b3JrOiAodGhpczogU2NoZWR1bGVyQWN0aW9uPGFueT4sIHN0YXRlPzogYW55KSA9PiB2b2lkLCBkZWxheT86IG51bWJlciwgc3RhdGU/OiBhbnkpOiBTdWJzY3JpcHRpb24ge1xuICAgIGNvbnN0IHRhcmdldFpvbmUgPSB0aGlzLnpvbmU7XG4gICAgLy8gV3JhcCB0aGUgc3BlY2lmaWVkIHdvcmsgZnVuY3Rpb24gdG8gbWFrZSBzdXJlIHRoYXQgaWYgbmVzdGVkIHNjaGVkdWxpbmcgdGFrZXMgcGxhY2UgdGhlXG4gICAgLy8gd29yayBpcyBleGVjdXRlZCBpbiB0aGUgY29ycmVjdCB6b25lXG4gICAgY29uc3Qgd29ya0luWm9uZSA9IGZ1bmN0aW9uKHRoaXM6IFNjaGVkdWxlckFjdGlvbjxhbnk+LCBzdGF0ZTogYW55KSB7XG4gICAgICB0YXJnZXRab25lLnJ1bkd1YXJkZWQoKCkgPT4ge1xuICAgICAgICB3b3JrLmFwcGx5KHRoaXMsIFtzdGF0ZV0pO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIC8vIFNjaGVkdWxpbmcgaXRzZWxmIG5lZWRzIHRvIGJlIHJ1biBpbiB6b25lIHRvIGVuc3VyZSBzZXRJbnRlcnZhbCBjYWxscyBmb3IgYXN5bmMgc2NoZWR1bGluZyBhcmUgZG9uZVxuICAgIC8vIGluc2lkZSB0aGUgY29ycmVjdCB6b25lLiBUaGlzIHNjaGVkdWxlciBuZWVkcyB0byBzY2hlZHVsZSBhc3luY2hyb25vdXNseSBhbHdheXMgdG8gZW5zdXJlIHRoYXRcbiAgICAvLyBmaXJlYmFzZSBlbWlzc2lvbnMgYXJlIG5ldmVyIHN5bmNocm9ub3VzLiBTcGVjaWZ5aW5nIGEgZGVsYXkgY2F1c2VzIGlzc3VlcyB3aXRoIHRoZSBxdWV1ZVNjaGVkdWxlciBkZWxlZ2F0ZS5cbiAgICByZXR1cm4gdGhpcy5kZWxlZ2F0ZS5zY2hlZHVsZSh3b3JrSW5ab25lLCBkZWxheSwgc3RhdGUpO1xuICB9XG59XG5cbmNsYXNzIEJsb2NrVW50aWxGaXJzdE9wZXJhdG9yPFQ+IGltcGxlbWVudHMgT3BlcmF0b3I8VCwgVD4ge1xuICAvLyBAdHMtaWdub3JlXG4gIHByaXZhdGUgdGFzazogTWFjcm9UYXNrIHwgbnVsbCA9IG51bGw7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB6b25lOiBhbnkpIHtcbiAgfVxuXG4gIGNhbGwoc3Vic2NyaWJlcjogU3Vic2NyaWJlcjxUPiwgc291cmNlOiBPYnNlcnZhYmxlPFQ+KTogVGVhcmRvd25Mb2dpYyB7XG4gICAgY29uc3QgdW5zY2hlZHVsZVRhc2sgPSB0aGlzLnVuc2NoZWR1bGVUYXNrLmJpbmQodGhpcyk7XG4gICAgLy8gQHRzLWlnbm9yZVxuICAgIHRoaXMudGFzayA9IHRoaXMuem9uZS5ydW4oKCkgPT4gWm9uZS5jdXJyZW50LnNjaGVkdWxlTWFjcm9UYXNrKCdmaXJlYmFzZVpvbmVCbG9jaycsIG5vb3AsIHt9LCBub29wLCBub29wKSk7XG5cbiAgICByZXR1cm4gc291cmNlLnBpcGUoXG4gICAgICB0YXAoeyBuZXh0OiB1bnNjaGVkdWxlVGFzaywgY29tcGxldGU6IHVuc2NoZWR1bGVUYXNrLCBlcnJvcjogdW5zY2hlZHVsZVRhc2sgfSlcbiAgICApLnN1YnNjcmliZShzdWJzY3JpYmVyKS5hZGQodW5zY2hlZHVsZVRhc2spO1xuICB9XG5cbiAgcHJpdmF0ZSB1bnNjaGVkdWxlVGFzaygpIHtcbiAgICAvLyBtYXliZSB0aGlzIGlzIGEgcmFjZSBjb25kaXRpb24sIGludm9rZSBpbiBhIHRpbWVvdXRcbiAgICAvLyBob2xkIGZvciAxMG1zIHdoaWxlIEkgdHJ5IHRvIGZpZ3VyZSBvdXQgd2hhdCBpcyBnb2luZyBvblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgaWYgKHRoaXMudGFzayAhPSBudWxsICYmIHRoaXMudGFzay5zdGF0ZSA9PT0gJ3NjaGVkdWxlZCcpIHtcbiAgICAgICAgdGhpcy50YXNrLmludm9rZSgpO1xuICAgICAgICB0aGlzLnRhc2sgPSBudWxsO1xuICAgICAgfVxuICAgIH0sIDEwKTtcbiAgfVxufVxuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgybVBbmd1bGFyRmlyZVNjaGVkdWxlcnMge1xuICBwdWJsaWMgcmVhZG9ubHkgb3V0c2lkZUFuZ3VsYXI6IMm1Wm9uZVNjaGVkdWxlcjtcbiAgcHVibGljIHJlYWRvbmx5IGluc2lkZUFuZ3VsYXI6IMm1Wm9uZVNjaGVkdWxlcjtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbmdab25lOiBOZ1pvbmUpIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgdGhpcy5vdXRzaWRlQW5ndWxhciA9IG5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiBuZXcgybVab25lU2NoZWR1bGVyKFpvbmUuY3VycmVudCkpO1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICB0aGlzLmluc2lkZUFuZ3VsYXIgPSBuZ1pvbmUucnVuKCgpID0+IG5ldyDJtVpvbmVTY2hlZHVsZXIoWm9uZS5jdXJyZW50LCBhc3luY1NjaGVkdWxlcikpO1xuICAgIGdsb2JhbFRoaXMuybVBbmd1bGFyRmlyZVNjaGVkdWxlciB8fD0gdGhpcztcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRTY2hlZHVsZXJzKCkge1xuICBjb25zdCBzY2hlZHVsZXJzID0gZ2xvYmFsVGhpcy7JtUFuZ3VsYXJGaXJlU2NoZWR1bGVyIGFzIMm1QW5ndWxhckZpcmVTY2hlZHVsZXJzfHVuZGVmaW5lZDtcbiAgaWYgKCFzY2hlZHVsZXJzKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuYEVpdGhlciBBbmd1bGFyRmlyZU1vZHVsZSBoYXMgbm90IGJlZW4gcHJvdmlkZWQgaW4geW91ciBBcHBNb2R1bGUgKHRoaXMgY2FuIGJlIGRvbmUgbWFudWFsbHkgb3IgaW1wbGljdGx5IHVzaW5nXG5wcm92aWRlRmlyZWJhc2VBcHApIG9yIHlvdSdyZSBjYWxsaW5nIGFuIEFuZ3VsYXJGaXJlIG1ldGhvZCBvdXRzaWRlIG9mIGFuIE5nTW9kdWxlICh3aGljaCBpcyBub3Qgc3VwcG9ydGVkKS5gKTtcbiAgfVxuICByZXR1cm4gc2NoZWR1bGVycztcbn1cblxuZnVuY3Rpb24gcnVuT3V0c2lkZUFuZ3VsYXI8VD4oZm46ICguLi5hcmdzOiBhbnlbXSkgPT4gVCk6IFQge1xuICByZXR1cm4gZ2V0U2NoZWR1bGVycygpLm5nWm9uZS5ydW5PdXRzaWRlQW5ndWxhcigoKSA9PiBmbigpKTtcbn1cblxuZnVuY3Rpb24gcnVuPFQ+KGZuOiAoLi4uYXJnczogYW55W10pID0+IFQpOiBUIHtcbiAgcmV0dXJuIGdldFNjaGVkdWxlcnMoKS5uZ1pvbmUucnVuKCgpID0+IGZuKCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb2JzZXJ2ZU91dHNpZGVBbmd1bGFyPFQ+KG9icyQ6IE9ic2VydmFibGU8VD4pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgcmV0dXJuIG9icyQucGlwZShvYnNlcnZlT24oZ2V0U2NoZWR1bGVycygpLm91dHNpZGVBbmd1bGFyKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvYnNlcnZlSW5zaWRlQW5ndWxhcjxUPihvYnMkOiBPYnNlcnZhYmxlPFQ+KTogT2JzZXJ2YWJsZTxUPiB7XG4gIHJldHVybiBvYnMkLnBpcGUob2JzZXJ2ZU9uKGdldFNjaGVkdWxlcnMoKS5pbnNpZGVBbmd1bGFyKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBrZWVwVW5zdGFibGVVbnRpbEZpcnN0PFQ+KG9icyQ6IE9ic2VydmFibGU8VD4pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgcmV0dXJuIMm1a2VlcFVuc3RhYmxlVW50aWxGaXJzdEZhY3RvcnkoZ2V0U2NoZWR1bGVycygpKShvYnMkKTtcbn1cblxuLyoqXG4gKiBPcGVyYXRvciB0byBibG9jayB0aGUgem9uZSB1bnRpbCB0aGUgZmlyc3QgdmFsdWUgaGFzIGJlZW4gZW1pdHRlZCBvciB0aGUgb2JzZXJ2YWJsZVxuICogaGFzIGNvbXBsZXRlZC9lcnJvcmVkLiBUaGlzIGlzIHVzZWQgdG8gbWFrZSBzdXJlIHRoYXQgdW5pdmVyc2FsIHdhaXRzIHVudGlsIHRoZSBmaXJzdFxuICogdmFsdWUgZnJvbSBmaXJlYmFzZSBidXQgZG9lc24ndCBibG9jayB0aGUgem9uZSBmb3JldmVyIHNpbmNlIHRoZSBmaXJlYmFzZSBzdWJzY3JpcHRpb25cbiAqIGlzIHN0aWxsIGFsaXZlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gybVrZWVwVW5zdGFibGVVbnRpbEZpcnN0RmFjdG9yeShzY2hlZHVsZXJzOiDJtUFuZ3VsYXJGaXJlU2NoZWR1bGVycykge1xuICByZXR1cm4gZnVuY3Rpb24ga2VlcFVuc3RhYmxlVW50aWxGaXJzdDxUPihvYnMkOiBPYnNlcnZhYmxlPFQ+KTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgb2JzJCA9IG9icyQubGlmdChcbiAgICAgIG5ldyBCbG9ja1VudGlsRmlyc3RPcGVyYXRvcihzY2hlZHVsZXJzLm5nWm9uZSlcbiAgICApO1xuXG4gICAgcmV0dXJuIG9icyQucGlwZShcbiAgICAgIC8vIFJ1biB0aGUgc3Vic2NyaWJlIGJvZHkgb3V0c2lkZSBvZiBBbmd1bGFyIChlLmcuIGNhbGxpbmcgRmlyZWJhc2UgU0RLIHRvIGFkZCBhIGxpc3RlbmVyIHRvIGEgY2hhbmdlIGV2ZW50KVxuICAgICAgc3Vic2NyaWJlT24oc2NoZWR1bGVycy5vdXRzaWRlQW5ndWxhciksXG4gICAgICAvLyBSdW4gb3BlcmF0b3JzIGluc2lkZSB0aGUgYW5ndWxhciB6b25lIChlLmcuIHNpZGUgZWZmZWN0cyB2aWEgdGFwKCkpXG4gICAgICBvYnNlcnZlT24oc2NoZWR1bGVycy5pbnNpZGVBbmd1bGFyKVxuICAgICAgLy8gSU5WRVNUSUdBVEUgaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhcmZpcmUvcHVsbC8yMzE1XG4gICAgICAvLyBzaGFyZSgpXG4gICAgKTtcbiAgfTtcbn1cblxuLy8gQHRzLWlnbm9yZVxuY29uc3Qgem9uZVdyYXBGbiA9IChpdDogKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnksIG1hY3JvdGFzazogTWFjcm9UYXNrfHVuZGVmaW5lZCkgPT4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcbiAgY29uc3QgX3RoaXMgPSB0aGlzO1xuICAvLyBmdW5jdGlvbigpIGlzIG5lZWRlZCBmb3IgdGhlIGFyZ3VtZW50cyBvYmplY3RcbiAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgIGNvbnN0IF9hcmd1bWVudHMgPSBhcmd1bWVudHM7XG4gICAgaWYgKG1hY3JvdGFzaykge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmIChtYWNyb3Rhc2suc3RhdGUgPT09ICdzY2hlZHVsZWQnKSB7XG4gICAgICAgICAgbWFjcm90YXNrLmludm9rZSgpO1xuICAgICAgICB9XG4gICAgICB9LCAxMCk7XG4gICAgfVxuICAgIHJldHVybiBydW4oKCkgPT4gaXQuYXBwbHkoX3RoaXMsIF9hcmd1bWVudHMpKTtcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCDJtXpvbmVXcmFwID0gPFQ9IHVua25vd24+KGl0OiBULCBibG9ja1VudGlsRmlyc3Q6IGJvb2xlYW4pOiBUID0+IHtcbiAgLy8gZnVuY3Rpb24oKSBpcyBuZWVkZWQgZm9yIHRoZSBhcmd1bWVudHMgb2JqZWN0XG4gIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgbGV0IG1hY3JvdGFzazogTWFjcm9UYXNrIHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IF9hcmd1bWVudHMgPSBhcmd1bWVudHM7XG4gICAgLy8gaWYgdGhpcyBpcyBhIGNhbGxiYWNrIGZ1bmN0aW9uLCBlLmcsIG9uU25hcHNob3QsIHdlIHNob3VsZCBjcmVhdGUgYSBtaWNyb3Rhc2sgYW5kIGludm9rZSBpdFxuICAgIC8vIG9ubHkgb25jZSBvbmUgb2YgdGhlIGNhbGxiYWNrIGZ1bmN0aW9ucyBpcyB0cmlwcGVkLlxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAodHlwZW9mIF9hcmd1bWVudHNbaV0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgaWYgKGJsb2NrVW50aWxGaXJzdCkge1xuICAgICAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgICAgICBtYWNyb3Rhc2sgfHw9IHJ1bigoKSA9PiBab25lLmN1cnJlbnQuc2NoZWR1bGVNYWNyb1Rhc2soJ2ZpcmViYXNlWm9uZUJsb2NrJywgbm9vcCwge30sIG5vb3AsIG5vb3ApKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBUT0RPIGNyZWF0ZSBhIG1pY3JvdGFzayB0byB0cmFjayBjYWxsYmFjayBmdW5jdGlvbnNcbiAgICAgICAgX2FyZ3VtZW50c1tpXSA9IHpvbmVXcmFwRm4oX2FyZ3VtZW50c1tpXSwgbWFjcm90YXNrKTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgcmV0ID0gcnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4gKGl0IGFzIGFueSkuYXBwbHkodGhpcywgX2FyZ3VtZW50cykpO1xuICAgIGlmICghYmxvY2tVbnRpbEZpcnN0KSB7XG4gICAgICBpZiAocmV0IGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgICAgICBjb25zdCBzY2hlZHVsZXJzID0gZ2V0U2NoZWR1bGVycygpO1xuICAgICAgICByZXR1cm4gcmV0LnBpcGUoXG4gICAgICAgICAgc3Vic2NyaWJlT24oc2NoZWR1bGVycy5vdXRzaWRlQW5ndWxhciksXG4gICAgICAgICAgb2JzZXJ2ZU9uKHNjaGVkdWxlcnMuaW5zaWRlQW5ndWxhciksXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gcnVuKCgpID0+IHJldCk7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChyZXQgaW5zdGFuY2VvZiBPYnNlcnZhYmxlKSB7XG4gICAgICByZXR1cm4gcmV0LnBpcGUoa2VlcFVuc3RhYmxlVW50aWxGaXJzdCkgYXMgYW55O1xuICAgIH0gZWxzZSBpZiAocmV0IGluc3RhbmNlb2YgUHJvbWlzZSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1taXN1c2VkLXByb21pc2VzXG4gICAgICByZXR1cm4gcnVuKCgpID0+IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHJldC50aGVuKGl0ID0+IHJ1bigoKSA9PiByZXNvbHZlKGl0KSksIHJlYXNvbiA9PiBydW4oKCkgPT4gcmVqZWN0KHJlYXNvbikpKSkpO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIHJldCA9PT0gJ2Z1bmN0aW9uJyAmJiBtYWNyb3Rhc2spIHtcbiAgICAgIC8vIEhhbmRsZSB1bnN1YnNjcmliZVxuICAgICAgLy8gZnVuY3Rpb24oKSBpcyBuZWVkZWQgZm9yIHRoZSBhcmd1bWVudHMgb2JqZWN0XG4gICAgICByZXR1cm4gZnVuY3Rpb24oKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIGlmIChtYWNyb3Rhc2sgJiYgbWFjcm90YXNrLnN0YXRlID09PSAnc2NoZWR1bGVkJykge1xuICAgICAgICAgICAgbWFjcm90YXNrLmludm9rZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgMTApO1xuICAgICAgICByZXR1cm4gcmV0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUT0RPIGhvdyBkbyB3ZSBoYW5kbGUgc3RvcmFnZSB1cGxvYWRzIGluIFpvbmU/IGFuZCBvdGhlciBzdHVmZiB3aXRoIGNhbmNlbCgpIGV0Yz9cbiAgICAgIHJldHVybiBydW4oKCkgPT4gcmV0KTtcbiAgICB9XG4gIH0gYXMgYW55O1xufTtcbiJdfQ==
@@ -1 +0,0 @@
1
- {"version":3,"file":"angular-fire-vertexai-preview.mjs","sources":["../../../src/vertexai-preview/vertexai.ts","../../../src/vertexai-preview/vertexai.module.ts","../../../src/vertexai-preview/firebase.ts","../../../src/vertexai-preview/angular-fire-vertexai-preview.ts"],"sourcesContent":["import { ɵgetAllInstancesOf } from '@angular/fire';\nimport { VertexAI as FirebaseVertexAI } from 'firebase/vertexai-preview';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\n// see notes in core/firebase.app.module.ts for why we're building the class like this\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface VertexAI extends FirebaseVertexAI {}\n\nexport class VertexAI {\n constructor(vertexai: FirebaseVertexAI) {\n return vertexai;\n }\n}\n\nexport const VERTEX_AI_PROVIDER_NAME = 'vertexai';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface VertexAIInstances extends Array<FirebaseVertexAI> {}\n\nexport class VertexAIInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseVertexAI>(VERTEX_AI_PROVIDER_NAME);\n }\n}\n\nexport const vertexAIInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseVertexAI>(VERTEX_AI_PROVIDER_NAME))),\n distinct(),\n);\n","import {\n EnvironmentProviders,\n InjectionToken,\n Injector,\n NgModule,\n NgZone,\n Optional,\n makeEnvironmentProviders,\n} from '@angular/core';\nimport { VERSION, ɵAngularFireSchedulers, ɵgetDefaultInstanceOf } from '@angular/fire';\nimport { ɵAppCheckInstances } from '@angular/fire';\nimport { FirebaseApp, FirebaseApps } from '@angular/fire/app';\nimport { registerVersion } from 'firebase/app';\nimport { VertexAI as FirebaseVertexAI } from 'firebase/vertexai-preview';\nimport { VERTEX_AI_PROVIDER_NAME, VertexAI, VertexAIInstances } from './vertexai';\n\nexport const PROVIDED_VERTEX_AI_INSTANCES = new InjectionToken<VertexAI[]>('angularfire2.vertexai-instances');\n\nexport function defaultVertexAIInstanceFactory(provided: FirebaseVertexAI[]|undefined, defaultApp: FirebaseApp) {\n const defaultVertexAI = ɵgetDefaultInstanceOf<FirebaseVertexAI>(VERTEX_AI_PROVIDER_NAME, provided, defaultApp);\n return defaultVertexAI && new VertexAI(defaultVertexAI);\n}\n\nexport function vertexAIInstanceFactory(fn: (injector: Injector) => FirebaseVertexAI) {\n return (zone: NgZone, injector: Injector) => {\n const vertexAI = zone.runOutsideAngular(() => fn(injector));\n return new VertexAI(vertexAI);\n };\n}\n\nconst VERTEX_AI_INSTANCES_PROVIDER = {\n provide: VertexAIInstances,\n deps: [\n [new Optional(), PROVIDED_VERTEX_AI_INSTANCES ],\n ]\n};\n\nconst DEFAULT_VERTEX_AI_INSTANCE_PROVIDER = {\n provide: VertexAI,\n useFactory: defaultVertexAIInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_VERTEX_AI_INSTANCES ],\n FirebaseApp,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_VERTEX_AI_INSTANCE_PROVIDER,\n VERTEX_AI_INSTANCES_PROVIDER,\n ]\n})\nexport class VertexAIModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'vertexai');\n }\n}\n\nexport function provideVertexAI(fn: (injector: Injector) => FirebaseVertexAI, ...deps: any[]): EnvironmentProviders {\n registerVersion('angularfire', VERSION.full, 'vertexai');\n\n return makeEnvironmentProviders([\n DEFAULT_VERTEX_AI_INSTANCE_PROVIDER,\n VERTEX_AI_INSTANCES_PROVIDER,\n {\n provide: PROVIDED_VERTEX_AI_INSTANCES,\n useFactory: vertexAIInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n Injector,\n ɵAngularFireSchedulers,\n FirebaseApps,\n [new Optional(), ɵAppCheckInstances ],\n ...deps,\n ]\n }\n ]);\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/vertexai-preview';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n getVertexAI as _getVertexAI,\n getGenerativeModel as _getGenerativeModel\n} from 'firebase/vertexai-preview';\n\nexport const getVertexAI = ɵzoneWrap(_getVertexAI, true);\nexport const getGenerativeModel = ɵzoneWrap(_getGenerativeModel, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ɵgetAllInstancesOf","ɵgetDefaultInstanceOf","ɵAngularFireSchedulers","ɵAppCheckInstances","ɵzoneWrap","_getVertexAI","_getGenerativeModel"],"mappings":";;;;;;;;;;MASa,QAAQ,CAAA;AACnB,IAAA,WAAA,CAAY,QAA0B,EAAA;AACpC,QAAA,OAAO,QAAQ,CAAC;KACjB;AACF,CAAA;AAEM,MAAM,uBAAuB,GAAG,UAAU,CAAC;MAKrC,iBAAiB,CAAA;AAC5B,IAAA,WAAA,GAAA;AACE,QAAA,OAAOA,kBAAkB,CAAmB,uBAAuB,CAAC,CAAC;KACtE;AACF,CAAA;AAEM,MAAM,iBAAiB,GAAG,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,IAAI,CACjD,SAAS,CAAC,MAAM,IAAI,CAACA,kBAAkB,CAAmB,uBAAuB,CAAC,CAAC,CAAC,EACpF,QAAQ,EAAE;;ACZL,MAAM,4BAA4B,GAAG,IAAI,cAAc,CAAa,iCAAiC,CAAC,CAAC;AAE9F,SAAA,8BAA8B,CAAC,QAAsC,EAAE,UAAuB,EAAA;IAC5G,MAAM,eAAe,GAAGC,qBAAqB,CAAmB,uBAAuB,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;AAC/G,IAAA,OAAO,eAAe,IAAI,IAAI,QAAQ,CAAC,eAAe,CAAC,CAAC;AAC1D,CAAC;AAEK,SAAU,uBAAuB,CAAC,EAA4C,EAAA;AAClF,IAAA,OAAO,CAAC,IAAY,EAAE,QAAkB,KAAI;AAC1C,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC5D,QAAA,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAChC,KAAC,CAAC;AACJ,CAAC;AAED,MAAM,4BAA4B,GAAG;AACnC,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,IAAI,EAAE;AACJ,QAAA,CAAC,IAAI,QAAQ,EAAE,EAAE,4BAA4B,CAAE;AAChD,KAAA;CACF,CAAC;AAEF,MAAM,mCAAmC,GAAG;AAC1C,IAAA,OAAO,EAAE,QAAQ;AACjB,IAAA,UAAU,EAAE,8BAA8B;AAC1C,IAAA,IAAI,EAAE;AACJ,QAAA,CAAC,IAAI,QAAQ,EAAE,EAAE,4BAA4B,CAAE;QAC/C,WAAW;AACZ,KAAA;CACF,CAAC;MAQW,cAAc,CAAA;AACzB,IAAA,WAAA,GAAA;QACE,eAAe,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;KAC1D;uGAHU,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;wGAAd,cAAc,EAAA,CAAA,CAAA;AAAd,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EALd,SAAA,EAAA;YACT,mCAAmC;YACnC,4BAA4B;AAC7B,SAAA,EAAA,CAAA,CAAA;;2FAEU,cAAc,EAAA,UAAA,EAAA,CAAA;kBAN1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,SAAS,EAAE;wBACT,mCAAmC;wBACnC,4BAA4B;AAC7B,qBAAA;AACF,iBAAA,CAAA;;SAOe,eAAe,CAAC,EAA4C,EAAE,GAAG,IAAW,EAAA;IAC1F,eAAe,CAAC,aAAa,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AAEzD,IAAA,OAAO,wBAAwB,CAAC;QAC9B,mCAAmC;QACnC,4BAA4B;AAC5B,QAAA;AACE,YAAA,OAAO,EAAE,4BAA4B;AACrC,YAAA,UAAU,EAAE,uBAAuB,CAAC,EAAE,CAAC;AACvC,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,IAAI,EAAE;gBACJ,MAAM;gBACN,QAAQ;gBACRC,sBAAsB;gBACtB,YAAY;AACZ,gBAAA,CAAC,IAAI,QAAQ,EAAE,EAAEC,kBAAkB,CAAE;AACrC,gBAAA,GAAG,IAAI;AACR,aAAA;AACF,SAAA;AACF,KAAA,CAAC,CAAC;AACL;;AC9EA;AAQa,MAAA,WAAW,GAAGC,SAAS,CAACC,aAAY,EAAE,IAAI,EAAE;AAC5C,MAAA,kBAAkB,GAAGD,SAAS,CAACE,oBAAmB,EAAE,IAAI;;ACTrE;;AAEG;;;;"}
@@ -1,81 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.addDependencies = exports.safeReadJSON = exports.overwriteIfExists = exports.stringifyFormatted = exports.shortSiteName = void 0;
27
- const schematics_1 = require("@angular-devkit/schematics");
28
- const semver = __importStar(require("semver"));
29
- const shortSiteName = (site) => { var _a; return (_a = site === null || site === void 0 ? void 0 : site.name) === null || _a === void 0 ? void 0 : _a.split('/').pop(); };
30
- exports.shortSiteName = shortSiteName;
31
- const stringifyFormatted = (obj) => JSON.stringify(obj, null, 2);
32
- exports.stringifyFormatted = stringifyFormatted;
33
- const overwriteIfExists = (tree, path, content) => {
34
- if (tree.exists(path)) {
35
- tree.overwrite(path, content);
36
- }
37
- else {
38
- tree.create(path, content);
39
- }
40
- };
41
- exports.overwriteIfExists = overwriteIfExists;
42
- function safeReadJSON(path, tree) {
43
- try {
44
- return JSON.parse(tree.read(path).toString());
45
- }
46
- catch (e) {
47
- throw new schematics_1.SchematicsException(`Error when parsing ${path}: ${e.message}`);
48
- }
49
- }
50
- exports.safeReadJSON = safeReadJSON;
51
- const addDependencies = (host, deps, context) => {
52
- var _a, _b;
53
- const packageJson = host.exists('package.json') && safeReadJSON('package.json', host);
54
- if (packageJson === undefined) {
55
- throw new schematics_1.SchematicsException('Could not locate package.json');
56
- }
57
- (_a = packageJson.devDependencies) !== null && _a !== void 0 ? _a : (packageJson.devDependencies = {});
58
- (_b = packageJson.dependencies) !== null && _b !== void 0 ? _b : (packageJson.dependencies = {});
59
- Object.keys(deps).forEach(depName => {
60
- const dep = deps[depName];
61
- const existingDeps = dep.dev ? packageJson.devDependencies : packageJson.dependencies;
62
- const existingVersion = existingDeps[depName];
63
- if (existingVersion) {
64
- try {
65
- if (!semver.intersects(existingVersion, dep.version)) {
66
- context.logger.warn(`⚠️ The ${depName} devDependency specified in your package.json (${existingVersion}) does not fulfill AngularFire's dependency (${dep.version})`);
67
- }
68
- }
69
- catch (e) {
70
- if (existingVersion !== dep.version) {
71
- context.logger.warn(`⚠️ The ${depName} devDependency specified in your package.json (${existingVersion}) does not fulfill AngularFire's dependency (${dep.version})`);
72
- }
73
- }
74
- }
75
- else {
76
- existingDeps[depName] = dep.version;
77
- }
78
- });
79
- (0, exports.overwriteIfExists)(host, 'package.json', (0, exports.stringifyFormatted)(packageJson));
80
- };
81
- exports.addDependencies = addDependencies;
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.dockerfile = exports.functionGen2 = exports.defaultFunction = exports.defaultPackage = exports.DEFAULT_FUNCTION_NAME = exports.DEFAULT_NODE_VERSION = void 0;
4
- exports.DEFAULT_NODE_VERSION = 14;
5
- exports.DEFAULT_FUNCTION_NAME = 'ssr';
6
- const DEFAULT_FUNCTION_REGION = 'us-central1';
7
- const DEFAULT_RUNTIME_OPTIONS = {
8
- timeoutSeconds: 60,
9
- memory: '1GB'
10
- };
11
- const defaultPackage = (dependencies, devDependencies, options, main) => ({
12
- name: 'functions',
13
- description: 'Angular Universal Application',
14
- main: main !== null && main !== void 0 ? main : 'index.js',
15
- scripts: {
16
- start: main ? `node ${main}` : 'firebase functions:shell',
17
- },
18
- engines: {
19
- node: (options.functionsNodeVersion || exports.DEFAULT_NODE_VERSION).toString()
20
- },
21
- dependencies,
22
- devDependencies,
23
- private: true
24
- });
25
- exports.defaultPackage = defaultPackage;
26
- const defaultFunction = (path, options, functionName) => `const functions = require('firebase-functions');
27
-
28
- // Increase readability in Cloud Logging
29
- require("firebase-functions/lib/logger/compat");
30
-
31
- const expressApp = require('./${path}/main').app();
32
-
33
- exports.${functionName || exports.DEFAULT_FUNCTION_NAME} = functions
34
- .region('${options.region || DEFAULT_FUNCTION_REGION}')
35
- .runWith(${JSON.stringify(options.functionsRuntimeOptions || DEFAULT_RUNTIME_OPTIONS)})
36
- .https
37
- .onRequest(expressApp);
38
- `;
39
- exports.defaultFunction = defaultFunction;
40
- const functionGen2 = (path, options, functionName) => `const { onRequest } = require('firebase-functions/v2/https');
41
-
42
- // Increase readability in Cloud Logging
43
- require("firebase-functions/lib/logger/compat");
44
-
45
- const expressApp = require('./${path}/main').app();
46
-
47
- exports.${functionName || exports.DEFAULT_FUNCTION_NAME} = onRequest(${JSON.stringify(Object.assign({ region: options.region || DEFAULT_FUNCTION_REGION }, (options.functionsRuntimeOptions || DEFAULT_RUNTIME_OPTIONS)))}, expressApp);
48
- `;
49
- exports.functionGen2 = functionGen2;
50
- const dockerfile = (options) => `FROM node:${options.functionsNodeVersion || exports.DEFAULT_NODE_VERSION}-slim
51
- WORKDIR /usr/src/app
52
- COPY package*.json ./
53
- RUN npm install --only=production
54
- COPY . ./
55
- CMD [ "npm", "start" ]
56
- `;
57
- exports.dockerfile = dockerfile;
@@ -1,78 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.getFirebaseTools = void 0;
30
- const child_process_1 = require("child_process");
31
- const ora_1 = __importDefault(require("ora"));
32
- const semver = __importStar(require("semver"));
33
- const getFirebaseTools = () => globalThis.firebaseTools ?
34
- Promise.resolve(globalThis.firebaseTools) :
35
- new Promise((resolve, reject) => {
36
- var _a;
37
- (_a = process.env).FIREBASE_CLI_EXPERIMENTS || (_a.FIREBASE_CLI_EXPERIMENTS = 'webframeworks');
38
- try {
39
- resolve(require('firebase-tools'));
40
- }
41
- catch (e) {
42
- try {
43
- const root = (0, child_process_1.execSync)('npm root --location=global').toString().trim();
44
- resolve(require(`${root}/firebase-tools`));
45
- }
46
- catch (e) {
47
- const spinner = (0, ora_1.default)({
48
- text: `Installing firebase-tools...`,
49
- discardStdin: process.platform !== 'win32',
50
- }).start();
51
- (0, child_process_1.spawn)('npm', ['i', '--location=global', 'firebase-tools'], {
52
- stdio: 'pipe',
53
- shell: true,
54
- }).on('close', (code) => {
55
- if (code === 0) {
56
- spinner.succeed('firebase-tools installed globally.');
57
- spinner.stop();
58
- const root = (0, child_process_1.execSync)('npm root -g').toString().trim();
59
- resolve(require(`${root}/firebase-tools`));
60
- }
61
- else {
62
- spinner.fail('Package install failed.');
63
- reject();
64
- }
65
- });
66
- }
67
- }
68
- }).then(firebaseTools => {
69
- globalThis.firebaseTools = firebaseTools;
70
- const version = firebaseTools.cli.version();
71
- console.log(`Using firebase-tools version ${version}`);
72
- if (semver.compare(version, '13.0.0') === -1) {
73
- console.error('firebase-tools version 13.0.0+ is required, please upgrade and run again');
74
- return Promise.reject();
75
- }
76
- return firebaseTools;
77
- });
78
- exports.getFirebaseTools = getFirebaseTools;
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.featureOptions = void 0;
4
- exports.featureOptions = [
5
- { name: 'Authentication', value: 0 },
6
- { name: 'Google Analytics', value: 1 },
7
- { name: 'App Check', value: 2 },
8
- { name: 'Firestore', value: 7 },
9
- { name: 'Realtime Database', value: 3 },
10
- { name: 'Cloud Functions (callable)', value: 4 },
11
- { name: 'Cloud Messaging', value: 5 },
12
- { name: 'Performance Monitoring', value: 6 },
13
- { name: 'Cloud Storage', value: 8 },
14
- { name: 'Remote Config', value: 9 },
15
- { name: 'VertexAI (preview)', value: 10 },
16
- ];