Skip to main content

JavaScript SDK

Integrate Unrevealed in your front-end applications.

Getting Started

npm install @unrevealed/js
yarn add @unrevealed/js
pnpm install @unrevealed/js

Usage

UnrevealedClient

First, create an Unrevealed client by passing your client key. To generate a client key, go to the Api Keys menu in the app and create one. Select Client as the target SDK.

You should use different API keys for different environments.

import { UnrevealedClient } from '@unrevealed/js';

const client = new UnrevealedClient(yourClientKey);

Subscribe/Unsubscribe

You can subscribe to updates to the enabled features. The subscribe method returns a Symbol that can be used to unsubscribe.

Note that the client isn't receiving updates in real time. These callbacks are simply called when the client has finished fetching features when identifying a user.

const subscription = client.subscribe(
(features) => {
// ...
},
(err) => {
// ...
},
);

// ...

client.unsubscribe(subscription);

Identify the current user and team

This will fetch the features for the identified user, and save the user and team in Unrevealed.

client.identify({
user: {
id: user.id,
traits: {
email: user.email,
name: user.name,
// ...
},
},
team: {
id: team.id,
traits: {
name: team.name,
plan: team.plan,
// ...
},
},
});

Checking enabled features

const { enabled, loading } = client.getFeature('feature-key');

const enabledFeatureKeys = client.getEnabledFeatures();

Type safety

You can make the client type safe regarding feature keys and user/team traits by using the code generator.