Sha256: d9d10b9c6c0980fde780eb972fa9b410681adc5df588c08158c78d06d1274b99
Contents?: true
Size: 766 Bytes
Versions: 43
Compression:
Stored size: 766 Bytes
Contents
function resolveMemberExpressions(object = {}, property = {}) { if (object.type === 'JSXMemberExpression') { return `${resolveMemberExpressions(object.object, object.property)}.${property.name}`; } return `${object.name}.${property.name}`; } /** * Returns the tagName associated with a JSXElement. */ export default function elementType(node = {}) { const { name } = node; if (!name) { throw new Error('The argument provided is not a JSXElement node.'); } if (name.type === 'JSXMemberExpression') { const { object = {}, property = {} } = name; return resolveMemberExpressions(object, property); } if (name.type === 'JSXNamespacedName') { return `${name.namespace.name}:${name.name.name}`; } return node.name.name; }
Version data entries
43 entries across 43 versions & 1 rubygems