@graphql-box/cache-manager 3.1.1 → 3.2.1

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.
Files changed (64) hide show
  1. package/lib/browser/index.js +1 -1
  2. package/lib/browser/index.js.map +1 -1
  3. package/lib/browser/production.analysis.txt +44 -56
  4. package/lib/main/debug/log-cache-entry/index.js +8 -3
  5. package/lib/main/debug/log-cache-entry/index.js.map +1 -1
  6. package/lib/main/debug/log-cache-query/index.js +8 -3
  7. package/lib/main/debug/log-cache-query/index.js.map +1 -1
  8. package/lib/main/helpers/createFragmentSpreadChecklist.js +10 -15
  9. package/lib/main/helpers/createFragmentSpreadChecklist.js.map +1 -1
  10. package/lib/main/helpers/filterField.js +1 -3
  11. package/lib/main/helpers/filterField.js.map +1 -1
  12. package/lib/main/helpers/filterFragmentDefinitions.js +3 -3
  13. package/lib/main/helpers/filterFragmentDefinitions.js.map +1 -1
  14. package/lib/main/helpers/filterOutPropsWithArgsOrDirectives.js +1 -3
  15. package/lib/main/helpers/filterOutPropsWithArgsOrDirectives.js.map +1 -1
  16. package/lib/main/helpers/filterQuery.js +2 -4
  17. package/lib/main/helpers/filterQuery.js.map +1 -1
  18. package/lib/main/main/index.js +25 -14
  19. package/lib/main/main/index.js.map +1 -1
  20. package/lib/module/debug/log-cache-entry/index.js +8 -3
  21. package/lib/module/debug/log-cache-entry/index.js.map +1 -1
  22. package/lib/module/debug/log-cache-query/index.js +8 -3
  23. package/lib/module/debug/log-cache-query/index.js.map +1 -1
  24. package/lib/module/helpers/createFragmentSpreadChecklist.js +10 -14
  25. package/lib/module/helpers/createFragmentSpreadChecklist.js.map +1 -1
  26. package/lib/module/helpers/filterField.js +1 -2
  27. package/lib/module/helpers/filterField.js.map +1 -1
  28. package/lib/module/helpers/filterFragmentDefinitions.js +4 -4
  29. package/lib/module/helpers/filterFragmentDefinitions.js.map +1 -1
  30. package/lib/module/helpers/filterOutPropsWithArgsOrDirectives.js +1 -2
  31. package/lib/module/helpers/filterOutPropsWithArgsOrDirectives.js.map +1 -1
  32. package/lib/module/helpers/filterQuery.js +2 -3
  33. package/lib/module/helpers/filterQuery.js.map +1 -1
  34. package/lib/module/main/index.js +22 -10
  35. package/lib/module/main/index.js.map +1 -1
  36. package/lib/types/debug/log-cache-entry/index.d.ts.map +1 -1
  37. package/lib/types/debug/log-cache-query/index.d.ts.map +1 -1
  38. package/lib/types/defs/index.d.ts +5 -17
  39. package/lib/types/defs/index.d.ts.map +1 -1
  40. package/lib/types/helpers/createFragmentSpreadChecklist.d.ts +2 -1
  41. package/lib/types/helpers/createFragmentSpreadChecklist.d.ts.map +1 -1
  42. package/lib/types/helpers/filterField.d.ts.map +1 -1
  43. package/lib/types/helpers/filterOutPropsWithArgsOrDirectives.d.ts +2 -1
  44. package/lib/types/helpers/filterOutPropsWithArgsOrDirectives.d.ts.map +1 -1
  45. package/lib/types/helpers/filterQuery.d.ts.map +1 -1
  46. package/lib/types/main/index.d.ts +6 -3
  47. package/lib/types/main/index.d.ts.map +1 -1
  48. package/package.json +1 -1
  49. package/src/debug/log-cache-entry/index.ts +8 -3
  50. package/src/debug/log-cache-query/index.ts +8 -3
  51. package/src/defs/index.ts +10 -18
  52. package/src/helpers/createFragmentSpreadChecklist.ts +3 -3
  53. package/src/helpers/filterField.ts +8 -2
  54. package/src/helpers/filterFragmentDefinitions.ts +2 -2
  55. package/src/helpers/filterOutPropsWithArgsOrDirectives.ts +2 -3
  56. package/src/helpers/filterQuery.ts +7 -3
  57. package/src/main/index.ts +30 -14
  58. package/lib/main/helpers/buildKeysAndPaths.js +0 -73
  59. package/lib/main/helpers/buildKeysAndPaths.js.map +0 -1
  60. package/lib/module/helpers/buildKeysAndPaths.js +0 -54
  61. package/lib/module/helpers/buildKeysAndPaths.js.map +0 -1
  62. package/lib/types/helpers/buildKeysAndPaths.d.ts +0 -10
  63. package/lib/types/helpers/buildKeysAndPaths.d.ts.map +0 -1
  64. package/src/helpers/buildKeysAndPaths.ts +0 -71
