finish packaging $lib; add validate, backroom packages

This commit is contained in:
Elijah Duffy
2025-04-13 18:52:59 -06:00
parent 298ce6954b
commit d3bf5a61c0
3 changed files with 103 additions and 0 deletions

17
sanitize.ts Normal file
View File

@@ -0,0 +1,17 @@
export function sanitize(data: FormData, key: string): string;
export function sanitize<Fallback>(
data: FormData,
key: string,
fallback: Fallback
): string | Fallback;
export function sanitize<Fallback>(
data: FormData,
key: string,
fallback?: Fallback
): string | Fallback {
const val = data.get(key);
if (val !== null) return val.toString().trim();
if (fallback !== undefined) return fallback;
throw new Error(`Missing required field: ${key}`);
}