Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@spotify-confidence/openfeature-web-provider

Package Overview
Dependencies
Maintainers
3
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@spotify-confidence/openfeature-web-provider

![](https://img.shields.io/badge/lifecycle-beta-a0c3d2.svg)

  • 0.1.1
  • npm
  • Socket score

Version published
Weekly downloads
55
decreased by-26.67%
Maintainers
3
Weekly downloads
 
Created
Source

OpenFeature Web SDK JavaScript Confidence Provider

JavaScript implementation of the Confidence OpenFeature web provider, to be used in conjunction wth the OpenFeature Web SDK. This implements the static paradigm of OpenFeature.

Usage

Adding the dependencies

To add the packages to your dependencies run:

yarn add @openfeature/web-sdk @spotify-confidence/openfeature-web-provider

Enabling the provider, setting the evaluation context and resolving flags

setProvider makes the Provider launch a network request to initialize the flags. In cases of success the ProviderEvents.Ready event will be emitted. In cases of failure of the network request, the ProviderEvent.Error event will be emitted. The ProviderEvents events will be emitted only when we are done with the network request, either a successful or a failed network response. If the network response failed, default values will be returned on flag evaluation, if the network request is successful we update the flags and then emit ProviderEvents.Ready.

import { createConfidenceWebProvider } from '@spotify-confidence/openfeature-web-provider';
import { OpenFeature, OpenFeatureAPI } from '@openfeature/web-sdk';

const provider = createConfidenceWebProvider({
  clientSecret: 'mysecret',
  region: 'eu',
  fetchImplementation: window.fetch.bind(window),
  timeout: 1000,
});

await OpenFeature.setContext({
  targetingKey: 'myTargetingKey',
});
OpenFeature.setProvider(provider);

const client = OpenFeature.getClient();
const result = client.getBooleanValue('flag.my-boolean', false);

Notes:

  • It's advised not to perform setContext while setProvider is running, you can await setting the context first, or listen to the ProviderEvent.Ready via a handler on OpenFeaure.
  • It's advised not to perform resolves while setProvider and setContext are running: resolves might return the default value with reason STALE during such operations.

Timeout

The timeout option is used to set the timeout for the network request to the Confidence backend. When the timeout is reached, default values will be returned.

Configuring Apply

See apply concept.

By default, 'access' apply is used, using a timeout of 250ms.

To use Backend Apply, set the apply option to 'backend':

const provider = createConfidenceWebProvider({
    ...,
    apply: 'backend'
});

FAQs

Package last updated on 16 Nov 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc