1import{br as Q,bs as q,bt as J,bA as K,bB as M}from"./iDxzLRBQ.js";import{stegaEncodeSourceMap as T}from"./BD7-b2M1.js";const b=1e4;function j(h){const{client:p,setFetcher:N,onConnect:E,onDisconnect:w,onPerspective:L}=h;if(!p)throw new Error(`Expected \`client\` to be an instance of SanityClient: ${JSON.stringify(p)}`);const{projectId:u,dataset:v,perspective:y}=p.config(),d=M(y&&y!=="raw"?y:"drafts"),a=M(!1),l=new Map,n=Q({name:"loaders",connectTo:"presentation"},q().provide({actors:J()}));n.onStatus(()=>{a.set(!0)},"connected"),n.on("loader/perspective",e=>{if(e.projectId===u&&e.dataset===v){K(e.perspective);const r=e.perspective==="raw"?"drafts":e.perspective;d.set(r),L?.(r),g()}}),n.on("loader/query-change",e=>{if(e.projectId===u&&e.dataset===v){const{perspective:r,query:s,params:t}=e;e.result!==void 0&&e.resultSourceMap!==void 0&&p.config().stega.enabled?l.set(JSON.stringify({perspective:r,query:s,params:t}),{...e,result:T(e.result,e.resultSourceMap,p.config().stega)}):l.set(JSON.stringify({perspective:r,query:s,params:t}),e),g()}});let m;const I=a.listen(e=>{e?(m=N({hydrate:(r,s,t)=>{const o=t?.perspective||d.get(),i=JSON.stringify({perspective:o,query:r,params:s}),c=l.get(i);return c?.result!==void 0&&c?.resultSourceMap!==void 0?{loading:!1,error:void 0,data:c.result,sourceMap:c.resultSourceMap,perspective:o}:{loading:a.value===!0&&t?.data===void 0||t?.sourceMap===void 0,error:void 0,data:t?.data,sourceMap:t?.sourceMap,perspective:t?.perspective||"published"}},fetch:(r,s,t,o)=>{try{const i=A(r,s,t);if(o.signal.addEventListener("abort",()=>{i(),g()},{once:!0}),g(),t.setKey("error",void 0),o.signal.aborted)return}catch(i){t.setKey("error",i),t.setKey("loading",!1)}}}),E?.()):(m?.(),w?.())}),f=new Set,A=(e,r,s)=>{const t={query:e,params:r,$fetch:s};f.add(t),S();const o=setInterval(()=>S(!0),b);return()=>{clearInterval(o),f.delete(t),S()}},S=e=>{if(!n)throw new Error("No connection");const r=d.get();for(const{query:s,params:t,$fetch:o}of f)n.post("loader/query-listen",{projectId:u,dataset:v,perspective:r,query:s,params:t,heartbeat:b}),!e&&a.value===!0&&o.setKey("loading",!0),o.setKey("perspective",r)};function g(){const e=d.get(),r=[];for(const{query:s,params:t,$fetch:o}of f){const i=JSON.stringify({perspective:e,query:s,params:t}),c=l.get(i);c&&(o.set({data:c.result,error:void 0,loading:!1,perspective:e,sourceMap:c.resultSourceMap}),r.push(...c.resultSourceMap?.documents??[]))}n.post("loader/documents",{projectId:u,dataset:v,perspective:e,documents:r})}const O=n.start();return()=>{m?.(),I(),O(),a.set(!1)}}export{j as enableLiveMode};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.