react-docgen
Version:
A library to extract information from React components for documentation generation.
27 lines (26 loc) • 986 B
JavaScript
import resolveToValue from './resolveToValue.js';
export default function resolveExportDeclaration(path) {
const definitions = [];
if (path.isExportDefaultDeclaration()) {
definitions.push(path.get('declaration'));
}
else if (path.isExportNamedDeclaration()) {
if (path.has('declaration')) {
const declaration = path.get('declaration');
if (declaration.isVariableDeclaration()) {
declaration
.get('declarations')
.forEach((declarator) => definitions.push(declarator));
}
else if (declaration.isDeclaration()) {
definitions.push(declaration);
}
}
else if (path.has('specifiers')) {
path
.get('specifiers')
.forEach((specifier) => definitions.push(specifier.get('local')));
}
}
return definitions.map((definition) => resolveToValue(definition));
}