solive-winston-logger
Version:
handle logs for solive projects
36 lines (26 loc) • 1.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _lodash = require('lodash');
var _lodash2 = _interopRequireDefault(_lodash);
var _constants = require('./constants');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
var needAndHave = function needAndHave(need, have) {
return need === 'optional' || !!need === !!have;
};
var parse = function parse(type, inputs) {
var keyNotProvided = _lodash2.default.reduce(_constants.parseBinder[type], function (accu, isRequired, key) {
if (!needAndHave(isRequired, inputs[key])) {
return [].concat(_toConsumableArray(accu), [key]);
}
return accu;
}, []);
if (keyNotProvided.length !== 0) {
return 'The following keys are required for log [' + type + ']: ' + keyNotProvided.join(', ');
}
return null;
};
exports.default = parse;
//# sourceMappingURL=parse.js.map