New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

@lifeomic/gradual-feature-toggle-tools

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@lifeomic/gradual-feature-toggle-tools

Provides a set of helper functions to make gradual, non-binary, feature toggle use easier

latest
Source
npmnpm
Version
1.0.0
Version published
Maintainers
1
Created
Source

gradual-feature-toggle-tools

npm Build Status Greenkeeper badge

A set of tools to make gradual rollout of features easier

Selecting users to get a feature

When a new feature is being rolled out and is currently 50% enabled, then ideally 50% of the users would get the new behavior. The enablement of the new behavior should be uniform as the feature value is increased and should not be biased by the usernames or feature names. For example, if you use e-mail addresses then ideally the enablement of @gmail.com users would be evenly spread across the range of enablement. The testcases assert that uniform distribution is true.

Given a feature an a user, this code can help you decide whether a user should receive the new behavior or not:

import { calculateUserEnablementThreshold } from 'gradual-feature-toggle-tools';

const featureValue = // some lookup of a feature's current value (from 0 - 100)
const userThreshold = await calculateUserEnablementThreshold('some-feature', 'some-user');
if (featureValue > userThredshold) {
    // Use the new behavior
} else {
    // Use the old behavior
}

FAQs

Package last updated on 01 Jan 2019

Related posts