UNPKG

4.53 kBJavaScriptView Raw
1!function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=109)}({109:function(e,t,n){n(39),e.exports=n(113)},113:function(e,t,n){"use strict";n.r(t);var o=n(29),r=n(30),s=n(31);window.transport=new class{constructor(){this.type="websocket",this.hooks={onConnect:()=>{},onDisconnect:()=>{}},this.requests={},this.requestIdCounter=0,this.queuedEvents=[],this.onOpen=()=>{console.log("Socket connection established"),this.hooks.onConnect(),this.reconnectTimeoutHandle&&(clearTimeout(this.reconnectTimeoutHandle),this.reconnectTimeoutHandle=void 0),console.log(`Replaying ${this.queuedEvents.length} queued events`),this.queuedEvents.length>0&&(this.queuedEvents.forEach(e=>this.socket.send(JSON.stringify({requestId:e.requestId,channel:e.channel,action:e.action,payload:e.payload}))),this.queuedEvents=[])},this.onClose=()=>{this.reconnectTimeoutHandle||(console.log("Socket connection interrupted"),this.hooks.onDisconnect())},this.onMessage=e=>{let t;try{t=JSON.parse(e.data),this.requests[t.requestId].resolve(t.payload),delete this.requests[t.requestId]}catch(t){console.log("Malformed response from server, ignoring",e.data,t)}},this.connect()}connect(){const{protocol:e,host:t}=window.location,n=`${e.replace(/http/,"ws")}//${t}`;this.socket=new WebSocket(n),this.socket.addEventListener("open",this.onOpen),this.socket.addEventListener("message",this.onMessage),this.socket.addEventListener("close",this.onClose)}disconnect(){this.socket.close()}reconnect(){console.log("Attempting to reconnect");let e=0;clearTimeout(this.reconnectTimeoutHandle),this.reconnectTimeoutHandle=void 0;const t=()=>{const n=100*Math.pow(2,e);15!==e?(console.log(`Retry connect after ${n}ms`),this.connect(),this.reconnectTimeoutHandle=setTimeout(()=>{e++,t()},n)):console.log("15 retry attempts failed. Giving up.")};t()}request(e,t,n){const o=this.requestIdCounter;return this.requestIdCounter++,new Promise((r,s)=>{this.requests[o]={resolve:r,reject:s};const i={requestId:o,channel:e,action:t,payload:n};if(this.socket.readyState!==WebSocket.OPEN)return console.log("Websocket not open. Queueing this request:",JSON.stringify(i)),void this.queuedEvents.push(i);this.socket.send(JSON.stringify(i))})}},window.channels={photon:new o.a,project:new r.a,telemetry:new s.a,window:{resize:async()=>{}},update:{install:async()=>{}}}},16:function(e,t){var n;n=function(){return this}();try{n=n||new Function("return this")()}catch(e){"object"==typeof window&&(n=window)}e.exports=n},29:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));class o{start(){return window.transport.request("photon","start",{data:null})}request(e){return console.log("Sending request to prisma client: ",e),window.transport.request("photon","request",{data:{query:e}})}stop(){return window.transport.request("photon","stop",{data:null})}}},30:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));class o{open(e){return window.transport.request("project","open",{data:{id:e}})}create(e,t){return window.transport.request("project","create",{data:{}})}connectOnly(e){return window.transport.request("project","connect",{data:{}})}validate(e){return window.transport.request("project","validate",{data:{}})}getProject(){return window.transport.request("project","get",{data:null})}getAll(){return window.transport.request("project","get-all",{data:null})}}},31:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));class o{send(e){return window.transport.request("telemetry","send",{data:e})}}},39:function(e,t,n){(function(e){("undefined"!=typeof window?window:void 0!==e?e:"undefined"!=typeof self?self:{}).SENTRY_RELEASE={id:"0.248.0"}}).call(this,n(16))}});
2//# sourceMappingURL=serverBus.js.map
\No newline at end of file