/**
 * 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)`,
  };
}
