This commit is contained in:
gpatruno
2026-06-11 17:30:13 +02:00
parent 36b4acb355
commit e45e9f154e
108 changed files with 9163 additions and 167 deletions
+22
View File
@@ -0,0 +1,22 @@
/**
* 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)`,
};
}