@mrlm/flagz
TypeScript icon, indicating that this package has built-in type declarations

0.1.1 • Public • Published

mrlm-net/flagz

Implementation of feature flags functionality in Typescript.

Package mrlm-net/flagz
NPM name @mrlm/flagz
NPM version NPM Version
Latest version GitHub Release
License GitHub License

Table of contents

Installation

I'm using YARN so examples will be using it, you can install this package via any Node Package Manager.

$ yarn add @mrlm/flagz

Usage

import Flagger from '@mrlm/flagz';

const flagger = new Flagger();
flagger.set('FEATURE_A', true);
console.log(flagger.get('FEATURE_A')); // true
console.log(flagger.get('FEATURE_B')); // false

Advanced Usage

Nested Keys

const flagger = new Flagger();
flagger.set('FEATURE_A.SUB_FEATURE_A1', true);
console.log(flagger.get('FEATURE_A.SUB_FEATURE_A1')); // true
console.log(flagger.get('FEATURE_A.SUB_FEATURE_A2')); // false

Custom Separator

const flagger = new Flagger({}, { separator: '/' });
flagger.set('FEATURE_A/SUB_FEATURE_A1', true);
console.log(flagger.get('FEATURE_A/SUB_FEATURE_A1')); // true

Adding Flags

const flagger = new Flagger();
flagger.addFlags({ FEATURE_C: true, FEATURE_D: { SUB_FEATURE_D1: false } });
console.log(flagger.get('FEATURE_C')); // true
console.log(flagger.get('FEATURE_D.SUB_FEATURE_D1')); // false

Setting Flags

const flagger = new Flagger();
flagger.setFlags({ FEATURE_E: true, FEATURE_F: { SUB_FEATURE_F1: false } });
console.log(flagger.get('FEATURE_E')); // true
console.log(flagger.get('FEATURE_F.SUB_FEATURE_F1')); // false

Interfaces

FlaggerOptions

export interface FlaggerOptions {
    separator?: string;
}

Contributing

Contributions are welcomed and must follow Code of Conduct and common Contributions guidelines.

If you'd like to report security issue please follow security guidelines.


All rights reserved © Martin Hrášek <@marley-ma> and WANTED.solutions s.r.o. <@wanted-solutions>

Readme

Keywords

none

Package Sidebar

Install

npm i @mrlm/flagz

Weekly Downloads

1

Version

0.1.1

License

none

Unpacked Size

16.7 kB

Total Files

5

Last publish

Collaborators

  • marley-ma