@firebase/remote-config

  • Version 0.6.1
  • Published
  • 402 kB
  • 5 dependencies
  • Apache-2.0 license

Install

npm i @firebase/remote-config
yarn add @firebase/remote-config
pnpm add @firebase/remote-config

Overview

The Firebase Remote Config Web SDK. This SDK does not work in a Node.js environment.

Index

Functions

function activate

activate: (remoteConfig: RemoteConfig) => Promise<boolean>;
  • Makes the last fetched config available to the getters.

    Parameter remoteConfig

    The RemoteConfig instance.

    Returns

    A Promise which resolves to true if the current call activated the fetched configs. If the fetched configs were already activated, the Promise will resolve to false.

    Modifiers

    • @public

function ensureInitialized

ensureInitialized: (remoteConfig: RemoteConfig) => Promise<void>;
  • Ensures the last activated config are available to the getters.

    Parameter remoteConfig

    The RemoteConfig instance.

    Returns

    A Promise that resolves when the last activated config is available to the getters.

    Modifiers

    • @public

function fetchAndActivate

fetchAndActivate: (remoteConfig: RemoteConfig) => Promise<boolean>;
  • Performs fetch and activate operations, as a convenience.

    Parameter remoteConfig

    The RemoteConfig instance.

    Returns

    A Promise which resolves to true if the current call activated the fetched configs. If the fetched configs were already activated, the Promise will resolve to false.

    Modifiers

    • @public

function fetchConfig

fetchConfig: (remoteConfig: RemoteConfig) => Promise<void>;
  • Fetches and caches configuration from the Remote Config service.

    Parameter remoteConfig

    The RemoteConfig instance.

    Modifiers

    • @public

function getAll

getAll: (remoteConfig: RemoteConfig) => Record<string, Value>;
  • Gets all config.

    Parameter remoteConfig

    The RemoteConfig instance.

    Returns

    All config.

    Modifiers

    • @public

function getBoolean

getBoolean: (remoteConfig: RemoteConfig, key: string) => boolean;
  • Gets the value for the given key as a boolean.

    Convenience method for calling remoteConfig.getValue(key).asBoolean().

    Parameter remoteConfig

    The RemoteConfig instance.

    Parameter key

    The name of the parameter.

    Returns

    The value for the given key as a boolean.

    Modifiers

    • @public

function getNumber

getNumber: (remoteConfig: RemoteConfig, key: string) => number;
  • Gets the value for the given key as a number.

    Convenience method for calling remoteConfig.getValue(key).asNumber().

    Parameter remoteConfig

    The RemoteConfig instance.

    Parameter key

    The name of the parameter.

    Returns

    The value for the given key as a number.

    Modifiers

    • @public

function getRemoteConfig

getRemoteConfig: (
app?: FirebaseApp,
options?: RemoteConfigOptions
) => RemoteConfig;

function getString

getString: (remoteConfig: RemoteConfig, key: string) => string;
  • Gets the value for the given key as a string. Convenience method for calling remoteConfig.getValue(key).asString().

    Parameter remoteConfig

    The RemoteConfig instance.

    Parameter key

    The name of the parameter.

    Returns

    The value for the given key as a string.

    Modifiers

    • @public

function getValue

getValue: (remoteConfig: RemoteConfig, key: string) => Value;
  • Gets the Value for the given key.

    Parameter remoteConfig

    The RemoteConfig instance.

    Parameter key

    The name of the parameter.

    Returns

    The value for the given key.

    Modifiers

    • @public

function isSupported

isSupported: () => Promise<boolean>;
  • This method provides two different checks:

    1. Check if IndexedDB exists in the browser environment. 2. Check if the current browser context allows IndexedDB open() calls.

    Returns

    A Promise which resolves to true if a RemoteConfig instance can be initialized in this environment, or false if it cannot.

    Modifiers

    • @public

function setCustomSignals

setCustomSignals: (
remoteConfig: RemoteConfig,
customSignals: CustomSignals
) => Promise<void>;
  • Sets the custom signals for the app instance.

    Parameter remoteConfig

    The RemoteConfig instance.

    Parameter customSignals

    Map (key, value) of the custom signals to be set for the app instance. If a key already exists, the value is overwritten. Setting the value of a custom signal to null unsets the signal. The signals will be persisted locally on the client.

    Modifiers

    • @public

function setLogLevel

setLogLevel: (remoteConfig: RemoteConfig, logLevel: LogLevel) => void;
  • Defines the log level to use.

    Parameter remoteConfig

    The RemoteConfig instance.

    Parameter logLevel

    The log level to set.

    Modifiers

    • @public

Interfaces

interface CustomSignals

interface CustomSignals {}
  • Defines the type for representing custom signals and their values.

    The values in CustomSignals must be one of the following types:

    string number null

    Modifiers

    • @public

