Add vendor contacts

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
This commit is contained in:
Sacha Al Himdani
2025-08-13 19:41:21 +02:00
parent 3839d2000d
commit 52f24a503d
26 changed files with 4917 additions and 41 deletions

View File

@@ -1,4 +1,4 @@
export { objectKeys, objectEntries } from "./object";
export { objectKeys, objectEntries, cleanFormData } from "./object";
export { sprintf, faviconUrl, slugify } from "./string";
export {
getTreatment,

View File

@@ -8,3 +8,15 @@ export function objectKeys<T extends Record<string, unknown>>(object: T) {
export function objectEntries<T extends Record<string, unknown>>(object: T) {
return Object.entries(object) as [keyof T, T[keyof T]][];
}
/**
* Trims string values and converts empty strings to null in form data objects
*/
export function cleanFormData<T extends Record<string, any>>(data: T): T {
return Object.fromEntries(
Object.entries(data).map(([k, v]) => {
const trimmed = typeof v === 'string' ? v.trim() : v;
return [k, trimmed === "" ? null : trimmed];
})
) as T;
}