UNPKG

barnowl-reel

Version:

Collect ambient Bluetooth Low Energy packets from reelyActive reelceivers for real-time location and sensing. We believe in an open Internet of Things.

45 lines (36 loc) 1.07 kB
/** * Copyright reelyActive 2014-2019 * We believe in an open Internet of Things */ /** * EventListener Class * Listens for reel data as events. */ class EventListener { /** * EventListener constructor * @param {Object} options The options as a JSON object. * @constructor */ constructor(options) { let self = this; options = options || {}; this.decoder = options.decoder; this.decodingOptions = options.decodingOptions || {}; options.path.on('data', function (data, origin, time) { time = time || new Date().getTime(); origin = origin || 'event'; if(data instanceof Buffer) { self.decoder.handleReelData(data.toString('hex'), origin, time, self.decodingOptions); } else if(typeof data === 'string') { self.decoder.handleReelData(data, origin, time, self.decodingOptions); } else { console.log('barnowl-reel: event listener expects reel data as Buffer or hex string'); } }); } } module.exports = EventListener;