This package is used to evaluate flags and serves as a reference implementation.
🔗 Website • 📚 Documentation • 📦 NPM • 🎥 Videos
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'
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.