All files util.js

80% Statements 12/15
77.78% Branches 7/9
83.33% Functions 5/6
84.62% Lines 11/13

Press n or j to go to the next uncovered block, b, p or k for the previous block.

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        1x 8x       1x 2x     1x 39x 37x     1x   1x     1x                 1x      
// @flow
 
type AnyObject = { [key: string]: any }
 
export const toBody = ({ body }: { body: AnyObject | string }): AnyObject =>
  typeof body === 'object'
  ? body
  : JSON.parse(body)
 
export const throws = (message: string): void => {
  throw new Error(message)
}
 
export const asserts = (condition: any, message: string): void => {
  if (!condition) throws(message)
  return
}
 
export const joinParams = (params: AnyObject): string => {
  const entries =
  Object
  .entries(params)
  .filter(([ key, value ]) =>
    Boolean(value)
    || typeof value === 'boolean'
    || typeof value === 'number'
  )
  .map(([ key, value ]) => {
    const str: any = value;(str: string)
    return `${key}=${str}`
  })
 
  return entries.length
  ? '?' + entries.join('&')
  : ''
}