📄 HiddenItem¶
📊 Analysis Summary¶
| Metric | Count |
|---|---|
| 🔧 Functions | 1 |
| 📦 Imports | 5 |
| 💠 JSX Elements | 5 |
| 📐 Interfaces | 1 |
📚 Table of Contents¶
🛠️ File Location:¶
📂 packages/website/src/components/ast/HiddenItem.tsx
📦 Imports¶
| Name | Source |
|---|---|
useEffect |
react |
useState |
react |
React |
react |
styles |
./ASTViewer.module.css |
PropertyValue |
./PropertyValue |
JSX Elements¶
| Component | Type | Props | Children |
|---|---|---|---|
span |
element | className={styles.hidden} | {isArray && !isComplex ? ( value.map(([, item], index) => ( <span key={`${lev... |
span |
element | key={${level}_[${index}]} |
{index > 0 && ', '}, |
PropertyValue |
component | value={item} | none |
Fragment |
fragment | none | none |
span |
element | key={${level}_[${index}]} |
{index > 0 && ', '}, |
Functions¶
HiddenItem({ isArray, level, value, }: HiddenItemProps): React.JSX.Element¶
Parameters:
{ isArray, level, value, }HiddenItemProps
Returns: React.JSX.Element
Calls:
useState (from react)useEffect (from react)value.filterisNaNNumbersetIsComplexfiltered.somesetLengthvalue.map
Code
export default function HiddenItem({
isArray,
level,
value,
}: HiddenItemProps): React.JSX.Element {
const [isComplex, setIsComplex] = useState(true);
const [length, setLength] = useState(0);
useEffect(() => {
if (isArray) {
const filtered = value.filter(([key]) => !isNaN(Number(key)));
setIsComplex(filtered.some(([, item]) => typeof item !== 'number'));
setLength(filtered.length);
}
}, [value, isArray]);
return (
<span className={styles.hidden}>
{isArray && !isComplex ? (
value.map(([, item], index) => (
<span key={`${level}_[${index}]`}>
{index > 0 && ', '}
<PropertyValue value={item} />
</span>
))
) : isArray ? (
<>
{length} {length === 1 ? 'element' : 'elements'}
</>
) : (
value.map(([key], index) => (
<span key={`${level}_[${index}]`}>
{index > 0 && ', '}
{key}
</span>
))
)}
</span>
);
}
Interfaces¶
HiddenItemProps¶
Interface Code
Properties¶
| Name | Type | Optional | Description |
|---|---|---|---|
isArray |
boolean |
✓ | not shown |
level |
string |
✗ | not shown |
value |
[string, unknown][] |
✗ | not shown |
Generated by Syntax Scribe