@blaze/toggles
TypeScript icon, indicating that this package has built-in type declarations

1.2.1 • Public • Published

Blaze Feature Toggles

Blaze is a framework-free open source UI toolkit. It provides great structure for building websites quickly with a scalable and maintainable foundation.

https://www.blazeui.com

ci build status

Using the Toggles

Add the following to your <head></head>.

<script src="https://unpkg.com/@blaze/toggles@x.x.x/dist/collection/config.js"></script>
<script src="https://unpkg.com/@blaze/toggles@x.x.x/dist/toggles.js"></script>

The x.x.x is the specific version of the library, you should use specifc versions to prevent against breaking changes.

Config

Next add some feature toggle config, e.g.

FeatureToggles.set({
  welcomeMessage: true,
  loginPage: {
    rememberMe: 'alpha',
  },
});

You can call FeatureToggles.set({...}) at anytime to update config. Everytime FeatureToggles.set is called it raises a featureToggleChange event that you can hook into.

set also merges the config with the already set config.

Config values can be either booleans, strings or functions.

Promises are supported.

e.g. the below to toggle the feature after 2 seconds once the promise has resolved.

FeatureToggles.set({
  welcomeMessage: true,
  loginPage: {
    rememberMe: () => new Promise((resolve) => setTimeout(() => resolve('alpha'), 2000)),
  },
});

HTML

<feature-toggle feature="welcomeMessage">
  content will be VISIBLE
</feature-toggle>

<feature-toggle feature="loginPage.rememberMe" variant="alpha">
  content will be VISIBLE
</feature-toggle>

<feature-toggle feature="loginPage.rememberMe" variant="beta">
  content will be HIDDEN
</feature-toggle>
Setting Description
feature Feature config item, supports dot notation
variant The value the toggle must be to turn on this feature (default: true)

/@blaze/toggles/

    Package Sidebar

    Install

    npm i @blaze/toggles

    Weekly Downloads

    10

    Version

    1.2.1

    License

    MIT

    Unpacked Size

    250 kB

    Total Files

    50

    Last publish

    Collaborators

    • gregorypratt