Spaces:
Sleeping
Sleeping
| 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*"caption":\s*"([^"]*)"\s*\}/gs; | |
| let results = []; | |
| let match; | |
| while ((match = regex.exec(jsonLikeString)) !== null) { | |
| let json = { | |
| panel: Number(match[1]), | |
| instructions: match[2], | |
| caption: match[3] | |
| }; | |
| results.push(json); | |
| } | |
| return results as GeneratedPanels | |
| } | |
| } |