2 lines
1.3 KiB
JavaScript
2 lines
1.3 KiB
JavaScript
import{c as u,E as c,a as h}from"./erreurs.js";import{E as p,r as y,l as E}from"./Either.js";var x={done:!1,hasNext:!1};function S(e,...r){let t=e,l=r.map(i=>"lazy"in i?A(i):void 0),n=0;for(;n<r.length;){if(l[n]===void 0||!d(t)){let a=r[n];t=a(t),n+=1;continue}let i=[];for(let a=n;a<r.length;a++){let o=l[a];if(o===void 0||(i.push(o),o.isSingle))break}let s=[];for(let a of t)if(g(a,s,i))break;let{isSingle:f}=i.at(-1);t=f?s[0]:s,n+=i.length}return t}function g(e,r,t){if(t.length===0)return r.push(e),!1;let l=e,n=x,i=!1;for(let[s,f]of t.entries()){let{index:a,items:o}=f;if(o.push(l),n=f(l,a,o),f.index+=1,n.hasNext){if(n.hasMany??!1){for(let m of n.next)if(g(m,r,t.slice(s+1)))return!0;return i}l=n.next}if(!n.hasNext)break;n.done&&(i=!0)}return n.hasNext&&r.push(l),i}function A(e){let{lazy:r,lazyArgs:t}=e,l=r(...t);return Object.assign(l,{isSingle:r.single??!1,index:0,items:[]})}function d(e){return typeof e=="string"||typeof e=="object"&&e!==null&&Symbol.iterator in e}function N(e){return e!==null}function b(e){return e===void 0?!0:typeof e=="string"||Array.isArray(e)?e.length===0:Object.keys(e).length===0}const _=e=>r=>p.encase(()=>e.querySelector(r)).mapLeft(t=>u(c(r))).chain(t=>N(t)?y(t):E(u(h(r)))),k=e=>r=>p.encase(()=>S(e.querySelectorAll(r),Array.from)).mapLeft(t=>u(c(r))).chain(t=>b(t)?E(u(h(r))):y(t));export{k as a,_ as r};
|
|
//# sourceMappingURL=dom.js.map
|