@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)

Package Sidebar

Install

npm i @blaze/toggles

Weekly Downloads

1

Version

1.2.1

License

MIT

Unpacked Size

250 kB

Total Files

50

Last publish

Collaborators

  • gregorypratt