var e=(e,t)=>e&&Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0,t=(e,t)=>e.map(e=>e.when?.some(e=>e.some(e=>e.matchesAbsent&&!t.has(e.property)))?{}:e),n=3,r=e=>({text:e}),i=e=>({text:e,code:!0}),a=r(`,`),o=e=>typeof e==`string`?e:JSON.stringify(e),s=e=>e.flatMap((e,t)=>t===0?e:[a,...e]),c=(e,t)=>e.length<=1?e[0]??[]:[...s(e.slice(0,-1)),r(t),...e[e.length-1]??[]],l=(e,t)=>e.values?[i(e.property),r(`=`),...c(e.values.map(e=>[i(o(e))]),t.or)]:[i(e.property),r(t.isSet)],u=(e,t,n=1/0)=>{let a=e.length>n,o=a?e.slice(0,n):e,u=a?[r(t.or),r(`…`)]:[];if(o.every(e=>e.length===1&&!e[0]?.values)){let e=o.map(e=>[i(e[0]?.property??``)]);return[...a?[...s(e),...u]:c(e,t.or),r(t.isSet)]}return[...o.map(e=>e.flatMap((e,n)=>n===0?l(e,t):[r(t.and),...l(e,t)])).flatMap((e,n)=>n===0?e:[r(t.or),...e]),...u]},d=e=>e.reduce((e,t,n)=>n===0||!t.code&&t.text===`,`?`${e}${t.text}`:`${e} ${t.text}`,``),f=e=>JSON.stringify(e),p=(e,t,n,r)=>({kind:e,segments:t,label:`${r.required} ${d(t)}`,full:`${r.required} ${d(n)}`}),m=(e,t)=>{let i=[],a=[],o=!1;for(let n of e)if(!n.when)o=!0;else if(n.negated){let e=[r(t.unless),...u(n.when,t)];a.push(p(`unless`,e,e,t))}else for(let e of n.when)i.some(t=>f(t)===f(e))||i.push(e);return i.length>0&&a.unshift(p(`if`,[r(t.if),...u(i,t,n)],[r(t.if),...u(i,t)],t)),o&&a.push({kind:`generic`,segments:[],label:t.conditionallyRequired,full:t.conditionallyRequired}),a};export{e as n,t as r,m as t};