@apollo/client 3.2.0-beta.9 → 3.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/apollo-client.cjs.js +161 -102
- package/apollo-client.cjs.js.map +1 -1
- package/apollo-client.cjs.min.js +1 -1
- package/cache/cache.cjs.js +117 -64
- package/cache/cache.cjs.js.map +1 -1
- package/cache/core/types/common.d.ts +3 -0
- package/cache/core/types/common.d.ts.map +1 -1
- package/cache/core/types/common.js.map +1 -1
- package/cache/inmemory/entityStore.d.ts +5 -1
- package/cache/inmemory/entityStore.d.ts.map +1 -1
- package/cache/inmemory/entityStore.js +32 -19
- package/cache/inmemory/entityStore.js.map +1 -1
- package/cache/inmemory/helpers.d.ts +3 -1
- package/cache/inmemory/helpers.d.ts.map +1 -1
- package/cache/inmemory/helpers.js +19 -3
- package/cache/inmemory/helpers.js.map +1 -1
- package/cache/inmemory/inMemoryCache.d.ts.map +1 -1
- package/cache/inmemory/inMemoryCache.js +3 -2
- package/cache/inmemory/inMemoryCache.js.map +1 -1
- package/cache/inmemory/policies.d.ts +6 -5
- package/cache/inmemory/policies.d.ts.map +1 -1
- package/cache/inmemory/policies.js +57 -26
- package/cache/inmemory/policies.js.map +1 -1
- package/cache/inmemory/readFromStore.d.ts +1 -2
- package/cache/inmemory/readFromStore.d.ts.map +1 -1
- package/cache/inmemory/readFromStore.js +5 -14
- package/cache/inmemory/readFromStore.js.map +1 -1
- package/cache/inmemory/types.d.ts +2 -1
- package/cache/inmemory/types.d.ts.map +1 -1
- package/cache/inmemory/writeToStore.d.ts.map +1 -1
- package/cache/inmemory/writeToStore.js +4 -3
- package/cache/inmemory/writeToStore.js.map +1 -1
- package/core/ApolloClient.js +2 -2
- package/core/LocalState.js +1 -1
- package/core/ObservableQuery.d.ts.map +1 -1
- package/core/ObservableQuery.js +9 -10
- package/core/ObservableQuery.js.map +1 -1
- package/core/QueryInfo.d.ts +2 -1
- package/core/QueryInfo.d.ts.map +1 -1
- package/core/QueryInfo.js +11 -7
- package/core/QueryInfo.js.map +1 -1
- package/core/QueryManager.d.ts +1 -1
- package/core/QueryManager.d.ts.map +1 -1
- package/core/QueryManager.js +17 -14
- package/core/QueryManager.js.map +1 -1
- package/core/Reobserver.js +1 -1
- package/core/core.cjs.js +39 -33
- package/core/core.cjs.js.map +1 -1
- package/core/types.d.ts +1 -1
- package/core/types.d.ts.map +1 -1
- package/core/watchQueryOptions.d.ts +1 -0
- package/core/watchQueryOptions.d.ts.map +1 -1
- package/invariantErrorCodes.js +32 -28
- package/link/core/ApolloLink.js +1 -1
- package/link/core/core.cjs.js +1 -1
- package/link/core/core.cjs.js.map +1 -1
- package/link/http/checkFetcher.js +1 -1
- package/link/http/http.cjs.js +2 -2
- package/link/http/http.cjs.js.map +1 -1
- package/link/http/serializeFetchParameter.js +1 -1
- package/link/persisted-queries/index.d.ts +30 -0
- package/link/persisted-queries/index.d.ts.map +1 -0
- package/link/persisted-queries/index.js +154 -0
- package/link/persisted-queries/index.js.map +1 -0
- package/link/persisted-queries/package.json +6 -0
- package/link/persisted-queries/persisted-queries.cjs.js +155 -0
- package/link/persisted-queries/persisted-queries.cjs.js.map +1 -0
- package/package.json +15 -10
- package/react/data/QueryData.js +2 -2
- package/react/data/QueryData.js.map +1 -1
- package/react/data/data.cjs.js +2 -2
- package/react/data/data.cjs.js.map +1 -1
- package/utilities/policies/pagination.d.ts +21 -12
- package/utilities/policies/pagination.d.ts.map +1 -1
- package/utilities/policies/pagination.js +49 -37
- package/utilities/policies/pagination.js.map +1 -1
- package/utilities/utilities.cjs.js +48 -37
- package/utilities/utilities.cjs.js.map +1 -1
package/cache/cache.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.cjs.js","sources":["core/cache.js","core/types/Cache.js","core/types/common.js","inmemory/helpers.js","inmemory/entityStore.js","inmemory/readFromStore.js","inmemory/writeToStore.js","inmemory/reactiveVars.js","inmemory/policies.js","inmemory/inMemoryCache.js"],"sourcesContent":["import { wrap } from 'optimism';\nimport { getFragmentQueryDocument, } from '../../utilities';\nvar ApolloCache = (function () {\n function ApolloCache() {\n this.getFragmentDoc = wrap(getFragmentQueryDocument);\n }\n ApolloCache.prototype.recordOptimisticTransaction = function (transaction, optimisticId) {\n this.performTransaction(transaction, optimisticId);\n };\n ApolloCache.prototype.transformDocument = function (document) {\n return document;\n };\n ApolloCache.prototype.identify = function (object) {\n return;\n };\n ApolloCache.prototype.gc = function () {\n return [];\n };\n ApolloCache.prototype.modify = function (options) {\n return false;\n };\n ApolloCache.prototype.transformForLink = function (document) {\n return document;\n };\n ApolloCache.prototype.readQuery = function (options, optimistic) {\n if (optimistic === void 0) { optimistic = false; }\n return this.read({\n rootId: options.id || 'ROOT_QUERY',\n query: options.query,\n variables: options.variables,\n optimistic: optimistic,\n });\n };\n ApolloCache.prototype.readFragment = function (options, optimistic) {\n if (optimistic === void 0) { optimistic = false; }\n return this.read({\n query: this.getFragmentDoc(options.fragment, options.fragmentName),\n variables: options.variables,\n rootId: options.id,\n optimistic: optimistic,\n });\n };\n ApolloCache.prototype.writeQuery = function (options) {\n return this.write({\n dataId: options.id || 'ROOT_QUERY',\n result: options.data,\n query: options.query,\n variables: options.variables,\n broadcast: options.broadcast,\n });\n };\n ApolloCache.prototype.writeFragment = function (options) {\n return this.write({\n dataId: options.id,\n result: options.data,\n variables: options.variables,\n query: this.getFragmentDoc(options.fragment, options.fragmentName),\n broadcast: options.broadcast,\n });\n };\n return ApolloCache;\n}());\nexport { ApolloCache };\n//# sourceMappingURL=cache.js.map","export var Cache;\n(function (Cache) {\n})(Cache || (Cache = {}));\n//# sourceMappingURL=Cache.js.map","var MissingFieldError = (function () {\n function MissingFieldError(message, path, query, clientOnly, variables) {\n this.message = message;\n this.path = path;\n this.query = query;\n this.clientOnly = clientOnly;\n this.variables = variables;\n }\n return MissingFieldError;\n}());\nexport { MissingFieldError };\n//# sourceMappingURL=common.js.map","import { isReference, isField, DeepMerger, } from '../../utilities';\nexport var hasOwn = Object.prototype.hasOwnProperty;\nexport function getTypenameFromStoreObject(store, objectOrReference) {\n return isReference(objectOrReference)\n ? store.get(objectOrReference.__ref, \"__typename\")\n : objectOrReference && objectOrReference.__typename;\n}\nvar FieldNamePattern = /^[_A-Za-z0-9]+/;\nexport function fieldNameFromStoreName(storeFieldName) {\n var match = storeFieldName.match(FieldNamePattern);\n return match ? match[0] : storeFieldName;\n}\nexport function storeValueIsStoreObject(value) {\n return value !== null &&\n typeof value === \"object\" &&\n !isReference(value) &&\n !Array.isArray(value);\n}\nexport function isFieldValueToBeMerged(value) {\n var field = value && value.__field;\n return field && isField(field);\n}\nexport function makeProcessedFieldsMerger() {\n return new DeepMerger(reconcileProcessedFields);\n}\nvar reconcileProcessedFields = function (existingObject, incomingObject, property) {\n var existing = existingObject[property];\n var incoming = incomingObject[property];\n if (isFieldValueToBeMerged(existing)) {\n existing.__value = this.merge(existing.__value, isFieldValueToBeMerged(incoming)\n ? incoming.__value\n : incoming);\n return existing;\n }\n if (isFieldValueToBeMerged(incoming)) {\n incoming.__value = this.merge(existing, incoming.__value);\n return incoming;\n }\n return this.merge(existing, incoming);\n};\n//# sourceMappingURL=helpers.js.map","import { __assign, __extends } from \"tslib\";\nimport { dep, KeyTrie } from 'optimism';\nimport { equal } from '@wry/equality';\nimport { isReference, makeReference, DeepMerger, maybeDeepFreeze, canUseWeakMap, } from '../../utilities';\nimport { hasOwn, fieldNameFromStoreName } from './helpers';\nvar DELETE = Object.create(null);\nvar delModifier = function () { return DELETE; };\nvar EntityStore = (function () {\n function EntityStore(policies, group) {\n var _this = this;\n this.policies = policies;\n this.group = group;\n this.data = Object.create(null);\n this.rootIds = Object.create(null);\n this.refs = Object.create(null);\n this.getFieldValue = function (objectOrReference, storeFieldName) { return maybeDeepFreeze(isReference(objectOrReference)\n ? _this.get(objectOrReference.__ref, storeFieldName)\n : objectOrReference && objectOrReference[storeFieldName]); };\n this.canRead = function (objOrRef) {\n return isReference(objOrRef)\n ? _this.has(objOrRef.__ref)\n : typeof objOrRef === \"object\";\n };\n this.toReference = function (objOrIdOrRef, mergeIntoStore) {\n if (typeof objOrIdOrRef === \"string\") {\n return makeReference(objOrIdOrRef);\n }\n if (isReference(objOrIdOrRef)) {\n return objOrIdOrRef;\n }\n var id = _this.policies.identify(objOrIdOrRef)[0];\n if (id) {\n var ref = makeReference(id);\n if (mergeIntoStore) {\n _this.merge(id, objOrIdOrRef);\n }\n return ref;\n }\n };\n }\n EntityStore.prototype.toObject = function () {\n return __assign({}, this.data);\n };\n EntityStore.prototype.has = function (dataId) {\n return this.lookup(dataId, true) !== void 0;\n };\n EntityStore.prototype.get = function (dataId, fieldName) {\n this.group.depend(dataId, fieldName);\n if (hasOwn.call(this.data, dataId)) {\n var storeObject = this.data[dataId];\n if (storeObject && hasOwn.call(storeObject, fieldName)) {\n return storeObject[fieldName];\n }\n }\n if (fieldName === \"__typename\" &&\n hasOwn.call(this.policies.rootTypenamesById, dataId)) {\n return this.policies.rootTypenamesById[dataId];\n }\n if (this instanceof Layer) {\n return this.parent.get(dataId, fieldName);\n }\n };\n EntityStore.prototype.lookup = function (dataId, dependOnExistence) {\n if (dependOnExistence)\n this.group.depend(dataId, \"__exists\");\n return hasOwn.call(this.data, dataId) ? this.data[dataId] :\n this instanceof Layer ? this.parent.lookup(dataId, dependOnExistence) : void 0;\n };\n EntityStore.prototype.merge = function (dataId, incoming) {\n var _this = this;\n var existing = this.lookup(dataId);\n var merged = new DeepMerger(storeObjectReconciler).merge(existing, incoming);\n this.data[dataId] = merged;\n if (merged !== existing) {\n delete this.refs[dataId];\n if (this.group.caching) {\n var fieldsToDirty_1 = Object.create(null);\n if (!existing)\n fieldsToDirty_1.__exists = 1;\n Object.keys(incoming).forEach(function (storeFieldName) {\n if (!existing || existing[storeFieldName] !== merged[storeFieldName]) {\n fieldsToDirty_1[fieldNameFromStoreName(storeFieldName)] = 1;\n if (merged[storeFieldName] === void 0 && !(_this instanceof Layer)) {\n delete merged[storeFieldName];\n }\n }\n });\n Object.keys(fieldsToDirty_1).forEach(function (fieldName) { return _this.group.dirty(dataId, fieldName); });\n }\n }\n };\n EntityStore.prototype.modify = function (dataId, fields) {\n var _this = this;\n var storeObject = this.lookup(dataId);\n if (storeObject) {\n var changedFields_1 = Object.create(null);\n var needToMerge_1 = false;\n var allDeleted_1 = true;\n var readField_1 = function (fieldNameOrOptions, from) { return _this.policies.readField(typeof fieldNameOrOptions === \"string\" ? {\n fieldName: fieldNameOrOptions,\n from: from || makeReference(dataId),\n } : fieldNameOrOptions, { store: _this }); };\n Object.keys(storeObject).forEach(function (storeFieldName) {\n var fieldName = fieldNameFromStoreName(storeFieldName);\n var fieldValue = storeObject[storeFieldName];\n if (fieldValue === void 0)\n return;\n var modify = typeof fields === \"function\"\n ? fields\n : fields[storeFieldName] || fields[fieldName];\n if (modify) {\n var newValue = modify === delModifier ? DELETE :\n modify(maybeDeepFreeze(fieldValue), {\n DELETE: DELETE,\n fieldName: fieldName,\n storeFieldName: storeFieldName,\n isReference: isReference,\n toReference: _this.toReference,\n canRead: _this.canRead,\n readField: readField_1,\n });\n if (newValue === DELETE)\n newValue = void 0;\n if (newValue !== fieldValue) {\n changedFields_1[storeFieldName] = newValue;\n needToMerge_1 = true;\n fieldValue = newValue;\n }\n }\n if (fieldValue !== void 0) {\n allDeleted_1 = false;\n }\n });\n if (needToMerge_1) {\n this.merge(dataId, changedFields_1);\n if (allDeleted_1) {\n if (this instanceof Layer) {\n this.data[dataId] = void 0;\n }\n else {\n delete this.data[dataId];\n }\n this.group.dirty(dataId, \"__exists\");\n }\n return true;\n }\n }\n return false;\n };\n EntityStore.prototype.delete = function (dataId, fieldName, args) {\n var _a;\n var storeObject = this.lookup(dataId);\n if (storeObject) {\n var typename = this.getFieldValue(storeObject, \"__typename\");\n var storeFieldName = fieldName && args\n ? this.policies.getStoreFieldName({ typename: typename, fieldName: fieldName, args: args })\n : fieldName;\n return this.modify(dataId, storeFieldName ? (_a = {},\n _a[storeFieldName] = delModifier,\n _a) : delModifier);\n }\n return false;\n };\n EntityStore.prototype.evict = function (options) {\n var evicted = false;\n if (options.id) {\n if (hasOwn.call(this.data, options.id)) {\n evicted = this.delete(options.id, options.fieldName, options.args);\n }\n if (this instanceof Layer) {\n evicted = this.parent.evict(options) || evicted;\n }\n if (options.fieldName || evicted) {\n this.group.dirty(options.id, options.fieldName || \"__exists\");\n }\n }\n return evicted;\n };\n EntityStore.prototype.clear = function () {\n this.replace(null);\n };\n EntityStore.prototype.replace = function (newData) {\n var _this = this;\n Object.keys(this.data).forEach(function (dataId) {\n if (!(newData && hasOwn.call(newData, dataId))) {\n _this.delete(dataId);\n }\n });\n if (newData) {\n Object.keys(newData).forEach(function (dataId) {\n _this.merge(dataId, newData[dataId]);\n });\n }\n };\n EntityStore.prototype.retain = function (rootId) {\n return this.rootIds[rootId] = (this.rootIds[rootId] || 0) + 1;\n };\n EntityStore.prototype.release = function (rootId) {\n if (this.rootIds[rootId] > 0) {\n var count = --this.rootIds[rootId];\n if (!count)\n delete this.rootIds[rootId];\n return count;\n }\n return 0;\n };\n EntityStore.prototype.getRootIdSet = function (ids) {\n if (ids === void 0) { ids = new Set(); }\n Object.keys(this.rootIds).forEach(ids.add, ids);\n if (this instanceof Layer) {\n this.parent.getRootIdSet(ids);\n }\n return ids;\n };\n EntityStore.prototype.gc = function () {\n var _this = this;\n var ids = this.getRootIdSet();\n var snapshot = this.toObject();\n ids.forEach(function (id) {\n if (hasOwn.call(snapshot, id)) {\n Object.keys(_this.findChildRefIds(id)).forEach(ids.add, ids);\n delete snapshot[id];\n }\n });\n var idsToRemove = Object.keys(snapshot);\n if (idsToRemove.length) {\n var root_1 = this;\n while (root_1 instanceof Layer)\n root_1 = root_1.parent;\n idsToRemove.forEach(function (id) { return root_1.delete(id); });\n }\n return idsToRemove;\n };\n EntityStore.prototype.findChildRefIds = function (dataId) {\n if (!hasOwn.call(this.refs, dataId)) {\n var found_1 = this.refs[dataId] = Object.create(null);\n var workSet_1 = new Set([this.data[dataId]]);\n var canTraverse_1 = function (obj) { return obj !== null && typeof obj === 'object'; };\n workSet_1.forEach(function (obj) {\n if (isReference(obj)) {\n found_1[obj.__ref] = true;\n }\n else if (canTraverse_1(obj)) {\n Object.values(obj)\n .filter(canTraverse_1)\n .forEach(workSet_1.add, workSet_1);\n }\n });\n }\n return this.refs[dataId];\n };\n EntityStore.prototype.makeCacheKey = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return this.group.keyMaker.lookupArray(args);\n };\n return EntityStore;\n}());\nexport { EntityStore };\nvar CacheGroup = (function () {\n function CacheGroup(caching) {\n this.caching = caching;\n this.d = null;\n this.keyMaker = new KeyTrie(canUseWeakMap);\n this.d = caching ? dep() : null;\n }\n CacheGroup.prototype.depend = function (dataId, storeFieldName) {\n if (this.d) {\n this.d(makeDepKey(dataId, storeFieldName));\n }\n };\n CacheGroup.prototype.dirty = function (dataId, storeFieldName) {\n if (this.d) {\n this.d.dirty(makeDepKey(dataId, storeFieldName));\n }\n };\n return CacheGroup;\n}());\nfunction makeDepKey(dataId, storeFieldName) {\n return fieldNameFromStoreName(storeFieldName) + '#' + dataId;\n}\n(function (EntityStore) {\n var Root = (function (_super) {\n __extends(Root, _super);\n function Root(_a) {\n var policies = _a.policies, _b = _a.resultCaching, resultCaching = _b === void 0 ? true : _b, seed = _a.seed;\n var _this = _super.call(this, policies, new CacheGroup(resultCaching)) || this;\n _this.sharedLayerGroup = new CacheGroup(resultCaching);\n if (seed)\n _this.replace(seed);\n return _this;\n }\n Root.prototype.addLayer = function (layerId, replay) {\n return new Layer(layerId, this, replay, this.sharedLayerGroup);\n };\n Root.prototype.removeLayer = function () {\n return this;\n };\n return Root;\n }(EntityStore));\n EntityStore.Root = Root;\n})(EntityStore || (EntityStore = {}));\nvar Layer = (function (_super) {\n __extends(Layer, _super);\n function Layer(id, parent, replay, group) {\n var _this = _super.call(this, parent.policies, group) || this;\n _this.id = id;\n _this.parent = parent;\n _this.replay = replay;\n _this.group = group;\n replay(_this);\n return _this;\n }\n Layer.prototype.addLayer = function (layerId, replay) {\n return new Layer(layerId, this, replay, this.group);\n };\n Layer.prototype.removeLayer = function (layerId) {\n var _this = this;\n var parent = this.parent.removeLayer(layerId);\n if (layerId === this.id) {\n if (this.group.caching) {\n Object.keys(this.data).forEach(function (dataId) {\n if (_this.data[dataId] !== parent.lookup(dataId)) {\n _this.delete(dataId);\n }\n });\n }\n return parent;\n }\n if (parent === this.parent)\n return this;\n return parent.addLayer(this.id, this.replay);\n };\n Layer.prototype.toObject = function () {\n return __assign(__assign({}, this.parent.toObject()), this.data);\n };\n Layer.prototype.findChildRefIds = function (dataId) {\n var fromParent = this.parent.findChildRefIds(dataId);\n return hasOwn.call(this.data, dataId) ? __assign(__assign({}, fromParent), _super.prototype.findChildRefIds.call(this, dataId)) : fromParent;\n };\n return Layer;\n}(EntityStore));\nfunction storeObjectReconciler(existingObject, incomingObject, property) {\n var existingValue = existingObject[property];\n var incomingValue = incomingObject[property];\n return equal(existingValue, incomingValue) ? existingValue : incomingValue;\n}\nexport function supportsResultCaching(store) {\n return !!(store instanceof EntityStore && store.group.caching);\n}\n//# sourceMappingURL=entityStore.js.map","import { __assign } from \"tslib\";\nimport { wrap } from 'optimism';\nimport { invariant, InvariantError } from 'ts-invariant';\nimport { isField, isInlineFragment, resultKeyNameFromField, isReference, makeReference, createFragmentMap, shouldInclude, addTypenameToDocument, getDefaultValues, getFragmentDefinitions, getMainDefinition, getQueryDefinition, maybeDeepFreeze, mergeDeepArray, } from '../../utilities';\nimport { supportsResultCaching } from './entityStore';\nimport { getTypenameFromStoreObject } from './helpers';\nimport { MissingFieldError } from '../core/types/common';\n;\nfunction missingFromInvariant(err, context) {\n return new MissingFieldError(err.message, context.path.slice(), context.query, context.clientOnly, context.variables);\n}\nvar StoreReader = (function () {\n function StoreReader(config) {\n var _this = this;\n this.config = config;\n this.executeSelectionSet = wrap(function (options) { return _this.execSelectionSetImpl(options); }, {\n keyArgs: function (options) {\n return [\n options.selectionSet,\n options.objectOrReference,\n options.context,\n ];\n },\n makeCacheKey: function (selectionSet, parent, context) {\n if (supportsResultCaching(context.store)) {\n return context.store.makeCacheKey(selectionSet, isReference(parent) ? parent.__ref : parent, context.varString);\n }\n }\n });\n this.knownResults = new WeakMap();\n this.executeSubSelectedArray = wrap(function (options) {\n return _this.execSubSelectedArrayImpl(options);\n }, {\n makeCacheKey: function (_a) {\n var field = _a.field, array = _a.array, context = _a.context;\n if (supportsResultCaching(context.store)) {\n return context.store.makeCacheKey(field, array, context.varString);\n }\n }\n });\n this.config = __assign({ addTypename: true }, config);\n }\n StoreReader.prototype.readQueryFromStore = function (options) {\n return this.diffQueryAgainstStore(__assign(__assign({}, options), { returnPartialData: false })).result;\n };\n StoreReader.prototype.diffQueryAgainstStore = function (_a) {\n var store = _a.store, query = _a.query, _b = _a.rootId, rootId = _b === void 0 ? 'ROOT_QUERY' : _b, variables = _a.variables, _c = _a.returnPartialData, returnPartialData = _c === void 0 ? true : _c;\n var policies = this.config.cache.policies;\n variables = __assign(__assign({}, getDefaultValues(getQueryDefinition(query))), variables);\n var execResult = this.executeSelectionSet({\n selectionSet: getMainDefinition(query).selectionSet,\n objectOrReference: makeReference(rootId),\n context: {\n store: store,\n query: query,\n policies: policies,\n variables: variables,\n varString: JSON.stringify(variables),\n fragmentMap: createFragmentMap(getFragmentDefinitions(query)),\n path: [],\n clientOnly: false,\n },\n });\n var hasMissingFields = execResult.missing && execResult.missing.length > 0;\n if (hasMissingFields && !returnPartialData) {\n throw execResult.missing[0];\n }\n return {\n result: execResult.result,\n missing: execResult.missing,\n complete: !hasMissingFields,\n };\n };\n StoreReader.prototype.isFresh = function (result, parent, selectionSet, context) {\n if (supportsResultCaching(context.store) &&\n this.knownResults.get(result) === selectionSet) {\n var latest = this.executeSelectionSet.peek(selectionSet, parent, context);\n if (latest && result === latest.result) {\n return true;\n }\n }\n return false;\n };\n StoreReader.prototype.execSelectionSetImpl = function (_a) {\n var _this = this;\n var selectionSet = _a.selectionSet, objectOrReference = _a.objectOrReference, context = _a.context;\n if (isReference(objectOrReference) &&\n !context.policies.rootTypenamesById[objectOrReference.__ref] &&\n !context.store.has(objectOrReference.__ref)) {\n return {\n result: {},\n missing: [missingFromInvariant(process.env.NODE_ENV === \"production\" ? new InvariantError(4) : new InvariantError(\"Dangling reference to missing \" + objectOrReference.__ref + \" object\"), context)],\n };\n }\n var fragmentMap = context.fragmentMap, variables = context.variables, policies = context.policies, store = context.store;\n var objectsToMerge = [];\n var finalResult = { result: null };\n var typename = store.getFieldValue(objectOrReference, \"__typename\");\n if (this.config.addTypename &&\n typeof typename === \"string\" &&\n !policies.rootIdsByTypename[typename]) {\n objectsToMerge.push({ __typename: typename });\n }\n function getMissing() {\n return finalResult.missing || (finalResult.missing = []);\n }\n function handleMissing(result) {\n var _a;\n if (result.missing)\n (_a = getMissing()).push.apply(_a, result.missing);\n return result.result;\n }\n var workSet = new Set(selectionSet.selections);\n workSet.forEach(function (selection) {\n var _a;\n if (!shouldInclude(selection, variables))\n return;\n if (isField(selection)) {\n var fieldValue = policies.readField({\n fieldName: selection.name.value,\n field: selection,\n variables: context.variables,\n from: objectOrReference,\n }, context);\n var resultName = resultKeyNameFromField(selection);\n context.path.push(resultName);\n var wasClientOnly = context.clientOnly;\n context.clientOnly = wasClientOnly || !!(selection.directives &&\n selection.directives.some(function (d) { return d.name.value === \"client\"; }));\n if (fieldValue === void 0) {\n if (!addTypenameToDocument.added(selection)) {\n getMissing().push(missingFromInvariant(process.env.NODE_ENV === \"production\" ? new InvariantError(5) : new InvariantError(\"Can't find field '\" + selection.name.value + \"' on \" + (isReference(objectOrReference)\n ? objectOrReference.__ref + \" object\"\n : \"object \" + JSON.stringify(objectOrReference, null, 2))), context));\n }\n }\n else if (Array.isArray(fieldValue)) {\n fieldValue = handleMissing(_this.executeSubSelectedArray({\n field: selection,\n array: fieldValue,\n context: context,\n }));\n }\n else if (!selection.selectionSet) {\n if (process.env.NODE_ENV !== 'production') {\n assertSelectionSetForIdValue(context.store, selection, fieldValue);\n maybeDeepFreeze(fieldValue);\n }\n }\n else if (fieldValue != null) {\n fieldValue = handleMissing(_this.executeSelectionSet({\n selectionSet: selection.selectionSet,\n objectOrReference: fieldValue,\n context: context,\n }));\n }\n if (fieldValue !== void 0) {\n objectsToMerge.push((_a = {}, _a[resultName] = fieldValue, _a));\n }\n context.clientOnly = wasClientOnly;\n invariant(context.path.pop() === resultName);\n }\n else {\n var fragment = void 0;\n if (isInlineFragment(selection)) {\n fragment = selection;\n }\n else {\n process.env.NODE_ENV === \"production\" ? invariant(fragment = fragmentMap[selection.name.value], 6) : invariant(fragment = fragmentMap[selection.name.value], \"No fragment named \" + selection.name.value);\n }\n if (policies.fragmentMatches(fragment, typename)) {\n fragment.selectionSet.selections.forEach(workSet.add, workSet);\n }\n }\n });\n finalResult.result = mergeDeepArray(objectsToMerge);\n if (process.env.NODE_ENV !== 'production') {\n Object.freeze(finalResult.result);\n }\n this.knownResults.set(finalResult.result, selectionSet);\n return finalResult;\n };\n StoreReader.prototype.execSubSelectedArrayImpl = function (_a) {\n var _this = this;\n var field = _a.field, array = _a.array, context = _a.context;\n var missing;\n function handleMissing(childResult, i) {\n if (childResult.missing) {\n missing = missing || [];\n missing.push.apply(missing, childResult.missing);\n }\n invariant(context.path.pop() === i);\n return childResult.result;\n }\n if (field.selectionSet) {\n array = array.filter(context.store.canRead);\n }\n array = array.map(function (item, i) {\n if (item === null) {\n return null;\n }\n context.path.push(i);\n if (Array.isArray(item)) {\n return handleMissing(_this.executeSubSelectedArray({\n field: field,\n array: item,\n context: context,\n }), i);\n }\n if (field.selectionSet) {\n return handleMissing(_this.executeSelectionSet({\n selectionSet: field.selectionSet,\n objectOrReference: item,\n context: context,\n }), i);\n }\n if (process.env.NODE_ENV !== 'production') {\n assertSelectionSetForIdValue(context.store, field, item);\n }\n invariant(context.path.pop() === i);\n return item;\n });\n if (process.env.NODE_ENV !== 'production') {\n Object.freeze(array);\n }\n return { result: array, missing: missing };\n };\n return StoreReader;\n}());\nexport { StoreReader };\nfunction assertSelectionSetForIdValue(store, field, fieldValue) {\n if (!field.selectionSet) {\n var workSet_1 = new Set([fieldValue]);\n workSet_1.forEach(function (value) {\n if (value && typeof value === \"object\") {\n process.env.NODE_ENV === \"production\" ? invariant(!isReference(value), 7) : invariant(!isReference(value), \"Missing selection set for object of type \" + getTypenameFromStoreObject(store, value) + \" returned for query field \" + field.name.value);\n Object.values(value).forEach(workSet_1.add, workSet_1);\n }\n });\n }\n}\n//# sourceMappingURL=readFromStore.js.map","import { __assign } from \"tslib\";\nimport { invariant, InvariantError } from 'ts-invariant';\nimport { equal } from '@wry/equality';\nimport { createFragmentMap, getFragmentFromSelection, getDefaultValues, getFragmentDefinitions, getOperationDefinition, getTypenameFromResult, makeReference, isField, resultKeyNameFromField, isReference, shouldInclude, hasDirectives, cloneDeep, } from '../../utilities';\nimport { makeProcessedFieldsMerger, fieldNameFromStoreName } from './helpers';\n;\nvar StoreWriter = (function () {\n function StoreWriter(cache, reader) {\n this.cache = cache;\n this.reader = reader;\n }\n StoreWriter.prototype.writeToStore = function (_a) {\n var query = _a.query, result = _a.result, dataId = _a.dataId, store = _a.store, variables = _a.variables;\n var operationDefinition = getOperationDefinition(query);\n var merger = makeProcessedFieldsMerger();\n variables = __assign(__assign({}, getDefaultValues(operationDefinition)), variables);\n var ref = this.processSelectionSet({\n result: result || Object.create(null),\n dataId: dataId,\n selectionSet: operationDefinition.selectionSet,\n context: {\n store: store,\n written: Object.create(null),\n merge: function (existing, incoming) {\n return merger.merge(existing, incoming);\n },\n variables: variables,\n varString: JSON.stringify(variables),\n fragmentMap: createFragmentMap(getFragmentDefinitions(query)),\n },\n });\n if (!isReference(ref)) {\n throw process.env.NODE_ENV === \"production\" ? new InvariantError(8) : new InvariantError(\"Could not identify object \" + JSON.stringify(result));\n }\n store.retain(ref.__ref);\n return ref;\n };\n StoreWriter.prototype.processSelectionSet = function (_a) {\n var _this = this;\n var dataId = _a.dataId, result = _a.result, selectionSet = _a.selectionSet, context = _a.context, _b = _a.out, out = _b === void 0 ? {\n shouldApplyMerges: false,\n } : _b;\n var policies = this.cache.policies;\n var _c = policies.identify(result, selectionSet, context.fragmentMap), id = _c[0], keyObject = _c[1];\n dataId = dataId || id;\n if (\"string\" === typeof dataId) {\n var sets = context.written[dataId] || (context.written[dataId] = []);\n var ref = makeReference(dataId);\n if (sets.indexOf(selectionSet) >= 0)\n return ref;\n sets.push(selectionSet);\n if (this.reader && this.reader.isFresh(result, ref, selectionSet, context)) {\n return ref;\n }\n }\n var mergedFields = Object.create(null);\n if (keyObject) {\n mergedFields = context.merge(mergedFields, keyObject);\n }\n var typename = (dataId && policies.rootTypenamesById[dataId]) ||\n getTypenameFromResult(result, selectionSet, context.fragmentMap) ||\n (dataId && context.store.get(dataId, \"__typename\"));\n if (\"string\" === typeof typename) {\n mergedFields.__typename = typename;\n }\n var workSet = new Set(selectionSet.selections);\n workSet.forEach(function (selection) {\n var _a;\n if (!shouldInclude(selection, context.variables))\n return;\n if (isField(selection)) {\n var resultFieldKey = resultKeyNameFromField(selection);\n var value = result[resultFieldKey];\n if (typeof value !== 'undefined') {\n var storeFieldName = policies.getStoreFieldName({\n typename: typename,\n fieldName: selection.name.value,\n field: selection,\n variables: context.variables,\n });\n var incomingValue = _this.processFieldValue(value, selection, context, out);\n if (policies.hasMergeFunction(typename, selection.name.value)) {\n incomingValue = {\n __field: selection,\n __typename: typename,\n __value: incomingValue,\n };\n out.shouldApplyMerges = true;\n }\n mergedFields = context.merge(mergedFields, (_a = {},\n _a[storeFieldName] = incomingValue,\n _a));\n }\n else if (policies.usingPossibleTypes &&\n !hasDirectives([\"defer\", \"client\"], selection)) {\n throw process.env.NODE_ENV === \"production\" ? new InvariantError(9) : new InvariantError(\"Missing field '\" + resultFieldKey + \"' in \" + JSON.stringify(result, null, 2).substring(0, 100));\n }\n }\n else {\n var fragment = getFragmentFromSelection(selection, context.fragmentMap);\n if (fragment && policies.fragmentMatches(fragment, typename)) {\n fragment.selectionSet.selections.forEach(workSet.add, workSet);\n }\n }\n });\n if (\"string\" === typeof dataId) {\n var entityRef_1 = makeReference(dataId);\n if (out.shouldApplyMerges) {\n mergedFields = policies.applyMerges(entityRef_1, mergedFields, context);\n }\n if (process.env.NODE_ENV !== \"production\") {\n Object.keys(mergedFields).forEach(function (storeFieldName) {\n var fieldName = fieldNameFromStoreName(storeFieldName);\n if (!policies.hasMergeFunction(typename, fieldName)) {\n warnAboutDataLoss(entityRef_1, mergedFields, storeFieldName, context.store);\n }\n });\n }\n context.store.merge(dataId, mergedFields);\n return entityRef_1;\n }\n return mergedFields;\n };\n StoreWriter.prototype.processFieldValue = function (value, field, context, out) {\n var _this = this;\n if (!field.selectionSet || value === null) {\n return process.env.NODE_ENV === 'production' ? value : cloneDeep(value);\n }\n if (Array.isArray(value)) {\n return value.map(function (item) { return _this.processFieldValue(item, field, context, out); });\n }\n return this.processSelectionSet({\n result: value,\n selectionSet: field.selectionSet,\n context: context,\n out: out,\n });\n };\n return StoreWriter;\n}());\nexport { StoreWriter };\nvar warnings = new Set();\nfunction warnAboutDataLoss(existingRef, incomingObj, storeFieldName, store) {\n var getChild = function (objOrRef) {\n var child = store.getFieldValue(objOrRef, storeFieldName);\n return typeof child === \"object\" && child;\n };\n var existing = getChild(existingRef);\n if (!existing)\n return;\n var incoming = getChild(incomingObj);\n if (!incoming)\n return;\n if (isReference(existing))\n return;\n if (equal(existing, incoming))\n return;\n if (Object.keys(existing).every(function (key) { return store.getFieldValue(incoming, key) !== void 0; })) {\n return;\n }\n var parentType = store.getFieldValue(existingRef, \"__typename\") ||\n store.getFieldValue(incomingObj, \"__typename\");\n var fieldName = fieldNameFromStoreName(storeFieldName);\n var typeDotName = parentType + \".\" + fieldName;\n if (warnings.has(typeDotName))\n return;\n warnings.add(typeDotName);\n var childTypenames = [];\n if (!Array.isArray(existing) &&\n !Array.isArray(incoming)) {\n [existing, incoming].forEach(function (child) {\n var typename = store.getFieldValue(child, \"__typename\");\n if (typeof typename === \"string\" &&\n !childTypenames.includes(typename)) {\n childTypenames.push(typename);\n }\n });\n }\n process.env.NODE_ENV === \"production\" || invariant.warn(\"Cache data may be lost when replacing the \" + fieldName + \" field of a \" + parentType + \" object.\\n\\nTo address this problem (which is not a bug in Apollo Client), \" + (childTypenames.length\n ? \"either ensure all objects of type \" +\n childTypenames.join(\" and \") + \" have IDs, or \"\n : \"\") + \"define a custom merge function for the \" + typeDotName + \" field, so InMemoryCache can safely merge these objects:\\n\\n existing: \" + JSON.stringify(existing).slice(0, 1000) + \"\\n incoming: \" + JSON.stringify(incoming).slice(0, 1000) + \"\\n\\nFor more information about these options, please refer to the documentation:\\n\\n * Ensuring entity objects have IDs: https://go.apollo.dev/c/generating-unique-identifiers\\n * Defining custom merge functions: https://go.apollo.dev/c/merging-non-normalized-objects\\n\");\n}\n//# sourceMappingURL=writeToStore.js.map","import { Slot } from \"@wry/context\";\nimport { dep } from \"optimism\";\nvar varDep = dep();\nexport var cacheSlot = new Slot();\nfunction consumeAndIterate(set, callback) {\n var items = [];\n set.forEach(function (item) { return items.push(item); });\n set.clear();\n items.forEach(callback);\n}\nexport function makeVar(value) {\n var caches = new Set();\n var listeners = new Set();\n var rv = function (newValue) {\n if (arguments.length > 0) {\n if (value !== newValue) {\n value = newValue;\n varDep.dirty(rv);\n caches.forEach(broadcast);\n consumeAndIterate(listeners, function (listener) { return listener(value); });\n }\n }\n else {\n var cache = cacheSlot.getValue();\n if (cache)\n caches.add(cache);\n varDep(rv);\n }\n return value;\n };\n rv.onNextChange = function (listener) {\n listeners.add(listener);\n return function () {\n listeners.delete(listener);\n };\n };\n return rv;\n}\nfunction broadcast(cache) {\n if (cache.broadcastWatches) {\n cache.broadcastWatches();\n }\n}\n//# sourceMappingURL=reactiveVars.js.map","import { __assign } from \"tslib\";\nimport { KeyTrie } from 'optimism';\nimport { invariant, InvariantError } from 'ts-invariant';\nimport { getFragmentFromSelection, isField, getTypenameFromResult, storeKeyNameFromField, argumentsObjectFromField, isReference, getStoreKeyName, canUseWeakMap, } from '../../utilities';\nimport { hasOwn, fieldNameFromStoreName, isFieldValueToBeMerged, storeValueIsStoreObject, } from './helpers';\nimport { cacheSlot } from './reactiveVars';\nfunction argsFromFieldSpecifier(spec) {\n return spec.args !== void 0 ? spec.args :\n spec.field ? argumentsObjectFromField(spec.field, spec.variables) : null;\n}\nexport var defaultDataIdFromObject = function (_a, context) {\n var __typename = _a.__typename, id = _a.id, _id = _a._id;\n if (typeof __typename === \"string\") {\n if (context) {\n context.keyObject =\n id !== void 0 ? { id: id } :\n _id !== void 0 ? { _id: _id } :\n void 0;\n }\n if (id === void 0)\n id = _id;\n if (id !== void 0) {\n return __typename + \":\" + ((typeof id === \"number\" ||\n typeof id === \"string\") ? id : JSON.stringify(id));\n }\n }\n};\nvar nullKeyFieldsFn = function () { return void 0; };\nvar simpleKeyArgsFn = function (_args, context) { return context.fieldName; };\nvar mergeTrueFn = function (existing, incoming, _a) {\n var mergeObjects = _a.mergeObjects;\n return mergeObjects(existing, incoming);\n};\nvar mergeFalseFn = function (_, incoming) { return incoming; };\nvar Policies = (function () {\n function Policies(config) {\n this.config = config;\n this.typePolicies = Object.create(null);\n this.rootIdsByTypename = Object.create(null);\n this.rootTypenamesById = Object.create(null);\n this.usingPossibleTypes = false;\n this.storageTrie = new KeyTrie(true);\n this.config = __assign({ dataIdFromObject: defaultDataIdFromObject }, config);\n this.cache = this.config.cache;\n this.setRootTypename(\"Query\");\n this.setRootTypename(\"Mutation\");\n this.setRootTypename(\"Subscription\");\n if (config.possibleTypes) {\n this.addPossibleTypes(config.possibleTypes);\n }\n if (config.typePolicies) {\n this.addTypePolicies(config.typePolicies);\n }\n }\n Policies.prototype.identify = function (object, selectionSet, fragmentMap) {\n var typename = selectionSet && fragmentMap\n ? getTypenameFromResult(object, selectionSet, fragmentMap)\n : object.__typename;\n if (typename === this.rootTypenamesById.ROOT_QUERY) {\n return [\"ROOT_QUERY\"];\n }\n var context = {\n typename: typename,\n selectionSet: selectionSet,\n fragmentMap: fragmentMap,\n };\n var id;\n var policy = this.getTypePolicy(typename, false);\n var keyFn = policy && policy.keyFn || this.config.dataIdFromObject;\n while (keyFn) {\n var specifierOrId = keyFn(object, context);\n if (Array.isArray(specifierOrId)) {\n keyFn = keyFieldsFnFromSpecifier(specifierOrId);\n }\n else {\n id = specifierOrId;\n break;\n }\n }\n id = id && String(id);\n return context.keyObject ? [id, context.keyObject] : [id];\n };\n Policies.prototype.addTypePolicies = function (typePolicies) {\n var _this = this;\n Object.keys(typePolicies).forEach(function (typename) {\n var existing = _this.getTypePolicy(typename, true);\n var incoming = typePolicies[typename];\n var keyFields = incoming.keyFields, fields = incoming.fields;\n if (incoming.queryType)\n _this.setRootTypename(\"Query\", typename);\n if (incoming.mutationType)\n _this.setRootTypename(\"Mutation\", typename);\n if (incoming.subscriptionType)\n _this.setRootTypename(\"Subscription\", typename);\n existing.keyFn =\n keyFields === false ? nullKeyFieldsFn :\n Array.isArray(keyFields) ? keyFieldsFnFromSpecifier(keyFields) :\n typeof keyFields === \"function\" ? keyFields :\n existing.keyFn;\n if (fields) {\n Object.keys(fields).forEach(function (fieldName) {\n var existing = _this.getFieldPolicy(typename, fieldName, true);\n var incoming = fields[fieldName];\n if (typeof incoming === \"function\") {\n existing.read = incoming;\n }\n else {\n var keyArgs = incoming.keyArgs, read = incoming.read, merge = incoming.merge;\n existing.keyFn =\n keyArgs === false ? simpleKeyArgsFn :\n Array.isArray(keyArgs) ? keyArgsFnFromSpecifier(keyArgs) :\n typeof keyArgs === \"function\" ? keyArgs :\n existing.keyFn;\n if (typeof read === \"function\")\n existing.read = read;\n existing.merge =\n typeof merge === \"function\" ? merge :\n merge === true ? mergeTrueFn :\n merge === false ? mergeFalseFn :\n existing.merge;\n }\n if (existing.read && existing.merge) {\n existing.keyFn = existing.keyFn || simpleKeyArgsFn;\n }\n });\n }\n });\n };\n Policies.prototype.setRootTypename = function (which, typename) {\n if (typename === void 0) { typename = which; }\n var rootId = \"ROOT_\" + which.toUpperCase();\n var old = this.rootTypenamesById[rootId];\n if (typename !== old) {\n process.env.NODE_ENV === \"production\" ? invariant(!old || old === which, 1) : invariant(!old || old === which, \"Cannot change root \" + which + \" __typename more than once\");\n if (old)\n delete this.rootIdsByTypename[old];\n this.rootIdsByTypename[typename] = rootId;\n this.rootTypenamesById[rootId] = typename;\n }\n };\n Policies.prototype.addPossibleTypes = function (possibleTypes) {\n var _this = this;\n this.usingPossibleTypes = true;\n Object.keys(possibleTypes).forEach(function (supertype) {\n var subtypeSet = _this.getSubtypeSet(supertype, true);\n possibleTypes[supertype].forEach(subtypeSet.add, subtypeSet);\n });\n };\n Policies.prototype.getTypePolicy = function (typename, createIfMissing) {\n if (typename) {\n return this.typePolicies[typename] || (createIfMissing && (this.typePolicies[typename] = Object.create(null)));\n }\n };\n Policies.prototype.getSubtypeSet = function (supertype, createIfMissing) {\n var policy = this.getTypePolicy(supertype, createIfMissing);\n if (policy) {\n return policy.subtypes || (createIfMissing ? policy.subtypes = new Set() : void 0);\n }\n };\n Policies.prototype.getFieldPolicy = function (typename, fieldName, createIfMissing) {\n var typePolicy = this.getTypePolicy(typename, createIfMissing);\n if (typePolicy) {\n var fieldPolicies = typePolicy.fields || (createIfMissing && (typePolicy.fields = Object.create(null)));\n if (fieldPolicies) {\n return fieldPolicies[fieldName] || (createIfMissing && (fieldPolicies[fieldName] = Object.create(null)));\n }\n }\n };\n Policies.prototype.fragmentMatches = function (fragment, typename) {\n var _this = this;\n if (!fragment.typeCondition)\n return true;\n if (!typename)\n return false;\n var supertype = fragment.typeCondition.name.value;\n if (typename === supertype)\n return true;\n if (this.usingPossibleTypes) {\n var workQueue_1 = [this.getSubtypeSet(supertype, false)];\n for (var i = 0; i < workQueue_1.length; ++i) {\n var subtypes = workQueue_1[i];\n if (subtypes) {\n if (subtypes.has(typename))\n return true;\n subtypes.forEach(function (subtype) {\n var subsubtypes = _this.getSubtypeSet(subtype, false);\n if (subsubtypes && workQueue_1.indexOf(subsubtypes) < 0) {\n workQueue_1.push(subsubtypes);\n }\n });\n }\n }\n }\n return false;\n };\n Policies.prototype.getStoreFieldName = function (fieldSpec) {\n var typename = fieldSpec.typename, fieldName = fieldSpec.fieldName;\n var policy = this.getFieldPolicy(typename, fieldName, false);\n var storeFieldName;\n var keyFn = policy && policy.keyFn;\n if (keyFn && typename) {\n var context = {\n typename: typename,\n fieldName: fieldName,\n field: fieldSpec.field || null,\n variables: fieldSpec.variables,\n };\n var args = argsFromFieldSpecifier(fieldSpec);\n while (keyFn) {\n var specifierOrString = keyFn(args, context);\n if (Array.isArray(specifierOrString)) {\n keyFn = keyArgsFnFromSpecifier(specifierOrString);\n }\n else {\n storeFieldName = specifierOrString || fieldName;\n break;\n }\n }\n }\n if (storeFieldName === void 0) {\n storeFieldName = fieldSpec.field\n ? storeKeyNameFromField(fieldSpec.field, fieldSpec.variables)\n : getStoreKeyName(fieldName, argsFromFieldSpecifier(fieldSpec));\n }\n return fieldName === fieldNameFromStoreName(storeFieldName)\n ? storeFieldName\n : fieldName + \":\" + storeFieldName;\n };\n Policies.prototype.readField = function (options, context) {\n var objectOrReference = options.from;\n if (!objectOrReference)\n return;\n var nameOrField = options.field || options.fieldName;\n if (!nameOrField)\n return;\n if (options.typename === void 0) {\n var typename = context.store.getFieldValue(objectOrReference, \"__typename\");\n if (typename)\n options.typename = typename;\n }\n var storeFieldName = this.getStoreFieldName(options);\n var fieldName = fieldNameFromStoreName(storeFieldName);\n var existing = context.store.getFieldValue(objectOrReference, storeFieldName);\n var policy = this.getFieldPolicy(options.typename, fieldName, false);\n var read = policy && policy.read;\n if (read) {\n var readOptions = makeFieldFunctionOptions(this, objectOrReference, options, context, this.storageTrie.lookup(isReference(objectOrReference)\n ? objectOrReference.__ref\n : objectOrReference, storeFieldName));\n return cacheSlot.withValue(this.cache, read, [existing, readOptions]);\n }\n return existing;\n };\n Policies.prototype.hasMergeFunction = function (typename, fieldName) {\n var policy = this.getFieldPolicy(typename, fieldName, false);\n return !!(policy && policy.merge);\n };\n Policies.prototype.applyMerges = function (existing, incoming, context, storageKeys) {\n var _this = this;\n if (isFieldValueToBeMerged(incoming)) {\n var field = incoming.__field;\n var fieldName = field.name.value;\n var merge = this.getFieldPolicy(incoming.__typename, fieldName, false).merge;\n var storage = storageKeys\n ? this.storageTrie.lookupArray(storageKeys)\n : null;\n incoming = merge(existing, incoming.__value, makeFieldFunctionOptions(this, void 0, { typename: incoming.__typename, fieldName: fieldName,\n field: field, variables: context.variables }, context, storage));\n }\n if (Array.isArray(incoming)) {\n return incoming.map(function (item) { return _this.applyMerges(void 0, item, context); });\n }\n if (storeValueIsStoreObject(incoming)) {\n var e_1 = existing;\n var i_1 = incoming;\n var firstStorageKey_1 = isReference(e_1)\n ? e_1.__ref\n : typeof e_1 === \"object\" && e_1;\n var newFields_1;\n Object.keys(i_1).forEach(function (storeFieldName) {\n var incomingValue = i_1[storeFieldName];\n var appliedValue = _this.applyMerges(context.store.getFieldValue(e_1, storeFieldName), incomingValue, context, firstStorageKey_1 ? [firstStorageKey_1, storeFieldName] : void 0);\n if (appliedValue !== incomingValue) {\n newFields_1 = newFields_1 || Object.create(null);\n newFields_1[storeFieldName] = appliedValue;\n }\n });\n if (newFields_1) {\n return __assign(__assign({}, i_1), newFields_1);\n }\n }\n return incoming;\n };\n return Policies;\n}());\nexport { Policies };\nfunction makeFieldFunctionOptions(policies, objectOrReference, fieldSpec, context, storage) {\n var storeFieldName = policies.getStoreFieldName(fieldSpec);\n var fieldName = fieldNameFromStoreName(storeFieldName);\n var variables = fieldSpec.variables || context.variables;\n var _a = context.store, getFieldValue = _a.getFieldValue, toReference = _a.toReference, canRead = _a.canRead;\n return {\n args: argsFromFieldSpecifier(fieldSpec),\n field: fieldSpec.field || null,\n fieldName: fieldName,\n storeFieldName: storeFieldName,\n variables: variables,\n isReference: isReference,\n toReference: toReference,\n storage: storage,\n cache: policies.cache,\n canRead: canRead,\n readField: function (fieldNameOrOptions, from) {\n var options = typeof fieldNameOrOptions === \"string\" ? {\n fieldName: fieldNameOrOptions,\n from: from,\n } : __assign({}, fieldNameOrOptions);\n if (void 0 === options.from) {\n options.from = objectOrReference;\n }\n if (void 0 === options.variables) {\n options.variables = variables;\n }\n return policies.readField(options, context);\n },\n mergeObjects: function (existing, incoming) {\n if (Array.isArray(existing) || Array.isArray(incoming)) {\n throw process.env.NODE_ENV === \"production\" ? new InvariantError(2) : new InvariantError(\"Cannot automatically merge arrays\");\n }\n if (existing && typeof existing === \"object\" &&\n incoming && typeof incoming === \"object\") {\n var eType = getFieldValue(existing, \"__typename\");\n var iType = getFieldValue(incoming, \"__typename\");\n var typesDiffer = eType && iType && eType !== iType;\n var applied = policies.applyMerges(typesDiffer ? void 0 : existing, incoming, context);\n if (typesDiffer ||\n !storeValueIsStoreObject(existing) ||\n !storeValueIsStoreObject(applied)) {\n return applied;\n }\n return __assign(__assign({}, existing), applied);\n }\n return incoming;\n }\n };\n}\nfunction keyArgsFnFromSpecifier(specifier) {\n return function (args, context) {\n return args ? context.fieldName + \":\" + JSON.stringify(computeKeyObject(args, specifier)) : context.fieldName;\n };\n}\nfunction keyFieldsFnFromSpecifier(specifier) {\n var trie = new KeyTrie(canUseWeakMap);\n return function (object, context) {\n var aliasMap;\n if (context.selectionSet && context.fragmentMap) {\n var info = trie.lookupArray([\n context.selectionSet,\n context.fragmentMap,\n ]);\n aliasMap = info.aliasMap || (info.aliasMap = makeAliasMap(context.selectionSet, context.fragmentMap));\n }\n var keyObject = context.keyObject =\n computeKeyObject(object, specifier, aliasMap);\n return context.typename + \":\" + JSON.stringify(keyObject);\n };\n}\nfunction makeAliasMap(selectionSet, fragmentMap) {\n var map = Object.create(null);\n var workQueue = new Set([selectionSet]);\n workQueue.forEach(function (selectionSet) {\n selectionSet.selections.forEach(function (selection) {\n if (isField(selection)) {\n if (selection.alias) {\n var responseKey = selection.alias.value;\n var storeKey = selection.name.value;\n if (storeKey !== responseKey) {\n var aliases = map.aliases || (map.aliases = Object.create(null));\n aliases[storeKey] = responseKey;\n }\n }\n if (selection.selectionSet) {\n var subsets = map.subsets || (map.subsets = Object.create(null));\n subsets[selection.name.value] =\n makeAliasMap(selection.selectionSet, fragmentMap);\n }\n }\n else {\n var fragment = getFragmentFromSelection(selection, fragmentMap);\n if (fragment) {\n workQueue.add(fragment.selectionSet);\n }\n }\n });\n });\n return map;\n}\nfunction computeKeyObject(response, specifier, aliasMap) {\n var keyObj = Object.create(null);\n var prevKey;\n specifier.forEach(function (s) {\n if (Array.isArray(s)) {\n if (typeof prevKey === \"string\") {\n var subsets = aliasMap && aliasMap.subsets;\n var subset = subsets && subsets[prevKey];\n keyObj[prevKey] = computeKeyObject(response[prevKey], s, subset);\n }\n }\n else {\n var aliases = aliasMap && aliasMap.aliases;\n var responseName = aliases && aliases[s] || s;\n process.env.NODE_ENV === \"production\" ? invariant(hasOwn.call(response, responseName), 3) : invariant(hasOwn.call(response, responseName), \"Missing field '\" + responseName + \"' while computing key fields\");\n keyObj[prevKey = s] = response[responseName];\n }\n });\n return keyObj;\n}\n//# sourceMappingURL=policies.js.map","import { __assign, __extends } from \"tslib\";\nimport './fixPolyfills';\nimport { dep, wrap } from 'optimism';\nimport { ApolloCache } from '../core/cache';\nimport { addTypenameToDocument, isReference, } from '../../utilities';\nimport { StoreReader } from './readFromStore';\nimport { StoreWriter } from './writeToStore';\nimport { EntityStore, supportsResultCaching } from './entityStore';\nimport { makeVar } from './reactiveVars';\nimport { defaultDataIdFromObject, Policies, } from './policies';\nimport { hasOwn } from './helpers';\nvar defaultConfig = {\n dataIdFromObject: defaultDataIdFromObject,\n addTypename: true,\n resultCaching: true,\n typePolicies: {},\n};\nvar InMemoryCache = (function (_super) {\n __extends(InMemoryCache, _super);\n function InMemoryCache(config) {\n if (config === void 0) { config = {}; }\n var _this = _super.call(this) || this;\n _this.watches = new Set();\n _this.typenameDocumentCache = new Map();\n _this.makeVar = makeVar;\n _this.txCount = 0;\n _this.maybeBroadcastWatch = wrap(function (c, fromOptimisticTransaction) {\n return _this.broadcastWatch.call(_this, c, !!fromOptimisticTransaction);\n }, {\n makeCacheKey: function (c) {\n var store = c.optimistic ? _this.optimisticData : _this.data;\n if (supportsResultCaching(store)) {\n var optimistic = c.optimistic, rootId = c.rootId, variables = c.variables;\n return store.makeCacheKey(c.query, c.callback, JSON.stringify({ optimistic: optimistic, rootId: rootId, variables: variables }));\n }\n }\n });\n _this.watchDep = dep();\n _this.config = __assign(__assign({}, defaultConfig), config);\n _this.addTypename = !!_this.config.addTypename;\n _this.policies = new Policies({\n cache: _this,\n dataIdFromObject: _this.config.dataIdFromObject,\n possibleTypes: _this.config.possibleTypes,\n typePolicies: _this.config.typePolicies,\n });\n _this.data = new EntityStore.Root({\n policies: _this.policies,\n resultCaching: _this.config.resultCaching,\n });\n _this.optimisticData = _this.data;\n _this.storeWriter = new StoreWriter(_this, _this.storeReader = new StoreReader({\n cache: _this,\n addTypename: _this.addTypename,\n }));\n return _this;\n }\n InMemoryCache.prototype.restore = function (data) {\n if (data)\n this.data.replace(data);\n return this;\n };\n InMemoryCache.prototype.extract = function (optimistic) {\n if (optimistic === void 0) { optimistic = false; }\n return (optimistic ? this.optimisticData : this.data).toObject();\n };\n InMemoryCache.prototype.read = function (options) {\n var store = options.optimistic ? this.optimisticData : this.data;\n if (typeof options.rootId === 'string' && !store.has(options.rootId)) {\n return null;\n }\n return this.storeReader.readQueryFromStore({\n store: store,\n query: options.query,\n variables: options.variables,\n rootId: options.rootId,\n config: this.config,\n }) || null;\n };\n InMemoryCache.prototype.write = function (options) {\n try {\n ++this.txCount;\n return this.storeWriter.writeToStore({\n store: this.data,\n query: options.query,\n result: options.result,\n dataId: options.dataId,\n variables: options.variables,\n });\n }\n finally {\n if (!--this.txCount && options.broadcast !== false) {\n this.broadcastWatches();\n }\n }\n };\n InMemoryCache.prototype.modify = function (options) {\n if (hasOwn.call(options, \"id\") && !options.id) {\n return false;\n }\n var store = options.optimistic\n ? this.optimisticData\n : this.data;\n try {\n ++this.txCount;\n return store.modify(options.id || \"ROOT_QUERY\", options.fields);\n }\n finally {\n if (!--this.txCount && options.broadcast !== false) {\n this.broadcastWatches();\n }\n }\n };\n InMemoryCache.prototype.diff = function (options) {\n return this.storeReader.diffQueryAgainstStore({\n store: options.optimistic ? this.optimisticData : this.data,\n rootId: options.id || \"ROOT_QUERY\",\n query: options.query,\n variables: options.variables,\n returnPartialData: options.returnPartialData,\n config: this.config,\n });\n };\n InMemoryCache.prototype.watch = function (watch) {\n var _this = this;\n this.watches.add(watch);\n if (watch.immediate) {\n this.maybeBroadcastWatch(watch);\n }\n return function () {\n _this.watches.delete(watch);\n };\n };\n InMemoryCache.prototype.gc = function () {\n return this.optimisticData.gc();\n };\n InMemoryCache.prototype.retain = function (rootId, optimistic) {\n return (optimistic ? this.optimisticData : this.data).retain(rootId);\n };\n InMemoryCache.prototype.release = function (rootId, optimistic) {\n return (optimistic ? this.optimisticData : this.data).release(rootId);\n };\n InMemoryCache.prototype.identify = function (object) {\n return isReference(object) ? object.__ref :\n this.policies.identify(object)[0];\n };\n InMemoryCache.prototype.evict = function (options) {\n if (!options.id) {\n if (hasOwn.call(options, \"id\")) {\n return false;\n }\n options = __assign(__assign({}, options), { id: \"ROOT_QUERY\" });\n }\n try {\n ++this.txCount;\n return this.optimisticData.evict(options);\n }\n finally {\n if (!--this.txCount && options.broadcast !== false) {\n this.broadcastWatches();\n }\n }\n };\n InMemoryCache.prototype.reset = function () {\n this.data.clear();\n this.optimisticData = this.data;\n this.broadcastWatches();\n return Promise.resolve();\n };\n InMemoryCache.prototype.removeOptimistic = function (idToRemove) {\n var newOptimisticData = this.optimisticData.removeLayer(idToRemove);\n if (newOptimisticData !== this.optimisticData) {\n this.optimisticData = newOptimisticData;\n this.broadcastWatches();\n }\n };\n InMemoryCache.prototype.performTransaction = function (transaction, optimisticId) {\n var _this = this;\n var perform = function (layer) {\n var _a = _this, data = _a.data, optimisticData = _a.optimisticData;\n ++_this.txCount;\n if (layer) {\n _this.data = _this.optimisticData = layer;\n }\n try {\n transaction(_this);\n }\n finally {\n --_this.txCount;\n _this.data = data;\n _this.optimisticData = optimisticData;\n }\n };\n var fromOptimisticTransaction = false;\n if (typeof optimisticId === 'string') {\n this.optimisticData = this.optimisticData.addLayer(optimisticId, perform);\n fromOptimisticTransaction = true;\n }\n else if (optimisticId === null) {\n perform(this.data);\n }\n else {\n perform();\n }\n this.broadcastWatches(fromOptimisticTransaction);\n };\n InMemoryCache.prototype.transformDocument = function (document) {\n if (this.addTypename) {\n var result = this.typenameDocumentCache.get(document);\n if (!result) {\n result = addTypenameToDocument(document);\n this.typenameDocumentCache.set(document, result);\n this.typenameDocumentCache.set(result, result);\n }\n return result;\n }\n return document;\n };\n InMemoryCache.prototype.broadcastWatches = function (fromOptimisticTransaction) {\n var _this = this;\n if (!this.txCount) {\n this.watches.forEach(function (c) { return _this.maybeBroadcastWatch(c, fromOptimisticTransaction); });\n }\n };\n InMemoryCache.prototype.broadcastWatch = function (c, fromOptimisticTransaction) {\n this.watchDep.dirty(c);\n this.watchDep(c);\n var diff = this.diff({\n query: c.query,\n variables: c.variables,\n optimistic: c.optimistic,\n });\n if (c.optimistic && fromOptimisticTransaction) {\n diff.fromOptimisticTransaction = true;\n }\n c.callback(diff);\n };\n return InMemoryCache;\n}(ApolloCache));\nexport { InMemoryCache };\n//# sourceMappingURL=inMemoryCache.js.map"],"names":["wrap","getFragmentQueryDocument","Cache","isReference","isField","DeepMerger","maybeDeepFreeze","makeReference","__assign","KeyTrie","canUseWeakMap","dep","__extends","equal","getDefaultValues","getQueryDefinition","getMainDefinition","createFragmentMap","getFragmentDefinitions","InvariantError","shouldInclude","resultKeyNameFromField","addTypenameToDocument","invariant","isInlineFragment","mergeDeepArray","getOperationDefinition","getTypenameFromResult","hasDirectives","getFragmentFromSelection","cloneDeep","Slot","argumentsObjectFromField","storeKeyNameFromField","getStoreKeyName"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cache.cjs.js","sources":["core/cache.js","core/types/Cache.js","core/types/common.js","inmemory/helpers.js","inmemory/entityStore.js","inmemory/readFromStore.js","inmemory/writeToStore.js","inmemory/reactiveVars.js","inmemory/policies.js","inmemory/inMemoryCache.js"],"sourcesContent":["import { wrap } from 'optimism';\nimport { getFragmentQueryDocument, } from '../../utilities';\nvar ApolloCache = (function () {\n function ApolloCache() {\n this.getFragmentDoc = wrap(getFragmentQueryDocument);\n }\n ApolloCache.prototype.recordOptimisticTransaction = function (transaction, optimisticId) {\n this.performTransaction(transaction, optimisticId);\n };\n ApolloCache.prototype.transformDocument = function (document) {\n return document;\n };\n ApolloCache.prototype.identify = function (object) {\n return;\n };\n ApolloCache.prototype.gc = function () {\n return [];\n };\n ApolloCache.prototype.modify = function (options) {\n return false;\n };\n ApolloCache.prototype.transformForLink = function (document) {\n return document;\n };\n ApolloCache.prototype.readQuery = function (options, optimistic) {\n if (optimistic === void 0) { optimistic = false; }\n return this.read({\n rootId: options.id || 'ROOT_QUERY',\n query: options.query,\n variables: options.variables,\n optimistic: optimistic,\n });\n };\n ApolloCache.prototype.readFragment = function (options, optimistic) {\n if (optimistic === void 0) { optimistic = false; }\n return this.read({\n query: this.getFragmentDoc(options.fragment, options.fragmentName),\n variables: options.variables,\n rootId: options.id,\n optimistic: optimistic,\n });\n };\n ApolloCache.prototype.writeQuery = function (options) {\n return this.write({\n dataId: options.id || 'ROOT_QUERY',\n result: options.data,\n query: options.query,\n variables: options.variables,\n broadcast: options.broadcast,\n });\n };\n ApolloCache.prototype.writeFragment = function (options) {\n return this.write({\n dataId: options.id,\n result: options.data,\n variables: options.variables,\n query: this.getFragmentDoc(options.fragment, options.fragmentName),\n broadcast: options.broadcast,\n });\n };\n return ApolloCache;\n}());\nexport { ApolloCache };\n//# sourceMappingURL=cache.js.map","export var Cache;\n(function (Cache) {\n})(Cache || (Cache = {}));\n//# sourceMappingURL=Cache.js.map","var MissingFieldError = (function () {\n function MissingFieldError(message, path, query, clientOnly, variables) {\n this.message = message;\n this.path = path;\n this.query = query;\n this.clientOnly = clientOnly;\n this.variables = variables;\n }\n return MissingFieldError;\n}());\nexport { MissingFieldError };\n//# sourceMappingURL=common.js.map","import { isReference, isField, DeepMerger, resultKeyNameFromField, shouldInclude, } from '../../utilities';\nexport var hasOwn = Object.prototype.hasOwnProperty;\nexport function getTypenameFromStoreObject(store, objectOrReference) {\n return isReference(objectOrReference)\n ? store.get(objectOrReference.__ref, \"__typename\")\n : objectOrReference && objectOrReference.__typename;\n}\nexport var TypeOrFieldNameRegExp = /^[_a-z][_0-9a-z]*/i;\nexport function fieldNameFromStoreName(storeFieldName) {\n var match = storeFieldName.match(TypeOrFieldNameRegExp);\n return match ? match[0] : storeFieldName;\n}\nexport function selectionSetMatchesResult(selectionSet, result, variables) {\n if (result && typeof result === \"object\") {\n return Array.isArray(result)\n ? result.every(function (item) { return selectionSetMatchesResult(selectionSet, item, variables); })\n : selectionSet.selections.every(function (field) {\n if (isField(field) && shouldInclude(field, variables)) {\n var key = resultKeyNameFromField(field);\n return hasOwn.call(result, key) &&\n (!field.selectionSet ||\n selectionSetMatchesResult(field.selectionSet, result[key], variables));\n }\n return true;\n });\n }\n return false;\n}\nexport function storeValueIsStoreObject(value) {\n return value !== null &&\n typeof value === \"object\" &&\n !isReference(value) &&\n !Array.isArray(value);\n}\nexport function isFieldValueToBeMerged(value) {\n var field = value && value.__field;\n return field && isField(field);\n}\nexport function makeProcessedFieldsMerger() {\n return new DeepMerger(reconcileProcessedFields);\n}\nvar reconcileProcessedFields = function (existingObject, incomingObject, property) {\n var existing = existingObject[property];\n var incoming = incomingObject[property];\n if (isFieldValueToBeMerged(existing)) {\n existing.__value = this.merge(existing.__value, isFieldValueToBeMerged(incoming)\n ? incoming.__value\n : incoming);\n return existing;\n }\n if (isFieldValueToBeMerged(incoming)) {\n incoming.__value = this.merge(existing, incoming.__value);\n return incoming;\n }\n return this.merge(existing, incoming);\n};\n//# sourceMappingURL=helpers.js.map","import { __assign, __extends } from \"tslib\";\nimport { dep, KeyTrie } from 'optimism';\nimport { equal } from '@wry/equality';\nimport { isReference, makeReference, DeepMerger, maybeDeepFreeze, canUseWeakMap, } from '../../utilities';\nimport { hasOwn, fieldNameFromStoreName } from './helpers';\nvar DELETE = Object.create(null);\nvar delModifier = function () { return DELETE; };\nvar INVALIDATE = Object.create(null);\nvar EntityStore = (function () {\n function EntityStore(policies, group) {\n var _this = this;\n this.policies = policies;\n this.group = group;\n this.data = Object.create(null);\n this.rootIds = Object.create(null);\n this.refs = Object.create(null);\n this.getFieldValue = function (objectOrReference, storeFieldName) { return maybeDeepFreeze(isReference(objectOrReference)\n ? _this.get(objectOrReference.__ref, storeFieldName)\n : objectOrReference && objectOrReference[storeFieldName]); };\n this.canRead = function (objOrRef) {\n return isReference(objOrRef)\n ? _this.has(objOrRef.__ref)\n : typeof objOrRef === \"object\";\n };\n this.toReference = function (objOrIdOrRef, mergeIntoStore) {\n if (typeof objOrIdOrRef === \"string\") {\n return makeReference(objOrIdOrRef);\n }\n if (isReference(objOrIdOrRef)) {\n return objOrIdOrRef;\n }\n var id = _this.policies.identify(objOrIdOrRef)[0];\n if (id) {\n var ref = makeReference(id);\n if (mergeIntoStore) {\n _this.merge(id, objOrIdOrRef);\n }\n return ref;\n }\n };\n }\n EntityStore.prototype.toObject = function () {\n return __assign({}, this.data);\n };\n EntityStore.prototype.has = function (dataId) {\n return this.lookup(dataId, true) !== void 0;\n };\n EntityStore.prototype.get = function (dataId, fieldName) {\n this.group.depend(dataId, fieldName);\n if (hasOwn.call(this.data, dataId)) {\n var storeObject = this.data[dataId];\n if (storeObject && hasOwn.call(storeObject, fieldName)) {\n return storeObject[fieldName];\n }\n }\n if (fieldName === \"__typename\" &&\n hasOwn.call(this.policies.rootTypenamesById, dataId)) {\n return this.policies.rootTypenamesById[dataId];\n }\n if (this instanceof Layer) {\n return this.parent.get(dataId, fieldName);\n }\n };\n EntityStore.prototype.lookup = function (dataId, dependOnExistence) {\n if (dependOnExistence)\n this.group.depend(dataId, \"__exists\");\n return hasOwn.call(this.data, dataId) ? this.data[dataId] :\n this instanceof Layer ? this.parent.lookup(dataId, dependOnExistence) : void 0;\n };\n EntityStore.prototype.merge = function (dataId, incoming) {\n var _this = this;\n var existing = this.lookup(dataId);\n var merged = new DeepMerger(storeObjectReconciler).merge(existing, incoming);\n this.data[dataId] = merged;\n if (merged !== existing) {\n delete this.refs[dataId];\n if (this.group.caching) {\n var fieldsToDirty_1 = Object.create(null);\n if (!existing)\n fieldsToDirty_1.__exists = 1;\n Object.keys(incoming).forEach(function (storeFieldName) {\n if (!existing || existing[storeFieldName] !== merged[storeFieldName]) {\n fieldsToDirty_1[fieldNameFromStoreName(storeFieldName)] = 1;\n if (merged[storeFieldName] === void 0 && !(_this instanceof Layer)) {\n delete merged[storeFieldName];\n }\n }\n });\n Object.keys(fieldsToDirty_1).forEach(function (fieldName) { return _this.group.dirty(dataId, fieldName); });\n }\n }\n };\n EntityStore.prototype.modify = function (dataId, fields) {\n var _this = this;\n var storeObject = this.lookup(dataId);\n if (storeObject) {\n var changedFields_1 = Object.create(null);\n var needToMerge_1 = false;\n var allDeleted_1 = true;\n var sharedDetails_1 = {\n DELETE: DELETE,\n INVALIDATE: INVALIDATE,\n isReference: isReference,\n toReference: this.toReference,\n canRead: this.canRead,\n readField: function (fieldNameOrOptions, from) { return _this.policies.readField(typeof fieldNameOrOptions === \"string\" ? {\n fieldName: fieldNameOrOptions,\n from: from || makeReference(dataId),\n } : fieldNameOrOptions, { store: _this }); },\n };\n Object.keys(storeObject).forEach(function (storeFieldName) {\n var fieldName = fieldNameFromStoreName(storeFieldName);\n var fieldValue = storeObject[storeFieldName];\n if (fieldValue === void 0)\n return;\n var modify = typeof fields === \"function\"\n ? fields\n : fields[storeFieldName] || fields[fieldName];\n if (modify) {\n var newValue = modify === delModifier ? DELETE :\n modify(maybeDeepFreeze(fieldValue), __assign(__assign({}, sharedDetails_1), { fieldName: fieldName,\n storeFieldName: storeFieldName, storage: _this.getStorage(dataId, storeFieldName) }));\n if (newValue === INVALIDATE) {\n _this.group.dirty(dataId, storeFieldName);\n }\n else {\n if (newValue === DELETE)\n newValue = void 0;\n if (newValue !== fieldValue) {\n changedFields_1[storeFieldName] = newValue;\n needToMerge_1 = true;\n fieldValue = newValue;\n }\n }\n }\n if (fieldValue !== void 0) {\n allDeleted_1 = false;\n }\n });\n if (needToMerge_1) {\n this.merge(dataId, changedFields_1);\n if (allDeleted_1) {\n if (this instanceof Layer) {\n this.data[dataId] = void 0;\n }\n else {\n delete this.data[dataId];\n }\n this.group.dirty(dataId, \"__exists\");\n }\n return true;\n }\n }\n return false;\n };\n EntityStore.prototype.delete = function (dataId, fieldName, args) {\n var _a;\n var storeObject = this.lookup(dataId);\n if (storeObject) {\n var typename = this.getFieldValue(storeObject, \"__typename\");\n var storeFieldName = fieldName && args\n ? this.policies.getStoreFieldName({ typename: typename, fieldName: fieldName, args: args })\n : fieldName;\n return this.modify(dataId, storeFieldName ? (_a = {},\n _a[storeFieldName] = delModifier,\n _a) : delModifier);\n }\n return false;\n };\n EntityStore.prototype.evict = function (options) {\n var evicted = false;\n if (options.id) {\n if (hasOwn.call(this.data, options.id)) {\n evicted = this.delete(options.id, options.fieldName, options.args);\n }\n if (this instanceof Layer) {\n evicted = this.parent.evict(options) || evicted;\n }\n if (options.fieldName || evicted) {\n this.group.dirty(options.id, options.fieldName || \"__exists\");\n }\n }\n return evicted;\n };\n EntityStore.prototype.clear = function () {\n this.replace(null);\n };\n EntityStore.prototype.replace = function (newData) {\n var _this = this;\n Object.keys(this.data).forEach(function (dataId) {\n if (!(newData && hasOwn.call(newData, dataId))) {\n _this.delete(dataId);\n }\n });\n if (newData) {\n Object.keys(newData).forEach(function (dataId) {\n _this.merge(dataId, newData[dataId]);\n });\n }\n };\n EntityStore.prototype.retain = function (rootId) {\n return this.rootIds[rootId] = (this.rootIds[rootId] || 0) + 1;\n };\n EntityStore.prototype.release = function (rootId) {\n if (this.rootIds[rootId] > 0) {\n var count = --this.rootIds[rootId];\n if (!count)\n delete this.rootIds[rootId];\n return count;\n }\n return 0;\n };\n EntityStore.prototype.getRootIdSet = function (ids) {\n if (ids === void 0) { ids = new Set(); }\n Object.keys(this.rootIds).forEach(ids.add, ids);\n if (this instanceof Layer) {\n this.parent.getRootIdSet(ids);\n }\n return ids;\n };\n EntityStore.prototype.gc = function () {\n var _this = this;\n var ids = this.getRootIdSet();\n var snapshot = this.toObject();\n ids.forEach(function (id) {\n if (hasOwn.call(snapshot, id)) {\n Object.keys(_this.findChildRefIds(id)).forEach(ids.add, ids);\n delete snapshot[id];\n }\n });\n var idsToRemove = Object.keys(snapshot);\n if (idsToRemove.length) {\n var root_1 = this;\n while (root_1 instanceof Layer)\n root_1 = root_1.parent;\n idsToRemove.forEach(function (id) { return root_1.delete(id); });\n }\n return idsToRemove;\n };\n EntityStore.prototype.findChildRefIds = function (dataId) {\n if (!hasOwn.call(this.refs, dataId)) {\n var found_1 = this.refs[dataId] = Object.create(null);\n var workSet_1 = new Set([this.data[dataId]]);\n var canTraverse_1 = function (obj) { return obj !== null && typeof obj === 'object'; };\n workSet_1.forEach(function (obj) {\n if (isReference(obj)) {\n found_1[obj.__ref] = true;\n }\n else if (canTraverse_1(obj)) {\n Object.values(obj)\n .filter(canTraverse_1)\n .forEach(workSet_1.add, workSet_1);\n }\n });\n }\n return this.refs[dataId];\n };\n EntityStore.prototype.makeCacheKey = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return this.group.keyMaker.lookupArray(args);\n };\n return EntityStore;\n}());\nexport { EntityStore };\nvar CacheGroup = (function () {\n function CacheGroup(caching) {\n this.caching = caching;\n this.d = null;\n this.keyMaker = new KeyTrie(canUseWeakMap);\n this.d = caching ? dep() : null;\n }\n CacheGroup.prototype.depend = function (dataId, storeFieldName) {\n if (this.d) {\n this.d(makeDepKey(dataId, storeFieldName));\n }\n };\n CacheGroup.prototype.dirty = function (dataId, storeFieldName) {\n if (this.d) {\n this.d.dirty(makeDepKey(dataId, storeFieldName));\n }\n };\n return CacheGroup;\n}());\nfunction makeDepKey(dataId, storeFieldName) {\n return fieldNameFromStoreName(storeFieldName) + '#' + dataId;\n}\n(function (EntityStore) {\n var Root = (function (_super) {\n __extends(Root, _super);\n function Root(_a) {\n var policies = _a.policies, _b = _a.resultCaching, resultCaching = _b === void 0 ? true : _b, seed = _a.seed;\n var _this = _super.call(this, policies, new CacheGroup(resultCaching)) || this;\n _this.storageTrie = new KeyTrie(canUseWeakMap);\n _this.sharedLayerGroup = new CacheGroup(resultCaching);\n if (seed)\n _this.replace(seed);\n return _this;\n }\n Root.prototype.addLayer = function (layerId, replay) {\n return new Layer(layerId, this, replay, this.sharedLayerGroup);\n };\n Root.prototype.removeLayer = function () {\n return this;\n };\n Root.prototype.getStorage = function (idOrObj, storeFieldName) {\n return this.storageTrie.lookup(idOrObj, storeFieldName);\n };\n return Root;\n }(EntityStore));\n EntityStore.Root = Root;\n})(EntityStore || (EntityStore = {}));\nvar Layer = (function (_super) {\n __extends(Layer, _super);\n function Layer(id, parent, replay, group) {\n var _this = _super.call(this, parent.policies, group) || this;\n _this.id = id;\n _this.parent = parent;\n _this.replay = replay;\n _this.group = group;\n replay(_this);\n return _this;\n }\n Layer.prototype.addLayer = function (layerId, replay) {\n return new Layer(layerId, this, replay, this.group);\n };\n Layer.prototype.removeLayer = function (layerId) {\n var _this = this;\n var parent = this.parent.removeLayer(layerId);\n if (layerId === this.id) {\n if (this.group.caching) {\n Object.keys(this.data).forEach(function (dataId) {\n if (_this.data[dataId] !== parent.lookup(dataId)) {\n _this.delete(dataId);\n }\n });\n }\n return parent;\n }\n if (parent === this.parent)\n return this;\n return parent.addLayer(this.id, this.replay);\n };\n Layer.prototype.toObject = function () {\n return __assign(__assign({}, this.parent.toObject()), this.data);\n };\n Layer.prototype.findChildRefIds = function (dataId) {\n var fromParent = this.parent.findChildRefIds(dataId);\n return hasOwn.call(this.data, dataId) ? __assign(__assign({}, fromParent), _super.prototype.findChildRefIds.call(this, dataId)) : fromParent;\n };\n Layer.prototype.getStorage = function (idOrObj, storeFieldName) {\n return this.parent.getStorage(idOrObj, storeFieldName);\n };\n return Layer;\n}(EntityStore));\nfunction storeObjectReconciler(existingObject, incomingObject, property) {\n var existingValue = existingObject[property];\n var incomingValue = incomingObject[property];\n return equal(existingValue, incomingValue) ? existingValue : incomingValue;\n}\nexport function supportsResultCaching(store) {\n return !!(store instanceof EntityStore && store.group.caching);\n}\n//# sourceMappingURL=entityStore.js.map","import { __assign } from \"tslib\";\nimport { wrap } from 'optimism';\nimport { invariant, InvariantError } from 'ts-invariant';\nimport { isField, resultKeyNameFromField, isReference, makeReference, createFragmentMap, shouldInclude, addTypenameToDocument, getDefaultValues, getFragmentDefinitions, getMainDefinition, getQueryDefinition, maybeDeepFreeze, mergeDeepArray, getFragmentFromSelection, } from '../../utilities';\nimport { supportsResultCaching } from './entityStore';\nimport { getTypenameFromStoreObject } from './helpers';\nimport { MissingFieldError } from '../core/types/common';\n;\nfunction missingFromInvariant(err, context) {\n return new MissingFieldError(err.message, context.path.slice(), context.query, context.clientOnly, context.variables);\n}\nvar StoreReader = (function () {\n function StoreReader(config) {\n var _this = this;\n this.config = config;\n this.executeSelectionSet = wrap(function (options) { return _this.execSelectionSetImpl(options); }, {\n keyArgs: function (options) {\n return [\n options.selectionSet,\n options.objectOrReference,\n options.context,\n ];\n },\n makeCacheKey: function (selectionSet, parent, context) {\n if (supportsResultCaching(context.store)) {\n return context.store.makeCacheKey(selectionSet, isReference(parent) ? parent.__ref : parent, context.varString);\n }\n }\n });\n this.knownResults = new WeakMap();\n this.executeSubSelectedArray = wrap(function (options) {\n return _this.execSubSelectedArrayImpl(options);\n }, {\n makeCacheKey: function (_a) {\n var field = _a.field, array = _a.array, context = _a.context;\n if (supportsResultCaching(context.store)) {\n return context.store.makeCacheKey(field, array, context.varString);\n }\n }\n });\n this.config = __assign({ addTypename: true }, config);\n }\n StoreReader.prototype.diffQueryAgainstStore = function (_a) {\n var store = _a.store, query = _a.query, _b = _a.rootId, rootId = _b === void 0 ? 'ROOT_QUERY' : _b, variables = _a.variables, _c = _a.returnPartialData, returnPartialData = _c === void 0 ? true : _c;\n var policies = this.config.cache.policies;\n variables = __assign(__assign({}, getDefaultValues(getQueryDefinition(query))), variables);\n var execResult = this.executeSelectionSet({\n selectionSet: getMainDefinition(query).selectionSet,\n objectOrReference: makeReference(rootId),\n context: {\n store: store,\n query: query,\n policies: policies,\n variables: variables,\n varString: JSON.stringify(variables),\n fragmentMap: createFragmentMap(getFragmentDefinitions(query)),\n path: [],\n clientOnly: false,\n },\n });\n var hasMissingFields = execResult.missing && execResult.missing.length > 0;\n if (hasMissingFields && !returnPartialData) {\n throw execResult.missing[0];\n }\n return {\n result: execResult.result,\n missing: execResult.missing,\n complete: !hasMissingFields,\n };\n };\n StoreReader.prototype.isFresh = function (result, parent, selectionSet, context) {\n if (supportsResultCaching(context.store) &&\n this.knownResults.get(result) === selectionSet) {\n var latest = this.executeSelectionSet.peek(selectionSet, parent, context);\n if (latest && result === latest.result) {\n return true;\n }\n }\n return false;\n };\n StoreReader.prototype.execSelectionSetImpl = function (_a) {\n var _this = this;\n var selectionSet = _a.selectionSet, objectOrReference = _a.objectOrReference, context = _a.context;\n if (isReference(objectOrReference) &&\n !context.policies.rootTypenamesById[objectOrReference.__ref] &&\n !context.store.has(objectOrReference.__ref)) {\n return {\n result: {},\n missing: [missingFromInvariant(process.env.NODE_ENV === \"production\" ? new InvariantError(4) : new InvariantError(\"Dangling reference to missing \" + objectOrReference.__ref + \" object\"), context)],\n };\n }\n var variables = context.variables, policies = context.policies, store = context.store;\n var objectsToMerge = [];\n var finalResult = { result: null };\n var typename = store.getFieldValue(objectOrReference, \"__typename\");\n if (this.config.addTypename &&\n typeof typename === \"string\" &&\n !policies.rootIdsByTypename[typename]) {\n objectsToMerge.push({ __typename: typename });\n }\n function getMissing() {\n return finalResult.missing || (finalResult.missing = []);\n }\n function handleMissing(result) {\n var _a;\n if (result.missing)\n (_a = getMissing()).push.apply(_a, result.missing);\n return result.result;\n }\n var workSet = new Set(selectionSet.selections);\n workSet.forEach(function (selection) {\n var _a;\n if (!shouldInclude(selection, variables))\n return;\n if (isField(selection)) {\n var fieldValue = policies.readField({\n fieldName: selection.name.value,\n field: selection,\n variables: context.variables,\n from: objectOrReference,\n }, context);\n var resultName = resultKeyNameFromField(selection);\n context.path.push(resultName);\n var wasClientOnly = context.clientOnly;\n context.clientOnly = wasClientOnly || !!(selection.directives &&\n selection.directives.some(function (d) { return d.name.value === \"client\"; }));\n if (fieldValue === void 0) {\n if (!addTypenameToDocument.added(selection)) {\n getMissing().push(missingFromInvariant(process.env.NODE_ENV === \"production\" ? new InvariantError(5) : new InvariantError(\"Can't find field '\" + selection.name.value + \"' on \" + (isReference(objectOrReference)\n ? objectOrReference.__ref + \" object\"\n : \"object \" + JSON.stringify(objectOrReference, null, 2))), context));\n }\n }\n else if (Array.isArray(fieldValue)) {\n fieldValue = handleMissing(_this.executeSubSelectedArray({\n field: selection,\n array: fieldValue,\n context: context,\n }));\n }\n else if (!selection.selectionSet) {\n if (process.env.NODE_ENV !== 'production') {\n assertSelectionSetForIdValue(context.store, selection, fieldValue);\n maybeDeepFreeze(fieldValue);\n }\n }\n else if (fieldValue != null) {\n fieldValue = handleMissing(_this.executeSelectionSet({\n selectionSet: selection.selectionSet,\n objectOrReference: fieldValue,\n context: context,\n }));\n }\n if (fieldValue !== void 0) {\n objectsToMerge.push((_a = {}, _a[resultName] = fieldValue, _a));\n }\n context.clientOnly = wasClientOnly;\n invariant(context.path.pop() === resultName);\n }\n else {\n var fragment = getFragmentFromSelection(selection, context.fragmentMap);\n if (fragment && policies.fragmentMatches(fragment, typename)) {\n fragment.selectionSet.selections.forEach(workSet.add, workSet);\n }\n }\n });\n finalResult.result = mergeDeepArray(objectsToMerge);\n if (process.env.NODE_ENV !== 'production') {\n Object.freeze(finalResult.result);\n }\n this.knownResults.set(finalResult.result, selectionSet);\n return finalResult;\n };\n StoreReader.prototype.execSubSelectedArrayImpl = function (_a) {\n var _this = this;\n var field = _a.field, array = _a.array, context = _a.context;\n var missing;\n function handleMissing(childResult, i) {\n if (childResult.missing) {\n missing = missing || [];\n missing.push.apply(missing, childResult.missing);\n }\n invariant(context.path.pop() === i);\n return childResult.result;\n }\n if (field.selectionSet) {\n array = array.filter(context.store.canRead);\n }\n array = array.map(function (item, i) {\n if (item === null) {\n return null;\n }\n context.path.push(i);\n if (Array.isArray(item)) {\n return handleMissing(_this.executeSubSelectedArray({\n field: field,\n array: item,\n context: context,\n }), i);\n }\n if (field.selectionSet) {\n return handleMissing(_this.executeSelectionSet({\n selectionSet: field.selectionSet,\n objectOrReference: item,\n context: context,\n }), i);\n }\n if (process.env.NODE_ENV !== 'production') {\n assertSelectionSetForIdValue(context.store, field, item);\n }\n invariant(context.path.pop() === i);\n return item;\n });\n if (process.env.NODE_ENV !== 'production') {\n Object.freeze(array);\n }\n return { result: array, missing: missing };\n };\n return StoreReader;\n}());\nexport { StoreReader };\nfunction assertSelectionSetForIdValue(store, field, fieldValue) {\n if (!field.selectionSet) {\n var workSet_1 = new Set([fieldValue]);\n workSet_1.forEach(function (value) {\n if (value && typeof value === \"object\") {\n process.env.NODE_ENV === \"production\" ? invariant(!isReference(value), 6) : invariant(!isReference(value), \"Missing selection set for object of type \" + getTypenameFromStoreObject(store, value) + \" returned for query field \" + field.name.value);\n Object.values(value).forEach(workSet_1.add, workSet_1);\n }\n });\n }\n}\n//# sourceMappingURL=readFromStore.js.map","import { __assign } from \"tslib\";\nimport { invariant, InvariantError } from 'ts-invariant';\nimport { equal } from '@wry/equality';\nimport { createFragmentMap, getFragmentFromSelection, getDefaultValues, getFragmentDefinitions, getOperationDefinition, getTypenameFromResult, makeReference, isField, resultKeyNameFromField, isReference, shouldInclude, hasDirectives, cloneDeep, } from '../../utilities';\nimport { makeProcessedFieldsMerger, fieldNameFromStoreName } from './helpers';\n;\nvar StoreWriter = (function () {\n function StoreWriter(cache, reader) {\n this.cache = cache;\n this.reader = reader;\n }\n StoreWriter.prototype.writeToStore = function (_a) {\n var query = _a.query, result = _a.result, dataId = _a.dataId, store = _a.store, variables = _a.variables;\n var operationDefinition = getOperationDefinition(query);\n var merger = makeProcessedFieldsMerger();\n variables = __assign(__assign({}, getDefaultValues(operationDefinition)), variables);\n var ref = this.processSelectionSet({\n result: result || Object.create(null),\n dataId: dataId,\n selectionSet: operationDefinition.selectionSet,\n context: {\n store: store,\n written: Object.create(null),\n merge: function (existing, incoming) {\n return merger.merge(existing, incoming);\n },\n variables: variables,\n varString: JSON.stringify(variables),\n fragmentMap: createFragmentMap(getFragmentDefinitions(query)),\n },\n });\n if (!isReference(ref)) {\n throw process.env.NODE_ENV === \"production\" ? new InvariantError(7) : new InvariantError(\"Could not identify object \" + JSON.stringify(result));\n }\n store.retain(ref.__ref);\n return ref;\n };\n StoreWriter.prototype.processSelectionSet = function (_a) {\n var _this = this;\n var dataId = _a.dataId, result = _a.result, selectionSet = _a.selectionSet, context = _a.context, _b = _a.out, out = _b === void 0 ? {\n shouldApplyMerges: false,\n } : _b;\n var policies = this.cache.policies;\n var _c = policies.identify(result, selectionSet, context.fragmentMap), id = _c[0], keyObject = _c[1];\n dataId = dataId || id;\n if (\"string\" === typeof dataId) {\n var sets = context.written[dataId] || (context.written[dataId] = []);\n var ref = makeReference(dataId);\n if (sets.indexOf(selectionSet) >= 0)\n return ref;\n sets.push(selectionSet);\n if (this.reader && this.reader.isFresh(result, ref, selectionSet, context)) {\n return ref;\n }\n }\n var mergedFields = Object.create(null);\n if (keyObject) {\n mergedFields = context.merge(mergedFields, keyObject);\n }\n var typename = (dataId && policies.rootTypenamesById[dataId]) ||\n getTypenameFromResult(result, selectionSet, context.fragmentMap) ||\n (dataId && context.store.get(dataId, \"__typename\"));\n if (\"string\" === typeof typename) {\n mergedFields.__typename = typename;\n }\n var workSet = new Set(selectionSet.selections);\n workSet.forEach(function (selection) {\n var _a;\n if (!shouldInclude(selection, context.variables))\n return;\n if (isField(selection)) {\n var resultFieldKey = resultKeyNameFromField(selection);\n var value = result[resultFieldKey];\n if (typeof value !== 'undefined') {\n var storeFieldName = policies.getStoreFieldName({\n typename: typename,\n fieldName: selection.name.value,\n field: selection,\n variables: context.variables,\n });\n var incomingValue = _this.processFieldValue(value, selection, context, out);\n if (policies.hasMergeFunction(typename, selection.name.value)) {\n incomingValue = {\n __field: selection,\n __typename: typename,\n __value: incomingValue,\n };\n out.shouldApplyMerges = true;\n }\n mergedFields = context.merge(mergedFields, (_a = {},\n _a[storeFieldName] = incomingValue,\n _a));\n }\n else if (policies.usingPossibleTypes &&\n !hasDirectives([\"defer\", \"client\"], selection)) {\n throw process.env.NODE_ENV === \"production\" ? new InvariantError(8) : new InvariantError(\"Missing field '\" + resultFieldKey + \"' in \" + JSON.stringify(result, null, 2).substring(0, 100));\n }\n }\n else {\n var fragment = getFragmentFromSelection(selection, context.fragmentMap);\n if (fragment &&\n policies.fragmentMatches(fragment, typename, result, context.variables)) {\n fragment.selectionSet.selections.forEach(workSet.add, workSet);\n }\n }\n });\n if (\"string\" === typeof dataId) {\n var entityRef_1 = makeReference(dataId);\n if (out.shouldApplyMerges) {\n mergedFields = policies.applyMerges(entityRef_1, mergedFields, context);\n }\n if (process.env.NODE_ENV !== \"production\") {\n Object.keys(mergedFields).forEach(function (storeFieldName) {\n var fieldName = fieldNameFromStoreName(storeFieldName);\n if (!policies.hasMergeFunction(typename, fieldName)) {\n warnAboutDataLoss(entityRef_1, mergedFields, storeFieldName, context.store);\n }\n });\n }\n context.store.merge(dataId, mergedFields);\n return entityRef_1;\n }\n return mergedFields;\n };\n StoreWriter.prototype.processFieldValue = function (value, field, context, out) {\n var _this = this;\n if (!field.selectionSet || value === null) {\n return process.env.NODE_ENV === 'production' ? value : cloneDeep(value);\n }\n if (Array.isArray(value)) {\n return value.map(function (item) { return _this.processFieldValue(item, field, context, out); });\n }\n return this.processSelectionSet({\n result: value,\n selectionSet: field.selectionSet,\n context: context,\n out: out,\n });\n };\n return StoreWriter;\n}());\nexport { StoreWriter };\nvar warnings = new Set();\nfunction warnAboutDataLoss(existingRef, incomingObj, storeFieldName, store) {\n var getChild = function (objOrRef) {\n var child = store.getFieldValue(objOrRef, storeFieldName);\n return typeof child === \"object\" && child;\n };\n var existing = getChild(existingRef);\n if (!existing)\n return;\n var incoming = getChild(incomingObj);\n if (!incoming)\n return;\n if (isReference(existing))\n return;\n if (equal(existing, incoming))\n return;\n if (Object.keys(existing).every(function (key) { return store.getFieldValue(incoming, key) !== void 0; })) {\n return;\n }\n var parentType = store.getFieldValue(existingRef, \"__typename\") ||\n store.getFieldValue(incomingObj, \"__typename\");\n var fieldName = fieldNameFromStoreName(storeFieldName);\n var typeDotName = parentType + \".\" + fieldName;\n if (warnings.has(typeDotName))\n return;\n warnings.add(typeDotName);\n var childTypenames = [];\n if (!Array.isArray(existing) &&\n !Array.isArray(incoming)) {\n [existing, incoming].forEach(function (child) {\n var typename = store.getFieldValue(child, \"__typename\");\n if (typeof typename === \"string\" &&\n !childTypenames.includes(typename)) {\n childTypenames.push(typename);\n }\n });\n }\n process.env.NODE_ENV === \"production\" || invariant.warn(\"Cache data may be lost when replacing the \" + fieldName + \" field of a \" + parentType + \" object.\\n\\nTo address this problem (which is not a bug in Apollo Client), \" + (childTypenames.length\n ? \"either ensure all objects of type \" +\n childTypenames.join(\" and \") + \" have IDs, or \"\n : \"\") + \"define a custom merge function for the \" + typeDotName + \" field, so InMemoryCache can safely merge these objects:\\n\\n existing: \" + JSON.stringify(existing).slice(0, 1000) + \"\\n incoming: \" + JSON.stringify(incoming).slice(0, 1000) + \"\\n\\nFor more information about these options, please refer to the documentation:\\n\\n * Ensuring entity objects have IDs: https://go.apollo.dev/c/generating-unique-identifiers\\n * Defining custom merge functions: https://go.apollo.dev/c/merging-non-normalized-objects\\n\");\n}\n//# sourceMappingURL=writeToStore.js.map","import { Slot } from \"@wry/context\";\nimport { dep } from \"optimism\";\nvar varDep = dep();\nexport var cacheSlot = new Slot();\nfunction consumeAndIterate(set, callback) {\n var items = [];\n set.forEach(function (item) { return items.push(item); });\n set.clear();\n items.forEach(callback);\n}\nexport function makeVar(value) {\n var caches = new Set();\n var listeners = new Set();\n var rv = function (newValue) {\n if (arguments.length > 0) {\n if (value !== newValue) {\n value = newValue;\n varDep.dirty(rv);\n caches.forEach(broadcast);\n consumeAndIterate(listeners, function (listener) { return listener(value); });\n }\n }\n else {\n var cache = cacheSlot.getValue();\n if (cache)\n caches.add(cache);\n varDep(rv);\n }\n return value;\n };\n rv.onNextChange = function (listener) {\n listeners.add(listener);\n return function () {\n listeners.delete(listener);\n };\n };\n return rv;\n}\nfunction broadcast(cache) {\n if (cache.broadcastWatches) {\n cache.broadcastWatches();\n }\n}\n//# sourceMappingURL=reactiveVars.js.map","import { __assign } from \"tslib\";\nimport { KeyTrie } from 'optimism';\nimport { invariant, InvariantError } from 'ts-invariant';\nimport { getFragmentFromSelection, isField, getTypenameFromResult, storeKeyNameFromField, argumentsObjectFromField, isReference, getStoreKeyName, canUseWeakMap, } from '../../utilities';\nimport { hasOwn, fieldNameFromStoreName, isFieldValueToBeMerged, storeValueIsStoreObject, selectionSetMatchesResult, TypeOrFieldNameRegExp, } from './helpers';\nimport { cacheSlot } from './reactiveVars';\nfunction argsFromFieldSpecifier(spec) {\n return spec.args !== void 0 ? spec.args :\n spec.field ? argumentsObjectFromField(spec.field, spec.variables) : null;\n}\nexport var defaultDataIdFromObject = function (_a, context) {\n var __typename = _a.__typename, id = _a.id, _id = _a._id;\n if (typeof __typename === \"string\") {\n if (context) {\n context.keyObject =\n id !== void 0 ? { id: id } :\n _id !== void 0 ? { _id: _id } :\n void 0;\n }\n if (id === void 0)\n id = _id;\n if (id !== void 0) {\n return __typename + \":\" + ((typeof id === \"number\" ||\n typeof id === \"string\") ? id : JSON.stringify(id));\n }\n }\n};\nvar nullKeyFieldsFn = function () { return void 0; };\nvar simpleKeyArgsFn = function (_args, context) { return context.fieldName; };\nvar mergeTrueFn = function (existing, incoming, _a) {\n var mergeObjects = _a.mergeObjects;\n return mergeObjects(existing, incoming);\n};\nvar mergeFalseFn = function (_, incoming) { return incoming; };\nvar Policies = (function () {\n function Policies(config) {\n this.config = config;\n this.typePolicies = Object.create(null);\n this.supertypeMap = new Map();\n this.fuzzySubtypes = new Map();\n this.rootIdsByTypename = Object.create(null);\n this.rootTypenamesById = Object.create(null);\n this.usingPossibleTypes = false;\n this.config = __assign({ dataIdFromObject: defaultDataIdFromObject }, config);\n this.cache = this.config.cache;\n this.setRootTypename(\"Query\");\n this.setRootTypename(\"Mutation\");\n this.setRootTypename(\"Subscription\");\n if (config.possibleTypes) {\n this.addPossibleTypes(config.possibleTypes);\n }\n if (config.typePolicies) {\n this.addTypePolicies(config.typePolicies);\n }\n }\n Policies.prototype.identify = function (object, selectionSet, fragmentMap) {\n var typename = selectionSet && fragmentMap\n ? getTypenameFromResult(object, selectionSet, fragmentMap)\n : object.__typename;\n if (typename === this.rootTypenamesById.ROOT_QUERY) {\n return [\"ROOT_QUERY\"];\n }\n var context = {\n typename: typename,\n selectionSet: selectionSet,\n fragmentMap: fragmentMap,\n };\n var id;\n var policy = this.getTypePolicy(typename, false);\n var keyFn = policy && policy.keyFn || this.config.dataIdFromObject;\n while (keyFn) {\n var specifierOrId = keyFn(object, context);\n if (Array.isArray(specifierOrId)) {\n keyFn = keyFieldsFnFromSpecifier(specifierOrId);\n }\n else {\n id = specifierOrId;\n break;\n }\n }\n id = id && String(id);\n return context.keyObject ? [id, context.keyObject] : [id];\n };\n Policies.prototype.addTypePolicies = function (typePolicies) {\n var _this = this;\n Object.keys(typePolicies).forEach(function (typename) {\n var existing = _this.getTypePolicy(typename, true);\n var incoming = typePolicies[typename];\n var keyFields = incoming.keyFields, fields = incoming.fields;\n if (incoming.queryType)\n _this.setRootTypename(\"Query\", typename);\n if (incoming.mutationType)\n _this.setRootTypename(\"Mutation\", typename);\n if (incoming.subscriptionType)\n _this.setRootTypename(\"Subscription\", typename);\n existing.keyFn =\n keyFields === false ? nullKeyFieldsFn :\n Array.isArray(keyFields) ? keyFieldsFnFromSpecifier(keyFields) :\n typeof keyFields === \"function\" ? keyFields :\n existing.keyFn;\n if (fields) {\n Object.keys(fields).forEach(function (fieldName) {\n var existing = _this.getFieldPolicy(typename, fieldName, true);\n var incoming = fields[fieldName];\n if (typeof incoming === \"function\") {\n existing.read = incoming;\n }\n else {\n var keyArgs = incoming.keyArgs, read = incoming.read, merge = incoming.merge;\n existing.keyFn =\n keyArgs === false ? simpleKeyArgsFn :\n Array.isArray(keyArgs) ? keyArgsFnFromSpecifier(keyArgs) :\n typeof keyArgs === \"function\" ? keyArgs :\n existing.keyFn;\n if (typeof read === \"function\")\n existing.read = read;\n existing.merge =\n typeof merge === \"function\" ? merge :\n merge === true ? mergeTrueFn :\n merge === false ? mergeFalseFn :\n existing.merge;\n }\n if (existing.read && existing.merge) {\n existing.keyFn = existing.keyFn || simpleKeyArgsFn;\n }\n });\n }\n });\n };\n Policies.prototype.setRootTypename = function (which, typename) {\n if (typename === void 0) { typename = which; }\n var rootId = \"ROOT_\" + which.toUpperCase();\n var old = this.rootTypenamesById[rootId];\n if (typename !== old) {\n process.env.NODE_ENV === \"production\" ? invariant(!old || old === which, 1) : invariant(!old || old === which, \"Cannot change root \" + which + \" __typename more than once\");\n if (old)\n delete this.rootIdsByTypename[old];\n this.rootIdsByTypename[typename] = rootId;\n this.rootTypenamesById[rootId] = typename;\n }\n };\n Policies.prototype.addPossibleTypes = function (possibleTypes) {\n var _this = this;\n this.usingPossibleTypes = true;\n Object.keys(possibleTypes).forEach(function (supertype) {\n _this.getSupertypeSet(supertype, true);\n possibleTypes[supertype].forEach(function (subtype) {\n _this.getSupertypeSet(subtype, true).add(supertype);\n var match = subtype.match(TypeOrFieldNameRegExp);\n if (!match || match[0] !== subtype) {\n _this.fuzzySubtypes.set(subtype, new RegExp(subtype));\n }\n });\n });\n };\n Policies.prototype.getTypePolicy = function (typename, createIfMissing) {\n if (typename) {\n return this.typePolicies[typename] || (createIfMissing && (this.typePolicies[typename] = Object.create(null)));\n }\n };\n Policies.prototype.getFieldPolicy = function (typename, fieldName, createIfMissing) {\n var typePolicy = this.getTypePolicy(typename, createIfMissing);\n if (typePolicy) {\n var fieldPolicies = typePolicy.fields || (createIfMissing && (typePolicy.fields = Object.create(null)));\n if (fieldPolicies) {\n return fieldPolicies[fieldName] || (createIfMissing && (fieldPolicies[fieldName] = Object.create(null)));\n }\n }\n };\n Policies.prototype.getSupertypeSet = function (subtype, createIfMissing) {\n var supertypeSet = this.supertypeMap.get(subtype);\n if (!supertypeSet && createIfMissing) {\n this.supertypeMap.set(subtype, supertypeSet = new Set());\n }\n return supertypeSet;\n };\n Policies.prototype.fragmentMatches = function (fragment, typename, result, variables) {\n var _this = this;\n if (!fragment.typeCondition)\n return true;\n if (!typename)\n return false;\n var supertype = fragment.typeCondition.name.value;\n if (typename === supertype)\n return true;\n if (this.usingPossibleTypes &&\n this.supertypeMap.has(supertype)) {\n var typenameSupertypeSet = this.getSupertypeSet(typename, true);\n var workQueue_1 = [typenameSupertypeSet];\n var maybeEnqueue_1 = function (subtype) {\n var supertypeSet = _this.getSupertypeSet(subtype, false);\n if (supertypeSet &&\n supertypeSet.size &&\n workQueue_1.indexOf(supertypeSet) < 0) {\n workQueue_1.push(supertypeSet);\n }\n };\n var needToCheckFuzzySubtypes = !!(result && this.fuzzySubtypes.size);\n var checkingFuzzySubtypes = false;\n for (var i = 0; i < workQueue_1.length; ++i) {\n var supertypeSet = workQueue_1[i];\n if (supertypeSet.has(supertype)) {\n if (!typenameSupertypeSet.has(supertype)) {\n if (checkingFuzzySubtypes) {\n process.env.NODE_ENV === \"production\" || invariant.warn(\"Inferring subtype \" + typename + \" of supertype \" + supertype);\n }\n typenameSupertypeSet.add(supertype);\n }\n return true;\n }\n supertypeSet.forEach(maybeEnqueue_1);\n if (needToCheckFuzzySubtypes &&\n i === workQueue_1.length - 1 &&\n selectionSetMatchesResult(fragment.selectionSet, result, variables)) {\n needToCheckFuzzySubtypes = false;\n checkingFuzzySubtypes = true;\n this.fuzzySubtypes.forEach(function (regExp, fuzzyString) {\n var match = typename.match(regExp);\n if (match && match[0] === typename) {\n maybeEnqueue_1(fuzzyString);\n }\n });\n }\n }\n }\n return false;\n };\n Policies.prototype.getStoreFieldName = function (fieldSpec) {\n var typename = fieldSpec.typename, fieldName = fieldSpec.fieldName;\n var policy = this.getFieldPolicy(typename, fieldName, false);\n var storeFieldName;\n var keyFn = policy && policy.keyFn;\n if (keyFn && typename) {\n var context = {\n typename: typename,\n fieldName: fieldName,\n field: fieldSpec.field || null,\n variables: fieldSpec.variables,\n };\n var args = argsFromFieldSpecifier(fieldSpec);\n while (keyFn) {\n var specifierOrString = keyFn(args, context);\n if (Array.isArray(specifierOrString)) {\n keyFn = keyArgsFnFromSpecifier(specifierOrString);\n }\n else {\n storeFieldName = specifierOrString || fieldName;\n break;\n }\n }\n }\n if (storeFieldName === void 0) {\n storeFieldName = fieldSpec.field\n ? storeKeyNameFromField(fieldSpec.field, fieldSpec.variables)\n : getStoreKeyName(fieldName, argsFromFieldSpecifier(fieldSpec));\n }\n return fieldName === fieldNameFromStoreName(storeFieldName)\n ? storeFieldName\n : fieldName + \":\" + storeFieldName;\n };\n Policies.prototype.readField = function (options, context) {\n var objectOrReference = options.from;\n if (!objectOrReference)\n return;\n var nameOrField = options.field || options.fieldName;\n if (!nameOrField)\n return;\n if (options.typename === void 0) {\n var typename = context.store.getFieldValue(objectOrReference, \"__typename\");\n if (typename)\n options.typename = typename;\n }\n var storeFieldName = this.getStoreFieldName(options);\n var fieldName = fieldNameFromStoreName(storeFieldName);\n var existing = context.store.getFieldValue(objectOrReference, storeFieldName);\n var policy = this.getFieldPolicy(options.typename, fieldName, false);\n var read = policy && policy.read;\n if (read) {\n var readOptions = makeFieldFunctionOptions(this, objectOrReference, options, context, context.store.getStorage(isReference(objectOrReference)\n ? objectOrReference.__ref\n : objectOrReference, storeFieldName));\n return cacheSlot.withValue(this.cache, read, [existing, readOptions]);\n }\n return existing;\n };\n Policies.prototype.hasMergeFunction = function (typename, fieldName) {\n var policy = this.getFieldPolicy(typename, fieldName, false);\n return !!(policy && policy.merge);\n };\n Policies.prototype.applyMerges = function (existing, incoming, context, storageKeys) {\n var _a;\n var _this = this;\n if (isFieldValueToBeMerged(incoming)) {\n var field = incoming.__field;\n var fieldName = field.name.value;\n var merge = this.getFieldPolicy(incoming.__typename, fieldName, false).merge;\n incoming = merge(existing, incoming.__value, makeFieldFunctionOptions(this, void 0, { typename: incoming.__typename, fieldName: fieldName,\n field: field, variables: context.variables }, context, storageKeys\n ? (_a = context.store).getStorage.apply(_a, storageKeys) : Object.create(null)));\n }\n if (Array.isArray(incoming)) {\n return incoming.map(function (item) { return _this.applyMerges(void 0, item, context); });\n }\n if (storeValueIsStoreObject(incoming)) {\n var e_1 = existing;\n var i_1 = incoming;\n var firstStorageKey_1 = isReference(e_1)\n ? e_1.__ref\n : typeof e_1 === \"object\" && e_1;\n var newFields_1;\n Object.keys(i_1).forEach(function (storeFieldName) {\n var incomingValue = i_1[storeFieldName];\n var appliedValue = _this.applyMerges(context.store.getFieldValue(e_1, storeFieldName), incomingValue, context, firstStorageKey_1 ? [firstStorageKey_1, storeFieldName] : void 0);\n if (appliedValue !== incomingValue) {\n newFields_1 = newFields_1 || Object.create(null);\n newFields_1[storeFieldName] = appliedValue;\n }\n });\n if (newFields_1) {\n return __assign(__assign({}, i_1), newFields_1);\n }\n }\n return incoming;\n };\n return Policies;\n}());\nexport { Policies };\nfunction makeFieldFunctionOptions(policies, objectOrReference, fieldSpec, context, storage) {\n var storeFieldName = policies.getStoreFieldName(fieldSpec);\n var fieldName = fieldNameFromStoreName(storeFieldName);\n var variables = fieldSpec.variables || context.variables;\n var _a = context.store, getFieldValue = _a.getFieldValue, toReference = _a.toReference, canRead = _a.canRead;\n return {\n args: argsFromFieldSpecifier(fieldSpec),\n field: fieldSpec.field || null,\n fieldName: fieldName,\n storeFieldName: storeFieldName,\n variables: variables,\n isReference: isReference,\n toReference: toReference,\n storage: storage,\n cache: policies.cache,\n canRead: canRead,\n readField: function (fieldNameOrOptions, from) {\n var options = typeof fieldNameOrOptions === \"string\" ? {\n fieldName: fieldNameOrOptions,\n from: from,\n } : __assign({}, fieldNameOrOptions);\n if (void 0 === options.from) {\n options.from = objectOrReference;\n }\n if (void 0 === options.variables) {\n options.variables = variables;\n }\n return policies.readField(options, context);\n },\n mergeObjects: function (existing, incoming) {\n if (Array.isArray(existing) || Array.isArray(incoming)) {\n throw process.env.NODE_ENV === \"production\" ? new InvariantError(2) : new InvariantError(\"Cannot automatically merge arrays\");\n }\n if (existing && typeof existing === \"object\" &&\n incoming && typeof incoming === \"object\") {\n var eType = getFieldValue(existing, \"__typename\");\n var iType = getFieldValue(incoming, \"__typename\");\n var typesDiffer = eType && iType && eType !== iType;\n var applied = policies.applyMerges(typesDiffer ? void 0 : existing, incoming, context);\n if (typesDiffer ||\n !storeValueIsStoreObject(existing) ||\n !storeValueIsStoreObject(applied)) {\n return applied;\n }\n return __assign(__assign({}, existing), applied);\n }\n return incoming;\n }\n };\n}\nfunction keyArgsFnFromSpecifier(specifier) {\n return function (args, context) {\n return args ? context.fieldName + \":\" + JSON.stringify(computeKeyObject(args, specifier)) : context.fieldName;\n };\n}\nfunction keyFieldsFnFromSpecifier(specifier) {\n var trie = new KeyTrie(canUseWeakMap);\n return function (object, context) {\n var aliasMap;\n if (context.selectionSet && context.fragmentMap) {\n var info = trie.lookupArray([\n context.selectionSet,\n context.fragmentMap,\n ]);\n aliasMap = info.aliasMap || (info.aliasMap = makeAliasMap(context.selectionSet, context.fragmentMap));\n }\n var keyObject = context.keyObject =\n computeKeyObject(object, specifier, aliasMap);\n return context.typename + \":\" + JSON.stringify(keyObject);\n };\n}\nfunction makeAliasMap(selectionSet, fragmentMap) {\n var map = Object.create(null);\n var workQueue = new Set([selectionSet]);\n workQueue.forEach(function (selectionSet) {\n selectionSet.selections.forEach(function (selection) {\n if (isField(selection)) {\n if (selection.alias) {\n var responseKey = selection.alias.value;\n var storeKey = selection.name.value;\n if (storeKey !== responseKey) {\n var aliases = map.aliases || (map.aliases = Object.create(null));\n aliases[storeKey] = responseKey;\n }\n }\n if (selection.selectionSet) {\n var subsets = map.subsets || (map.subsets = Object.create(null));\n subsets[selection.name.value] =\n makeAliasMap(selection.selectionSet, fragmentMap);\n }\n }\n else {\n var fragment = getFragmentFromSelection(selection, fragmentMap);\n if (fragment) {\n workQueue.add(fragment.selectionSet);\n }\n }\n });\n });\n return map;\n}\nfunction computeKeyObject(response, specifier, aliasMap) {\n var keyObj = Object.create(null);\n var prevKey;\n specifier.forEach(function (s) {\n if (Array.isArray(s)) {\n if (typeof prevKey === \"string\") {\n var subsets = aliasMap && aliasMap.subsets;\n var subset = subsets && subsets[prevKey];\n keyObj[prevKey] = computeKeyObject(response[prevKey], s, subset);\n }\n }\n else {\n var aliases = aliasMap && aliasMap.aliases;\n var responseName = aliases && aliases[s] || s;\n process.env.NODE_ENV === \"production\" ? invariant(hasOwn.call(response, responseName), 3) : invariant(hasOwn.call(response, responseName), \"Missing field '\" + responseName + \"' while computing key fields\");\n keyObj[prevKey = s] = response[responseName];\n }\n });\n return keyObj;\n}\n//# sourceMappingURL=policies.js.map","import { __assign, __extends } from \"tslib\";\nimport './fixPolyfills';\nimport { dep, wrap } from 'optimism';\nimport { ApolloCache } from '../core/cache';\nimport { addTypenameToDocument, isReference, } from '../../utilities';\nimport { StoreReader } from './readFromStore';\nimport { StoreWriter } from './writeToStore';\nimport { EntityStore, supportsResultCaching } from './entityStore';\nimport { makeVar } from './reactiveVars';\nimport { defaultDataIdFromObject, Policies, } from './policies';\nimport { hasOwn } from './helpers';\nvar defaultConfig = {\n dataIdFromObject: defaultDataIdFromObject,\n addTypename: true,\n resultCaching: true,\n typePolicies: {},\n};\nvar InMemoryCache = (function (_super) {\n __extends(InMemoryCache, _super);\n function InMemoryCache(config) {\n if (config === void 0) { config = {}; }\n var _this = _super.call(this) || this;\n _this.watches = new Set();\n _this.typenameDocumentCache = new Map();\n _this.makeVar = makeVar;\n _this.txCount = 0;\n _this.maybeBroadcastWatch = wrap(function (c, fromOptimisticTransaction) {\n return _this.broadcastWatch.call(_this, c, !!fromOptimisticTransaction);\n }, {\n makeCacheKey: function (c) {\n var store = c.optimistic ? _this.optimisticData : _this.data;\n if (supportsResultCaching(store)) {\n var optimistic = c.optimistic, rootId = c.rootId, variables = c.variables;\n return store.makeCacheKey(c.query, c.callback, JSON.stringify({ optimistic: optimistic, rootId: rootId, variables: variables }));\n }\n }\n });\n _this.watchDep = dep();\n _this.config = __assign(__assign({}, defaultConfig), config);\n _this.addTypename = !!_this.config.addTypename;\n _this.policies = new Policies({\n cache: _this,\n dataIdFromObject: _this.config.dataIdFromObject,\n possibleTypes: _this.config.possibleTypes,\n typePolicies: _this.config.typePolicies,\n });\n _this.data = new EntityStore.Root({\n policies: _this.policies,\n resultCaching: _this.config.resultCaching,\n });\n _this.optimisticData = _this.data;\n _this.storeWriter = new StoreWriter(_this, _this.storeReader = new StoreReader({\n cache: _this,\n addTypename: _this.addTypename,\n }));\n return _this;\n }\n InMemoryCache.prototype.restore = function (data) {\n if (data)\n this.data.replace(data);\n return this;\n };\n InMemoryCache.prototype.extract = function (optimistic) {\n if (optimistic === void 0) { optimistic = false; }\n return (optimistic ? this.optimisticData : this.data).toObject();\n };\n InMemoryCache.prototype.read = function (options) {\n var store = options.optimistic ? this.optimisticData : this.data;\n if (typeof options.rootId === 'string' && !store.has(options.rootId)) {\n return null;\n }\n return this.storeReader.diffQueryAgainstStore({\n store: store,\n query: options.query,\n variables: options.variables,\n rootId: options.rootId,\n config: this.config,\n returnPartialData: false,\n }).result || null;\n };\n InMemoryCache.prototype.write = function (options) {\n try {\n ++this.txCount;\n return this.storeWriter.writeToStore({\n store: this.data,\n query: options.query,\n result: options.result,\n dataId: options.dataId,\n variables: options.variables,\n });\n }\n finally {\n if (!--this.txCount && options.broadcast !== false) {\n this.broadcastWatches();\n }\n }\n };\n InMemoryCache.prototype.modify = function (options) {\n if (hasOwn.call(options, \"id\") && !options.id) {\n return false;\n }\n var store = options.optimistic\n ? this.optimisticData\n : this.data;\n try {\n ++this.txCount;\n return store.modify(options.id || \"ROOT_QUERY\", options.fields);\n }\n finally {\n if (!--this.txCount && options.broadcast !== false) {\n this.broadcastWatches();\n }\n }\n };\n InMemoryCache.prototype.diff = function (options) {\n return this.storeReader.diffQueryAgainstStore({\n store: options.optimistic ? this.optimisticData : this.data,\n rootId: options.id || \"ROOT_QUERY\",\n query: options.query,\n variables: options.variables,\n returnPartialData: options.returnPartialData,\n config: this.config,\n });\n };\n InMemoryCache.prototype.watch = function (watch) {\n var _this = this;\n this.watches.add(watch);\n if (watch.immediate) {\n this.maybeBroadcastWatch(watch);\n }\n return function () {\n _this.watches.delete(watch);\n };\n };\n InMemoryCache.prototype.gc = function () {\n return this.optimisticData.gc();\n };\n InMemoryCache.prototype.retain = function (rootId, optimistic) {\n return (optimistic ? this.optimisticData : this.data).retain(rootId);\n };\n InMemoryCache.prototype.release = function (rootId, optimistic) {\n return (optimistic ? this.optimisticData : this.data).release(rootId);\n };\n InMemoryCache.prototype.identify = function (object) {\n return isReference(object) ? object.__ref :\n this.policies.identify(object)[0];\n };\n InMemoryCache.prototype.evict = function (options) {\n if (!options.id) {\n if (hasOwn.call(options, \"id\")) {\n return false;\n }\n options = __assign(__assign({}, options), { id: \"ROOT_QUERY\" });\n }\n try {\n ++this.txCount;\n return this.optimisticData.evict(options);\n }\n finally {\n if (!--this.txCount && options.broadcast !== false) {\n this.broadcastWatches();\n }\n }\n };\n InMemoryCache.prototype.reset = function () {\n this.data.clear();\n this.optimisticData = this.data;\n this.broadcastWatches();\n return Promise.resolve();\n };\n InMemoryCache.prototype.removeOptimistic = function (idToRemove) {\n var newOptimisticData = this.optimisticData.removeLayer(idToRemove);\n if (newOptimisticData !== this.optimisticData) {\n this.optimisticData = newOptimisticData;\n this.broadcastWatches();\n }\n };\n InMemoryCache.prototype.performTransaction = function (transaction, optimisticId) {\n var _this = this;\n var perform = function (layer) {\n var _a = _this, data = _a.data, optimisticData = _a.optimisticData;\n ++_this.txCount;\n if (layer) {\n _this.data = _this.optimisticData = layer;\n }\n try {\n transaction(_this);\n }\n finally {\n --_this.txCount;\n _this.data = data;\n _this.optimisticData = optimisticData;\n }\n };\n var fromOptimisticTransaction = false;\n if (typeof optimisticId === 'string') {\n this.optimisticData = this.optimisticData.addLayer(optimisticId, perform);\n fromOptimisticTransaction = true;\n }\n else if (optimisticId === null) {\n perform(this.data);\n }\n else {\n perform();\n }\n this.broadcastWatches(fromOptimisticTransaction);\n };\n InMemoryCache.prototype.transformDocument = function (document) {\n if (this.addTypename) {\n var result = this.typenameDocumentCache.get(document);\n if (!result) {\n result = addTypenameToDocument(document);\n this.typenameDocumentCache.set(document, result);\n this.typenameDocumentCache.set(result, result);\n }\n return result;\n }\n return document;\n };\n InMemoryCache.prototype.broadcastWatches = function (fromOptimisticTransaction) {\n var _this = this;\n if (!this.txCount) {\n this.watches.forEach(function (c) { return _this.maybeBroadcastWatch(c, fromOptimisticTransaction); });\n }\n };\n InMemoryCache.prototype.broadcastWatch = function (c, fromOptimisticTransaction) {\n this.watchDep.dirty(c);\n this.watchDep(c);\n var diff = this.diff({\n query: c.query,\n variables: c.variables,\n optimistic: c.optimistic,\n });\n if (c.optimistic && fromOptimisticTransaction) {\n diff.fromOptimisticTransaction = true;\n }\n c.callback(diff);\n };\n return InMemoryCache;\n}(ApolloCache));\nexport { InMemoryCache };\n//# sourceMappingURL=inMemoryCache.js.map"],"names":["wrap","getFragmentQueryDocument","Cache","isReference","isField","shouldInclude","resultKeyNameFromField","DeepMerger","maybeDeepFreeze","makeReference","__assign","KeyTrie","canUseWeakMap","dep","__extends","equal","getDefaultValues","getQueryDefinition","getMainDefinition","createFragmentMap","getFragmentDefinitions","InvariantError","addTypenameToDocument","invariant","getFragmentFromSelection","mergeDeepArray","getOperationDefinition","getTypenameFromResult","hasDirectives","cloneDeep","Slot","argumentsObjectFromField","storeKeyNameFromField","getStoreKeyName"],"mappings":"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"}
|