0.1.1 • Published 5 years ago

featurematrix-js v0.1.1

Weekly downloads
1
License
ISC
Repository
github
Last release
5 years ago

FeatureMatrix JS

FeatureMatrix Javascript Client
This is the base JS library and browser implementation for FeatureMatrix.

Installation

npm i featurematrix-js

Getting started

Signup if you don't have an account yet at https://app.featurematrix.io/signup
Get familiar with concepts at https://docs.featurematrix.io

Usage

Start by importing FeatureMatrix class and create an instance.
Then initialize the instance with appKey and envKey which can be found at https://app.featurematrix.io/apps and https://app.featurematrix.io/environments

import { FeatureMatrix } from 'featurematrix-js';

const featureClient = new FeatureMatrix();

featureClient.init({
    appKey: 'ef445c2b-d4b4-43bc-b79a-7956baeef34a',
    envKey: '4306148c-3707-4b2d-99aa-4390f09b4f5a'
});

Events

featureClient exposes two events to subscribe to: ready and update.
After the client has been initialized and has successfully open a connection to FeatureMatrix backend ready event will be emitted.
And on each feature update which is made available to current app an update will be emitted with the latest state of the feature.

featureClient.on('ready', () => {
    const featureKeys = featureClient.getFeatures();
});

featureClient.on('update', feature => {
    const newFeatureState = featureClient.getFeatureState(feature.key);
});

API

type EventType = 'ready' | 'update';
interface Subscription {
    unsubscribe: () => void;
}

on(eventType: EventType, callback: (...args: any[]) => void): Subscription

Subscribe to either ready or update events.

getFeatureState(featureKey: string): boolean

Given the key of a feature, returns the feature state as boolean.

getFeatures(): string[]

Returns the list of available feature keys to current app.