1import{j as v}from"./-4BYBH-V.js";const g=t=>[...t].sort((n,e)=>{const u=n.freeItemPriority??0,y=e.freeItemPriority??0;return u-y}),F=t=>t.freeItemInputType===3?!0:t.freeItemInputType!==null||!t.selectItems?!1:t.selectItems.filter(e=>e.selectItemValue!=="").length>=2,P=(t,n)=>{if(!n)return"";const e=String(n);if(t.freeItemInputType===0||t.freeItemInputType===1)return e;if(t.freeItemInputType===2||t.freeItemInputType===4)return t.selectItems?.find(y=>y.selectItemValue===e)?.selectItemName||e;if(F(t)){let u;if(Array.isArray(n))u=n;else try{u=JSON.parse(e)}catch{u=e.split(",")}return u.map(m=>{const h=String(m).trim();return t.selectItems?.find(s=>s.selectItemValue===h)}).filter(m=>m!==void 0).sort((m,h)=>m.selectPriority-h.selectPriority).map(m=>m.selectItemName).join("ã")}return e},R=()=>{const t=v(!1),n=v(null),e=v(null);return{freeItems:e,isLoading:t,error:n,fetchFreeItems:async(s,a)=>{t.value=!0,n.value=null;try{const r=new URLSearchParams;s&&r.append("serviceId",s),a&&r.append("planId",a);const l=r.toString(),f=l?`/api/free-items?${l}`:"/api/free-items",i=await $fetch(f);return i.status==="OK"&&i.body?(e.value=i.body,i.body):(n.value=i.message||"èªç±é
ç®ã®åå¾ã«å¤±æãã¾ãã",null)}catch{return n.value="èªç±é
ç®ã®åå¾ã«å¤±æãã¾ãã",null}finally{t.value=!1}},fetchAllFreeItemsForRegistration:async(s,a)=>{t.value=!0,n.value=null;try{const r=[$fetch("/api/free-items")];if(s){const c=new URLSearchParams({serviceId:s});r.push($fetch(`/api/free-items?${c.toString()}`))}if(s&&a){const c=new URLSearchParams({serviceId:s,planId:a});r.push($fetch(`/api/free-items?${c.toString()}`))}const l=await Promise.all(r);if(l.some(c=>c.status!=="OK"||!c.body))return n.value="èªç±é
ç®ã®åå¾ã«å¤±æãã¾ãã",[];const f=l[0];if(!f)return[];const i=s?l[1]:void 0,o=s&&a?l[l.length-1]:void 0,p=[];p.push(...f.body?.project??[]),s&&i?.body?.service[s]&&p.push(...i.body.service[s]),a&&o?.body?.plan[a]&&p.push(...o.body.plan[a]);const I=new Map;for(const c of p)I.has(c.freeItemId)||I.set(c.freeItemId,c);const b=Array.from(I.values()).filter(c=>c.freeItemRegistOnly),S=g(b);return e.value={project:f.body?.project??[],service:i?.body?.service??{},plan:o?.body?.plan??{}},S}catch{return n.value="èªç±é
ç®ã®åå¾ã«å¤±æãã¾ãã",[]}finally{t.value=!1}},getDisplayFreeItems:(s,a)=>{if(!e.value)return[];const r=[];r.push(...e.value.project),s&&e.value.service[s]&&r.push(...e.value.service[s]),a&&e.value.plan[a]&&r.push(...e.value.plan[a]);const l=r.filter(f=>f.freeItemReadOnly);return g(l)},buildFreeItemsSubmitData:(s,a)=>{const r={};for(const l of s){if(!l.freeItemManageOnly)continue;const i=`freeItem${l.freeItemId}`,o=a[i],p=Array.isArray(o)&&o.length===0;o!=null&&o!==""&&!p?r[i]=Array.isArray(o)?JSON.stringify(o):String(o):r[i]=""}return r},clearCache:()=>{e.value=null,n.value=null}}};export{P as g,F as i,R as u};
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.