( client: DataProxy, document: DocumentNode, update: UpdateCacheFn<T>, variables?: any, )
| 4 | type UpdateCacheFn<T> = (cache: T) => T; |
| 5 | |
| 6 | export function updateApolloCache<T>( |
| 7 | client: DataProxy, |
| 8 | document: DocumentNode, |
| 9 | update: UpdateCacheFn<T>, |
| 10 | variables?: any, |
| 11 | ) { |
| 12 | let queryArgs: DataProxy.Query<any, any>; |
| 13 | if (variables) { |
| 14 | queryArgs = { |
| 15 | query: document, |
| 16 | variables, |
| 17 | }; |
| 18 | } else { |
| 19 | queryArgs = { |
| 20 | query: document, |
| 21 | }; |
| 22 | } |
| 23 | const cache: T | null = client.readQuery(queryArgs); |
| 24 | if (cache) { |
| 25 | const newCache = update(cache); |
| 26 | client.writeQuery({ |
| 27 | ...queryArgs, |
| 28 | data: newCache, |
| 29 | }); |
| 30 | } |
| 31 | } |
| 32 | |
| 33 | export default updateApolloCache; |
no outgoing calls
no test coverage detected