Skip to content
Tog (short for toggle) is a framework for clients and servers to converse about feature flags over Redis.
TypeScript Shell
Branch: master
Clone or download
This branch is even with escaletech:master.

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
scripts
src
test
.editorconfig
.gitignore
CHANGELOG.md
LICENSE
README.md
package-lock.json
package.json
tsconfig.json
typedoc.json

README.md

Tog Node.js Client

Node JS client library that implements the Tog specification for feature flags over Redis.

Usage

$ npm install tog-node

For details, see the full API reference.

For using sessions

SessionClient reference

const { SessionClient } = require('tog-node')

const sessions = new SessionClient('redis://127.0.0.1:6379')

// wherever you whish to retrieve a session
const session = await sessions.session('my_app', 'session-123-xyz', { duration: 60 })

const buttonColor = session.flags['blue-button'] ? 'blue' : 'red'

For managing flags

FlagClient reference

const { FlagClient } = require('tog-node')

const flags = new FlagClient('redis://127.0.0.1:6379')

const allFlags = await flags.listFlags('my_app')

const oneFlag = await flags.getFlag('my_app', 'blue-button')

await flags.saveFlag({
  namespace: 'my_app',
  name: 'blue-button',
  description: 'Makes the call-to-action button blue',
  rollout: [
    { percentage: 30, value: true } // will be `true` for 30% of users
  ]
})

const deleted = await flags.deleteFlag('my_app', 'blue-button')
You can’t perform that action at this time.