'use strict'

module.exports = omission

var own = {}.hasOwnProperty

// Factory to check if a given node can have a tag omitted.
function omission(handlers) {
  return omit

  // Check if a given node can have a tag omitted.
  function omit(node, index, parent) {
    var name = node.tagName
    var fn = own.call(handlers, name) ? handlers[name] : false

    return fn ? fn(node, index, parent) : false
  }
}
