diff options
Diffstat (limited to 'src/lib/stores/supabase.ts')
| -rw-r--r-- | src/lib/stores/supabase.ts | 50 |
1 files changed, 26 insertions, 24 deletions
diff --git a/src/lib/stores/supabase.ts b/src/lib/stores/supabase.ts index 804141f..5bcd941 100644 --- a/src/lib/stores/supabase.ts +++ b/src/lib/stores/supabase.ts @@ -5,34 +5,36 @@ import type { Readable } from 'svelte/store'; import type { PostgrestFilterBuilder } from '@supabase/postgrest-js'; import type { StoreState } from './response_builder'; -export function collection<T> (query: PostgrestFilterBuilder<T>, initialValue: T[]): Readable<StoreState<T[]>> { +export function collection<T>( + query: PostgrestFilterBuilder<T>, + initialValue: T[] +): Readable<StoreState<T[]>> { + return readable(initialResponse<T[]>(initialValue), (set) => { + (async function () { + const { data, error } = await query; - return readable(initialResponse<T[]>(initialValue), (set) => { + if (error) { + return set(errorResponse<T[]>(error)); + } - (async function() { - const { data, error } = await query; - - if (error) { - return set(errorResponse<T[]>(error)); - } - - set(response<T[]>(data)); - })() - }); + set(response<T[]>(data)); + })(); + }); } -export function single<T> (query: PostgrestFilterBuilder<T>, initialValue: T): Readable<StoreState<T>> { - - return readable(initialResponse<T>(initialValue), (set) => { - - (async function() { - const { data, error } = await query.single(); +export function single<T>( + query: PostgrestFilterBuilder<T>, + initialValue: T +): Readable<StoreState<T>> { + return readable(initialResponse<T>(initialValue), (set) => { + (async function () { + const { data, error } = await query.single(); - if (error) { - return set(errorResponse<T>(error)); - } + if (error) { + return set(errorResponse<T>(error)); + } - set(response<T>(data)); - })() - }); + set(response<T>(data)); + })(); + }); } |