{
  "version": 3,
  "sources": ["../../src/storeObservation/typePolicies.ts"],
  "sourcesContent": ["import { FieldReadFunction, TypePolicies } from \"@apollo/client\";\nimport { fragmentReferencesFieldPolicy } from \"./fragmentReferencesFieldPolicy\";\nimport {\n  nodeFromCacheFieldPolicyWithDefaultApolloClientStoreKeys,\n  nodeFromCacheFieldPolicyWithGlobalObjectIdStoreKeys,\n} from \"./nodeFromCacheFieldPolicy\";\n\n// TODO: Can we configure merge to ignore a field? Specifically __fragments\n//       should never be written.\nfunction generateTypePolicies(fieldReadFn: FieldReadFunction): TypePolicies {\n  return {\n    Node: {\n      fields: {\n        __fragments: {\n          read: fragmentReferencesFieldPolicy,\n        },\n      },\n    },\n    Query: {\n      fields: {\n        __fragments: {\n          read: fragmentReferencesFieldPolicy,\n        },\n        node: {\n          read: fieldReadFn,\n        },\n      },\n    },\n  };\n}\n\nexport const typePoliciesWithDefaultApolloClientStoreKeys =\n  generateTypePolicies(\n    nodeFromCacheFieldPolicyWithDefaultApolloClientStoreKeys,\n  );\n\nexport const typePoliciesWithGlobalObjectIdStoreKeys = generateTypePolicies(\n  nodeFromCacheFieldPolicyWithGlobalObjectIdStoreKeys,\n);\n"],
  "mappings": ";AACA,SAAS,qCAAqC;AAC9C;AAAA,EACE;AAAA,EACA;AAAA,OACK;AAIP,SAAS,qBAAqB,aAA8C;AAC1E,SAAO;AAAA,IACL,MAAM;AAAA,MACJ,QAAQ;AAAA,QACN,aAAa;AAAA,UACX,MAAM;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAAA,IACA,OAAO;AAAA,MACL,QAAQ;AAAA,QACN,aAAa;AAAA,UACX,MAAM;AAAA,QACR;AAAA,QACA,MAAM;AAAA,UACJ,MAAM;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAEO,IAAM,+CACX;AAAA,EACE;AACF;AAEK,IAAM,0CAA0C;AAAA,EACrD;AACF;",
  "names": []
}
