var a=(e,t,o)=>new Promise((n,s)=>{var c=r=>{try{l(o.next(r))}catch(u){s(u)}},p=r=>{try{l(o.throw(r))}catch(u){s(u)}},l=r=>r.done?n(r.value):Promise.resolve(r.value).then(c,p);l((o=o.apply(e,t)).next())});var i="0.11.1";var w=12e3;function b(){let e=new AbortController;return setTimeout(()=>e.abort(),20),e}function j(e,t=1e4){return a(this,null,function*(){return Promise.race([new Promise((o,n)=>{try{e.includes("localhost")||o(new WebSocket(e));let s=new WebSocket(e);s.onopen=()=>{o(s)},s.onerror=c=>{n(c)}}catch(s){n(s)}}),new Promise((o,n)=>{setTimeout(()=>{n(new Error("WebSocket connection timed out"))},t)})])})}function y(e){return a(this,null,function*(){try{let t=yield fetch(`http://localhost:${e}/graphql/`,{signal:b().signal,mode:"cors"});if(t.status===400||t.status===0||t.status===200)return e;throw new Error(`Could not connect to port ${e}`)}catch(t){throw new Error(`Could not connect to port ${e}`)}})}function v(){return new Promise((e,t)=>{let o=document.querySelector("ad4m-connect"),n=o==null?void 0:o.getAd4mClient();n?e(n):t("No Ad4mClient found")})}function S(e){let t=document.querySelector("ad4m-connect");t==null||t.addEventListener("authstatechange",o=>{e(o.detail)})}function x(){let e=navigator.userAgent,t="";return e.search("Windows")!==-1?t="Windows":e.search("Mac")!==-1?t="MacOS":e.search("X11")!==-1&&e.search("Linux")===-1?t="UNIX":e.search("Linux")!==-1&&e.search("X11")!==-1&&(t="Linux"),t}function d(){try{localStorage.setItem("test",""),localStorage.removeItem("test")}catch(e){return!1}return!0}function A(e,t){d()&&localStorage.setItem(`${i}/${e}`,t)}function C(e){return d()?localStorage.getItem(`${i}/${e}`):null}function $(e){d()&&localStorage.removeItem(`${i}/${e}`)}export{w as DEFAULT_PORT,y as checkPort,j as connectWebSocket,x as detectOS,v as getAd4mClient,C as getForVersion,S as onAuthStateChanged,$ as removeForVersion,A as setForVersion};
