smart-cache-invalidation
TypeScript icon, indicating that this package has built-in type declarations

1.2.0 • Public • Published

smart-cache

Usage

patch apollo-client in memory cache

import { ApolloClient } from 'apollo-client'
import { InMemoryCache } from 'apollo-cache-inmemory'
import { patch } from 'smart-cache'
 
patch(ApolloClient, InMemoryCache)
 
const cache = new InMemoryCache()
 
// you can maintain the type field map manually or use our codegen CLI to generate one
cache.setTypeFieldMap(typeFieldMap)
const client = new ApolloClient({
  link,
  cache,
})
 
// after the patch, you can access the powerful deleteCache method from your apollo-client instance
client.deleteCache(typename, idGetterObj)

generate type field map with CLI

npm i -g smart-cache
 
smart-cache SCHEMA_PATH OUTPUT_PATH
# example: smart-cache ./test/fixuture/schema.graphql ./test/fixture/typeFieldMap.ts 

use the codegen module programatically

const { parse } = require('graphql')
const { constructTypeFieldMap } = require('smart-cache/codegen')
 
constructTypeFieldMap(parse(typeDef))

Readme

Keywords

Package Sidebar

Install

npm i smart-cache-invalidation

Weekly Downloads

3

Version

1.2.0

License

MIT

Unpacked Size

57.5 kB

Total Files

16

Last publish

Collaborators

  • yanzhen