@firebase/remote-config 0.6.6 → 0.7.0-canary.cb3bdd812
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/dist/esm/index.esm.js +737 -8
- package/dist/esm/index.esm.js.map +1 -1
- package/dist/esm/src/api.d.ts +17 -1
- package/dist/esm/src/client/eventEmitter.d.ts +39 -0
- package/dist/esm/src/client/realtime_handler.d.ts +141 -0
- package/dist/esm/src/client/remote_config_fetch_client.d.ts +13 -1
- package/dist/esm/src/client/visibility_monitor.d.ts +23 -0
- package/dist/esm/src/errors.d.ts +17 -1
- package/dist/esm/src/public_types.d.ts +60 -1
- package/dist/esm/src/remote_config.d.ts +10 -1
- package/dist/esm/src/storage/storage.d.ts +9 -1
- package/dist/index.cjs.js +736 -6
- package/dist/index.cjs.js.map +1 -1
- package/dist/remote-config-public.d.ts +81 -0
- package/dist/remote-config.d.ts +81 -0
- package/dist/src/api.d.ts +17 -1
- package/dist/src/client/eventEmitter.d.ts +39 -0
- package/dist/src/client/realtime_handler.d.ts +141 -0
- package/dist/src/client/remote_config_fetch_client.d.ts +13 -1
- package/dist/src/client/visibility_monitor.d.ts +23 -0
- package/dist/src/errors.d.ts +17 -1
- package/dist/src/global_index.d.ts +90 -1
- package/dist/src/public_types.d.ts +60 -1
- package/dist/src/remote_config.d.ts +10 -1
- package/dist/src/storage/storage.d.ts +9 -1
- package/package.json +7 -7
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
import { FirebaseApp } from '@firebase/app';
|
|
17
|
+
import { FirebaseApp, FirebaseError } from '@firebase/app';
|
|
18
18
|
/**
|
|
19
19
|
* The Firebase Remote Config service interface.
|
|
20
20
|
*
|
|
@@ -48,6 +48,8 @@ export interface RemoteConfig {
|
|
|
48
48
|
}
|
|
49
49
|
/**
|
|
50
50
|
* Defines a self-descriptive reference for config key-value pairs.
|
|
51
|
+
*
|
|
52
|
+
* @public
|
|
51
53
|
*/
|
|
52
54
|
export interface FirebaseRemoteConfigObject {
|
|
53
55
|
[key: string]: string;
|
|
@@ -57,6 +59,8 @@ export interface FirebaseRemoteConfigObject {
|
|
|
57
59
|
*
|
|
58
60
|
* <p>Modeled after the native `Response` interface, but simplified for Remote Config's
|
|
59
61
|
* use case.
|
|
62
|
+
*
|
|
63
|
+
* @public
|
|
60
64
|
*/
|
|
61
65
|
export interface FetchResponse {
|
|
62
66
|
/**
|
|
@@ -82,6 +86,10 @@ export interface FetchResponse {
|
|
|
82
86
|
* <p>Only defined for 200 responses.
|
|
83
87
|
*/
|
|
84
88
|
config?: FirebaseRemoteConfigObject;
|
|
89
|
+
/**
|
|
90
|
+
* The version number of the config template fetched from the server.
|
|
91
|
+
*/
|
|
92
|
+
templateVersion?: number;
|
|
85
93
|
}
|
|
86
94
|
/**
|
|
87
95
|
* Options for Remote Config initialization.
|
|
@@ -189,6 +197,57 @@ export type LogLevel = 'debug' | 'error' | 'silent';
|
|
|
189
197
|
export interface CustomSignals {
|
|
190
198
|
[key: string]: string | number | null;
|
|
191
199
|
}
|
|
200
|
+
/**
|
|
201
|
+
* Contains information about which keys have been updated.
|
|
202
|
+
*
|
|
203
|
+
* @public
|
|
204
|
+
*/
|
|
205
|
+
export interface ConfigUpdate {
|
|
206
|
+
/**
|
|
207
|
+
* Parameter keys whose values have been updated from the currently activated values.
|
|
208
|
+
* Includes keys that are added, deleted, or whose value, value source, or metadata has changed.
|
|
209
|
+
*/
|
|
210
|
+
getUpdatedKeys(): Set<string>;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Observer interface for receiving real-time Remote Config update notifications.
|
|
214
|
+
*
|
|
215
|
+
* NOTE: Although an `complete` callback can be provided, it will
|
|
216
|
+
* never be called because the ConfigUpdate stream is never-ending.
|
|
217
|
+
*
|
|
218
|
+
* @public
|
|
219
|
+
*/
|
|
220
|
+
export interface ConfigUpdateObserver {
|
|
221
|
+
/**
|
|
222
|
+
* Called when a new ConfigUpdate is available.
|
|
223
|
+
*/
|
|
224
|
+
next: (configUpdate: ConfigUpdate) => void;
|
|
225
|
+
/**
|
|
226
|
+
* Called if an error occurs during the stream.
|
|
227
|
+
*/
|
|
228
|
+
error: (error: FirebaseError) => void;
|
|
229
|
+
/**
|
|
230
|
+
* Called when the stream is gracefully terminated.
|
|
231
|
+
*/
|
|
232
|
+
complete: () => void;
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* A function that unsubscribes from a real-time event stream.
|
|
236
|
+
*
|
|
237
|
+
* @public
|
|
238
|
+
*/
|
|
239
|
+
export type Unsubscribe = () => void;
|
|
240
|
+
/**
|
|
241
|
+
* Indicates the type of fetch request.
|
|
242
|
+
*
|
|
243
|
+
* <ul>
|
|
244
|
+
* <li>"BASE" indicates a standard fetch request.</li>
|
|
245
|
+
* <li>"REALTIME" indicates a fetch request triggered by a real-time update.</li>
|
|
246
|
+
* </ul>
|
|
247
|
+
*
|
|
248
|
+
* @public
|
|
249
|
+
*/
|
|
250
|
+
export type FetchType = 'BASE' | 'REALTIME';
|
|
192
251
|
declare module '@firebase/component' {
|
|
193
252
|
interface NameServiceMapping {
|
|
194
253
|
'remote-config': RemoteConfig;
|
|
@@ -20,6 +20,7 @@ import { StorageCache } from './storage/storage_cache';
|
|
|
20
20
|
import { RemoteConfigFetchClient } from './client/remote_config_fetch_client';
|
|
21
21
|
import { Storage } from './storage/storage';
|
|
22
22
|
import { Logger } from '@firebase/logger';
|
|
23
|
+
import { RealtimeHandler } from './client/realtime_handler';
|
|
23
24
|
/**
|
|
24
25
|
* Encapsulates business logic mapping network and storage dependencies to the public SDK API.
|
|
25
26
|
*
|
|
@@ -43,6 +44,10 @@ export declare class RemoteConfig implements RemoteConfigType {
|
|
|
43
44
|
* @internal
|
|
44
45
|
*/
|
|
45
46
|
readonly _logger: Logger;
|
|
47
|
+
/**
|
|
48
|
+
* @internal
|
|
49
|
+
*/
|
|
50
|
+
readonly _realtimeHandler: RealtimeHandler;
|
|
46
51
|
/**
|
|
47
52
|
* Tracks completion of initialization promise.
|
|
48
53
|
* @internal
|
|
@@ -75,5 +80,9 @@ export declare class RemoteConfig implements RemoteConfigType {
|
|
|
75
80
|
/**
|
|
76
81
|
* @internal
|
|
77
82
|
*/
|
|
78
|
-
_logger: Logger
|
|
83
|
+
_logger: Logger,
|
|
84
|
+
/**
|
|
85
|
+
* @internal
|
|
86
|
+
*/
|
|
87
|
+
_realtimeHandler: RealtimeHandler);
|
|
79
88
|
}
|
|
@@ -34,12 +34,16 @@ export interface ThrottleMetadata {
|
|
|
34
34
|
backoffCount: number;
|
|
35
35
|
throttleEndTimeMillis: number;
|
|
36
36
|
}
|
|
37
|
+
export interface RealtimeBackoffMetadata {
|
|
38
|
+
numFailedStreams: number;
|
|
39
|
+
backoffEndTimeMillis: Date;
|
|
40
|
+
}
|
|
37
41
|
/**
|
|
38
42
|
* Provides type-safety for the "key" field used by {@link APP_NAMESPACE_STORE}.
|
|
39
43
|
*
|
|
40
44
|
* <p>This seems like a small price to avoid potentially subtle bugs caused by a typo.
|
|
41
45
|
*/
|
|
42
|
-
type ProjectNamespaceKeyFieldValue = 'active_config' | 'active_config_etag' | 'last_fetch_status' | 'last_successful_fetch_timestamp_millis' | 'last_successful_fetch_response' | 'settings' | 'throttle_metadata' | 'custom_signals';
|
|
46
|
+
type ProjectNamespaceKeyFieldValue = 'active_config' | 'active_config_etag' | 'last_fetch_status' | 'last_successful_fetch_timestamp_millis' | 'last_successful_fetch_response' | 'settings' | 'throttle_metadata' | 'custom_signals' | 'realtime_backoff_metadata' | 'last_known_template_version';
|
|
43
47
|
export declare function openDatabase(): Promise<IDBDatabase>;
|
|
44
48
|
/**
|
|
45
49
|
* Abstracts data persistence.
|
|
@@ -63,6 +67,10 @@ export declare abstract class Storage {
|
|
|
63
67
|
abstract get<T>(key: ProjectNamespaceKeyFieldValue): Promise<T | undefined>;
|
|
64
68
|
abstract set<T>(key: ProjectNamespaceKeyFieldValue, value: T): Promise<void>;
|
|
65
69
|
abstract delete(key: ProjectNamespaceKeyFieldValue): Promise<void>;
|
|
70
|
+
getRealtimeBackoffMetadata(): Promise<RealtimeBackoffMetadata | undefined>;
|
|
71
|
+
setRealtimeBackoffMetadata(realtimeMetadata: RealtimeBackoffMetadata): Promise<void>;
|
|
72
|
+
getActiveConfigTemplateVersion(): Promise<number | undefined>;
|
|
73
|
+
setActiveConfigTemplateVersion(version: number): Promise<void>;
|
|
66
74
|
}
|
|
67
75
|
export declare class IndexedDbStorage extends Storage {
|
|
68
76
|
private readonly appId;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@firebase/remote-config",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0-canary.cb3bdd812",
|
|
4
4
|
"description": "The Remote Config package of the Firebase JS SDK",
|
|
5
5
|
"author": "Firebase <firebase-support@google.com> (https://firebase.google.com/)",
|
|
6
6
|
"main": "dist/index.cjs.js",
|
|
@@ -37,18 +37,18 @@
|
|
|
37
37
|
"typings:internal": "node ../../scripts/build/use_typings.js ./dist/src/index.d.ts"
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {
|
|
40
|
-
"@firebase/app": "0.
|
|
40
|
+
"@firebase/app": "0.14.3-canary.cb3bdd812"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@firebase/installations": "0.6.19",
|
|
44
|
-
"@firebase/logger": "0.5.0",
|
|
45
|
-
"@firebase/util": "1.13.0",
|
|
46
|
-
"@firebase/component": "0.7.0",
|
|
43
|
+
"@firebase/installations": "0.6.19-canary.cb3bdd812",
|
|
44
|
+
"@firebase/logger": "0.5.0-canary.cb3bdd812",
|
|
45
|
+
"@firebase/util": "1.13.0-canary.cb3bdd812",
|
|
46
|
+
"@firebase/component": "0.7.0-canary.cb3bdd812",
|
|
47
47
|
"tslib": "^2.1.0"
|
|
48
48
|
},
|
|
49
49
|
"license": "Apache-2.0",
|
|
50
50
|
"devDependencies": {
|
|
51
|
-
"@firebase/app": "0.14.
|
|
51
|
+
"@firebase/app": "0.14.3-canary.cb3bdd812",
|
|
52
52
|
"rollup": "2.79.2",
|
|
53
53
|
"rollup-plugin-dts": "5.3.1",
|
|
54
54
|
"rollup-plugin-typescript2": "0.36.0",
|