Converts database field attributes between application and database formats. Reuse when mapping entity models to persistence layers in authentication systems.
// Source: https://github.com/better-auth/better-auth | License: MIT | Copyright 2024 - present, Bereket Engida
// Provided via justclaw.it.com; keep this notice with the code.
import type { DBFieldAttribute } from "@better-auth/core/db";
export function convertToDB<T extends Record<string, any>>(
fields: Record<string, DBFieldAttribute>,
values: T,
) {
const result: Record<string, any> = values.id
? {
id: values.id,
}
: {};
for (const key in fields) {
const field = fields[key]!;
const value = values[key];
if (value === undefined) {
continue;
}
result[field.fieldName || key] = value;
}
return result as T;
}
export function convertFromDB<T extends Record<string, any>>(
fields: Record<string, DBFieldAttribute>,
values: T | null,
) {
if (!values) {
return
... (truncated -- full source via MCP)
See the full source, get the GitHub permalink, and search for more like it.
Get a free API key