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