index signature

[key: string]: string | number | null;

    interface FetchResponse

    interface FetchResponse {}
    • Defines a successful response (200 or 304).

      Modeled after the native Response interface, but simplified for Remote Config's use case.

    property config

    config?: FirebaseRemoteConfigObject;
    • Defines the map of parameters returned as "entries" in the fetch response body.

      Only defined for 200 responses.

    property eTag

    eTag?: string;
    • Defines the ETag response header value.

      Only defined for 200 and 304 responses.

    property status

    status: number;
    • The HTTP status, which is useful for differentiating success responses with data from those without.

      The Remote Config client is modeled after the native Fetch interface, so HTTP status is first-class.

      Disambiguation: the fetch response returns a legacy "state" value that is redundant with the HTTP status code. The former is normalized into the latter.

    interface FirebaseRemoteConfigObject

    interface FirebaseRemoteConfigObject {}
    • Defines a self-descriptive reference for config key-value pairs.

    index signature

    [key: string]: string;

      interface RemoteConfig

      interface RemoteConfig {}
      • The Firebase Remote Config service interface.

        Modifiers

        • @public

      property app

      app: FirebaseApp;

      property defaultConfig

      defaultConfig: {
      [key: string]: string | number | boolean;
      };
      • Object containing default values for configs.

      property fetchTimeMillis

      fetchTimeMillis: number;
      • The Unix timestamp in milliseconds of the last successful fetch, or negative one if the RemoteConfig instance either hasn't fetched or initialization is incomplete.

      property lastFetchStatus

      lastFetchStatus: FetchStatus;
      • The status of the last fetch attempt.

      property settings

      settings: RemoteConfigSettings;
      • Defines configuration for the Remote Config SDK.

      interface RemoteConfigOptions

      interface RemoteConfigOptions {}
      • Options for Remote Config initialization.

        Modifiers

        • @public

      property initialFetchResponse

      initialFetchResponse?: FetchResponse;
      • Hydrates the state with an initial fetch response.

      property templateId

      templateId?: string;
      • The ID of the template to use. If not provided, defaults to "firebase".

      interface RemoteConfigSettings

      interface RemoteConfigSettings {}
      • Defines configuration options for the Remote Config SDK.

        Modifiers

        • @public

      property fetchTimeoutMillis

      fetchTimeoutMillis: number;
      • Defines the maximum amount of milliseconds to wait for a response when fetching configuration from the Remote Config server. Defaults to 60000 (One minute).

      property minimumFetchIntervalMillis

      minimumFetchIntervalMillis: number;
      • Defines the maximum age in milliseconds of an entry in the config cache before it is considered stale. Defaults to 43200000 (Twelve hours).

      interface Value

      interface Value {}
      • Wraps a value with metadata and type-safe getters.

        Modifiers

        • @public

      method asBoolean

      asBoolean: () => boolean;
      • Gets the value as a boolean.

        The following values (case-insensitive) are interpreted as true: "1", "true", "t", "yes", "y", "on". Other values are interpreted as false.

      method asNumber

      asNumber: () => number;
      • Gets the value as a number. Comparable to calling Number(value) || 0.

      method asString

      asString: () => string;
      • Gets the value as a string.

      method getSource

      getSource: () => ValueSource;

      Type Aliases

      type FetchStatus

      type FetchStatus = 'no-fetch-yet' | 'success' | 'failure' | 'throttle';
      • Summarizes the outcome of the last attempt to fetch config from the Firebase Remote Config server.

        "no-fetch-yet" indicates the RemoteConfig instance has not yet attempted to fetch config, or that SDK initialization is incomplete. "success" indicates the last attempt succeeded. "failure" indicates the last attempt failed. "throttle" indicates the last attempt was rate-limited.

        Modifiers

        • @public

      type LogLevel

      type LogLevel = 'debug' | 'error' | 'silent';
      • Defines levels of Remote Config logging.

        Modifiers

        • @public

      type ValueSource

      type ValueSource = 'static' | 'default' | 'remote';
      • Indicates the source of a value.

        "static" indicates the value was defined by a static constant. "default" indicates the value was defined by default config. "remote" indicates the value was defined by fetched config.

        Modifiers

        • @public

      Package Files (1)

      Dependencies (5)

      Dev Dependencies (4)

      Peer Dependencies (1)

      Badge

      To add a badge like this onejsDocs.io badgeto your package's README, use the codes available below.

      You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/@firebase/remote-config.

      • Markdown
        [![jsDocs.io](https://img.shields.io/badge/jsDocs.io-reference-blue)](https://www.jsdocs.io/package/@firebase/remote-config)
      • HTML
        <a href="https://www.jsdocs.io/package/@firebase/remote-config"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>