/** * Parse un booléen JSON strict (rejette les chaînes truthy comme `"false"`). * Si la clé est absente, retourne `defaultIfAbsent`. */ export function parseStrictBoolean( value: unknown, fieldName: string, defaultIfAbsent: boolean ): | { ok: true; value: boolean } | { ok: false; error: string } { if (value === undefined) { return { ok: true, value: defaultIfAbsent }; } if (typeof value === "boolean") { return { ok: true, value }; } return { ok: false, error: `${fieldName} doit être un booléen (true ou false)`, }; }