UNPKG

dbmon

Version:

Database and Filesystem Monitor Utilities for Real Time Apps

45 lines (37 loc) 1.19 kB
// DbMon - Copyright Francesco Strappini <f@strx.it> (MIT Licensed) var _=require('underscore')._, channelDefaults=require('./channelDefaults').channelDefaults; var dbmon={ version : '1.0.7' }; dbmon.channel = function(opts){ opts=_.extend({}, channelDefaults, opts); if (opts.monitor==='all') { opts.monitor='insert,update,delete,truncate'; } //Dynamic Transports Init var transports=[]; _.each(opts.transports.split(','), function(t){ t=t.trim(); //underscore does not support deep extend if (channelDefaults.transportsOpts[t]){ opts.transportsOpts[t]=_.extend({}, channelDefaults.transportsOpts[t], opts.transportsOpts[t]); } if (t){ transports.push(require('./transports/'+t+'-transport').init(opts)); } }); //Main Object to Return var me={ //Dynamic driver initialization // driver:require('./drivers/'+opts.driver+'-driver').init(opts, transports), transports:transports, stop:function(callback){ callback=callback || function(){}; me.driver.stop(callback); } }; me.driver=require('./drivers/'+opts.driver+'-driver').init(opts, transports); return me; }; module.exports=dbmon;