Wrap all JSON.parse calls with try-catch

This commit is contained in:
Misode
2024-10-26 21:49:12 +02:00
parent 6555e80ead
commit 2ff59b8405
19 changed files with 65 additions and 58 deletions

View File

@@ -3,6 +3,7 @@ import { createContext } from 'preact'
import { useCallback, useContext } from 'preact/hooks'
import { useLocalStorage } from '../hooks/index.js'
import type { Color } from '../Utils.js'
import { safeJsonParse } from '../Utils.js'
interface Store {
biomeColors: Record<string, [number, number, number]>
@@ -19,7 +20,7 @@ export function useStore() {
}
export function StoreProvider({ children }: { children: ComponentChildren }) {
const [biomeColors, setBiomeColors] = useLocalStorage<Record<string, Color>>('misode_biome_colors', {}, JSON.parse, JSON.stringify)
const [biomeColors, setBiomeColors] = useLocalStorage<Record<string, Color>>('misode_biome_colors', {}, s => safeJsonParse(s) ?? {}, JSON.stringify)
const setBiomeColor = useCallback((biome: string, color: Color) => {
setBiomeColors({...biomeColors, [biome]: color })