Spaces:
Sleeping
Sleeping
Download src/lib/parseBadJSON.ts from network01/ai-comic-factory: direct link, hf CLI and curl.
- Browser
- Download file 669 Bytes
-
https://huggingface.co/spaces/network01/ai-comic-factory/resolve/main/src/lib/parseBadJSON.ts
- Command line
-
hf download hf://spaces/network01/ai-comic-factory/src/lib/parseBadJSON.ts
-
curl -L -o parseBadJSON.ts https://huggingface.co/spaces/network01/ai-comic-factory/resolve/main/src/lib/parseBadJSON.ts
669 Bytes
| import { GeneratedPanels } from "@/types" | |
| export function parseBadJSON(jsonLikeString: string): GeneratedPanels { | |
| try { | |
| return JSON.parse(jsonLikeString) as GeneratedPanels | |
| } catch (err) { | |
| var regex = /\{\s*"panel":\s*(\d+),\s*"instructions"\s*:\s*"([^"]+)",\s*"speech"\s*:\s*"([^"]+)",\s*"caption":\s*"([^"]*)"\s*\}/gs; | |
| let results = []; | |
| let match; | |
| while ((match = regex.exec(jsonLikeString)) !== null) { | |
| let json = { | |
| panel: Number(match[1]), | |
| instructions: match[2], | |
| speech: match[3], | |
| caption: match[4] | |
| }; | |
| results.push(json); | |
| } | |
| return results as GeneratedPanels | |
| } | |
| } |