From 66217bb796633bbc9bdcb2a5bab42e8e7b1ca67d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Jane=C4=8Dek?= Date: Fri, 20 Nov 2020 11:40:12 +0100 Subject: [PATCH] Update examples to use storage wrappers --- examples/react-native/App.tsx | 4 ++-- examples/web/src/index.tsx | 19 ++----------------- 2 files changed, 4 insertions(+), 19 deletions(-) diff --git a/examples/react-native/App.tsx b/examples/react-native/App.tsx index fb2a8b3f..eae1fc4e 100644 --- a/examples/react-native/App.tsx +++ b/examples/react-native/App.tsx @@ -11,7 +11,7 @@ import React, { useEffect, useState } from 'react'; import { SafeAreaView, StyleSheet, ScrollView, Text } from 'react-native'; import { ApolloClient, InMemoryCache } from '@apollo/client'; -import { persistCache } from 'apollo3-cache-persist'; +import { persistCache, AsyncStorageWrapper } from 'apollo3-cache-persist'; import AsyncStorage from '@react-native-community/async-storage'; import { gql } from '@apollo/client'; @@ -26,7 +26,7 @@ const App = () => { const cache = new InMemoryCache(); await persistCache({ cache, - storage: AsyncStorage, + storage: new AsyncStorageWrapper(AsyncStorage), }); const client = new ApolloClient({ uri: 'https://48p1r2roz4.sse.codesandbox.io', diff --git a/examples/web/src/index.tsx b/examples/web/src/index.tsx index bd791035..aa715552 100755 --- a/examples/web/src/index.tsx +++ b/examples/web/src/index.tsx @@ -4,29 +4,14 @@ import { render } from 'react-dom'; import { ApolloProvider, ApolloClient, useQuery, makeVar, useReactiveVar } from '@apollo/client'; import gql from 'graphql-tag'; import { InMemoryCache } from '@apollo/client/core'; -import { CachePersistor } from 'apollo3-cache-persist'; -import { PersistentStorage } from "apollo3-cache-persist/types"; +import { CachePersistor, LocalStorageWrapper } from 'apollo3-cache-persist'; let persistor; -class LocalStoragePersistedStorage implements PersistentStorage { - getItem(key: string): string | null { - return localStorage.getItem(key); - } - - removeItem(key: string) { - localStorage.removeItem(key); - } - - setItem(key: string, data: any) { - localStorage.setItem(key, data); - } -} - async function createClient() { const cache = new InMemoryCache({}); persistor = new CachePersistor({ - storage: new LocalStoragePersistedStorage(), + storage: new LocalStorageWrapper(window.localStorage), cache, }); await persistor.restore();