import { readable } from 'svelte/store'; import { initialResponse, errorResponse, response } from './response_builder'; import type { Readable } from 'svelte/store'; import type { PostgrestFilterBuilder } from '@supabase/postgrest-js'; import type { StoreState } from './response_builder'; export function collection( query: PostgrestFilterBuilder, initialValue: T[] ): Readable> { return readable(initialResponse(initialValue), (set) => { (async function () { const { data, error } = await query; if (error) { return set(errorResponse(error)); } set(response(data)); })(); }); } export function single( query: PostgrestFilterBuilder, initialValue: T ): Readable> { return readable(initialResponse(initialValue), (set) => { (async function () { const { data, error } = await query.single(); if (error) { return set(errorResponse(error)); } set(response(data)); })(); }); }