fix: replace all direct JSON.parse usages with safe parsing utilities

This commit is contained in:
shubhamsharma9199
2025-11-03 22:54:51 +05:30
parent 59b4739524
commit 7a09215e96
6 changed files with 47 additions and 11 deletions
+28
View File
@@ -0,0 +1,28 @@
export function safeParse<T>(raw: string | null | undefined, defaultValue: T): T {
if (!raw) return defaultValue;
try {
return JSON.parse(raw) as T;
} catch {
return defaultValue;
}
}
export function safeParseObject<T extends object>(raw: string | null | undefined, defaultValue: T): T {
if (!raw) return defaultValue;
try {
const parsed = JSON.parse(raw);
return parsed && typeof parsed === 'object' && !Array.isArray(parsed) ? (parsed as T) : defaultValue;
} catch {
return defaultValue;
}
}
export function safeParseArray<T = unknown>(raw: string | null | undefined, defaultValue: T[] = []): T[] {
if (!raw) return defaultValue;
try {
const parsed = JSON.parse(raw);
return Array.isArray(parsed) ? (parsed as T[]) : defaultValue;
} catch {
return defaultValue;
}
}