UNPKG

react-docgen

Version:

A library to extract information from React components for documentation generation.

24 lines (23 loc) 829 B
import getNameOrValue from './getNameOrValue.js'; export default function getClassMemberValuePath(classDefinition, memberName) { const classMember = classDefinition .get('body') .get('body') .find((memberPath) => { if ((memberPath.isClassMethod() && memberPath.node.kind !== 'set') || memberPath.isClassProperty()) { const key = memberPath.get('key'); return ((!memberPath.node.computed || key.isLiteral()) && getNameOrValue(key) === memberName); } return false; }); if (classMember) { // For ClassProperty we return the value and for ClassMethod // we return itself return classMember.isClassMethod() ? classMember : classMember.get('value'); } return null; }