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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (283) hide show
  1. package/README.md +2 -2
  2. package/analytics/analytics.module.d.ts +2 -2
  3. package/analytics/firebase.d.ts +3 -3
  4. package/analytics/screen-tracking.service.d.ts +1 -1
  5. package/auth/rxfire.d.ts +2 -2
  6. package/compat/database/database.d.ts +1 -1
  7. package/compat/firestore/firestore.d.ts +1 -1
  8. package/compat/storage/pipes/storageUrl.pipe.d.ts +2 -2
  9. package/compat/storage/storage.d.ts +1 -1
  10. package/compat/storage/storage.module.d.ts +1 -1
  11. package/data-connect/data-connect.d.ts +9 -0
  12. package/data-connect/data-connect.module.d.ts +13 -0
  13. package/data-connect/firebase.d.ts +12 -0
  14. package/{vertexai-preview → data-connect}/index.d.ts +1 -1
  15. package/data-connect/package.json +3 -0
  16. package/data-connect/public_api.d.ts +3 -0
  17. package/database/rxfire.d.ts +4 -4
  18. package/docs/install-and-setup.md +10 -5
  19. package/docs/vertexai.md +3 -3
  20. package/fesm2022/angular-fire-analytics.mjs +25 -52
  21. package/fesm2022/angular-fire-analytics.mjs.map +1 -1
  22. package/fesm2022/angular-fire-app-check.mjs +4 -4
  23. package/fesm2022/angular-fire-app-check.mjs.map +1 -1
  24. package/fesm2022/angular-fire-app.mjs +4 -4
  25. package/fesm2022/angular-fire-app.mjs.map +1 -1
  26. package/fesm2022/angular-fire-auth-guard.mjs +7 -7
  27. package/fesm2022/angular-fire-auth-guard.mjs.map +1 -1
  28. package/fesm2022/angular-fire-auth.mjs +7 -7
  29. package/fesm2022/angular-fire-auth.mjs.map +1 -1
  30. package/fesm2022/angular-fire-compat-analytics.mjs +15 -15
  31. package/fesm2022/angular-fire-compat-analytics.mjs.map +1 -1
  32. package/fesm2022/angular-fire-compat-auth-guard.mjs +7 -7
  33. package/fesm2022/angular-fire-compat-auth-guard.mjs.map +1 -1
  34. package/fesm2022/angular-fire-compat-auth.mjs +10 -9
  35. package/fesm2022/angular-fire-compat-auth.mjs.map +1 -1
  36. package/fesm2022/angular-fire-compat-database.mjs +20 -19
  37. package/fesm2022/angular-fire-compat-database.mjs.map +1 -1
  38. package/fesm2022/angular-fire-compat-firestore.mjs +25 -24
  39. package/fesm2022/angular-fire-compat-firestore.mjs.map +1 -1
  40. package/fesm2022/angular-fire-compat-functions.mjs +7 -7
  41. package/fesm2022/angular-fire-compat-functions.mjs.map +1 -1
  42. package/fesm2022/angular-fire-compat-messaging.mjs +7 -7
  43. package/fesm2022/angular-fire-compat-messaging.mjs.map +1 -1
  44. package/fesm2022/angular-fire-compat-performance.mjs +10 -10
  45. package/fesm2022/angular-fire-compat-performance.mjs.map +1 -1
  46. package/fesm2022/angular-fire-compat-remote-config.mjs +10 -9
  47. package/fesm2022/angular-fire-compat-remote-config.mjs.map +1 -1
  48. package/fesm2022/angular-fire-compat-storage.mjs +20 -18
  49. package/fesm2022/angular-fire-compat-storage.mjs.map +1 -1
  50. package/fesm2022/angular-fire-compat.mjs +4 -4
  51. package/fesm2022/angular-fire-compat.mjs.map +1 -1
  52. package/fesm2022/angular-fire-data-connect.mjs +100 -0
  53. package/fesm2022/angular-fire-data-connect.mjs.map +1 -0
  54. package/fesm2022/angular-fire-database.mjs +8 -8
  55. package/fesm2022/angular-fire-database.mjs.map +1 -1
  56. package/fesm2022/angular-fire-firestore-lite.mjs +11 -10
  57. package/fesm2022/angular-fire-firestore-lite.mjs.map +1 -1
  58. package/fesm2022/angular-fire-firestore.mjs +14 -13
  59. package/fesm2022/angular-fire-firestore.mjs.map +1 -1
  60. package/fesm2022/angular-fire-functions.mjs +4 -4
  61. package/fesm2022/angular-fire-functions.mjs.map +1 -1
  62. package/fesm2022/angular-fire-messaging.mjs +15 -42
  63. package/fesm2022/angular-fire-messaging.mjs.map +1 -1
  64. package/fesm2022/angular-fire-performance.mjs +6 -6
  65. package/fesm2022/angular-fire-performance.mjs.map +1 -1
  66. package/fesm2022/angular-fire-remote-config.mjs +20 -47
  67. package/fesm2022/angular-fire-remote-config.mjs.map +1 -1
  68. package/fesm2022/angular-fire-storage.mjs +4 -4
  69. package/fesm2022/angular-fire-storage.mjs.map +1 -1
  70. package/fesm2022/{angular-fire-vertexai-preview.mjs → angular-fire-vertexai.mjs} +8 -8
  71. package/fesm2022/angular-fire-vertexai.mjs.map +1 -0
  72. package/fesm2022/angular-fire.mjs +101 -105
  73. package/fesm2022/angular-fire.mjs.map +1 -1
  74. package/firestore/firebase.d.ts +2 -1
  75. package/firestore/lite/firebase.d.ts +2 -1
  76. package/firestore/lite/rxfire.d.ts +4 -4
  77. package/firestore/rxfire.d.ts +7 -7
  78. package/messaging/firebase.d.ts +2 -2
  79. package/messaging/messaging.module.d.ts +2 -2
  80. package/package.json +21 -76
  81. package/performance/rxfire.d.ts +2 -2
  82. package/publish.sh +1 -0
  83. package/remote-config/firebase.d.ts +2 -2
  84. package/remote-config/remote-config.module.d.ts +2 -2
  85. package/remote-config/rxfire.d.ts +5 -5
  86. package/schematics/add/index.js +1 -13
  87. package/schematics/deploy/actions.js +138 -394
  88. package/schematics/deploy/builder.js +139 -61
  89. package/schematics/setup/index.js +94 -64
  90. package/schematics/update/index.js +1 -7
  91. package/schematics/update/v7/index.js +1 -67
  92. package/schematics/versions.json +2 -3
  93. package/vertexai/firebase.d.ts +4 -0
  94. package/vertexai/index.d.ts +5 -0
  95. package/vertexai/package.json +3 -0
  96. package/{vertexai-preview → vertexai}/vertexai.d.ts +1 -1
  97. package/{vertexai-preview → vertexai}/vertexai.module.d.ts +1 -1
  98. package/zones.d.ts +1 -11
  99. package/analytics/is-analytics-supported-factory.d.ts +0 -4
  100. package/analytics/overrides.d.ts +0 -1
  101. package/esm2022/analytics/analytics.mjs +0 -16
  102. package/esm2022/analytics/analytics.module.mjs +0 -101
  103. package/esm2022/analytics/angular-fire-analytics.mjs +0 -5
  104. package/esm2022/analytics/firebase.mjs +0 -17
  105. package/esm2022/analytics/is-analytics-supported-factory.mjs +0 -16
  106. package/esm2022/analytics/overrides.mjs +0 -3
  107. package/esm2022/analytics/public_api.mjs +0 -6
  108. package/esm2022/analytics/screen-tracking.service.mjs +0 -148
  109. package/esm2022/analytics/user-tracking.service.mjs +0 -44
  110. package/esm2022/angular-fire.mjs +0 -5
  111. package/esm2022/app/angular-fire-app.mjs +0 -5
  112. package/esm2022/app/app.mjs +0 -15
  113. package/esm2022/app/app.module.mjs +0 -91
  114. package/esm2022/app/firebase.mjs +0 -13
  115. package/esm2022/app/public_api.mjs +0 -4
  116. package/esm2022/app-check/angular-fire-app-check.mjs +0 -5
  117. package/esm2022/app-check/app-check.mjs +0 -10
  118. package/esm2022/app-check/app-check.module.mjs +0 -80
  119. package/esm2022/app-check/firebase.mjs +0 -10
  120. package/esm2022/app-check/public_api.mjs +0 -5
  121. package/esm2022/auth/angular-fire-auth.mjs +0 -5
  122. package/esm2022/auth/auth.mjs +0 -16
  123. package/esm2022/auth/auth.module.mjs +0 -73
  124. package/esm2022/auth/firebase.mjs +0 -59
  125. package/esm2022/auth/public_api.mjs +0 -5
  126. package/esm2022/auth/rxfire.mjs +0 -7
  127. package/esm2022/auth-guard/angular-fire-auth-guard.mjs +0 -5
  128. package/esm2022/auth-guard/auth-guard.mjs +0 -53
  129. package/esm2022/auth-guard/auth-guard.module.mjs +0 -20
  130. package/esm2022/auth-guard/public_api.mjs +0 -3
  131. package/esm2022/compat/analytics/analytics.mjs +0 -160
  132. package/esm2022/compat/analytics/analytics.module.mjs +0 -35
  133. package/esm2022/compat/analytics/angular-fire-compat-analytics.mjs +0 -5
  134. package/esm2022/compat/analytics/base.mjs +0 -11
  135. package/esm2022/compat/analytics/public_api.mjs +0 -5
  136. package/esm2022/compat/analytics/screen-tracking.service.mjs +0 -49
  137. package/esm2022/compat/analytics/user-tracking.service.mjs +0 -53
  138. package/esm2022/compat/angular-fire-compat.mjs +0 -5
  139. package/esm2022/compat/auth/angular-fire-compat-auth.mjs +0 -5
  140. package/esm2022/compat/auth/auth.mjs +0 -161
  141. package/esm2022/compat/auth/auth.module.mjs +0 -20
  142. package/esm2022/compat/auth/base.mjs +0 -39
  143. package/esm2022/compat/auth/public_api.mjs +0 -4
  144. package/esm2022/compat/auth-guard/angular-fire-compat-auth-guard.mjs +0 -5
  145. package/esm2022/compat/auth-guard/auth-guard.mjs +0 -53
  146. package/esm2022/compat/auth-guard/auth-guard.module.mjs +0 -20
  147. package/esm2022/compat/auth-guard/public_api.mjs +0 -3
  148. package/esm2022/compat/cache.mjs +0 -33
  149. package/esm2022/compat/database/angular-fire-compat-database.mjs +0 -5
  150. package/esm2022/compat/database/database.mjs +0 -119
  151. package/esm2022/compat/database/database.module.mjs +0 -20
  152. package/esm2022/compat/database/interfaces.mjs +0 -2
  153. package/esm2022/compat/database/list/audit-trail.mjs +0 -47
  154. package/esm2022/compat/database/list/changes.mjs +0 -85
  155. package/esm2022/compat/database/list/create-reference.mjs +0 -44
  156. package/esm2022/compat/database/list/data-operation.mjs +0 -11
  157. package/esm2022/compat/database/list/remove.mjs +0 -16
  158. package/esm2022/compat/database/list/snapshot-changes.mjs +0 -7
  159. package/esm2022/compat/database/list/state-changes.mjs +0 -9
  160. package/esm2022/compat/database/list/utils.mjs +0 -8
  161. package/esm2022/compat/database/object/create-reference.mjs +0 -19
  162. package/esm2022/compat/database/object/snapshot-changes.mjs +0 -7
  163. package/esm2022/compat/database/observable/fromRef.mjs +0 -48
  164. package/esm2022/compat/database/public_api.mjs +0 -9
  165. package/esm2022/compat/database/utils.mjs +0 -36
  166. package/esm2022/compat/firebase.app.mjs +0 -6
  167. package/esm2022/compat/firebase.app.module.mjs +0 -71
  168. package/esm2022/compat/firestore/angular-fire-compat-firestore.mjs +0 -5
  169. package/esm2022/compat/firestore/collection/changes.mjs +0 -108
  170. package/esm2022/compat/firestore/collection/collection.mjs +0 -123
  171. package/esm2022/compat/firestore/collection-group/collection-group.mjs +0 -86
  172. package/esm2022/compat/firestore/document/document.mjs +0 -87
  173. package/esm2022/compat/firestore/firestore.mjs +0 -257
  174. package/esm2022/compat/firestore/firestore.module.mjs +0 -32
  175. package/esm2022/compat/firestore/interfaces.mjs +0 -2
  176. package/esm2022/compat/firestore/observable/fromRef.mjs +0 -40
  177. package/esm2022/compat/firestore/public_api.mjs +0 -9
  178. package/esm2022/compat/functions/angular-fire-compat-functions.mjs +0 -5
  179. package/esm2022/compat/functions/base.mjs +0 -8
  180. package/esm2022/compat/functions/functions.mjs +0 -69
  181. package/esm2022/compat/functions/functions.module.mjs +0 -20
  182. package/esm2022/compat/functions/public_api.mjs +0 -4
  183. package/esm2022/compat/messaging/angular-fire-compat-messaging.mjs +0 -5
  184. package/esm2022/compat/messaging/base.mjs +0 -9
  185. package/esm2022/compat/messaging/messaging.mjs +0 -81
  186. package/esm2022/compat/messaging/messaging.module.mjs +0 -20
  187. package/esm2022/compat/messaging/public_api.mjs +0 -3
  188. package/esm2022/compat/performance/angular-fire-compat-performance.mjs +0 -5
  189. package/esm2022/compat/performance/base.mjs +0 -9
  190. package/esm2022/compat/performance/performance.mjs +0 -105
  191. package/esm2022/compat/performance/performance.module.mjs +0 -27
  192. package/esm2022/compat/performance/performance.service.mjs +0 -28
  193. package/esm2022/compat/performance/public_api.mjs +0 -4
  194. package/esm2022/compat/proxy.mjs +0 -58
  195. package/esm2022/compat/public_api.mjs +0 -5
  196. package/esm2022/compat/remote-config/angular-fire-compat-remote-config.mjs +0 -5
  197. package/esm2022/compat/remote-config/base.mjs +0 -20
  198. package/esm2022/compat/remote-config/interfaces.mjs +0 -2
  199. package/esm2022/compat/remote-config/public_api.mjs +0 -3
  200. package/esm2022/compat/remote-config/remote-config.mjs +0 -206
  201. package/esm2022/compat/remote-config/remote-config.module.mjs +0 -20
  202. package/esm2022/compat/storage/angular-fire-compat-storage.mjs +0 -5
  203. package/esm2022/compat/storage/interfaces.mjs +0 -2
  204. package/esm2022/compat/storage/observable/fromTask.mjs +0 -36
  205. package/esm2022/compat/storage/pipes/storageUrl.pipe.mjs +0 -56
  206. package/esm2022/compat/storage/public_api.mjs +0 -7
  207. package/esm2022/compat/storage/ref.mjs +0 -28
  208. package/esm2022/compat/storage/storage.mjs +0 -95
  209. package/esm2022/compat/storage/storage.module.mjs +0 -22
  210. package/esm2022/compat/storage/task.mjs +0 -21
  211. package/esm2022/core.mjs +0 -43
  212. package/esm2022/database/angular-fire-database.mjs +0 -5
  213. package/esm2022/database/database.mjs +0 -16
  214. package/esm2022/database/database.module.mjs +0 -76
  215. package/esm2022/database/firebase.mjs +0 -44
  216. package/esm2022/database/public_api.mjs +0 -5
  217. package/esm2022/database/rxfire.mjs +0 -13
  218. package/esm2022/firestore/angular-fire-firestore.mjs +0 -5
  219. package/esm2022/firestore/firebase.mjs +0 -73
  220. package/esm2022/firestore/firestore.mjs +0 -16
  221. package/esm2022/firestore/firestore.module.mjs +0 -76
  222. package/esm2022/firestore/lite/angular-fire-firestore-lite.mjs +0 -5
  223. package/esm2022/firestore/lite/firebase.mjs +0 -48
  224. package/esm2022/firestore/lite/lite.mjs +0 -16
  225. package/esm2022/firestore/lite/lite.module.mjs +0 -75
  226. package/esm2022/firestore/lite/public_api.mjs +0 -5
  227. package/esm2022/firestore/lite/rxfire.mjs +0 -12
  228. package/esm2022/firestore/public_api.mjs +0 -5
  229. package/esm2022/firestore/rxfire.mjs +0 -15
  230. package/esm2022/functions/angular-fire-functions.mjs +0 -5
  231. package/esm2022/functions/firebase.mjs +0 -9
  232. package/esm2022/functions/functions.mjs +0 -16
  233. package/esm2022/functions/functions.module.mjs +0 -76
  234. package/esm2022/functions/public_api.mjs +0 -5
  235. package/esm2022/functions/rxfire.mjs +0 -5
  236. package/esm2022/messaging/angular-fire-messaging.mjs +0 -5
  237. package/esm2022/messaging/firebase.mjs +0 -10
  238. package/esm2022/messaging/is-messaging-supported-factory.mjs +0 -16
  239. package/esm2022/messaging/messaging.mjs +0 -16
  240. package/esm2022/messaging/messaging.module.mjs +0 -93
  241. package/esm2022/messaging/overrides.mjs +0 -3
  242. package/esm2022/messaging/public_api.mjs +0 -4
  243. package/esm2022/performance/angular-fire-performance.mjs +0 -5
  244. package/esm2022/performance/firebase.mjs +0 -8
  245. package/esm2022/performance/performance.mjs +0 -16
  246. package/esm2022/performance/performance.module.mjs +0 -83
  247. package/esm2022/performance/public_api.mjs +0 -5
  248. package/esm2022/performance/rxfire.mjs +0 -8
  249. package/esm2022/public_api.mjs +0 -3
  250. package/esm2022/remote-config/angular-fire-remote-config.mjs +0 -5
  251. package/esm2022/remote-config/firebase.mjs +0 -17
  252. package/esm2022/remote-config/is-remote-config-supported-factory.mjs +0 -16
  253. package/esm2022/remote-config/overrides.mjs +0 -3
  254. package/esm2022/remote-config/public_api.mjs +0 -5
  255. package/esm2022/remote-config/remote-config.mjs +0 -16
  256. package/esm2022/remote-config/remote-config.module.mjs +0 -93
  257. package/esm2022/remote-config/rxfire.mjs +0 -9
  258. package/esm2022/storage/angular-fire-storage.mjs +0 -5
  259. package/esm2022/storage/firebase.mjs +0 -20
  260. package/esm2022/storage/public_api.mjs +0 -5
  261. package/esm2022/storage/rxfire.mjs +0 -6
  262. package/esm2022/storage/storage.mjs +0 -16
  263. package/esm2022/storage/storage.module.mjs +0 -76
  264. package/esm2022/vertexai-preview/angular-fire-vertexai-preview.mjs +0 -5
  265. package/esm2022/vertexai-preview/firebase.mjs +0 -7
  266. package/esm2022/vertexai-preview/public_api.mjs +0 -4
  267. package/esm2022/vertexai-preview/vertexai.mjs +0 -16
  268. package/esm2022/vertexai-preview/vertexai.module.mjs +0 -73
  269. package/esm2022/zones.mjs +0 -194
  270. package/fesm2022/angular-fire-vertexai-preview.mjs.map +0 -1
  271. package/messaging/is-messaging-supported-factory.d.ts +0 -4
  272. package/messaging/overrides.d.ts +0 -1
  273. package/remote-config/is-remote-config-supported-factory.d.ts +0 -4
  274. package/remote-config/overrides.d.ts +0 -1
  275. package/schematics/common.js +0 -81
  276. package/schematics/deploy/functions-templates.js +0 -57
  277. package/schematics/firebaseTools.js +0 -78
  278. package/schematics/interfaces.js +0 -16
  279. package/schematics/setup/prompts.js +0 -195
  280. package/schematics/utils.js +0 -189
  281. package/vertexai-preview/firebase.d.ts +0 -4
  282. package/vertexai-preview/package.json +0 -3
  283. /package/{vertexai-preview → vertexai}/public_api.d.ts +0 -0
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,4 +0,0 @@
1
- export declare const isMessagingSupportedFactory: {
2
- async: () => any;
3
- sync: () => any;
4
- };
@@ -1 +0,0 @@
1
- export declare const isSupported: () => any;
@@ -1,4 +0,0 @@
1
- export declare const isRemoteConfigSupportedFactory: {
2
- async: () => any;
3
- sync: () => any;
4
- };
@@ -1 +0,0 @@
1
- export declare const isSupported: () => any;
@@ -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
- ];