1import{u as y,c as f,g,a as v,b as w,d as I,e as b,f as E,h}from"./CsC75b1m.js";import"./Bt5P45U8.js";import{$ as r,j as p,u as _,d as x}from"./BUrrdhhW.js";import"./BN_7HF1G.js";import"./BDysuEo8.js";const D="http",R=c=>{const s=(e="")=>p(c.base,e.replace(/:/g,"/")),n=(e="")=>p(c.base,(e||"/").replace(/:/g,"/"),":"),u=(e,t=null)=>{if(e?.response?.status===404)return t;throw e},a=(e,t)=>{const o={...t,...c.headers,...e?.headers};return e?.ttl&&!o["x-ttl"]&&(o["x-ttl"]=e.ttl+""),o};return{name:D,options:c,hasItem(e,t){return r(s(e),{method:"HEAD",headers:a(t)}).then(()=>!0).catch(o=>u(o,!1))},async getItem(e,t){return await r(s(e),{headers:a(t)}).catch(u)},async getItemRaw(e,t){return(await r.raw(s(e),{responseType:"arrayBuffer",headers:a(t,{accept:"application/octet-stream"})}).catch(u))._data},async getMeta(e,t){const o=await r.raw(s(e),{method:"HEAD",headers:a(t)});let d,i;const m=o.headers.get("last-modified");m&&(d=new Date(m));const l=o.headers.get("x-ttl");return l&&(i=Number.parseInt(l,10)),{status:o.status,mtime:d,ttl:i}},async setItem(e,t,o){await r(s(e),{method:"PUT",body:t,headers:a(o)})},async setItemRaw(e,t,o){await r(s(e),{method:"PUT",body:t,headers:a(o,{"content-type":"application/octet-stream"})})},async removeItem(e,t){await r(s(e),{method:"DELETE",headers:a(t)})},async getKeys(e,t){const o=await r(n(e),{headers:a(t)});return Array.isArray(o)?o:[]},async clear(e,t){await r(n(e),{method:"DELETE",headers:a(t)})}}};function $(c,s){const n=y(c,s);if(!_().public.studio.dev)return n;n.meta.dev=!0;const u=f({driver:R({base:"/__nuxt_studio/dev/content"})});return n.app.requestRerender=()=>{},n.document.db.upsert=x(async(a,e)=>{const t=g(a,h);if(!t)throw new Error(`Collection not found for fsPath: ${a}`);const o=v(a,t),d=w(o,t,e),i=await n.document.generate.contentFromDocument(d);await $fetch("/__nuxt_studio/dev/content/"+a,{method:"PUT",body:i,headers:{"content-type":"text/plain"},timeout:100}).catch(()=>{})},100),n.document.db.delete=async a=>{await u.removeItem(a)},n.on.documentUpdate=a=>{(void 0).on("nuxt-content:update",e=>{const t=I(e.key,h),o=b(e.key,t.source),d=E(e.key,o),i=e.queries.length===0;a(d,i?"remove":"update")})},n.on.mediaUpdate=a=>{(void 0).on("nuxt-studio:media:update",e=>{a(e.id,e.type)})},n}export{$ as useStudioHost};
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.