docs: function compile (format, tokens, isJSON, space, data) {
    if (format === false) {
      return JSON.stringify(data, null, space)
    }
  
    const js = format.replace(re, (m, name, arg) => {
      const tokenArgs = 'Array.prototype.slice.call(arguments).slice(4)'
      const output = `tokens[${utils.stringify(name)}](...(${tokenArgs}), ${utils.stringify(arg)})`
      const template = `${output} == null ? '-' : ${output}`
      const token = tokens[name]
  
      if (!token) {
        return isJSON ? utils.stringify(m) : m
      } else if (!isJSON) {
        const interim = eval(template)
        return typeof interim === 'object' ? utils.stringify(interim) : interim
      }
  
      return `(${template})`
    })
  
    if (isJSON) {
      return JSON.stringify(eval(`(${js})`), null, space)
    }
  
    return js
  }