UNPKG

node-hue-api

Version:
47 lines (46 loc) 1.57 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.HueApiRateLimitLogger = void 0; //TODO this is a different debug item otherwise we turn on the standar logging too const DEBUG = /node-hue-rate-limits/.test(process.env['NODE_DEBUG'] || ''); class HueApiRateLimitLogger { constructor(name) { this.name = name; } static install(name, bottleneck) { if (HueApiRateLimitLogger.isDebug()) { const logger = new HueApiRateLimitLogger(name); bottleneck.on('error', (err) => { logger.log('error', err); }); bottleneck.on('failed', (err) => { logger.log('failed', err); }); bottleneck.on('received', (err) => { logger.log('received', err); }); bottleneck.on('queued', (err) => { logger.log('queued', err); }); bottleneck.on('executing', (err) => { logger.log('executing', err); }); bottleneck.on('done', (err) => { logger.log('done', err); }); } } static isDebug() { return DEBUG; } log(event, payload) { if (HueApiRateLimitLogger.isDebug()) { let detail = `${event}`; if (payload) { detail += `\n${JSON.stringify(payload)}`; } console.log(`HueApiRateLimiter [${this.name}] :: ${detail}`); } } } exports.HueApiRateLimitLogger = HueApiRateLimitLogger;