@alt-javascript/scanner-darkly
Version:
A Pluggable Scanner For Launch Darkly Feature Flag Variations
37 lines (29 loc) • 1.08 kB
JavaScript
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();
}
}