UNPKG

@alt-javascript/scanner-darkly

Version:

A Pluggable Scanner For Launch Darkly Feature Flag Variations

37 lines (29 loc) 1.08 kB
const LaunchDarkly = require('launchdarkly-node-server-sdk'); module.exports = class ScannerDarkly { constructor (arctors,sdkKey,ldoptions){ this.arctors = Array.isArray(arctors) ? arctors : [arctors]; this.sdkKey = sdkKey, this.ldoptions = ldoptions|| {}, this.ldclient = null; } init() { if (!this.sdkKey){ throw new Error('LaunchDarkly sdk key is required') } this.ldclient = LaunchDarkly.init(this.sdkKey,this.ldoptions); this.ldclient.once("ready", () => { for (let i=0;i<this.arctors.length;i++){ this.ldclient.on(`update:${this.arctors[i].flagKey}`, async () => { let clearly = await this.ldclient.variation( this.arctors[i].flagKey, this.arctors[i].user, this.arctors[i].defaultValue); this.arctors[i].see(clearly); }); } }); } destroy() { this.ldclient.close(); } }