2 lines
624 B
JavaScript
2 lines
624 B
JavaScript
import{s as d,X as f,K as c,aM as g,h as p,i as v,x as y}from"./index-0TvhiEo7.js";const m=d("catalog",()=>{const o=f(),s=o.peek(c.catalog),e=g(s??[]),n=p(s!==void 0),i=v(()=>{const t=new Map;for(const a of e.value)a.category&&!t.has(a.category.id)&&t.set(a.category.id,{id:a.category.id,title:a.category.title});return[...t.values()]});async function r(t=!1){const a=await o.fetch(c.catalog,y.listProducts,{force:t});return e.value=a,n.value=!0,a}function l(t){return e.value.find(a=>a.id===t)??null}function u(){o.invalidate(c.catalog)}return{products:e,loaded:n,categories:i,load:r,byId:l,invalidate:u}});export{m as u};
|