Files
gaufrementbon/src/lib/json-fields.ts
T
gpatruno e45e9f154e update
2026-06-11 17:30:13 +02:00

23 lines
569 B
TypeScript

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