import fs from "node:fs"; import path from "node:path"; import { settings } from "./config.js"; const DEFAULT_CLIENT_SETTINGS = { homeBypassEnabled: false, }; function readJson(filePath, fallback) { try { if (!fs.existsSync(filePath)) return fallback; return JSON.parse(fs.readFileSync(filePath, "utf8")); } catch { return fallback; } } function writeJson(filePath, value) { fs.mkdirSync(path.dirname(filePath), { recursive: true }); fs.writeFileSync(filePath, JSON.stringify(value, null, 2), "utf8"); } export function normalizeClientSettings(input = {}) { return { homeBypassEnabled: Boolean(input.homeBypassEnabled), }; } export function readClientSettings() { return normalizeClientSettings({ ...DEFAULT_CLIENT_SETTINGS, ...readJson(settings.clientSettingsPath, {}), }); } export function writeClientSettings(input) { const normalized = normalizeClientSettings({ ...readClientSettings(), ...(input && typeof input === "object" ? input : {}), }); writeJson(settings.clientSettingsPath, normalized); return normalized; }