Hierarchy (view full)

Implements

Properties

_apiEmitter: GenericEventEmitter<ProviderEvents, Record<string, unknown>> = ...
_clientEvents: Map<undefined | string, GenericEventEmitter<AnyProviderEvent, Record<string, unknown>>> = ...
_context: EvaluationContext = {}
_defaultProvider: ProviderWrapper<Provider, ProviderStatus> = ...
_domainScopedContext: Map<string, EvaluationContext> = ...
_domainScopedProviders: Map<string, ProviderWrapper<Provider, ProviderStatus>> = ...
_hooks: Hook[] = []
_logger: Logger = ...
_runsOn: Paradigm
_statusEnumType: typeof ProviderStatus = ProviderStatus

Accessors

Methods

  • Adds hooks that will run during flag evaluations on this receiver. Hooks are executed in the order they were registered. Adding additional hooks will not remove existing hooks. Hooks registered on the global API object run with all evaluations. Hooks registered on the client run with all evaluations on that client.

    Parameters

    • Rest...hooks: Hook[]

      A list of hooks that should always run

    Returns this

    The receiver (this object)

  • Resets the global evaluation context to an empty object.

    Returns Promise<void>

  • Removes the evaluation context for a specific named client.

    Parameters

    • domain: string

      An identifier which logically binds clients with providers

    Returns Promise<void>

  • Resets the global evaluation context and removes the evaluation context for all domains.

    Returns Promise<void>

  • A factory function for creating new named OpenFeature clients. Clients can contain their own state (e.g. logger, hook, context). Multiple clients can be used to segment feature flag configuration.

    If there is already a provider bound to this name via this.setProvider setProvider, this provider will be used. Otherwise, the default provider is used until a provider is assigned to that name.

    Parameters

    • Optionaldomain: string

      An identifier which logically binds clients with providers

    • Optionalversion: string

      The version of the client (only used for metadata)

    Returns Client

    OpenFeature Client

  • Sets the evaluation context globally. This will be used by all providers that have not bound to a domain.

    Parameters

    Returns Promise<void>

    await OpenFeature.setContext({ region: "us" });
    
  • Sets the evaluation context for a specific provider. This will only affect providers bound to a domain.

    Parameters

    • domain: string

      An identifier which logically binds clients with providers

    • context: EvaluationContext

      Evaluation context

    Returns Promise<void>

    await OpenFeature.setContext("test", { scope: "provider" });
    OpenFeature.setProvider(new MyProvider()) // Uses the default context
    OpenFeature.setProvider("test", new MyProvider()) // Uses context: { scope: "provider" }
  • Sets a logger on this receiver. This logger supersedes to the global logger and is passed to various components in the SDK. The logger configured on the global API object will be used for all evaluations, unless overridden in a particular client.

    Parameters

    • logger: Logger

      The logger to be used

    Returns this

    The receiver (this object)

  • Sets the default provider for flag evaluations. This provider will be used by domainless clients and clients associated with domains to which no provider is bound. Setting a provider supersedes the current provider used in new and existing unbound clients.

    Parameters

    • provider: Provider

      The provider responsible for flag evaluations.

    Returns this

    OpenFeature API

  • Sets the default provider and evaluation context for flag evaluations. This provider will be used by domainless clients and clients associated with domains to which no provider is bound. Setting a provider supersedes the current provider used in new and existing unbound clients.

    Parameters

    • provider: Provider

      The provider responsible for flag evaluations.

    • context: EvaluationContext

      {EvaluationContext} The evaluation context to use for flag evaluations.

    Returns this

    OpenFeature API

  • Sets the provider for flag evaluations of providers with the given name. Setting a provider supersedes the current provider used in new and existing clients bound to the same domain.

    Parameters

    • domain: string

      The name to identify the client

    • provider: Provider

      The provider responsible for flag evaluations.

    Returns this

    OpenFeature API

  • Sets the provider and evaluation context flag evaluations of providers with the given name. Setting a provider supersedes the current provider used in new and existing clients bound to the same domain.

    Parameters

    • domain: string

      The name to identify the client

    • provider: Provider

      The provider responsible for flag evaluations.

    • context: EvaluationContext

      {EvaluationContext} The evaluation context to use for flag evaluations.

    Returns this

    OpenFeature API

  • Sets the default provider for flag evaluations and returns a promise that resolves when the provider is ready. This provider will be used by domainless clients and clients associated with domains to which no provider is bound. Setting a provider supersedes the current provider used in new and existing unbound clients.

    Parameters

    • provider: Provider

      The provider responsible for flag evaluations.

    Returns Promise<void>

    Uncaught exceptions thrown by the provider during initialization.

  • Sets the default provider for flag evaluations and returns a promise that resolves when the provider is ready. This provider will be used by domainless clients and clients associated with domains to which no provider is bound. Setting a provider supersedes the current provider used in new and existing unbound clients.

    Parameters

    • provider: Provider

      The provider responsible for flag evaluations.

    • context: EvaluationContext

      The evaluation context to use for flag evaluations.

    Returns Promise<void>

    Uncaught exceptions thrown by the provider during initialization.

  • Sets the provider that OpenFeature will use for flag evaluations on clients bound to the same domain. A promise is returned that resolves when the provider is ready. Setting a provider supersedes the current provider used in new and existing clients bound to the same domain.

    Parameters

    • domain: string

      The name to identify the client

    • provider: Provider

      The provider responsible for flag evaluations.

    Returns Promise<void>

    Uncaught exceptions thrown by the provider during initialization.

  • Sets the provider that OpenFeature will use for flag evaluations on clients bound to the same domain. A promise is returned that resolves when the provider is ready. Setting a provider supersedes the current provider used in new and existing clients bound to the same domain.

    Parameters

    • domain: string

      The name to identify the client

    • provider: Provider

      The provider responsible for flag evaluations.

    • context: EvaluationContext

      The evaluation context to use for flag evaluations.

    Returns Promise<void>

    Uncaught exceptions thrown by the provider during initialization.