UNPKG

2.5 kBJavaScriptView Raw
1System.register(["@urql/core","jotai","wonka"],function(v){"use strict";var A,i,h,q;return{setters:[function(y){A=y.createClient},function(y){i=y.atom},function(y){h=y.pipe,q=y.subscribe}],execute:function(){v({atomWithMutation:E,atomWithQuery:x,atomWithSubscription:M});const y=(()=>{try{return process.env.JOTAI_URQL_DEFAULT_URL}catch{return}})()||"/graphql",P=v("clientAtom",i(A({url:y}))),g=b=>"data"in b&&!b.error;function x(b,w=o=>o(P)){const o=i(n=>{const t=b(n);if(t.pause)return null;const r=w(n);let s=null;const u=i(new Promise(e=>{s=e}));let a=()=>{throw new Error("setting result without mount")};const c=e=>{if(e instanceof Promise){a(e);return}if(!g(e))throw new Error("result does not have data");s?(s(e),s=null):a(e)};r.query(t.query,t.variables,{...t.requestPolicy&&{requestPolicy:t.requestPolicy},...t.context}).toPromise().then(c).catch(()=>{}),u.onMount=e=>{a=e};const m=i(null),l=i(e=>e(u),(e,p,f)=>{const L=h(r.query(t.query,t.variables,{...t.requestPolicy&&{requestPolicy:t.requestPolicy},...t.context}),q(c));p(m,L),f(()=>{var d;return(d=e(m))==null?void 0:d.unsubscribe()})});return l.onMount=e=>{let p;return e(f=>{p=f}),p},{args:t,client:r,resultAtom:l,subscriptionAtom:m,listener:c}});return i(n=>{const t=n(o);if(!t)return null;const{resultAtom:r}=t;return n(r)},(n,t,r)=>{switch(r.type){case"reexecute":{const s=n(o);if(!s)throw new Error("query is paused");const{args:u,client:a,subscriptionAtom:c,listener:m}=s;m(new Promise(()=>{}));const l=h(a.query(u.query,u.variables,{...u.requestPolicy&&{requestPolicy:u.requestPolicy},...u.context,...r.opts}),q(m)),e=n(c);e==null||e.unsubscribe(),t(c,l)}}})}function E(b,w=o=>o(P)){const o=i(new Promise(()=>{}));return i(n=>n(o),(n,t,r)=>{t(o,new Promise(()=>{}));const s=w(n),u=b(n);s.mutation(u,r.variables,r.context).toPromise().then(a=>{var c;t(o,a),(c=r.callback)==null||c.call(r,a)}).catch(()=>{})})}const W=b=>"data"in b;function M(b,w=o=>o(P)){const o=i(n=>{const t=b(n);if(t.pause)return{args:t};const r=w(n);let s=null;const u=i(new Promise(e=>{s=e}));let a=()=>{throw new Error("setting result without mount")},c=!1;const m=e=>{if(!W(e))throw new Error("result does not have data");s?(c||(l==null||l.unsubscribe(),l=null),s(e),s=null):a(e)};let l=h(r.subscription(t.query,t.variables,t.context),q(m));return u.onMount=e=>(a=e,c=!0,l||(l=h(r.subscription(t.query,t.variables,t.context),q(m))),()=>l==null?void 0:l.unsubscribe()),{resultAtom:u,args:t}});return i(n=>{const{resultAtom:t}=n(o);return t?n(t):null})}}}});