'use strict'

module.exports = linkReference

var normalize = require('mdurl/encode')
var revert = require('../revert')
var all = require('../all')

/* Transform a reference to a link. */
function linkReference(h, node) {
  var def = h.definition(node.identifier)
  var props

  if (!def) {
    return revert(h, node)
  }

  props = {href: normalize(def.url || '')}

  if (def.title !== null && def.title !== undefined) {
    props.title = def.title
  }

  return h(node, 'a', props, all(h, node))
}
