Consolidate two tryParseJSON variants into helpers/jsonUtil.js with explicit fallback param. Preserve exact per-call semantics: openai-to-claude passthrough (fallback=str), geminiHelper null. geminiHelper keeps tryParseJSON re-export. No behavior change; gate: no regression. Co-authored-by: Cursor <cursoragent@cursor.com>
5 lines
245 B
JavaScript
5 lines
245 B
JavaScript
// Safe JSON.parse: non-string passthrough; on parse error return caller-chosen `fallback`.
|
|
export function safeParseJSON(str, fallback) {
|
|
if (typeof str !== "string") return str;
|
|
try { return JSON.parse(str); } catch { return fallback; }
|
|
}
|