tangled
alpha
login
or
join now
bas.sh
/
pdsls
forked from
pds.ls/pdsls
0
fork
atom
atmosphere explorer
0
fork
atom
overview
issues
pulls
pipelines
cleanup json.tsx
handle.invalid
4 weeks ago
151fdf84
19c1f002
verified
This commit was signed with the committer's
known signature
.
handle.invalid
SSH Key Fingerprint:
SHA256:mBrT4x0JdzLpbVR95g1hjI1aaErfC02kmLRkPXwsYCk=
+10
-20
1 changed file
expand all
collapse all
unified
split
src
components
json.tsx
+10
-20
src/components/json.tsx
···
146
146
);
147
147
};
148
148
149
149
-
const JSONBoolean = ({ data }: { data: boolean }) => {
150
150
-
return <span>{data ? "true" : "false"}</span>;
151
151
-
};
152
152
-
153
153
-
const JSONNull = () => {
154
154
-
return <span>null</span>;
155
155
-
};
156
156
-
157
149
const CollapsibleItem = (props: {
158
150
label: string | number;
159
151
value: JSONType;
···
182
174
const len = (props.value as JSONType[]).length;
183
175
return `[ ${len} ${len === 1 ? "item" : "items"} ]`;
184
176
}
185
185
-
if (isObject()) {
186
186
-
const len = Object.keys(props.value as object).length;
187
187
-
return `{ ${len} ${len === 1 ? "key" : "keys"} }`;
188
188
-
}
177
177
+
const len = Object.keys(props.value as object).length;
178
178
+
return `{ ${len} ${len === 1 ? "key" : "keys"} }`;
189
179
};
190
180
191
181
return (
···
356
346
);
357
347
};
358
348
349
349
+
if (Object.keys(props.data).length === 0)
350
350
+
return <span class="text-neutral-400 dark:text-neutral-500">{"{ }"}</span>;
351
351
+
359
352
if (blob.$type === "blob") {
360
353
return (
361
354
<>
···
371
364
};
372
365
373
366
const JSONArray = (props: { data: JSONType[] }) => {
367
367
+
if (props.data.length === 0)
368
368
+
return <span class="text-neutral-400 dark:text-neutral-500">[ ]</span>;
374
369
return (
375
370
<For each={props.data}>
376
371
{(value, index) => <CollapsibleItem label={`#${index()}`} value={value} />}
···
388
383
if (typeof data === "string")
389
384
return <JSONString data={data} isType={props.isType} isLink={props.isLink} />;
390
385
if (typeof data === "number") return <JSONNumber data={data} isSize={props.isSize} />;
391
391
-
if (typeof data === "boolean") return <JSONBoolean data={data} />;
392
392
-
if (data === null) return <JSONNull />;
393
393
-
if (Array.isArray(data))
394
394
-
return data.length === 0 ?
395
395
-
<span class="text-neutral-400 dark:text-neutral-500">[ ]</span>
396
396
-
: <JSONArray data={data} />;
397
397
-
if (Object.keys(data).length === 0)
398
398
-
return <span class="text-neutral-400 dark:text-neutral-500">{"{ }"}</span>;
386
386
+
if (typeof data === "boolean") return <span>{String(data)}</span>;
387
387
+
if (data === null) return <span>null</span>;
388
388
+
if (Array.isArray(data)) return <JSONArray data={data} />;
399
389
return <JSONObject data={data} />;
400
390
};
401
391