UNPKG

react-docgen

Version:

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

22 lines (21 loc) 878 B
import printValue from './printValue.js'; export default function getParameterName(parameterPath) { if (parameterPath.isIdentifier()) { return parameterPath.node.name; } else if (parameterPath.isAssignmentPattern()) { return getParameterName(parameterPath.get('left')); } else if (parameterPath.isObjectPattern() || parameterPath.isArrayPattern()) { return printValue(parameterPath); } else if (parameterPath.isRestElement()) { return `...${getParameterName(parameterPath.get('argument'))}`; } else if (parameterPath.isTSParameterProperty()) { return getParameterName(parameterPath.get('parameter')); } throw new TypeError('Parameter name must be one of Identifier, AssignmentPattern, ArrayPattern, ' + `ObjectPattern or RestElement, instead got ${parameterPath.node.type}`); }