Files
hive/frontend/node_modules/react-docgen/dist/utils/getPropertyName.js
anthonyrawlins e89f2f4b7b Add comprehensive development roadmap via GitHub Issues
Created 10 detailed GitHub issues covering:
- Project activation and management UI (#1-2)
- Worker node coordination and visualization (#3-4)
- Automated GitHub repository scanning (#5)
- Intelligent model-to-issue matching (#6)
- Multi-model task execution system (#7)
- N8N workflow integration (#8)
- Hive-Bzzz P2P bridge (#9)
- Peer assistance protocol (#10)

Each issue includes detailed specifications, acceptance criteria,
technical implementation notes, and dependency mapping.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-12 19:41:01 +10:00

37 lines
1.4 KiB
JavaScript

import getNameOrValue from './getNameOrValue.js';
import resolveToValue from './resolveToValue.js';
export const COMPUTED_PREFIX = '@computed#';
/**
* In an ObjectExpression, the name of a property can either be an identifier
* or a literal (or dynamic, but we don't support those). This function simply
* returns the value of the literal or name of the identifier.
*/
export default function getPropertyName(propertyPath) {
if (propertyPath.isObjectTypeSpreadProperty()) {
const argument = propertyPath.get('argument');
if (argument.isGenericTypeAnnotation()) {
return getNameOrValue(argument.get('id'));
}
return null;
}
else if (propertyPath.has('computed')) {
const key = propertyPath.get('key');
// Try to resolve variables and member expressions
if (key.isIdentifier() || key.isMemberExpression()) {
const valuePath = resolveToValue(key);
if (valuePath.isStringLiteral() || valuePath.isNumericLiteral()) {
return `${valuePath.node.value}`;
}
}
// generate name for identifier
if (key.isIdentifier()) {
return `${COMPUTED_PREFIX}${key.node.name}`;
}
if (key.isStringLiteral() || key.isNumericLiteral()) {
return `${key.node.value}`;
}
return null;
}
return `${getNameOrValue(propertyPath.get('key'))}`;
}