node-name.js 829 B

1234567891011121314151617181920212223242526272829
  1. import fromPrimative from './from-primative';
  2. import AbstractVirtualNode from '../../core/base/virtual-node/abstract-virtual-node';
  3. import { getNodeFromTree } from '../../core/utils';
  4. /**
  5. * Check if the nodeName of a virtual node matches some value.
  6. *
  7. * Note: matches.nodeName(vNode, matcher) can be indirectly used through
  8. * matches(vNode, { nodeName: matcher })
  9. *
  10. * Example:
  11. * ```js
  12. * matches.nodeName(vNode, ['div', 'span'])
  13. * ```
  14. *
  15. * @deprecated HTMLElement is deprecated, use VirtualNode instead
  16. *
  17. * @param {HTMLElement|VirtualNode} vNode
  18. * @param {Object} Attribute matcher
  19. * @returns {Boolean}
  20. */
  21. function nodeName(vNode, matcher) {
  22. if (!(vNode instanceof AbstractVirtualNode)) {
  23. vNode = getNodeFromTree(vNode);
  24. }
  25. return fromPrimative(vNode.props.nodeName, matcher);
  26. }
  27. export default nodeName;