mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-03-22 02:14:41 -05:00
32 lines
819 B
TypeScript
32 lines
819 B
TypeScript
export function errorIsSqliteUniqueConstraintFailure(error: any) {
|
|
return error?.code === "SQLITE_CONSTRAINT_UNIQUE";
|
|
}
|
|
|
|
export function errorIsSqliteForeignKeyConstraintFailure(error: unknown) {
|
|
return (
|
|
error instanceof Error &&
|
|
error?.message?.includes("FOREIGN KEY constraint failed")
|
|
);
|
|
}
|
|
|
|
export function parseDBJsonArray(value: any) {
|
|
const parsed = JSON.parse(value);
|
|
|
|
// If the returned array of JSON objects from DB is empty
|
|
// it will be returned as object with all values being null
|
|
// this is a (hacky) workaround for that
|
|
return parsed.filter((item: any) =>
|
|
Object.values(item).some((val) => val !== null),
|
|
);
|
|
}
|
|
|
|
export function parseDBArray(value: any) {
|
|
const parsed = JSON.parse(value);
|
|
|
|
if (!parsed || (parsed.length === 1 && parsed[0] === null)) {
|
|
return [];
|
|
}
|
|
|
|
return parsed;
|
|
}
|