UNPKG

domotz-remote-pawn

Version:

Domotz Agent

43 lines (33 loc) 1.36 kB
var DEFAULT_SHUTDOWN_ERRORS_CODE = ['EMFILE']; var DEFAULT_IGNORED_ERRORS_CODE = ['ENOSPC', 'EROFS', 'EACCES', 'EPERM', 'ECONNRESET']; var errorCounterManager = function (resourceLocator) { var settingsManager = resourceLocator.settingsManager; var lodash = resourceLocator.lodash; var ignoredCounters = {}; lodash.forEach(getIgnoredErrorsCode(), function (value) { ignoredCounters[value] = 0; }); function addToIgnoredErrorsCounter(errorCode) { ignoredCounters[errorCode] += 1; } function getAll() { var retIgnoredCounters = []; lodash.forOwn(ignoredCounters, function (value, key) { retIgnoredCounters.push({ code: key, count: value }); }); return retIgnoredCounters; } function getShutdownErrorsCode() { return settingsManager.getSetting('configuration.settings.shutdown_errors_code', DEFAULT_SHUTDOWN_ERRORS_CODE); } function getIgnoredErrorsCode() { return settingsManager.getSetting('configuration.settings.ignored_errors_code', DEFAULT_IGNORED_ERRORS_CODE); } return { addToIgnoredErrorsCounter: addToIgnoredErrorsCounter, getAll: getAll, getShutdownErrorsCode: getShutdownErrorsCode, getIgnoredErrorsCode: getIgnoredErrorsCode, }; }; module.exports.factory = errorCounterManager;