(text: string)
| 9 | } |
| 10 | |
| 11 | function parseRoot(text: string): Record<string, unknown> { |
| 12 | const source = text.trim() === "" ? "{}\n" : text; |
| 13 | let parsed: unknown; |
| 14 | try { |
| 15 | parsed = parse(source); |
| 16 | } catch (error) { |
| 17 | throw new Error(`Config JSONC parse failed: ${jsoncErrorMessage(error)}`); |
| 18 | } |
| 19 | if (!isRecord(parsed)) { |
| 20 | throw new Error("Config JSONC root must be an object"); |
| 21 | } |
| 22 | return parsed; |
| 23 | } |
| 24 | |
| 25 | /** Parse JSONC into an object. Throws on malformed JSONC instead of returning a destructive fallback. */ |
| 26 | export function parseJsonc(text: string): Record<string, unknown> { |
no test coverage detected