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; }