Files
Shifted/node_modules/react-docgen/dist/utils/resolveExportDeclaration.js
2026-02-10 01:14:19 +00:00

29 lines
1.0 KiB
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) => {
if (specifier.isExportSpecifier()) {
definitions.push(specifier.get('local'));
}
});
}
}
return definitions.map((definition) => resolveToValue(definition));
}