import{r as e}from"./sanitizeUrl-Bk5f35GN.js";import{t}from"./nostrId-DcIQ4FCD.js";var n=37849,r=7849,i=/^[a-zA-Z0-9_-]+$/;function a(e){if(e===void 0||e.trim()===``)return;let t=Number(e);return Number.isFinite(t)?t:void 0}function o(e){let t=e.indexOf(`:`);if(t<=0)return;let n=e.slice(0,t);if(!i.test(n))return;let r=a(e.slice(t+1));if(r!==void 0)return{dimension:n,weight:r}}function s(e){let t=e.split(`:`);if(t.length!==3)return;let[n,r,o]=t;if(!i.test(n))return;let s=a(r),c=a(o);if(!(r.trim()!==``&&s===void 0)&&!(o.trim()!==``&&c===void 0))return{dimension:n,min:s,max:c}}function c(t){if(t.kind!==37849)return null;let r=t.tags.find(([e])=>e===`d`)?.[1],a=t.tags.find(([e])=>e===`title`)?.[1]?.trim();if(r===void 0||!a)return null;let c=[],l=new Set;for(let e of t.tags){if(e[0]!==`dimension`)continue;let[,t,n]=e;!t||!i.test(t)||l.has(t)||(l.add(t),c.push({id:t,label:n?.trim()||t}))}let u=[],d=new Map;for(let e of t.tags){if(e[0]!==`question`)continue;let[,t,n]=e;if(!t||!i.test(t)||!n?.trim()||d.has(t))continue;let r={id:t,text:n.trim(),options:[]};d.set(t,r),u.push(r)}for(let e of t.tags){if(e[0]!==`option`)continue;let[,t,n,r,...a]=e;if(!t||!n||!i.test(n)||!r?.trim())continue;let s=d.get(t);if(!s||s.options.some(e=>e.id===n))continue;let c={};for(let e of a){let t=o(e);t&&l.has(t.dimension)&&(c[t.dimension]=(c[t.dimension]??0)+t.weight)}s.options.push({id:n,label:r.trim(),weights:c})}let f=u.filter(e=>e.options.length>=2);if(f.length===0||c.length===0)return null;let p=t.tags.find(([e])=>e===`scoring`)?.[1],m=p===`ranges`||p===`scores`||p===`argmax`?p:`argmax`,h=[],g=new Set;for(let n of t.tags){if(n[0]!==`outcome`)continue;let[,t,r,a,o,...c]=n;if(!t||!i.test(t)||!r?.trim()||g.has(t))continue;g.add(t);let u=[];for(let e of c){let t=s(e);t&&l.has(t.dimension)&&u.push(t)}h.push({id:t,label:r.trim(),description:a?.trim()||void 0,image:e(o),conditions:u})}return{event:t,d:r,title:a,summary:t.tags.find(([e])=>e===`summary`)?.[1]?.trim()||void 0,image:e(t.tags.find(([e])=>e===`image`)?.[1]),description:t.content.trim(),dimensions:c,questions:f,scoring:m,outcomes:h,address:`${n}:${t.pubkey}:${r}`}}function l(e,t){let n={};for(let t of e.dimensions)n[t.id]=0;for(let r of e.questions){let e=r.options.find(e=>e.id===t[r.id]);if(e)for(let[t,r]of Object.entries(e.weights))n[t]=(n[t]??0)+r}return n}function u(e){let t={};for(let n of e.dimensions){let r=0,i=0;for(let t of e.questions){let e=t.options.map(e=>e.weights[n.id]??0);r+=Math.min(...e),i+=Math.max(...e)}t[n.id]={min:r,max:i}}return t}function d(e,t){if(e.scoring===`scores`)return[];if(e.scoring===`argmax`){let n;for(let r of e.dimensions)(!n||(t[r.id]??0)>(t[n.id]??0))&&(n=r);return n?[e.outcomes.find(e=>e.id===n.id)??{id:n.id,label:n.label,conditions:[]}]:[]}return e.outcomes.filter(e=>e.conditions.length>0&&e.conditions.every(e=>{let n=t[e.dimension]??0;return!(e.min!==void 0&&ne.max)}))}function f(e,t,n,r={}){let i=u(e),a=[[`a`,e.address],[`e`,e.event.id],[`p`,e.event.pubkey]];for(let e of n){let t=[`outcome`,e.id,e.label];e.image&&t.push(e.image),a.push(t)}for(let n of e.dimensions){let e=i[n.id];a.push([`score`,n.id,String(t[n.id]??0),n.label,String(e.min),String(e.max)])}if(r.includeAnswers&&r.answers)for(let t of e.questions){let e=r.answers[t.id];e&&a.push([`answer`,t.id,e])}let o=n.length>0?n.map(e=>e.label).join(`, `):e.dimensions.map(e=>`${e.label}: ${t[e.id]??0}`).join(`, `);return a.push([`alt`,`Quiz result: ${o} on "${e.title}"`]),a}function p(e){if(!e)return;let n=e.indexOf(`:`),r=e.indexOf(`:`,n+1);if(n<0||r<0)return;let i=e.slice(0,n),a=e.slice(n+1,r),o=e.slice(r+1);if(!(i!==`37849`||!t(a)))return{pubkey:a,identifier:o}}function m(n){if(n.kind!==7849)return null;let r=n.tags.find(([e,t])=>e===`a`&&t?.startsWith(`37849:`))?.[1],o=p(r);if(!r||!o)return null;let s=n.tags.find(([e])=>e===`e`)?.[1],c=[];for(let t of n.tags){if(t[0]!==`outcome`)continue;let[,n,r,a]=t;!n||!i.test(n)||c.push({id:n,label:r?.trim()||n,image:e(a)})}let l=[];for(let e of n.tags){if(e[0]!==`score`)continue;let[,t,n,r,o,s]=e;if(!t||!i.test(t))continue;let c=a(n);c!==void 0&&l.push({dimension:t,value:c,label:r?.trim()||void 0,min:a(o),max:a(s)})}let u={};for(let e of n.tags){if(e[0]!==`answer`)continue;let[,t,n]=e;!t||!n||!i.test(t)||!i.test(n)||(u[t]=n)}return{event:n,address:r,quizPubkey:o.pubkey,quizIdentifier:o.identifier,quizEventId:s&&t(s)?s:void 0,outcomes:c,scores:l,answers:u,comment:n.content.trim()}}function h(e){return m(e)!==null}function g(e){let t=new Map;for(let n of e){let e=t.get(n.pubkey);(!e||n.created_at>e.created_at)&&t.set(n.pubkey,n)}return[...t.values()].sort((e,t)=>t.created_at-e.created_at)}export{h as a,c,u as d,l as i,p as l,r as n,g as o,f as r,d as s,n as t,m as u};