in packages/better-auth/src/adapters/mongodb-adapter/mongodb-adapter.ts [14:51]
function serializeID(field: string, value: any, model: string) {
if (customIdGen) {
return value;
}
if (
field === "id" ||
field === "_id" ||
schema[model].fields[field].references?.field === "id"
) {
if (typeof value !== "string") {
if (value instanceof ObjectId) {
return value;
}
if (Array.isArray(value)) {
return value.map((v) => {
if (typeof v === "string") {
try {
return new ObjectId(v);
} catch (e) {
return v;
}
}
if (v instanceof ObjectId) {
return v;
}
throw new Error("Invalid id value");
});
}
throw new Error("Invalid id value");
}
try {
return new ObjectId(value);
} catch (e) {
return value;
}
}
return value;
}