@launchdarkly/react-native-client-sdk - v10.23.4
    Preparing search index...

    Class ReactNativeLDClient

    The basic interface for the LaunchDarkly client. Platform-specific SDKs may add some methods of their own.

    Hierarchy (View Summary)

    Index
    autoEnvAttributes: AutoEnvAttributes
    dataManager: DataManager
    dataSystemConfig?: InternalDataSystemOptions
    emitter: LDEmitter
    environmentMetadata: LDPluginEnvironmentMetadata
    initialContext?: LDContext
    initializedPromise?: Promise<LDWaitForInitializationResult>
    initResolve?: (result: LDWaitForInitializationResult) => void
    isFDv2: boolean
    logger: LDLogger

    The logger configured as part of LDOptions during construction.

    For more information, read LDOptions.logger and LDLogger.

    The configured LDLogger.

    platform: Platform
    sdkKey: string
    startPromise?: Promise<LDWaitForInitializationResult>
    • Add a hook to the client. In order to register a hook before the client starts, please use the hooks property of LDOptions.

      Hooks provide entrypoints which allow for observation of SDK functions.

      Parameters

      • hook: Hook

        The hook to add.

      Returns void

    • Returns a map of all available flags to the current context's values.

      Returns LDFlagSet

      An object in which each key is a feature flag key and each value is the flag value. Note that there is no way to specify a default value for each flag as there is with variation, so any flag that cannot be evaluated will be undefined.

    • Determines the boolean variation of a feature flag.

      If the flag variation does not have a boolean value, defaultValue is returned.

      Parameters

      • key: string

        The unique key of the feature flag.

      • defaultValue: boolean

        The default value of the flag, to be used if the value is not available from LaunchDarkly.

      Returns boolean

      The boolean value.

    • Determines the boolean variation of a feature flag, along with information about how it was calculated.

      The reason property of the result will also be included in analytics events, if you are capturing detailed event data for this flag.

      If the flag variation does not have a boolean value, defaultValue is returned. The reason will indicate an error of the type WRONG_KIND in this case.

      For more information, see the SDK reference guide.

      Parameters

      • key: string

        The unique key of the feature flag.

      • defaultValue: boolean

        The default value of the flag, to be used if the value is not available from LaunchDarkly.

      Returns LDEvaluationDetailTyped<boolean>

      The result (as an LDEvaluationDetailTyped).

    • Flushes all pending analytics events.

      Normally, batches of events are delivered in the background at intervals determined by the flushInterval property of LDOptions. Calling flush() triggers an immediate delivery.

      Returns Promise<{ error?: Error; result: boolean }>

      A Promise which resolves once flushing is finished. You can inspect the result of the flush for errors.

    • Identifies a context to LaunchDarkly. See LDClient.identify.

      If used with the sheddable option set to true, then the identify operation will be sheddable. This means that if multiple identify operations are done, without waiting for the previous one to complete, then intermediate operations may be discarded.

      It is recommended to use the identifyResult method instead when the operation is sheddable. In a future release, all identify operations will default to being sheddable.

      Parameters

      Returns Promise<void>

      A Promise which resolves when the flag values for the specified context are available. It rejects when:

      1. The context is unspecified or has no key.

      2. The identify timeout is exceeded. In client SDKs this defaults to 5s. You can customize this timeout with identifyOptions.

      3. A network error is encountered during initialization.

    • Identifies a context to LaunchDarkly and returns a promise which resolves to an object containing the result of the identify operation.

      Unlike the server-side SDKs, the client-side JavaScript SDKs maintain a current context state, which is set when you call identify().

      Changing the current context also causes all feature flag values to be reloaded. Until that has finished, calls to variation will still return flag values for the previous context. You can await the Promise to determine when the new flag values are available.

      If used with the sheddable option set to true, then the identify operation will be sheddable. This means that if multiple identify operations are done, without waiting for the previous one to complete, then intermediate operations may be discarded.

      Parameters

      Returns Promise<LDIdentifyResult>

      A promise which resolves to an object containing the result of the identify operation. The promise returned from this method will not be rejected.

    • Determines the json variation of a feature flag.

      This version may be favored in TypeScript versus variation because it returns an unknown type instead of any. unknown will require a cast before usage.

      Parameters

      • key: string

        The unique key of the feature flag.

      • defaultValue: unknown

        The default value of the flag, to be used if the value is not available from LaunchDarkly.

      Returns unknown

      The json value.

    • Determines the json variation of a feature flag, along with information about how it was calculated.

      The reason property of the result will also be included in analytics events, if you are capturing detailed event data for this flag.

      This version may be favored in TypeScript versus variation because it returns an unknown type instead of any. unknown will require a cast before usage.

      For more information, see the SDK reference guide.

      Parameters

      • key: string

        The unique key of the feature flag.

      • defaultValue: unknown

        The default value of the flag, to be used if the value is not available from LaunchDarkly.

      Returns LDEvaluationDetailTyped<unknown>

      The result (as an LDEvaluationDetailTyped).

    • Sets the initialization result and resolves any pending waitForInitialization promises. This method is idempotent and will only be set by the initialization flow. Subsequent calls should not do anything.

      Parameters

      Returns void

    • Determines the numeric variation of a feature flag.

      If the flag variation does not have a numeric value, defaultValue is returned.

      Parameters

      • key: string

        The unique key of the feature flag.

      • defaultValue: number

        The default value of the flag, to be used if the value is not available from LaunchDarkly.

      Returns number

      The numeric value.

    • Determines the numeric variation of a feature flag for a context, along with information about how it was calculated.

      Parameters

      • key: string

        The unique key of the feature flag.

      • defaultValue: number

        The default value of the flag, to be used if the value is not available from LaunchDarkly.

      Returns LDEvaluationDetailTyped<number>

      The result (as an LDEvaluationDetailTyped).

      The reason property of the result will also be included in analytics events, if you are capturing detailed event data for this flag.

      If the flag variation does not have a numeric value, defaultValue is returned. The reason will indicate an error of the type WRONG_KIND in this case.

      For more information, see the SDK reference guide.

    • Removes an event listener. See on for the available event types.

      Parameters

      Returns void

    • Registers an event listener.

      Parameters

      Returns void

      You can subscribe to one of the supported EventName:

      • "change": The client has received new feature flag data. This can happen either because you have switched contexts with identify, or because the client has a stream connection and has received a live change to a flag value (see below). The callback parameters are the context and an array of flag keys that have changed.

      • "error": General event for any kind of error condition during client operation. The callback parameters are the context and an Error object. Errors are also output by the logger at the error level.

      • "dataSourceStatus": Event indicating that there has been a change in the status of the data source. This will include the state of the data source as well any error information.

    • Preset flags are used to set the flags before the client is initialized. This is useful for when client has precached flags that are ready to evaluate without full initialization.

      Parameters

      Returns void

    • Enable/Disable event sending.

      Parameters

      • enabled: boolean

        True to enable event processing, false to disable.

      • flush: boolean

        True to flush while disabling. Useful to flush on certain state transitions.

      Returns void

    • Determines the string variation of a feature flag.

      If the flag variation does not have a string value, defaultValue is returned.

      Parameters

      • key: string

        The unique key of the feature flag.

      • defaultValue: string

        The default value of the flag, to be used if the value is not available from LaunchDarkly.

      Returns string

      The string value.

    • Determines the string variation of a feature flag for a context, along with information about how it was calculated.

      Parameters

      • key: string

        The unique key of the feature flag.

      • defaultValue: string

        The default value of the flag, to be used if the value is not available from LaunchDarkly.

      Returns LDEvaluationDetailTyped<string>

      The result (as an LDEvaluationDetailTyped).

      The reason property of the result will also be included in analytics events, if you are capturing detailed event data for this flag.

      If the flag variation does not have a string value, defaultValue is returned. The reason will indicate an error of the type WRONG_KIND in this case.

      For more information, see the SDK reference guide.

    • Track events for experiments.

      Parameters

      • key: string

        The name of the event, which may correspond to a goal in an experiment.

      • Optionaldata: any

        Additional information to associate with the event.

      • OptionalmetricValue: number

        An optional numeric value that can be used by the LaunchDarkly experimentation feature in numeric custom metrics. Can be omitted if this event is used by only non-numeric metrics. This field will also be returned as part of the custom event for Data Export.

      Returns void

    • We recommend using strongly typed variation methods which perform type checks and handle type errors.

      Parameters

      • flagKey: string
      • OptionaldefaultValue: any

        The default value of the flag, to be used if the value is not available from LaunchDarkly.

      Returns any

      The flag's value.

      Determines the variation of a feature flag.

      In the client-side JavaScript SDKs, this is always a fast synchronous operation because all of the feature flag values for the current context have already been loaded into memory.

    • We recommend using strongly typed variation detail methods which perform type checks and handle type errors.

      Parameters

      • flagKey: string
      • OptionaldefaultValue: any

        The default value of the flag, to be used if the value is not available from LaunchDarkly.

      Returns LDEvaluationDetail

      An LDEvaluationDetail object containing the value and explanation.

      Determines the variation of a feature flag for a context, along with information about how it was calculated.

      Note that this will only work if you have set withReasons to true in LDOptions.

      The reason property of the result will also be included in analytics events, if you are capturing detailed event data for this flag.

      For more information, see the SDK reference guide.

    • Returns a Promise that tracks the client's initialization state.

      The Promise will be resolved to a LDWaitForInitializationResult object containing the status of the waitForInitialization operation.

      Parameters

      Returns Promise<LDWaitForInitializationResult>

      A Promise that will be resolved to a LDWaitForInitializationResult object containing the status of the waitForInitialization operation.

      This example shows use of async/await syntax for specifying handlers:

          const result = await client.waitForInitialization({ timeout: 5 });

      if (result.status === 'complete') {
      doSomethingWithSuccessfullyInitializedClient();
      } else if (result.status === 'failed') {
      doSomethingForFailedStartup(result.error);
      } else if (result.status === 'timeout') {
      doSomethingForTimedOutStartup();
      }

      You can also use event listeners (on) for the same purpose: the event "initialized" indicates success, and "error" indicates an error.