-
+
+
);
}
return (
-
- {JSON.stringify(value, null, 2)}
-
+
+
+
);
};
-export const TreeEntry: FC
= ({ data }) => {
+export const TreeEntry: FC = ({ data, path }) => {
const [key, value] = data;
const [open, setOpen] = useState(false);
const Icon = open ? MinusSquareIcon : PlusSquareIcon;
@@ -68,7 +97,9 @@ export const TreeEntry: FC = ({ data }) => {
return (
<>
- {typeof value === "object" || Array.isArray(value) ? (
+ {(typeof value === "object" &&
+ Object.values(value ?? {}).length) ||
+ (Array.isArray(value) && value.length) ? (
- {open ? sanitizeValue(value) : null}
+ {open ? (
+
+ ) : null}
>
);
};
diff --git a/src/lib/render-value.ts b/src/lib/render-value.ts
index 5c2b584..7056e9c 100644
--- a/src/lib/render-value.ts
+++ b/src/lib/render-value.ts
@@ -6,7 +6,7 @@ export const renderValue = (value: unknown): string[] => {
if (typeof value === "object" && value !== null) {
const keys = Object.keys(value);
return [
- value.constructor.name,
+ (value as { type: string })?.type,
keys.length > 3
? `{${keys.slice(0, 3).join(", ")}, ...}`
: `{${keys.join(", ")}}`,