UNPKG

altair-static

Version:

Static package for altair graphql client

7 lines (4 loc) 8.58 kB
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="86d2468e-0307-5e3f-a1db-f7e57fcc3eaf")}catch(e){}}(); import{a as V}from"./chunk-ANLTCLUB.js";import{c as K}from"./chunk-472WPQLO.js";import{j as m}from"./chunk-B7YGBANW.js";var j=Object.prototype.hasOwnProperty;function b(e){return typeof e=="object"&&e!==null}function X(e){return Array.isArray(e)&&e.length>0&&e.every(o=>"message"in o)}function k(e,o){return j.call(e,o)}function R(e,o){return j.call(e,o)&&b(e[o])}function S(e,o){return j.call(e,o)&&typeof e[o]=="string"}function Q(e,o){return e.length<124?e:o}var Y="graphql-transport-ws";var f=(function(e){return e[e.InternalServerError=4500]="InternalServerError",e[e.InternalClientError=4005]="InternalClientError",e[e.BadRequest=4400]="BadRequest",e[e.BadResponse=4004]="BadResponse",e[e.Unauthorized=4401]="Unauthorized",e[e.Forbidden=4403]="Forbidden",e[e.SubprotocolNotAcceptable=4406]="SubprotocolNotAcceptable",e[e.ConnectionInitialisationTimeout=4408]="ConnectionInitialisationTimeout",e[e.ConnectionAcknowledgementTimeout=4504]="ConnectionAcknowledgementTimeout",e[e.SubscriberAlreadyExists=4409]="SubscriberAlreadyExists",e[e.TooManyInitialisationRequests=4429]="TooManyInitialisationRequests",e})(f||{}),c=(function(e){return e.ConnectionInit="connection_init",e.ConnectionAck="connection_ack",e.Ping="ping",e.Pong="pong",e.Subscribe="subscribe",e.Next="next",e.Error="error",e.Complete="complete",e})(c||{});function U(e){if(b(e)){if(!S(e,"type"))return!1;switch(e.type){case c.ConnectionInit:return!k(e,"payload")||e.payload===void 0||b(e.payload);case c.ConnectionAck:case c.Ping:case c.Pong:return!k(e,"payload")||e.payload===void 0||b(e.payload);case c.Subscribe:return S(e,"id")&&R(e,"payload")&&(!k(e.payload,"operationName")||e.payload.operationName===void 0||e.payload.operationName===null||typeof e.payload.operationName=="string")&&S(e.payload,"query")&&(!k(e.payload,"variables")||e.payload.variables===void 0||e.payload.variables===null||R(e.payload,"variables"))&&(!k(e.payload,"extensions")||e.payload.extensions===void 0||e.payload.extensions===null||R(e.payload,"extensions"));case c.Next:return S(e,"id")&&R(e,"payload");case c.Error:return S(e,"id")&&X(e.payload);case c.Complete:return S(e,"id");default:return!1}}return!1}function Z(e,o){if(U(e))return e;if(typeof e!="string")throw new Error("Message not parsable");let y=JSON.parse(e,o);if(!U(y))throw new Error("Invalid message");return y}function A(e,o){if(!U(e))throw new Error("Cannot stringify invalid message");return JSON.stringify(e,o)}function ee(e){let{url:o,connectionParams:y,lazy:_=!0,onNonLazyError:x=console.error,lazyCloseTimeout:M=0,keepAlive:z=0,disablePong:te,connectionAckWaitTimeout:G=0,retryAttempts:v=5,retryWait:re=function(l){return m(this,null,function*(){let a=1e3;for(let r=0;r<l;r++)a*=2;yield new Promise(r=>setTimeout(r,a+Math.floor(Math.random()*2700+300)))})},shouldRetry:oe=L,isFatalConnectionProblem:B,on:t,webSocketImpl:F,generateID:ie=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,l=>{let a=Math.random()*16|0;return(l=="x"?a:a&3|8).toString(16)})},jsonMessageReplacer:q,jsonMessageReviver:ae}=e,P;if(F){if(!le(F))throw new Error("Invalid WebSocket implementation provided");P=F}else typeof WebSocket<"u"?P=WebSocket:typeof global<"u"?P=global.WebSocket||global.MozWebSocket:typeof window<"u"&&(P=window.WebSocket||window.MozWebSocket);if(!P)throw new Error("WebSocket implementation missing; on Node you can `import WebSocket from 'ws';` and pass `webSocketImpl: WebSocket` to `createClient`");let O=P,d=(()=>{let n=(()=>{let a={};return{on(r,s){return a[r]=s,()=>{delete a[r]}},emit(r){var s;"id"in r&&((s=a[r.id])===null||s===void 0||s.call(a,r))}}})(),l={connecting:t?.connecting?[t.connecting]:[],opened:t?.opened?[t.opened]:[],connected:t?.connected?[t.connected]:[],ping:t?.ping?[t.ping]:[],pong:t?.pong?[t.pong]:[],message:t?.message?[n.emit,t.message]:[n.emit],closed:t?.closed?[t.closed]:[],error:t?.error?[t.error]:[]};return{onMessage:n.on,on(a,r){let s=l[a];return s.push(r),()=>{s.splice(s.indexOf(r),1)}},emit(a,...r){for(let s of[...l[a]])s(...r)}}})();function C(n){let l=[d.on("error",a=>{l.forEach(r=>r()),n(a)}),d.on("closed",a=>{l.forEach(r=>r()),n(a)})]}let w,g=0,D=!1,T=0,H=!1;function J(){return m(this,null,function*(){let[n,l]=yield w??(w=new Promise((s,h)=>m(null,null,function*(){if(D){if(yield re(T),!g)return w=void 0,h({code:1e3,reason:"All Subscriptions Gone"});T++}d.emit("connecting");let i=new O(typeof o=="function"?yield o():o,Y),E,N;function W(){isFinite(z)&&z>0&&(clearTimeout(N),N=setTimeout(()=>{i.readyState===O.OPEN&&(i.send(A({type:c.Ping})),d.emit("ping",!1,void 0))},z))}C(u=>{w=void 0,clearTimeout(E),clearTimeout(N),h(u),L(u)&&u.code===4499&&(i.close(4499,"Terminated"),i.onerror=null,i.onclose=null)}),i.onerror=u=>d.emit("error",u),i.onclose=u=>d.emit("closed",u),i.onopen=()=>m(null,null,function*(){try{d.emit("opened",i);let u=typeof y=="function"?yield y():y;if(i.readyState!==O.OPEN)return;i.send(A(u?{type:c.ConnectionInit,payload:u}:{type:c.ConnectionInit},q)),isFinite(G)&&G>0&&(E=setTimeout(()=>{i.close(f.ConnectionAcknowledgementTimeout,"Connection acknowledgement timeout")},G)),W()}catch(u){d.emit("error",u),i.close(f.InternalClientError,Q(u instanceof Error?u.message:new Error(u).message,"Internal client error"))}});let I=!1;i.onmessage=({data:u})=>{try{let p=Z(u,ae);if(d.emit("message",p),p.type==="ping"||p.type==="pong"){d.emit(p.type,!0,p.payload),p.type==="pong"?W():te||(i.send(A(p.payload?{type:c.Pong,payload:p.payload}:{type:c.Pong})),d.emit("pong",!1,p.payload));return}if(I)return;if(p.type!==c.ConnectionAck)throw new Error(`First message cannot be of type ${p.type}`);clearTimeout(E),I=!0,d.emit("connected",i,p.payload),D=!1,T=0,s([i,new Promise((ue,se)=>C(se))])}catch(p){i.onmessage=null,d.emit("error",p),i.close(f.BadResponse,Q(p instanceof Error?p.message:new Error(p).message,"Bad response"))}}})));n.readyState===O.CLOSING&&(yield l);let a=()=>{},r=new Promise(s=>a=s);return[n,a,Promise.race([r.then(()=>{if(!g){let s=()=>n.close(1e3,"Normal Closure");isFinite(M)&&M>0?setTimeout(()=>{!g&&n.readyState===O.OPEN&&s()},M):s()}}),l])]})}function $(n){if(L(n)&&(ce(n.code)||[f.InternalServerError,f.InternalClientError,f.BadRequest,f.BadResponse,f.Unauthorized,f.SubprotocolNotAcceptable,f.SubscriberAlreadyExists,f.TooManyInitialisationRequests].includes(n.code)))throw n;if(H)return!1;if(L(n)&&n.code===1e3)return g>0;if(!v||T>=v||!oe(n)||B?.(n))throw n;return D=!0}return _||m(null,null,function*(){for(g++;;)try{let[,,n]=yield J();yield n}catch(n){try{if(!$(n))return}catch(l){return x?.(l)}}}),{on:d.on,subscribe(n,l){let a=ie(),r=!1,s=!1,h=()=>{g--,r=!0};return m(null,null,function*(){for(g++;;)try{let[i,E,N]=yield J();if(r)return E();let W=d.onMessage(a,I=>{switch(I.type){case c.Next:{l.next(I.payload);return}case c.Error:{s=!0,r=!0,l.error(I.payload),h();return}case c.Complete:{r=!0,h();return}}});i.send(A({id:a,type:c.Subscribe,payload:n},q)),h=()=>{!r&&i.readyState===O.OPEN&&i.send(A({id:a,type:c.Complete},q)),g--,r=!0,E()},yield N.finally(W);return}catch(i){if(!$(i))return}}).then(()=>{s||l.complete()}).catch(i=>{l.error(i)}),()=>{r||h()}},dispose(){return m(this,null,function*(){if(H=!0,w){let[n]=yield w;n.close(1e3,"Normal Closure")}})},terminate(){w&&d.emit("closed",{code:4499,reason:"Terminated",wasClean:!1})}}}function L(e){return b(e)&&"code"in e&&"reason"in e}function ce(e){return[1e3,1001,1006,1005,1012,1013,1013].includes(e)?!1:e>=1e3&&e<=1999}function le(e){return typeof e=="function"&&"constructor"in e&&"CLOSED"in e&&"CLOSING"in e&&"CONNECTING"in e&&"OPEN"in e}var ne=class{handle(o){return new K(y=>{if(this.client=ee({url:o.url,connectionParams:o.additionalParams,lazy:!1,onNonLazyError:x=>{y.error(x)},on:{error:x=>{y.error(x)}}}),!this.client)throw new Error("Could not create GraphQL WS client!");let _=Date.now();return this.cleanup=this.client.subscribe({query:o.query,variables:o.variables,operationName:o.selectedOperation??void 0,extensions:o.extensions},V(y,o.url,_)),()=>{this.destroy()}})}destroy(){return m(this,null,function*(){try{this.cleanup?.(),this.cleanup=void 0,yield this.client?.dispose(),this.client=void 0}catch(o){console.error(o)}})}};export{ne as GraphQLWsRequestHandler}; //# sourceMappingURL=chunk-SJA2GZUD.js.map //# debugId=86d2468e-0307-5e3f-a1db-f7e57fcc3eaf