solive-winston-logger
Version:
handle logs for solive projects
21 lines (16 loc) • 525 B
JavaScript
import _ from 'lodash'
import { parseBinder } from './constants'
const needAndHave = (need, have) => need === 'optional' || !!need === !!have
const parse = (type, inputs) => {
const keyNotProvided = _.reduce(parseBinder[type], (accu, isRequired, key) => {
if (!needAndHave(isRequired, inputs[key])) {
return [...accu, key]
}
return accu
}, [])
if (keyNotProvided.length !== 0) {
return `The following keys are required for log [${type}]: ${keyNotProvided.join(', ')}`
}
return null
}
export default parse