@graphql-box/worker-client 3.4.0 → 3.6.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.
- package/lib/browser/index.js +1 -1
- package/lib/browser/index.js.map +1 -1
- package/lib/browser/production.analysis.txt +11 -11
- package/lib/main/consts/index.js +3 -1
- package/lib/main/consts/index.js.map +1 -1
- package/lib/main/debug/log-request/index.js +9 -1
- package/lib/main/debug/log-request/index.js.map +1 -1
- package/lib/module/consts/index.js +1 -0
- package/lib/module/consts/index.js.map +1 -1
- package/lib/module/debug/log-request/index.js +10 -2
- package/lib/module/debug/log-request/index.js.map +1 -1
- package/lib/types/consts/index.d.ts +1 -0
- package/lib/types/consts/index.d.ts.map +1 -1
- package/lib/types/debug/log-request/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/consts/index.ts +1 -0
- package/src/debug/log-request/index.ts +10 -2
package/lib/browser/index.js
CHANGED
|
@@ -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.array.filter.js";import"core-js/modules/web.dom-collections.for-each.js";import"core-js/modules/es.object.get-own-property-descriptors.js";import e from"@babel/runtime/helpers/objectWithoutProperties";import t from"@babel/runtime/helpers/asyncToGenerator";import r from"@babel/runtime/helpers/classCallCheck";import n from"@babel/runtime/helpers/createClass";import o from"@babel/runtime/helpers/defineProperty";import a from"@babel/runtime/helpers/applyDecoratedDescriptor";import s from"lodash/isPlainObject";import c from"lodash/castArray";import i 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/es.object.get-own-property-descriptor.js";import{MUTATION as u,QUERY as p,SUBSCRIPTION as h}from"@graphql-box/core";import{hashRequest as l,EventAsyncIterator as f,deserializeErrors as b,rehydrateCacheMetadata as m,dehydrateCacheMetadata as d,serializeErrors as g}from"@graphql-box/helpers";import v from"eventemitter3";import{v1 as y}from"uuid";import{handleMessage as x}from"@cachemap/core-worker";import{forAwaitEach as w,isAsyncIterable as _}from"iterall";var j,k,O,q="request_executed";function M(){return function(r,n,o){var a,s=o.value;s&&(o.value=(a=t(i.mark((function r(){var n,o,a,c=this,u=arguments;return i.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:for(n=u.length,o=new Array(n),a=0;a<n;a++)o[a]=u[a];return r.prev=1,r.abrupt("return",new Promise(function(){var r=t(i.mark((function t(r){var n,a,u,p,h,l,f;return i.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=o[2],a=n.debugManager,u=e(n,["debugManager"]),a){t.next=8;break}return t.t0=r,t.next=5,s.apply(c,o);case 5:return t.t1=t.sent,(0,t.t0)(t.t1),t.abrupt("return");case 8:return p=a.now(),t.next=11,s.apply(c,o);case 11:h=t.sent,l=a.now(),f=l-p,r(h),a.emit("request_executed",{context:u,options:o[1],request:o[0],result:h,stats:{duration:f,endTime:l,startTime:p}});case 16:case"end":return t.stop()}}),t)})));return function(e){return r.apply(this,arguments)}}()));case 5:return r.prev=5,r.t0=r.catch(1),r.abrupt("return",Promise.reject(r.t0));case 8:case"end":return r.stop()}}),r,null,[[1,5]])}))),function(){return a.apply(this,arguments)}))}}function D(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function P(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?D(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):D(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var E=(j=M(),k=M(),a((O=function(){function a(n){var c,u=this;r(this,a),o(this,"_cache",void 0),o(this,"_debugManager",void 0),o(this,"_eventEmitter",void 0),o(this,"_pending",new Map),o(this,"_worker",void 0),o(this,"_onMessage",(c=t(i.mark((function t(r){var n,o,a,c,p,h,l,f,d;return i.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=r.data,s(n)){t.next=3;break}return t.abrupt("return");case 3:if(a=(o=n).context,c=o.method,p=o.result,"graphqlBox"===o.type&&s(p)){t.next=6;break}return t.abrupt("return");case 6:if(h=p._cacheMetadata,l=e(p,["_cacheMetadata"]),f=b(P(P({},l),{},{requestID:a.boxID})),h&&(f._cacheMetadata=m(h)),"request"!==c){t.next=16;break}if(d=u._pending.get(a.boxID)){t.next=13;break}return t.abrupt("return");case 13:d.resolve(f),t.next=17;break;case 16:("subscribe"===c||a.hasDeferOrStream)&&u._eventEmitter.emit(a.boxID,f);case 17:case"end":return t.stop()}}),t)}))),function(e){return c.apply(this,arguments)}));var p=[];if(s(n)||p.push(new TypeError("@graphql-box/client expected options to ba a plain object.")),n.cache||p.push(new TypeError("@graphql-box/client expected options.cache.")),n.worker||p.push(new TypeError("@graphql-box/client expected options.worker.")),p.length)throw p;this._cache=n.cache,this._debugManager=n.debugManager?n.debugManager():null,this._eventEmitter=new v,this._worker=n.worker,this._addEventListener()}var d,g,x,w,_,j;return n(a,[{key:"cache",get:function(){return this._cache}},{key:"mutate",value:(j=t(i.mark((function e(t){var r,n,o=arguments;return i.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=o.length>1&&void 0!==o[1]?o[1]:{},n=o.length>2&&void 0!==o[2]?o[2]:{},e.abrupt("return",this._request(t,r,this._getRequestContext(u,t,n)));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return j.apply(this,arguments)})},{key:"query",value:(_=t(i.mark((function e(t){var r,n,o=arguments;return i.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=o.length>1&&void 0!==o[1]?o[1]:{},n=o.length>2&&void 0!==o[2]?o[2]:{},e.abrupt("return",this._request(t,r,this._getRequestContext(p,t,n)));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return _.apply(this,arguments)})},{key:"request",value:(w=t(i.mark((function e(t){var r,n,o=arguments;return i.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=o.length>1&&void 0!==o[1]?o[1]:{},n=o.length>2&&void 0!==o[2]?o[2]:{},e.abrupt("return",this._request(t,r,this._getRequestContext(p,t,n)));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return w.apply(this,arguments)})},{key:"subscribe",value:(x=t(i.mark((function e(t){var r,n=arguments;return i.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=n.length>1&&void 0!==n[1]?n[1]:{},e.abrupt("return",this._subscribe(t,r,this._getRequestContext(h,t)));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return x.apply(this,arguments)})},{key:"_addEventListener",value:function(){this._worker.addEventListener("message",this._onMessage)}},{key:"_getRequestContext",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return P({boxID:y(),debugManager:this._debugManager,fieldTypeMap:new Map,operation:e,operationName:"",queryFiltered:!1,request:t,whitelistHash:l(t)},r)}},{key:"_request",value:(g=t(i.mark((function e(t,r,n){var o,s=this;return i.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,n.hasDeferOrStream){e.next=3;break}return e.abrupt("return",new Promise((function(e){s._worker.postMessage({context:a._getMessageContext(n),method:"request",options:r,request:t,type:"graphqlBox"}),s._pending.set(n.boxID,{resolve:e})})));case 3:return this._worker.postMessage({context:a._getMessageContext(n),method:"request",options:r,request:t,type:"graphqlBox"}),o=new f(this._eventEmitter,n.boxID),e.abrupt("return",o.getIterator());case 8:return e.prev=8,e.t0=e.catch(0),e.abrupt("return",{errors:c(e.t0)});case 11:case"end":return e.stop()}}),e,this,[[0,8]])}))),function(e,t,r){return g.apply(this,arguments)})},{key:"_subscribe",value:(d=t(i.mark((function e(t,r,n){var o;return i.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,this._worker.postMessage({context:a._getMessageContext(n),method:"subscribe",options:r,request:t,type:"graphqlBox"}),o=new f(this._eventEmitter,n.boxID),e.abrupt("return",o.getIterator());case 6:return e.prev=6,e.t0=e.catch(0),e.abrupt("return",{errors:c(e.t0)});case 9:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(e,t,r){return d.apply(this,arguments)})}],[{key:"_getMessageContext",value:function(e){var t=e.boxID,r=e.hasDeferOrStream;return{boxID:t,hasDeferOrStream:void 0!==r&&r}}}]),a}()).prototype,"_request",[j],Object.getOwnPropertyDescriptor(O.prototype,"_request"),O.prototype),a(O.prototype,"_subscribe",[k],Object.getOwnPropertyDescriptor(O.prototype,"_subscribe"),O.prototype),O);function C(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function I(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?C(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):C(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var B=self,S=B.addEventListener,T=B.postMessage;function R(){return(R=t(i.mark((function t(r,n,o,a,s){var c,u,p,h,l;return i.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,s.request(r,o,a);case 2:if(c=t.sent,_(c)){t.next=9;break}return p=(u=c)._cacheMetadata,h=e(u,["_cacheMetadata"]),l=I({},h),p&&(l._cacheMetadata=d(p)),T({context:a,method:n,result:g(l),type:"graphqlBox"}),t.abrupt("return");case 9:w(c,(function(t){var r=t._cacheMetadata,o=I({},e(t,["_cacheMetadata"]));r&&(o._cacheMetadata=d(r)),T({context:a,method:n,result:g(o),type:"graphqlBox"})}));case 10:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function L(){return(L=t(i.mark((function t(r,n,o,a,s){var c;return i.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,s.subscribe(r,o,a);case 2:if(c=t.sent,_(c)){t.next=6;break}return T({context:a,method:n,result:g(c),type:"graphqlBox"}),t.abrupt("return");case 6:w(c,(function(t){var r=t._cacheMetadata,o=I({},e(t,["_cacheMetadata"]));r&&(o._cacheMetadata=d(r)),T({context:a,method:n,result:g(o),type:"graphqlBox"})}));case 7:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function A(e,t){var r=e,n=r.context,o=r.method,a=r.options,s=r.request;"request"===o?function(e,t,r,n,o){R.apply(this,arguments)}(s,o,a,n,t):"subscribe"===o&&function(e,t,r,n,o){L.apply(this,arguments)}(s,o,a,n,t)}function F(e){return G.apply(this,arguments)}function G(){return(G=t(i.mark((function e(t){var r,n;return i.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=function(e){var t=e.data;if(s(t)){var n=t.type;"graphqlBox"===n?A(t,r):"cachemap"===n&&r.cache&&x(t,r.cache)}},r=t.client,S("message",n);case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}export default E;export{q as REQUEST_EXECUTED,F as registerWorker};
|
|
1
|
+
import"core-js/modules/es.object.keys.js";import"core-js/modules/es.symbol.js";import"core-js/modules/es.array.filter.js";import"core-js/modules/web.dom-collections.for-each.js";import"core-js/modules/es.object.get-own-property-descriptors.js";import e from"@babel/runtime/helpers/objectWithoutProperties";import t from"@babel/runtime/helpers/asyncToGenerator";import r from"@babel/runtime/helpers/classCallCheck";import n from"@babel/runtime/helpers/createClass";import o from"@babel/runtime/helpers/defineProperty";import s from"@babel/runtime/helpers/applyDecoratedDescriptor";import a from"lodash/isPlainObject";import c from"lodash/castArray";import i 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/es.object.get-own-property-descriptor.js";import{MUTATION as u,QUERY as p,SUBSCRIPTION as h}from"@graphql-box/core";import{hashRequest as l,EventAsyncIterator as f,deserializeErrors as b,rehydrateCacheMetadata as m,dehydrateCacheMetadata as d,serializeErrors as g}from"@graphql-box/helpers";import v from"eventemitter3";import{v1 as y}from"uuid";import{handleMessage as x}from"@cachemap/core-worker";import{forAwaitEach as w,isAsyncIterable as _}from"iterall";var j,k,q,O="request_executed";function M(){return function(r,n,o){var s,a=o.value;a&&(o.value=(s=t(i.mark((function r(){var n,o,s,c=this,u=arguments;return i.wrap((function(r){for(;;)switch(r.prev=r.next){case 0:for(n=u.length,o=new Array(n),s=0;s<n;s++)o[s]=u[s];return r.prev=1,r.abrupt("return",new Promise(function(){var r=t(i.mark((function t(r){var n,s,u,p,h,l,f;return i.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=o[2],s=n.debugManager,u=e(n,["debugManager"]),s){t.next=8;break}return t.t0=r,t.next=5,a.apply(c,o);case 5:return t.t1=t.sent,(0,t.t0)(t.t1),t.abrupt("return");case 8:return p=s.now(),s.emit("request_executed",{context:u,options:o[1],request:o[0],stats:{startTime:p}}),t.next=12,a.apply(c,o);case 12:h=t.sent,l=s.now(),f=l-p,r(h),s.emit("request_resolved",{context:u,options:o[1],request:o[0],result:h,stats:{duration:f,endTime:l,startTime:p}});case 17:case"end":return t.stop()}}),t)})));return function(e){return r.apply(this,arguments)}}()));case 5:return r.prev=5,r.t0=r.catch(1),r.abrupt("return",Promise.reject(r.t0));case 8:case"end":return r.stop()}}),r,null,[[1,5]])}))),function(){return s.apply(this,arguments)}))}}function D(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function P(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?D(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):D(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var E=(j=M(),k=M(),s((q=function(){function s(n){var c,u=this;r(this,s),o(this,"_cache",void 0),o(this,"_debugManager",void 0),o(this,"_eventEmitter",void 0),o(this,"_pending",new Map),o(this,"_worker",void 0),o(this,"_onMessage",(c=t(i.mark((function t(r){var n,o,s,c,p,h,l,f,d;return i.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(n=r.data,a(n)){t.next=3;break}return t.abrupt("return");case 3:if(s=(o=n).context,c=o.method,p=o.result,"graphqlBox"===o.type&&a(p)){t.next=6;break}return t.abrupt("return");case 6:if(h=p._cacheMetadata,l=e(p,["_cacheMetadata"]),f=b(P(P({},l),{},{requestID:s.boxID})),h&&(f._cacheMetadata=m(h)),"request"!==c){t.next=16;break}if(d=u._pending.get(s.boxID)){t.next=13;break}return t.abrupt("return");case 13:d.resolve(f),t.next=17;break;case 16:("subscribe"===c||s.hasDeferOrStream)&&u._eventEmitter.emit(s.boxID,f);case 17:case"end":return t.stop()}}),t)}))),function(e){return c.apply(this,arguments)}));var p=[];if(a(n)||p.push(new TypeError("@graphql-box/client expected options to ba a plain object.")),n.cache||p.push(new TypeError("@graphql-box/client expected options.cache.")),n.worker||p.push(new TypeError("@graphql-box/client expected options.worker.")),p.length)throw p;this._cache=n.cache,this._debugManager=n.debugManager?n.debugManager():null,this._eventEmitter=new v,this._worker=n.worker,this._addEventListener()}var d,g,x,w,_,j;return n(s,[{key:"cache",get:function(){return this._cache}},{key:"mutate",value:(j=t(i.mark((function e(t){var r,n,o=arguments;return i.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=o.length>1&&void 0!==o[1]?o[1]:{},n=o.length>2&&void 0!==o[2]?o[2]:{},e.abrupt("return",this._request(t,r,this._getRequestContext(u,t,n)));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return j.apply(this,arguments)})},{key:"query",value:(_=t(i.mark((function e(t){var r,n,o=arguments;return i.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=o.length>1&&void 0!==o[1]?o[1]:{},n=o.length>2&&void 0!==o[2]?o[2]:{},e.abrupt("return",this._request(t,r,this._getRequestContext(p,t,n)));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return _.apply(this,arguments)})},{key:"request",value:(w=t(i.mark((function e(t){var r,n,o=arguments;return i.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=o.length>1&&void 0!==o[1]?o[1]:{},n=o.length>2&&void 0!==o[2]?o[2]:{},e.abrupt("return",this._request(t,r,this._getRequestContext(p,t,n)));case 3:case"end":return e.stop()}}),e,this)}))),function(e){return w.apply(this,arguments)})},{key:"subscribe",value:(x=t(i.mark((function e(t){var r,n=arguments;return i.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=n.length>1&&void 0!==n[1]?n[1]:{},e.abrupt("return",this._subscribe(t,r,this._getRequestContext(h,t)));case 2:case"end":return e.stop()}}),e,this)}))),function(e){return x.apply(this,arguments)})},{key:"_addEventListener",value:function(){this._worker.addEventListener("message",this._onMessage)}},{key:"_getRequestContext",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return P({boxID:y(),debugManager:this._debugManager,fieldTypeMap:new Map,operation:e,operationName:"",queryFiltered:!1,request:t,whitelistHash:l(t)},r)}},{key:"_request",value:(g=t(i.mark((function e(t,r,n){var o,a=this;return i.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.prev=0,n.hasDeferOrStream){e.next=3;break}return e.abrupt("return",new Promise((function(e){a._worker.postMessage({context:s._getMessageContext(n),method:"request",options:r,request:t,type:"graphqlBox"}),a._pending.set(n.boxID,{resolve:e})})));case 3:return this._worker.postMessage({context:s._getMessageContext(n),method:"request",options:r,request:t,type:"graphqlBox"}),o=new f(this._eventEmitter,n.boxID),e.abrupt("return",o.getIterator());case 8:return e.prev=8,e.t0=e.catch(0),e.abrupt("return",{errors:c(e.t0)});case 11:case"end":return e.stop()}}),e,this,[[0,8]])}))),function(e,t,r){return g.apply(this,arguments)})},{key:"_subscribe",value:(d=t(i.mark((function e(t,r,n){var o;return i.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,this._worker.postMessage({context:s._getMessageContext(n),method:"subscribe",options:r,request:t,type:"graphqlBox"}),o=new f(this._eventEmitter,n.boxID),e.abrupt("return",o.getIterator());case 6:return e.prev=6,e.t0=e.catch(0),e.abrupt("return",{errors:c(e.t0)});case 9:case"end":return e.stop()}}),e,this,[[0,6]])}))),function(e,t,r){return d.apply(this,arguments)})}],[{key:"_getMessageContext",value:function(e){var t=e.boxID,r=e.hasDeferOrStream;return{boxID:t,hasDeferOrStream:void 0!==r&&r}}}]),s}()).prototype,"_request",[j],Object.getOwnPropertyDescriptor(q.prototype,"_request"),q.prototype),s(q.prototype,"_subscribe",[k],Object.getOwnPropertyDescriptor(q.prototype,"_subscribe"),q.prototype),q);function C(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function I(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?C(Object(r),!0).forEach((function(t){o(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):C(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var B=self,S=B.addEventListener,T=B.postMessage;function R(){return(R=t(i.mark((function t(r,n,o,s,a){var c,u,p,h,l;return i.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,a.request(r,o,s);case 2:if(c=t.sent,_(c)){t.next=9;break}return p=(u=c)._cacheMetadata,h=e(u,["_cacheMetadata"]),l=I({},h),p&&(l._cacheMetadata=d(p)),T({context:s,method:n,result:g(l),type:"graphqlBox"}),t.abrupt("return");case 9:w(c,(function(t){var r=t._cacheMetadata,o=I({},e(t,["_cacheMetadata"]));r&&(o._cacheMetadata=d(r)),T({context:s,method:n,result:g(o),type:"graphqlBox"})}));case 10:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function L(){return(L=t(i.mark((function t(r,n,o,s,a){var c;return i.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,a.subscribe(r,o,s);case 2:if(c=t.sent,_(c)){t.next=6;break}return T({context:s,method:n,result:g(c),type:"graphqlBox"}),t.abrupt("return");case 6:w(c,(function(t){var r=t._cacheMetadata,o=I({},e(t,["_cacheMetadata"]));r&&(o._cacheMetadata=d(r)),T({context:s,method:n,result:g(o),type:"graphqlBox"})}));case 7:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function A(e,t){var r=e,n=r.context,o=r.method,s=r.options,a=r.request;"request"===o?function(e,t,r,n,o){R.apply(this,arguments)}(a,o,s,n,t):"subscribe"===o&&function(e,t,r,n,o){L.apply(this,arguments)}(a,o,s,n,t)}function F(e){return G.apply(this,arguments)}function G(){return(G=t(i.mark((function e(t){var r,n;return i.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=function(e){var t=e.data;if(a(t)){var n=t.type;"graphqlBox"===n?A(t,r):"cachemap"===n&&r.cache&&x(t,r.cache)}},r=t.client,S("message",n);case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}export default E;export{O as REQUEST_EXECUTED,F as registerWorker};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/lib/browser/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../worker-client/src/consts/index.ts","../worker-client/src/debug/log-request/index.ts","../worker-client/src/main/index.ts","../worker-client/src/register-worker/index.ts"],"sourcesContent":["export const REQUEST_EXECUTED = \"request_executed\";\n\nexport const REQUEST = \"request\";\nexport const SUBSCRIBE = \"subscribe\";\n\nexport const MESSAGE = \"message\";\n\nexport const GRAPHQL_BOX = \"graphqlBox\";\nexport const CACHEMAP = \"cachemap\";\n","import { RequestContext } from \"@graphql-box/core\";\nimport { REQUEST_EXECUTED } from \"../../consts\";\n\nexport default function logRequest() {\n return (\n _target: any,\n _propertyName: string,\n descriptor: TypedPropertyDescriptor<(...args: any[]) => Promise<any>>,\n ): void => {\n const method = descriptor.value;\n if (!method) return;\n\n descriptor.value = async function descriptorValue(...args: any[]): Promise<any> {\n try {\n return new Promise(async resolve => {\n const { debugManager, ...otherContext } = args[2] as RequestContext;\n\n if (!debugManager) {\n resolve(await method.apply(this, args));\n return;\n }\n\n const startTime = debugManager.now();\n const result = await method.apply(this, args);\n const endTime = debugManager.now();\n const duration = endTime - startTime;\n resolve(result);\n\n debugManager.emit(REQUEST_EXECUTED, {\n context: otherContext,\n options: args[1],\n request: args[0],\n result,\n stats: { duration, endTime, startTime },\n });\n });\n } catch (error) {\n return Promise.reject(error);\n }\n };\n };\n}\n","import WorkerCachemap from \"@cachemap/core-worker\";\nimport {\n DebugManagerDef,\n MUTATION,\n MaybeRequestContext,\n MaybeRequestResult,\n QUERY,\n RequestContext,\n RequestOptions,\n SUBSCRIPTION,\n ValidOperations,\n} from \"@graphql-box/core\";\nimport { EventAsyncIterator, deserializeErrors, hashRequest, rehydrateCacheMetadata } from \"@graphql-box/helpers\";\nimport EventEmitter from \"eventemitter3\";\nimport { castArray, isPlainObject } from \"lodash\";\nimport { v1 as uuid } from \"uuid\";\nimport { GRAPHQL_BOX, MESSAGE, REQUEST, SUBSCRIBE } from \"../consts\";\nimport logRequest from \"../debug/log-request\";\nimport { MessageContext, MessageResponsePayload, PendingResolver, PendingTracker, UserOptions } from \"../defs\";\n\nexport default class WorkerClient {\n private static _getMessageContext({ boxID, hasDeferOrStream = false }: RequestContext): MessageContext {\n return { boxID, hasDeferOrStream };\n }\n\n private _cache: WorkerCachemap;\n private _debugManager: DebugManagerDef | null;\n private _eventEmitter: EventEmitter;\n private _pending: PendingTracker = new Map();\n private _worker: Worker;\n\n constructor(options: UserOptions) {\n const errors: TypeError[] = [];\n\n if (!isPlainObject(options)) {\n errors.push(new TypeError(\"@graphql-box/client expected options to ba a plain object.\"));\n }\n\n if (!options.cache) {\n errors.push(new TypeError(\"@graphql-box/client expected options.cache.\"));\n }\n\n if (!options.worker) {\n errors.push(new TypeError(\"@graphql-box/client expected options.worker.\"));\n }\n\n if (errors.length) {\n throw errors;\n }\n\n this._cache = options.cache;\n this._debugManager = options.debugManager ? options.debugManager() : null;\n this._eventEmitter = new EventEmitter();\n this._worker = options.worker;\n this._addEventListener();\n }\n\n get cache(): WorkerCachemap {\n return this._cache;\n }\n\n public async mutate(request: string, options: RequestOptions = {}, context: MaybeRequestContext = {}) {\n return this._request(request, options, this._getRequestContext(MUTATION, request, context));\n }\n\n public async query(request: string, options: RequestOptions = {}, context: MaybeRequestContext = {}) {\n return this._request(request, options, this._getRequestContext(QUERY, request, context));\n }\n\n public async request(request: string, options: RequestOptions = {}, context: MaybeRequestContext = {}) {\n return this._request(request, options, this._getRequestContext(QUERY, request, context));\n }\n\n public async subscribe(request: string, options: RequestOptions = {}) {\n return this._subscribe(request, options, this._getRequestContext(SUBSCRIPTION, request));\n }\n\n private _addEventListener(): void {\n this._worker.addEventListener(MESSAGE, this._onMessage);\n }\n\n private _getRequestContext(\n operation: ValidOperations,\n request: string,\n context: MaybeRequestContext = {},\n ): RequestContext {\n return {\n boxID: uuid(),\n debugManager: this._debugManager,\n fieldTypeMap: new Map(),\n operation,\n operationName: \"\",\n queryFiltered: false,\n request,\n whitelistHash: hashRequest(request),\n ...context,\n };\n }\n\n private _onMessage = async ({ data }: MessageEvent): Promise<void> => {\n if (!isPlainObject(data)) {\n return;\n }\n\n const { context, method, result, type } = data as MessageResponsePayload;\n\n if (type !== GRAPHQL_BOX || !isPlainObject(result)) {\n return;\n }\n\n const { _cacheMetadata, ...otherProps } = result;\n const response: MaybeRequestResult = deserializeErrors({ ...otherProps, requestID: context.boxID });\n\n if (_cacheMetadata) {\n response._cacheMetadata = rehydrateCacheMetadata(_cacheMetadata);\n }\n\n if (method === REQUEST) {\n const pending = this._pending.get(context.boxID);\n\n if (!pending) {\n return;\n }\n\n pending.resolve(response);\n } else if (method === SUBSCRIBE || context.hasDeferOrStream) {\n this._eventEmitter.emit(context.boxID, response);\n }\n };\n\n @logRequest()\n private async _request(request: string, options: RequestOptions, context: RequestContext) {\n try {\n if (!context.hasDeferOrStream) {\n return new Promise((resolve: PendingResolver) => {\n this._worker.postMessage({\n context: WorkerClient._getMessageContext(context),\n method: REQUEST,\n options,\n request,\n type: GRAPHQL_BOX,\n });\n\n this._pending.set(context.boxID, { resolve });\n });\n }\n\n this._worker.postMessage({\n context: WorkerClient._getMessageContext(context),\n method: REQUEST,\n options,\n request,\n type: GRAPHQL_BOX,\n });\n\n const eventAsyncIterator = new EventAsyncIterator<MaybeRequestResult>(this._eventEmitter, context.boxID);\n return eventAsyncIterator.getIterator();\n } catch (error) {\n return { errors: castArray(error) };\n }\n }\n\n @logRequest()\n private async _subscribe(request: string, options: RequestOptions, context: RequestContext) {\n try {\n this._worker.postMessage({\n context: WorkerClient._getMessageContext(context),\n method: SUBSCRIBE,\n options,\n request,\n type: GRAPHQL_BOX,\n });\n\n const eventAsyncIterator = new EventAsyncIterator<MaybeRequestResult>(this._eventEmitter, context.boxID);\n return eventAsyncIterator.getIterator();\n } catch (error) {\n return { errors: castArray(error) };\n }\n }\n}\n","import { handleMessage as handleCachemapMessage } from \"@cachemap/core-worker\";\nimport Client from \"@graphql-box/client\";\nimport { MaybeRequestResult, MaybeRequestResultWithDehydratedCacheMetadata, RequestOptions } from \"@graphql-box/core\";\nimport { dehydrateCacheMetadata, serializeErrors } from \"@graphql-box/helpers\";\nimport { forAwaitEach, isAsyncIterable } from \"iterall\";\nimport { isPlainObject } from \"lodash\";\nimport { CACHEMAP, GRAPHQL_BOX, MESSAGE, REQUEST, SUBSCRIBE } from \"../consts\";\nimport { MessageContext, MessageRequestPayload, MethodNames, RegisterWorkerOptions } from \"../defs\";\n\nconst { addEventListener, postMessage } = (self as unknown) as DedicatedWorkerGlobalScope;\n\nasync function handleRequest(\n request: string,\n method: MethodNames,\n options: RequestOptions,\n context: MessageContext,\n client: Client,\n): Promise<void> {\n const requestResult = await client.request(request, options, context);\n\n if (!isAsyncIterable(requestResult)) {\n const { _cacheMetadata, ...otherProps } = requestResult as MaybeRequestResult;\n const result: MaybeRequestResultWithDehydratedCacheMetadata = { ...otherProps };\n\n if (_cacheMetadata) {\n result._cacheMetadata = dehydrateCacheMetadata(_cacheMetadata);\n }\n\n postMessage({ context, method, result: serializeErrors(result), type: GRAPHQL_BOX });\n return;\n }\n\n forAwaitEach(requestResult, ({ _cacheMetadata, ...otherProps }: MaybeRequestResult) => {\n const result: MaybeRequestResultWithDehydratedCacheMetadata = { ...otherProps };\n\n if (_cacheMetadata) {\n result._cacheMetadata = dehydrateCacheMetadata(_cacheMetadata);\n }\n\n postMessage({ context, method, result: serializeErrors(result), type: GRAPHQL_BOX });\n });\n}\n\nasync function handleSubscription(\n request: string,\n method: MethodNames,\n options: RequestOptions,\n context: MessageContext,\n client: Client,\n): Promise<void> {\n const subscribeResult = await client.subscribe(request, options, context);\n\n if (!isAsyncIterable(subscribeResult)) {\n postMessage({ context, method, result: serializeErrors(subscribeResult as MaybeRequestResult), type: GRAPHQL_BOX });\n return;\n }\n\n forAwaitEach(subscribeResult, ({ _cacheMetadata, ...otherProps }: MaybeRequestResult) => {\n const result: MaybeRequestResultWithDehydratedCacheMetadata = { ...otherProps };\n\n if (_cacheMetadata) {\n result._cacheMetadata = dehydrateCacheMetadata(_cacheMetadata);\n }\n\n postMessage({ context, method, result: serializeErrors(result), type: GRAPHQL_BOX });\n });\n}\n\nexport function handleMessage(data: MessageRequestPayload, client: Client): void {\n const { context, method, options, request } = data as MessageRequestPayload;\n\n if (method === REQUEST) {\n handleRequest(request, method, options, context, client);\n } else if (method === SUBSCRIBE) {\n handleSubscription(request, method, options, context, client);\n }\n}\n\nexport default async function registerWorker({ client }: RegisterWorkerOptions): Promise<void> {\n function onMessage({ data }: MessageEvent): void {\n if (!isPlainObject(data)) {\n return;\n }\n\n const { type } = data as MessageRequestPayload;\n\n if (type === GRAPHQL_BOX) {\n handleMessage(data, client);\n } else if (type === CACHEMAP && client.cache) {\n handleCachemapMessage(data, client.cache);\n }\n }\n\n addEventListener(MESSAGE, onMessage);\n}\n"],"names":["REQUEST_EXECUTED","logRequest","_target","_propertyName","descriptor","method","value","args","Promise","resolve","debugManager","otherContext","apply","_this","startTime","now","result","endTime","duration","emit","context","options","request","stats","reject","WorkerClient","Map","data","_isPlainObject","type","_cacheMetadata","otherProps","response","deserializeErrors","requestID","boxID","rehydrateCacheMetadata","pending","_pending","get","hasDeferOrStream","_eventEmitter","errors","push","TypeError","cache","worker","length","_cache","_debugManager","EventEmitter","_worker","_addEventListener","this","_request","_getRequestContext","MUTATION","QUERY","_subscribe","SUBSCRIPTION","addEventListener","_onMessage","operation","uuid","fieldTypeMap","operationName","queryFiltered","whitelistHash","hashRequest","_this2","postMessage","_getMessageContext","set","eventAsyncIterator","EventAsyncIterator","getIterator","_castArray","self","client","requestResult","isAsyncIterable","dehydrateCacheMetadata","serializeErrors","forAwaitEach","subscribe","subscribeResult","handleMessage","handleRequest","handleSubscription","registerWorker","onMessage","handleCachemapMessage"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../worker-client/src/consts/index.ts","../worker-client/src/debug/log-request/index.ts","../worker-client/src/main/index.ts","../worker-client/src/register-worker/index.ts"],"sourcesContent":["export const REQUEST_EXECUTED = \"request_executed\";\nexport const REQUEST_RESOLVED = \"request_resolved\";\n\nexport const REQUEST = \"request\";\nexport const SUBSCRIBE = \"subscribe\";\n\nexport const MESSAGE = \"message\";\n\nexport const GRAPHQL_BOX = \"graphqlBox\";\nexport const CACHEMAP = \"cachemap\";\n","import { RequestContext } from \"@graphql-box/core\";\nimport { REQUEST_EXECUTED, REQUEST_RESOLVED } from \"../../consts\";\n\nexport default function logRequest() {\n return (\n _target: any,\n _propertyName: string,\n descriptor: TypedPropertyDescriptor<(...args: any[]) => Promise<any>>,\n ): void => {\n const method = descriptor.value;\n if (!method) return;\n\n descriptor.value = async function descriptorValue(...args: any[]): Promise<any> {\n try {\n return new Promise(async resolve => {\n const { debugManager, ...otherContext } = args[2] as RequestContext;\n\n if (!debugManager) {\n resolve(await method.apply(this, args));\n return;\n }\n\n const startTime = debugManager.now();\n\n debugManager.emit(REQUEST_EXECUTED, {\n context: otherContext,\n options: args[1],\n request: args[0],\n stats: { startTime },\n });\n\n const result = await method.apply(this, args);\n const endTime = debugManager.now();\n const duration = endTime - startTime;\n resolve(result);\n\n debugManager.emit(REQUEST_RESOLVED, {\n context: otherContext,\n options: args[1],\n request: args[0],\n result,\n stats: { duration, endTime, startTime },\n });\n });\n } catch (error) {\n return Promise.reject(error);\n }\n };\n };\n}\n","import WorkerCachemap from \"@cachemap/core-worker\";\nimport {\n DebugManagerDef,\n MUTATION,\n MaybeRequestContext,\n MaybeRequestResult,\n QUERY,\n RequestContext,\n RequestOptions,\n SUBSCRIPTION,\n ValidOperations,\n} from \"@graphql-box/core\";\nimport { EventAsyncIterator, deserializeErrors, hashRequest, rehydrateCacheMetadata } from \"@graphql-box/helpers\";\nimport EventEmitter from \"eventemitter3\";\nimport { castArray, isPlainObject } from \"lodash\";\nimport { v1 as uuid } from \"uuid\";\nimport { GRAPHQL_BOX, MESSAGE, REQUEST, SUBSCRIBE } from \"../consts\";\nimport logRequest from \"../debug/log-request\";\nimport { MessageContext, MessageResponsePayload, PendingResolver, PendingTracker, UserOptions } from \"../defs\";\n\nexport default class WorkerClient {\n private static _getMessageContext({ boxID, hasDeferOrStream = false }: RequestContext): MessageContext {\n return { boxID, hasDeferOrStream };\n }\n\n private _cache: WorkerCachemap;\n private _debugManager: DebugManagerDef | null;\n private _eventEmitter: EventEmitter;\n private _pending: PendingTracker = new Map();\n private _worker: Worker;\n\n constructor(options: UserOptions) {\n const errors: TypeError[] = [];\n\n if (!isPlainObject(options)) {\n errors.push(new TypeError(\"@graphql-box/client expected options to ba a plain object.\"));\n }\n\n if (!options.cache) {\n errors.push(new TypeError(\"@graphql-box/client expected options.cache.\"));\n }\n\n if (!options.worker) {\n errors.push(new TypeError(\"@graphql-box/client expected options.worker.\"));\n }\n\n if (errors.length) {\n throw errors;\n }\n\n this._cache = options.cache;\n this._debugManager = options.debugManager ? options.debugManager() : null;\n this._eventEmitter = new EventEmitter();\n this._worker = options.worker;\n this._addEventListener();\n }\n\n get cache(): WorkerCachemap {\n return this._cache;\n }\n\n public async mutate(request: string, options: RequestOptions = {}, context: MaybeRequestContext = {}) {\n return this._request(request, options, this._getRequestContext(MUTATION, request, context));\n }\n\n public async query(request: string, options: RequestOptions = {}, context: MaybeRequestContext = {}) {\n return this._request(request, options, this._getRequestContext(QUERY, request, context));\n }\n\n public async request(request: string, options: RequestOptions = {}, context: MaybeRequestContext = {}) {\n return this._request(request, options, this._getRequestContext(QUERY, request, context));\n }\n\n public async subscribe(request: string, options: RequestOptions = {}) {\n return this._subscribe(request, options, this._getRequestContext(SUBSCRIPTION, request));\n }\n\n private _addEventListener(): void {\n this._worker.addEventListener(MESSAGE, this._onMessage);\n }\n\n private _getRequestContext(\n operation: ValidOperations,\n request: string,\n context: MaybeRequestContext = {},\n ): RequestContext {\n return {\n boxID: uuid(),\n debugManager: this._debugManager,\n fieldTypeMap: new Map(),\n operation,\n operationName: \"\",\n queryFiltered: false,\n request,\n whitelistHash: hashRequest(request),\n ...context,\n };\n }\n\n private _onMessage = async ({ data }: MessageEvent): Promise<void> => {\n if (!isPlainObject(data)) {\n return;\n }\n\n const { context, method, result, type } = data as MessageResponsePayload;\n\n if (type !== GRAPHQL_BOX || !isPlainObject(result)) {\n return;\n }\n\n const { _cacheMetadata, ...otherProps } = result;\n const response: MaybeRequestResult = deserializeErrors({ ...otherProps, requestID: context.boxID });\n\n if (_cacheMetadata) {\n response._cacheMetadata = rehydrateCacheMetadata(_cacheMetadata);\n }\n\n if (method === REQUEST) {\n const pending = this._pending.get(context.boxID);\n\n if (!pending) {\n return;\n }\n\n pending.resolve(response);\n } else if (method === SUBSCRIBE || context.hasDeferOrStream) {\n this._eventEmitter.emit(context.boxID, response);\n }\n };\n\n @logRequest()\n private async _request(request: string, options: RequestOptions, context: RequestContext) {\n try {\n if (!context.hasDeferOrStream) {\n return new Promise((resolve: PendingResolver) => {\n this._worker.postMessage({\n context: WorkerClient._getMessageContext(context),\n method: REQUEST,\n options,\n request,\n type: GRAPHQL_BOX,\n });\n\n this._pending.set(context.boxID, { resolve });\n });\n }\n\n this._worker.postMessage({\n context: WorkerClient._getMessageContext(context),\n method: REQUEST,\n options,\n request,\n type: GRAPHQL_BOX,\n });\n\n const eventAsyncIterator = new EventAsyncIterator<MaybeRequestResult>(this._eventEmitter, context.boxID);\n return eventAsyncIterator.getIterator();\n } catch (error) {\n return { errors: castArray(error) };\n }\n }\n\n @logRequest()\n private async _subscribe(request: string, options: RequestOptions, context: RequestContext) {\n try {\n this._worker.postMessage({\n context: WorkerClient._getMessageContext(context),\n method: SUBSCRIBE,\n options,\n request,\n type: GRAPHQL_BOX,\n });\n\n const eventAsyncIterator = new EventAsyncIterator<MaybeRequestResult>(this._eventEmitter, context.boxID);\n return eventAsyncIterator.getIterator();\n } catch (error) {\n return { errors: castArray(error) };\n }\n }\n}\n","import { handleMessage as handleCachemapMessage } from \"@cachemap/core-worker\";\nimport Client from \"@graphql-box/client\";\nimport { MaybeRequestResult, MaybeRequestResultWithDehydratedCacheMetadata, RequestOptions } from \"@graphql-box/core\";\nimport { dehydrateCacheMetadata, serializeErrors } from \"@graphql-box/helpers\";\nimport { forAwaitEach, isAsyncIterable } from \"iterall\";\nimport { isPlainObject } from \"lodash\";\nimport { CACHEMAP, GRAPHQL_BOX, MESSAGE, REQUEST, SUBSCRIBE } from \"../consts\";\nimport { MessageContext, MessageRequestPayload, MethodNames, RegisterWorkerOptions } from \"../defs\";\n\nconst { addEventListener, postMessage } = (self as unknown) as DedicatedWorkerGlobalScope;\n\nasync function handleRequest(\n request: string,\n method: MethodNames,\n options: RequestOptions,\n context: MessageContext,\n client: Client,\n): Promise<void> {\n const requestResult = await client.request(request, options, context);\n\n if (!isAsyncIterable(requestResult)) {\n const { _cacheMetadata, ...otherProps } = requestResult as MaybeRequestResult;\n const result: MaybeRequestResultWithDehydratedCacheMetadata = { ...otherProps };\n\n if (_cacheMetadata) {\n result._cacheMetadata = dehydrateCacheMetadata(_cacheMetadata);\n }\n\n postMessage({ context, method, result: serializeErrors(result), type: GRAPHQL_BOX });\n return;\n }\n\n forAwaitEach(requestResult, ({ _cacheMetadata, ...otherProps }: MaybeRequestResult) => {\n const result: MaybeRequestResultWithDehydratedCacheMetadata = { ...otherProps };\n\n if (_cacheMetadata) {\n result._cacheMetadata = dehydrateCacheMetadata(_cacheMetadata);\n }\n\n postMessage({ context, method, result: serializeErrors(result), type: GRAPHQL_BOX });\n });\n}\n\nasync function handleSubscription(\n request: string,\n method: MethodNames,\n options: RequestOptions,\n context: MessageContext,\n client: Client,\n): Promise<void> {\n const subscribeResult = await client.subscribe(request, options, context);\n\n if (!isAsyncIterable(subscribeResult)) {\n postMessage({ context, method, result: serializeErrors(subscribeResult as MaybeRequestResult), type: GRAPHQL_BOX });\n return;\n }\n\n forAwaitEach(subscribeResult, ({ _cacheMetadata, ...otherProps }: MaybeRequestResult) => {\n const result: MaybeRequestResultWithDehydratedCacheMetadata = { ...otherProps };\n\n if (_cacheMetadata) {\n result._cacheMetadata = dehydrateCacheMetadata(_cacheMetadata);\n }\n\n postMessage({ context, method, result: serializeErrors(result), type: GRAPHQL_BOX });\n });\n}\n\nexport function handleMessage(data: MessageRequestPayload, client: Client): void {\n const { context, method, options, request } = data as MessageRequestPayload;\n\n if (method === REQUEST) {\n handleRequest(request, method, options, context, client);\n } else if (method === SUBSCRIBE) {\n handleSubscription(request, method, options, context, client);\n }\n}\n\nexport default async function registerWorker({ client }: RegisterWorkerOptions): Promise<void> {\n function onMessage({ data }: MessageEvent): void {\n if (!isPlainObject(data)) {\n return;\n }\n\n const { type } = data as MessageRequestPayload;\n\n if (type === GRAPHQL_BOX) {\n handleMessage(data, client);\n } else if (type === CACHEMAP && client.cache) {\n handleCachemapMessage(data, client.cache);\n }\n }\n\n addEventListener(MESSAGE, onMessage);\n}\n"],"names":["REQUEST_EXECUTED","logRequest","_target","_propertyName","descriptor","method","value","args","Promise","resolve","debugManager","otherContext","apply","_this","startTime","now","emit","context","options","request","stats","result","endTime","duration","reject","WorkerClient","Map","data","_isPlainObject","type","_cacheMetadata","otherProps","response","deserializeErrors","requestID","boxID","rehydrateCacheMetadata","pending","_pending","get","hasDeferOrStream","_eventEmitter","errors","push","TypeError","cache","worker","length","_cache","_debugManager","EventEmitter","_worker","_addEventListener","this","_request","_getRequestContext","MUTATION","QUERY","_subscribe","SUBSCRIPTION","addEventListener","_onMessage","operation","uuid","fieldTypeMap","operationName","queryFiltered","whitelistHash","hashRequest","_this2","postMessage","_getMessageContext","set","eventAsyncIterator","EventAsyncIterator","getIterator","_castArray","self","client","requestResult","isAsyncIterable","dehydrateCacheMetadata","serializeErrors","forAwaitEach","subscribe","subscribeResult","handleMessage","handleRequest","handleSubscription","registerWorker","onMessage","handleCachemapMessage"],"mappings":"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"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
-----------------------------
|
|
2
2
|
Rollup File Analysis
|
|
3
3
|
-----------------------------
|
|
4
|
-
bundle size: 23.
|
|
5
|
-
original size:
|
|
4
|
+
bundle size: 23.838 KB
|
|
5
|
+
original size: 12.035 KB
|
|
6
6
|
code reduction: 0 %
|
|
7
7
|
module count: 6
|
|
8
8
|
|
|
9
9
|
███████████████████████████░░░░░░░░░░░░░░░░░░░░░░░
|
|
10
10
|
file: /src/main/index.ts
|
|
11
|
-
bundle space:
|
|
11
|
+
bundle space: 54.92 %
|
|
12
12
|
rendered size: 13.092 KB
|
|
13
13
|
original size: 5.527 KB
|
|
14
14
|
code reduction: 0 %
|
|
@@ -17,7 +17,7 @@ dependents: 1
|
|
|
17
17
|
|
|
18
18
|
█████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
|
19
19
|
file: /src/register-worker/index.ts
|
|
20
|
-
bundle space:
|
|
20
|
+
bundle space: 26.71 %
|
|
21
21
|
rendered size: 6.366 KB
|
|
22
22
|
original size: 3.377 KB
|
|
23
23
|
code reduction: 0 %
|
|
@@ -26,19 +26,19 @@ dependents: 1
|
|
|
26
26
|
|
|
27
27
|
████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
|
28
28
|
file: /src/debug/log-request/index.ts
|
|
29
|
-
bundle space:
|
|
30
|
-
rendered size:
|
|
31
|
-
original size: 1.
|
|
29
|
+
bundle space: 17.44 %
|
|
30
|
+
rendered size: 4.157 KB
|
|
31
|
+
original size: 1.455 KB
|
|
32
32
|
code reduction: 0 %
|
|
33
33
|
dependents: 1
|
|
34
34
|
- /src/main/index.ts
|
|
35
35
|
|
|
36
36
|
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
|
|
37
37
|
file: /src/consts/index.ts
|
|
38
|
-
bundle space: 0.
|
|
39
|
-
rendered size:
|
|
40
|
-
original size:
|
|
41
|
-
code reduction:
|
|
38
|
+
bundle space: 0.94 %
|
|
39
|
+
rendered size: 223 Bytes
|
|
40
|
+
original size: 290 Bytes
|
|
41
|
+
code reduction: 23.1 %
|
|
42
42
|
dependents: 4
|
|
43
43
|
- /src/debug/log-request/index.ts
|
|
44
44
|
- /src/main/index.ts
|
package/lib/main/consts/index.js
CHANGED
|
@@ -3,9 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.CACHEMAP = exports.GRAPHQL_BOX = exports.MESSAGE = exports.SUBSCRIBE = exports.REQUEST = exports.REQUEST_EXECUTED = void 0;
|
|
6
|
+
exports.CACHEMAP = exports.GRAPHQL_BOX = exports.MESSAGE = exports.SUBSCRIBE = exports.REQUEST = exports.REQUEST_RESOLVED = exports.REQUEST_EXECUTED = void 0;
|
|
7
7
|
const REQUEST_EXECUTED = "request_executed";
|
|
8
8
|
exports.REQUEST_EXECUTED = REQUEST_EXECUTED;
|
|
9
|
+
const REQUEST_RESOLVED = "request_resolved";
|
|
10
|
+
exports.REQUEST_RESOLVED = REQUEST_RESOLVED;
|
|
9
11
|
const REQUEST = "request";
|
|
10
12
|
exports.REQUEST = REQUEST;
|
|
11
13
|
const SUBSCRIBE = "subscribe";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/consts/index.ts"],"names":["REQUEST_EXECUTED","REQUEST","SUBSCRIBE","MESSAGE","GRAPHQL_BOX","CACHEMAP"],"mappings":";;;;;;AAAO,MAAMA,gBAAgB,GAAG,kBAAzB;;AAEA,MAAMC,OAAO,GAAG,SAAhB;;AACA,MAAMC,SAAS,GAAG,WAAlB;;AAEA,MAAMC,OAAO,GAAG,SAAhB;;AAEA,MAAMC,WAAW,GAAG,YAApB;;AACA,MAAMC,QAAQ,GAAG,UAAjB","sourcesContent":["export const REQUEST_EXECUTED = \"request_executed\";\n\nexport const REQUEST = \"request\";\nexport const SUBSCRIBE = \"subscribe\";\n\nexport const MESSAGE = \"message\";\n\nexport const GRAPHQL_BOX = \"graphqlBox\";\nexport const CACHEMAP = \"cachemap\";\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/consts/index.ts"],"names":["REQUEST_EXECUTED","REQUEST_RESOLVED","REQUEST","SUBSCRIBE","MESSAGE","GRAPHQL_BOX","CACHEMAP"],"mappings":";;;;;;AAAO,MAAMA,gBAAgB,GAAG,kBAAzB;;AACA,MAAMC,gBAAgB,GAAG,kBAAzB;;AAEA,MAAMC,OAAO,GAAG,SAAhB;;AACA,MAAMC,SAAS,GAAG,WAAlB;;AAEA,MAAMC,OAAO,GAAG,SAAhB;;AAEA,MAAMC,WAAW,GAAG,YAApB;;AACA,MAAMC,QAAQ,GAAG,UAAjB","sourcesContent":["export const REQUEST_EXECUTED = \"request_executed\";\nexport const REQUEST_RESOLVED = \"request_resolved\";\n\nexport const REQUEST = \"request\";\nexport const SUBSCRIBE = \"subscribe\";\n\nexport const MESSAGE = \"message\";\n\nexport const GRAPHQL_BOX = \"graphqlBox\";\nexport const CACHEMAP = \"cachemap\";\n"],"file":"index.js"}
|
|
@@ -28,11 +28,19 @@ function logRequest() {
|
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
const startTime = debugManager.now();
|
|
31
|
+
debugManager.emit(_consts.REQUEST_EXECUTED, {
|
|
32
|
+
context: otherContext,
|
|
33
|
+
options: args[1],
|
|
34
|
+
request: args[0],
|
|
35
|
+
stats: {
|
|
36
|
+
startTime
|
|
37
|
+
}
|
|
38
|
+
});
|
|
31
39
|
const result = await method.apply(this, args);
|
|
32
40
|
const endTime = debugManager.now();
|
|
33
41
|
const duration = endTime - startTime;
|
|
34
42
|
resolve(result);
|
|
35
|
-
debugManager.emit(_consts.
|
|
43
|
+
debugManager.emit(_consts.REQUEST_RESOLVED, {
|
|
36
44
|
context: otherContext,
|
|
37
45
|
options: args[1],
|
|
38
46
|
request: args[0],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/debug/log-request/index.ts"],"names":["logRequest","_target","_propertyName","descriptor","method","value","descriptorValue","args","Promise","resolve","debugManager","otherContext","apply","startTime","now","
|
|
1
|
+
{"version":3,"sources":["../../../../src/debug/log-request/index.ts"],"names":["logRequest","_target","_propertyName","descriptor","method","value","descriptorValue","args","Promise","resolve","debugManager","otherContext","apply","startTime","now","emit","REQUEST_EXECUTED","context","options","request","stats","result","endTime","duration","REQUEST_RESOLVED","error","reject"],"mappings":";;;;;;;;;AACA;;AAEe,SAASA,UAAT,GAAsB;AACnC,SAAO,CACLC,OADK,EAELC,aAFK,EAGLC,UAHK,KAII;AACT,UAAMC,MAAM,GAAGD,UAAU,CAACE,KAA1B;AACA,QAAI,CAACD,MAAL,EAAa;;AAEbD,IAAAA,UAAU,CAACE,KAAX,GAAmB,eAAeC,eAAf,CAA+B,GAAGC,IAAlC,EAA6D;AAC9E,UAAI;AACF,eAAO,IAAIC,OAAJ,CAAY,MAAMC,OAAN,IAAiB;AAClC,gBAAM;AAAEC,YAAAA,YAAF;AAAgB,eAAGC;AAAnB,cAAoCJ,IAAI,CAAC,CAAD,CAA9C;;AAEA,cAAI,CAACG,YAAL,EAAmB;AACjBD,YAAAA,OAAO,CAAC,MAAML,MAAM,CAACQ,KAAP,CAAa,IAAb,EAAmBL,IAAnB,CAAP,CAAP;AACA;AACD;;AAED,gBAAMM,SAAS,GAAGH,YAAY,CAACI,GAAb,EAAlB;AAEAJ,UAAAA,YAAY,CAACK,IAAb,CAAkBC,wBAAlB,EAAoC;AAClCC,YAAAA,OAAO,EAAEN,YADyB;AAElCO,YAAAA,OAAO,EAAEX,IAAI,CAAC,CAAD,CAFqB;AAGlCY,YAAAA,OAAO,EAAEZ,IAAI,CAAC,CAAD,CAHqB;AAIlCa,YAAAA,KAAK,EAAE;AAAEP,cAAAA;AAAF;AAJ2B,WAApC;AAOA,gBAAMQ,MAAM,GAAG,MAAMjB,MAAM,CAACQ,KAAP,CAAa,IAAb,EAAmBL,IAAnB,CAArB;AACA,gBAAMe,OAAO,GAAGZ,YAAY,CAACI,GAAb,EAAhB;AACA,gBAAMS,QAAQ,GAAGD,OAAO,GAAGT,SAA3B;AACAJ,UAAAA,OAAO,CAACY,MAAD,CAAP;AAEAX,UAAAA,YAAY,CAACK,IAAb,CAAkBS,wBAAlB,EAAoC;AAClCP,YAAAA,OAAO,EAAEN,YADyB;AAElCO,YAAAA,OAAO,EAAEX,IAAI,CAAC,CAAD,CAFqB;AAGlCY,YAAAA,OAAO,EAAEZ,IAAI,CAAC,CAAD,CAHqB;AAIlCc,YAAAA,MAJkC;AAKlCD,YAAAA,KAAK,EAAE;AAAEG,cAAAA,QAAF;AAAYD,cAAAA,OAAZ;AAAqBT,cAAAA;AAArB;AAL2B,WAApC;AAOD,SA7BM,CAAP;AA8BD,OA/BD,CA+BE,OAAOY,KAAP,EAAc;AACd,eAAOjB,OAAO,CAACkB,MAAR,CAAeD,KAAf,CAAP;AACD;AACF,KAnCD;AAoCD,GA5CD;AA6CD","sourcesContent":["import { RequestContext } from \"@graphql-box/core\";\nimport { REQUEST_EXECUTED, REQUEST_RESOLVED } from \"../../consts\";\n\nexport default function logRequest() {\n return (\n _target: any,\n _propertyName: string,\n descriptor: TypedPropertyDescriptor<(...args: any[]) => Promise<any>>,\n ): void => {\n const method = descriptor.value;\n if (!method) return;\n\n descriptor.value = async function descriptorValue(...args: any[]): Promise<any> {\n try {\n return new Promise(async resolve => {\n const { debugManager, ...otherContext } = args[2] as RequestContext;\n\n if (!debugManager) {\n resolve(await method.apply(this, args));\n return;\n }\n\n const startTime = debugManager.now();\n\n debugManager.emit(REQUEST_EXECUTED, {\n context: otherContext,\n options: args[1],\n request: args[0],\n stats: { startTime },\n });\n\n const result = await method.apply(this, args);\n const endTime = debugManager.now();\n const duration = endTime - startTime;\n resolve(result);\n\n debugManager.emit(REQUEST_RESOLVED, {\n context: otherContext,\n options: args[1],\n request: args[0],\n result,\n stats: { duration, endTime, startTime },\n });\n });\n } catch (error) {\n return Promise.reject(error);\n }\n };\n };\n}\n"],"file":"index.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/consts/index.ts"],"names":["REQUEST_EXECUTED","REQUEST","SUBSCRIBE","MESSAGE","GRAPHQL_BOX","CACHEMAP"],"mappings":"AAAA,OAAO,MAAMA,gBAAgB,GAAG,kBAAzB;AAEP,OAAO,MAAMC,OAAO,GAAG,SAAhB;AACP,OAAO,MAAMC,SAAS,GAAG,WAAlB;AAEP,OAAO,MAAMC,OAAO,GAAG,SAAhB;AAEP,OAAO,MAAMC,WAAW,GAAG,YAApB;AACP,OAAO,MAAMC,QAAQ,GAAG,UAAjB","sourcesContent":["export const REQUEST_EXECUTED = \"request_executed\";\n\nexport const REQUEST = \"request\";\nexport const SUBSCRIBE = \"subscribe\";\n\nexport const MESSAGE = \"message\";\n\nexport const GRAPHQL_BOX = \"graphqlBox\";\nexport const CACHEMAP = \"cachemap\";\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/consts/index.ts"],"names":["REQUEST_EXECUTED","REQUEST_RESOLVED","REQUEST","SUBSCRIBE","MESSAGE","GRAPHQL_BOX","CACHEMAP"],"mappings":"AAAA,OAAO,MAAMA,gBAAgB,GAAG,kBAAzB;AACP,OAAO,MAAMC,gBAAgB,GAAG,kBAAzB;AAEP,OAAO,MAAMC,OAAO,GAAG,SAAhB;AACP,OAAO,MAAMC,SAAS,GAAG,WAAlB;AAEP,OAAO,MAAMC,OAAO,GAAG,SAAhB;AAEP,OAAO,MAAMC,WAAW,GAAG,YAApB;AACP,OAAO,MAAMC,QAAQ,GAAG,UAAjB","sourcesContent":["export const REQUEST_EXECUTED = \"request_executed\";\nexport const REQUEST_RESOLVED = \"request_resolved\";\n\nexport const REQUEST = \"request\";\nexport const SUBSCRIBE = \"subscribe\";\n\nexport const MESSAGE = \"message\";\n\nexport const GRAPHQL_BOX = \"graphqlBox\";\nexport const CACHEMAP = \"cachemap\";\n"],"file":"index.js"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import "core-js/modules/es.promise.js";
|
|
2
|
-
import { REQUEST_EXECUTED } from "../../consts";
|
|
2
|
+
import { REQUEST_EXECUTED, REQUEST_RESOLVED } from "../../consts";
|
|
3
3
|
export default function logRequest() {
|
|
4
4
|
return (_target, _propertyName, descriptor) => {
|
|
5
5
|
const method = descriptor.value;
|
|
@@ -19,11 +19,19 @@ export default function logRequest() {
|
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
const startTime = debugManager.now();
|
|
22
|
+
debugManager.emit(REQUEST_EXECUTED, {
|
|
23
|
+
context: otherContext,
|
|
24
|
+
options: args[1],
|
|
25
|
+
request: args[0],
|
|
26
|
+
stats: {
|
|
27
|
+
startTime
|
|
28
|
+
}
|
|
29
|
+
});
|
|
22
30
|
const result = await method.apply(this, args);
|
|
23
31
|
const endTime = debugManager.now();
|
|
24
32
|
const duration = endTime - startTime;
|
|
25
33
|
resolve(result);
|
|
26
|
-
debugManager.emit(
|
|
34
|
+
debugManager.emit(REQUEST_RESOLVED, {
|
|
27
35
|
context: otherContext,
|
|
28
36
|
options: args[1],
|
|
29
37
|
request: args[0],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/debug/log-request/index.ts"],"names":["REQUEST_EXECUTED","logRequest","_target","_propertyName","descriptor","method","value","descriptorValue","args","Promise","resolve","debugManager","otherContext","apply","startTime","now","
|
|
1
|
+
{"version":3,"sources":["../../../../src/debug/log-request/index.ts"],"names":["REQUEST_EXECUTED","REQUEST_RESOLVED","logRequest","_target","_propertyName","descriptor","method","value","descriptorValue","args","Promise","resolve","debugManager","otherContext","apply","startTime","now","emit","context","options","request","stats","result","endTime","duration","error","reject"],"mappings":";AACA,SAASA,gBAAT,EAA2BC,gBAA3B,QAAmD,cAAnD;AAEA,eAAe,SAASC,UAAT,GAAsB;AACnC,SAAO,CACLC,OADK,EAELC,aAFK,EAGLC,UAHK,KAII;AACT,UAAMC,MAAM,GAAGD,UAAU,CAACE,KAA1B;AACA,QAAI,CAACD,MAAL,EAAa;;AAEbD,IAAAA,UAAU,CAACE,KAAX,GAAmB,eAAeC,eAAf,CAA+B,GAAGC,IAAlC,EAA6D;AAC9E,UAAI;AACF,eAAO,IAAIC,OAAJ,CAAY,MAAMC,OAAN,IAAiB;AAClC,gBAAM;AAAEC,YAAAA,YAAF;AAAgB,eAAGC;AAAnB,cAAoCJ,IAAI,CAAC,CAAD,CAA9C;;AAEA,cAAI,CAACG,YAAL,EAAmB;AACjBD,YAAAA,OAAO,CAAC,MAAML,MAAM,CAACQ,KAAP,CAAa,IAAb,EAAmBL,IAAnB,CAAP,CAAP;AACA;AACD;;AAED,gBAAMM,SAAS,GAAGH,YAAY,CAACI,GAAb,EAAlB;AAEAJ,UAAAA,YAAY,CAACK,IAAb,CAAkBjB,gBAAlB,EAAoC;AAClCkB,YAAAA,OAAO,EAAEL,YADyB;AAElCM,YAAAA,OAAO,EAAEV,IAAI,CAAC,CAAD,CAFqB;AAGlCW,YAAAA,OAAO,EAAEX,IAAI,CAAC,CAAD,CAHqB;AAIlCY,YAAAA,KAAK,EAAE;AAAEN,cAAAA;AAAF;AAJ2B,WAApC;AAOA,gBAAMO,MAAM,GAAG,MAAMhB,MAAM,CAACQ,KAAP,CAAa,IAAb,EAAmBL,IAAnB,CAArB;AACA,gBAAMc,OAAO,GAAGX,YAAY,CAACI,GAAb,EAAhB;AACA,gBAAMQ,QAAQ,GAAGD,OAAO,GAAGR,SAA3B;AACAJ,UAAAA,OAAO,CAACW,MAAD,CAAP;AAEAV,UAAAA,YAAY,CAACK,IAAb,CAAkBhB,gBAAlB,EAAoC;AAClCiB,YAAAA,OAAO,EAAEL,YADyB;AAElCM,YAAAA,OAAO,EAAEV,IAAI,CAAC,CAAD,CAFqB;AAGlCW,YAAAA,OAAO,EAAEX,IAAI,CAAC,CAAD,CAHqB;AAIlCa,YAAAA,MAJkC;AAKlCD,YAAAA,KAAK,EAAE;AAAEG,cAAAA,QAAF;AAAYD,cAAAA,OAAZ;AAAqBR,cAAAA;AAArB;AAL2B,WAApC;AAOD,SA7BM,CAAP;AA8BD,OA/BD,CA+BE,OAAOU,KAAP,EAAc;AACd,eAAOf,OAAO,CAACgB,MAAR,CAAeD,KAAf,CAAP;AACD;AACF,KAnCD;AAoCD,GA5CD;AA6CD","sourcesContent":["import { RequestContext } from \"@graphql-box/core\";\nimport { REQUEST_EXECUTED, REQUEST_RESOLVED } from \"../../consts\";\n\nexport default function logRequest() {\n return (\n _target: any,\n _propertyName: string,\n descriptor: TypedPropertyDescriptor<(...args: any[]) => Promise<any>>,\n ): void => {\n const method = descriptor.value;\n if (!method) return;\n\n descriptor.value = async function descriptorValue(...args: any[]): Promise<any> {\n try {\n return new Promise(async resolve => {\n const { debugManager, ...otherContext } = args[2] as RequestContext;\n\n if (!debugManager) {\n resolve(await method.apply(this, args));\n return;\n }\n\n const startTime = debugManager.now();\n\n debugManager.emit(REQUEST_EXECUTED, {\n context: otherContext,\n options: args[1],\n request: args[0],\n stats: { startTime },\n });\n\n const result = await method.apply(this, args);\n const endTime = debugManager.now();\n const duration = endTime - startTime;\n resolve(result);\n\n debugManager.emit(REQUEST_RESOLVED, {\n context: otherContext,\n options: args[1],\n request: args[0],\n result,\n stats: { duration, endTime, startTime },\n });\n });\n } catch (error) {\n return Promise.reject(error);\n }\n };\n };\n}\n"],"file":"index.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/consts/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AAEnD,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC,eAAO,MAAM,SAAS,cAAc,CAAC;AAErC,eAAO,MAAM,OAAO,YAAY,CAAC;AAEjC,eAAO,MAAM,WAAW,eAAe,CAAC;AACxC,eAAO,MAAM,QAAQ,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/consts/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AACnD,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AAEnD,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC,eAAO,MAAM,SAAS,cAAc,CAAC;AAErC,eAAO,MAAM,OAAO,YAAY,CAAC;AAEjC,eAAO,MAAM,WAAW,eAAe,CAAC;AACxC,eAAO,MAAM,QAAQ,aAAa,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/debug/log-request/index.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,UAAU,cAErB,GAAG,iBACG,MAAM,gDACyB,GAAG,EAAE,KAAK,QAAQ,GAAG,CAAC,MACnE,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/debug/log-request/index.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,UAAU,cAErB,GAAG,iBACG,MAAM,gDACyB,GAAG,EAAE,KAAK,QAAQ,GAAG,CAAC,MACnE,IAAI,CAyCR"}
|
package/package.json
CHANGED
package/src/consts/index.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RequestContext } from "@graphql-box/core";
|
|
2
|
-
import { REQUEST_EXECUTED } from "../../consts";
|
|
2
|
+
import { REQUEST_EXECUTED, REQUEST_RESOLVED } from "../../consts";
|
|
3
3
|
|
|
4
4
|
export default function logRequest() {
|
|
5
5
|
return (
|
|
@@ -21,12 +21,20 @@ export default function logRequest() {
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
const startTime = debugManager.now();
|
|
24
|
+
|
|
25
|
+
debugManager.emit(REQUEST_EXECUTED, {
|
|
26
|
+
context: otherContext,
|
|
27
|
+
options: args[1],
|
|
28
|
+
request: args[0],
|
|
29
|
+
stats: { startTime },
|
|
30
|
+
});
|
|
31
|
+
|
|
24
32
|
const result = await method.apply(this, args);
|
|
25
33
|
const endTime = debugManager.now();
|
|
26
34
|
const duration = endTime - startTime;
|
|
27
35
|
resolve(result);
|
|
28
36
|
|
|
29
|
-
debugManager.emit(
|
|
37
|
+
debugManager.emit(REQUEST_RESOLVED, {
|
|
30
38
|
context: otherContext,
|
|
31
39
|
options: args[1],
|
|
32
40
|
request: args[0],
|