@angular/fire 19.0.0-rc.0 → 19.0.0-rc.2
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.
- package/analytics/analytics.module.d.ts +2 -2
- package/analytics/firebase.d.ts +2 -2
- package/data-connect/data-connect.d.ts +9 -0
- package/data-connect/data-connect.module.d.ts +13 -0
- package/data-connect/firebase.d.ts +12 -0
- package/data-connect/index.d.ts +5 -0
- package/data-connect/package.json +3 -0
- package/data-connect/public_api.d.ts +3 -0
- package/fesm2022/angular-fire-analytics.mjs +14 -41
- package/fesm2022/angular-fire-analytics.mjs.map +1 -1
- package/fesm2022/angular-fire-compat-analytics.mjs +2 -2
- package/fesm2022/angular-fire-compat-analytics.mjs.map +1 -1
- package/fesm2022/angular-fire-compat-auth.mjs +3 -2
- package/fesm2022/angular-fire-compat-auth.mjs.map +1 -1
- package/fesm2022/angular-fire-compat-database.mjs +13 -12
- package/fesm2022/angular-fire-compat-database.mjs.map +1 -1
- package/fesm2022/angular-fire-compat-firestore.mjs +16 -15
- package/fesm2022/angular-fire-compat-firestore.mjs.map +1 -1
- package/fesm2022/angular-fire-compat-remote-config.mjs +3 -2
- package/fesm2022/angular-fire-compat-remote-config.mjs.map +1 -1
- package/fesm2022/angular-fire-compat-storage.mjs +4 -3
- package/fesm2022/angular-fire-compat-storage.mjs.map +1 -1
- package/fesm2022/angular-fire-data-connect.mjs +100 -0
- package/fesm2022/angular-fire-data-connect.mjs.map +1 -0
- package/fesm2022/angular-fire-messaging.mjs +11 -38
- package/fesm2022/angular-fire-messaging.mjs.map +1 -1
- package/fesm2022/angular-fire-remote-config.mjs +12 -39
- package/fesm2022/angular-fire-remote-config.mjs.map +1 -1
- package/fesm2022/angular-fire.mjs +15 -59
- package/fesm2022/angular-fire.mjs.map +1 -1
- package/messaging/firebase.d.ts +2 -2
- package/messaging/messaging.module.d.ts +2 -2
- package/package.json +7 -3
- package/remote-config/firebase.d.ts +2 -2
- package/remote-config/remote-config.module.d.ts +2 -2
- package/schematics/setup/index.js +2 -2
- package/zones.d.ts +1 -12
- package/analytics/is-analytics-supported-factory.d.ts +0 -4
- package/analytics/overrides.d.ts +0 -1
- package/messaging/is-messaging-supported-factory.d.ts +0 -4
- package/messaging/overrides.d.ts +0 -1
- package/remote-config/is-remote-config-supported-factory.d.ts +0 -4
- package/remote-config/overrides.d.ts +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"angular-fire-data-connect.mjs","sources":["../../../src/data-connect/data-connect.ts","../../../src/data-connect/data-connect.module.ts","../../../src/data-connect/firebase.ts","../../../src/data-connect/angular-fire-data-connect.ts"],"sourcesContent":["import { ɵgetAllInstancesOf } from '@angular/fire';\nimport { DataConnect } from 'firebase/data-connect';\nimport { from, timer } from 'rxjs';\nimport { concatMap, distinct } from 'rxjs/operators';\n\nexport { DataConnect };\n\nexport const DATA_CONNECT_PROVIDER_NAME = 'data-connect';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface DataConnectInstances extends Array<DataConnect> {}\n\nexport class DataConnectInstances {\n constructor() {\n return ɵgetAllInstancesOf<DataConnect>(DATA_CONNECT_PROVIDER_NAME);\n }\n}\n\nexport const dataConnectInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<DataConnect>(DATA_CONNECT_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 { FirebaseApp, FirebaseApps } from '@angular/fire/app';\nimport { registerVersion } from 'firebase/app';\nimport { DATA_CONNECT_PROVIDER_NAME, DataConnect, DataConnectInstances } from './data-connect';\n\nconst PROVIDED_DATA_CONNECT_INSTANCES = new InjectionToken<DataConnect[]>('angularfire2.data-connect-instances');\n\nexport function defaultDataConnectInstanceFactory(provided: DataConnect[]|undefined, defaultApp: FirebaseApp) {\n return ɵgetDefaultInstanceOf<DataConnect>(DATA_CONNECT_PROVIDER_NAME, provided, defaultApp);\n}\n\nexport function dataConnectInstanceFactory(fn: (injector: Injector) => DataConnect) {\n return (zone: NgZone, injector: Injector) => {\n return zone.runOutsideAngular(() => fn(injector));\n };\n}\n\nconst DATA_CONNECT_INSTANCES_PROVIDER = {\n provide: DataConnectInstances,\n deps: [\n [new Optional(), PROVIDED_DATA_CONNECT_INSTANCES ],\n ]\n};\n\nconst DEFAULT_DATA_CONNECT_INSTANCE_PROVIDER = {\n provide: DataConnect,\n useFactory: defaultDataConnectInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_DATA_CONNECT_INSTANCES ],\n FirebaseApp,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_DATA_CONNECT_INSTANCE_PROVIDER,\n DATA_CONNECT_INSTANCES_PROVIDER,\n ]\n})\nexport class DataConnectModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'fdc');\n }\n}\n\nexport function provideDataConnect(fn: (injector: Injector) => DataConnect, ...deps: any[]): EnvironmentProviders {\n registerVersion('angularfire', VERSION.full, 'fdc');\n\n return makeEnvironmentProviders([\n DEFAULT_DATA_CONNECT_INSTANCE_PROVIDER,\n DATA_CONNECT_INSTANCES_PROVIDER,\n {\n provide: PROVIDED_DATA_CONNECT_INSTANCES,\n useFactory: dataConnectInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n Injector,\n ɵAngularFireSchedulers,\n FirebaseApps,\n ...deps,\n ],\n }\n ]);\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/data-connect';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n connectDataConnectEmulator as _connectDataConnectEmulator,\n executeMutation as _executeMutation,\n executeQuery as _executeQuery,\n getDataConnect as _getDataConnect,\n mutationRef as _mutationRef,\n queryRef as _queryRef,\n setLogLevel as _setLogLevel,\n subscribe as _subscribe,\n terminate as _terminate,\n toQueryRef as _toQueryRef\n} from 'firebase/data-connect';\n\nexport const connectDataConnectEmulator = ɵzoneWrap(_connectDataConnectEmulator, true);\nexport const executeMutation = ɵzoneWrap(_executeMutation, true);\nexport const executeQuery = ɵzoneWrap(_executeQuery, true);\nexport const getDataConnect = ɵzoneWrap(_getDataConnect, true);\nexport const mutationRef = ɵzoneWrap(_mutationRef, true);\nexport const queryRef = ɵzoneWrap(_queryRef, true);\nexport const setLogLevel = ɵzoneWrap(_setLogLevel, true);\nexport const subscribe = ɵzoneWrap(_subscribe, true);\nexport const terminate = ɵzoneWrap(_terminate, true);\nexport const toQueryRef = ɵzoneWrap(_toQueryRef, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ɵgetAllInstancesOf","ɵgetDefaultInstanceOf","ɵAngularFireSchedulers","ɵzoneWrap","_connectDataConnectEmulator","_executeMutation","_executeQuery","_getDataConnect","_mutationRef","_queryRef","_setLogLevel","_subscribe","_terminate","_toQueryRef"],"mappings":"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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { ɵgetAllInstancesOf as _getAllInstancesOf,
|
|
1
|
+
import { ɵgetAllInstancesOf as _getAllInstancesOf, ɵgetDefaultInstanceOf as _getDefaultInstanceOf, VERSION, ɵAngularFireSchedulers as _AngularFireSchedulers, ɵzoneWrap as _zoneWrap } from '@angular/fire';
|
|
2
2
|
import { timer, from } from 'rxjs';
|
|
3
3
|
import { concatMap, distinct } from 'rxjs/operators';
|
|
4
|
+
import { isPlatformServer } from '@angular/common';
|
|
4
5
|
import * as i0 from '@angular/core';
|
|
5
|
-
import { InjectionToken, Optional,
|
|
6
|
+
import { InjectionToken, Optional, PLATFORM_ID, NgModule, makeEnvironmentProviders, NgZone, Injector } from '@angular/core';
|
|
6
7
|
import { FirebaseApp, FirebaseApps } from '@angular/fire/app';
|
|
7
8
|
import { registerVersion } from 'firebase/app';
|
|
8
|
-
import {
|
|
9
|
+
import { deleteToken as deleteToken$1, getMessaging as getMessaging$1, getToken as getToken$1, isSupported as isSupported$1, onMessage as onMessage$1 } from 'firebase/messaging';
|
|
9
10
|
export * from 'firebase/messaging';
|
|
10
11
|
|
|
11
12
|
class Messaging {
|
|
@@ -21,31 +22,17 @@ class MessagingInstances {
|
|
|
21
22
|
}
|
|
22
23
|
const messagingInstance$ = timer(0, 300).pipe(concatMap(() => from(_getAllInstancesOf(MESSAGING_PROVIDER_NAME))), distinct());
|
|
23
24
|
|
|
24
|
-
const isMessagingSupportedPromiseSymbol = '__angularfire_symbol__messagingIsSupported';
|
|
25
|
-
const isMessagingSupportedValueSymbol = '__angularfire_symbol__messagingIsSupportedValue';
|
|
26
|
-
globalThis[isMessagingSupportedPromiseSymbol] ||= isSupported$1().then(it => globalThis[isMessagingSupportedValueSymbol] = it).catch(() => globalThis[isMessagingSupportedValueSymbol] = false);
|
|
27
|
-
const isMessagingSupportedFactory = {
|
|
28
|
-
async: () => globalThis[isMessagingSupportedPromiseSymbol],
|
|
29
|
-
sync: () => {
|
|
30
|
-
const ret = globalThis[isMessagingSupportedValueSymbol];
|
|
31
|
-
if (ret === undefined) {
|
|
32
|
-
throw new Error(_isSupportedError('Messaging'));
|
|
33
|
-
}
|
|
34
|
-
return ret;
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
|
|
38
25
|
const PROVIDED_MESSAGING_INSTANCES = new InjectionToken('angularfire2.messaging-instances');
|
|
39
|
-
function defaultMessagingInstanceFactory(provided, defaultApp) {
|
|
40
|
-
if (
|
|
26
|
+
function defaultMessagingInstanceFactory(provided, defaultApp, platformId) {
|
|
27
|
+
if (isPlatformServer(platformId)) {
|
|
41
28
|
return null;
|
|
42
29
|
}
|
|
43
30
|
const defaultMessaging = _getDefaultInstanceOf(MESSAGING_PROVIDER_NAME, provided, defaultApp);
|
|
44
31
|
return defaultMessaging && new Messaging(defaultMessaging);
|
|
45
32
|
}
|
|
46
33
|
function messagingInstanceFactory(fn) {
|
|
47
|
-
return (zone, injector) => {
|
|
48
|
-
if (
|
|
34
|
+
return (zone, injector, platformId) => {
|
|
35
|
+
if (isPlatformServer(platformId)) {
|
|
49
36
|
return null;
|
|
50
37
|
}
|
|
51
38
|
const messaging = zone.runOutsideAngular(() => fn(injector));
|
|
@@ -64,6 +51,7 @@ const DEFAULT_MESSAGING_INSTANCE_PROVIDER = {
|
|
|
64
51
|
deps: [
|
|
65
52
|
[new Optional(), PROVIDED_MESSAGING_INSTANCES],
|
|
66
53
|
FirebaseApp,
|
|
54
|
+
PLATFORM_ID,
|
|
67
55
|
]
|
|
68
56
|
};
|
|
69
57
|
class MessagingModule {
|
|
@@ -75,11 +63,6 @@ class MessagingModule {
|
|
|
75
63
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: MessagingModule, providers: [
|
|
76
64
|
DEFAULT_MESSAGING_INSTANCE_PROVIDER,
|
|
77
65
|
MESSAGING_INSTANCES_PROVIDER,
|
|
78
|
-
{
|
|
79
|
-
provide: APP_INITIALIZER,
|
|
80
|
-
useValue: isMessagingSupportedFactory.async,
|
|
81
|
-
multi: true,
|
|
82
|
-
},
|
|
83
66
|
] });
|
|
84
67
|
}
|
|
85
68
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: MessagingModule, decorators: [{
|
|
@@ -88,11 +71,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImpor
|
|
|
88
71
|
providers: [
|
|
89
72
|
DEFAULT_MESSAGING_INSTANCE_PROVIDER,
|
|
90
73
|
MESSAGING_INSTANCES_PROVIDER,
|
|
91
|
-
{
|
|
92
|
-
provide: APP_INITIALIZER,
|
|
93
|
-
useValue: isMessagingSupportedFactory.async,
|
|
94
|
-
multi: true,
|
|
95
|
-
},
|
|
96
74
|
]
|
|
97
75
|
}]
|
|
98
76
|
}], ctorParameters: () => [] });
|
|
@@ -101,11 +79,6 @@ function provideMessaging(fn, ...deps) {
|
|
|
101
79
|
return makeEnvironmentProviders([
|
|
102
80
|
DEFAULT_MESSAGING_INSTANCE_PROVIDER,
|
|
103
81
|
MESSAGING_INSTANCES_PROVIDER,
|
|
104
|
-
{
|
|
105
|
-
provide: APP_INITIALIZER,
|
|
106
|
-
useValue: isMessagingSupportedFactory.async,
|
|
107
|
-
multi: true,
|
|
108
|
-
},
|
|
109
82
|
{
|
|
110
83
|
provide: PROVIDED_MESSAGING_INSTANCES,
|
|
111
84
|
useFactory: messagingInstanceFactory(fn),
|
|
@@ -113,6 +86,7 @@ function provideMessaging(fn, ...deps) {
|
|
|
113
86
|
deps: [
|
|
114
87
|
NgZone,
|
|
115
88
|
Injector,
|
|
89
|
+
PLATFORM_ID,
|
|
116
90
|
_AngularFireSchedulers,
|
|
117
91
|
FirebaseApps,
|
|
118
92
|
...deps,
|
|
@@ -121,12 +95,11 @@ function provideMessaging(fn, ...deps) {
|
|
|
121
95
|
]);
|
|
122
96
|
}
|
|
123
97
|
|
|
124
|
-
const isSupported = isMessagingSupportedFactory.async;
|
|
125
|
-
|
|
126
98
|
// DO NOT MODIFY, this file is autogenerated by tools/build.ts
|
|
127
99
|
const deleteToken = _zoneWrap(deleteToken$1, true);
|
|
128
100
|
const getMessaging = _zoneWrap(getMessaging$1, true);
|
|
129
101
|
const getToken = _zoneWrap(getToken$1, true);
|
|
102
|
+
const isSupported = _zoneWrap(isSupported$1, false);
|
|
130
103
|
const onMessage = _zoneWrap(onMessage$1, false);
|
|
131
104
|
|
|
132
105
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"angular-fire-messaging.mjs","sources":["../../../src/messaging/messaging.ts","../../../src/messaging/
|
|
1
|
+
{"version":3,"file":"angular-fire-messaging.mjs","sources":["../../../src/messaging/messaging.ts","../../../src/messaging/messaging.module.ts","../../../src/messaging/firebase.ts","../../../src/messaging/angular-fire-messaging.ts"],"sourcesContent":["import { ɵgetAllInstancesOf } from '@angular/fire';\nimport { Messaging as FirebaseMessaging } from 'firebase/messaging';\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 Messaging extends FirebaseMessaging {}\n\nexport class Messaging {\n constructor(messaging: FirebaseMessaging) {\n return messaging;\n }\n}\n\nexport const MESSAGING_PROVIDER_NAME = 'messaging';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface MessagingInstances extends Array<FirebaseMessaging> {}\n\nexport class MessagingInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseMessaging>(MESSAGING_PROVIDER_NAME);\n }\n}\n\nexport const messagingInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseMessaging>(MESSAGING_PROVIDER_NAME))),\n distinct(),\n);\n","import { isPlatformServer } from '@angular/common';\nimport {\n EnvironmentProviders,\n InjectionToken,\n Injector,\n NgModule,\n NgZone,\n Optional,\n PLATFORM_ID,\n makeEnvironmentProviders,\n} from '@angular/core';\nimport { VERSION, ɵAngularFireSchedulers, ɵgetDefaultInstanceOf } from '@angular/fire';\nimport { FirebaseApp, FirebaseApps } from '@angular/fire/app';\nimport { registerVersion } from 'firebase/app';\nimport { Messaging as FirebaseMessaging } from 'firebase/messaging';\nimport { MESSAGING_PROVIDER_NAME, Messaging, MessagingInstances } from './messaging';\n\nconst PROVIDED_MESSAGING_INSTANCES = new InjectionToken<Messaging[]>('angularfire2.messaging-instances');\n\nexport function defaultMessagingInstanceFactory(provided: FirebaseMessaging[]|undefined, defaultApp: FirebaseApp, platformId: object) {\n if (isPlatformServer(platformId)) { return null; }\n const defaultMessaging = ɵgetDefaultInstanceOf<FirebaseMessaging>(MESSAGING_PROVIDER_NAME, provided, defaultApp);\n return defaultMessaging && new Messaging(defaultMessaging);\n}\n\nexport function messagingInstanceFactory(fn: (injector: Injector) => FirebaseMessaging) {\n return (zone: NgZone, injector: Injector, platformId: object) => {\n if (isPlatformServer(platformId)) { return null; }\n const messaging = zone.runOutsideAngular(() => fn(injector));\n return new Messaging(messaging);\n };\n}\n\nconst MESSAGING_INSTANCES_PROVIDER = {\n provide: MessagingInstances,\n deps: [\n [new Optional(), PROVIDED_MESSAGING_INSTANCES ],\n ]\n};\n\nconst DEFAULT_MESSAGING_INSTANCE_PROVIDER = {\n provide: Messaging,\n useFactory: defaultMessagingInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_MESSAGING_INSTANCES ],\n FirebaseApp,\n PLATFORM_ID,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_MESSAGING_INSTANCE_PROVIDER,\n MESSAGING_INSTANCES_PROVIDER,\n ]\n})\nexport class MessagingModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'fcm');\n }\n}\n\nexport function provideMessaging(fn: (injector: Injector) => FirebaseMessaging, ...deps: any[]): EnvironmentProviders {\n registerVersion('angularfire', VERSION.full, 'fcm');\n\n return makeEnvironmentProviders([\n DEFAULT_MESSAGING_INSTANCE_PROVIDER,\n MESSAGING_INSTANCES_PROVIDER,\n {\n provide: PROVIDED_MESSAGING_INSTANCES,\n useFactory: messagingInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n Injector,\n PLATFORM_ID,\n ɵAngularFireSchedulers,\n FirebaseApps,\n ...deps,\n ],\n }\n ]);\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/messaging';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n deleteToken as _deleteToken,\n getMessaging as _getMessaging,\n getToken as _getToken,\n isSupported as _isSupported,\n onMessage as _onMessage\n} from 'firebase/messaging';\n\nexport const deleteToken = ɵzoneWrap(_deleteToken, true);\nexport const getMessaging = ɵzoneWrap(_getMessaging, true);\nexport const getToken = ɵzoneWrap(_getToken, true);\nexport const isSupported = ɵzoneWrap(_isSupported, false);\nexport const onMessage = ɵzoneWrap(_onMessage, false);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ɵgetAllInstancesOf","ɵgetDefaultInstanceOf","ɵAngularFireSchedulers","ɵzoneWrap","_deleteToken","_getMessaging","_getToken","_isSupported","_onMessage"],"mappings":"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"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { ɵgetAllInstancesOf as _getAllInstancesOf,
|
|
1
|
+
import { ɵgetAllInstancesOf as _getAllInstancesOf, ɵgetDefaultInstanceOf as _getDefaultInstanceOf, VERSION, ɵAngularFireSchedulers as _AngularFireSchedulers, ɵzoneWrap as _zoneWrap } from '@angular/fire';
|
|
2
2
|
import { timer, from } from 'rxjs';
|
|
3
3
|
import { concatMap, distinct } from 'rxjs/operators';
|
|
4
|
+
import { isPlatformServer } from '@angular/common';
|
|
4
5
|
import * as i0 from '@angular/core';
|
|
5
|
-
import { InjectionToken, Optional,
|
|
6
|
+
import { InjectionToken, Optional, PLATFORM_ID, NgModule, makeEnvironmentProviders, NgZone, Injector } from '@angular/core';
|
|
6
7
|
import { FirebaseApp, FirebaseApps } from '@angular/fire/app';
|
|
7
8
|
import { registerVersion } from 'firebase/app';
|
|
8
|
-
import { isSupported as isSupported$1, activate as activate$1, ensureInitialized as ensureInitialized$1, fetchAndActivate as fetchAndActivate$1, fetchConfig as fetchConfig$1, getAll as getAll$2, getBoolean as getBoolean$2, getNumber as getNumber$2, getRemoteConfig as getRemoteConfig$1, getString as getString$2, getValue as getValue$2, setLogLevel as setLogLevel$1 } from 'firebase/remote-config';
|
|
9
|
-
export * from 'firebase/remote-config';
|
|
10
9
|
import { getAll as getAll$1, getBoolean as getBoolean$1, getNumber as getNumber$1, getString as getString$1, getValue as getValue$1 } from 'rxfire/remote-config';
|
|
10
|
+
import { activate as activate$1, ensureInitialized as ensureInitialized$1, fetchAndActivate as fetchAndActivate$1, fetchConfig as fetchConfig$1, getAll as getAll$2, getBoolean as getBoolean$2, getNumber as getNumber$2, getRemoteConfig as getRemoteConfig$1, getString as getString$2, getValue as getValue$2, isSupported as isSupported$1, setLogLevel as setLogLevel$1 } from 'firebase/remote-config';
|
|
11
|
+
export * from 'firebase/remote-config';
|
|
11
12
|
|
|
12
13
|
class RemoteConfig {
|
|
13
14
|
constructor(remoteConfig) {
|
|
@@ -22,31 +23,17 @@ class RemoteConfigInstances {
|
|
|
22
23
|
}
|
|
23
24
|
const remoteConfigInstance$ = timer(0, 300).pipe(concatMap(() => from(_getAllInstancesOf(REMOTE_CONFIG_PROVIDER_NAME))), distinct());
|
|
24
25
|
|
|
25
|
-
const isRemoteConfigSupportedValueSymbol = '__angularfire_symbol__remoteConfigIsSupportedValue';
|
|
26
|
-
const isRemoteConfigSupportedPromiseSymbol = '__angularfire_symbol__remoteConfigIsSupported';
|
|
27
|
-
globalThis[isRemoteConfigSupportedPromiseSymbol] ||= isSupported$1().then(it => globalThis[isRemoteConfigSupportedValueSymbol] = it).catch(() => globalThis[isRemoteConfigSupportedValueSymbol] = false);
|
|
28
|
-
const isRemoteConfigSupportedFactory = {
|
|
29
|
-
async: () => globalThis[isRemoteConfigSupportedPromiseSymbol],
|
|
30
|
-
sync: () => {
|
|
31
|
-
const ret = globalThis[isRemoteConfigSupportedValueSymbol];
|
|
32
|
-
if (ret === undefined) {
|
|
33
|
-
throw new Error(_isSupportedError('RemoteConfig'));
|
|
34
|
-
}
|
|
35
|
-
return ret;
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
|
|
39
26
|
const PROVIDED_REMOTE_CONFIG_INSTANCES = new InjectionToken('angularfire2.remote-config-instances');
|
|
40
|
-
function defaultRemoteConfigInstanceFactory(provided, defaultApp) {
|
|
41
|
-
if (
|
|
27
|
+
function defaultRemoteConfigInstanceFactory(provided, defaultApp, platformId) {
|
|
28
|
+
if (isPlatformServer(platformId)) {
|
|
42
29
|
return null;
|
|
43
30
|
}
|
|
44
31
|
const defaultRemoteConfig = _getDefaultInstanceOf(REMOTE_CONFIG_PROVIDER_NAME, provided, defaultApp);
|
|
45
32
|
return defaultRemoteConfig && new RemoteConfig(defaultRemoteConfig);
|
|
46
33
|
}
|
|
47
34
|
function remoteConfigInstanceFactory(fn) {
|
|
48
|
-
return (zone, injector) => {
|
|
49
|
-
if (
|
|
35
|
+
return (zone, injector, platformId) => {
|
|
36
|
+
if (isPlatformServer(platformId)) {
|
|
50
37
|
return null;
|
|
51
38
|
}
|
|
52
39
|
const remoteConfig = zone.runOutsideAngular(() => fn(injector));
|
|
@@ -65,6 +52,7 @@ const DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER = {
|
|
|
65
52
|
deps: [
|
|
66
53
|
[new Optional(), PROVIDED_REMOTE_CONFIG_INSTANCES],
|
|
67
54
|
FirebaseApp,
|
|
55
|
+
PLATFORM_ID,
|
|
68
56
|
]
|
|
69
57
|
};
|
|
70
58
|
class RemoteConfigModule {
|
|
@@ -76,11 +64,6 @@ class RemoteConfigModule {
|
|
|
76
64
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: RemoteConfigModule, providers: [
|
|
77
65
|
DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER,
|
|
78
66
|
REMOTE_CONFIG_INSTANCES_PROVIDER,
|
|
79
|
-
{
|
|
80
|
-
provide: APP_INITIALIZER,
|
|
81
|
-
useValue: isRemoteConfigSupportedFactory.async,
|
|
82
|
-
multi: true,
|
|
83
|
-
},
|
|
84
67
|
] });
|
|
85
68
|
}
|
|
86
69
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: RemoteConfigModule, decorators: [{
|
|
@@ -89,11 +72,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImpor
|
|
|
89
72
|
providers: [
|
|
90
73
|
DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER,
|
|
91
74
|
REMOTE_CONFIG_INSTANCES_PROVIDER,
|
|
92
|
-
{
|
|
93
|
-
provide: APP_INITIALIZER,
|
|
94
|
-
useValue: isRemoteConfigSupportedFactory.async,
|
|
95
|
-
multi: true,
|
|
96
|
-
},
|
|
97
75
|
]
|
|
98
76
|
}]
|
|
99
77
|
}], ctorParameters: () => [] });
|
|
@@ -102,11 +80,6 @@ function provideRemoteConfig(fn, ...deps) {
|
|
|
102
80
|
return makeEnvironmentProviders([
|
|
103
81
|
DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER,
|
|
104
82
|
REMOTE_CONFIG_INSTANCES_PROVIDER,
|
|
105
|
-
{
|
|
106
|
-
provide: APP_INITIALIZER,
|
|
107
|
-
useValue: isRemoteConfigSupportedFactory.async,
|
|
108
|
-
multi: true,
|
|
109
|
-
},
|
|
110
83
|
{
|
|
111
84
|
provide: PROVIDED_REMOTE_CONFIG_INSTANCES,
|
|
112
85
|
useFactory: remoteConfigInstanceFactory(fn),
|
|
@@ -114,6 +87,7 @@ function provideRemoteConfig(fn, ...deps) {
|
|
|
114
87
|
deps: [
|
|
115
88
|
NgZone,
|
|
116
89
|
Injector,
|
|
90
|
+
PLATFORM_ID,
|
|
117
91
|
_AngularFireSchedulers,
|
|
118
92
|
FirebaseApps,
|
|
119
93
|
...deps,
|
|
@@ -129,8 +103,6 @@ const getNumberChanges = _zoneWrap(getNumber$1, true);
|
|
|
129
103
|
const getStringChanges = _zoneWrap(getString$1, true);
|
|
130
104
|
const getValueChanges = _zoneWrap(getValue$1, true);
|
|
131
105
|
|
|
132
|
-
const isSupported = isRemoteConfigSupportedFactory.async;
|
|
133
|
-
|
|
134
106
|
// DO NOT MODIFY, this file is autogenerated by tools/build.ts
|
|
135
107
|
const activate = _zoneWrap(activate$1, true);
|
|
136
108
|
const ensureInitialized = _zoneWrap(ensureInitialized$1, true);
|
|
@@ -142,6 +114,7 @@ const getNumber = _zoneWrap(getNumber$2, true);
|
|
|
142
114
|
const getRemoteConfig = _zoneWrap(getRemoteConfig$1, true);
|
|
143
115
|
const getString = _zoneWrap(getString$2, true);
|
|
144
116
|
const getValue = _zoneWrap(getValue$2, true);
|
|
117
|
+
const isSupported = _zoneWrap(isSupported$1, true);
|
|
145
118
|
const setLogLevel = _zoneWrap(setLogLevel$1, true);
|
|
146
119
|
|
|
147
120
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"angular-fire-remote-config.mjs","sources":["../../../src/remote-config/remote-config.ts","../../../src/remote-config/is-remote-config-supported-factory.ts","../../../src/remote-config/remote-config.module.ts","../../../src/remote-config/rxfire.ts","../../../src/remote-config/overrides.ts","../../../src/remote-config/firebase.ts","../../../src/remote-config/angular-fire-remote-config.ts"],"sourcesContent":["import { ɵgetAllInstancesOf } from '@angular/fire';\nimport { RemoteConfig as FirebaseRemoteConfig } from 'firebase/remote-config';\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 RemoteConfig extends FirebaseRemoteConfig {}\n\nexport class RemoteConfig {\n constructor(remoteConfig: FirebaseRemoteConfig) {\n return remoteConfig;\n }\n}\n\nexport const REMOTE_CONFIG_PROVIDER_NAME = 'remote-config';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface RemoteConfigInstances extends Array<FirebaseRemoteConfig> {}\n\nexport class RemoteConfigInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseRemoteConfig>(REMOTE_CONFIG_PROVIDER_NAME);\n }\n}\n\nexport const remoteConfigInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseRemoteConfig>(REMOTE_CONFIG_PROVIDER_NAME))),\n distinct(),\n);\n","import { ɵisSupportedError } from '@angular/fire';\nimport { isSupported } from 'firebase/remote-config';\n\nconst isRemoteConfigSupportedValueSymbol = '__angularfire_symbol__remoteConfigIsSupportedValue';\nconst isRemoteConfigSupportedPromiseSymbol = '__angularfire_symbol__remoteConfigIsSupported';\n\nglobalThis[isRemoteConfigSupportedPromiseSymbol] ||= isSupported().then(it =>\n globalThis[isRemoteConfigSupportedValueSymbol] = it\n).catch(() =>\n globalThis[isRemoteConfigSupportedValueSymbol] = false\n);\n\nexport const isRemoteConfigSupportedFactory = {\n async: () => globalThis[isRemoteConfigSupportedPromiseSymbol],\n sync: () => {\n const ret = globalThis[isRemoteConfigSupportedValueSymbol];\n if (ret === undefined) { throw new Error(ɵisSupportedError('RemoteConfig')); }\n return ret;\n }\n};\n","import {\n APP_INITIALIZER,\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 { FirebaseApp, FirebaseApps } from '@angular/fire/app';\nimport { registerVersion } from 'firebase/app';\nimport { RemoteConfig as FirebaseRemoteConfig } from 'firebase/remote-config';\nimport { isRemoteConfigSupportedFactory } from './is-remote-config-supported-factory';\nimport { REMOTE_CONFIG_PROVIDER_NAME, RemoteConfig, RemoteConfigInstances } from './remote-config';\n\nexport const PROVIDED_REMOTE_CONFIG_INSTANCES = new InjectionToken<RemoteConfig[]>('angularfire2.remote-config-instances');\n\nexport function defaultRemoteConfigInstanceFactory(\n provided: FirebaseRemoteConfig[]|undefined,\n defaultApp: FirebaseApp,\n) {\n if (!isRemoteConfigSupportedFactory.sync()) { return null; }\n const defaultRemoteConfig = ɵgetDefaultInstanceOf<FirebaseRemoteConfig>(REMOTE_CONFIG_PROVIDER_NAME, provided, defaultApp);\n return defaultRemoteConfig && new RemoteConfig(defaultRemoteConfig);\n}\n\nexport function remoteConfigInstanceFactory(fn: (injector: Injector) => FirebaseRemoteConfig) {\n return (zone: NgZone, injector: Injector) => {\n if (!isRemoteConfigSupportedFactory.sync()) { return null; }\n const remoteConfig = zone.runOutsideAngular(() => fn(injector));\n return new RemoteConfig(remoteConfig);\n };\n}\n\nconst REMOTE_CONFIG_INSTANCES_PROVIDER = {\n provide: RemoteConfigInstances,\n deps: [\n [new Optional(), PROVIDED_REMOTE_CONFIG_INSTANCES ],\n ]\n};\n\nconst DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER = {\n provide: RemoteConfig,\n useFactory: defaultRemoteConfigInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_REMOTE_CONFIG_INSTANCES ],\n FirebaseApp,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER,\n REMOTE_CONFIG_INSTANCES_PROVIDER,\n {\n provide: APP_INITIALIZER,\n useValue: isRemoteConfigSupportedFactory.async,\n multi: true,\n },\n ]\n})\nexport class RemoteConfigModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'rc');\n }\n}\n\nexport function provideRemoteConfig(\n fn: (injector: Injector) => FirebaseRemoteConfig, ...deps: any[]\n): EnvironmentProviders {\n registerVersion('angularfire', VERSION.full, 'rc');\n\n return makeEnvironmentProviders([\n DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER,\n REMOTE_CONFIG_INSTANCES_PROVIDER,\n {\n provide: APP_INITIALIZER,\n useValue: isRemoteConfigSupportedFactory.async,\n multi: true,\n },\n {\n provide: PROVIDED_REMOTE_CONFIG_INSTANCES,\n useFactory: remoteConfigInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n Injector,\n ɵAngularFireSchedulers,\n FirebaseApps,\n ...deps,\n ]\n }\n ]);\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n getAll as _getAll,\n getBoolean as _getBoolean,\n getNumber as _getNumber,\n getString as _getString,\n getValue as _getValue\n} from 'rxfire/remote-config';\n\nexport const getAllChanges = ɵzoneWrap(_getAll, true);\nexport const getBooleanChanges = ɵzoneWrap(_getBoolean, true);\nexport const getNumberChanges = ɵzoneWrap(_getNumber, true);\nexport const getStringChanges = ɵzoneWrap(_getString, true);\nexport const getValueChanges = ɵzoneWrap(_getValue, true);\n","import { isRemoteConfigSupportedFactory } from './is-remote-config-supported-factory';\n\nexport const isSupported = isRemoteConfigSupportedFactory.async;\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/remote-config';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n activate as _activate,\n ensureInitialized as _ensureInitialized,\n fetchAndActivate as _fetchAndActivate,\n fetchConfig as _fetchConfig,\n getAll as _getAll,\n getBoolean as _getBoolean,\n getNumber as _getNumber,\n getRemoteConfig as _getRemoteConfig,\n getString as _getString,\n getValue as _getValue,\n setLogLevel as _setLogLevel\n} from 'firebase/remote-config';\n\nexport {\n isSupported\n} from './overrides';\n\nexport const activate = ɵzoneWrap(_activate, true);\nexport const ensureInitialized = ɵzoneWrap(_ensureInitialized, true);\nexport const fetchAndActivate = ɵzoneWrap(_fetchAndActivate, true);\nexport const fetchConfig = ɵzoneWrap(_fetchConfig, true);\nexport const getAll = ɵzoneWrap(_getAll, true);\nexport const getBoolean = ɵzoneWrap(_getBoolean, true);\nexport const getNumber = ɵzoneWrap(_getNumber, true);\nexport const getRemoteConfig = ɵzoneWrap(_getRemoteConfig, true);\nexport const getString = ɵzoneWrap(_getString, true);\nexport const getValue = ɵzoneWrap(_getValue, true);\nexport const setLogLevel = ɵzoneWrap(_setLogLevel, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ɵgetAllInstancesOf","isSupported","ɵisSupportedError","ɵgetDefaultInstanceOf","ɵAngularFireSchedulers","ɵzoneWrap","_getAll","_getBoolean","_getNumber","_getString","_getValue","_activate","_ensureInitialized","_fetchAndActivate","_fetchConfig","_getRemoteConfig","_setLogLevel"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"angular-fire-remote-config.mjs","sources":["../../../src/remote-config/remote-config.ts","../../../src/remote-config/remote-config.module.ts","../../../src/remote-config/rxfire.ts","../../../src/remote-config/firebase.ts","../../../src/remote-config/angular-fire-remote-config.ts"],"sourcesContent":["import { ɵgetAllInstancesOf } from '@angular/fire';\nimport { RemoteConfig as FirebaseRemoteConfig } from 'firebase/remote-config';\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 RemoteConfig extends FirebaseRemoteConfig {}\n\nexport class RemoteConfig {\n constructor(remoteConfig: FirebaseRemoteConfig) {\n return remoteConfig;\n }\n}\n\nexport const REMOTE_CONFIG_PROVIDER_NAME = 'remote-config';\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface RemoteConfigInstances extends Array<FirebaseRemoteConfig> {}\n\nexport class RemoteConfigInstances {\n constructor() {\n return ɵgetAllInstancesOf<FirebaseRemoteConfig>(REMOTE_CONFIG_PROVIDER_NAME);\n }\n}\n\nexport const remoteConfigInstance$ = timer(0, 300).pipe(\n concatMap(() => from(ɵgetAllInstancesOf<FirebaseRemoteConfig>(REMOTE_CONFIG_PROVIDER_NAME))),\n distinct(),\n);\n","import { isPlatformServer } from '@angular/common';\nimport {\n EnvironmentProviders,\n InjectionToken,\n Injector,\n NgModule,\n NgZone,\n Optional,\n PLATFORM_ID,\n makeEnvironmentProviders,\n} from '@angular/core';\nimport { VERSION, ɵAngularFireSchedulers, ɵgetDefaultInstanceOf } from '@angular/fire';\nimport { FirebaseApp, FirebaseApps } from '@angular/fire/app';\nimport { registerVersion } from 'firebase/app';\nimport { RemoteConfig as FirebaseRemoteConfig } from 'firebase/remote-config';\nimport { REMOTE_CONFIG_PROVIDER_NAME, RemoteConfig, RemoteConfigInstances } from './remote-config';\n\nexport const PROVIDED_REMOTE_CONFIG_INSTANCES = new InjectionToken<RemoteConfig[]>('angularfire2.remote-config-instances');\n\nexport function defaultRemoteConfigInstanceFactory(\n provided: FirebaseRemoteConfig[]|undefined,\n defaultApp: FirebaseApp,\n platformId: object,\n) {\n if (isPlatformServer(platformId)) { return null; }\n const defaultRemoteConfig = ɵgetDefaultInstanceOf<FirebaseRemoteConfig>(REMOTE_CONFIG_PROVIDER_NAME, provided, defaultApp);\n return defaultRemoteConfig && new RemoteConfig(defaultRemoteConfig);\n}\n\nexport function remoteConfigInstanceFactory(fn: (injector: Injector) => FirebaseRemoteConfig) {\n return (zone: NgZone, injector: Injector, platformId: object) => {\n if (isPlatformServer(platformId)) { return null; }\n const remoteConfig = zone.runOutsideAngular(() => fn(injector));\n return new RemoteConfig(remoteConfig);\n };\n}\n\nconst REMOTE_CONFIG_INSTANCES_PROVIDER = {\n provide: RemoteConfigInstances,\n deps: [\n [new Optional(), PROVIDED_REMOTE_CONFIG_INSTANCES ],\n ]\n};\n\nconst DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER = {\n provide: RemoteConfig,\n useFactory: defaultRemoteConfigInstanceFactory,\n deps: [\n [new Optional(), PROVIDED_REMOTE_CONFIG_INSTANCES ],\n FirebaseApp,\n PLATFORM_ID,\n ]\n};\n\n@NgModule({\n providers: [\n DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER,\n REMOTE_CONFIG_INSTANCES_PROVIDER,\n ]\n})\nexport class RemoteConfigModule {\n constructor() {\n registerVersion('angularfire', VERSION.full, 'rc');\n }\n}\n\nexport function provideRemoteConfig(\n fn: (injector: Injector) => FirebaseRemoteConfig, ...deps: any[]\n): EnvironmentProviders {\n registerVersion('angularfire', VERSION.full, 'rc');\n\n return makeEnvironmentProviders([\n DEFAULT_REMOTE_CONFIG_INSTANCE_PROVIDER,\n REMOTE_CONFIG_INSTANCES_PROVIDER,\n {\n provide: PROVIDED_REMOTE_CONFIG_INSTANCES,\n useFactory: remoteConfigInstanceFactory(fn),\n multi: true,\n deps: [\n NgZone,\n Injector,\n PLATFORM_ID,\n ɵAngularFireSchedulers,\n FirebaseApps,\n ...deps,\n ]\n }\n ]);\n}\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n getAll as _getAll,\n getBoolean as _getBoolean,\n getNumber as _getNumber,\n getString as _getString,\n getValue as _getValue\n} from 'rxfire/remote-config';\n\nexport const getAllChanges = ɵzoneWrap(_getAll, true);\nexport const getBooleanChanges = ɵzoneWrap(_getBoolean, true);\nexport const getNumberChanges = ɵzoneWrap(_getNumber, true);\nexport const getStringChanges = ɵzoneWrap(_getString, true);\nexport const getValueChanges = ɵzoneWrap(_getValue, true);\n","// DO NOT MODIFY, this file is autogenerated by tools/build.ts\nexport * from 'firebase/remote-config';\nimport { ɵzoneWrap } from '@angular/fire';\nimport {\n activate as _activate,\n ensureInitialized as _ensureInitialized,\n fetchAndActivate as _fetchAndActivate,\n fetchConfig as _fetchConfig,\n getAll as _getAll,\n getBoolean as _getBoolean,\n getNumber as _getNumber,\n getRemoteConfig as _getRemoteConfig,\n getString as _getString,\n getValue as _getValue,\n isSupported as _isSupported,\n setLogLevel as _setLogLevel\n} from 'firebase/remote-config';\n\nexport const activate = ɵzoneWrap(_activate, true);\nexport const ensureInitialized = ɵzoneWrap(_ensureInitialized, true);\nexport const fetchAndActivate = ɵzoneWrap(_fetchAndActivate, true);\nexport const fetchConfig = ɵzoneWrap(_fetchConfig, true);\nexport const getAll = ɵzoneWrap(_getAll, true);\nexport const getBoolean = ɵzoneWrap(_getBoolean, true);\nexport const getNumber = ɵzoneWrap(_getNumber, true);\nexport const getRemoteConfig = ɵzoneWrap(_getRemoteConfig, true);\nexport const getString = ɵzoneWrap(_getString, true);\nexport const getValue = ɵzoneWrap(_getValue, true);\nexport const isSupported = ɵzoneWrap(_isSupported, true);\nexport const setLogLevel = ɵzoneWrap(_setLogLevel, true);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["ɵgetAllInstancesOf","ɵgetDefaultInstanceOf","ɵAngularFireSchedulers","ɵzoneWrap","_getAll","_getBoolean","_getNumber","_getString","_getValue","_activate","_ensureInitialized","_fetchAndActivate","_fetchConfig","_getRemoteConfig","_isSupported","_setLogLevel"],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Version, Injectable } from '@angular/core';
|
|
2
|
+
import { Version, inject, NgZone, Injectable, PendingTasks } from '@angular/core';
|
|
3
3
|
import { getApps } from 'firebase/app';
|
|
4
|
+
import { pendingUntilEvent } from '@angular/core/rxjs-interop';
|
|
4
5
|
import { queueScheduler, asyncScheduler, Observable } from 'rxjs';
|
|
5
|
-
import {
|
|
6
|
+
import { observeOn, subscribeOn } from 'rxjs/operators';
|
|
6
7
|
|
|
7
8
|
const VERSION = new Version('ANGULARFIRE2_VERSION');
|
|
8
9
|
const ɵisSupportedError = (module) => `The APP_INITIALIZER that is "making" isSupported() sync for the sake of convenient DI has not resolved in this
|
|
@@ -79,34 +80,15 @@ class ɵZoneScheduler {
|
|
|
79
80
|
return this.delegate.schedule(workInZone, delay, state);
|
|
80
81
|
}
|
|
81
82
|
}
|
|
82
|
-
class BlockUntilFirstOperator {
|
|
83
|
-
zone;
|
|
84
|
-
pendingTasks;
|
|
85
|
-
constructor(zone, pendingTasks) {
|
|
86
|
-
this.zone = zone;
|
|
87
|
-
this.pendingTasks = pendingTasks;
|
|
88
|
-
}
|
|
89
|
-
call(subscriber, source) {
|
|
90
|
-
const taskDone = this.zone.run(() => this.pendingTasks.add());
|
|
91
|
-
// maybe this is a race condition, invoke in a timeout
|
|
92
|
-
// hold for 10ms while I try to figure out what is going on
|
|
93
|
-
const unscheduleTask = () => setTimeout(taskDone, 10);
|
|
94
|
-
return source.pipe(tap({ next: unscheduleTask, complete: unscheduleTask, error: unscheduleTask })).subscribe(subscriber).add(unscheduleTask);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
83
|
class ɵAngularFireSchedulers {
|
|
98
|
-
ngZone;
|
|
99
|
-
pendingTasks;
|
|
100
84
|
outsideAngular;
|
|
101
85
|
insideAngular;
|
|
102
|
-
constructor(
|
|
103
|
-
|
|
104
|
-
this.pendingTasks = pendingTasks;
|
|
86
|
+
constructor() {
|
|
87
|
+
const ngZone = inject(NgZone);
|
|
105
88
|
this.outsideAngular = ngZone.runOutsideAngular(() => new ɵZoneScheduler(typeof Zone === 'undefined' ? undefined : Zone.current));
|
|
106
89
|
this.insideAngular = ngZone.run(() => new ɵZoneScheduler(typeof Zone === 'undefined' ? undefined : Zone.current, asyncScheduler));
|
|
107
|
-
globalThis.ɵAngularFireScheduler ||= this;
|
|
108
90
|
}
|
|
109
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: ɵAngularFireSchedulers, deps: [
|
|
91
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: ɵAngularFireSchedulers, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
110
92
|
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: ɵAngularFireSchedulers, providedIn: 'root' });
|
|
111
93
|
}
|
|
112
94
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImport: i0, type: ɵAngularFireSchedulers, decorators: [{
|
|
@@ -114,20 +96,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.0", ngImpor
|
|
|
114
96
|
args: [{
|
|
115
97
|
providedIn: 'root',
|
|
116
98
|
}]
|
|
117
|
-
}], ctorParameters: () => [
|
|
99
|
+
}], ctorParameters: () => [] });
|
|
118
100
|
function getSchedulers() {
|
|
119
|
-
|
|
120
|
-
if (!schedulers) {
|
|
121
|
-
throw new Error(`Either AngularFireModule has not been provided in your AppModule (this can be done manually or implictly using
|
|
122
|
-
provideFirebaseApp) or you're calling an AngularFire method outside of an NgModule (which is not supported).`);
|
|
123
|
-
}
|
|
124
|
-
return schedulers;
|
|
101
|
+
return inject(ɵAngularFireSchedulers);
|
|
125
102
|
}
|
|
126
103
|
function runOutsideAngular(fn) {
|
|
127
|
-
return
|
|
104
|
+
return inject(NgZone).runOutsideAngular(() => fn());
|
|
128
105
|
}
|
|
129
106
|
function run(fn) {
|
|
130
|
-
return
|
|
107
|
+
return inject(NgZone).run(() => fn());
|
|
131
108
|
}
|
|
132
109
|
function observeOutsideAngular(obs$) {
|
|
133
110
|
return obs$.pipe(observeOn(getSchedulers().outsideAngular));
|
|
@@ -135,28 +112,6 @@ function observeOutsideAngular(obs$) {
|
|
|
135
112
|
function observeInsideAngular(obs$) {
|
|
136
113
|
return obs$.pipe(observeOn(getSchedulers().insideAngular));
|
|
137
114
|
}
|
|
138
|
-
function keepUnstableUntilFirst(obs$) {
|
|
139
|
-
return ɵkeepUnstableUntilFirstFactory(getSchedulers())(obs$);
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Operator to block the zone until the first value has been emitted or the observable
|
|
143
|
-
* has completed/errored. This is used to make sure that universal waits until the first
|
|
144
|
-
* value from firebase but doesn't block the zone forever since the firebase subscription
|
|
145
|
-
* is still alive.
|
|
146
|
-
*/
|
|
147
|
-
function ɵkeepUnstableUntilFirstFactory(schedulers) {
|
|
148
|
-
return function keepUnstableUntilFirst(obs$) {
|
|
149
|
-
obs$ = obs$.lift(new BlockUntilFirstOperator(schedulers.ngZone, schedulers.pendingTasks));
|
|
150
|
-
return obs$.pipe(
|
|
151
|
-
// Run the subscribe body outside of Angular (e.g. calling Firebase SDK to add a listener to a change event)
|
|
152
|
-
subscribeOn(schedulers.outsideAngular),
|
|
153
|
-
// Run operators inside the angular zone (e.g. side effects via tap())
|
|
154
|
-
observeOn(schedulers.insideAngular)
|
|
155
|
-
// INVESTIGATE https://github.com/angular/angularfire/pull/2315
|
|
156
|
-
// share()
|
|
157
|
-
);
|
|
158
|
-
};
|
|
159
|
-
}
|
|
160
115
|
const zoneWrapFn = (it, taskDone) => {
|
|
161
116
|
return (...args) => {
|
|
162
117
|
if (taskDone) {
|
|
@@ -175,7 +130,7 @@ const ɵzoneWrap = (it, blockUntilFirst) => {
|
|
|
175
130
|
for (let i = 0; i < arguments.length; i++) {
|
|
176
131
|
if (typeof _arguments[i] === 'function') {
|
|
177
132
|
if (blockUntilFirst) {
|
|
178
|
-
taskDone ||= run(() =>
|
|
133
|
+
taskDone ||= run(() => inject(PendingTasks).add());
|
|
179
134
|
}
|
|
180
135
|
// TODO create a microtask to track callback functions
|
|
181
136
|
_arguments[i] = zoneWrapFn(_arguments[i], taskDone);
|
|
@@ -192,12 +147,13 @@ const ɵzoneWrap = (it, blockUntilFirst) => {
|
|
|
192
147
|
}
|
|
193
148
|
}
|
|
194
149
|
if (ret instanceof Observable) {
|
|
195
|
-
|
|
150
|
+
const schedulers = getSchedulers();
|
|
151
|
+
return ret.pipe(subscribeOn(schedulers.outsideAngular), observeOn(schedulers.insideAngular), pendingUntilEvent());
|
|
196
152
|
}
|
|
197
153
|
else if (ret instanceof Promise) {
|
|
198
154
|
// eslint-disable-next-line @typescript-eslint/no-misused-promises
|
|
199
155
|
return run(() => new Promise((resolve, reject) => {
|
|
200
|
-
ret.then((it) => run(() => resolve(it)), (reason) => run(() => reject(reason)));
|
|
156
|
+
inject(PendingTasks).run(() => ret).then((it) => run(() => resolve(it)), (reason) => run(() => reject(reason)));
|
|
201
157
|
}));
|
|
202
158
|
}
|
|
203
159
|
else if (typeof ret === 'function' && taskDone) {
|
|
@@ -219,5 +175,5 @@ const ɵzoneWrap = (it, blockUntilFirst) => {
|
|
|
219
175
|
* Generated bundle index. Do not edit.
|
|
220
176
|
*/
|
|
221
177
|
|
|
222
|
-
export { VERSION,
|
|
178
|
+
export { VERSION, observeInsideAngular, observeOutsideAngular, ɵAPP_CHECK_PROVIDER_NAME, ɵAngularFireSchedulers, ɵAppCheckInstances, ɵZoneScheduler, ɵgetAllInstancesOf, ɵgetDefaultInstanceOf, ɵisSupportedError, ɵzoneWrap };
|
|
223
179
|
//# sourceMappingURL=angular-fire.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"angular-fire.mjs","sources":["../../../src/core.ts","../../../src/zones.ts","../../../src/angular-fire.ts"],"sourcesContent":["import { Version } from '@angular/core';\nimport { ComponentContainer } from '@firebase/component';\nimport { FirebaseApp, getApps } from 'firebase/app';\nimport type { AppCheck } from 'firebase/app-check';\n\nexport const VERSION = new Version('ANGULARFIRE2_VERSION');\n\nexport const ɵisSupportedError = (module: string) =>\n `The APP_INITIALIZER that is \"making\" isSupported() sync for the sake of convenient DI has not resolved in this\ncontext. Rather than injecting ${module} in the constructor, first ensure that ${module} is supported by calling\n\\`await isSupported()\\`, then retrieve the instance from the injector manually \\`injector.get(${module})\\`.`;\n\n// TODO is there a better way to get at the internal types?\ninterface FirebaseAppWithContainer extends FirebaseApp {\n container: ComponentContainer;\n}\n\nexport function ɵgetDefaultInstanceOf<T= unknown>(identifier: string, provided: T[]|undefined, defaultApp: FirebaseApp): T|undefined {\n if (provided) {\n // Was provide* only called once? If so grab that\n if (provided.length === 1) { return provided[0]; }\n const providedUsingDefaultApp = provided.filter((it: any) => it.app === defaultApp);\n // Was provide* only called once, using the default app? If so use that\n if (providedUsingDefaultApp.length === 1) { return providedUsingDefaultApp[0]; }\n }\n // Grab the default instance from the defaultApp\n const defaultAppWithContainer: FirebaseAppWithContainer = defaultApp as any;\n const provider = defaultAppWithContainer.container.getProvider(identifier as never);\n return provider.getImmediate({ optional: true });\n}\n\nexport const ɵgetAllInstancesOf = <T= unknown>(identifier: string, app?: FirebaseApp): T[] => {\n const apps = app ? [app] : getApps();\n const instances: any[] = [];\n apps.forEach((app: FirebaseAppWithContainer) => {\n const provider: any = app.container.getProvider(identifier as never);\n provider.instances.forEach((instance: any) => {\n if (!instances.includes(instance)) {\n instances.push(instance);\n }\n });\n });\n return instances;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface ɵAppCheckInstances extends Array<AppCheck> {}\n\nexport class ɵAppCheckInstances {\n constructor() {\n return ɵgetAllInstancesOf<AppCheck>(ɵAPP_CHECK_PROVIDER_NAME);\n }\n}\n\nexport const ɵAPP_CHECK_PROVIDER_NAME = 'app-check';\n","/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport {\n Injectable,\n NgZone,\n PendingTasks\n} from '@angular/core';\nimport {\n Observable,\n Operator,\n SchedulerAction,\n SchedulerLike,\n Subscriber,\n Subscription,\n TeardownLogic,\n asyncScheduler,\n queueScheduler\n} from 'rxjs';\nimport { observeOn, subscribeOn, tap } from 'rxjs/operators';\n\ndeclare const Zone: {current: unknown} | undefined; \n\n/**\n * Schedules tasks so that they are invoked inside the Zone that is passed in the constructor.\n */\nexport class ɵZoneScheduler implements SchedulerLike {\n constructor(private zone: any, private delegate: any = queueScheduler) {\n }\n\n now() {\n return this.delegate.now();\n }\n\n schedule(work: (this: SchedulerAction<any>, state?: any) => void, delay?: number, state?: any): Subscription {\n const targetZone = this.zone;\n // Wrap the specified work function to make sure that if nested scheduling takes place the\n // work is executed in the correct zone\n const workInZone = function(this: SchedulerAction<any>, state: any) {\n if (targetZone) {\n targetZone.runGuarded(() => {\n work.apply(this, [state]);\n });\n } else {\n work.apply(this, [state]);\n }\n };\n\n // Scheduling itself needs to be run in zone to ensure setInterval calls for async scheduling are done\n // inside the correct zone. This scheduler needs to schedule asynchronously always to ensure that\n // firebase emissions are never synchronous. Specifying a delay causes issues with the queueScheduler delegate.\n return this.delegate.schedule(workInZone, delay, state);\n }\n}\n\nclass BlockUntilFirstOperator<T> implements Operator<T, T> {\n constructor(\n private zone: any,\n private pendingTasks: PendingTasks\n ) {}\n\n call(subscriber: Subscriber<T>, source: Observable<T>): TeardownLogic {\n const taskDone: VoidFunction = this.zone.run(() => this.pendingTasks.add());\n // maybe this is a race condition, invoke in a timeout\n // hold for 10ms while I try to figure out what is going on\n const unscheduleTask = () => setTimeout(taskDone, 10);\n\n return source.pipe(\n tap({ next: unscheduleTask, complete: unscheduleTask, error: unscheduleTask })\n ).subscribe(subscriber).add(unscheduleTask);\n }\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ɵAngularFireSchedulers {\n public readonly outsideAngular: ɵZoneScheduler;\n public readonly insideAngular: ɵZoneScheduler;\n\n constructor(public ngZone: NgZone, public pendingTasks: PendingTasks) {\n this.outsideAngular = ngZone.runOutsideAngular(\n () => new ɵZoneScheduler(typeof Zone === 'undefined' ? undefined : Zone.current)\n );\n this.insideAngular = ngZone.run(\n () => new ɵZoneScheduler(\n typeof Zone === 'undefined' ? undefined : Zone.current,\n asyncScheduler\n )\n );\n globalThis.ɵAngularFireScheduler ||= this;\n }\n}\n\nfunction getSchedulers() {\n const schedulers = globalThis.ɵAngularFireScheduler as ɵAngularFireSchedulers|undefined;\n if (!schedulers) {\n throw new Error(\n`Either AngularFireModule has not been provided in your AppModule (this can be done manually or implictly using\nprovideFirebaseApp) or you're calling an AngularFire method outside of an NgModule (which is not supported).`);\n }\n return schedulers;\n}\n\nfunction runOutsideAngular<T>(fn: (...args: any[]) => T): T {\n return getSchedulers().ngZone.runOutsideAngular(() => fn());\n}\n\nfunction run<T>(fn: (...args: any[]) => T): T {\n return getSchedulers().ngZone.run(() => fn());\n}\n\nexport function observeOutsideAngular<T>(obs$: Observable<T>): Observable<T> {\n return obs$.pipe(observeOn(getSchedulers().outsideAngular));\n}\n\nexport function observeInsideAngular<T>(obs$: Observable<T>): Observable<T> {\n return obs$.pipe(observeOn(getSchedulers().insideAngular));\n}\n\nexport function keepUnstableUntilFirst<T>(obs$: Observable<T>): Observable<T> {\n return ɵkeepUnstableUntilFirstFactory(getSchedulers())(obs$);\n}\n\n/**\n * Operator to block the zone until the first value has been emitted or the observable\n * has completed/errored. This is used to make sure that universal waits until the first\n * value from firebase but doesn't block the zone forever since the firebase subscription\n * is still alive.\n */\nexport function ɵkeepUnstableUntilFirstFactory(\n schedulers: ɵAngularFireSchedulers\n) {\n return function keepUnstableUntilFirst<T>(\n obs$: Observable<T>\n ): Observable<T> {\n obs$ = obs$.lift(\n new BlockUntilFirstOperator(schedulers.ngZone, schedulers.pendingTasks)\n );\n\n return obs$.pipe(\n // Run the subscribe body outside of Angular (e.g. calling Firebase SDK to add a listener to a change event)\n subscribeOn(schedulers.outsideAngular),\n // Run operators inside the angular zone (e.g. side effects via tap())\n observeOn(schedulers.insideAngular)\n // INVESTIGATE https://github.com/angular/angularfire/pull/2315\n // share()\n );\n };\n}\n\nconst zoneWrapFn = (\n it: (...args: any[]) => any,\n taskDone: VoidFunction | undefined\n) => {\n return (...args: any[]) => {\n if (taskDone) {\n setTimeout(taskDone, 10);\n }\n return run(() => it.apply(this, args));\n };\n};\n\nexport const ɵzoneWrap = <T= unknown>(it: T, blockUntilFirst: boolean): T => {\n // function() is needed for the arguments object\n return function () {\n let taskDone: VoidFunction | undefined;\n const _arguments = arguments;\n // if this is a callback function, e.g, onSnapshot, we should create a pending task and complete it\n // only once one of the callback functions is tripped.\n for (let i = 0; i < arguments.length; i++) {\n if (typeof _arguments[i] === 'function') {\n if (blockUntilFirst) {\n taskDone ||= run(() => getSchedulers().pendingTasks.add());\n }\n // TODO create a microtask to track callback functions\n _arguments[i] = zoneWrapFn(_arguments[i], taskDone);\n }\n }\n const ret = runOutsideAngular(() => (it as any).apply(this, _arguments));\n if (!blockUntilFirst) {\n if (ret instanceof Observable) {\n const schedulers = getSchedulers();\n return ret.pipe(\n subscribeOn(schedulers.outsideAngular),\n observeOn(schedulers.insideAngular),\n );\n } else {\n return run(() => ret);\n }\n }\n if (ret instanceof Observable) {\n return ret.pipe(keepUnstableUntilFirst) as any;\n } else if (ret instanceof Promise) {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n return run(\n () =>\n new Promise((resolve, reject) => {\n ret.then(\n (it) => run(() => resolve(it)),\n (reason) => run(() => reject(reason))\n );\n })\n );\n } else if (typeof ret === 'function' && taskDone) {\n // Handle unsubscribe\n // function() is needed for the arguments object\n return function () {\n setTimeout(taskDone, 10);\n return ret.apply(this, arguments);\n };\n } else {\n // TODO how do we handle storage uploads in Zone? and other stuff with cancel() etc?\n return run(() => ret);\n }\n } as any;\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["this"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"angular-fire.mjs","sources":["../../../src/core.ts","../../../src/zones.ts","../../../src/angular-fire.ts"],"sourcesContent":["import { Version } from '@angular/core';\nimport { ComponentContainer } from '@firebase/component';\nimport { FirebaseApp, getApps } from 'firebase/app';\nimport type { AppCheck } from 'firebase/app-check';\n\nexport const VERSION = new Version('ANGULARFIRE2_VERSION');\n\nexport const ɵisSupportedError = (module: string) =>\n `The APP_INITIALIZER that is \"making\" isSupported() sync for the sake of convenient DI has not resolved in this\ncontext. Rather than injecting ${module} in the constructor, first ensure that ${module} is supported by calling\n\\`await isSupported()\\`, then retrieve the instance from the injector manually \\`injector.get(${module})\\`.`;\n\n// TODO is there a better way to get at the internal types?\ninterface FirebaseAppWithContainer extends FirebaseApp {\n container: ComponentContainer;\n}\n\nexport function ɵgetDefaultInstanceOf<T= unknown>(identifier: string, provided: T[]|undefined, defaultApp: FirebaseApp): T|undefined {\n if (provided) {\n // Was provide* only called once? If so grab that\n if (provided.length === 1) { return provided[0]; }\n const providedUsingDefaultApp = provided.filter((it: any) => it.app === defaultApp);\n // Was provide* only called once, using the default app? If so use that\n if (providedUsingDefaultApp.length === 1) { return providedUsingDefaultApp[0]; }\n }\n // Grab the default instance from the defaultApp\n const defaultAppWithContainer: FirebaseAppWithContainer = defaultApp as any;\n const provider = defaultAppWithContainer.container.getProvider(identifier as never);\n return provider.getImmediate({ optional: true });\n}\n\nexport const ɵgetAllInstancesOf = <T= unknown>(identifier: string, app?: FirebaseApp): T[] => {\n const apps = app ? [app] : getApps();\n const instances: any[] = [];\n apps.forEach((app: FirebaseAppWithContainer) => {\n const provider: any = app.container.getProvider(identifier as never);\n provider.instances.forEach((instance: any) => {\n if (!instances.includes(instance)) {\n instances.push(instance);\n }\n });\n });\n return instances;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface ɵAppCheckInstances extends Array<AppCheck> {}\n\nexport class ɵAppCheckInstances {\n constructor() {\n return ɵgetAllInstancesOf<AppCheck>(ɵAPP_CHECK_PROVIDER_NAME);\n }\n}\n\nexport const ɵAPP_CHECK_PROVIDER_NAME = 'app-check';\n","/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport {\n Injectable,\n NgZone,\n PendingTasks,\n inject\n} from '@angular/core';\nimport { pendingUntilEvent } from '@angular/core/rxjs-interop';\nimport {\n Observable,\n SchedulerAction,\n SchedulerLike,\n Subscription,\n asyncScheduler,\n queueScheduler\n} from 'rxjs';\nimport { observeOn, subscribeOn } from 'rxjs/operators';\n\ndeclare const Zone: {current: unknown} | undefined; \n\n/**\n * Schedules tasks so that they are invoked inside the Zone that is passed in the constructor.\n */\nexport class ɵZoneScheduler implements SchedulerLike {\n constructor(private zone: any, private delegate: any = queueScheduler) {\n }\n\n now() {\n return this.delegate.now();\n }\n\n schedule(work: (this: SchedulerAction<any>, state?: any) => void, delay?: number, state?: any): Subscription {\n const targetZone = this.zone;\n // Wrap the specified work function to make sure that if nested scheduling takes place the\n // work is executed in the correct zone\n const workInZone = function(this: SchedulerAction<any>, state: any) {\n if (targetZone) {\n targetZone.runGuarded(() => {\n work.apply(this, [state]);\n });\n } else {\n work.apply(this, [state]);\n }\n };\n\n // Scheduling itself needs to be run in zone to ensure setInterval calls for async scheduling are done\n // inside the correct zone. This scheduler needs to schedule asynchronously always to ensure that\n // firebase emissions are never synchronous. Specifying a delay causes issues with the queueScheduler delegate.\n return this.delegate.schedule(workInZone, delay, state);\n }\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ɵAngularFireSchedulers {\n public readonly outsideAngular: ɵZoneScheduler;\n public readonly insideAngular: ɵZoneScheduler;\n\n constructor() {\n const ngZone = inject(NgZone);\n this.outsideAngular = ngZone.runOutsideAngular(\n () => new ɵZoneScheduler(typeof Zone === 'undefined' ? undefined : Zone.current)\n );\n this.insideAngular = ngZone.run(\n () => new ɵZoneScheduler(\n typeof Zone === 'undefined' ? undefined : Zone.current,\n asyncScheduler\n )\n );\n }\n}\n\nfunction getSchedulers() {\n return inject(ɵAngularFireSchedulers);\n}\n\nfunction runOutsideAngular<T>(fn: (...args: any[]) => T): T {\n return inject(NgZone).runOutsideAngular(() => fn());\n}\n\nfunction run<T>(fn: (...args: any[]) => T): T {\n return inject(NgZone).run(() => fn());\n}\n\nexport function observeOutsideAngular<T>(obs$: Observable<T>): Observable<T> {\n return obs$.pipe(observeOn(getSchedulers().outsideAngular));\n}\n\nexport function observeInsideAngular<T>(obs$: Observable<T>): Observable<T> {\n return obs$.pipe(observeOn(getSchedulers().insideAngular));\n}\n\nconst zoneWrapFn = (\n it: (...args: any[]) => any,\n taskDone: VoidFunction | undefined\n) => {\n return (...args: any[]) => {\n if (taskDone) {\n setTimeout(taskDone, 10);\n }\n return run(() => it.apply(this, args));\n };\n};\n\nexport const ɵzoneWrap = <T= unknown>(it: T, blockUntilFirst: boolean): T => {\n // function() is needed for the arguments object\n return function () {\n let taskDone: VoidFunction | undefined;\n const _arguments = arguments;\n // if this is a callback function, e.g, onSnapshot, we should create a pending task and complete it\n // only once one of the callback functions is tripped.\n for (let i = 0; i < arguments.length; i++) {\n if (typeof _arguments[i] === 'function') {\n if (blockUntilFirst) {\n taskDone ||= run(() => inject(PendingTasks).add());\n }\n // TODO create a microtask to track callback functions\n _arguments[i] = zoneWrapFn(_arguments[i], taskDone);\n }\n }\n const ret = runOutsideAngular(() => (it as any).apply(this, _arguments));\n if (!blockUntilFirst) {\n if (ret instanceof Observable) {\n const schedulers = getSchedulers();\n return ret.pipe(\n subscribeOn(schedulers.outsideAngular),\n observeOn(schedulers.insideAngular),\n );\n } else {\n return run(() => ret);\n }\n }\n if (ret instanceof Observable) {\n const schedulers = getSchedulers();\n return ret.pipe(\n subscribeOn(schedulers.outsideAngular),\n observeOn(schedulers.insideAngular),\n pendingUntilEvent(),\n );\n } else if (ret instanceof Promise) {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n return run(\n () =>\n new Promise((resolve, reject) => {\n inject(PendingTasks).run(() => ret).then(\n (it) => run(() => resolve(it)),\n (reason) => run(() => reject(reason))\n );\n })\n );\n } else if (typeof ret === 'function' && taskDone) {\n // Handle unsubscribe\n // function() is needed for the arguments object\n return function () {\n setTimeout(taskDone, 10);\n return ret.apply(this, arguments);\n };\n } else {\n // TODO how do we handle storage uploads in Zone? and other stuff with cancel() etc?\n return run(() => ret);\n }\n } as any;\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["this"],"mappings":"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"}
|
package/messaging/firebase.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export * from 'firebase/messaging';
|
|
2
|
-
import { deleteToken as _deleteToken, getMessaging as _getMessaging, getToken as _getToken, onMessage as _onMessage } from 'firebase/messaging';
|
|
3
|
-
export { isSupported } from './overrides';
|
|
2
|
+
import { deleteToken as _deleteToken, getMessaging as _getMessaging, getToken as _getToken, isSupported as _isSupported, onMessage as _onMessage } from 'firebase/messaging';
|
|
4
3
|
export declare const deleteToken: typeof _deleteToken;
|
|
5
4
|
export declare const getMessaging: typeof _getMessaging;
|
|
6
5
|
export declare const getToken: typeof _getToken;
|
|
6
|
+
export declare const isSupported: typeof _isSupported;
|
|
7
7
|
export declare const onMessage: typeof _onMessage;
|
|
@@ -3,8 +3,8 @@ import { FirebaseApp } from '@angular/fire/app';
|
|
|
3
3
|
import { Messaging as FirebaseMessaging } from 'firebase/messaging';
|
|
4
4
|
import { Messaging } from './messaging';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
|
-
export declare function defaultMessagingInstanceFactory(provided: FirebaseMessaging[] | undefined, defaultApp: FirebaseApp): Messaging;
|
|
7
|
-
export declare function messagingInstanceFactory(fn: (injector: Injector) => FirebaseMessaging): (zone: NgZone, injector: Injector) => Messaging;
|
|
6
|
+
export declare function defaultMessagingInstanceFactory(provided: FirebaseMessaging[] | undefined, defaultApp: FirebaseApp, platformId: object): Messaging;
|
|
7
|
+
export declare function messagingInstanceFactory(fn: (injector: Injector) => FirebaseMessaging): (zone: NgZone, injector: Injector, platformId: object) => Messaging;
|
|
8
8
|
export declare class MessagingModule {
|
|
9
9
|
constructor();
|
|
10
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<MessagingModule, never>;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "../node_modules/ng-packagr/package.schema.json",
|
|
3
3
|
"name": "@angular/fire",
|
|
4
|
-
"version": "19.0.0-rc.
|
|
4
|
+
"version": "19.0.0-rc.2",
|
|
5
5
|
"description": "Angular + Firebase = ❤️",
|
|
6
6
|
"schematics": "./schematics/collection.json",
|
|
7
7
|
"builders": "./schematics/builders.json",
|
|
@@ -40,8 +40,8 @@
|
|
|
40
40
|
}
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"firebase": "^11.0.
|
|
44
|
-
"rxfire": "^6.0
|
|
43
|
+
"firebase": "^11.0.2",
|
|
44
|
+
"rxfire": "^6.1.0",
|
|
45
45
|
"@angular-devkit/schematics": "^19.0.0",
|
|
46
46
|
"@schematics/angular": "^19.0.0",
|
|
47
47
|
"tslib": "^2.3.0"
|
|
@@ -83,6 +83,10 @@
|
|
|
83
83
|
"types": "./compat/index.d.ts",
|
|
84
84
|
"default": "./fesm2022/angular-fire-compat.mjs"
|
|
85
85
|
},
|
|
86
|
+
"./data-connect": {
|
|
87
|
+
"types": "./data-connect/index.d.ts",
|
|
88
|
+
"default": "./fesm2022/angular-fire-data-connect.mjs"
|
|
89
|
+
},
|
|
86
90
|
"./database": {
|
|
87
91
|
"types": "./database/index.d.ts",
|
|
88
92
|
"default": "./fesm2022/angular-fire-database.mjs"
|