Skip to content

Commit

Permalink
message-builder: improve ramda usage
Browse files Browse the repository at this point in the history
  • Loading branch information
MarcoWorms committed Dec 8, 2017
1 parent 1fd7262 commit 42c17af
Showing 1 changed file with 21 additions and 14 deletions.
35 changes: 21 additions & 14 deletions src/message-builder.js
Original file line number Diff line number Diff line change
@@ -1,22 +1,29 @@
const os = require('os')
const R = require('ramda')
const moment = require('moment-timezone')
const {
__,
assoc,
complement,
filter,
isNil,
merge,
pipe
} = require('ramda')

const generateDefaultProps = service => ({
service,
const notNil = complement(isNil)

const defaultProps = {
startTime: moment().valueOf(),
hostname: os.hostname(),
pid: process.pid
})

const filterMessage = R.filter(prop => !R.isNil(prop))

const builder = (messageMasker, service) => (message, propsToLog) => (
filterMessage(messageMasker(R.merge(message, generateDefaultProps(service))))
)
}

const messageBuilder = (messageMasker, service) => (
builder(messageMasker, service)
)
const createMessageBuilder = (messageMasker, service) => (message, propsToLog) =>
pipe(
assoc('service', __, defaultProps),
merge(message),
messageMasker,
filter(notNil)
)(service)

module.exports = { createMessageBuilder: messageBuilder }
module.exports = { createMessageBuilder }

0 comments on commit 42c17af

Please sign in to comment.