diff options
Diffstat (limited to 'src/stores/apollo.js')
| -rw-r--r-- | src/stores/apollo.js | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/src/stores/apollo.js b/src/stores/apollo.js deleted file mode 100644 index f84a183..0000000 --- a/src/stores/apollo.js +++ /dev/null @@ -1,46 +0,0 @@ -import { ApolloError } from '@apollo/client/core'; -import { readable } from 'svelte/store'; -import { client } from '$/config/apollo'; - -/* - * This is a generic store for use with apollo - */ - -export const store = function store({ key, query, initialValue = null, variables = {} }) { - - return readable( - { - loading: true, - data: initialValue, - error: undefined - }, - (set) => { - - const handleError = function (error) { - - return set({ - loading: false, - data: initialValue, - error - }); - }; - - client.watchQuery({ query, variables }).subscribe( - (result) => { - - if (result.errors) { - const error = new ApolloError({ graphQLErrors: result.errors }); - return handleError(error); - } - - set({ - loading: false, - data: result.data[key], - error: undefined - }); - }, - (error) => handleError(error) - ); - } - ); -}; |