summaryrefslogtreecommitdiff
path: root/frontend-old/node_modules/@firebase/remote-config/dist/esm/src/storage
diff options
context:
space:
mode:
Diffstat (limited to 'frontend-old/node_modules/@firebase/remote-config/dist/esm/src/storage')
-rw-r--r--frontend-old/node_modules/@firebase/remote-config/dist/esm/src/storage/storage.d.ts116
-rw-r--r--frontend-old/node_modules/@firebase/remote-config/dist/esm/src/storage/storage_cache.d.ts51
2 files changed, 167 insertions, 0 deletions
diff --git a/frontend-old/node_modules/@firebase/remote-config/dist/esm/src/storage/storage.d.ts b/frontend-old/node_modules/@firebase/remote-config/dist/esm/src/storage/storage.d.ts
new file mode 100644
index 0000000..df20b57
--- /dev/null
+++ b/frontend-old/node_modules/@firebase/remote-config/dist/esm/src/storage/storage.d.ts
@@ -0,0 +1,116 @@
+/**
+ * @license
+ * Copyright 2019 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { FetchStatus, CustomSignals } from '@firebase/remote-config-types';
+import { FetchResponse, FirebaseRemoteConfigObject } from '../public_types';
+/**
+ * A general-purpose store keyed by app + namespace + {@link
+ * ProjectNamespaceKeyFieldValue}.
+ *
+ * <p>The Remote Config SDK can be used with multiple app installations, and each app can interact
+ * with multiple namespaces, so this store uses app (ID + name) and namespace as common parent keys
+ * for a set of key-value pairs. See {@link Storage#createCompositeKey}.
+ *
+ * <p>Visible for testing.
+ */
+export declare const APP_NAMESPACE_STORE = "app_namespace_store";
+/**
+ * Encapsulates metadata concerning throttled fetch requests.
+ */
+export interface ThrottleMetadata {
+ backoffCount: number;
+ throttleEndTimeMillis: number;
+}
+export interface RealtimeBackoffMetadata {
+ numFailedStreams: number;
+ backoffEndTimeMillis: Date;
+}
+/**
+ * Provides type-safety for the "key" field used by {@link APP_NAMESPACE_STORE}.
+ *
+ * <p>This seems like a small price to avoid potentially subtle bugs caused by a typo.
+ */
+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';
+export declare function openDatabase(): Promise<IDBDatabase>;
+/**
+ * Abstracts data persistence.
+ */
+export declare abstract class Storage {
+ getLastFetchStatus(): Promise<FetchStatus | undefined>;
+ setLastFetchStatus(status: FetchStatus): Promise<void>;
+ getLastSuccessfulFetchTimestampMillis(): Promise<number | undefined>;
+ setLastSuccessfulFetchTimestampMillis(timestamp: number): Promise<void>;
+ getLastSuccessfulFetchResponse(): Promise<FetchResponse | undefined>;
+ setLastSuccessfulFetchResponse(response: FetchResponse): Promise<void>;
+ getActiveConfig(): Promise<FirebaseRemoteConfigObject | undefined>;
+ setActiveConfig(config: FirebaseRemoteConfigObject): Promise<void>;
+ getActiveConfigEtag(): Promise<string | undefined>;
+ setActiveConfigEtag(etag: string): Promise<void>;
+ getThrottleMetadata(): Promise<ThrottleMetadata | undefined>;
+ setThrottleMetadata(metadata: ThrottleMetadata): Promise<void>;
+ deleteThrottleMetadata(): Promise<void>;
+ getCustomSignals(): Promise<CustomSignals | undefined>;
+ abstract setCustomSignals(customSignals: CustomSignals): Promise<CustomSignals>;
+ abstract get<T>(key: ProjectNamespaceKeyFieldValue): Promise<T | undefined>;
+ abstract set<T>(key: ProjectNamespaceKeyFieldValue, value: T): Promise<void>;
+ abstract delete(key: ProjectNamespaceKeyFieldValue): Promise<void>;
+ getRealtimeBackoffMetadata(): Promise<RealtimeBackoffMetadata | undefined>;
+ setRealtimeBackoffMetadata(realtimeMetadata: RealtimeBackoffMetadata): Promise<void>;
+ getActiveConfigTemplateVersion(): Promise<number | undefined>;
+ setActiveConfigTemplateVersion(version: number): Promise<void>;
+}
+export declare class IndexedDbStorage extends Storage {
+ private readonly appId;
+ private readonly appName;
+ private readonly namespace;
+ private readonly openDbPromise;
+ /**
+ * @param appId enables storage segmentation by app (ID + name).
+ * @param appName enables storage segmentation by app (ID + name).
+ * @param namespace enables storage segmentation by namespace.
+ */
+ constructor(appId: string, appName: string, namespace: string, openDbPromise?: Promise<IDBDatabase>);
+ setCustomSignals(customSignals: CustomSignals): Promise<CustomSignals>;
+ /**
+ * Gets a value from the database using the provided transaction.
+ *
+ * @param key The key of the value to get.
+ * @param transaction The transaction to use for the operation.
+ * @returns The value associated with the key, or undefined if no such value exists.
+ */
+ getWithTransaction<T>(key: ProjectNamespaceKeyFieldValue, transaction: IDBTransaction): Promise<T | undefined>;
+ /**
+ * Sets a value in the database using the provided transaction.
+ *
+ * @param key The key of the value to set.
+ * @param value The value to set.
+ * @param transaction The transaction to use for the operation.
+ * @returns A promise that resolves when the operation is complete.
+ */
+ setWithTransaction<T>(key: ProjectNamespaceKeyFieldValue, value: T, transaction: IDBTransaction): Promise<void>;
+ get<T>(key: ProjectNamespaceKeyFieldValue): Promise<T | undefined>;
+ set<T>(key: ProjectNamespaceKeyFieldValue, value: T): Promise<void>;
+ delete(key: ProjectNamespaceKeyFieldValue): Promise<void>;
+ createCompositeKey(key: ProjectNamespaceKeyFieldValue): string;
+}
+export declare class InMemoryStorage extends Storage {
+ private storage;
+ get<T>(key: ProjectNamespaceKeyFieldValue): Promise<T>;
+ set<T>(key: ProjectNamespaceKeyFieldValue, value: T): Promise<void>;
+ delete(key: ProjectNamespaceKeyFieldValue): Promise<void>;
+ setCustomSignals(customSignals: CustomSignals): Promise<CustomSignals>;
+}
+export {};
diff --git a/frontend-old/node_modules/@firebase/remote-config/dist/esm/src/storage/storage_cache.d.ts b/frontend-old/node_modules/@firebase/remote-config/dist/esm/src/storage/storage_cache.d.ts
new file mode 100644
index 0000000..e61c523
--- /dev/null
+++ b/frontend-old/node_modules/@firebase/remote-config/dist/esm/src/storage/storage_cache.d.ts
@@ -0,0 +1,51 @@
+/**
+ * @license
+ * Copyright 2019 Google LLC
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+import { FetchStatus, CustomSignals } from '@firebase/remote-config-types';
+import { FirebaseRemoteConfigObject } from '../public_types';
+import { Storage } from './storage';
+/**
+ * A memory cache layer over storage to support the SDK's synchronous read requirements.
+ */
+export declare class StorageCache {
+ private readonly storage;
+ constructor(storage: Storage);
+ /**
+ * Memory caches.
+ */
+ private lastFetchStatus?;
+ private lastSuccessfulFetchTimestampMillis?;
+ private activeConfig?;
+ private customSignals?;
+ /**
+ * Memory-only getters
+ */
+ getLastFetchStatus(): FetchStatus | undefined;
+ getLastSuccessfulFetchTimestampMillis(): number | undefined;
+ getActiveConfig(): FirebaseRemoteConfigObject | undefined;
+ getCustomSignals(): CustomSignals | undefined;
+ /**
+ * Read-ahead getter
+ */
+ loadFromStorage(): Promise<void>;
+ /**
+ * Write-through setters
+ */
+ setLastFetchStatus(status: FetchStatus): Promise<void>;
+ setLastSuccessfulFetchTimestampMillis(timestampMillis: number): Promise<void>;
+ setActiveConfig(activeConfig: FirebaseRemoteConfigObject): Promise<void>;
+ setCustomSignals(customSignals: CustomSignals): Promise<void>;
+}