@@ -1,2 +1,2 @@
1
- import"core-js/modules/es.object.keys.js";import"core-js/modules/es.symbol.js";import"core-js/modules/es.object.get-own-property-descriptors.js";import e from"@babel/runtime/helpers/toConsumableArray";import t from"@babel/runtime/helpers/objectWithoutProperties";import a from"@babel/runtime/helpers/asyncToGenerator";import r from"@babel/runtime/helpers/classCallCheck";import n from"@babel/runtime/helpers/createClass";import i from"@babel/runtime/helpers/defineProperty";import s from"@babel/runtime/helpers/applyDecoratedDescriptor";import c from"lodash/unset";import o from"lodash/set";import u from"lodash/isUndefined";import h from"lodash/isPlainObject";import p from"lodash/isObjectLike";import l from"lodash/isArray";import d from"lodash/get";import f from"lodash/cloneDeep";import y from"lodash/assign";import m from"@babel/runtime/regenerator";import"core-js/modules/es.array.iterator.js";import"core-js/modules/es.map.js";import"core-js/modules/es.object.to-string.js";import"core-js/modules/es.string.iterator.js";import"core-js/modules/web.dom-collections.iterator.js";import"core-js/modules/es.promise.js";import"core-js/modules/web.dom-collections.for-each.js";import"core-js/modules/es.array.concat.js";import"core-js/modules/es.array.map.js";import"core-js/modules/es.array.filter.js";import"core-js/modules/es.object.get-own-property-descriptor.js";import{TYPE_NAME_KEY as v,QUERY_RESPONSES as g,QUERY as b,DATA_ENTITIES as _,REQUEST_FIELD_PATHS as D}from"@graphql-box/core";import{hashRequest as C,getName as k,getAlias as x,getArguments as w,resolveFragments as P,getFragmentDefinitions as j,deleteFragmentSpreads as F,getChildFields as O,deleteChildFields as q,getInlineFragments as E,deleteInlineFragments as N,FRAGMENT_SPREAD as M,hasChildFields as R,deleteFragmentDefinitions as K,getOperationDefinitions as T,rehydrateCacheMetadata as I,iterateChildFields as A,mergeObjects as Q,dehydrateCacheMetadata as S}from"@graphql-box/helpers";import z from"cacheability";import{print as U}from"graphql";import L from"lodash/isNumber";import"core-js/modules/es.array.join.js";import H from"@babel/runtime/helpers/toArray";import V from"lodash/isEmpty";import"core-js/modules/es.object.values.js";import"core-js/modules/es.array.slice.js";import G from"lodash/keys";import"core-js/modules/es.array.find.js";import"core-js/modules/es.regexp.exec.js";import"core-js/modules/es.string.match.js";import"core-js/modules/es.regexp.constructor.js";import"core-js/modules/es.regexp.to-string.js";import"core-js/modules/es.function.name.js";import J from"lodash/merge";var W="cache_entry_added",B="cache_entry_queried",X="partial_query_compiled";var Y=function(e,t){var a=[];return e.length&&a.push(e),a.push(t),a.join(".")},Z=function(e,t,a){var r=k(e),n=t.index,i=t.requestFieldCacheKey,s=void 0===i?"":i,c=t.requestFieldPath,o=void 0===c?"":c,u=t.responseDataPath,h=void 0===u?"":u,p=x(e)||r,l=L(n)?o:Y(o,p),d=a.fieldTypeMap.get(l),f=function(e,t,a,r,n){var i,s,c="".concat(L(n)?n:e);return a&&(c="".concat(c,"(").concat(JSON.stringify(a),")")),null!=r&&null!==(i=r.inherited)&&void 0!==i&&i.length&&(c="".concat(r.inherited.join(" ")," ").concat(c)),null!=r&&null!==(s=r.own)&&void 0!==s&&s.length&&(c="".concat(c," ").concat(r.own.join(" "))),Y(t,c)}(r,s,w(e),null==d?void 0:d.directives,n),y=L(n)?n:p,m=Y(h,y);return{hashedRequestFieldCacheKey:C(f),propNameOrIndex:y,requestFieldCacheKey:f,requestFieldPath:l,responseDataPath:m}},$=function(e,t,a,r){var n=P(t,r.fragmentDefinitions);return G(e).reduce((function(t,i){var s=n.find((function(e){var t=e.fieldNode;return k(t)===i}));if(s){var c=Z(s.fieldNode,a,r).requestFieldPath,o=r.fieldTypeMap.get(c);null!=o&&o.hasArguments||null!=o&&o.hasDirectives||(t[i]=e[i])}return t}),{})},ee=function(e,t){if(!e||!e.length)return{hasData:!1,typeUnused:!!t};if(1===e.length){var a=e[0],r=a.hasData,n=a.typeName;return{hasData:r,typeUnused:n?n!==t:void 0}}return{hasData:e.some((function(e){var a=e.hasData;return e.typeName===t&&a})),typeUnused:!e.every((function(e){return e.typeName===t}))}},te=function e(t,a,r,n,i){var s=i.fragmentDefinitions,c=i.typeIDKey,o=O(t,{fragmentDefinitions:s});if(!o)return!1;for(var u={},h=o.length-1;h>=0;h-=1){var p,l,d=o[h],f=d.fieldNode,y=d.fragmentKind,m=d.fragmentName,g=d.typeName;if(y===M&&m&&!u[m])u[m]={hasData:0,total:null!=s&&s[m]&&null!==(p=null===(l=O(null==s?void 0:s[m],{fragmentDefinitions:s}))||void 0===l?void 0:l.length)&&void 0!==p?p:0};var b=k(f);if(b!==c&&b!==v){var _=Z(f,{requestFieldPath:n},i).requestFieldPath,D=ee(a.get(_),g),C=D.hasData,x=D.typeUnused;(C||x)&&(y===M?u[m].hasData+=1:R(f,{fragmentDefinitions:s})?e(f,a,r,_,i)&&q(t,f):q(t,f))}}return function(e,t,a,r){V(t)||G(t).forEach((function(n){a[n].paths.push(r);var i=t[n];i.hasData===i.total&&(F(e,n),a[n].deleted+=1)}))}(t,u,r,n),function(e,t){var a=t.fragmentDefinitions,r=t.typeIDKey,n=E(e),i=!1;n.forEach((function(t){var n=O(t,{fragmentDefinitions:a});if(!n||!n.length)return N(e,t),void(i=!0);if(1===n.length){var s=n[0].fieldNode;k(s)===r&&(N(e,t),i=!0)}}))}(t,i),function(e,t){var a=t.fragmentDefinitions,r=t.typeIDKey,n=O(e,{fragmentDefinitions:a});if(!n||n.length>3)return!1;var i=n.map((function(e){var t=e.fieldNode;return k(t)}));if(2===i.length&&i.every((function(e){return e===r||e===v})))return q(e,n.map((function(e){return e.fieldNode}))),!0;if(1===i.length&&i[0]===r||i[0]===v){var s=n[0].fieldNode;return q(e,s),!0}}(t,i),!R(t,{fragmentDefinitions:s})},ae=function(t,a,r){var n=a.fieldPathChecklist,i=t.ast,s=T(i,r.operation)[0],c=r.fragmentDefinitions,o=O(s,{fragmentDefinitions:c});if(!o)return i;for(var u=function(e){var t,a=e.ast,r=e.request;return G(null!==(t=j(a))&&void 0!==t?t:{}).reduce((function(e,t){return e[t]={deleted:0,paths:[],total:(r.match(new RegExp("\\.\\.\\.".concat(t),"g"))||[]).length},e}),{})}(t),h=o.length-1;h>=0;h-=1){var p=o[h].fieldNode,l=Z(p,{requestFieldPath:r.operation},r).requestFieldPath;te(p,n,u,l,r)&&q(s,p)}return r.queryFiltered=!0,function(t,a,r,n){var i,s=G(r).reduce((function(t,a){var n=r[a],i=n.deleted,s=n.total;return 0===i&&1===s?[].concat(e(t),[{name:a,path:r[a].paths[0]}]):t}),[]),c=null!==(i=j(t))&&void 0!==i?i:{};s.forEach((function(e){var t=e.name,i=e.path,s=c[t];te(s,a,r,i,n)}));var o=G(r).reduce((function(t,a){var n=r[a],i=n.deleted,s=n.total;return i>0&&i===s?[].concat(e(t),[a]):t}),[]);return o.length?K(t,{include:o}):t}(i,n,u,r)},re=function(e,t){return t.hasDeferOrStream&&!e.hasNext&&e.paths},ne=function(e,t){return t.hasDeferOrStream&&e.hasNext},ie=function(e,t){return!t.hasDeferOrStream&&!e.hasNext&&!e.paths};function se(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function ce(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?se(Object(a),!0).forEach((function(t){i(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):se(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function oe(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function ue(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?oe(Object(a),!0).forEach((function(t){i(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):oe(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}var he,pe,le,de,fe=function(e,a){if(!a.normalizePatchResponseData)return e;var r=e.data,n=e.paths;return ue(ue({},t(e,["data","paths"])),{},{data:o({},n[0],r),paths:n})},ye=function(e,t,a){var r=t.typeIDValue,n=h(e)?e[a]:void 0;return r||n};function me(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function ve(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?me(Object(a),!0).forEach((function(t){i(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):me(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}var ge=(he=function(e,r,n){var i,s=n.value;s&&(n.value=(i=a(m.mark((function e(){var r,n,i,c=this,o=arguments;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(r=o.length,n=new Array(r),i=0;i<r;i++)n[i]=o[i];return e.prev=1,e.abrupt("return",new Promise(function(){var e=a(m.mark((function e(a){var r,i,o,u,h,p,l;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n[3],i=r.debugManager,o=t(r,["debugManager"]),i){e.next=8;break}return e.t0=a,e.next=5,s.apply(c,n);case 5:return e.t1=e.sent,(0,e.t0)(e.t1),e.abrupt("return");case 8:return u=i.now(),e.next=11,s.apply(c,n);case 11:h=e.sent,p=i.now(),l=p-u,a(h),i.emit("cache_entry_queried",{cacheType:n[0],context:o,hash:n[1],options:n[2],result:h,stats:{duration:l,endTime:p,startTime:u}});case 16:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 5:return e.prev=5,e.t0=e.catch(1),e.abrupt("return",Promise.reject(e.t0));case 8:case"end":return e.stop()}}),e,null,[[1,5]])}))),function(){return i.apply(this,arguments)}))},pe=function(e,r,n){var i,s=n.value;s&&(n.value=(i=a(m.mark((function e(){var r,n,i,c=this,o=arguments;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(r=o.length,n=new Array(r),i=0;i<r;i++)n[i]=o[i];return e.abrupt("return",new Promise(function(){var e=a(m.mark((function e(a){var r,i,o,u,h,p;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n[5],i=r.debugManager,o=t(r,["debugManager"]),i){e.next=6;break}return e.next=4,s.apply(c,n);case 4:return a(),e.abrupt("return");case 6:return u=i.now(),e.next=9,s.apply(c,n);case 9:h=i.now(),p=h-u,a(),i.emit("cache_entry_added",{cachemapOptions:n[3],cacheType:n[0],context:o,hash:n[1],options:n[4],stats:{duration:p,endTime:h,startTime:u},value:n[2]});case 13:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 2:case"end":return e.stop()}}),e)}))),function(){return i.apply(this,arguments)}))},le=function(e,r,n){var i,s=n.value;s&&(n.value=(i=a(m.mark((function e(){var r,n,i,c=this,o=arguments;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(r=o.length,n=new Array(r),i=0;i<r;i++)n[i]=o[i];return e.abrupt("return",new Promise(function(){var e=a(m.mark((function e(a){var r,i,o,u,h,p;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n[3],i=r.debugManager,o=t(r,["debugManager"]),i){e.next=6;break}return e.next=4,s.apply(c,n);case 4:return a(),e.abrupt("return");case 6:return u=i.now(),e.next=9,s.apply(c,n);case 9:h=i.now(),p=h-u,a(),i.emit("partial_query_compiled",{context:o,hash:n[0],options:n[2],partialQueryResponse:n[1],stats:{duration:p,endTime:h,startTime:u}});case 13:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 2:case"end":return e.stop()}}),e)}))),function(){return i.apply(this,arguments)}))},s((de=function(){function s(e){r(this,s),i(this,"_cache",void 0),i(this,"_cascadeCacheControl",void 0),i(this,"_fallbackOperationCacheability",void 0),i(this,"_partialQueryResponses",new Map),i(this,"_responseChunksAwaitingCaching",new Map),i(this,"_typeCacheDirectives",void 0),i(this,"_typeIDKey",void 0);var t=[];if(e.cache||t.push(new TypeError("@graphql-box/cache-manager expected options.cache.")),e.typeCacheDirectives&&!h(e.typeCacheDirectives)){t.push(new TypeError("@graphql-box/cache-manager expected options.typeCacheDirectives to be a plain object."))}if(t.length)throw t;this._cache=e.cache,this._cascadeCacheControl=e.cascadeCacheControl||!1,this._fallbackOperationCacheability=e.fallbackOperationCacheability||"noCache",this._typeCacheDirectives=e.typeCacheDirectives||{},this._typeIDKey=e.typeIDKey}var k,x,w,P,F,q,E,N,K,L,G,W,B,X,Y,ee,te,se,oe,ue,he,pe,le,de;return n(s,[{key:"cache",get:function(){return this._cache}},{key:"analyzeQuery",value:(de=a(m.mark((function e(a,r,n){var i,s,c,o,u,h,p,l,d,f,v;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=a.ast,s=a.hash,i){e.next=3;break}return e.abrupt("return",Promise.reject(new TypeError("@graphql-box/cache-manager expected an AST.")));case 3:return c=ve(ve({},n),{},{fragmentDefinitions:j(i),typeIDKey:this._typeIDKey}),e.next=6,this._retrieveCachedResponseData(a,r,c);case 6:if(o=e.sent,u=o.cacheMetadata,h=o.data,(p=o.fieldCount).missing!==p.total){e.next=10;break}return e.abrupt("return",{updated:a});case 10:if(p.missing){e.next=16;break}if(l=this._setQueryResponseCacheEntry(s,{cacheMetadata:u,data:h},r,c),!r.awaitDataCaching){e.next=15;break}return e.next=15,l;case 15:return e.abrupt("return",{response:{cacheMetadata:u,data:h}});case 16:return this._setPartialQueryResponse(s,{cacheMetadata:u,data:h},r,c),d=ae(a,o,c),c.fragmentDefinitions,c.typeIDKey,f=t(c,["fragmentDefinitions","typeIDKey"]),y(n,f),v=U(d),e.abrupt("return",{updated:{ast:d,hash:C(v),request:v}});case 22:case"end":return e.stop()}}),e,this)}))),function(e,t,a){return de.apply(this,arguments)})},{key:"cacheQuery",value:(le=a(m.mark((function e(t,a,r,n,i){var s;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=ve(ve({},i),{},{fragmentDefinitions:j(a.ast),typeIDKey:this._typeIDKey}),e.abrupt("return",this._cacheResponse(t,a,r,n,s));case 2:case"end":return e.stop()}}),e,this)}))),function(e,t,a,r,n){return le.apply(this,arguments)})},{key:"cacheResponse",value:(pe=a(m.mark((function e(t,a,r,n){var i;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=ve(ve({},n),{},{fragmentDefinitions:j(t.ast),typeIDKey:this._typeIDKey}),e.abrupt("return",this._cacheResponse(t,void 0,a,r,i));case 2:case"end":return e.stop()}}),e,this)}))),function(e,t,a,r){return pe.apply(this,arguments)})},{key:"checkCacheEntry",value:(he=a(m.mark((function e(t,a,r,n){return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this._checkCacheEntry(t,a,r,n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t,a,r){return he.apply(this,arguments)})},{key:"checkQueryResponseCacheEntry",value:(ue=a(m.mark((function e(t,a,r){var n,i,s,c;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._checkCacheEntry(g,t,a,r);case 2:if(n=e.sent){e.next=5;break}return e.abrupt("return",!1);case 5:return i=n.entry,s=i.cacheMetadata,c=i.data,e.abrupt("return",{cacheMetadata:I(s),data:c});case 7:case"end":return e.stop()}}),e,this)}))),function(e,t,a){return ue.apply(this,arguments)})},{key:"deletePartialQueryResponse",value:function(e){this._partialQueryResponses.delete(e)}},{key:"_analyzeFieldNode",value:(oe=a(m.mark((function e(t,a,r,n,i){return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!R(t,{fragmentDefinitions:i.fragmentDefinitions})){e.next=5;break}return e.next=3,this._analyzeParentFieldNode(t,a,r,n,i);case 3:e.next=7;break;case 5:return e.next=7,this._analyzeLeafFieldNode(t,a,r,n,i);case 7:case"end":return e.stop()}}),e,this)}))),function(e,t,a,r,n){return oe.apply(this,arguments)})},{key:"_analyzeLeafFieldNode",value:(se=a(m.mark((function e(t,a,r,n,i){var c,o,u,h,p,l,d,f,y,v,g,b,_,D,C;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c=Z(t,a,i),o=c.hashedRequestFieldCacheKey,u=c.propNameOrIndex,h=c.requestFieldPath,p=i.fieldTypeMap.get(h),l=a.entityData,d=a.fragmentKind,f=a.fragmentName,y=a.requestFieldPathData,v=a.typeName,g={dataTypeName:(null==l?void 0:l.__typename)||(null==y?void 0:y.__typename),fieldTypeName:v,fragmentKind:d,fragmentName:f},!s._isNodeRequestFieldPath(p)){e.next=14;break}return e.next=8,this._retrieveCachedRequestFieldPathData(o,n,i);case 8:b=e.sent,_=b.cacheability,D=b.entry,s._setCachedResponseData({cacheability:_,data:D},r,c,g,n,i),e.next=17;break;case 14:C=s._getFieldDataFromAncestor(l,u)||s._getFieldDataFromAncestor(y,u),s._setFieldPathChecklist(r.fieldPathChecklist,{data:C},h,g),s._setCachedData(r.data,{data:C},u);case 17:case"end":return e.stop()}}),e,this)}))),function(e,t,a,r,n){return se.apply(this,arguments)})},{key:"_analyzeParentFieldNode",value:(te=a(m.mark((function e(t,a,r,n,i){var c,o,u,h,l,f,y,g,b,_,D,C,k,x,w=this;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return c=Z(t,a,i),o=c.propNameOrIndex,u=c.requestFieldCacheKey,h=c.requestFieldPath,l=i.fieldTypeMap.get(h),e.next=5,this._retrieveCachedParentNodeData(a,c,l,n,i);case 5:if(f=e.sent,y=f.cacheability,g=f.data,b=f.entityData,_=f.requestFieldPathData,D=a.fragmentKind,C=a.fragmentName,k=a.typeName,s._setCachedResponseData({cacheability:y,data:g},r,c,{dataTypeName:d(g,v),fieldTypeName:k,fragmentKind:D,fragmentName:C},n,i),p(g)){e.next=14;break}return e.abrupt("return");case 14:return x=[],A(t,g,i.fragmentDefinitions,(function(e,t,a,s,c){x.push(w._analyzeFieldNode(e,{cacheability:y,entityData:b,fragmentKind:a,fragmentName:s,index:c,requestFieldCacheKey:u,requestFieldPath:h,requestFieldPathData:_,typeName:t},ve(ve({},r),{},{data:r.data[o]}),n,i))})),e.next=19,Promise.all(x);case 19:case"end":return e.stop()}}),e,this)}))),function(e,t,a,r,n){return te.apply(this,arguments)})},{key:"_buildCacheMetadata",value:function(e,a,r,n){var i=this,s=e.ast,c=a.data,o=t(a,["data"]),u=this._createCacheMetadata(ve({data:c},o),n),h=T(s,n.operation)[0],p=O(h);return p?(p.forEach((function(e){var t=e.fieldNode;return i._setFieldCacheability(t,{requestFieldPath:n.operation},{cacheMetadata:u,data:c},r,n)})),u):u}},{key:"_cacheResponse",value:(ee=a(m.mark((function e(t,a,r,n,i){var c,o,u,h,p,l,d,y,v,g,_;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c=fe(r,i),o=c,ne(r,i)&&(this._setResponseChunksAwaitingCaching(c,i),o=void 0),re(r,i)&&(o=this._retrieveResponseDataForCaching(c,i)),u=[],!o){e.next=15;break}if(h=o.data,p=this._buildCacheMetadata(t,o,n,i),u.push(this._setEntityAndRequestFieldPathCacheEntries(t,{cacheMetadata:p,entityData:f(h),requestFieldPathData:f(h)},n,i)),i.operation===b&&(i.queryFiltered&&a&&(u.push(this._setQueryResponseCacheEntry(a.hash,{cacheMetadata:p,data:h},n,i)),y=this._getPartialQueryResponse(t.hash)),l=s._mergeResponseCacheMetadata(p,y),d=this._mergeResponseData(h,y),u.push(this._setQueryResponseCacheEntry(t.hash,{cacheMetadata:l,data:d},n,i))),!n.awaitDataCaching){e.next=13;break}return e.next=13,Promise.all(u);case 13:if(!(ie(c,i)&&l&&d)){e.next=15;break}return e.abrupt("return",{cacheMetadata:l,data:d});case 15:return v=c.data,g=c.hasNext,_=c.paths,e.abrupt("return",{cacheMetadata:this._buildCacheMetadata(t,c,n,i),data:v,hasNext:g,paths:_});case 17:case"end":return e.stop()}}),e,this)}))),function(e,t,a,r,n){return ee.apply(this,arguments)})},{key:"_checkCacheEntry",value:(Y=a(m.mark((function e(t,a,r,n){var i,c;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this._hasCacheEntry(t,a);case 3:if((i=e.sent)&&s._isValid(i)){e.next=6;break}return e.abrupt("return",!1);case 6:return e.next=8,this._getCacheEntry(t,a,r,n);case 8:if(c=e.sent,!u(c)){e.next=11;break}return e.abrupt("return",!1);case 11:return e.abrupt("return",{cacheability:i,entry:c});case 14:return e.prev=14,e.t0=e.catch(0),e.abrupt("return",!1);case 17:case"end":return e.stop()}}),e,this,[[0,14]])}))),function(e,t,a,r){return Y.apply(this,arguments)})},{key:"_createCacheMetadata",value:function(e,t){var a=e._cacheMetadata,r=e.headers,n=t.operation,i=new Map,s=function(e){var t=e._cacheMetadata,a=e.fallback,r=e.headers;if(t&&!V(t)){var n=Object.values(t),i=H(n),s=i[0],c=i.slice(1);return new z({metadata:c.reduce((function(e,t){return t.ttl<e.ttl?t:e}),s)})}return r&&r.has("cache-control")?new z({headers:r}):new z({cacheControl:a})}({_cacheMetadata:a,fallback:this._fallbackOperationCacheability,headers:r});return i.set(n,s),a&&I(a,i),i}},{key:"_getCacheEntry",value:(X=a(m.mark((function e(t,a,r,n){return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this._cache.get("".concat(t,"::").concat(a));case 3:return e.abrupt("return",e.sent);case 6:return e.prev=6,e.t0=e.catch(0),e.abrupt("return",Promise.reject(e.t0));case 9:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(e,t,a,r){return X.apply(this,arguments)})},{key:"_getPartialQueryResponse",value:function(e){var t=this._partialQueryResponses.get(e);return this._partialQueryResponses.delete(e),t}},{key:"_hasCacheEntry",value:(B=a(m.mark((function e(t,a){return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this._cache.has("".concat(t,"::").concat(a));case 3:return e.abrupt("return",e.sent);case 6:return e.prev=6,e.t0=e.catch(0),e.abrupt("return",!1);case 9:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(e,t){return B.apply(this,arguments)})},{key:"_isFieldEntity",value:function(e,t){var a=t.isEntity,r=t.possibleTypes;return!!d(e,this._typeIDKey,null)&&(!!a||!!r.length&&r.some((function(t){return t.typeName===e.__typename})))}},{key:"_mergeObjects",value:function(e,t){var a=this;return Q(e,t,(function(e,t){return h(t)&&t[a._typeIDKey]?t[a._typeIDKey]:void 0}))}},{key:"_mergeResponseData",value:function(e,t){return t?this._mergeObjects(t.data,e):e}},{key:"_parseEntityAndRequestFieldPathCacheEntryData",value:(W=a(m.mark((function e(t,a,r,n,i){var s,c,o,u,h,l,f,y,v,g,b=this;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=r.cacheMetadata,c=r.entityData,o=r.requestFieldPathData,u=Z(t,a,i),h=u.requestFieldCacheKey,l=u.requestFieldPath,f=u.responseDataPath,y=d(o,f),v=i.fieldTypeMap.get(l),p(y)||null!=v&&v.hasDirectives){e.next=7;break}return e.abrupt("return");case 7:if(!p(y)){e.next=12;break}return g=[],A(t,y,i.fragmentDefinitions,(function(e,t,a,r,u){g.push(b._parseEntityAndRequestFieldPathCacheEntryData(e,{index:u,requestFieldCacheKey:h,requestFieldPath:l,responseDataPath:f},{cacheMetadata:s,entityData:c,requestFieldPathData:o},n,i))})),e.next=12,Promise.all(g);case 12:return e.next=14,this._setEntityAndRequestFieldPathCacheEntry(t,u,{cacheMetadata:s,entityData:c,requestFieldPathData:o},n,i);case 14:case"end":return e.stop()}}),e,this)}))),function(e,t,a,r,n){return W.apply(this,arguments)})},{key:"_retrieveCachedEntityData",value:(G=a(m.mark((function t(a,r,n,i){var s,c,o,u,h,p,l=this;return m.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return s=r.possibleTypes,c=r.typeName,o=[].concat(e(s.map((function(e){return e.typeName}))),[c]),t.next=4,Promise.all(o.map((function(e){return l._checkCacheEntry(_,"".concat(e,"::").concat(a),n,i)})));case 4:return u=t.sent,1===(h=u.filter((function(e){return!!e}))).length?p=h[0]:h.length>1&&(h.sort((function(e,t){var a=e.cacheability,r=t.cacheability;return a.metadata.ttl-r.metadata.ttl})),p={cacheability:h[0].cacheability,entry:h.reduce((function(e,t){var a=t.entry;return l._mergeObjects(e,a)}),{})}),t.abrupt("return",p||{});case 8:case"end":return t.stop()}}),t)}))),function(e,t,a,r){return G.apply(this,arguments)})},{key:"_retrieveCachedParentNodeData",value:(L=a(m.mark((function e(t,a,r,n,i){var c,o,h,p,l,d,f,y,v,g,b,_,D,C,k,x,w;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=t.entityData,h=t.requestFieldPathData,p=a.hashedRequestFieldCacheKey,l=a.propNameOrIndex,d=s._getFieldDataFromAncestor(o,l),f=s._getFieldDataFromAncestor(h,l),!s._isNodeRequestFieldPath(r)){e.next=12;break}return e.next=7,this._retrieveCachedRequestFieldPathData(p,n,i);case 7:v=e.sent,g=v.cacheability,(b=v.entry)&&(f=this._mergeObjects(f,b)),g&&(y=g);case 12:if(_=ye(f,r,this._typeIDKey),!s._isNodeEntity(r)||!_){e.next=21;break}return e.next=16,this._retrieveCachedEntityData(_,r,n,i);case 16:C=e.sent,k=C.cacheability,(x=C.entry)&&(d=this._mergeObjects(d,x)),k&&(!y||k.metadata.ttl>(null===(D=y)||void 0===D?void 0:D.metadata.ttl))&&(y=k);case 21:return w=u(f)&&u(d)?null!==(c=d)&&void 0!==c?c:f:this._mergeObjects(f,d),e.abrupt("return",{cacheability:y,data:w,entityData:d,requestFieldPathData:f});case 23:case"end":return e.stop()}}),e,this)}))),function(e,t,a,r,n){return L.apply(this,arguments)})},{key:"_retrieveCachedRequestFieldPathData",value:(K=a(m.mark((function e(t,a,r){return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this._checkCacheEntry(D,t,a,r)||{});case 1:case"end":return e.stop()}}),e,this)}))),function(e,t,a){return K.apply(this,arguments)})},{key:"_retrieveCachedResponseData",value:(N=a(m.mark((function e(t,a,r){var n,i,c,o,u=this;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.ast,i={cacheMetadata:new Map,data:{},fieldCount:{missing:0,total:0},fieldPathChecklist:new Map},c=T(n,r.operation)[0],o=O(c)){e.next=6;break}return e.abrupt("return",i);case 6:return e.next=8,Promise.all(o.map((function(e){var t=e.fieldNode;return u._analyzeFieldNode(t,{requestFieldPath:r.operation},i,a,r)})));case 8:return i.fieldCount=s._countFieldPathChecklist(i.fieldPathChecklist),e.abrupt("return",i);case 10:case"end":return e.stop()}}),e)}))),function(e,t,a){return N.apply(this,arguments)})},{key:"_retrieveResponseDataForCaching",value:function(t,a){var r,n=this._responseChunksAwaitingCaching.get(a.boxID);return this._responseChunksAwaitingCaching.delete(a.boxID),(r=[].concat(e(n),[t])).reduce((function(e,t,a){var n=t._cacheMetadata,i=t.data,s=t.hasNext,c=t.headers,o=t.paths;return n&&(e._cacheMetadata=e._cacheMetadata?ce(ce({},e._cacheMetadata),n):n),e.data=e.data?J(e.data,i):i,0===a&&(e.headers=c),a===r.length-1&&(e.hasNext=s),o&&(e.paths||(e.paths=[]),e.paths.push(o[0])),e}),{data:{}})}},{key:"_setCacheEntry",value:(E=a(m.mark((function e(t,a,r,n,i,s){return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this._cache.set("".concat(t,"::").concat(a),f(r),n);case 3:e.next=7;break;case 5:e.prev=5,e.t0=e.catch(0);case 7:case"end":return e.stop()}}),e,this,[[0,5]])}))),function(e,t,a,r,n,i){return E.apply(this,arguments)})},{key:"_setEntityAndRequestFieldPathCacheEntries",value:(q=a(m.mark((function e(t,a,r,n){var i,s,c=this;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=T(t.ast,n.operation)[0],s=O(i)){e.next=4;break}return e.abrupt("return");case 4:return e.next=6,Promise.all(s.map((function(e){var t=e.fieldNode;return c._parseEntityAndRequestFieldPathCacheEntryData(t,{requestFieldPath:n.operation},a,r,n)})));case 6:case"end":return e.stop()}}),e)}))),function(e,t,a,r){return q.apply(this,arguments)})},{key:"_setEntityAndRequestFieldPathCacheEntry",value:(F=a(m.mark((function e(t,a,r,n,i){var s,o,h,p,l,f,y,v,g,b;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=r.cacheMetadata,o=r.entityData,h=r.requestFieldPathData,p=a.requestFieldPath,l=a.responseDataPath,f=d(o,l),y=i.fieldTypeMap.get(p),v=s.get(p),!u(f)&&y&&v){e.next=7;break}return e.abrupt("return");case 7:return(g=[]).push(this._setRequestFieldPathCacheEntry(t,a,{cacheability:v,data:h,fieldTypeInfo:y},n,i)),!(b=this._isFieldEntity(f,y))&&y.hasArguments&&c(o,l),b&&g.push(this._setEntityCacheEntry(a,{cacheability:v,data:o,fieldTypeInfo:y},n,i)),e.next=14,Promise.all(g);case 14:case"end":return e.stop()}}),e,this)}))),function(e,t,a,r,n){return F.apply(this,arguments)})},{key:"_setEntityCacheEntry",value:(P=a(m.mark((function e(t,a,r,n){var i,s,c,u,h,p,l,f;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=t.responseDataPath,s=a.cacheability,c=a.data,u=a.fieldTypeInfo,h=d(c,i),p=u.isEntity?u.typeName:h.__typename,l="".concat(p,"::").concat(h[this._typeIDKey]),e.next=7,this._checkCacheEntry(_,l,r,n);case 7:return(f=e.sent)&&(h=this._mergeObjects(f.entry,h)),e.next=11,this._setCacheEntry(_,l,h,{cacheHeaders:{cacheControl:s.printCacheControl()},tag:r.tag},r,n);case 11:o(c,i,{__cacheKey:"".concat(_,"::").concat(l)});case 12:case"end":return e.stop()}}),e,this)}))),function(e,t,a,r){return P.apply(this,arguments)})},{key:"_setFieldCacheability",value:function(e,t,a,r,n){var i=this,s=a.cacheMetadata,c=a.data,o=t.requestFieldPath,u=Z(e,t,n),h=u.requestFieldPath,l=u.responseDataPath,f=d(c,l),y=n.fieldTypeMap.get(h);(p(f)||null!=y&&y.hasDirectives)&&(this._setFieldTypeCacheDirective(s,{ancestorRequestFieldPath:o,requestFieldPath:h},n),p(f)&&A(e,f,n.fragmentDefinitions,(function(e,t,a,o,u){i._setFieldCacheability(e,{index:u,requestFieldPath:h,responseDataPath:l},{cacheMetadata:s,data:c},r,n)})))}},{key:"_setFieldTypeCacheDirective",value:function(e,t,a){var r=t.ancestorRequestFieldPath,n=t.requestFieldPath,i=a.fieldTypeMap,c=a.operation;if(!e.has(n)){var o=i.get(n);if(o&&this._typeCacheDirectives[o.typeName]){var u=new z({cacheControl:this._typeCacheDirectives[o.typeName]});s._setCacheMetadata(e,u,n,c)}else this._cascadeCacheControl&&r&&s._setCacheMetadata(e,e.get(r),n,c)}}},{key:"_setPartialQueryResponse",value:(w=a(m.mark((function e(t,a,r,n){return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this._partialQueryResponses.set(t,a);case 1:case"end":return e.stop()}}),e,this)}))),function(e,t,a,r){return w.apply(this,arguments)})},{key:"_setQueryResponseCacheEntry",value:(x=a(m.mark((function e(t,a,r,n){var i,c,o,u;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=a.cacheMetadata,c=a.data,o=S(i),u=s._getOperationCacheControl(i,n.operation),e.next=5,this._setCacheEntry(g,t,{cacheMetadata:o,data:c},{cacheHeaders:{cacheControl:u},tag:r.tag},r,n);case 5:case"end":return e.stop()}}),e,this)}))),function(e,t,a,r){return x.apply(this,arguments)})},{key:"_setRequestFieldPathCacheEntry",value:(k=a(m.mark((function e(t,a,r,n,i){var s,u,l,f,y,v,g,_,C,k;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=r.cacheability,u=r.data,l=r.fieldTypeInfo,f=a.hashedRequestFieldCacheKey,y=a.responseDataPath,v=d(u,y),g=this._isFieldEntity(v,l),_=l.hasArguments||l.hasDirectives,i.operation!==b||!g&&!_){e.next=14;break}return h(v)&&null!==(C=t.selectionSet)&&void 0!==C&&C.selections&&(v=$(v,t.selectionSet.selections,a,i)),e.next=9,this._checkCacheEntry(D,f,n,i);case 9:return(k=e.sent)&&p(v)&&(v=this._mergeObjects(k.entry,v)),e.next=13,this._setCacheEntry(D,f,v,{cacheHeaders:{cacheControl:s.printCacheControl()},tag:n.tag},n,i);case 13:R(t,{fragmentDefinitions:i.fragmentDefinitions})&&(g?o(u,y,{__cacheKey:"".concat(D,"::").concat(f)}):c(u,y));case 14:case"end":return e.stop()}}),e,this)}))),function(e,t,a,r,n){return k.apply(this,arguments)})},{key:"_setResponseChunksAwaitingCaching",value:function(t,a){var r=this._responseChunksAwaitingCaching.get(a.boxID);r?this._responseChunksAwaitingCaching.set(a.boxID,[].concat(e(r),[t])):this._responseChunksAwaitingCaching.set(a.boxID,[t])}}],[{key:"_countFieldPathChecklist",value:function(e){var t={missing:0,total:0};return e.forEach((function(e){t.total+=e.length;var a=e.filter((function(e){return!e.hasData}));t.missing+=a.length})),t}},{key:"_getFieldDataFromAncestor",value:function(e,t){return p(e)?f(e[t]):void 0}},{key:"_getOperationCacheControl",value:function(e,t){if(!e)return"no-cache";var a=e.get(t);return a?a.printCacheControl():"no-cache"}},{key:"_isNodeEntity",value:function(e){if(!e)return!1;var t=e.isEntity,a=e.possibleTypes;return t||a.some((function(e){return!!e.isEntity}))}},{key:"_isNodeRequestFieldPath",value:function(e){return!!e&&(this._isNodeEntity(e)||e.hasArguments||e.hasDirectives)}},{key:"_isValid",value:function(e){return!d(e,["metadata","cacheControl","noCache"],!1)&&e.checkTTL()}},{key:"_mergeResponseCacheMetadata",value:function(t,a){return a?new Map([].concat(e(a.cacheMetadata),e(t))):t}},{key:"_setCachedData",value:function(e,t,a){var r=t.data;if(p(r)||u(r)){if(p(r)){var n=r;e[a]=l(n)?[]:{}}}else e[a]=r}},{key:"_setCachedResponseData",value:function(e,t,a,r,n,i){var c=t.cacheMetadata,o=t.data,u=t.fieldPathChecklist,h=a.propNameOrIndex,p=a.requestFieldPath,l=i.operation;s._setCacheMetadata(c,e.cacheability,p,l),s._setFieldPathChecklist(u,e,p,r),s._setCachedData(o,e,h)}},{key:"_setCacheMetadata",value:function(e,t,a,r){if(t){e.set(a,t);var n=e.get(r);(!n||n.metadata.ttl>t.metadata.ttl)&&e.set(r,t)}}},{key:"_setFieldPathChecklist",value:function(t,a,r,n){var i=a.data,s=n.dataTypeName,c=n.fieldTypeName,o=n.fragmentKind,h=n.fragmentName;if(u(c)||o===M){if(t.has(r))return;t.set(r,[{fragmentKind:o,fragmentName:h,hasData:!u(i)}])}else if(s===c){var p=t.get(r),l=p||[];l.some((function(e){return e.typeName===s}))||t.set(r,[].concat(e(l),[{fragmentKind:o,fragmentName:h,hasData:!u(i),typeName:s}]))}}}]),s}()).prototype,"_getCacheEntry",[he],Object.getOwnPropertyDescriptor(de.prototype,"_getCacheEntry"),de.prototype),s(de.prototype,"_setCacheEntry",[pe],Object.getOwnPropertyDescriptor(de.prototype,"_setCacheEntry"),de.prototype),s(de.prototype,"_setPartialQueryResponse",[le],Object.getOwnPropertyDescriptor(de.prototype,"_setPartialQueryResponse"),de.prototype),de);export default function(e){if(!h(e))throw new TypeError("@graphql-box/cache-manager expected userOptions to be a plain object.");return function(t){return new ge(ve(ve({},t),e))}}export{W as CACHE_ENTRY_ADDED,B as CACHE_ENTRY_QUERIED,ge as CacheManager,X as PARTIAL_QUERY_COMPILED};
1
+ import"core-js/modules/es.object.keys.js";import"core-js/modules/es.symbol.js";import"core-js/modules/es.object.get-own-property-descriptors.js";import e from"@babel/runtime/helpers/toConsumableArray";import t from"@babel/runtime/helpers/objectWithoutProperties";import a from"@babel/runtime/helpers/asyncToGenerator";import r from"@babel/runtime/helpers/classCallCheck";import n from"@babel/runtime/helpers/createClass";import i from"@babel/runtime/helpers/defineProperty";import s from"@babel/runtime/helpers/applyDecoratedDescriptor";import c from"lodash/unset";import o from"lodash/set";import u from"lodash/isUndefined";import h from"lodash/isPlainObject";import p from"lodash/isObjectLike";import l from"lodash/isArray";import f from"lodash/get";import d from"lodash/cloneDeep";import y from"lodash/assign";import m from"@babel/runtime/regenerator";import"core-js/modules/es.array.iterator.js";import"core-js/modules/es.map.js";import"core-js/modules/es.object.to-string.js";import"core-js/modules/es.string.iterator.js";import"core-js/modules/web.dom-collections.iterator.js";import"core-js/modules/es.promise.js";import"core-js/modules/web.dom-collections.for-each.js";import"core-js/modules/es.array.concat.js";import"core-js/modules/es.array.map.js";import"core-js/modules/es.array.filter.js";import"core-js/modules/es.object.get-own-property-descriptor.js";import{TYPE_NAME_KEY as v,QUERY_RESPONSES as b,QUERY as g,DATA_ENTITIES as _,REQUEST_FIELD_PATHS as D}from"@graphql-box/core";import{resolveFragments as C,getName as k,buildFieldKeysAndPaths as w,deleteFragmentSpreads as P,getChildFields as x,deleteChildFields as j,getInlineFragments as O,deleteInlineFragments as F,FRAGMENT_SPREAD as E,hasChildFields as q,deleteFragmentDefinitions as N,getOperationDefinitions as M,hashRequest as R,getFragmentDefinitions as K,rehydrateCacheMetadata as T,iterateChildFields as I,mergeObjects as A,dehydrateCacheMetadata as Q}from"@graphql-box/helpers";import S from"cacheability";import{print as z}from"graphql";import U from"@babel/runtime/helpers/toArray";import L from"lodash/isEmpty";import"core-js/modules/es.object.values.js";import"core-js/modules/es.array.slice.js";import H from"lodash/keys";import"core-js/modules/es.array.find.js";import"core-js/modules/es.regexp.exec.js";import"core-js/modules/es.string.match.js";import"core-js/modules/es.regexp.constructor.js";import"core-js/modules/es.regexp.to-string.js";import"core-js/modules/es.function.name.js";import V from"lodash/merge";var G="cache_entry_added",W="cache_entry_queried",B="partial_query_compiled";function J(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function X(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?J(Object(a),!0).forEach((function(t){i(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):J(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function Y(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function Z(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?Y(Object(a),!0).forEach((function(t){i(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):Y(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}var $=function(e,t,a,r){var n=C(t,r.fragmentDefinitions);return H(e).reduce((function(t,i){var s=n.find((function(e){var t=e.fieldNode;return k(t)===i}));if(s){var c=w(s.fieldNode,a,r).requestFieldPath,o=r.fieldTypeMap.get(c);null!=o&&o.hasArguments||null!=o&&o.hasDirectives||(t[i]=e[i])}return t}),{})},ee=function(e,t){if(!e||!e.length)return{hasData:!1,typeUnused:!!t};if(1===e.length){var a=e[0],r=a.hasData,n=a.typeName;return{hasData:r,typeUnused:n?n!==t:void 0}}return{hasData:e.some((function(e){var a=e.hasData;return e.typeName===t&&a})),typeUnused:!e.every((function(e){return e.typeName===t}))}},te=function e(t,a,r,n,i){var s=i.fragmentDefinitions,c=i.typeIDKey,o=x(t,{fragmentDefinitions:s});if(!o)return!1;for(var u={},h=o.length-1;h>=0;h-=1){var p,l,f=o[h],d=f.fieldNode,y=f.fragmentKind,m=f.fragmentName,b=f.typeName;if(y===E&&m&&!u[m])u[m]={hasData:0,total:null!=s&&s[m]&&null!==(p=null===(l=x(null==s?void 0:s[m],{fragmentDefinitions:s}))||void 0===l?void 0:l.length)&&void 0!==p?p:0};var g=k(d);if(g!==c&&g!==v){var _=w(d,{requestFieldPath:n},i).requestFieldPath,D=ee(a.get(_),b),C=D.hasData,N=D.typeUnused;(C||N)&&(y===E?u[m].hasData+=1:q(d,{fragmentDefinitions:s})?e(d,a,r,_,i)&&j(t,d):j(t,d))}}return function(e,t,a,r){L(t)||H(t).forEach((function(n){a[n].paths.push(r);var i=t[n];i.hasData===i.total&&(P(e,n),a[n].deleted+=1)}))}(t,u,r,n),function(e,t){var a=t.fragmentDefinitions,r=t.typeIDKey,n=O(e),i=!1;n.forEach((function(t){var n=x(t,{fragmentDefinitions:a});if(!n||!n.length)return F(e,t),void(i=!0);if(1===n.length){var s=n[0].fieldNode;k(s)===r&&(F(e,t),i=!0)}}))}(t,i),function(e,t){var a=t.fragmentDefinitions,r=t.typeIDKey,n=x(e,{fragmentDefinitions:a});if(!n||n.length>3)return!1;var i=n.map((function(e){var t=e.fieldNode;return k(t)}));if(2===i.length&&i.every((function(e){return e===r||e===v})))return j(e,n.map((function(e){return e.fieldNode}))),!0;if(1===i.length&&i[0]===r||i[0]===v){var s=n[0].fieldNode;return j(e,s),!0}}(t,i),!q(t,{fragmentDefinitions:s})},ae=function(t,a,r){var n=a.fieldPathChecklist,i=t.ast,s=M(i,r.operation)[0],c=r.fragmentDefinitions,o=x(s,{fragmentDefinitions:c});if(!o)return i;for(var u=function(e,t){var a=e.request,r=t.fragmentDefinitions;return H(null!=r?r:{}).reduce((function(e,t){return e[t]={deleted:0,paths:[],total:(a.match(new RegExp("\\.\\.\\.".concat(t),"g"))||[]).length},e}),{})}(t,r),h=o.length-1;h>=0;h-=1){var p=o[h].fieldNode,l=w(p,{requestFieldPath:r.operation},r).requestFieldPath;te(p,n,u,l,r)&&j(s,p)}return r.queryFiltered=!0,function(t,a,r,n){var i=H(r).reduce((function(t,a){var n=r[a],i=n.deleted,s=n.total;return 0===i&&1===s?[].concat(e(t),[{name:a,path:r[a].paths[0]}]):t}),[]),s=n.fragmentDefinitions,c=void 0===s?{}:s;i.forEach((function(e){var t=e.name,i=e.path,s=c[t];te(s,a,r,i,n)}));var o=H(r).reduce((function(t,a){var n=r[a],i=n.deleted,s=n.total;return i>0&&i===s?[].concat(e(t),[a]):t}),[]);return o.length?N(t,{include:o}):t}(i,n,u,r)},re=function(e,t){return t.hasDeferOrStream&&!e.hasNext&&e.paths},ne=function(e,t){return t.hasDeferOrStream&&e.hasNext},ie=function(e,t){return!t.hasDeferOrStream&&!e.hasNext&&!e.paths};function se(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function ce(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?se(Object(a),!0).forEach((function(t){i(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):se(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function oe(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function ue(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?oe(Object(a),!0).forEach((function(t){i(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):oe(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}var he,pe,le,fe,de=function(e,a){if(!a.normalizePatchResponseData)return e;var r=e.data,n=e.paths;return ue(ue({},t(e,["data","paths"])),{},{data:o({},n[0],r),paths:n})},ye=function(e,t,a){var r=t.typeIDValue,n=h(e)?e[a]:void 0;return r||n};function me(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function ve(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?me(Object(a),!0).forEach((function(t){i(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):me(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}var be=(he=function(e,r,n){var i,s=n.value;s&&(n.value=(i=a(m.mark((function e(){var r,n,i,c=this,o=arguments;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(r=o.length,n=new Array(r),i=0;i<r;i++)n[i]=o[i];return e.prev=1,e.abrupt("return",new Promise(function(){var e=a(m.mark((function e(a){var r,i,o,u,h,p,l,f,d;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n[3],i=r.debugManager,o=r.requestFieldCacheKey,u=t(r,["debugManager","requestFieldCacheKey"]),i){e.next=8;break}return e.t0=a,e.next=5,s.apply(c,n);case 5:return e.t1=e.sent,(0,e.t0)(e.t1),e.abrupt("return");case 8:return h=i.now(),e.next=11,s.apply(c,n);case 11:p=e.sent,l=i.now(),f=l-h,a(p),d=Z({cacheType:n[0],context:u,hash:n[1],options:n[2],result:p,stats:{duration:f,endTime:l,startTime:h}},o?{decryptedCacheKey:o}:{}),i.emit("cache_entry_queried",d);case 17:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 5:return e.prev=5,e.t0=e.catch(1),e.abrupt("return",Promise.reject(e.t0));case 8:case"end":return e.stop()}}),e,null,[[1,5]])}))),function(){return i.apply(this,arguments)}))},pe=function(e,r,n){var i,s=n.value;s&&(n.value=(i=a(m.mark((function e(){var r,n,i,c=this,o=arguments;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(r=o.length,n=new Array(r),i=0;i<r;i++)n[i]=o[i];return e.abrupt("return",new Promise(function(){var e=a(m.mark((function e(a){var r,i,o,u,h,p,l,f;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n[5],i=r.debugManager,o=r.requestFieldCacheKey,u=t(r,["debugManager","requestFieldCacheKey"]),i){e.next=6;break}return e.next=4,s.apply(c,n);case 4:return a(),e.abrupt("return");case 6:return h=i.now(),e.next=9,s.apply(c,n);case 9:p=i.now(),l=p-h,a(),f=X({cachemapOptions:n[3],cacheType:n[0],context:u,hash:n[1],options:n[4],stats:{duration:l,endTime:p,startTime:h},value:n[2]},o?{decryptedCacheKey:o}:{}),i.emit("cache_entry_added",f);case 14:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 2:case"end":return e.stop()}}),e)}))),function(){return i.apply(this,arguments)}))},le=function(e,r,n){var i,s=n.value;s&&(n.value=(i=a(m.mark((function e(){var r,n,i,c=this,o=arguments;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for(r=o.length,n=new Array(r),i=0;i<r;i++)n[i]=o[i];return e.abrupt("return",new Promise(function(){var e=a(m.mark((function e(a){var r,i,o,u,h,p;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=n[3],i=r.debugManager,o=t(r,["debugManager"]),i){e.next=6;break}return e.next=4,s.apply(c,n);case 4:return a(),e.abrupt("return");case 6:return u=i.now(),e.next=9,s.apply(c,n);case 9:h=i.now(),p=h-u,a(),i.emit("partial_query_compiled",{context:o,hash:n[0],options:n[2],partialQueryResponse:n[1],stats:{duration:p,endTime:h,startTime:u}});case 13:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 2:case"end":return e.stop()}}),e)}))),function(){return i.apply(this,arguments)}))},s((fe=function(){function s(e){r(this,s),i(this,"_cache",void 0),i(this,"_cascadeCacheControl",void 0),i(this,"_fallbackOperationCacheability",void 0),i(this,"_partialQueryResponses",new Map),i(this,"_responseChunksAwaitingCaching",new Map),i(this,"_typeCacheDirectives",void 0),i(this,"_typeIDKey",void 0);var t=[];if(e.cache||t.push(new TypeError("@graphql-box/cache-manager expected options.cache.")),e.typeCacheDirectives&&!h(e.typeCacheDirectives)){t.push(new TypeError("@graphql-box/cache-manager expected options.typeCacheDirectives to be a plain object."))}if(t.length)throw t;this._cache=e.cache,this._cascadeCacheControl=e.cascadeCacheControl||!1,this._fallbackOperationCacheability=e.fallbackOperationCacheability||"noCache",this._typeCacheDirectives=e.typeCacheDirectives||{},this._typeIDKey=e.typeIDKey}var C,k,P,j,O,F,N,H,G,W,B,J,X,Y,Z,ee,te,se,oe,ue,he,pe,le,fe,me;return n(s,[{key:"cache",get:function(){return this._cache}},{key:"analyzeQuery",value:(me=a(m.mark((function e(a,r,n){var i,s,c,o,u,h,p,l,f,d,v;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=a.ast,s=a.hash,i){e.next=3;break}return e.abrupt("return",Promise.reject(new TypeError("@graphql-box/cache-manager expected an AST.")));case 3:return c=ve(ve({},n),{},{fragmentDefinitions:K(i),typeIDKey:this._typeIDKey}),e.next=6,this._retrieveCachedResponseData(a,r,c);case 6:if(o=e.sent,u=o.cacheMetadata,h=o.data,(p=o.fieldCount).missing!==p.total){e.next=10;break}return e.abrupt("return",{updated:a});case 10:if(p.missing){e.next=16;break}if(l=this._setQueryResponseCacheEntry(s,{cacheMetadata:u,data:h},r,c),!r.awaitDataCaching){e.next=15;break}return e.next=15,l;case 15:return e.abrupt("return",{response:{cacheMetadata:u,data:h}});case 16:return this._setPartialQueryResponse(s,{cacheMetadata:u,data:h},r,c),f=ae(a,o,c),c.fragmentDefinitions,c.typeIDKey,d=t(c,["fragmentDefinitions","typeIDKey"]),y(n,d),v=z(f),e.abrupt("return",{updated:{ast:f,hash:R(v),request:v}});case 22:case"end":return e.stop()}}),e,this)}))),function(e,t,a){return me.apply(this,arguments)})},{key:"cacheQuery",value:(fe=a(m.mark((function e(t,a,r,n,i){var s;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=ve(ve({},i),{},{fragmentDefinitions:K((null!=a?a:t).ast),typeIDKey:this._typeIDKey}),e.abrupt("return",this._cacheResponse(t,a,r,n,s));case 2:case"end":return e.stop()}}),e,this)}))),function(e,t,a,r,n){return fe.apply(this,arguments)})},{key:"cacheResponse",value:(le=a(m.mark((function e(t,a,r,n){var i;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=ve(ve({},n),{},{fragmentDefinitions:K(t.ast),typeIDKey:this._typeIDKey}),e.abrupt("return",this._cacheResponse(t,void 0,a,r,i));case 2:case"end":return e.stop()}}),e,this)}))),function(e,t,a,r){return le.apply(this,arguments)})},{key:"checkCacheEntry",value:(pe=a(m.mark((function e(t,a,r,n){return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this._checkCacheEntry(t,a,r,n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t,a,r){return pe.apply(this,arguments)})},{key:"checkQueryResponseCacheEntry",value:(he=a(m.mark((function e(t,a,r){var n,i,s,c;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._checkCacheEntry(b,t,a,r);case 2:if(n=e.sent){e.next=5;break}return e.abrupt("return",!1);case 5:return i=n.entry,s=i.cacheMetadata,c=i.data,e.abrupt("return",{cacheMetadata:T(s),data:c});case 7:case"end":return e.stop()}}),e,this)}))),function(e,t,a){return he.apply(this,arguments)})},{key:"deletePartialQueryResponse",value:function(e){this._partialQueryResponses.delete(e)}},{key:"setQueryResponseCacheEntry",value:(ue=a(m.mark((function e(t,a,r,n){return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this._setQueryResponseCacheEntry(t.hash,a,r,n));case 1:case"end":return e.stop()}}),e,this)}))),function(e,t,a,r){return ue.apply(this,arguments)})},{key:"_analyzeFieldNode",value:(oe=a(m.mark((function e(t,a,r,n,i){return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!q(t,{fragmentDefinitions:i.fragmentDefinitions})){e.next=5;break}return e.next=3,this._analyzeParentFieldNode(t,a,r,n,i);case 3:e.next=7;break;case 5:return e.next=7,this._analyzeLeafFieldNode(t,a,r,n,i);case 7:case"end":return e.stop()}}),e,this)}))),function(e,t,a,r,n){return oe.apply(this,arguments)})},{key:"_analyzeLeafFieldNode",value:(se=a(m.mark((function e(t,a,r,n,i){var c,o,u,h,p,l,f,d,y,v,b,g,_,D,C,k;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c=w(t,a,i),o=c.hashedRequestFieldCacheKey,u=c.propNameOrIndex,h=c.requestFieldCacheKey,p=c.requestFieldPath,l=i.fieldTypeMap.get(p),f=a.entityData,d=a.fragmentKind,y=a.fragmentName,v=a.requestFieldPathData,b=a.typeName,g={dataTypeName:(null==f?void 0:f.__typename)||(null==v?void 0:v.__typename),fieldTypeName:b,fragmentKind:d,fragmentName:y},!s._isNodeRequestFieldPath(l)){e.next=14;break}return e.next=8,this._retrieveCachedRequestFieldPathData(o,h,n,i);case 8:_=e.sent,D=_.cacheability,C=_.entry,s._setCachedResponseData({cacheability:D,data:C},r,c,g,n,i),e.next=17;break;case 14:k=s._getFieldDataFromAncestor(f,u)||s._getFieldDataFromAncestor(v,u),s._setFieldPathChecklist(r.fieldPathChecklist,{data:k},p,g),s._setCachedData(r.data,{data:k},u);case 17:case"end":return e.stop()}}),e,this)}))),function(e,t,a,r,n){return se.apply(this,arguments)})},{key:"_analyzeParentFieldNode",value:(te=a(m.mark((function e(t,a,r,n,i){var c,o,u,h,l,d,y,b,g,_,D,C,k,P,x=this;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return c=w(t,a,i),o=c.propNameOrIndex,u=c.requestFieldCacheKey,h=c.requestFieldPath,l=i.fieldTypeMap.get(h),e.next=5,this._retrieveCachedParentNodeData(a,c,l,n,i);case 5:if(d=e.sent,y=d.cacheability,b=d.data,g=d.entityData,_=d.requestFieldPathData,D=a.fragmentKind,C=a.fragmentName,k=a.typeName,s._setCachedResponseData({cacheability:y,data:b},r,c,{dataTypeName:f(b,v),fieldTypeName:k,fragmentKind:D,fragmentName:C},n,i),p(b)){e.next=14;break}return e.abrupt("return");case 14:return P=[],I(t,b,i.fragmentDefinitions,(function(e,t,a,s,c){P.push(x._analyzeFieldNode(e,{cacheability:y,entityData:g,fragmentKind:a,fragmentName:s,index:c,requestFieldCacheKey:u,requestFieldPath:h,requestFieldPathData:_,typeName:t},ve(ve({},r),{},{data:r.data[o]}),n,i))})),e.next=19,Promise.all(P);case 19:case"end":return e.stop()}}),e,this)}))),function(e,t,a,r,n){return te.apply(this,arguments)})},{key:"_buildCacheMetadata",value:function(e,a,r,n){var i=this,s=e.ast,c=a.data,o=t(a,["data"]),u=this._createCacheMetadata(ve({data:c},o),n),h=M(s,n.operation)[0],p=x(h);return p?(p.forEach((function(e){var t=e.fieldNode;return i._setFieldCacheability(t,{requestFieldPath:n.operation},{cacheMetadata:u,data:c},r,n)})),u):u}},{key:"_cacheResponse",value:(ee=a(m.mark((function e(t,a,r,n,i){var c,o,u,h,p,l,f,y,v,b,_;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(c=de(r,i),o=c,ne(r,i)&&(this._setResponseChunksAwaitingCaching(c,i),o=void 0),re(r,i)&&(o=this._retrieveResponseDataForCaching(c,i)),u=[],!o){e.next=15;break}if(h=o.data,p=this._buildCacheMetadata(t,o,n,i),u.push(this._setEntityAndRequestFieldPathCacheEntries(t,{cacheMetadata:p,entityData:d(h),requestFieldPathData:d(h)},n,i)),i.operation===g&&(i.queryFiltered&&a&&(u.push(this._setQueryResponseCacheEntry(a.hash,{cacheMetadata:p,data:h},n,i)),y=this._getPartialQueryResponse(t.hash)),l=s._mergeResponseCacheMetadata(p,y),f=this._mergeResponseData(h,y),u.push(this._setQueryResponseCacheEntry(t.hash,{cacheMetadata:l,data:f},n,i))),!n.awaitDataCaching){e.next=13;break}return e.next=13,Promise.all(u);case 13:if(!(ie(c,i)&&l&&f)){e.next=15;break}return e.abrupt("return",{cacheMetadata:l,data:f});case 15:return v=c.data,b=c.hasNext,_=c.paths,e.abrupt("return",{cacheMetadata:this._buildCacheMetadata(t,c,n,i),data:v,hasNext:b,paths:_});case 17:case"end":return e.stop()}}),e,this)}))),function(e,t,a,r,n){return ee.apply(this,arguments)})},{key:"_checkCacheEntry",value:(Z=a(m.mark((function e(t,a,r,n){var i,c;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this._hasCacheEntry(t,a);case 3:if((i=e.sent)&&s._isValid(i)){e.next=6;break}return e.abrupt("return",!1);case 6:return e.next=8,this._getCacheEntry(t,a,r,n);case 8:if(c=e.sent,!u(c)){e.next=11;break}return e.abrupt("return",!1);case 11:return e.abrupt("return",{cacheability:i,entry:c});case 14:return e.prev=14,e.t0=e.catch(0),e.abrupt("return",!1);case 17:case"end":return e.stop()}}),e,this,[[0,14]])}))),function(e,t,a,r){return Z.apply(this,arguments)})},{key:"_createCacheMetadata",value:function(e,t){var a=e._cacheMetadata,r=e.headers,n=t.operation,i=new Map,s=function(e){var t=e._cacheMetadata,a=e.fallback,r=e.headers;if(t&&!L(t)){var n=Object.values(t),i=U(n),s=i[0],c=i.slice(1);return new S({metadata:c.reduce((function(e,t){return t.ttl<e.ttl?t:e}),s)})}return r&&r.has("cache-control")?new S({headers:r}):new S({cacheControl:a})}({_cacheMetadata:a,fallback:this._fallbackOperationCacheability,headers:r});return i.set(n,s),a&&T(a,i),i}},{key:"_getCacheEntry",value:(Y=a(m.mark((function e(t,a,r,n){return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this._cache.get("".concat(t,"::").concat(a));case 3:return e.abrupt("return",e.sent);case 6:return e.prev=6,e.t0=e.catch(0),e.abrupt("return",Promise.reject(e.t0));case 9:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(e,t,a,r){return Y.apply(this,arguments)})},{key:"_getPartialQueryResponse",value:function(e){var t=this._partialQueryResponses.get(e);return this._partialQueryResponses.delete(e),t}},{key:"_hasCacheEntry",value:(X=a(m.mark((function e(t,a){return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this._cache.has("".concat(t,"::").concat(a));case 3:return e.abrupt("return",e.sent);case 6:return e.prev=6,e.t0=e.catch(0),e.abrupt("return",!1);case 9:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(e,t){return X.apply(this,arguments)})},{key:"_isFieldEntity",value:function(e,t){var a=t.isEntity,r=t.possibleTypes;return!!f(e,this._typeIDKey,null)&&(!!a||!!r.length&&r.some((function(t){return t.typeName===e.__typename})))}},{key:"_mergeObjects",value:function(e,t){var a=this;return A(e,t,(function(e,t){return h(t)&&t[a._typeIDKey]?t[a._typeIDKey]:void 0}))}},{key:"_mergeResponseData",value:function(e,t){return t?this._mergeObjects(t.data,e):e}},{key:"_parseEntityAndRequestFieldPathCacheEntryData",value:(J=a(m.mark((function e(t,a,r,n,i){var s,c,o,u,h,l,d,y,v,b,g=this;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=r.cacheMetadata,c=r.entityData,o=r.requestFieldPathData,u=w(t,a,i),h=u.requestFieldCacheKey,l=u.requestFieldPath,d=u.responseDataPath,y=f(o,d),v=i.fieldTypeMap.get(l),p(y)||null!=v&&v.hasDirectives){e.next=7;break}return e.abrupt("return");case 7:if(!p(y)){e.next=12;break}return b=[],I(t,y,i.fragmentDefinitions,(function(e,t,a,r,u){b.push(g._parseEntityAndRequestFieldPathCacheEntryData(e,{index:u,requestFieldCacheKey:h,requestFieldPath:l,responseDataPath:d},{cacheMetadata:s,entityData:c,requestFieldPathData:o},n,i))})),e.next=12,Promise.all(b);case 12:return e.next=14,this._setEntityAndRequestFieldPathCacheEntry(t,u,{cacheMetadata:s,entityData:c,requestFieldPathData:o},n,i);case 14:case"end":return e.stop()}}),e,this)}))),function(e,t,a,r,n){return J.apply(this,arguments)})},{key:"_retrieveCachedEntityData",value:(B=a(m.mark((function t(a,r,n,i){var s,c,o,u,h,p,l=this;return m.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return s=r.possibleTypes,c=r.typeName,o=[].concat(e(s.map((function(e){return e.typeName}))),[c]),t.next=4,Promise.all(o.map((function(e){return l._checkCacheEntry(_,"".concat(e,"::").concat(a),n,i)})));case 4:return u=t.sent,1===(h=u.filter((function(e){return!!e}))).length?p=h[0]:h.length>1&&(h.sort((function(e,t){var a=e.cacheability,r=t.cacheability;return a.metadata.ttl-r.metadata.ttl})),p={cacheability:h[0].cacheability,entry:h.reduce((function(e,t){var a=t.entry;return l._mergeObjects(e,a)}),{})}),t.abrupt("return",p||{});case 8:case"end":return t.stop()}}),t)}))),function(e,t,a,r){return B.apply(this,arguments)})},{key:"_retrieveCachedParentNodeData",value:(W=a(m.mark((function e(t,a,r,n,i){var c,o,h,p,l,f,d,y,v,b,g,_,D,C,k,w,P,x;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(o=t.entityData,h=t.requestFieldPathData,p=a.hashedRequestFieldCacheKey,l=a.propNameOrIndex,f=a.requestFieldCacheKey,d=s._getFieldDataFromAncestor(o,l),y=s._getFieldDataFromAncestor(h,l),!s._isNodeRequestFieldPath(r)){e.next=12;break}return e.next=7,this._retrieveCachedRequestFieldPathData(p,f,n,i);case 7:b=e.sent,g=b.cacheability,(_=b.entry)&&(y=this._mergeObjects(y,_)),g&&(v=g);case 12:if(D=ye(y,r,this._typeIDKey),!s._isNodeEntity(r)||!D){e.next=21;break}return e.next=16,this._retrieveCachedEntityData(D,r,n,i);case 16:k=e.sent,w=k.cacheability,(P=k.entry)&&(d=this._mergeObjects(d,P)),w&&(!v||w.metadata.ttl>(null===(C=v)||void 0===C?void 0:C.metadata.ttl))&&(v=w);case 21:return x=u(y)&&u(d)?null!==(c=d)&&void 0!==c?c:y:this._mergeObjects(y,d),e.abrupt("return",{cacheability:v,data:x,entityData:d,requestFieldPathData:y});case 23:case"end":return e.stop()}}),e,this)}))),function(e,t,a,r,n){return W.apply(this,arguments)})},{key:"_retrieveCachedRequestFieldPathData",value:(G=a(m.mark((function e(t,a,r,n){return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this._checkCacheEntry(D,t,r,ve(ve({},n),{},{requestFieldCacheKey:a}))||{});case 1:case"end":return e.stop()}}),e,this)}))),function(e,t,a,r){return G.apply(this,arguments)})},{key:"_retrieveCachedResponseData",value:(H=a(m.mark((function e(t,a,r){var n,i,c,o,u=this;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=t.ast,i={cacheMetadata:new Map,data:{},fieldCount:{missing:0,total:0},fieldPathChecklist:new Map},c=M(n,r.operation)[0],o=x(c)){e.next=6;break}return e.abrupt("return",i);case 6:return e.next=8,Promise.all(o.map((function(e){var t=e.fieldNode;return u._analyzeFieldNode(t,{requestFieldPath:r.operation},i,a,r)})));case 8:return i.fieldCount=s._countFieldPathChecklist(i.fieldPathChecklist),e.abrupt("return",i);case 10:case"end":return e.stop()}}),e)}))),function(e,t,a){return H.apply(this,arguments)})},{key:"_retrieveResponseDataForCaching",value:function(t,a){var r,n=this._responseChunksAwaitingCaching.get(a.boxID);return this._responseChunksAwaitingCaching.delete(a.boxID),(r=[].concat(e(n),[t])).reduce((function(e,t,a){var n=t._cacheMetadata,i=t.data,s=t.hasNext,c=t.headers,o=t.paths;return n&&(e._cacheMetadata=e._cacheMetadata?ce(ce({},e._cacheMetadata),n):n),e.data=e.data?V(e.data,i):i,0===a&&(e.headers=c),a===r.length-1&&(e.hasNext=s),o&&(e.paths||(e.paths=[]),e.paths.push(o[0])),e}),{data:{}})}},{key:"_setCacheEntry",value:(N=a(m.mark((function e(t,a,r,n,i,s){return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,this._cache.set("".concat(t,"::").concat(a),d(r),n);case 3:e.next=7;break;case 5:e.prev=5,e.t0=e.catch(0);case 7:case"end":return e.stop()}}),e,this,[[0,5]])}))),function(e,t,a,r,n,i){return N.apply(this,arguments)})},{key:"_setEntityAndRequestFieldPathCacheEntries",value:(F=a(m.mark((function e(t,a,r,n){var i,s,c=this;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=M(t.ast,n.operation)[0],s=x(i)){e.next=4;break}return e.abrupt("return");case 4:return e.next=6,Promise.all(s.map((function(e){var t=e.fieldNode;return c._parseEntityAndRequestFieldPathCacheEntryData(t,{requestFieldPath:n.operation},a,r,n)})));case 6:case"end":return e.stop()}}),e)}))),function(e,t,a,r){return F.apply(this,arguments)})},{key:"_setEntityAndRequestFieldPathCacheEntry",value:(O=a(m.mark((function e(t,a,r,n,i){var s,o,h,p,l,d,y,v,b,g;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=r.cacheMetadata,o=r.entityData,h=r.requestFieldPathData,p=a.requestFieldPath,l=a.responseDataPath,d=f(o,l),y=i.fieldTypeMap.get(p),v=s.get(p),!u(d)&&y&&v){e.next=7;break}return e.abrupt("return");case 7:return(b=[]).push(this._setRequestFieldPathCacheEntry(t,a,{cacheability:v,data:h,fieldTypeInfo:y},n,i)),!(g=this._isFieldEntity(d,y))&&y.hasArguments&&c(o,l),g&&b.push(this._setEntityCacheEntry(a,{cacheability:v,data:o,fieldTypeInfo:y},n,i)),e.next=14,Promise.all(b);case 14:case"end":return e.stop()}}),e,this)}))),function(e,t,a,r,n){return O.apply(this,arguments)})},{key:"_setEntityCacheEntry",value:(j=a(m.mark((function e(t,a,r,n){var i,s,c,u,h,p,l,d;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=t.responseDataPath,s=a.cacheability,c=a.data,u=a.fieldTypeInfo,h=f(c,i),p=u.isEntity?u.typeName:h.__typename,l="".concat(p,"::").concat(h[this._typeIDKey]),e.next=7,this._checkCacheEntry(_,l,r,n);case 7:return(d=e.sent)&&(h=this._mergeObjects(d.entry,h)),e.next=11,this._setCacheEntry(_,l,h,{cacheHeaders:{cacheControl:s.printCacheControl()},tag:r.tag},r,n);case 11:o(c,i,{__cacheKey:"".concat(_,"::").concat(l)});case 12:case"end":return e.stop()}}),e,this)}))),function(e,t,a,r){return j.apply(this,arguments)})},{key:"_setFieldCacheability",value:function(e,t,a,r,n){var i=this,s=a.cacheMetadata,c=a.data,o=t.requestFieldPath,u=w(e,t,n),h=u.requestFieldPath,l=u.responseDataPath,d=f(c,l),y=n.fieldTypeMap.get(h);(p(d)||null!=y&&y.hasDirectives)&&(this._setFieldTypeCacheDirective(s,{ancestorRequestFieldPath:o,requestFieldPath:h},n),p(d)&&I(e,d,n.fragmentDefinitions,(function(e,t,a,o,u){i._setFieldCacheability(e,{index:u,requestFieldPath:h,responseDataPath:l},{cacheMetadata:s,data:c},r,n)})))}},{key:"_setFieldTypeCacheDirective",value:function(e,t,a){var r=t.ancestorRequestFieldPath,n=t.requestFieldPath,i=a.fieldTypeMap,c=a.operation;if(!e.has(n)){var o=i.get(n);if(o&&this._typeCacheDirectives[o.typeName]){var u=new S({cacheControl:this._typeCacheDirectives[o.typeName]});s._setCacheMetadata(e,u,n,c)}else this._cascadeCacheControl&&r&&s._setCacheMetadata(e,e.get(r),n,c)}}},{key:"_setPartialQueryResponse",value:(P=a(m.mark((function e(t,a,r,n){return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:this._partialQueryResponses.set(t,a);case 1:case"end":return e.stop()}}),e,this)}))),function(e,t,a,r){return P.apply(this,arguments)})},{key:"_setQueryResponseCacheEntry",value:(k=a(m.mark((function e(t,a,r,n){var i,c,o,u;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=a.cacheMetadata,c=a.data,o=Q(i),u=s._getOperationCacheControl(i,n.operation),e.next=5,this._setCacheEntry(b,t,{cacheMetadata:o,data:c},{cacheHeaders:{cacheControl:u},tag:r.tag},r,n);case 5:case"end":return e.stop()}}),e,this)}))),function(e,t,a,r){return k.apply(this,arguments)})},{key:"_setRequestFieldPathCacheEntry",value:(C=a(m.mark((function e(t,a,r,n,i){var s,u,l,d,y,v,b,_,C,k,w;return m.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(s=r.cacheability,u=r.data,l=r.fieldTypeInfo,d=a.hashedRequestFieldCacheKey,y=a.requestFieldCacheKey,v=a.responseDataPath,b=f(u,v),_=this._isFieldEntity(b,l),C=l.hasArguments||l.hasDirectives,i.operation!==g||!_&&!C){e.next=14;break}return h(b)&&null!==(k=t.selectionSet)&&void 0!==k&&k.selections&&(b=$(b,t.selectionSet.selections,a,i)),e.next=9,this._checkCacheEntry(D,d,n,ve(ve({},i),{},{requestFieldCacheKey:y}));case 9:return(w=e.sent)&&p(b)&&(b=this._mergeObjects(w.entry,b)),e.next=13,this._setCacheEntry(D,d,b,{cacheHeaders:{cacheControl:s.printCacheControl()},tag:n.tag},n,ve(ve({},i),{},{requestFieldCacheKey:y}));case 13:q(t,{fragmentDefinitions:i.fragmentDefinitions})&&(_?o(u,v,{__cacheKey:"".concat(D,"::").concat(d)}):c(u,v));case 14:case"end":return e.stop()}}),e,this)}))),function(e,t,a,r,n){return C.apply(this,arguments)})},{key:"_setResponseChunksAwaitingCaching",value:function(t,a){var r=this._responseChunksAwaitingCaching.get(a.boxID);r?this._responseChunksAwaitingCaching.set(a.boxID,[].concat(e(r),[t])):this._responseChunksAwaitingCaching.set(a.boxID,[t])}}],[{key:"_countFieldPathChecklist",value:function(e){var t={missing:0,total:0};return e.forEach((function(e){t.total+=e.length;var a=e.filter((function(e){return!e.hasData}));t.missing+=a.length})),t}},{key:"_getFieldDataFromAncestor",value:function(e,t){return p(e)?d(e[t]):void 0}},{key:"_getOperationCacheControl",value:function(e,t){if(!e)return"no-cache";var a=e.get(t);return a?a.printCacheControl():"no-cache"}},{key:"_isNodeEntity",value:function(e){if(!e)return!1;var t=e.isEntity,a=e.possibleTypes;return t||a.some((function(e){return!!e.isEntity}))}},{key:"_isNodeRequestFieldPath",value:function(e){return!!e&&(this._isNodeEntity(e)||e.hasArguments||e.hasDirectives)}},{key:"_isValid",value:function(e){return!f(e,["metadata","cacheControl","noCache"],!1)&&e.checkTTL()}},{key:"_mergeResponseCacheMetadata",value:function(t,a){return a?new Map([].concat(e(a.cacheMetadata),e(t))):t}},{key:"_setCachedData",value:function(e,t,a){var r=t.data;if(p(r)||u(r)){if(p(r)){var n=r;e[a]=l(n)?[]:{}}}else e[a]=r}},{key:"_setCachedResponseData",value:function(e,t,a,r,n,i){var c=t.cacheMetadata,o=t.data,u=t.fieldPathChecklist,h=a.propNameOrIndex,p=a.requestFieldPath,l=i.operation;s._setCacheMetadata(c,e.cacheability,p,l),s._setFieldPathChecklist(u,e,p,r),s._setCachedData(o,e,h)}},{key:"_setCacheMetadata",value:function(e,t,a,r){if(t){e.set(a,t);var n=e.get(r);(!n||n.metadata.ttl>t.metadata.ttl)&&e.set(r,t)}}},{key:"_setFieldPathChecklist",value:function(t,a,r,n){var i=a.data,s=n.dataTypeName,c=n.fieldTypeName,o=n.fragmentKind,h=n.fragmentName;if(u(c)||o===E){if(t.has(r))return;t.set(r,[{fragmentKind:o,fragmentName:h,hasData:!u(i)}])}else if(s===c){var p=t.get(r),l=p||[];l.some((function(e){return e.typeName===s}))||t.set(r,[].concat(e(l),[{fragmentKind:o,fragmentName:h,hasData:!u(i),typeName:s}]))}}}]),s}()).prototype,"_getCacheEntry",[he],Object.getOwnPropertyDescriptor(fe.prototype,"_getCacheEntry"),fe.prototype),s(fe.prototype,"_setCacheEntry",[pe],Object.getOwnPropertyDescriptor(fe.prototype,"_setCacheEntry"),fe.prototype),s(fe.prototype,"_setPartialQueryResponse",[le],Object.getOwnPropertyDescriptor(fe.prototype,"_setPartialQueryResponse"),fe.prototype),fe);export default function(e){if(!h(e))throw new TypeError("@graphql-box/cache-manager expected userOptions to be a plain object.");return function(t){return new be(ve(ve({},t),e))}}export{G as CACHE_ENTRY_ADDED,W as CACHE_ENTRY_QUERIED,be as CacheManager,B as PARTIAL_QUERY_COMPILED};
2
2
  //# sourceMappingURL=index.js.map