text: 'use strict'
  
  var visitChildren = require('unist-util-visit-children')
  
  module.exports = visitChildren(patchPosition)
  
  // Patch the position on a parent node based on its first and last child.
  function patchPosition(child, index, node) {
    var siblings = node.children
  
    if (!child.position) {
      return
    }
  
    if (
      index === 0 &&
      (!node.position || /* istanbul ignore next */ !node.position.start)
    ) {
      patch(node)
      node.position.start = child.position.start
    }
  
    if (index === siblings.length - 1 && (!node.position || !node.position.end)) {
      patch(node)
      node.position.end = child.position.end
    }
  }
  
  // Add a `position` object when it does not yet exist on `node`.
  function patch(node) {
    if (!node.position) {
      node.position = {}
    }
  }
  