From 852ee620f0a2f6a83cf83eba860ca951b66bb7e2 Mon Sep 17 00:00:00 2001 From: Ruben Beltran del Rio Date: Tue, 31 May 2022 01:04:10 +0200 Subject: Use supabase --- src/lib/stores/apollo.ts | 62 ------------------------------------------------ 1 file changed, 62 deletions(-) delete mode 100644 src/lib/stores/apollo.ts (limited to 'src/lib/stores/apollo.ts') diff --git a/src/lib/stores/apollo.ts b/src/lib/stores/apollo.ts deleted file mode 100644 index c75dd87..0000000 --- a/src/lib/stores/apollo.ts +++ /dev/null @@ -1,62 +0,0 @@ -import { ApolloError } from '@apollo/client/core'; -import { readable } from 'svelte/store'; -import { client } from '$lib/config/apollo'; -import type { DocumentNode, ApolloQueryResult } from '@apollo/client/core'; - -import type { Readable } from 'svelte/store'; - -/* - * This is a generic store for use with apollo - */ - -type ApolloStoreConfiguration = { - key: string; - query: DocumentNode; - initialValue?: Type | void; - variables?: object; -}; - -type ApolloStoreState = { - loading: boolean; - data: Type | void; - error: Error | void; -}; - -export const store = function store({ - key, - query, - initialValue = null, - variables = {} -}: ApolloStoreConfiguration): Readable> { - const initialState: ApolloStoreState = { - loading: true, - data: initialValue, - error: undefined - }; - - return readable(initialState, (set) => { - const handleError = function (error: Error) { - return set({ - loading: false, - data: initialValue, - error - }); - }; - - client.watchQuery({ query, variables }).subscribe( - (result: ApolloQueryResult) => { - if (result.errors) { - const error = new ApolloError({ graphQLErrors: result.errors }); - return handleError(error); - } - - set({ - loading: false, - data: result.data[key].edges.map((item) => item.node), - error: undefined - }); - }, - (error: Error) => handleError(error) - ); - }); -}; -- cgit