UNPKG

remx

Version:
50 lines (12 loc) 1.38 kB
Object.defineProperty(exports,"__esModule",{value:true});exports. registerLoggerForDebug=registerLoggerForDebug;exports. logSetter=logSetter;exports. logGetter=logGetter;exports. startLoggingMapStateToProps=startLoggingMapStateToProps;exports. endLoggingMapStateToProps=endLoggingMapStateToProps;var loggers=[];var isLoggerEnabled=false;var isBuffering=false;var buffer=[];var actions={setter:'setter',getter:'getter',mapStateToProps:'mapStateToProps',componentRender:'componentRender'};function registerLoggerForDebug(logger){if(loggers.length===0){console.warn('Remx logger has been activated. make sure to disable it in production.');isLoggerEnabled=true;}loggers.push(logger);}function log(data){if(isBuffering){buffer.push(data);}else{loggers.forEach(function(logger){return logger(data);});}}function logSetter(setterName,args){if(isLoggerEnabled){log({action:actions.setter,name:setterName,args:args});}}function logGetter(getterName,args){if(isLoggerEnabled){log({action:actions.getter,name:getterName,args:args});}}function startLoggingMapStateToProps(){isBuffering=true;}function endLoggingMapStateToProps(connectedComponentName,returnValue){ isBuffering=false; if(isLoggerEnabled){ log({action:actions.mapStateToProps,connectedComponentName:connectedComponentName,returnValue:returnValue,triggeredEvents:buffer}); } buffer=[]; }