UNPKG

harukaze

Version:

A reactive flux architecture implementation

60 lines (52 loc) 1.52 kB
'use strict'; var _ = require('lodash'); var debug = require('./debug').debug; module.exports = { logActionStart: function (name, args) { if (!debug.enabled) { return; } if (!args.length) { console.group('ACTION %s', name); } else { console.group('ACTION %s: %o', name, args); } }, logActionPromiseResult: function (name, promise) { if (!debug.enabled) { return; } promise.then(function(res) { console.log('[OK] %o', res); console.groupEnd(); }, function(err) { if (err.stack) { console.log('[ERR, RETHROWN] %s', err); process.nextTick(function rethrow() { throw err; }); } else { console.log('[ERR] %o', err); } console.groupEnd(); }); }, logMessage: function (name, payload) { if (!debug.enabled) { return; } if (payload) { console.group('MESSAGE %s: %o', name, payload); } else { console.group('MESSAGE %s', name); } }, logDirtyStores: function (dirtyStores, also) { if (!debug.enabled) { return; } if (dirtyStores.length) { console.log("%sCHANGED STORES: %s", (also ? 'ALSO ' : ''), _.pluck(dirtyStores, 'displayName').join(', ')); } else { console.log("NO STORES CHANGED."); } }, logNoDirtyStores: function () { if (!debug.enabled) { return; } console.log("NO STORES CHANGED."); }, logMessageEnd: function () { if (!debug.enabled) { return; } console.groupEnd(); } };