@react-native-firebase/remote-config 24.1.1 → 25.0.0
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/CHANGELOG.md +29 -0
- package/android/src/reactnative/java/io/invertase/firebase/config/ReactNativeFirebaseConfigModule.java +11 -5
- package/dist/module/RemoteConfigValue.js +53 -0
- package/dist/module/RemoteConfigValue.js.map +1 -0
- package/dist/module/index.js +27 -0
- package/dist/module/index.js.map +1 -0
- package/dist/module/modular.js +155 -0
- package/dist/module/modular.js.map +1 -0
- package/dist/module/namespaced.js +400 -0
- package/dist/module/namespaced.js.map +1 -0
- package/dist/module/package.json +1 -0
- package/{lib → dist/module}/polyfills.js +26 -11
- package/dist/module/polyfills.js.map +1 -0
- package/dist/module/polyfills.web.js +3 -0
- package/dist/module/polyfills.web.js.map +1 -0
- package/{lib → dist/module}/statics.js +5 -3
- package/dist/module/statics.js.map +1 -0
- package/dist/module/types/internal.js +4 -0
- package/dist/module/types/internal.js.map +1 -0
- package/dist/module/types/namespaced.js +24 -0
- package/dist/module/types/namespaced.js.map +1 -0
- package/dist/module/types/remote-config.js +4 -0
- package/dist/module/types/remote-config.js.map +1 -0
- package/dist/module/version.js +5 -0
- package/dist/module/version.js.map +1 -0
- package/dist/module/web/RNFBConfigModule.android.js +6 -0
- package/dist/module/web/RNFBConfigModule.android.js.map +1 -0
- package/dist/module/web/RNFBConfigModule.ios.js +6 -0
- package/dist/module/web/RNFBConfigModule.ios.js.map +1 -0
- package/{lib → dist/module}/web/RNFBConfigModule.js +69 -77
- package/dist/module/web/RNFBConfigModule.js.map +1 -0
- package/dist/typescript/lib/RemoteConfigValue.d.ts +16 -0
- package/dist/typescript/lib/RemoteConfigValue.d.ts.map +1 -0
- package/dist/typescript/lib/index.d.ts +6 -0
- package/dist/typescript/lib/index.d.ts.map +1 -0
- package/dist/typescript/lib/modular.d.ts +76 -0
- package/dist/typescript/lib/modular.d.ts.map +1 -0
- package/dist/typescript/lib/namespaced.d.ts +11 -0
- package/dist/typescript/lib/namespaced.d.ts.map +1 -0
- package/dist/typescript/lib/polyfills.d.ts +2 -0
- package/dist/typescript/lib/polyfills.d.ts.map +1 -0
- package/dist/typescript/lib/polyfills.web.d.ts +1 -0
- package/dist/typescript/lib/polyfills.web.d.ts.map +1 -0
- package/dist/typescript/lib/statics.d.ts +12 -0
- package/dist/typescript/lib/statics.d.ts.map +1 -0
- package/dist/typescript/lib/types/internal.d.ts +94 -0
- package/dist/typescript/lib/types/internal.d.ts.map +1 -0
- package/dist/typescript/lib/types/namespaced.d.ts +124 -0
- package/dist/typescript/lib/types/namespaced.d.ts.map +1 -0
- package/dist/typescript/lib/types/remote-config.d.ts +37 -0
- package/dist/typescript/lib/types/remote-config.d.ts.map +1 -0
- package/dist/typescript/lib/version.d.ts +2 -0
- package/dist/typescript/lib/version.d.ts.map +1 -0
- package/dist/typescript/lib/web/RNFBConfigModule.android.d.ts +3 -0
- package/dist/typescript/lib/web/RNFBConfigModule.android.d.ts.map +1 -0
- package/dist/typescript/lib/web/RNFBConfigModule.d.ts +17 -0
- package/dist/typescript/lib/web/RNFBConfigModule.d.ts.map +1 -0
- package/dist/typescript/lib/web/RNFBConfigModule.ios.d.ts +3 -0
- package/dist/typescript/lib/web/RNFBConfigModule.ios.d.ts.map +1 -0
- package/dist/typescript/package.json +1 -0
- package/ios/RNFBConfig/RNFBConfigModule.m +10 -4
- package/lib/RemoteConfigValue.ts +66 -0
- package/lib/index.ts +25 -0
- package/lib/modular.ts +197 -0
- package/lib/namespaced.ts +552 -0
- package/lib/polyfills.ts +54 -0
- package/lib/statics.ts +27 -0
- package/lib/types/internal.ts +165 -0
- package/lib/types/namespaced.ts +163 -0
- package/lib/types/remote-config.ts +63 -0
- package/lib/version.ts +2 -0
- package/lib/web/RNFBConfigModule.android.ts +4 -0
- package/lib/web/RNFBConfigModule.ios.ts +4 -0
- package/lib/web/RNFBConfigModule.ts +254 -0
- package/package.json +42 -9
- package/tsconfig.json +21 -0
- package/typedoc.json +2 -3
- package/lib/RemoteConfigValue.js +0 -51
- package/lib/index.d.ts +0 -659
- package/lib/index.js +0 -400
- package/lib/modular/index.d.ts +0 -265
- package/lib/modular/index.js +0 -289
- package/lib/version.js +0 -2
- package/lib/web/RNFBConfigModule.android.js +0 -2
- package/lib/web/RNFBConfigModule.ios.js +0 -2
- /package/lib/{polyfills.web.js → polyfills.web.ts} +0 -0
|
@@ -1,79 +1,71 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
getApp,
|
|
4
|
-
getRemoteConfig,
|
|
5
|
-
activate,
|
|
6
|
-
ensureInitialized,
|
|
7
|
-
fetchAndActivate,
|
|
8
|
-
fetchConfig,
|
|
9
|
-
getAll,
|
|
10
|
-
makeIDBAvailable,
|
|
11
|
-
onConfigUpdate,
|
|
12
|
-
setCustomSignals,
|
|
13
|
-
} from '@react-native-firebase/app/dist/module/internal/web/firebaseRemoteConfig';
|
|
14
|
-
import {
|
|
15
|
-
guard,
|
|
16
|
-
getWebError,
|
|
17
|
-
emitEvent,
|
|
18
|
-
} from '@react-native-firebase/app/dist/module/internal/web/utils';
|
|
1
|
+
"use strict";
|
|
19
2
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
|
|
3
|
+
import '../polyfills';
|
|
4
|
+
import { activate, ensureInitialized, fetchAndActivate, fetchConfig, getAll, getApp, getRemoteConfig, makeIDBAvailable, onConfigUpdate, setCustomSignals } from '@react-native-firebase/app/dist/module/internal/web/firebaseRemoteConfig';
|
|
5
|
+
import { emitEvent, getWebError, guard } from '@react-native-firebase/app/dist/module/internal/web/utils';
|
|
6
|
+
const DEFAULT_CONFIG_SETTINGS = {
|
|
7
|
+
minimumFetchIntervalMillis: 43200000,
|
|
8
|
+
fetchTimeoutMillis: 60000
|
|
25
9
|
};
|
|
26
|
-
|
|
10
|
+
const configSettingsForInstance = {};
|
|
11
|
+
const defaultConfigForInstance = {};
|
|
12
|
+
const onConfigUpdateListeners = {};
|
|
27
13
|
function makeGlobalsAvailable() {
|
|
28
14
|
navigator.onLine = true;
|
|
29
15
|
makeIDBAvailable();
|
|
30
16
|
}
|
|
31
|
-
|
|
32
|
-
const onConfigUpdateListeners = {};
|
|
33
|
-
|
|
34
|
-
function getRemoteConfigInstanceForApp(appName, overrides /*: RemoteConfigSettings */) {
|
|
17
|
+
function getRemoteConfigInstanceForApp(appName, overrides = {}) {
|
|
35
18
|
makeGlobalsAvailable();
|
|
36
|
-
const configSettings =
|
|
37
|
-
|
|
38
|
-
|
|
19
|
+
const configSettings = {
|
|
20
|
+
...(configSettingsForInstance[appName] ?? DEFAULT_CONFIG_SETTINGS),
|
|
21
|
+
...overrides
|
|
39
22
|
};
|
|
40
23
|
const defaultConfig = defaultConfigForInstance[appName] ?? {};
|
|
41
|
-
Object.assign(configSettings, overrides);
|
|
42
24
|
const app = getApp(appName);
|
|
43
25
|
const instance = getRemoteConfig(app);
|
|
44
|
-
|
|
45
|
-
instance.settings[key] = configSettings[key];
|
|
46
|
-
}
|
|
26
|
+
Object.assign(instance.settings, configSettings);
|
|
47
27
|
instance.defaultConfig = defaultConfig;
|
|
48
28
|
return instance;
|
|
49
29
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
30
|
+
function toLastFetchStatus(status) {
|
|
31
|
+
switch (status) {
|
|
32
|
+
case 'success':
|
|
33
|
+
case 'failure':
|
|
34
|
+
case 'no_fetch_yet':
|
|
35
|
+
case 'throttled':
|
|
36
|
+
return status;
|
|
37
|
+
case 'no-fetch-yet':
|
|
38
|
+
return 'no_fetch_yet';
|
|
39
|
+
case 'throttle':
|
|
40
|
+
return 'throttled';
|
|
41
|
+
default:
|
|
42
|
+
return 'no_fetch_yet';
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
function resultAndConstants(instance, result) {
|
|
53
46
|
const valuesRaw = getAll(instance);
|
|
54
47
|
const values = {};
|
|
55
48
|
for (const key in valuesRaw) {
|
|
56
49
|
const raw = valuesRaw[key];
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
50
|
+
if (raw) {
|
|
51
|
+
values[key] = {
|
|
52
|
+
source: raw.getSource(),
|
|
53
|
+
value: raw.asString()
|
|
54
|
+
};
|
|
55
|
+
}
|
|
61
56
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
: 43200,
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
: 60,
|
|
57
|
+
return {
|
|
58
|
+
result,
|
|
59
|
+
constants: {
|
|
60
|
+
values,
|
|
61
|
+
lastFetchTime: instance.fetchTimeMillis === -1 ? 0 : instance.fetchTimeMillis,
|
|
62
|
+
lastFetchStatus: toLastFetchStatus(instance.lastFetchStatus),
|
|
63
|
+
minimumFetchInterval: instance.settings.minimumFetchIntervalMillis ? instance.settings.minimumFetchIntervalMillis / 1000 : 43200,
|
|
64
|
+
fetchTimeout: instance.settings.fetchTimeoutMillis ? instance.settings.fetchTimeoutMillis / 1000 : 60
|
|
65
|
+
}
|
|
72
66
|
};
|
|
73
|
-
return response;
|
|
74
67
|
}
|
|
75
|
-
|
|
76
|
-
export default {
|
|
68
|
+
const remoteConfigWebModule = {
|
|
77
69
|
activate(appName) {
|
|
78
70
|
return guard(async () => {
|
|
79
71
|
const remoteConfig = getRemoteConfigInstanceForApp(appName);
|
|
@@ -82,37 +74,37 @@ export default {
|
|
|
82
74
|
},
|
|
83
75
|
setConfigSettings(appName, settings) {
|
|
84
76
|
return guard(async () => {
|
|
85
|
-
|
|
77
|
+
const webSettings = {
|
|
86
78
|
minimumFetchIntervalMillis: settings.minimumFetchInterval * 1000,
|
|
87
|
-
fetchTimeoutMillis: settings.fetchTimeout * 1000
|
|
79
|
+
fetchTimeoutMillis: settings.fetchTimeout * 1000
|
|
88
80
|
};
|
|
89
|
-
|
|
90
|
-
|
|
81
|
+
configSettingsForInstance[appName] = webSettings;
|
|
82
|
+
const remoteConfig = getRemoteConfigInstanceForApp(appName, webSettings);
|
|
83
|
+
return resultAndConstants(remoteConfig, undefined);
|
|
91
84
|
});
|
|
92
85
|
},
|
|
93
86
|
fetch(appName, expirationDurationSeconds) {
|
|
94
87
|
return guard(async () => {
|
|
95
|
-
|
|
96
|
-
if (expirationDurationSeconds
|
|
88
|
+
const overrides = {};
|
|
89
|
+
if (expirationDurationSeconds !== -1) {
|
|
97
90
|
overrides.minimumFetchIntervalMillis = expirationDurationSeconds * 1000;
|
|
98
91
|
}
|
|
99
92
|
const remoteConfig = getRemoteConfigInstanceForApp(appName, overrides);
|
|
100
93
|
await fetchConfig(remoteConfig);
|
|
101
|
-
return resultAndConstants(remoteConfig,
|
|
94
|
+
return resultAndConstants(remoteConfig, undefined);
|
|
102
95
|
});
|
|
103
96
|
},
|
|
104
97
|
fetchAndActivate(appName) {
|
|
105
98
|
return guard(async () => {
|
|
106
99
|
const remoteConfig = getRemoteConfigInstanceForApp(appName);
|
|
107
|
-
|
|
108
|
-
return resultAndConstants(remoteConfig, activated);
|
|
100
|
+
return resultAndConstants(remoteConfig, await fetchAndActivate(remoteConfig));
|
|
109
101
|
});
|
|
110
102
|
},
|
|
111
103
|
ensureInitialized(appName) {
|
|
112
104
|
return guard(async () => {
|
|
113
105
|
const remoteConfig = getRemoteConfigInstanceForApp(appName);
|
|
114
106
|
await ensureInitialized(remoteConfig);
|
|
115
|
-
return resultAndConstants(remoteConfig,
|
|
107
|
+
return resultAndConstants(remoteConfig, undefined);
|
|
116
108
|
});
|
|
117
109
|
},
|
|
118
110
|
setDefaults(appName, defaults) {
|
|
@@ -126,40 +118,40 @@ export default {
|
|
|
126
118
|
return guard(async () => {
|
|
127
119
|
const remoteConfig = getRemoteConfigInstanceForApp(appName);
|
|
128
120
|
await setCustomSignals(remoteConfig, customSignals);
|
|
129
|
-
return resultAndConstants(remoteConfig,
|
|
121
|
+
return resultAndConstants(remoteConfig, undefined);
|
|
130
122
|
});
|
|
131
123
|
},
|
|
132
124
|
onConfigUpdated(appName) {
|
|
133
125
|
if (onConfigUpdateListeners[appName]) {
|
|
134
126
|
return;
|
|
135
127
|
}
|
|
136
|
-
|
|
137
128
|
const remoteConfig = getRemoteConfigInstanceForApp(appName);
|
|
138
|
-
|
|
139
129
|
const nativeObserver = {
|
|
140
|
-
next
|
|
130
|
+
next(configUpdate) {
|
|
141
131
|
emitEvent('on_config_updated', {
|
|
142
132
|
appName,
|
|
143
133
|
resultType: 'success',
|
|
144
|
-
updatedKeys: Array.from(configUpdate.getUpdatedKeys())
|
|
134
|
+
updatedKeys: Array.from(configUpdate.getUpdatedKeys())
|
|
145
135
|
});
|
|
146
136
|
},
|
|
147
|
-
error
|
|
137
|
+
error(firebaseError) {
|
|
148
138
|
emitEvent('on_config_updated', {
|
|
149
139
|
appName,
|
|
150
|
-
event: getWebError(firebaseError)
|
|
140
|
+
event: getWebError(firebaseError)
|
|
151
141
|
});
|
|
152
142
|
},
|
|
153
|
-
complete
|
|
143
|
+
complete() {}
|
|
154
144
|
};
|
|
155
|
-
|
|
156
145
|
onConfigUpdateListeners[appName] = onConfigUpdate(remoteConfig, nativeObserver);
|
|
157
146
|
},
|
|
158
147
|
removeConfigUpdateRegistration(appName) {
|
|
159
|
-
|
|
148
|
+
const unsubscribe = onConfigUpdateListeners[appName];
|
|
149
|
+
if (!unsubscribe) {
|
|
160
150
|
return;
|
|
161
151
|
}
|
|
162
|
-
|
|
152
|
+
unsubscribe();
|
|
163
153
|
delete onConfigUpdateListeners[appName];
|
|
164
|
-
}
|
|
154
|
+
}
|
|
165
155
|
};
|
|
156
|
+
export default remoteConfigWebModule;
|
|
157
|
+
//# sourceMappingURL=RNFBConfigModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["activate","ensureInitialized","fetchAndActivate","fetchConfig","getAll","getApp","getRemoteConfig","makeIDBAvailable","onConfigUpdate","setCustomSignals","emitEvent","getWebError","guard","DEFAULT_CONFIG_SETTINGS","minimumFetchIntervalMillis","fetchTimeoutMillis","configSettingsForInstance","defaultConfigForInstance","onConfigUpdateListeners","makeGlobalsAvailable","navigator","onLine","getRemoteConfigInstanceForApp","appName","overrides","configSettings","defaultConfig","app","instance","Object","assign","settings","toLastFetchStatus","status","resultAndConstants","result","valuesRaw","values","key","raw","source","getSource","value","asString","constants","lastFetchTime","fetchTimeMillis","lastFetchStatus","minimumFetchInterval","fetchTimeout","remoteConfigWebModule","remoteConfig","setConfigSettings","webSettings","undefined","fetch","expirationDurationSeconds","setDefaults","defaults","customSignals","onConfigUpdated","nativeObserver","next","configUpdate","resultType","updatedKeys","Array","from","getUpdatedKeys","error","firebaseError","event","complete","removeConfigUpdateRegistration","unsubscribe"],"sourceRoot":"../../../lib","sources":["web/RNFBConfigModule.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Value } from './types/remote-config';
|
|
2
|
+
interface ConfigValueInit {
|
|
3
|
+
value: string;
|
|
4
|
+
source: ReturnType<Value['getSource']>;
|
|
5
|
+
}
|
|
6
|
+
export default class RemoteConfigValue implements Value {
|
|
7
|
+
private readonly _value;
|
|
8
|
+
private readonly _source;
|
|
9
|
+
constructor({ value, source }: ConfigValueInit);
|
|
10
|
+
asBoolean(): boolean;
|
|
11
|
+
asNumber(): number;
|
|
12
|
+
asString(): string;
|
|
13
|
+
getSource(): ReturnType<Value['getSource']>;
|
|
14
|
+
}
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=RemoteConfigValue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RemoteConfigValue.d.ts","sourceRoot":"","sources":["../../../lib/RemoteConfigValue.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAKnD,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;CACxC;AAED,MAAM,CAAC,OAAO,OAAO,iBAAkB,YAAW,KAAK;IACrD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiC;gBAE7C,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,eAAe;IAK9C,SAAS,IAAI,OAAO;IAQpB,QAAQ,IAAI,MAAM;IAclB,QAAQ,IAAI,MAAM;IAIlB,SAAS,IAAI,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;CAG5C"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './modular';
|
|
2
|
+
export type * from './types/remote-config';
|
|
3
|
+
export type { FirebaseRemoteConfigTypes } from './types/namespaced';
|
|
4
|
+
export { SDK_VERSION, firebase } from './namespaced';
|
|
5
|
+
export { default } from './namespaced';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/index.ts"],"names":[],"mappings":"AAkBA,cAAc,WAAW,CAAC;AAC1B,mBAAmB,uBAAuB,CAAC;AAG3C,YAAY,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import type { FirebaseApp } from '@firebase/app';
|
|
2
|
+
import type { ConfigUpdateObserver, CustomSignals, LogLevel, RemoteConfig, Unsubscribe, Value } from './types/remote-config';
|
|
3
|
+
export type { CustomSignals } from './types/remote-config';
|
|
4
|
+
/**
|
|
5
|
+
* Returns a RemoteConfig instance for the given app.
|
|
6
|
+
* @param app - FirebaseApp. Optional.
|
|
7
|
+
*/
|
|
8
|
+
export declare function getRemoteConfig(app?: FirebaseApp): RemoteConfig;
|
|
9
|
+
/**
|
|
10
|
+
* Returns a Boolean which resolves to true if the current call
|
|
11
|
+
* activated the fetched configs.
|
|
12
|
+
*/
|
|
13
|
+
export declare function activate(remoteConfig: RemoteConfig): Promise<boolean>;
|
|
14
|
+
/**
|
|
15
|
+
* Ensures the last activated config are available to the getters.
|
|
16
|
+
*/
|
|
17
|
+
export declare function ensureInitialized(remoteConfig: RemoteConfig): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Performs a fetch and returns a Boolean which resolves to true
|
|
20
|
+
* if the current call activated the fetched configs.
|
|
21
|
+
*/
|
|
22
|
+
export declare function fetchAndActivate(remoteConfig: RemoteConfig): Promise<boolean>;
|
|
23
|
+
/**
|
|
24
|
+
* Fetches and caches configuration from the Remote Config service.
|
|
25
|
+
*/
|
|
26
|
+
export declare function fetchConfig(remoteConfig: RemoteConfig): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Gets all config.
|
|
29
|
+
*/
|
|
30
|
+
export declare function getAll(remoteConfig: RemoteConfig): Record<string, Value>;
|
|
31
|
+
/**
|
|
32
|
+
* Gets the value for the given key as a boolean.
|
|
33
|
+
*/
|
|
34
|
+
export declare function getBoolean(remoteConfig: RemoteConfig, key: string): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Gets the value for the given key as a number.
|
|
37
|
+
*/
|
|
38
|
+
export declare function getNumber(remoteConfig: RemoteConfig, key: string): number;
|
|
39
|
+
/**
|
|
40
|
+
* Gets the value for the given key as a string.
|
|
41
|
+
*/
|
|
42
|
+
export declare function getString(remoteConfig: RemoteConfig, key: string): string;
|
|
43
|
+
/**
|
|
44
|
+
* Gets the value for the given key.
|
|
45
|
+
*/
|
|
46
|
+
export declare function getValue(remoteConfig: RemoteConfig, key: string): Value;
|
|
47
|
+
/**
|
|
48
|
+
* Defines the log level to use.
|
|
49
|
+
*/
|
|
50
|
+
export declare function setLogLevel(remoteConfig: RemoteConfig, logLevel: LogLevel): void;
|
|
51
|
+
/**
|
|
52
|
+
* Checks two different things.
|
|
53
|
+
* 1. Check if IndexedDB exists in the browser environment.
|
|
54
|
+
* 2. Check if the current browser context allows IndexedDB open() calls.
|
|
55
|
+
*/
|
|
56
|
+
export declare function isSupported(): Promise<boolean>;
|
|
57
|
+
/**
|
|
58
|
+
* Deletes all activated, fetched and defaults configs and
|
|
59
|
+
* resets all Firebase Remote Config settings.
|
|
60
|
+
* Android only. iOS does not reset anything.
|
|
61
|
+
*/
|
|
62
|
+
export declare function reset(remoteConfig: RemoteConfig): Promise<void>;
|
|
63
|
+
/**
|
|
64
|
+
* Sets defaults based on a native resource.
|
|
65
|
+
*/
|
|
66
|
+
export declare function setDefaultsFromResource(remoteConfig: RemoteConfig, resourceName: string): Promise<null>;
|
|
67
|
+
/**
|
|
68
|
+
* Registers a listener to changes in the configuration.
|
|
69
|
+
*
|
|
70
|
+
*/
|
|
71
|
+
export declare function onConfigUpdate(remoteConfig: RemoteConfig, observer: ConfigUpdateObserver): Unsubscribe;
|
|
72
|
+
/**
|
|
73
|
+
* Sets the custom signals for the app instance.
|
|
74
|
+
*/
|
|
75
|
+
export declare function setCustomSignals(remoteConfig: RemoteConfig, customSignals: CustomSignals): Promise<void>;
|
|
76
|
+
//# sourceMappingURL=modular.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modular.d.ts","sourceRoot":"","sources":["../../../lib/modular.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAMjD,OAAO,KAAK,EACV,oBAAoB,EACpB,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,KAAK,EACN,MAAM,uBAAuB,CAAC;AAO/B,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,YAAY,CAY/D;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAErE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3E;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,OAAO,CAAC,CAE7E;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAErE;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAExE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAE3E;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,YAAY,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,CAEvE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAIhF;AAED;;;;GAIG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC,CAG9C;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,oBAAoB,GAC7B,WAAW,CAEb;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,GAC3B,OAAO,CAAC,IAAI,CAAC,CAef"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ReactNativeFirebase } from '@react-native-firebase/app';
|
|
2
|
+
import type { FirebaseRemoteConfigTypes } from './types/namespaced';
|
|
3
|
+
export declare const SDK_VERSION = "25.0.0";
|
|
4
|
+
type RemoteConfigNamespace = ReactNativeFirebase.FirebaseModuleWithStaticsAndApp<FirebaseRemoteConfigTypes.Module, FirebaseRemoteConfigTypes.Statics> & {
|
|
5
|
+
firebase: ReactNativeFirebase.Module;
|
|
6
|
+
app(name?: string): ReactNativeFirebase.FirebaseApp;
|
|
7
|
+
};
|
|
8
|
+
declare const _default: RemoteConfigNamespace;
|
|
9
|
+
export default _default;
|
|
10
|
+
export declare const firebase: ReactNativeFirebase.FirebaseNamespacedExport<"remoteConfig", FirebaseRemoteConfigTypes.Module, FirebaseRemoteConfigTypes.Statics, false>;
|
|
11
|
+
//# sourceMappingURL=namespaced.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"namespaced.d.ts","sourceRoot":"","sources":["../../../lib/namespaced.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAStE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAsdpE,eAAO,MAAM,WAAW,WAAU,CAAC;AAanC,KAAK,qBAAqB,GAAG,mBAAmB,CAAC,+BAA+B,CAC9E,yBAAyB,CAAC,MAAM,EAChC,yBAAyB,CAAC,OAAO,CAClC,GAAG;IACF,QAAQ,EAAE,mBAAmB,CAAC,MAAM,CAAC;IACrC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAC,WAAW,CAAC;CACrD,CAAC;wBAIiD,qBAAqB;AAAxE,wBAAyE;AAKzE,eAAO,MAAM,QAAQ,EACa,mBAAmB,CAAC,wBAAwB,CAC1E,cAAc,EACd,yBAAyB,CAAC,MAAM,EAChC,yBAAyB,CAAC,OAAO,EACjC,KAAK,CACN,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"polyfills.d.ts","sourceRoot":"","sources":["../../../lib/polyfills.ts"],"names":[],"mappings":"AAqDA,OAAO,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
//# sourceMappingURL=polyfills.web.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"polyfills.web.d.ts","sourceRoot":"","sources":["../../../lib/polyfills.web.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const LastFetchStatus: {
|
|
2
|
+
readonly SUCCESS: "success";
|
|
3
|
+
readonly FAILURE: "failure";
|
|
4
|
+
readonly THROTTLED: "throttled";
|
|
5
|
+
readonly NO_FETCH_YET: "no_fetch_yet";
|
|
6
|
+
};
|
|
7
|
+
export declare const ValueSource: {
|
|
8
|
+
readonly REMOTE: "remote";
|
|
9
|
+
readonly DEFAULT: "default";
|
|
10
|
+
readonly STATIC: "static";
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=statics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statics.d.ts","sourceRoot":"","sources":["../../../lib/statics.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,eAAe;;;;;CAKe,CAAC;AAE5C,eAAO,MAAM,WAAW;;;;CAIe,CAAC"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import type { ConfigUpdateObserver, FetchStatus, RemoteConfig, RemoteConfigSettings, Unsubscribe, Value, ValueSource } from './remote-config';
|
|
2
|
+
import type { FirebaseRemoteConfigTypes } from './namespaced';
|
|
3
|
+
export type ConfigValueSourceInternal = ValueSource;
|
|
4
|
+
export type LastFetchStatusInternal = FetchStatus;
|
|
5
|
+
export type RemoteConfigModularDeprecationArg = string;
|
|
6
|
+
export type WithRemoteConfigDeprecationArg<F> = F extends (...args: infer P) => infer R ? (...args: [...P, RemoteConfigModularDeprecationArg?]) => R : never;
|
|
7
|
+
export interface AppWithRemoteConfigInternal {
|
|
8
|
+
remoteConfig(deprecationArg?: RemoteConfigModularDeprecationArg): RemoteConfig;
|
|
9
|
+
}
|
|
10
|
+
export interface ConfigSettingsStateInternal {
|
|
11
|
+
fetchTimeoutMillis: number;
|
|
12
|
+
minimumFetchIntervalMillis: number;
|
|
13
|
+
}
|
|
14
|
+
export interface StoredConfigValueInternal {
|
|
15
|
+
value: string | number | boolean;
|
|
16
|
+
source: ConfigValueSourceInternal;
|
|
17
|
+
}
|
|
18
|
+
export interface NativeRemoteConfigConstants {
|
|
19
|
+
fetchTimeout?: number;
|
|
20
|
+
minimumFetchInterval?: number;
|
|
21
|
+
lastFetchTime?: number;
|
|
22
|
+
lastFetchStatus?: LastFetchStatusInternal;
|
|
23
|
+
values?: Record<string, StoredConfigValueInternal>;
|
|
24
|
+
}
|
|
25
|
+
export interface NativeRemoteConfigResult<T> {
|
|
26
|
+
result: T;
|
|
27
|
+
constants: NativeRemoteConfigConstants;
|
|
28
|
+
}
|
|
29
|
+
export interface RemoteConfigUpdateErrorInternal {
|
|
30
|
+
code?: string;
|
|
31
|
+
message?: string;
|
|
32
|
+
nativeErrorMessage?: string;
|
|
33
|
+
}
|
|
34
|
+
export interface RemoteConfigUpdateSuccessEventInternal {
|
|
35
|
+
resultType: 'success';
|
|
36
|
+
updatedKeys: string[];
|
|
37
|
+
}
|
|
38
|
+
export interface RemoteConfigUpdateErrorEventInternal extends RemoteConfigUpdateErrorInternal {
|
|
39
|
+
resultType?: string;
|
|
40
|
+
}
|
|
41
|
+
export interface RNFBConfigModule {
|
|
42
|
+
activate(): Promise<NativeRemoteConfigResult<boolean>>;
|
|
43
|
+
setConfigSettings(settings: {
|
|
44
|
+
fetchTimeout: number;
|
|
45
|
+
minimumFetchInterval: number;
|
|
46
|
+
}): Promise<NativeRemoteConfigResult<void>>;
|
|
47
|
+
fetch(expirationDurationSeconds: number): Promise<NativeRemoteConfigResult<void>>;
|
|
48
|
+
fetchAndActivate(): Promise<NativeRemoteConfigResult<boolean>>;
|
|
49
|
+
ensureInitialized(): Promise<NativeRemoteConfigResult<void>>;
|
|
50
|
+
setDefaults(defaults: Record<string, string | number | boolean>): Promise<NativeRemoteConfigResult<null>>;
|
|
51
|
+
setDefaultsFromResource(resourceName: string): Promise<NativeRemoteConfigResult<null>>;
|
|
52
|
+
reset(): Promise<NativeRemoteConfigResult<void>>;
|
|
53
|
+
onConfigUpdated(): void;
|
|
54
|
+
removeConfigUpdateRegistration(): void;
|
|
55
|
+
setCustomSignals(customSignals: Record<string, string | number | null>): Promise<NativeRemoteConfigResult<void>>;
|
|
56
|
+
}
|
|
57
|
+
export interface RemoteConfigInternal extends RemoteConfig {
|
|
58
|
+
settings: RemoteConfigSettings & {
|
|
59
|
+
fetchTimeMillis: number;
|
|
60
|
+
};
|
|
61
|
+
defaultConfig: {
|
|
62
|
+
[key: string]: string | number | boolean;
|
|
63
|
+
};
|
|
64
|
+
activate(deprecationArg?: RemoteConfigModularDeprecationArg): Promise<boolean>;
|
|
65
|
+
ensureInitialized(deprecationArg?: RemoteConfigModularDeprecationArg): Promise<void>;
|
|
66
|
+
fetchAndActivate(deprecationArg?: RemoteConfigModularDeprecationArg): Promise<boolean>;
|
|
67
|
+
fetch(expirationDurationSeconds?: number, deprecationArg?: RemoteConfigModularDeprecationArg): Promise<void>;
|
|
68
|
+
getAll(deprecationArg?: RemoteConfigModularDeprecationArg): Record<string, Value>;
|
|
69
|
+
getBoolean(key: string, deprecationArg?: RemoteConfigModularDeprecationArg): boolean;
|
|
70
|
+
getNumber(key: string, deprecationArg?: RemoteConfigModularDeprecationArg): number;
|
|
71
|
+
getString(key: string, deprecationArg?: RemoteConfigModularDeprecationArg): string;
|
|
72
|
+
getValue(key: string, deprecationArg?: RemoteConfigModularDeprecationArg): Value;
|
|
73
|
+
reset(deprecationArg?: RemoteConfigModularDeprecationArg): Promise<void>;
|
|
74
|
+
setConfigSettings(settings: RemoteConfigSettings | {
|
|
75
|
+
minimumFetchIntervalMillis?: number;
|
|
76
|
+
fetchTimeMillis?: number;
|
|
77
|
+
fetchTimeoutMillis?: number;
|
|
78
|
+
}, deprecationArg?: RemoteConfigModularDeprecationArg): Promise<void>;
|
|
79
|
+
setDefaults(defaults: {
|
|
80
|
+
[key: string]: string | number | boolean;
|
|
81
|
+
}, deprecationArg?: RemoteConfigModularDeprecationArg): Promise<null>;
|
|
82
|
+
setDefaultsFromResource(resourceName: string, deprecationArg?: RemoteConfigModularDeprecationArg): Promise<null>;
|
|
83
|
+
onConfigUpdate(observer: ConfigUpdateObserver, deprecationArg?: RemoteConfigModularDeprecationArg): Unsubscribe;
|
|
84
|
+
onConfigUpdated(listenerOrObserver: FirebaseRemoteConfigTypes.CallbackOrObserver<FirebaseRemoteConfigTypes.OnConfigUpdatedListenerCallback>, deprecationArg?: RemoteConfigModularDeprecationArg): Unsubscribe;
|
|
85
|
+
readonly native: RNFBConfigModule;
|
|
86
|
+
_promiseWithConstants(promise: Promise<NativeRemoteConfigResult<void>>, deprecationArg?: RemoteConfigModularDeprecationArg): Promise<void>;
|
|
87
|
+
_promiseWithConstants<T>(promise: Promise<NativeRemoteConfigResult<T>>, deprecationArg?: RemoteConfigModularDeprecationArg): Promise<T>;
|
|
88
|
+
}
|
|
89
|
+
declare module '@react-native-firebase/app/dist/module/internal/NativeModules' {
|
|
90
|
+
interface ReactNativeFirebaseNativeModules {
|
|
91
|
+
RNFBConfigModule: RNFBConfigModule;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=internal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../../lib/types/internal.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { ReactNativeFirebase } from '@react-native-firebase/app';
|
|
2
|
+
export declare namespace FirebaseRemoteConfigTypes {
|
|
3
|
+
import FirebaseModule = ReactNativeFirebase.FirebaseModule;
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated Use modular log-level types instead.
|
|
6
|
+
*/
|
|
7
|
+
type RemoteConfigLogLevel = 'debug' | 'error' | 'silent';
|
|
8
|
+
/**
|
|
9
|
+
* @deprecated Use modular constants instead.
|
|
10
|
+
*/
|
|
11
|
+
interface LastFetchStatus {
|
|
12
|
+
SUCCESS: 'success';
|
|
13
|
+
FAILURE: 'failure';
|
|
14
|
+
THROTTLED: 'throttled';
|
|
15
|
+
NO_FETCH_YET: 'no_fetch_yet';
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* @deprecated Use modular constants instead.
|
|
19
|
+
*/
|
|
20
|
+
interface ValueSource {
|
|
21
|
+
REMOTE: 'remote';
|
|
22
|
+
DEFAULT: 'default';
|
|
23
|
+
STATIC: 'static';
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* @deprecated Namespaced statics remain for backwards compatibility.
|
|
27
|
+
*/
|
|
28
|
+
interface Statics {
|
|
29
|
+
ValueSource: ValueSource;
|
|
30
|
+
LastFetchStatus: LastFetchStatus;
|
|
31
|
+
SDK_VERSION: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* @deprecated Use modular `Value` access patterns instead.
|
|
35
|
+
*/
|
|
36
|
+
interface ConfigValue {
|
|
37
|
+
getSource(): 'remote' | 'default' | 'static';
|
|
38
|
+
asBoolean(): true | false;
|
|
39
|
+
asNumber(): number;
|
|
40
|
+
asString(): string;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* @deprecated Use modular APIs instead.
|
|
44
|
+
*/
|
|
45
|
+
interface ConfigValues {
|
|
46
|
+
[key: string]: ConfigValue;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* @deprecated Use modular APIs instead.
|
|
50
|
+
*/
|
|
51
|
+
interface ConfigSettings {
|
|
52
|
+
minimumFetchIntervalMillis?: number;
|
|
53
|
+
fetchTimeMillis?: number;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* @deprecated Use modular APIs instead.
|
|
57
|
+
*/
|
|
58
|
+
interface ConfigDefaults {
|
|
59
|
+
[key: string]: number | string | boolean;
|
|
60
|
+
}
|
|
61
|
+
type LastFetchStatusType = 'success' | 'failure' | 'no_fetch_yet' | 'throttled';
|
|
62
|
+
interface ConfigUpdate {
|
|
63
|
+
getUpdatedKeys(): Set<string>;
|
|
64
|
+
}
|
|
65
|
+
interface ConfigUpdateObserver {
|
|
66
|
+
next: (configUpdate: ConfigUpdate) => void;
|
|
67
|
+
error: (error: ReactNativeFirebase.NativeFirebaseError) => void;
|
|
68
|
+
complete: () => void;
|
|
69
|
+
}
|
|
70
|
+
type Unsubscribe = () => void;
|
|
71
|
+
/**
|
|
72
|
+
* @deprecated Use the package default export or modular APIs instead.
|
|
73
|
+
*/
|
|
74
|
+
class Module extends FirebaseModule {
|
|
75
|
+
app: ReactNativeFirebase.FirebaseApp;
|
|
76
|
+
fetchTimeMillis: number;
|
|
77
|
+
lastFetchStatus: LastFetchStatusType;
|
|
78
|
+
settings: ConfigSettings;
|
|
79
|
+
defaultConfig: ConfigDefaults;
|
|
80
|
+
setConfigSettings(configSettings: ConfigSettings): Promise<void>;
|
|
81
|
+
setDefaults(defaults: ConfigDefaults): Promise<null>;
|
|
82
|
+
setDefaultsFromResource(resourceName: string): Promise<null>;
|
|
83
|
+
onConfigUpdate(observer: ConfigUpdateObserver): Unsubscribe;
|
|
84
|
+
onConfigUpdated(listener: CallbackOrObserver<OnConfigUpdatedListenerCallback>): () => void;
|
|
85
|
+
activate(): Promise<boolean>;
|
|
86
|
+
ensureInitialized(): Promise<void>;
|
|
87
|
+
fetch(expirationDurationSeconds?: number): Promise<void>;
|
|
88
|
+
fetchAndActivate(): Promise<boolean>;
|
|
89
|
+
getAll(): ConfigValues;
|
|
90
|
+
getValue(key: string): ConfigValue;
|
|
91
|
+
getBoolean(key: string): boolean;
|
|
92
|
+
getString(key: string): string;
|
|
93
|
+
getNumber(key: string): number;
|
|
94
|
+
reset(): Promise<void>;
|
|
95
|
+
}
|
|
96
|
+
type CallbackOrObserver<T extends (...args: any[]) => any> = T | {
|
|
97
|
+
next: T;
|
|
98
|
+
};
|
|
99
|
+
type OnConfigUpdatedListenerCallback = (event?: {
|
|
100
|
+
updatedKeys: string[];
|
|
101
|
+
}, error?: {
|
|
102
|
+
code: string;
|
|
103
|
+
message: string;
|
|
104
|
+
nativeErrorMessage: string;
|
|
105
|
+
}) => void;
|
|
106
|
+
}
|
|
107
|
+
declare module '@react-native-firebase/app' {
|
|
108
|
+
namespace ReactNativeFirebase {
|
|
109
|
+
import FirebaseModuleWithStatics = ReactNativeFirebase.FirebaseModuleWithStatics;
|
|
110
|
+
interface Module {
|
|
111
|
+
/**
|
|
112
|
+
* @deprecated Use the package default export or modular APIs instead.
|
|
113
|
+
*/
|
|
114
|
+
remoteConfig: FirebaseModuleWithStatics<FirebaseRemoteConfigTypes.Module, FirebaseRemoteConfigTypes.Statics>;
|
|
115
|
+
}
|
|
116
|
+
interface FirebaseApp {
|
|
117
|
+
/**
|
|
118
|
+
* @deprecated Use the package default export or modular APIs instead.
|
|
119
|
+
*/
|
|
120
|
+
remoteConfig(): FirebaseRemoteConfigTypes.Module;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
//# sourceMappingURL=namespaced.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"namespaced.d.ts","sourceRoot":"","sources":["../../../../lib/types/namespaced.ts"],"names":[],"mappings":"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"}
|