tggl-core
TypeScript icon, indicating that this package has built-in type declarations

1.4.0 • Public • Published

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.

Package Sidebar

Install

npm i tggl-core

Homepage

tggl.io/

Weekly Downloads

4,400

Version

1.4.0

License

ISC

Unpacked Size

14.9 kB

Total Files

4

Last publish

Collaborators

  • nick-keller