mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-03-21 18:04:39 -05:00
30 lines
717 B
TypeScript
30 lines
717 B
TypeScript
export function errorIsSqliteForeignKeyConstraintFailure(
|
|
error: unknown,
|
|
): error is Error {
|
|
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;
|
|
}
|