33 lines
701 B
JavaScript
33 lines
701 B
JavaScript
function spawnFactory(_namespace, _debugFabFactory) {
|
|
var namespace = _namespace || '';
|
|
var debugFabFactory = _debugFabFactory;
|
|
|
|
if(!debugFabFactory){
|
|
debugFabFactory = require('./debugFabFactory')();
|
|
}
|
|
|
|
function spawn(ns) {
|
|
// this is this.debug (from Debugger)
|
|
var dbg = new Debugger(this.namespace, ns);
|
|
|
|
return dbg.debug;
|
|
};
|
|
|
|
function Debugger(_base, _ns){
|
|
var base = _base || '';
|
|
var ns = _ns || '';
|
|
|
|
var newNs = ns ? [base, ns].join(':') : base;
|
|
var debug = debugFabFactory(newNs);
|
|
|
|
this.debug = debug;
|
|
this.debug.spawn = spawn;
|
|
}
|
|
|
|
var rootDebug = (new Debugger(namespace)).debug;
|
|
|
|
return rootDebug;
|
|
};
|
|
|
|
module.exports = spawnFactory;
|