npm.io
1.4.0 • Published 1 year ago

tggl-core

Licence
ISC
Version
1.4.0
Deps
1
Size
15 kB
Vulns
0
Weekly
0

Tggl Logo

Tggl Core

This package is used to evaluate flags and serves as a reference implementation.

Website Documentation NPM Videos

GitHub Workflow Status (with event) Coveralls branch npm

Usage

This library is not intended for direct use, you probably want to use the client instead. The client nicely wraps this library in a more convenient way.

If you still want to use this library directly, you can add the package to your dependencies:

npm i tggl-core

And start evaluating flags:

import { evalFlag, Flag, Operator } from 'tggl-core'

const flag: Flag = {
  conditions: [
    {
      rules: [
        {
          key: 'email',
          operator: Operator.StrEndsWith,
          values: ['@acme.com'],
          negate: false,
        }
      ],
      variation: {
        active: true,
        value: 'foo'
      }
    },
  ],
  defaultVariation: {
    active: false,
    value: null,
  },
}

const result = evalFlag(
  {
    userId: 'abc',
    email: 'john.doe@acme.com'
  },
  flag
)

console.log(result) // => 'foo'

Porting it to another language

If you are porting it to another language, copy standard_tests.json and write a single unit tests that iterates over all the examples of this file. This is exactly what standard.test.ts does.

Keywords