@urql/exchange-graphcache
Version:
A normalized and configurable cache exchange for urql
1 lines • 54.7 kB
Source Map (JSON)
{"version":3,"file":"urql-exchange-graphcache.mjs","sources":["../src/helpers/help.ts","../src/ast/node.ts","../src/ast/variables.ts","../src/ast/traversal.ts","../src/ast/schemaPredicates.ts","../src/store/keys.ts","../src/store/data.ts","../src/operations/shared.ts","../src/operations/query.ts","../src/operations/invalidate.ts","../src/operations/write.ts","../src/store/store.ts","../src/ast/schema.ts","../src/helpers/operation.ts","../src/cacheExchange.ts","../src/offlineExchange.ts"],"sourcesContent":null,"names":["helpUrl","cache","Set","currentDebugStack","popDebugNode","pop","pushDebugNode","typename","node","identifier","kind","Kind","INLINE_FRAGMENT","OPERATION_DEFINITION","name","value","operation","FRAGMENT_DEFINITION","push","getDebugOutput","length","join","invariant","condition","message","code","errorMessage","process","env","NODE_ENV","error","Error","warn","logger","has","console","add","EMPTY_DIRECTIVES","getDirectives","_directives","getName","getFragmentTypeName","typeCondition","getFieldAlias","alias","emptySelectionSet","getSelectionSet","selectionSet","selections","getTypeCondition","getFieldArguments","vars","args","arguments","i","l","arg","valueFromASTUntyped","filterVariables","input","variableDefinitions","variable","normalizeVariables","def","undefined","defaultValue","key","getMainOperation","doc","definitions","getFragments","fragments","shouldInclude","directives","include","skip","directive","isDeferred","defer","argument","isOptional","optional","required","BUILTIN_NAME","isFieldNullable","schema","fieldName","field","getField","type","isListNullable","ofType","isFieldAvailableOnType","indexOf","isInterfaceOfType","types","get","expectAbstractType","expectObjectType","isSubType","fields","warnAboutResolver","warnAboutAbstractResolver","keyOfField","stringifyVariables","joinKeys","parentKey","fieldInfoOfKey","fieldKey","parenIndex","slice","JSON","parse","deserializeKeyInfo","dotIndex","entityKey","replace","currentOwnership","currentDataMapping","currentData","currentOptimisticKey","currentOperation","currentDependencies","currentForeignData","currentOptimistic","makeData","data","isArray","newData","set","ownsData","initDataState","operationType","layerKey","isOptimistic","isForeignData","WeakSet","WeakMap","hydrating","optimisticOrder","commutativeKeys","reserveLayer","splice","delete","createLayer","deleteLayer","clearDataState","getCurrentDependencies","dirtyKeys","squashLayer","storage","setTimeout","gc","persistData","noopDataState","deferredKeys","DEFAULT_EMPTY_SET","setNode","map","keymap","optimistic","base","entity","Object","create","getNode","getRefCount","refCount","updateRCForLink","link","by","Array","updateRCForEntity","count","newCount","extractNodeFields","fieldInfos","seenFieldKeys","extractNodeMapFields","keys","record","records","__typename","linkNode","links","updateDependencies","queryRootKey","updatePersist","persist","serializeKeys","readRecord","readLink","writeConcreteType","abstractType","concreteType","existingTypes","abstractToConcreteMap","typeSet","writeRecord","isEqualLinkOrScalar","hasField","writeLink","entityLinks","hasNext","index","clearLayer","unshift","Map","previousDependencies","entry","entries","keyMap","inspectFields","x","writeData","clear","a","b","some","el","contextRef","deferRef","optionalRef","getFieldError","ctx","__internal","path","errorMap","makeContext","store","variables","parent","parentTypeName","parentFieldKey","partial","graphQLErrors","graphQLError","updateContext","isFragmentHeuristicallyMatching","FIELD","SelectionIterator","constructor","_defer","_optional","this","stack","next","state","select","fragment","isMatching","isFragmentMatching","isFragmentOptional","_generated","isProbableAbstractType","isSeenConcreteType","getConcreteTypes","size","ensureData","ensureLink","ref","keyOfEntity","_query","request","query","formatDocument","rootKey","rootFields","rootSelect","readRoot","InMemoryData","readSelection","dependencies","rootNames","selection","hasChanged","output","fieldAlias","fieldValue","dataFieldValue","readRootField","originalData","getFieldResolver","resolvers","fieldResolver","directiveResolver","directiveNode","result","isQuery","mutation","subscription","hasFields","hasPartials","fieldArgs","resolver","resultValue","resolveResolverResult","resolveLink","stringify","prevData","isOwnedData","_isListNullable","childResult","isDataOrKey","newLink","childLink","invalidateEntity","invalidateType","excludedEntities","includes","_write","writeSelection","rootField","isRoot","writeType","updates","optimisticMutations","writeField","updater","resolved","KEYLESS_TYPE_RE","prevLink","indexKey","test","childKey","Store","opts","globalIDs","queryName","mutationName","subscriptionName","buildClientSchema","__schema","typemap","buildNameMap","arr","buildType","interfaces","possibleTypes","queryType","mutationType","subscriptionType","abstract","possible","possibleType","out","expectValidKeyingConfig","expectValidUpdatesConfig","addition","expectValidResolversConfig","validQueries","resolverQuery","Query","validTypeProperties","resolverProperty","expectValidOptimisticMutationsConfig","validMutations","id","_id","resolve","fieldLink","invalidate","updateQuery","createRequest","readQuery","readFragment","fragmentName","_queryFragment","writeFragment","_writeFragment","dataToWrite","rest","addMetadata","meta","makeOperation","context","toRequestPolicy","requestPolicy","cacheExchange","forward","client","dispatchDebug","readData","then","hydrateData","onCacheHydrated","optimisticKeysToDependencies","mutationResultBuffer","operations","results","blockedDependencies","requestedRefetch","deps","reexecutingOperations","dependentOperations","isBlockedByOptimisticUpdate","dep","values","collectPendingOperations","pendingOperations","executePendingOperations","op","policy","reexecuteOperation","_reexecutingOperations","prepareForwardedOperation","depOps","operationResultFromCache","cacheOutcome","outcome","updateCacheWithResult","queryDependencies","writeDependencies","queryResult","extensions","stale","operations$","cacheOps$","share","filter","nonCacheOps$","cacheMissOps$","res","source","cacheResult$","shouldReexecute","hasLayer","result$","merge","nonOptimisticResults$","cacheResult","optimisticMutationCompletion$","mergeMap","empty","bufferedResult","shift","fromArray","policyLevel","offlineExchange","isOfflineError","networkError","response","navigator","onLine","onOnline","readMetadata","writeMetadata","outerForward","reboundOps$","makeSubject","failedQueue","hasRehydrated","isFlushingQueue","updateMetadata","requests","stringifyDocument","filterQueue","flushQueue","sent","overridePolicy","cacheResults$","hydrate","onEntries","mutations","createRequestOperation","ops$","opsAndRebound$","onPush"],"mappings":"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