All files / take-five/lib make-res.js

100% Statements 20/20
100% Branches 8/8
100% Functions 3/3
100% Lines 20/20
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 381x   1x   1x   7x 6x 6x     7x 6x     7x 7x       10x 4x 3x   1x 1x       10x 10x 10x     20x 20x    
const http = require('http')
 
const stringify = require('fast-safe-stringify')
 
module.exports = function makeRes (res) {
  function send (code, content) {
    if (typeof content === 'undefined') {
      content = code
      code = 200
    }
 
    if (typeof content !== 'string') {
      content = stringify(content)
    }
 
    res.statusCode = code
    res.end(content, 'utf8')
  }
 
  function err (code, content) {
    if (typeof content === 'undefined') {
      if (parseInt(code, 10)) {
        content = http.STATUS_CODES[code]
      } else {
        content = code
        code = 500
      }
    }
 
    res.statusCode = code
    res.statusMessage = content
    res.end(stringify({message: content}))
  }
 
  res.setHeader('content-type', 'application/json')
  return Object.assign(res, {send, err})
}