PageSourceSearch

https://kconect.vercel.app/assets/exportUtils-BbyMO2F0.js

js kconect.vercel.app collected 2026-10-03 07:14:00 UTC 3,320 bytes, 2 lines download raw bytes

1import{u as h,w as D}from"./xlsx-CKN5doRT.js";const b=(a,r)=>[r.join(","),...a.map(i=>r.map(n=>{const t=i[n];let s;return t==null?s="":Array.isArray(t)?s=t.join("; "):typeof t=="object"?s=JSON.stringify(t):typeof t=="boolean"?s=t?"true":"false":s=String(t),s.includes(",")||s.includes('"')?`"${s.replace(/"/g,'""')}"`:s}).join(","))].join(`
2`),f=(a,r,l)=>{{const i=new Blob([a],{type:"text/csv;charset=utf-8;"}),n=document.createElement("a"),t=URL.createObjectURL(i);n.setAttribute("href",t),n.setAttribute("download",r),n.style.visibility="hidden",document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(t)}},A=(a,r)=>{if(!a||a.length===0)throw new Error("No data available to export");const l=Object.keys(a[0]),i=b(a,l),n=new Date().toISOString().split("T")[0],t=r.replace(/[^a-z0-9]/gi,"_");f(i,`${t}_${n}.csv`)},S=(a,r,l)=>{if(!a||a.length===0)throw new Error("No attendee data available to export");const i=["name","email","phone","ticket_type","check_in_status","role","joined_at"],n=a.map(c=>({name:c.name||"N/A",email:c.email||"N/A",phone:c.phone||"N/A",ticket_type:c.ticket_type||"N/A",check_in_status:c.check_in_status||"Not Checked In",role:c.role||"attendee",joined_at:new Date(c.joined_at).toLocaleDateString()})),t=new Date().toISOString().split("T")[0],d=`${r.replace(/[^a-z0-9]/gi,"_")}_attendees_${t}`;if(l==="csv"){const c=b(n,i);f(c,`${d}.csv`)}else{const c=n.map(o=>({"Full Name":o.name,Email:o.email,"Phone Number":o.phone,"Ticket Type":o.ticket_type,"Check-in Status":o.check_in_status,Role:o.role,"Joined Date":o.joined_at})),k=h.json_to_sheet(c),m=[{wch:20},{wch:30},{wch:15},{wch:20},{wch:15},{wch:15},{wch:15}];k["!cols"]=m;const e=h.book_new();h.book_append_sheet(e,k,"Attendees"),D(e,`${d}.xlsx`)}},E=(a,r,l)=>{if(!a||a.length===0)throw new Error("No ticket data available to export");const i=new Set;a.forEach(e=>{e.form_data&&Object.keys(e.form_data).forEach(o=>i.add(o))});const n=["ticket_number","ticket_type_name","price","attendee_name","attendee_email","check_in_status","checked_in_at","purchase_date"],t=Array.from(i),s=[...n,...t],d=a.map(e=>{const o={ticket_number:e.ticket_number,ticket_type_name:e.ticket_type_name,price:`₦${e.price.toLocaleString()}`,attendee_name:e.user_name||e.guest_name||"N/A",attendee_email:e.user_email||e.guest_email||"N/A",check_in_status:e.check_in_status?"Yes":"No",checked_in_at:e.checked_in_at?new Date(e.checked_in_at).toLocaleDateString():"N/A",purchase_date:new Date(e.purchase_date).toLocaleDateString()},w={};return t.forEach(u=>{var p;w[u]=((p=e.form_data)==null?void 0:p[u])||"N/A"}),{...o,...w}}),c=new Date().toISOString().split("T")[0],m=`${r.replace(/[^a-z0-9]/gi,"_")}_tickets_${c}`;if(l==="csv"){const e=b(d,s);f(e,`${m}.csv`)}else{const e=d.map(_=>{const N={"Ticket Number":_.ticket_number,"Ticket Type":_.ticket_type_name,Price:_.price,"Attendee Name":_.attendee_name,"Attendee Email":_.attendee_email,"Checked In":_.check_in_status,"Check-in Date":_.checked_in_at,"Purchase Date":_.purchase_date},y={};return t.forEach(v=>{y[v]=_[v]}),{...N,...y}}),o=h.json_to_sheet(e),w=[{wch:15},{wch:20},{wch:12},{wch:20},{wch:30},{wch:12},{wch:15},{wch:15}],u=t.map(()=>({wch:20}));o["!cols"]=[...w,...u];const p=h.book_new();h.book_append_sheet(p,o,"Tickets"),D(p,`${m}.xlsx`)}};export{E as a,A as b,S as e};

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.