Sha256: ac45a2971c8956d0726c681c559f7dccf3f6d053132cfe273c1ef7777a6a6d8a
Contents?: true
Size: 750 Bytes
Versions: 43
Compression:
Stored size: 750 Bytes
Contents
/** * @fileoverview Utility functions for JSX */ 'use strict'; const elementType = require('jsx-ast-utils/elementType'); const COMPAT_TAG_REGEX = /^[a-z]|\-/; /** * Checks if a node represents a DOM element. * @param {String} node - JSXOpeningElement to check. * @returns {boolean} Whether or not the node corresponds to a DOM element. */ function isDOMComponent(node) { let name = elementType(node); // Get namespace if the type is JSXNamespacedName or JSXMemberExpression if (name.indexOf(':') > -1) { name = name.slice(0, name.indexOf(':')); } else if (name.indexOf('.') > -1) { name = name.slice(0, name.indexOf('.')); } return COMPAT_TAG_REGEX.test(name); } module.exports = { isDOMComponent: isDOMComponent };
Version data entries
43 entries across 43 versions & 1 rubygems