brass-runtime 1.10.0 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ 'use strict';function R(t,e,n){return {_tag:"Fold",first:t,onFailure:e,onSuccess:n}}function be(t,e){return R(t,n=>e(n),n=>E(n))}function b(t,e){return R(t,n=>f(e(n)),n=>E(n))}var Z=()=>E(void 0),E=t=>({_tag:"Succeed",value:t}),f=t=>({_tag:"Fail",error:t}),_=t=>({_tag:"Sync",thunk:t}),Fe=t=>_(()=>t()),p=t=>({_tag:"Async",register:t});function Q(t,e){return A(t,n=>E(e(n)))}function A(t,e){return {_tag:"FlatMap",first:t,andThen:e}}function ke(t,e,n){return A(t,r=>(n.addFinalizer(o=>e(r,o)),E(r)))}function Ie(t){return p(t)}var _e=t=>e=>{let n=e;return n.toPromise||(n.toPromise=r=>t(e,r),n.unsafeRunPromise=()=>t(e,{})),n},we=(t,e)=>A(t,n=>E(e(n))),Oe=(t,e)=>A(t,n=>_(()=>e(n)));var F={_tag:"None"},w=t=>({_tag:"Some",value:t});var j=t=>E(t),C=t=>f(t),$=t=>_(e=>t(e)),k=(t,e)=>Q(t,e),K=(t,e)=>A(t,n=>e(n)),H=(t,e)=>b(t,e),Pe=(t,e)=>R(t,n=>e(n),n=>E(n));function q(t,e){return R(t,n=>n._tag==="Some"?f(n):e(),n=>E(n))}var Te=()=>C(F);var ie=(r=>(r[r.Ok=0]="Ok",r[r.Grew=1]="Grew",r[r.Dropped=2]="Dropped",r))(ie||{}),N=class{buf;head=0;tail=0;size_=0;maxCap;constructor(e=1024,n=e){let r=Math.max(2,this.nextPow2(e)),o=Math.max(r,this.nextPow2(n));this.buf=new Array(r),this.maxCap=o;}get length(){return this.size_}get capacity(){return this.buf.length}isEmpty(){return this.size_===0}push(e){return this.size_===this.buf.length?this.buf.length>=this.maxCap?2:(this.grow(),this.buf[this.tail]=e,this.tail=this.tail+1&this.buf.length-1,this.size_++,1):(this.buf[this.tail]=e,this.tail=this.tail+1&this.buf.length-1,this.size_++,0)}shift(){if(this.size_===0)return;let e=this.buf[this.head];return this.buf[this.head]=void 0,this.head=this.head+1&this.buf.length-1,this.size_--,e}clear(){this.buf.fill(void 0),this.head=0,this.tail=0,this.size_=0;}grow(){let e=this.buf,n=Math.min(e.length*2,this.maxCap),r=new Array(n);for(let o=0;o<this.size_;o++)r[o]=e[this.head+o&e.length-1];this.buf=r,this.head=0,this.tail=this.size_;}nextPow2(e){let n=1;for(;n<e;)n<<=1;return n}};var X=2048,Y=4096,se=(()=>{if(typeof globalThis.setImmediate=="function")return t=>globalThis.setImmediate(t);if(typeof globalThis.MessageChannel=="function"){let t=new globalThis.MessageChannel,e=null;return t.port1.onmessage=()=>{let n=e;e=null,n?.();},n=>{e=n,t.port2.postMessage(0);}}return t=>setTimeout(t,0)})(),L=class{queue=new N(1024);flushing=false;scheduled=false;schedule(e,n="anonymous"){if(typeof e=="function"&&(this.queue.push({tag:n,task:e}),!this.flushing&&!this.scheduled)){this.scheduled=true;let r=this.queue.length>Y?"macro":"micro";this.requestFlush(r);}}requestFlush(e){e==="micro"?queueMicrotask(()=>this.flush()):se(()=>this.flush());}flush(){if(this.flushing)return;this.flushing=true,this.scheduled=false;let e=0;try{for(;e<X;){let n=this.queue.shift();if(!n)break;e++;try{n.task();}catch(r){console.error(`[Scheduler] task threw (tag=${n.tag})`,r);}}}finally{if(this.flushing=false,this.queue.length>0&&!this.scheduled){this.scheduled=true;let n=e>=X||this.queue.length>Y?"macro":"micro";this.requestFlush(n);}}}},B=new L;var P=null,h={CONTINUE:"Continue",SUSPEND:"Suspend",DONE:"Done"},g={QUEUED:"Queued",RUNNING:"Running",SUSPENDED:"Suspended",DONE:"Done"},ce=1,ue=1024;function le(t){let e=t;for(;e._tag==="FlatMap"&&e.first._tag==="FlatMap";){let n=e.first,r=e.andThen;e={_tag:"FlatMap",first:n.first,andThen:o=>({_tag:"FlatMap",first:n.andThen(o),andThen:r})};}return e}var T=class{id;runtime;closing=null;finishing=false;runState=g.RUNNING;interrupted=false;result=null;joiners=[];current;stack=[];fiberFinalizers=[];finalizersDrained=false;fiberContext;name;scopeId;constructor(e,n){this.id=ce++,this.runtime=e,this.current=n;}get env(){return this.runtime.env}get scheduler(){return this.runtime.scheduler}addFinalizer(e){this.fiberFinalizers.push(e);}status(){return this.result==null?"Running":this.interrupted?"Interrupted":"Done"}join(e){this.result!=null?e(this.result):this.joiners.push(e);}interrupt(){this.result==null&&(this.interrupted||(this.interrupted=true,this.schedule("interrupt-step")));}schedule(e="step"){this.runState===g.DONE||this.runState===g.QUEUED||(this.runState=g.QUEUED,this.scheduler.schedule(()=>{pe(this,()=>{if(this.runState===g.DONE)return;switch(this.runState=g.RUNNING,this.step()){case h.CONTINUE:this.schedule("continue");return;case h.SUSPEND:this.runState=g.SUSPENDED;return;case h.DONE:this.runState=g.DONE;return}});},`fiber#${this.id}.${e}`));}runFinalizersOnce(e){if(!this.finalizersDrained)for(this.finalizersDrained=true;this.fiberFinalizers.length>0;){let n=this.fiberFinalizers.pop();try{n(e);}catch{}}}notify(e){if(this.result==null&&this.closing==null){this.finishing=true,this.closing=e,this.runFinalizersOnce(e),this.result=e;for(let n of this.joiners)n(e);this.joiners.length=0;}}onSuccess(e){let n=this.stack.pop();if(!n){this.notify({_tag:"Success",value:e});return}this.current=n._tag==="SuccessCont"?n.k(e):n.onSuccess(e);}onFailure(e){for(;this.stack.length>0;){let n=this.stack.pop();if(n._tag==="FoldCont"){this.current=n.onFailure(e);return}}this.notify({_tag:"Failure",error:e});}step(){let e=ue;for(;e-- >0;){if(this.result!=null)return h.DONE;if(this.interrupted&&this.closing==null)return this.notify({_tag:"Failure",error:{_tag:"Interrupted"}}),h.DONE;let n=le(this.current);switch(n._tag){case "Succeed":{this.onSuccess(n.value);break}case "Fail":{this.onFailure(n.error);break}case "Sync":{try{let r=n.thunk(this.env);this.onSuccess(r);}catch(r){this.onFailure(r);}break}case "FlatMap":{this.stack.push({_tag:"SuccessCont",k:n.andThen}),this.current=n.first;break}case "Fold":{this.stack.push({_tag:"FoldCont",onFailure:n.onFailure,onSuccess:n.onSuccess}),this.current=n.first;break}case "Async":{if(this.finishing)return this.result!=null?h.DONE:h.CONTINUE;let r=false,o=i=>{r||(r=true,!(this.result!=null||this.closing!=null)&&(this.current=i._tag==="Success"?{_tag:"Succeed",value:i.value}:{_tag:"Fail",error:i.error},this.schedule("async-resume")));},a=n.register(this.env,o);return typeof a=="function"&&this.addFinalizer(()=>{r=true;try{a();}catch{}}),h.SUSPEND}}}return this.result!=null?h.DONE:h.CONTINUE}};function D(){return P}function pe(t,e){let n=P;P=t;try{return e()}finally{P=n;}}var ee={parent:null,patch:Object.create(null)};function te(t,e){let n=Ee(t);return {initChild(r,o){let a=o?.fiberContext,i=Ae(n,a?.trace??null);r.fiberContext={log:a?.log??ee,trace:i},r.parentFiberId=o?.id,r.name=n.childName(o?.name),e.emit({type:"fiber.start",fiberId:r.id,parentFiberId:o?.id,name:r.name},{fiberId:o?.id,traceId:a?.trace?.traceId,spanId:a?.trace?.spanId});}}}function Ee(t){let e={newTraceId:()=>crypto.randomUUID(),newSpanId:()=>crypto.randomUUID()},n=t?.brass,r=n?.tracer??e,o=n?.traceSeed,a=n?.childName??(i=>i?`${i}/child`:void 0);return {tracer:r,seed:o,childName:a}}function Ae(t,e){return e?{traceId:e.traceId,spanId:t.tracer.newSpanId(),parentSpanId:e.spanId,sampled:e.sampled}:t.seed?{...t.seed}:{traceId:t.tracer.newTraceId(),spanId:t.tracer.newSpanId(),sampled:true}}var de={emit(){}},O=class t{env;scheduler;hooks;forkPolicy;constructor(e){this.env=e.env,this.scheduler=e.scheduler??B,this.hooks=e.hooks??de,this.forkPolicy=te(this.env,this.hooks);}fork(e){let n=D(),r=new T(this,e);return this.forkPolicy.initChild(r,n),r.schedule("initial-step"),r}unsafeRunAsync(e,n){this.fork(e).join(n);}toPromise(e){return new Promise((n,r)=>{this.fork(e).join(a=>{let i=a;i._tag==="Success"?n(i.value):r(i.error);});})}log(e,n,r){this.emit({type:"log",level:e,message:n,fields:r});}withHooks(e){return new t({env:this.env,scheduler:this.scheduler,hooks:e})}emit(e){let n=D(),r={fiberId:n?.id,scopeId:n?.scope?.id,traceId:n?.fiberContext?.trace?.traceId,spanId:n?.fiberContext?.trace?.spanId};this.hooks.emit(e,r);}static make(e,n=B){return new t({env:e,scheduler:n})}};function Ye(t){return p((e,n)=>{let r=false,o=s=>{r||(r=true,n(s));},a=s=>o({_tag:"Failure",error:s instanceof Error?s:new Error(String(s))}),i=s=>o({_tag:"Success",value:s});try{typeof t=="function"&&t.length>=1?t((s,c)=>s?a(s):i(c)):t().then(i,a);}catch(s){a(s);}})}function et(t,e,n=B){return new O({env:e,scheduler:n}).fork(t)}function tt(t,e,n){return new O({env:e}).unsafeRunAsync(t,n)}function nt(t,e){return new O({env:e}).toPromise(t)}function rt(t,e){return p((n,r)=>{t(n).then(o=>r({_tag:"Success",value:o})).catch(o=>r({_tag:"Failure",error:e(o)}));})}function ot(t){return p((e,n)=>{let r=false,o=a=>{r||(r=true,n(a));};try{t((a,i)=>{o(a?{_tag:"Failure",error:a}:{_tag:"Success",value:i});});}catch(a){o({_tag:"Failure",error:a instanceof Error?a:new Error(String(a))});}})}function at(t){return ye((n,r)=>t.length===1?t(r):t(n,r),n=>Re(n)?{_tag:"Abort"}:{_tag:"PromiseRejected",reason:n})}function ye(t,e){return p((n,r)=>{let o=new AbortController,a=false,i=s=>{a||(a=true,r(s));};try{(t.length===1?t(o.signal):t(n,o.signal)).then(c=>i({_tag:"Success",value:c})).catch(c=>i({_tag:"Failure",error:e(c)}));}catch(s){i({_tag:"Failure",error:e(s)});}return ()=>{a=true,o.abort();}})}var Re=t=>typeof t=="object"&&t!==null&&"name"in t&&t.name==="AbortError";function G(){let t=D();if(!t)throw new Error("No current runtime: est\xE1s llamando esto fuera de un fiber (fuera del runtime).");return t.runtime}var me=1;function fe(t){return p((e,n)=>{let r=t.length;if(r===0){n({_tag:"Success",value:void 0});return}for(let o of t)o.join(()=>{r-=1,r===0&&n({_tag:"Success",value:void 0});});})}function he(t){return R(t,()=>Z(),()=>Z())}var I=class t{constructor(e){this.runtime=e;this.id=me++;}id;closed=false;children=new Set;subScopes=new Set;finalizers=[];get env(){return this.runtime.env}addFinalizer(e){if(this.closed)throw new Error("Trying to add finalizer to closed scope");this.finalizers.push(e);}subScope(){if(this.closed)throw new Error("Scope closed");let e=new t(this.runtime);return this.subScopes.add(e),e}fork(e){if(this.closed)throw new Error("Scope closed");let n=this.runtime.fork(e);return this.children.add(n),n.join(()=>{this.children.delete(n);}),n}close(e={_tag:"Success",value:void 0}){this.runtime.fork(this.closeAsync(e));}closeAsync(e={_tag:"Success",value:void 0},n={}){return p((r,o)=>{if(this.closed){o({_tag:"Success",value:void 0});return}this.closed=true;let a=Array.from(this.children),i=Array.from(this.subScopes);this.children.clear(),this.subScopes.clear();for(let l of a)try{l.interrupt();}catch{}let s=Z();for(let l of i)s=A(s,()=>l.closeAsync(e,n));for(;this.finalizers.length>0;){let l=this.finalizers.pop();s=A(s,()=>he(l(e)));}n.awaitChildren&&(s=A(s,()=>fe(a))),this.runtime.fork(s).join(()=>o({_tag:"Success",value:void 0}));})}};function ut(t,e){let n=new I(t);try{return e(n)}finally{n.close();}}function lt(t,e){return p((n,r)=>{let o=new I(t);o.fork(e(o)).join(i=>{try{o.close(i);}catch(s){r({_tag:"Failure",error:s});return}r(i);});})}function dt(t,e,n){return p((r,o)=>{let a=n.subScope(),i=false,s=m=>{i||(i=true,a.close(m),o(m));},c=a.fork(t),l=a.fork(e);c.join(s),l.join(s);})}function yt(t,e,n){return p((r,o)=>{let a=n.subScope(),i=null,s=null,c=false,l=()=>{if(!i||!s||c)return;if(c=true,i._tag==="Success"&&s._tag==="Success"){a.close({_tag:"Success",value:void 0}),o({_tag:"Success",value:[i.value,s.value]});return}let u;if(i._tag==="Failure")u=i.error;else if(s._tag==="Failure")u=s.error;else throw new Error("zipPar: unreachable state (no Failure exit)");let v={_tag:"Failure",error:u};a.close(v),o(v);},m=a.fork(t),y=a.fork(e);m.join(u=>{i=u,l();}),y.join(u=>{s=u,l();});})}function Rt(t,e){return p((n,r)=>{let o=e.subScope(),a=new Array(t.length),i=0,s=false;t.forEach((c,l)=>{o.fork(c).join(y=>{if(!s){if(y._tag==="Failure"){s=true;let u={_tag:"Failure",error:y.error};o.close(u),r(u);return}if(a[l]=y.value,i++,i===t.length){s=true;let u={_tag:"Success",value:a};o.close({_tag:"Success",value:void 0}),r(u);}}});});})}function ne(t,e,n,r,o){return p((a,i)=>{let s=n.subScope(),c=false,l=s.fork(t),m=s.fork(e),y=u=>{s.fork(u).join(v=>{s.close(v),i(v);});};l.join(u=>{c||(c=true,y(r(u,m,s)));}),m.join(u=>{c||(c=true,y(o(u,l,s)));});})}var J=t=>t._tag==="None"?F:w(t.value),x=t=>({_tag:"FromPull",pull:t}),oe=(t,e)=>({_tag:"Scoped",acquire:t,release:e}),Ot=t=>({_tag:"Scoped",acquire:A(t,e=>E(e.stream)),release:e=>A(t,n=>n.release(e))}),ge=(t,e,n=true)=>({_tag:"Merge",left:t,right:e,flip:n}),M=()=>({_tag:"Empty"}),ae=t=>({_tag:"Emit",value:t}),z=(t,e)=>({_tag:"Concat",left:t,right:e}),V=t=>({_tag:"Flatten",stream:t});function re(t,e,n,r,o){return (a,i,s)=>{if(a._tag,a._tag,a._tag==="Success"){let[m,y]=a.value;i.interrupt();let u=x(t==="L"?U(y,n):U(e,y));return E([m,u])}let c=a.error;if(typeof c=="object"&&c!==null&&c._tag==="Interrupted")return f(c);let l=c;return l._tag==="None"?d(t==="L"?n:e):f(l)}}function U(t,e,n,r){return p((o,a)=>{let s=G(),c=new I(s),l=d(t),m=d(e),y=re("L",t,e),u=re("R",t,e),v=ne(l,m,c,y,u);c.fork(v).join(W=>{c.close(W),a(W);});})}function Zt(t,e){return x(U(t,e))}function d(t){switch(t._tag){case "Empty":return C(F);case "Emit":return k(H(t.value,e=>w(e)),e=>[e,M()]);case "FromPull":return t.pull;case "Concat":return q(k(d(t.left),([e,n])=>[e,z(n,t.right)]),()=>d(t.right));case "Flatten":return K(d(t.stream),([e,n])=>q(k(d(e),([r,o])=>[r,z(o,V(n))]),()=>d(V(n))));case "Merge":return U(t.left,t.right,t.flip);case "Scoped":return p((e,n)=>{let r=G(),o=new I(r);o.addFinalizer(a=>t.release(a)),o.fork(t.acquire).join(a=>{if(a._tag==="Failure"){o.close(a),n({_tag:"Failure",error:w(a.error)});return}let i=a.value;d(i)(e,c=>{o.close(c),n(c);});});})}}function Se(t,e){throw new Error(e??`Unexpected value: ${String(t)}`)}function S(t,e){switch(t._tag){case "Empty":return M();case "Emit":return ae(k(t.value,e));case "FromPull":return x(k(t.pull,([n,r])=>[e(n),S(r,e)]));case "Concat":return z(S(t.left,e),S(t.right,e));case "Flatten":{let n=S(t.stream,r=>S(r,e));return V(n)}case "Merge":return ge(S(t.left,e),S(t.right,e),t.flip);case "Scoped":return oe(k(t.acquire,n=>S(n,e)),t.release);default:return Se(t)}}function Ct(t,e){let n=r=>x(r>e?f(F):E([r,n(r+1)]));return n(t)}function xe(t,e){let n=R(b(d(t),r=>J(r)),r=>f(r),([r,o])=>R(b(d(e),a=>J(a)),a=>f(a),([a,i])=>E([[r,a],xe(o,i)])));return x(n)}function Nt(t,e){let n=r=>R(b(d(r),o=>J(o)),o=>o._tag==="None"?E(void 0):f(o),([o,a])=>A(b(e(o),i=>w(i)),()=>n(a)));return R(n(t),r=>r._tag==="None"?E(void 0):f(r.value),()=>E(void 0))}function Bt(t){let e=M();for(let n=t.length-1;n>=0;n--){let r=ae(j(t[n]));e=z(r,e);}return e}function Pt(t){let e=(n,r)=>R(d(n),o=>o._tag==="None"?j(r):C(o),([o,a])=>e(a,[...r,o]));return H(e(t,[]),n=>{if(n._tag==="Some")return n.value;throw new Error("unreachable: stream end handled as success")})}function ve(t,e){let n=p((r,o)=>{t.read().then(({done:a,value:i})=>{if(a){o({_tag:"Failure",error:F});return}o({_tag:"Success",value:[i,x(n)]});}).catch(a=>{o({_tag:"Failure",error:w(e(a))});});});return x(n)}function Tt(t,e){if(!t)return M();let n;return oe($(()=>(n=t.getReader(),ve(n,e))),()=>_(()=>{try{n?.cancel();}catch{}}))}exports.$=oe;exports.A=Te;exports.B=ie;exports.C=N;exports.D=L;exports.E=B;exports.F=T;exports.G=D;exports.H=pe;exports.I=O;exports.J=Ye;exports.K=et;exports.L=tt;exports.M=nt;exports.N=rt;exports.O=ot;exports.P=at;exports.Q=ye;exports.R=G;exports.S=I;exports.T=ut;exports.U=lt;exports.V=dt;exports.W=yt;exports.X=Rt;exports.Y=ne;exports.Z=J;exports._=x;exports.a=R;exports.aa=Ot;exports.b=be;exports.ba=ge;exports.c=b;exports.ca=M;exports.d=Z;exports.da=ae;exports.e=E;exports.ea=z;exports.f=f;exports.fa=V;exports.g=_;exports.ga=Zt;exports.h=Fe;exports.ha=d;exports.i=p;exports.ia=Se;exports.j=Q;exports.ja=S;exports.k=A;exports.ka=Ct;exports.l=ke;exports.la=xe;exports.m=Ie;exports.ma=Nt;exports.n=_e;exports.na=Bt;exports.o=we;exports.oa=Pt;exports.p=Oe;exports.pa=Tt;exports.q=F;exports.r=w;exports.s=j;exports.t=C;exports.u=$;exports.v=k;exports.w=K;exports.x=H;exports.y=Pe;exports.z=q;
@@ -0,0 +1 @@
1
+ function R(t,e,n){return {_tag:"Fold",first:t,onFailure:e,onSuccess:n}}function be(t,e){return R(t,n=>e(n),n=>E(n))}function b(t,e){return R(t,n=>f(e(n)),n=>E(n))}var Z=()=>E(void 0),E=t=>({_tag:"Succeed",value:t}),f=t=>({_tag:"Fail",error:t}),_=t=>({_tag:"Sync",thunk:t}),Fe=t=>_(()=>t()),p=t=>({_tag:"Async",register:t});function Q(t,e){return A(t,n=>E(e(n)))}function A(t,e){return {_tag:"FlatMap",first:t,andThen:e}}function ke(t,e,n){return A(t,r=>(n.addFinalizer(o=>e(r,o)),E(r)))}function Ie(t){return p(t)}var _e=t=>e=>{let n=e;return n.toPromise||(n.toPromise=r=>t(e,r),n.unsafeRunPromise=()=>t(e,{})),n},we=(t,e)=>A(t,n=>E(e(n))),Oe=(t,e)=>A(t,n=>_(()=>e(n)));var F={_tag:"None"},w=t=>({_tag:"Some",value:t});var j=t=>E(t),C=t=>f(t),$=t=>_(e=>t(e)),k=(t,e)=>Q(t,e),K=(t,e)=>A(t,n=>e(n)),H=(t,e)=>b(t,e),Pe=(t,e)=>R(t,n=>e(n),n=>E(n));function q(t,e){return R(t,n=>n._tag==="Some"?f(n):e(),n=>E(n))}var Te=()=>C(F);var ie=(r=>(r[r.Ok=0]="Ok",r[r.Grew=1]="Grew",r[r.Dropped=2]="Dropped",r))(ie||{}),N=class{buf;head=0;tail=0;size_=0;maxCap;constructor(e=1024,n=e){let r=Math.max(2,this.nextPow2(e)),o=Math.max(r,this.nextPow2(n));this.buf=new Array(r),this.maxCap=o;}get length(){return this.size_}get capacity(){return this.buf.length}isEmpty(){return this.size_===0}push(e){return this.size_===this.buf.length?this.buf.length>=this.maxCap?2:(this.grow(),this.buf[this.tail]=e,this.tail=this.tail+1&this.buf.length-1,this.size_++,1):(this.buf[this.tail]=e,this.tail=this.tail+1&this.buf.length-1,this.size_++,0)}shift(){if(this.size_===0)return;let e=this.buf[this.head];return this.buf[this.head]=void 0,this.head=this.head+1&this.buf.length-1,this.size_--,e}clear(){this.buf.fill(void 0),this.head=0,this.tail=0,this.size_=0;}grow(){let e=this.buf,n=Math.min(e.length*2,this.maxCap),r=new Array(n);for(let o=0;o<this.size_;o++)r[o]=e[this.head+o&e.length-1];this.buf=r,this.head=0,this.tail=this.size_;}nextPow2(e){let n=1;for(;n<e;)n<<=1;return n}};var X=2048,Y=4096,se=(()=>{if(typeof globalThis.setImmediate=="function")return t=>globalThis.setImmediate(t);if(typeof globalThis.MessageChannel=="function"){let t=new globalThis.MessageChannel,e=null;return t.port1.onmessage=()=>{let n=e;e=null,n?.();},n=>{e=n,t.port2.postMessage(0);}}return t=>setTimeout(t,0)})(),L=class{queue=new N(1024);flushing=false;scheduled=false;schedule(e,n="anonymous"){if(typeof e=="function"&&(this.queue.push({tag:n,task:e}),!this.flushing&&!this.scheduled)){this.scheduled=true;let r=this.queue.length>Y?"macro":"micro";this.requestFlush(r);}}requestFlush(e){e==="micro"?queueMicrotask(()=>this.flush()):se(()=>this.flush());}flush(){if(this.flushing)return;this.flushing=true,this.scheduled=false;let e=0;try{for(;e<X;){let n=this.queue.shift();if(!n)break;e++;try{n.task();}catch(r){console.error(`[Scheduler] task threw (tag=${n.tag})`,r);}}}finally{if(this.flushing=false,this.queue.length>0&&!this.scheduled){this.scheduled=true;let n=e>=X||this.queue.length>Y?"macro":"micro";this.requestFlush(n);}}}},B=new L;var P=null,h={CONTINUE:"Continue",SUSPEND:"Suspend",DONE:"Done"},g={QUEUED:"Queued",RUNNING:"Running",SUSPENDED:"Suspended",DONE:"Done"},ce=1,ue=1024;function le(t){let e=t;for(;e._tag==="FlatMap"&&e.first._tag==="FlatMap";){let n=e.first,r=e.andThen;e={_tag:"FlatMap",first:n.first,andThen:o=>({_tag:"FlatMap",first:n.andThen(o),andThen:r})};}return e}var T=class{id;runtime;closing=null;finishing=false;runState=g.RUNNING;interrupted=false;result=null;joiners=[];current;stack=[];fiberFinalizers=[];finalizersDrained=false;fiberContext;name;scopeId;constructor(e,n){this.id=ce++,this.runtime=e,this.current=n;}get env(){return this.runtime.env}get scheduler(){return this.runtime.scheduler}addFinalizer(e){this.fiberFinalizers.push(e);}status(){return this.result==null?"Running":this.interrupted?"Interrupted":"Done"}join(e){this.result!=null?e(this.result):this.joiners.push(e);}interrupt(){this.result==null&&(this.interrupted||(this.interrupted=true,this.schedule("interrupt-step")));}schedule(e="step"){this.runState===g.DONE||this.runState===g.QUEUED||(this.runState=g.QUEUED,this.scheduler.schedule(()=>{pe(this,()=>{if(this.runState===g.DONE)return;switch(this.runState=g.RUNNING,this.step()){case h.CONTINUE:this.schedule("continue");return;case h.SUSPEND:this.runState=g.SUSPENDED;return;case h.DONE:this.runState=g.DONE;return}});},`fiber#${this.id}.${e}`));}runFinalizersOnce(e){if(!this.finalizersDrained)for(this.finalizersDrained=true;this.fiberFinalizers.length>0;){let n=this.fiberFinalizers.pop();try{n(e);}catch{}}}notify(e){if(this.result==null&&this.closing==null){this.finishing=true,this.closing=e,this.runFinalizersOnce(e),this.result=e;for(let n of this.joiners)n(e);this.joiners.length=0;}}onSuccess(e){let n=this.stack.pop();if(!n){this.notify({_tag:"Success",value:e});return}this.current=n._tag==="SuccessCont"?n.k(e):n.onSuccess(e);}onFailure(e){for(;this.stack.length>0;){let n=this.stack.pop();if(n._tag==="FoldCont"){this.current=n.onFailure(e);return}}this.notify({_tag:"Failure",error:e});}step(){let e=ue;for(;e-- >0;){if(this.result!=null)return h.DONE;if(this.interrupted&&this.closing==null)return this.notify({_tag:"Failure",error:{_tag:"Interrupted"}}),h.DONE;let n=le(this.current);switch(n._tag){case "Succeed":{this.onSuccess(n.value);break}case "Fail":{this.onFailure(n.error);break}case "Sync":{try{let r=n.thunk(this.env);this.onSuccess(r);}catch(r){this.onFailure(r);}break}case "FlatMap":{this.stack.push({_tag:"SuccessCont",k:n.andThen}),this.current=n.first;break}case "Fold":{this.stack.push({_tag:"FoldCont",onFailure:n.onFailure,onSuccess:n.onSuccess}),this.current=n.first;break}case "Async":{if(this.finishing)return this.result!=null?h.DONE:h.CONTINUE;let r=false,o=i=>{r||(r=true,!(this.result!=null||this.closing!=null)&&(this.current=i._tag==="Success"?{_tag:"Succeed",value:i.value}:{_tag:"Fail",error:i.error},this.schedule("async-resume")));},a=n.register(this.env,o);return typeof a=="function"&&this.addFinalizer(()=>{r=true;try{a();}catch{}}),h.SUSPEND}}}return this.result!=null?h.DONE:h.CONTINUE}};function D(){return P}function pe(t,e){let n=P;P=t;try{return e()}finally{P=n;}}var ee={parent:null,patch:Object.create(null)};function te(t,e){let n=Ee(t);return {initChild(r,o){let a=o?.fiberContext,i=Ae(n,a?.trace??null);r.fiberContext={log:a?.log??ee,trace:i},r.parentFiberId=o?.id,r.name=n.childName(o?.name),e.emit({type:"fiber.start",fiberId:r.id,parentFiberId:o?.id,name:r.name},{fiberId:o?.id,traceId:a?.trace?.traceId,spanId:a?.trace?.spanId});}}}function Ee(t){let e={newTraceId:()=>crypto.randomUUID(),newSpanId:()=>crypto.randomUUID()},n=t?.brass,r=n?.tracer??e,o=n?.traceSeed,a=n?.childName??(i=>i?`${i}/child`:void 0);return {tracer:r,seed:o,childName:a}}function Ae(t,e){return e?{traceId:e.traceId,spanId:t.tracer.newSpanId(),parentSpanId:e.spanId,sampled:e.sampled}:t.seed?{...t.seed}:{traceId:t.tracer.newTraceId(),spanId:t.tracer.newSpanId(),sampled:true}}var de={emit(){}},O=class t{env;scheduler;hooks;forkPolicy;constructor(e){this.env=e.env,this.scheduler=e.scheduler??B,this.hooks=e.hooks??de,this.forkPolicy=te(this.env,this.hooks);}fork(e){let n=D(),r=new T(this,e);return this.forkPolicy.initChild(r,n),r.schedule("initial-step"),r}unsafeRunAsync(e,n){this.fork(e).join(n);}toPromise(e){return new Promise((n,r)=>{this.fork(e).join(a=>{let i=a;i._tag==="Success"?n(i.value):r(i.error);});})}log(e,n,r){this.emit({type:"log",level:e,message:n,fields:r});}withHooks(e){return new t({env:this.env,scheduler:this.scheduler,hooks:e})}emit(e){let n=D(),r={fiberId:n?.id,scopeId:n?.scope?.id,traceId:n?.fiberContext?.trace?.traceId,spanId:n?.fiberContext?.trace?.spanId};this.hooks.emit(e,r);}static make(e,n=B){return new t({env:e,scheduler:n})}};function Ye(t){return p((e,n)=>{let r=false,o=s=>{r||(r=true,n(s));},a=s=>o({_tag:"Failure",error:s instanceof Error?s:new Error(String(s))}),i=s=>o({_tag:"Success",value:s});try{typeof t=="function"&&t.length>=1?t((s,c)=>s?a(s):i(c)):t().then(i,a);}catch(s){a(s);}})}function et(t,e,n=B){return new O({env:e,scheduler:n}).fork(t)}function tt(t,e,n){return new O({env:e}).unsafeRunAsync(t,n)}function nt(t,e){return new O({env:e}).toPromise(t)}function rt(t,e){return p((n,r)=>{t(n).then(o=>r({_tag:"Success",value:o})).catch(o=>r({_tag:"Failure",error:e(o)}));})}function ot(t){return p((e,n)=>{let r=false,o=a=>{r||(r=true,n(a));};try{t((a,i)=>{o(a?{_tag:"Failure",error:a}:{_tag:"Success",value:i});});}catch(a){o({_tag:"Failure",error:a instanceof Error?a:new Error(String(a))});}})}function at(t){return ye((n,r)=>t.length===1?t(r):t(n,r),n=>Re(n)?{_tag:"Abort"}:{_tag:"PromiseRejected",reason:n})}function ye(t,e){return p((n,r)=>{let o=new AbortController,a=false,i=s=>{a||(a=true,r(s));};try{(t.length===1?t(o.signal):t(n,o.signal)).then(c=>i({_tag:"Success",value:c})).catch(c=>i({_tag:"Failure",error:e(c)}));}catch(s){i({_tag:"Failure",error:e(s)});}return ()=>{a=true,o.abort();}})}var Re=t=>typeof t=="object"&&t!==null&&"name"in t&&t.name==="AbortError";function G(){let t=D();if(!t)throw new Error("No current runtime: est\xE1s llamando esto fuera de un fiber (fuera del runtime).");return t.runtime}var me=1;function fe(t){return p((e,n)=>{let r=t.length;if(r===0){n({_tag:"Success",value:void 0});return}for(let o of t)o.join(()=>{r-=1,r===0&&n({_tag:"Success",value:void 0});});})}function he(t){return R(t,()=>Z(),()=>Z())}var I=class t{constructor(e){this.runtime=e;this.id=me++;}id;closed=false;children=new Set;subScopes=new Set;finalizers=[];get env(){return this.runtime.env}addFinalizer(e){if(this.closed)throw new Error("Trying to add finalizer to closed scope");this.finalizers.push(e);}subScope(){if(this.closed)throw new Error("Scope closed");let e=new t(this.runtime);return this.subScopes.add(e),e}fork(e){if(this.closed)throw new Error("Scope closed");let n=this.runtime.fork(e);return this.children.add(n),n.join(()=>{this.children.delete(n);}),n}close(e={_tag:"Success",value:void 0}){this.runtime.fork(this.closeAsync(e));}closeAsync(e={_tag:"Success",value:void 0},n={}){return p((r,o)=>{if(this.closed){o({_tag:"Success",value:void 0});return}this.closed=true;let a=Array.from(this.children),i=Array.from(this.subScopes);this.children.clear(),this.subScopes.clear();for(let l of a)try{l.interrupt();}catch{}let s=Z();for(let l of i)s=A(s,()=>l.closeAsync(e,n));for(;this.finalizers.length>0;){let l=this.finalizers.pop();s=A(s,()=>he(l(e)));}n.awaitChildren&&(s=A(s,()=>fe(a))),this.runtime.fork(s).join(()=>o({_tag:"Success",value:void 0}));})}};function ut(t,e){let n=new I(t);try{return e(n)}finally{n.close();}}function lt(t,e){return p((n,r)=>{let o=new I(t);o.fork(e(o)).join(i=>{try{o.close(i);}catch(s){r({_tag:"Failure",error:s});return}r(i);});})}function dt(t,e,n){return p((r,o)=>{let a=n.subScope(),i=false,s=m=>{i||(i=true,a.close(m),o(m));},c=a.fork(t),l=a.fork(e);c.join(s),l.join(s);})}function yt(t,e,n){return p((r,o)=>{let a=n.subScope(),i=null,s=null,c=false,l=()=>{if(!i||!s||c)return;if(c=true,i._tag==="Success"&&s._tag==="Success"){a.close({_tag:"Success",value:void 0}),o({_tag:"Success",value:[i.value,s.value]});return}let u;if(i._tag==="Failure")u=i.error;else if(s._tag==="Failure")u=s.error;else throw new Error("zipPar: unreachable state (no Failure exit)");let v={_tag:"Failure",error:u};a.close(v),o(v);},m=a.fork(t),y=a.fork(e);m.join(u=>{i=u,l();}),y.join(u=>{s=u,l();});})}function Rt(t,e){return p((n,r)=>{let o=e.subScope(),a=new Array(t.length),i=0,s=false;t.forEach((c,l)=>{o.fork(c).join(y=>{if(!s){if(y._tag==="Failure"){s=true;let u={_tag:"Failure",error:y.error};o.close(u),r(u);return}if(a[l]=y.value,i++,i===t.length){s=true;let u={_tag:"Success",value:a};o.close({_tag:"Success",value:void 0}),r(u);}}});});})}function ne(t,e,n,r,o){return p((a,i)=>{let s=n.subScope(),c=false,l=s.fork(t),m=s.fork(e),y=u=>{s.fork(u).join(v=>{s.close(v),i(v);});};l.join(u=>{c||(c=true,y(r(u,m,s)));}),m.join(u=>{c||(c=true,y(o(u,l,s)));});})}var J=t=>t._tag==="None"?F:w(t.value),x=t=>({_tag:"FromPull",pull:t}),oe=(t,e)=>({_tag:"Scoped",acquire:t,release:e}),Ot=t=>({_tag:"Scoped",acquire:A(t,e=>E(e.stream)),release:e=>A(t,n=>n.release(e))}),ge=(t,e,n=true)=>({_tag:"Merge",left:t,right:e,flip:n}),M=()=>({_tag:"Empty"}),ae=t=>({_tag:"Emit",value:t}),z=(t,e)=>({_tag:"Concat",left:t,right:e}),V=t=>({_tag:"Flatten",stream:t});function re(t,e,n,r,o){return (a,i,s)=>{if(a._tag,a._tag,a._tag==="Success"){let[m,y]=a.value;i.interrupt();let u=x(t==="L"?U(y,n):U(e,y));return E([m,u])}let c=a.error;if(typeof c=="object"&&c!==null&&c._tag==="Interrupted")return f(c);let l=c;return l._tag==="None"?d(t==="L"?n:e):f(l)}}function U(t,e,n,r){return p((o,a)=>{let s=G(),c=new I(s),l=d(t),m=d(e),y=re("L",t,e),u=re("R",t,e),v=ne(l,m,c,y,u);c.fork(v).join(W=>{c.close(W),a(W);});})}function Zt(t,e){return x(U(t,e))}function d(t){switch(t._tag){case "Empty":return C(F);case "Emit":return k(H(t.value,e=>w(e)),e=>[e,M()]);case "FromPull":return t.pull;case "Concat":return q(k(d(t.left),([e,n])=>[e,z(n,t.right)]),()=>d(t.right));case "Flatten":return K(d(t.stream),([e,n])=>q(k(d(e),([r,o])=>[r,z(o,V(n))]),()=>d(V(n))));case "Merge":return U(t.left,t.right,t.flip);case "Scoped":return p((e,n)=>{let r=G(),o=new I(r);o.addFinalizer(a=>t.release(a)),o.fork(t.acquire).join(a=>{if(a._tag==="Failure"){o.close(a),n({_tag:"Failure",error:w(a.error)});return}let i=a.value;d(i)(e,c=>{o.close(c),n(c);});});})}}function Se(t,e){throw new Error(e??`Unexpected value: ${String(t)}`)}function S(t,e){switch(t._tag){case "Empty":return M();case "Emit":return ae(k(t.value,e));case "FromPull":return x(k(t.pull,([n,r])=>[e(n),S(r,e)]));case "Concat":return z(S(t.left,e),S(t.right,e));case "Flatten":{let n=S(t.stream,r=>S(r,e));return V(n)}case "Merge":return ge(S(t.left,e),S(t.right,e),t.flip);case "Scoped":return oe(k(t.acquire,n=>S(n,e)),t.release);default:return Se(t)}}function Ct(t,e){let n=r=>x(r>e?f(F):E([r,n(r+1)]));return n(t)}function xe(t,e){let n=R(b(d(t),r=>J(r)),r=>f(r),([r,o])=>R(b(d(e),a=>J(a)),a=>f(a),([a,i])=>E([[r,a],xe(o,i)])));return x(n)}function Nt(t,e){let n=r=>R(b(d(r),o=>J(o)),o=>o._tag==="None"?E(void 0):f(o),([o,a])=>A(b(e(o),i=>w(i)),()=>n(a)));return R(n(t),r=>r._tag==="None"?E(void 0):f(r.value),()=>E(void 0))}function Bt(t){let e=M();for(let n=t.length-1;n>=0;n--){let r=ae(j(t[n]));e=z(r,e);}return e}function Pt(t){let e=(n,r)=>R(d(n),o=>o._tag==="None"?j(r):C(o),([o,a])=>e(a,[...r,o]));return H(e(t,[]),n=>{if(n._tag==="Some")return n.value;throw new Error("unreachable: stream end handled as success")})}function ve(t,e){let n=p((r,o)=>{t.read().then(({done:a,value:i})=>{if(a){o({_tag:"Failure",error:F});return}o({_tag:"Success",value:[i,x(n)]});}).catch(a=>{o({_tag:"Failure",error:w(e(a))});});});return x(n)}function Tt(t,e){if(!t)return M();let n;return oe($(()=>(n=t.getReader(),ve(n,e))),()=>_(()=>{try{n?.cancel();}catch{}}))}export{oe as $,Te as A,ie as B,N as C,L as D,B as E,T as F,D as G,pe as H,O as I,Ye as J,et as K,tt as L,nt as M,rt as N,ot as O,at as P,ye as Q,G as R,I as S,ut as T,lt as U,dt as V,yt as W,Rt as X,ne as Y,J as Z,x as _,R as a,Ot as aa,be as b,ge as ba,b as c,M as ca,Z as d,ae as da,E as e,z as ea,f,V as fa,_ as g,Zt as ga,Fe as h,d as ha,p as i,Se as ia,Q as j,S as ja,A as k,Ct as ka,ke as l,xe as la,Ie as m,Nt as ma,_e as n,Bt as na,we as o,Pt as oa,Oe as p,Tt as pa,F as q,w as r,j as s,C as t,$ as u,k as v,K as w,H as x,Pe as y,q as z};
@@ -1,4 +1,4 @@
1
- import { Z as ZStream, A as Async, x as AsyncWithPromise } from '../stream-BBkLDtQ_.mjs';
1
+ import { Z as ZStream, A as Async, x as AsyncWithPromise } from '../stream-hTHRKq88.mjs';
2
2
 
3
3
  type RetryPolicy = {
4
4
  maxRetries: number;
@@ -1,4 +1,4 @@
1
- import { Z as ZStream, A as Async, x as AsyncWithPromise } from '../stream-BBkLDtQ_.js';
1
+ import { Z as ZStream, A as Async, x as AsyncWithPromise } from '../stream-hTHRKq88.js';
2
2
 
3
3
  type RetryPolicy = {
4
4
  maxRetries: number;
@@ -1 +1 @@
1
- 'use strict';var chunkZU4KK23X_js=require('../chunk-ZU4KK23X.js');var A={make(t,e){return {get:t,set:e}},over(t,e){return r=>t.set(e(t.get(r)))(r)},compose(t,e){return A.make(r=>t.get(e.get(r)),r=>n=>e.set(t.set(r)(e.get(n)))(n))}};var M={headers:A.make(t=>t.headers??{},t=>e=>({...e,headers:t}))};var W=t=>e=>A.over(M.headers,r=>({...r,...t}))(e),S=t=>e=>A.over(M.headers,r=>({...t,...r}))(e),g=(t,e)=>r=>A.over(M.headers,n=>n[t]?n:{...n,[t]:e})(r);var mt=t=>e=>C(t(e)),C=t=>Object.assign((e=>t(e)),{with:e=>C(e(t))}),T=t=>t instanceof DOMException&&t.name==="AbortError"?{_tag:"Abort"}:typeof t=="object"&&t&&"_tag"in t?t:{_tag:"FetchError",message:String(t)},O=t=>{if(t){if(typeof Headers<"u"&&t instanceof Headers){let e={};return t.forEach((r,n)=>e[n]=r),e}if(Array.isArray(t))return Object.fromEntries(t);if(typeof t=="object")return {...t}}},F=t=>e=>{let r=Object.keys(t).length?S(t)(e):e,n=O(e.init?.headers);return n&&Object.keys(n).length&&(r=S(n)(r)),r};function N(t={}){let e=t.baseUrl??"",r=t.headers??{},n=F(r);return p=>chunkZU4KK23X_js.Q(async c=>{let m=n(p),i;try{i=new URL(m.url,e);}catch{throw {_tag:"BadUrl",message:`URL inv\xE1lida: ${m.url}`}}let a=performance.now(),s=await fetch(i,{...m.init??{},method:m.method,headers:M.headers.get(m),body:m.body,signal:c}),u={};s.headers.forEach((d,y)=>u[y]=d);let o=chunkZU4KK23X_js.oa(s.body,T);return {status:s.status,statusText:s.statusText,headers:u,body:o,ms:Math.round(performance.now()-a)}},T)}function U(t={}){let e=t.baseUrl??"",r=t.headers??{},n=F(r);return C(c=>chunkZU4KK23X_js.Q(async m=>{let i=n(c),a;try{a=new URL(i.url,e);}catch{throw {_tag:"BadUrl",message:`URL inv\xE1lida: ${i.url}`}}let s=performance.now(),u=await fetch(a,{...i.init??{},method:i.method,headers:M.headers.get(i),body:i.body,signal:m}),o=await u.text(),d={};return u.headers.forEach((y,H)=>d[H]=y),{status:u.status,statusText:u.statusText,headers:d,bodyText:o,ms:Math.round(performance.now()-s)}},T))}var J=(t,e,r)=>Math.max(e,Math.min(r,t)),G=t=>t._tag==="FetchError",z=t=>t===408||t===429||t===500||t===502||t===503||t===504,I=(t,e,r)=>{let n=e*Math.pow(2,t),p=J(n,0,r);return Math.floor(Math.random()*p)},D=t=>chunkZU4KK23X_js.Q(e=>new Promise((r,n)=>{if(e.aborted)return n({_tag:"Abort"});let p=setTimeout(r,t);e.addEventListener("abort",()=>{clearTimeout(p),n({_tag:"Abort"});},{once:true});}),e=>typeof e=="object"&&e&&"_tag"in e?e:{_tag:"FetchError",message:String(e)}),Z=t=>{let e=Object.keys(t).find(c=>c.toLowerCase()==="retry-after");if(!e)return;let r=t[e]?.trim();if(!r)return;let n=Number(r);if(Number.isFinite(n))return Math.max(0,Math.floor(n*1e3));let p=Date.parse(r);if(Number.isFinite(p))return Math.max(0,p-Date.now())},_=t=>e=>(r=>{let n=p=>chunkZU4KK23X_js.a(e(r),c=>{if(c._tag==="Abort"||c._tag==="BadUrl")return chunkZU4KK23X_js.f(c);if(!(p<t.maxRetries&&(t.retryOnError??G)(c)))return chunkZU4KK23X_js.f(c);let i=I(p,t.baseDelayMs,t.maxDelayMs);return chunkZU4KK23X_js.k(D(i),()=>n(p+1))},c=>{if(!(p<t.maxRetries&&(t.retryOnStatus??z)(c.status)))return chunkZU4KK23X_js.e(c);let a=Z(c.headers)??I(p,t.baseDelayMs,t.maxDelayMs);return chunkZU4KK23X_js.k(D(a),()=>n(p+1))});return n(0)});var $=["GET","HEAD","OPTIONS"],K=t=>t===408||t===429||t===500||t===502||t===503||t===504,Q=t=>t._tag==="FetchError",V=t=>typeof t=="object"&&t!==null&&"name"in t&&t.name==="AbortError"?{_tag:"Abort"}:typeof t=="object"&&t&&"_tag"in t?t:{_tag:"FetchError",message:String(t)},L=t=>chunkZU4KK23X_js.Q(e=>new Promise((r,n)=>{let p=setTimeout(r,t),c=()=>{clearTimeout(p);let m=typeof globalThis.DOMException=="function"?new globalThis.DOMException("Aborted","AbortError"):{name:"AbortError"};n(m);};if(e.aborted)return c();e.addEventListener("abort",c,{once:true});}),V),X=(t,e,r)=>Math.max(e,Math.min(r,t)),v=(t,e,r)=>{let n=Math.max(0,e),p=Math.max(0,r),c=n*Math.pow(2,t),m=X(c,0,p);return Math.floor(Math.random()*m)},Y=(t,e)=>{let r=Object.keys(t).find(n=>n.toLowerCase()===e.toLowerCase());return r?t[r]:void 0},tt=t=>{let e=Y(t,"retry-after")?.trim();if(!e)return;let r=Number(e);if(Number.isFinite(r))return Math.max(0,Math.floor(r*1e3));let n=Date.parse(e);if(Number.isFinite(n))return Math.max(0,n-Date.now())},B=t=>e=>{let r=t.retryOnMethods??$,n=t.retryOnStatus??K,p=t.retryOnError??Q,c=i=>r.includes(i.method),m=(i,a)=>c(i)?chunkZU4KK23X_js.a(e(i),s=>{if(s._tag==="Abort"||s._tag==="BadUrl")return chunkZU4KK23X_js.f(s);if(!(a<t.maxRetries&&p(s)))return chunkZU4KK23X_js.f(s);let o=v(a,t.baseDelayMs,t.maxDelayMs);return chunkZU4KK23X_js.k(L(o),()=>m(i,a+1))},s=>{if(!(a<t.maxRetries&&n(s.status)))return chunkZU4KK23X_js.e(s);let d=tt(s.headers)??v(a,t.baseDelayMs,t.maxDelayMs);return chunkZU4KK23X_js.k(L(d),()=>m(i,a+1))}):e(i);return i=>m(i,0)};var et=(t,e)=>{try{return new URL(e,t??"").toString()}catch{return (t??"")+e}},j=(t={})=>{let e=U(t),r=a=>chunkZU4KK23X_js.n((s,u)=>chunkZU4KK23X_js.M(s,u))(a),n=a=>e(a),p=a=>{let{headers:s,...u}=a??{};return {headers:O(s),init:u}},c=a=>s=>a?W(a)(s):s;return {cfg:t,wire:e,withPromise:r,requestRaw:n,splitInit:p,applyInitHeaders:c,buildReq:(a,s,u,o)=>{let d=p(u),y={method:a,url:s,...o&&o.length>0?{body:o}:{},init:d.init};return c(d.headers)(y)},toResponse:(a,s)=>({status:a.status,statusText:a.statusText,headers:a.headers,body:s})}};function Dt(t={}){let e=j(t),r=n=>{let p=o=>n(o),c=o=>e.withPromise(p(o));return {request:c,get:(o,d)=>c(e.buildReq("GET",o,d)),post:(o,d,y)=>c(e.buildReq("POST",o,y,d)),getText:(o,d)=>{let y=e.buildReq("GET",o,d);return e.withPromise(chunkZU4KK23X_js.p(p(y),H=>e.toResponse(H,H.bodyText)))},getJson:(o,d)=>{let y=e.buildReq("GET",o,d),H=g("accept","application/json")(y);return e.withPromise(chunkZU4KK23X_js.p(p(H),l=>e.toResponse(l,JSON.parse(l.bodyText))))},postJson:(o,d,y)=>{let H=e.buildReq("POST",o,y,JSON.stringify(d??{})),l=g("content-type","application/json")(g("accept","application/json")(H));return e.withPromise(chunkZU4KK23X_js.p(p(l),P=>e.toResponse(P,JSON.parse(P.bodyText))))},with:o=>r(n.with(o)),withRetry:o=>r(n.with(B(o))),wire:n}};return r(e.wire)}function Ft(t={}){let e=j(t),r=(s,u,o)=>({request:s,urlFinal:et(e.cfg.baseUrl,s.url),startedAt:o,durationMs:u.ms}),n=s=>{let u=Date.now();return e.withPromise(chunkZU4KK23X_js.p(e.requestRaw(s),o=>({wire:o,meta:r(s,o,u)})))};return {request:n,get:(s,u)=>{let o=e.buildReq("GET",s,u);return n(o)},getText:(s,u)=>{let o=e.buildReq("GET",s,u),d=Date.now();return e.withPromise(chunkZU4KK23X_js.p(e.requestRaw(o),y=>({wire:y,response:e.toResponse(y,y.bodyText),meta:r(o,y,d)})))},getJson:(s,u)=>{let o=e.buildReq("GET",s,u),d=g("accept","application/json")(o),y=Date.now();return e.withPromise(chunkZU4KK23X_js.p(e.requestRaw(d),H=>({wire:H,response:e.toResponse(H,JSON.parse(H.bodyText)),meta:r(d,H,y)})))},post:(s,u,o)=>{let d=e.buildReq("POST",s,o,u);return n(d)},postJson:(s,u,o)=>{let d=e.buildReq("POST",s,o,JSON.stringify(u??{})),y=g("content-type","application/json")(g("accept","application/json")(d)),H=Date.now();return e.withPromise(chunkZU4KK23X_js.p(e.requestRaw(y),l=>({wire:l,response:e.toResponse(l,JSON.parse(l.bodyText)),meta:r(y,l,H)})))}}}function Nt(t={}){let e=N(t),r=n=>{let p=i=>chunkZU4KK23X_js.n((a,s)=>chunkZU4KK23X_js.M(a,s))(i),c=i=>p(n(i)),m=(i,a)=>{let s={method:"GET",url:i,init:a},u=g("accept","*/*")(s);return c(u)};return {request:c,getStream:m,get:m,with:i=>r(i(n)),withRetry:i=>r(_(i)(n)),wire:n}};return r(e)}exports.decorate=C;exports.httpClient=Dt;exports.httpClientStream=Nt;exports.httpClientWithMeta=Ft;exports.makeHttp=U;exports.makeHttpStream=N;exports.normalizeHeadersInit=O;exports.withMiddleware=mt;exports.withRetryStream=_;
1
+ 'use strict';var chunkQ2H2CAII_js=require('../chunk-Q2H2CAII.js');var b={make(t,e){return {get:t,set:e}},over(t,e){return r=>t.set(e(t.get(r)))(r)},compose(t,e){return b.make(r=>t.get(e.get(r)),r=>n=>e.set(t.set(r)(e.get(n)))(n))}};var A={headers:b.make(t=>t.headers??{},t=>e=>({...e,headers:t}))};var I=t=>e=>b.over(A.headers,r=>({...r,...t}))(e),C=t=>e=>b.over(A.headers,r=>({...t,...r}))(e),g=(t,e)=>r=>b.over(A.headers,n=>n[t]?n:{...n,[t]:e})(r);var v=t=>typeof t=="object"&&t!==null&&"_tag"in t,J=t=>v(t)?t:typeof t=="object"&&t!==null&&t.name==="AbortError"?{_tag:"Abort"}:{_tag:"FetchError",message:String(t)},M=t=>chunkQ2H2CAII_js.Q(e=>new Promise((r,n)=>{if(e.aborted)return n({_tag:"Abort"});let u=setTimeout(r,t),p=()=>{clearTimeout(u),n({_tag:"Abort"});};e.addEventListener("abort",p,{once:true});}),J);var lt=t=>e=>T(t(e)),T=t=>Object.assign((e=>t(e)),{with:e=>T(e(t))}),O=t=>t instanceof DOMException&&t.name==="AbortError"?{_tag:"Abort"}:typeof t=="object"&&t&&"_tag"in t?t:{_tag:"FetchError",message:String(t)},k=t=>{if(t){if(typeof Headers<"u"&&t instanceof Headers){let e={};return t.forEach((r,n)=>e[n]=r),e}if(Array.isArray(t))return Object.fromEntries(t);if(typeof t=="object")return {...t}}},D=t=>e=>{let r=Object.keys(t).length?C(t)(e):e,n=k(e.init?.headers);return n&&Object.keys(n).length&&(r=C(n)(r)),r};function N(t={}){let e=t.baseUrl??"",r=t.headers??{},n=D(r);return u=>chunkQ2H2CAII_js.Q(async p=>{let y=n(u),i;try{i=new URL(y.url,e);}catch{throw {_tag:"BadUrl",message:`URL inv\xE1lida: ${y.url}`}}let a=performance.now(),s=await fetch(i,{...y.init??{},method:y.method,headers:A.headers.get(y),body:y.body,signal:p}),c={};s.headers.forEach((d,m)=>c[m]=d);let o=chunkQ2H2CAII_js.pa(s.body,O);return {status:s.status,statusText:s.statusText,headers:c,body:o,ms:Math.round(performance.now()-a)}},O)}function _(t={}){let e=t.baseUrl??"",r=t.headers??{},n=D(r);return T(p=>chunkQ2H2CAII_js.Q(async y=>{let i=n(p),a;try{a=new URL(i.url,e);}catch{throw {_tag:"BadUrl",message:`URL inv\xE1lida: ${i.url}`}}let s=performance.now(),c=await fetch(a,{...i.init??{},method:i.method,headers:A.headers.get(i),body:i.body,signal:y}),o=await c.text(),d={};return c.headers.forEach((m,H)=>d[H]=m),{status:c.status,statusText:c.statusText,headers:d,bodyText:o,ms:Math.round(performance.now()-s)}},O))}var G=(t,e,r)=>Math.max(e,Math.min(r,t)),z=t=>t._tag==="FetchError",Z=t=>t===408||t===429||t===500||t===502||t===503||t===504,F=(t,e,r)=>{let n=e*Math.pow(2,t),u=G(n,0,r);return Math.floor(Math.random()*u)},$=t=>{let e=Object.keys(t).find(p=>p.toLowerCase()==="retry-after");if(!e)return;let r=t[e]?.trim();if(!r)return;let n=Number(r);if(Number.isFinite(n))return Math.max(0,Math.floor(n*1e3));let u=Date.parse(r);if(Number.isFinite(u))return Math.max(0,u-Date.now())},U=t=>e=>(r=>{let n=u=>chunkQ2H2CAII_js.a(e(r),p=>{if(p._tag==="Abort"||p._tag==="BadUrl")return chunkQ2H2CAII_js.f(p);if(!(u<t.maxRetries&&(t.retryOnError??z)(p)))return chunkQ2H2CAII_js.f(p);let i=F(u,t.baseDelayMs,t.maxDelayMs);return chunkQ2H2CAII_js.k(M(i),()=>n(u+1))},p=>{if(!(u<t.maxRetries&&(t.retryOnStatus??Z)(p.status)))return chunkQ2H2CAII_js.e(p);let a=$(p.headers)??F(u,t.baseDelayMs,t.maxDelayMs);return chunkQ2H2CAII_js.k(M(a),()=>n(u+1))});return n(0)});var K=["GET","HEAD","OPTIONS"],Q=t=>t===408||t===429||t===500||t===502||t===503||t===504,V=t=>t._tag==="FetchError";var X=(t,e,r)=>Math.max(e,Math.min(r,t)),L=(t,e,r)=>{let n=Math.max(0,e),u=Math.max(0,r),p=n*Math.pow(2,t),y=X(p,0,u);return Math.floor(Math.random()*y)},Y=(t,e)=>{let r=Object.keys(t).find(n=>n.toLowerCase()===e.toLowerCase());return r?t[r]:void 0},tt=t=>{let e=Y(t,"retry-after")?.trim();if(!e)return;let r=Number(e);if(Number.isFinite(r))return Math.max(0,Math.floor(r*1e3));let n=Date.parse(e);if(Number.isFinite(n))return Math.max(0,n-Date.now())},j=t=>e=>{let r=t.retryOnMethods??K,n=t.retryOnStatus??Q,u=t.retryOnError??V,p=i=>r.includes(i.method),y=(i,a)=>p(i)?chunkQ2H2CAII_js.a(e(i),s=>{if(s._tag==="Abort"||s._tag==="BadUrl")return chunkQ2H2CAII_js.f(s);if(!(a<t.maxRetries&&u(s)))return chunkQ2H2CAII_js.f(s);let o=L(a,t.baseDelayMs,t.maxDelayMs);return chunkQ2H2CAII_js.k(M(o),()=>y(i,a+1))},s=>{if(!(a<t.maxRetries&&n(s.status)))return chunkQ2H2CAII_js.e(s);let d=tt(s.headers)??L(a,t.baseDelayMs,t.maxDelayMs);return chunkQ2H2CAII_js.k(M(d),()=>y(i,a+1))}):e(i);return i=>y(i,0)};var et=(t,e)=>{try{return new URL(e,t??"").toString()}catch{return (t??"")+e}},B=(t={})=>{let e=_(t),r=a=>chunkQ2H2CAII_js.n((s,c)=>chunkQ2H2CAII_js.M(s,c))(a),n=a=>e(a),u=a=>{let{headers:s,...c}=a??{};return {headers:k(s),init:c}},p=a=>s=>a?I(a)(s):s;return {cfg:t,wire:e,withPromise:r,requestRaw:n,splitInit:u,applyInitHeaders:p,buildReq:(a,s,c,o)=>{let d=u(c),m={method:a,url:s,...o&&o.length>0?{body:o}:{},init:d.init};return p(d.headers)(m)},toResponse:(a,s)=>({status:a.status,statusText:a.statusText,headers:a.headers,body:s})}};function _t(t={}){let e=B(t),r=n=>{let u=o=>n(o),p=o=>e.withPromise(u(o));return {request:p,get:(o,d)=>p(e.buildReq("GET",o,d)),post:(o,d,m)=>p(e.buildReq("POST",o,m,d)),getText:(o,d)=>{let m=e.buildReq("GET",o,d);return e.withPromise(chunkQ2H2CAII_js.p(u(m),H=>e.toResponse(H,H.bodyText)))},getJson:(o,d)=>{let m=e.buildReq("GET",o,d),H=g("accept","application/json")(m);return e.withPromise(chunkQ2H2CAII_js.p(u(H),l=>e.toResponse(l,JSON.parse(l.bodyText))))},postJson:(o,d,m)=>{let H=e.buildReq("POST",o,m,JSON.stringify(d??{})),l=g("content-type","application/json")(g("accept","application/json")(H));return e.withPromise(chunkQ2H2CAII_js.p(u(l),P=>e.toResponse(P,JSON.parse(P.bodyText))))},with:o=>r(n.with(o)),withRetry:o=>r(n.with(j(o))),wire:n}};return r(e.wire)}function Ut(t={}){let e=B(t),r=(s,c,o)=>({request:s,urlFinal:et(e.cfg.baseUrl,s.url),startedAt:o,durationMs:c.ms}),n=s=>{let c=Date.now();return e.withPromise(chunkQ2H2CAII_js.p(e.requestRaw(s),o=>({wire:o,meta:r(s,o,c)})))};return {request:n,get:(s,c)=>{let o=e.buildReq("GET",s,c);return n(o)},getText:(s,c)=>{let o=e.buildReq("GET",s,c),d=Date.now();return e.withPromise(chunkQ2H2CAII_js.p(e.requestRaw(o),m=>({wire:m,response:e.toResponse(m,m.bodyText),meta:r(o,m,d)})))},getJson:(s,c)=>{let o=e.buildReq("GET",s,c),d=g("accept","application/json")(o),m=Date.now();return e.withPromise(chunkQ2H2CAII_js.p(e.requestRaw(d),H=>({wire:H,response:e.toResponse(H,JSON.parse(H.bodyText)),meta:r(d,H,m)})))},post:(s,c,o)=>{let d=e.buildReq("POST",s,o,c);return n(d)},postJson:(s,c,o)=>{let d=e.buildReq("POST",s,o,JSON.stringify(c??{})),m=g("content-type","application/json")(g("accept","application/json")(d)),H=Date.now();return e.withPromise(chunkQ2H2CAII_js.p(e.requestRaw(m),l=>({wire:l,response:e.toResponse(l,JSON.parse(l.bodyText)),meta:r(m,l,H)})))}}}function Lt(t={}){let e=N(t),r=n=>{let u=i=>chunkQ2H2CAII_js.n((a,s)=>chunkQ2H2CAII_js.M(a,s))(i),p=i=>u(n(i)),y=(i,a)=>{let s={method:"GET",url:i,init:a},c=g("accept","*/*")(s);return p(c)};return {request:p,getStream:y,get:y,with:i=>r(i(n)),withRetry:i=>r(U(i)(n)),wire:n}};return r(e)}exports.decorate=T;exports.httpClient=_t;exports.httpClientStream=Lt;exports.httpClientWithMeta=Ut;exports.makeHttp=_;exports.makeHttpStream=N;exports.normalizeHeadersInit=k;exports.withMiddleware=lt;exports.withRetryStream=U;
@@ -1 +1 @@
1
- import {Q as Q$1,oa,a,p,n,f,k,e,M as M$1}from'../chunk-YDXX3MGC.mjs';var A={make(t,e){return {get:t,set:e}},over(t,e){return r=>t.set(e(t.get(r)))(r)},compose(t,e){return A.make(r=>t.get(e.get(r)),r=>n=>e.set(t.set(r)(e.get(n)))(n))}};var M={headers:A.make(t=>t.headers??{},t=>e=>({...e,headers:t}))};var W=t=>e=>A.over(M.headers,r=>({...r,...t}))(e),S=t=>e=>A.over(M.headers,r=>({...t,...r}))(e),g=(t,e)=>r=>A.over(M.headers,n=>n[t]?n:{...n,[t]:e})(r);var mt=t=>e=>C(t(e)),C=t=>Object.assign((e=>t(e)),{with:e=>C(e(t))}),T=t=>t instanceof DOMException&&t.name==="AbortError"?{_tag:"Abort"}:typeof t=="object"&&t&&"_tag"in t?t:{_tag:"FetchError",message:String(t)},O=t=>{if(t){if(typeof Headers<"u"&&t instanceof Headers){let e={};return t.forEach((r,n)=>e[n]=r),e}if(Array.isArray(t))return Object.fromEntries(t);if(typeof t=="object")return {...t}}},F=t=>e=>{let r=Object.keys(t).length?S(t)(e):e,n=O(e.init?.headers);return n&&Object.keys(n).length&&(r=S(n)(r)),r};function N(t={}){let e=t.baseUrl??"",r=t.headers??{},n=F(r);return p=>Q$1(async c=>{let m=n(p),i;try{i=new URL(m.url,e);}catch{throw {_tag:"BadUrl",message:`URL inv\xE1lida: ${m.url}`}}let a=performance.now(),s=await fetch(i,{...m.init??{},method:m.method,headers:M.headers.get(m),body:m.body,signal:c}),u={};s.headers.forEach((d,y)=>u[y]=d);let o=oa(s.body,T);return {status:s.status,statusText:s.statusText,headers:u,body:o,ms:Math.round(performance.now()-a)}},T)}function U(t={}){let e=t.baseUrl??"",r=t.headers??{},n=F(r);return C(c=>Q$1(async m=>{let i=n(c),a;try{a=new URL(i.url,e);}catch{throw {_tag:"BadUrl",message:`URL inv\xE1lida: ${i.url}`}}let s=performance.now(),u=await fetch(a,{...i.init??{},method:i.method,headers:M.headers.get(i),body:i.body,signal:m}),o=await u.text(),d={};return u.headers.forEach((y,H)=>d[H]=y),{status:u.status,statusText:u.statusText,headers:d,bodyText:o,ms:Math.round(performance.now()-s)}},T))}var J=(t,e,r)=>Math.max(e,Math.min(r,t)),G=t=>t._tag==="FetchError",z=t=>t===408||t===429||t===500||t===502||t===503||t===504,I=(t,e,r)=>{let n=e*Math.pow(2,t),p=J(n,0,r);return Math.floor(Math.random()*p)},D=t=>Q$1(e=>new Promise((r,n)=>{if(e.aborted)return n({_tag:"Abort"});let p=setTimeout(r,t);e.addEventListener("abort",()=>{clearTimeout(p),n({_tag:"Abort"});},{once:true});}),e=>typeof e=="object"&&e&&"_tag"in e?e:{_tag:"FetchError",message:String(e)}),Z=t=>{let e=Object.keys(t).find(c=>c.toLowerCase()==="retry-after");if(!e)return;let r=t[e]?.trim();if(!r)return;let n=Number(r);if(Number.isFinite(n))return Math.max(0,Math.floor(n*1e3));let p=Date.parse(r);if(Number.isFinite(p))return Math.max(0,p-Date.now())},_=t=>e$1=>(r=>{let n=p=>a(e$1(r),c=>{if(c._tag==="Abort"||c._tag==="BadUrl")return f(c);if(!(p<t.maxRetries&&(t.retryOnError??G)(c)))return f(c);let i=I(p,t.baseDelayMs,t.maxDelayMs);return k(D(i),()=>n(p+1))},c=>{if(!(p<t.maxRetries&&(t.retryOnStatus??z)(c.status)))return e(c);let a=Z(c.headers)??I(p,t.baseDelayMs,t.maxDelayMs);return k(D(a),()=>n(p+1))});return n(0)});var $=["GET","HEAD","OPTIONS"],K=t=>t===408||t===429||t===500||t===502||t===503||t===504,Q=t=>t._tag==="FetchError",V=t=>typeof t=="object"&&t!==null&&"name"in t&&t.name==="AbortError"?{_tag:"Abort"}:typeof t=="object"&&t&&"_tag"in t?t:{_tag:"FetchError",message:String(t)},L=t=>Q$1(e=>new Promise((r,n)=>{let p=setTimeout(r,t),c=()=>{clearTimeout(p);let m=typeof globalThis.DOMException=="function"?new globalThis.DOMException("Aborted","AbortError"):{name:"AbortError"};n(m);};if(e.aborted)return c();e.addEventListener("abort",c,{once:true});}),V),X=(t,e,r)=>Math.max(e,Math.min(r,t)),v=(t,e,r)=>{let n=Math.max(0,e),p=Math.max(0,r),c=n*Math.pow(2,t),m=X(c,0,p);return Math.floor(Math.random()*m)},Y=(t,e)=>{let r=Object.keys(t).find(n=>n.toLowerCase()===e.toLowerCase());return r?t[r]:void 0},tt=t=>{let e=Y(t,"retry-after")?.trim();if(!e)return;let r=Number(e);if(Number.isFinite(r))return Math.max(0,Math.floor(r*1e3));let n=Date.parse(e);if(Number.isFinite(n))return Math.max(0,n-Date.now())},B=t=>e$1=>{let r=t.retryOnMethods??$,n=t.retryOnStatus??K,p=t.retryOnError??Q,c=i=>r.includes(i.method),m=(i,a$1)=>c(i)?a(e$1(i),s=>{if(s._tag==="Abort"||s._tag==="BadUrl")return f(s);if(!(a$1<t.maxRetries&&p(s)))return f(s);let o=v(a$1,t.baseDelayMs,t.maxDelayMs);return k(L(o),()=>m(i,a$1+1))},s=>{if(!(a$1<t.maxRetries&&n(s.status)))return e(s);let d=tt(s.headers)??v(a$1,t.baseDelayMs,t.maxDelayMs);return k(L(d),()=>m(i,a$1+1))}):e$1(i);return i=>m(i,0)};var et=(t,e)=>{try{return new URL(e,t??"").toString()}catch{return (t??"")+e}},j=(t={})=>{let e=U(t),r=a=>n((s,u)=>M$1(s,u))(a),n$1=a=>e(a),p=a=>{let{headers:s,...u}=a??{};return {headers:O(s),init:u}},c=a=>s=>a?W(a)(s):s;return {cfg:t,wire:e,withPromise:r,requestRaw:n$1,splitInit:p,applyInitHeaders:c,buildReq:(a,s,u,o)=>{let d=p(u),y={method:a,url:s,...o&&o.length>0?{body:o}:{},init:d.init};return c(d.headers)(y)},toResponse:(a,s)=>({status:a.status,statusText:a.statusText,headers:a.headers,body:s})}};function Dt(t={}){let e=j(t),r=n=>{let p$1=o=>n(o),c=o=>e.withPromise(p$1(o));return {request:c,get:(o,d)=>c(e.buildReq("GET",o,d)),post:(o,d,y)=>c(e.buildReq("POST",o,y,d)),getText:(o,d)=>{let y=e.buildReq("GET",o,d);return e.withPromise(p(p$1(y),H=>e.toResponse(H,H.bodyText)))},getJson:(o,d)=>{let y=e.buildReq("GET",o,d),H=g("accept","application/json")(y);return e.withPromise(p(p$1(H),l=>e.toResponse(l,JSON.parse(l.bodyText))))},postJson:(o,d,y)=>{let H=e.buildReq("POST",o,y,JSON.stringify(d??{})),l=g("content-type","application/json")(g("accept","application/json")(H));return e.withPromise(p(p$1(l),P=>e.toResponse(P,JSON.parse(P.bodyText))))},with:o=>r(n.with(o)),withRetry:o=>r(n.with(B(o))),wire:n}};return r(e.wire)}function Ft(t={}){let e=j(t),r=(s,u,o)=>({request:s,urlFinal:et(e.cfg.baseUrl,s.url),startedAt:o,durationMs:u.ms}),n=s=>{let u=Date.now();return e.withPromise(p(e.requestRaw(s),o=>({wire:o,meta:r(s,o,u)})))};return {request:n,get:(s,u)=>{let o=e.buildReq("GET",s,u);return n(o)},getText:(s,u)=>{let o=e.buildReq("GET",s,u),d=Date.now();return e.withPromise(p(e.requestRaw(o),y=>({wire:y,response:e.toResponse(y,y.bodyText),meta:r(o,y,d)})))},getJson:(s,u)=>{let o=e.buildReq("GET",s,u),d=g("accept","application/json")(o),y=Date.now();return e.withPromise(p(e.requestRaw(d),H=>({wire:H,response:e.toResponse(H,JSON.parse(H.bodyText)),meta:r(d,H,y)})))},post:(s,u,o)=>{let d=e.buildReq("POST",s,o,u);return n(d)},postJson:(s,u,o)=>{let d=e.buildReq("POST",s,o,JSON.stringify(u??{})),y=g("content-type","application/json")(g("accept","application/json")(d)),H=Date.now();return e.withPromise(p(e.requestRaw(y),l=>({wire:l,response:e.toResponse(l,JSON.parse(l.bodyText)),meta:r(y,l,H)})))}}}function Nt(t={}){let e=N(t),r=n$1=>{let p=i=>n((a,s)=>M$1(a,s))(i),c=i=>p(n$1(i)),m=(i,a)=>{let s={method:"GET",url:i,init:a},u=g("accept","*/*")(s);return c(u)};return {request:c,getStream:m,get:m,with:i=>r(i(n$1)),withRetry:i=>r(_(i)(n$1)),wire:n$1}};return r(e)}export{C as decorate,Dt as httpClient,Nt as httpClientStream,Ft as httpClientWithMeta,U as makeHttp,N as makeHttpStream,O as normalizeHeadersInit,mt as withMiddleware,_ as withRetryStream};
1
+ import {Q as Q$1,pa,a,p,n,f,k as k$1,e,M as M$1}from'../chunk-ZXK3XM2Q.mjs';var b={make(t,e){return {get:t,set:e}},over(t,e){return r=>t.set(e(t.get(r)))(r)},compose(t,e){return b.make(r=>t.get(e.get(r)),r=>n=>e.set(t.set(r)(e.get(n)))(n))}};var A={headers:b.make(t=>t.headers??{},t=>e=>({...e,headers:t}))};var I=t=>e=>b.over(A.headers,r=>({...r,...t}))(e),C=t=>e=>b.over(A.headers,r=>({...t,...r}))(e),g=(t,e)=>r=>b.over(A.headers,n=>n[t]?n:{...n,[t]:e})(r);var v=t=>typeof t=="object"&&t!==null&&"_tag"in t,J=t=>v(t)?t:typeof t=="object"&&t!==null&&t.name==="AbortError"?{_tag:"Abort"}:{_tag:"FetchError",message:String(t)},M=t=>Q$1(e=>new Promise((r,n)=>{if(e.aborted)return n({_tag:"Abort"});let u=setTimeout(r,t),p=()=>{clearTimeout(u),n({_tag:"Abort"});};e.addEventListener("abort",p,{once:true});}),J);var lt=t=>e=>T(t(e)),T=t=>Object.assign((e=>t(e)),{with:e=>T(e(t))}),O=t=>t instanceof DOMException&&t.name==="AbortError"?{_tag:"Abort"}:typeof t=="object"&&t&&"_tag"in t?t:{_tag:"FetchError",message:String(t)},k=t=>{if(t){if(typeof Headers<"u"&&t instanceof Headers){let e={};return t.forEach((r,n)=>e[n]=r),e}if(Array.isArray(t))return Object.fromEntries(t);if(typeof t=="object")return {...t}}},D=t=>e=>{let r=Object.keys(t).length?C(t)(e):e,n=k(e.init?.headers);return n&&Object.keys(n).length&&(r=C(n)(r)),r};function N(t={}){let e=t.baseUrl??"",r=t.headers??{},n=D(r);return u=>Q$1(async p=>{let y=n(u),i;try{i=new URL(y.url,e);}catch{throw {_tag:"BadUrl",message:`URL inv\xE1lida: ${y.url}`}}let a=performance.now(),s=await fetch(i,{...y.init??{},method:y.method,headers:A.headers.get(y),body:y.body,signal:p}),c={};s.headers.forEach((d,m)=>c[m]=d);let o=pa(s.body,O);return {status:s.status,statusText:s.statusText,headers:c,body:o,ms:Math.round(performance.now()-a)}},O)}function _(t={}){let e=t.baseUrl??"",r=t.headers??{},n=D(r);return T(p=>Q$1(async y=>{let i=n(p),a;try{a=new URL(i.url,e);}catch{throw {_tag:"BadUrl",message:`URL inv\xE1lida: ${i.url}`}}let s=performance.now(),c=await fetch(a,{...i.init??{},method:i.method,headers:A.headers.get(i),body:i.body,signal:y}),o=await c.text(),d={};return c.headers.forEach((m,H)=>d[H]=m),{status:c.status,statusText:c.statusText,headers:d,bodyText:o,ms:Math.round(performance.now()-s)}},O))}var G=(t,e,r)=>Math.max(e,Math.min(r,t)),z=t=>t._tag==="FetchError",Z=t=>t===408||t===429||t===500||t===502||t===503||t===504,F=(t,e,r)=>{let n=e*Math.pow(2,t),u=G(n,0,r);return Math.floor(Math.random()*u)},$=t=>{let e=Object.keys(t).find(p=>p.toLowerCase()==="retry-after");if(!e)return;let r=t[e]?.trim();if(!r)return;let n=Number(r);if(Number.isFinite(n))return Math.max(0,Math.floor(n*1e3));let u=Date.parse(r);if(Number.isFinite(u))return Math.max(0,u-Date.now())},U=t=>e$1=>(r=>{let n=u=>a(e$1(r),p=>{if(p._tag==="Abort"||p._tag==="BadUrl")return f(p);if(!(u<t.maxRetries&&(t.retryOnError??z)(p)))return f(p);let i=F(u,t.baseDelayMs,t.maxDelayMs);return k$1(M(i),()=>n(u+1))},p=>{if(!(u<t.maxRetries&&(t.retryOnStatus??Z)(p.status)))return e(p);let a=$(p.headers)??F(u,t.baseDelayMs,t.maxDelayMs);return k$1(M(a),()=>n(u+1))});return n(0)});var K=["GET","HEAD","OPTIONS"],Q=t=>t===408||t===429||t===500||t===502||t===503||t===504,V=t=>t._tag==="FetchError";var X=(t,e,r)=>Math.max(e,Math.min(r,t)),L=(t,e,r)=>{let n=Math.max(0,e),u=Math.max(0,r),p=n*Math.pow(2,t),y=X(p,0,u);return Math.floor(Math.random()*y)},Y=(t,e)=>{let r=Object.keys(t).find(n=>n.toLowerCase()===e.toLowerCase());return r?t[r]:void 0},tt=t=>{let e=Y(t,"retry-after")?.trim();if(!e)return;let r=Number(e);if(Number.isFinite(r))return Math.max(0,Math.floor(r*1e3));let n=Date.parse(e);if(Number.isFinite(n))return Math.max(0,n-Date.now())},j=t=>e$1=>{let r=t.retryOnMethods??K,n=t.retryOnStatus??Q,u=t.retryOnError??V,p=i=>r.includes(i.method),y=(i,a$1)=>p(i)?a(e$1(i),s=>{if(s._tag==="Abort"||s._tag==="BadUrl")return f(s);if(!(a$1<t.maxRetries&&u(s)))return f(s);let o=L(a$1,t.baseDelayMs,t.maxDelayMs);return k$1(M(o),()=>y(i,a$1+1))},s=>{if(!(a$1<t.maxRetries&&n(s.status)))return e(s);let d=tt(s.headers)??L(a$1,t.baseDelayMs,t.maxDelayMs);return k$1(M(d),()=>y(i,a$1+1))}):e$1(i);return i=>y(i,0)};var et=(t,e)=>{try{return new URL(e,t??"").toString()}catch{return (t??"")+e}},B=(t={})=>{let e=_(t),r=a=>n((s,c)=>M$1(s,c))(a),n$1=a=>e(a),u=a=>{let{headers:s,...c}=a??{};return {headers:k(s),init:c}},p=a=>s=>a?I(a)(s):s;return {cfg:t,wire:e,withPromise:r,requestRaw:n$1,splitInit:u,applyInitHeaders:p,buildReq:(a,s,c,o)=>{let d=u(c),m={method:a,url:s,...o&&o.length>0?{body:o}:{},init:d.init};return p(d.headers)(m)},toResponse:(a,s)=>({status:a.status,statusText:a.statusText,headers:a.headers,body:s})}};function _t(t={}){let e=B(t),r=n=>{let u=o=>n(o),p$1=o=>e.withPromise(u(o));return {request:p$1,get:(o,d)=>p$1(e.buildReq("GET",o,d)),post:(o,d,m)=>p$1(e.buildReq("POST",o,m,d)),getText:(o,d)=>{let m=e.buildReq("GET",o,d);return e.withPromise(p(u(m),H=>e.toResponse(H,H.bodyText)))},getJson:(o,d)=>{let m=e.buildReq("GET",o,d),H=g("accept","application/json")(m);return e.withPromise(p(u(H),l=>e.toResponse(l,JSON.parse(l.bodyText))))},postJson:(o,d,m)=>{let H=e.buildReq("POST",o,m,JSON.stringify(d??{})),l=g("content-type","application/json")(g("accept","application/json")(H));return e.withPromise(p(u(l),P=>e.toResponse(P,JSON.parse(P.bodyText))))},with:o=>r(n.with(o)),withRetry:o=>r(n.with(j(o))),wire:n}};return r(e.wire)}function Ut(t={}){let e=B(t),r=(s,c,o)=>({request:s,urlFinal:et(e.cfg.baseUrl,s.url),startedAt:o,durationMs:c.ms}),n=s=>{let c=Date.now();return e.withPromise(p(e.requestRaw(s),o=>({wire:o,meta:r(s,o,c)})))};return {request:n,get:(s,c)=>{let o=e.buildReq("GET",s,c);return n(o)},getText:(s,c)=>{let o=e.buildReq("GET",s,c),d=Date.now();return e.withPromise(p(e.requestRaw(o),m=>({wire:m,response:e.toResponse(m,m.bodyText),meta:r(o,m,d)})))},getJson:(s,c)=>{let o=e.buildReq("GET",s,c),d=g("accept","application/json")(o),m=Date.now();return e.withPromise(p(e.requestRaw(d),H=>({wire:H,response:e.toResponse(H,JSON.parse(H.bodyText)),meta:r(d,H,m)})))},post:(s,c,o)=>{let d=e.buildReq("POST",s,o,c);return n(d)},postJson:(s,c,o)=>{let d=e.buildReq("POST",s,o,JSON.stringify(c??{})),m=g("content-type","application/json")(g("accept","application/json")(d)),H=Date.now();return e.withPromise(p(e.requestRaw(m),l=>({wire:l,response:e.toResponse(l,JSON.parse(l.bodyText)),meta:r(m,l,H)})))}}}function Lt(t={}){let e=N(t),r=n$1=>{let u=i=>n((a,s)=>M$1(a,s))(i),p=i=>u(n$1(i)),y=(i,a)=>{let s={method:"GET",url:i,init:a},c=g("accept","*/*")(s);return p(c)};return {request:p,getStream:y,get:y,with:i=>r(i(n$1)),withRetry:i=>r(U(i)(n$1)),wire:n$1}};return r(e)}export{T as decorate,_t as httpClient,Lt as httpClientStream,Ut as httpClientWithMeta,_ as makeHttp,N as makeHttpStream,k as normalizeHeadersInit,lt as withMiddleware,U as withRetryStream};
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { Z as ZStream, A as Async, S as Scope, I as Interrupted, E as Exit, O as Option } from './stream-BBkLDtQ_.mjs';
2
- export { x as AsyncWithPromise, T as BrassError, H as CancelToken, G as Canceler, af as Concat, ae as Emit, ad as Empty, a3 as Fiber, a1 as FiberId, a2 as FiberStatus, ag as Flatten, ah as FromPull, ai as Merge, N as None, ak as Normalize, P as Runtime, R as RuntimeEmitContext, L as RuntimeEvent, a4 as RuntimeFiber, M as RuntimeHooks, ab as Scheduler, a7 as ScopeId, aj as Scoped, C as Some, aa as Task, a as ZIO, v as acquireRelease, q as async, i as asyncCatchAll, l as asyncFail, t as asyncFlatMap, h as asyncFold, w as asyncInterruptible, r as asyncMap, j as asyncMapError, k as asyncSucceed, n as asyncSync, p as asyncTotal, e as catchAll, aB as collectStream, as as concatStream, ar as emitStream, aq as emptyStream, g as end, f as fail, c as flatMap, at as flattenStream, az as foreachStream, U as fork, Q as from, aA as fromArray, Y as fromCallback, X as fromPromise, $ as fromPromiseAbortable, am as fromPull, a5 as getCurrentFiber, a0 as getCurrentRuntime, ac as globalScheduler, K as linkAbortController, J as makeCancelToken, ao as managedStream, m as map, z as mapAsync, d as mapError, aw as mapStream, B as mapTryAsync, au as merge, ap as mergeStream, D as none, o as orElseOptional, ax as rangeStream, F as some, aC as streamFromReadableStream, s as succeed, b as sync, W as toPromise, _ as tryPromiseAbortable, av as uncons, u as unit, V as unsafeRunAsync, an as unwrapScoped, al as widenOpt, y as withAsyncPromise, a6 as withCurrentFiber, a8 as withScope, a9 as withScopeAsync, ay as zip } from './stream-BBkLDtQ_.mjs';
1
+ import { Z as ZStream, A as Async, S as Scope, I as Interrupted, E as Exit, F as Fiber, O as Option } from './stream-hTHRKq88.mjs';
2
+ export { x as AsyncWithPromise, P as BrassError, J as CancelToken, H as Canceler, ac as Concat, ab as Emit, aa as Empty, $ as FiberId, a0 as FiberStatus, ad as Flatten, ae as FromPull, af as Merge, N as None, ah as Normalize, R as Runtime, a1 as RuntimeFiber, a8 as Scheduler, a4 as ScopeId, ag as Scoped, C as Some, a7 as Task, a as ZIO, v as acquireRelease, at as assertNever, q as async, i as asyncCatchAll, l as asyncFail, t as asyncFlatMap, h as asyncFold, w as asyncInterruptible, r as asyncMap, j as asyncMapError, k as asyncSucceed, n as asyncSync, p as asyncTotal, e as catchAll, az as collectStream, ap as concatStream, ao as emitStream, an as emptyStream, g as end, f as fail, c as flatMap, aq as flattenStream, ax as foreachStream, Q as fork, M as from, ay as fromArray, W as fromCallback, V as fromPromise, Y as fromPromiseAbortable, aj as fromPull, a2 as getCurrentFiber, _ as getCurrentRuntime, a9 as globalScheduler, L as linkAbortController, K as makeCancelToken, al as managedStream, m as map, z as mapAsync, d as mapError, au as mapStream, B as mapTryAsync, ar as merge, am as mergeStream, D as none, o as orElseOptional, av as rangeStream, G as some, aA as streamFromReadableStream, s as succeed, b as sync, U as toPromise, X as tryPromiseAbortable, as as uncons, u as unit, T as unsafeRunAsync, ak as unwrapScoped, ai as widenOpt, y as withAsyncPromise, a3 as withCurrentFiber, a5 as withScope, a6 as withScopeAsync, aw as zip } from './stream-hTHRKq88.mjs';
3
3
 
4
4
  type Node<T> = {
5
5
  value: T;
@@ -43,7 +43,6 @@ declare class RingBuffer<T> {
43
43
 
44
44
  declare function buffer<R, E, A>(stream: ZStream<{} & R, E, A>, capacity: number, strategy?: "backpressure" | "dropping" | "sliding"): ZStream<{} & R, E, A>;
45
45
 
46
- type AnyFiber<R, E, A> = ReturnType<Scope<R>["fork"]>;
47
46
  /**
48
47
  * race(A, B):
49
48
  * - corre A y B en paralelo
@@ -65,7 +64,7 @@ declare function zipPar<R, E, A, B>(left: Async<R, E, A>, right: Async<R, E, B>,
65
64
  * - si todos terminan bien → devuelve array de resultados
66
65
  */
67
66
  declare function collectAllPar<R, E, A>(effects: ReadonlyArray<Async<R, E, A>>, parentScope: Scope<R>): Async<R, E | Interrupted, A[]>;
68
- declare function raceWith<R, E, A, B, C>(left: Async<R, E, A>, right: Async<R, E, B>, parentScope: Scope<R>, onLeft: (exit: Exit<E | Interrupted, A>, rightFiber: AnyFiber<R, E | Interrupted, B>, scope: Scope<R>) => Async<R, E | Interrupted, C>, onRight: (exit: Exit<E | Interrupted, B>, leftFiber: AnyFiber<R, E | Interrupted, A>, scope: Scope<R>) => Async<R, E | Interrupted, C>): Async<R, E | Interrupted, C>;
67
+ declare function raceWith<R, E, A, B, C>(left: Async<R, E, A>, right: Async<R, E, B>, parentScope: Scope<R>, onLeft: (exit: Exit<E | Interrupted, A>, rightFiber: Fiber<E | Interrupted, B>, scope: Scope<R>) => Async<R, E | Interrupted, C>, onRight: (exit: Exit<E | Interrupted, B>, leftFiber: Fiber<E | Interrupted, A>, scope: Scope<R>) => Async<R, E | Interrupted, C>): Async<R, E | Interrupted, C>;
69
68
 
70
69
  type Strategy = "backpressure" | "dropping" | "sliding";
71
70
  type QueueClosed = {
@@ -125,13 +124,6 @@ declare function filterMapP<A, B>(f: (a: A) => Option<B>): ZPipeline<unknown, ne
125
124
  declare function takeP<A>(n: number): ZPipeline<unknown, never, A, A>;
126
125
  /** Drop the first N elements. */
127
126
  declare function dropP<A>(n: number): ZPipeline<unknown, never, A, A>;
128
- /**
129
- * Map elements with an effect (sequential).
130
- *
131
- * - Upstream end => end
132
- * - Upstream error E => fail(E)
133
- * - f(a) fails with Ep => fail(Ep)
134
- */
135
127
  declare function mapEffectP<Rp, Ep, A, B>(f: (a: A) => Async<Rp, Ep, B>): ZPipeline<Rp, Ep, A, B>;
136
128
  /** Tap each element with an effect, preserving the element. */
137
129
  declare function tapEffectP<Rp, Ep, A>(f: (a: A) => Async<Rp, Ep, any>): ZPipeline<Rp, Ep, A, A>;
@@ -143,4 +135,4 @@ declare function bufferP<A>(capacity: number, strategy?: "backpressure" | "dropp
143
135
  */
144
136
  declare function groupedP<A>(n: number): ZPipeline<unknown, never, A, A[]>;
145
137
 
146
- export { Async, Exit, type Hub, type HubClosed, type HubStrategy, Interrupted, LinkedQueue, type Node, Option, PushStatus, type Queue, type QueueClosed, RingBuffer, Scope, type Strategy, type Subscription, type ZPipeline, ZStream, andThen, bounded, broadcast, broadcastToHub, buffer, bufferP, collectAllPar, compose, dropP, filterMapP, filterP, fromHub, groupedP, identity, makeHub, mapEffectP, mapP, race, raceWith, takeP, tapEffectP, via, zipPar };
138
+ export { Async, Exit, Fiber, type Hub, type HubClosed, type HubStrategy, Interrupted, LinkedQueue, type Node, Option, PushStatus, type Queue, type QueueClosed, RingBuffer, Scope, type Strategy, type Subscription, type ZPipeline, ZStream, andThen, bounded, broadcast, broadcastToHub, buffer, bufferP, collectAllPar, compose, dropP, filterMapP, filterP, fromHub, groupedP, identity, makeHub, mapEffectP, mapP, race, raceWith, takeP, tapEffectP, via, zipPar };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { Z as ZStream, A as Async, S as Scope, I as Interrupted, E as Exit, O as Option } from './stream-BBkLDtQ_.js';
2
- export { x as AsyncWithPromise, T as BrassError, H as CancelToken, G as Canceler, af as Concat, ae as Emit, ad as Empty, a3 as Fiber, a1 as FiberId, a2 as FiberStatus, ag as Flatten, ah as FromPull, ai as Merge, N as None, ak as Normalize, P as Runtime, R as RuntimeEmitContext, L as RuntimeEvent, a4 as RuntimeFiber, M as RuntimeHooks, ab as Scheduler, a7 as ScopeId, aj as Scoped, C as Some, aa as Task, a as ZIO, v as acquireRelease, q as async, i as asyncCatchAll, l as asyncFail, t as asyncFlatMap, h as asyncFold, w as asyncInterruptible, r as asyncMap, j as asyncMapError, k as asyncSucceed, n as asyncSync, p as asyncTotal, e as catchAll, aB as collectStream, as as concatStream, ar as emitStream, aq as emptyStream, g as end, f as fail, c as flatMap, at as flattenStream, az as foreachStream, U as fork, Q as from, aA as fromArray, Y as fromCallback, X as fromPromise, $ as fromPromiseAbortable, am as fromPull, a5 as getCurrentFiber, a0 as getCurrentRuntime, ac as globalScheduler, K as linkAbortController, J as makeCancelToken, ao as managedStream, m as map, z as mapAsync, d as mapError, aw as mapStream, B as mapTryAsync, au as merge, ap as mergeStream, D as none, o as orElseOptional, ax as rangeStream, F as some, aC as streamFromReadableStream, s as succeed, b as sync, W as toPromise, _ as tryPromiseAbortable, av as uncons, u as unit, V as unsafeRunAsync, an as unwrapScoped, al as widenOpt, y as withAsyncPromise, a6 as withCurrentFiber, a8 as withScope, a9 as withScopeAsync, ay as zip } from './stream-BBkLDtQ_.js';
1
+ import { Z as ZStream, A as Async, S as Scope, I as Interrupted, E as Exit, F as Fiber, O as Option } from './stream-hTHRKq88.js';
2
+ export { x as AsyncWithPromise, P as BrassError, J as CancelToken, H as Canceler, ac as Concat, ab as Emit, aa as Empty, $ as FiberId, a0 as FiberStatus, ad as Flatten, ae as FromPull, af as Merge, N as None, ah as Normalize, R as Runtime, a1 as RuntimeFiber, a8 as Scheduler, a4 as ScopeId, ag as Scoped, C as Some, a7 as Task, a as ZIO, v as acquireRelease, at as assertNever, q as async, i as asyncCatchAll, l as asyncFail, t as asyncFlatMap, h as asyncFold, w as asyncInterruptible, r as asyncMap, j as asyncMapError, k as asyncSucceed, n as asyncSync, p as asyncTotal, e as catchAll, az as collectStream, ap as concatStream, ao as emitStream, an as emptyStream, g as end, f as fail, c as flatMap, aq as flattenStream, ax as foreachStream, Q as fork, M as from, ay as fromArray, W as fromCallback, V as fromPromise, Y as fromPromiseAbortable, aj as fromPull, a2 as getCurrentFiber, _ as getCurrentRuntime, a9 as globalScheduler, L as linkAbortController, K as makeCancelToken, al as managedStream, m as map, z as mapAsync, d as mapError, au as mapStream, B as mapTryAsync, ar as merge, am as mergeStream, D as none, o as orElseOptional, av as rangeStream, G as some, aA as streamFromReadableStream, s as succeed, b as sync, U as toPromise, X as tryPromiseAbortable, as as uncons, u as unit, T as unsafeRunAsync, ak as unwrapScoped, ai as widenOpt, y as withAsyncPromise, a3 as withCurrentFiber, a5 as withScope, a6 as withScopeAsync, aw as zip } from './stream-hTHRKq88.js';
3
3
 
4
4
  type Node<T> = {
5
5
  value: T;
@@ -43,7 +43,6 @@ declare class RingBuffer<T> {
43
43
 
44
44
  declare function buffer<R, E, A>(stream: ZStream<{} & R, E, A>, capacity: number, strategy?: "backpressure" | "dropping" | "sliding"): ZStream<{} & R, E, A>;
45
45
 
46
- type AnyFiber<R, E, A> = ReturnType<Scope<R>["fork"]>;
47
46
  /**
48
47
  * race(A, B):
49
48
  * - corre A y B en paralelo
@@ -65,7 +64,7 @@ declare function zipPar<R, E, A, B>(left: Async<R, E, A>, right: Async<R, E, B>,
65
64
  * - si todos terminan bien → devuelve array de resultados
66
65
  */
67
66
  declare function collectAllPar<R, E, A>(effects: ReadonlyArray<Async<R, E, A>>, parentScope: Scope<R>): Async<R, E | Interrupted, A[]>;
68
- declare function raceWith<R, E, A, B, C>(left: Async<R, E, A>, right: Async<R, E, B>, parentScope: Scope<R>, onLeft: (exit: Exit<E | Interrupted, A>, rightFiber: AnyFiber<R, E | Interrupted, B>, scope: Scope<R>) => Async<R, E | Interrupted, C>, onRight: (exit: Exit<E | Interrupted, B>, leftFiber: AnyFiber<R, E | Interrupted, A>, scope: Scope<R>) => Async<R, E | Interrupted, C>): Async<R, E | Interrupted, C>;
67
+ declare function raceWith<R, E, A, B, C>(left: Async<R, E, A>, right: Async<R, E, B>, parentScope: Scope<R>, onLeft: (exit: Exit<E | Interrupted, A>, rightFiber: Fiber<E | Interrupted, B>, scope: Scope<R>) => Async<R, E | Interrupted, C>, onRight: (exit: Exit<E | Interrupted, B>, leftFiber: Fiber<E | Interrupted, A>, scope: Scope<R>) => Async<R, E | Interrupted, C>): Async<R, E | Interrupted, C>;
69
68
 
70
69
  type Strategy = "backpressure" | "dropping" | "sliding";
71
70
  type QueueClosed = {
@@ -125,13 +124,6 @@ declare function filterMapP<A, B>(f: (a: A) => Option<B>): ZPipeline<unknown, ne
125
124
  declare function takeP<A>(n: number): ZPipeline<unknown, never, A, A>;
126
125
  /** Drop the first N elements. */
127
126
  declare function dropP<A>(n: number): ZPipeline<unknown, never, A, A>;
128
- /**
129
- * Map elements with an effect (sequential).
130
- *
131
- * - Upstream end => end
132
- * - Upstream error E => fail(E)
133
- * - f(a) fails with Ep => fail(Ep)
134
- */
135
127
  declare function mapEffectP<Rp, Ep, A, B>(f: (a: A) => Async<Rp, Ep, B>): ZPipeline<Rp, Ep, A, B>;
136
128
  /** Tap each element with an effect, preserving the element. */
137
129
  declare function tapEffectP<Rp, Ep, A>(f: (a: A) => Async<Rp, Ep, any>): ZPipeline<Rp, Ep, A, A>;
@@ -143,4 +135,4 @@ declare function bufferP<A>(capacity: number, strategy?: "backpressure" | "dropp
143
135
  */
144
136
  declare function groupedP<A>(n: number): ZPipeline<unknown, never, A, A[]>;
145
137
 
146
- export { Async, Exit, type Hub, type HubClosed, type HubStrategy, Interrupted, LinkedQueue, type Node, Option, PushStatus, type Queue, type QueueClosed, RingBuffer, Scope, type Strategy, type Subscription, type ZPipeline, ZStream, andThen, bounded, broadcast, broadcastToHub, buffer, bufferP, collectAllPar, compose, dropP, filterMapP, filterP, fromHub, groupedP, identity, makeHub, mapEffectP, mapP, race, raceWith, takeP, tapEffectP, via, zipPar };
138
+ export { Async, Exit, Fiber, type Hub, type HubClosed, type HubStrategy, Interrupted, LinkedQueue, type Node, Option, PushStatus, type Queue, type QueueClosed, RingBuffer, Scope, type Strategy, type Subscription, type ZPipeline, ZStream, andThen, bounded, broadcast, broadcastToHub, buffer, bufferP, collectAllPar, compose, dropP, filterMapP, filterP, fromHub, groupedP, identity, makeHub, mapEffectP, mapP, race, raceWith, takeP, tapEffectP, via, zipPar };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- 'use strict';var chunkZU4KK23X_js=require('./chunk-ZU4KK23X.js');function Ne(){let t=false,e=new Set;return {isCancelled:()=>t,onCancel:r=>{if(t){try{r();}catch{}return ()=>{}}return e.add(r),()=>{e.delete(r);}},cancel:()=>{t||(t=true,e.forEach(r=>r()),e.clear());}}}function ze(t,e){return t.onCancel(()=>e.abort())}var v=class{head=null;tail=null;len=0;get length(){return this.len}isEmpty(){return this.len===0}push(e){let n={value:e,next:null,prev:this.tail,removed:false};return this.tail?this.tail.next=n:this.head=n,this.tail=n,this.len++,n}shift(){let e=this.head;if(e)return this.unlink(e),e.value}remove(e){e.removed||this.unlink(e);}unlink(e){e.removed=true;let{prev:n,next:r}=e;n?n.next=r:this.head=r,r?r.prev=n:this.tail=n,e.next=null,e.prev=null,this.len--;}};function w(t,e="backpressure"){return chunkZU4KK23X_js.g(()=>M(t,e))}function M(t,e){let n=new chunkZU4KK23X_js.C(t),r=false,s={_tag:"QueueClosed"},a=new v,o=new v,p=()=>{for(;o.length>0&&n.length>0;){let u=o.shift(),f=n.shift();u({_tag:"Success",value:f});}for(;a.length>0&&n.length<t&&o.length===0;){let u=a.shift();n.push(u.a),u.cb(true);}for(;o.length>0&&a.length>0;){let u=o.shift(),f=a.shift();f.cb(true),u({_tag:"Success",value:f.a});}};return {size:()=>n.length,shutdown:()=>{if(!r){for(r=true;o.length>0;)o.shift()({_tag:"Failure",error:s});for(;a.length>0;)a.shift().cb(false);n.clear();}},offer:u=>chunkZU4KK23X_js.i((f,i)=>{if(r){i({_tag:"Success",value:false});return}if(o.length>0){o.shift()({_tag:"Success",value:u}),i({_tag:"Success",value:true});return}if(n.length<t){n.push(u),i({_tag:"Success",value:true}),p();return}if(e==="dropping"){i({_tag:"Success",value:false});return}if(e==="sliding"){n.shift(),n.push(u),i({_tag:"Success",value:true}),p();return}let m=a.push({a:u,cb:A=>i({_tag:"Success",value:A})});return ()=>{a.remove(m);}}),take:()=>chunkZU4KK23X_js.i((u,f)=>{if(n.length>0){let A=n.shift();f({_tag:"Success",value:A}),p();return}if(a.length>0){let A=a.shift();A.cb(true),f({_tag:"Success",value:A.a});return}if(r){f({_tag:"Failure",error:s});return}let i=A=>f(A),m=o.push(i);return ()=>{o.remove(m);}})}}function F(t,e,n="backpressure"){let r=false,s=null,a=null,o=t,p=()=>chunkZU4KK23X_js.a(chunkZU4KK23X_js.ha(o),i=>chunkZU4KK23X_js.e(i._tag==="None"?{_tag:"End"}:{_tag:"Fail",error:i.value}),([i,m])=>chunkZU4KK23X_js.g(()=>(o=m,{_tag:"Elem",value:i}))),c=i=>chunkZU4KK23X_js.k(w(e,n),m=>{s=m;let S=()=>chunkZU4KK23X_js.k(p(),A=>chunkZU4KK23X_js.k(s.offer(A),()=>A._tag==="End"||A._tag==="Fail"?chunkZU4KK23X_js.e(void 0):S()));return a=chunkZU4KK23X_js.K(S(),i),r=true,chunkZU4KK23X_js.e(void 0)}),u={_tag:"Async",register:(i,m)=>{(()=>{if(!r){chunkZU4KK23X_js.K(c(i),i).join(()=>{f(i,m);});return}f(i,m);})();}};function f(i,m){let S=s.take();chunkZU4KK23X_js.K(S,i).join(A=>{if(A._tag!=="Success")return;let _=A.value;switch(_._tag){case "Elem":m({_tag:"Success",value:[_.value,chunkZU4KK23X_js._(u)]});return;case "End":a?.interrupt?.(),m({_tag:"Failure",error:chunkZU4KK23X_js.q});return;case "Fail":a?.interrupt?.(),m({_tag:"Failure",error:chunkZU4KK23X_js.r(_.error)});return}});}return chunkZU4KK23X_js._(u)}var I=t=>t==="BackPressure"?"backpressure":t==="Dropping"?"dropping":"sliding";function N(t,e="BackPressure"){let n=new Set,r=false,s=c=>{if(r)return chunkZU4KK23X_js.e(false);let u=Array.from(n),f=chunkZU4KK23X_js.e(true);return u.forEach(i=>{f=chunkZU4KK23X_js.k(f,m=>chunkZU4KK23X_js.k(i.offer(c),S=>chunkZU4KK23X_js.e(m&&S)));}),f};return {publish:s,publishAll:c=>{let u=chunkZU4KK23X_js.e(true),f=c[Symbol.iterator]();for(;;){let i=f.next();if(i.done)break;let m=i.value;u=chunkZU4KK23X_js.k(u,S=>chunkZU4KK23X_js.k(s(m),A=>chunkZU4KK23X_js.e(S&&A)));}return u},subscribe:()=>r?chunkZU4KK23X_js.h(()=>{throw {_tag:"HubClosed"}}):chunkZU4KK23X_js.k(w(t,I(e)),c=>chunkZU4KK23X_js.g(()=>(n.add(c),{...c,unsubscribe:()=>{n.has(c)&&(n.delete(c),c.shutdown());}}))),shutdown:()=>chunkZU4KK23X_js.g(()=>{r||(r=true,Array.from(n).forEach(c=>c.shutdown()),n.clear());})}}var yn=N;function En(t,e){return chunkZU4KK23X_js.la(t,n=>chunkZU4KK23X_js.k(e.publish(n),()=>chunkZU4KK23X_js.e(void 0)))}function dn(t){return chunkZU4KK23X_js.aa(chunkZU4KK23X_js.k(t.subscribe(),e=>{let n=chunkZU4KK23X_js._(chunkZU4KK23X_js.k(chunkZU4KK23X_js.c(e.take(),r=>chunkZU4KK23X_js.q),r=>chunkZU4KK23X_js.e([r,n])));return chunkZU4KK23X_js.e({stream:n,release:r=>chunkZU4KK23X_js.g(()=>e.unsubscribe())})}))}function wn(t,e){return e(t)}function z(t,e){return(n=>e(t(n)))}function _n(t,e){return z(e,t)}function Cn(){return(t=>t)}function Pn(t){return(e=>{let n=r=>chunkZU4KK23X_js._(chunkZU4KK23X_js.a(chunkZU4KK23X_js.ha(r),s=>chunkZU4KK23X_js.f(s),([s,a])=>chunkZU4KK23X_js.e([t(s),n(a)])));return n(e)})}function On(t){return(e=>{let n=s=>chunkZU4KK23X_js.a(chunkZU4KK23X_js.ha(s),a=>chunkZU4KK23X_js.f(a),([a,o])=>t(a)?chunkZU4KK23X_js.e([a,r(o)]):n(o)),r=s=>chunkZU4KK23X_js._(n(s));return r(e)})}function Tn(t){return(e=>{let n=s=>chunkZU4KK23X_js.a(chunkZU4KK23X_js.ha(s),a=>chunkZU4KK23X_js.f(a),([a,o])=>{let p=t(a);return p._tag==="Some"?chunkZU4KK23X_js.e([p.value,r(o)]):n(o)}),r=s=>chunkZU4KK23X_js._(n(s));return r(e)})}function Bn(t){let e=Math.max(0,t|0);return(n=>{let r=(s,a)=>a<=0?chunkZU4KK23X_js.ca():chunkZU4KK23X_js._(chunkZU4KK23X_js.a(chunkZU4KK23X_js.ha(s),o=>chunkZU4KK23X_js.f(o),([o,p])=>chunkZU4KK23X_js.e([o,r(p,a-1)])));return r(n,e)})}function Hn(t){let e=Math.max(0,t|0);return(n=>{let r=(s,a)=>a<=0?s:chunkZU4KK23X_js._(chunkZU4KK23X_js.a(chunkZU4KK23X_js.ha(s),o=>chunkZU4KK23X_js.f(o),([o,p])=>chunkZU4KK23X_js.ha(r(p,a-1))));return r(n,e)})}function D(t){return(e=>{let n=r=>chunkZU4KK23X_js._(chunkZU4KK23X_js.a(chunkZU4KK23X_js.c(chunkZU4KK23X_js.ha(r),s=>chunkZU4KK23X_js.Z(s)),s=>chunkZU4KK23X_js.f(s),([s,a])=>chunkZU4KK23X_js.a(chunkZU4KK23X_js.c(t(s),o=>chunkZU4KK23X_js.r(o)),o=>chunkZU4KK23X_js.f(o),o=>chunkZU4KK23X_js.e([o,n(a)]))));return n(e)})}function Qn(t){return D(e=>chunkZU4KK23X_js.k(t(e),()=>chunkZU4KK23X_js.e(e)))}function Fn(t,e="backpressure"){return(n=>F(n,t,e))}function Mn(t){let e=Math.max(1,t|0);return(n=>{let r=(a,o,p)=>o<=0?chunkZU4KK23X_js.e({chunk:p,rest:a}):chunkZU4KK23X_js.a(chunkZU4KK23X_js.ha(a),c=>c._tag==="None"?chunkZU4KK23X_js.e({chunk:p,rest:chunkZU4KK23X_js.ca()}):chunkZU4KK23X_js.f(c),([c,u])=>r(u,o-1,[...p,c])),s=a=>chunkZU4KK23X_js._(chunkZU4KK23X_js.a(chunkZU4KK23X_js.ha(a),o=>chunkZU4KK23X_js.f(o),([o,p])=>chunkZU4KK23X_js.k(r(p,e-1,[o]),({chunk:c,rest:u})=>chunkZU4KK23X_js.e([c,s(u)]))));return s(n)})}Object.defineProperty(exports,"PushStatus",{enumerable:true,get:function(){return chunkZU4KK23X_js.B}});Object.defineProperty(exports,"RingBuffer",{enumerable:true,get:function(){return chunkZU4KK23X_js.C}});Object.defineProperty(exports,"Runtime",{enumerable:true,get:function(){return chunkZU4KK23X_js.I}});Object.defineProperty(exports,"RuntimeFiber",{enumerable:true,get:function(){return chunkZU4KK23X_js.F}});Object.defineProperty(exports,"Scheduler",{enumerable:true,get:function(){return chunkZU4KK23X_js.D}});Object.defineProperty(exports,"Scope",{enumerable:true,get:function(){return chunkZU4KK23X_js.S}});Object.defineProperty(exports,"acquireRelease",{enumerable:true,get:function(){return chunkZU4KK23X_js.l}});Object.defineProperty(exports,"async",{enumerable:true,get:function(){return chunkZU4KK23X_js.i}});Object.defineProperty(exports,"asyncCatchAll",{enumerable:true,get:function(){return chunkZU4KK23X_js.b}});Object.defineProperty(exports,"asyncFail",{enumerable:true,get:function(){return chunkZU4KK23X_js.f}});Object.defineProperty(exports,"asyncFlatMap",{enumerable:true,get:function(){return chunkZU4KK23X_js.k}});Object.defineProperty(exports,"asyncFold",{enumerable:true,get:function(){return chunkZU4KK23X_js.a}});Object.defineProperty(exports,"asyncInterruptible",{enumerable:true,get:function(){return chunkZU4KK23X_js.m}});Object.defineProperty(exports,"asyncMap",{enumerable:true,get:function(){return chunkZU4KK23X_js.j}});Object.defineProperty(exports,"asyncMapError",{enumerable:true,get:function(){return chunkZU4KK23X_js.c}});Object.defineProperty(exports,"asyncSucceed",{enumerable:true,get:function(){return chunkZU4KK23X_js.e}});Object.defineProperty(exports,"asyncSync",{enumerable:true,get:function(){return chunkZU4KK23X_js.g}});Object.defineProperty(exports,"asyncTotal",{enumerable:true,get:function(){return chunkZU4KK23X_js.h}});Object.defineProperty(exports,"catchAll",{enumerable:true,get:function(){return chunkZU4KK23X_js.y}});Object.defineProperty(exports,"collectAllPar",{enumerable:true,get:function(){return chunkZU4KK23X_js.X}});Object.defineProperty(exports,"collectStream",{enumerable:true,get:function(){return chunkZU4KK23X_js.na}});Object.defineProperty(exports,"concatStream",{enumerable:true,get:function(){return chunkZU4KK23X_js.ea}});Object.defineProperty(exports,"emitStream",{enumerable:true,get:function(){return chunkZU4KK23X_js.da}});Object.defineProperty(exports,"emptyStream",{enumerable:true,get:function(){return chunkZU4KK23X_js.ca}});Object.defineProperty(exports,"end",{enumerable:true,get:function(){return chunkZU4KK23X_js.A}});Object.defineProperty(exports,"fail",{enumerable:true,get:function(){return chunkZU4KK23X_js.t}});Object.defineProperty(exports,"flatMap",{enumerable:true,get:function(){return chunkZU4KK23X_js.w}});Object.defineProperty(exports,"flattenStream",{enumerable:true,get:function(){return chunkZU4KK23X_js.fa}});Object.defineProperty(exports,"foreachStream",{enumerable:true,get:function(){return chunkZU4KK23X_js.la}});Object.defineProperty(exports,"fork",{enumerable:true,get:function(){return chunkZU4KK23X_js.K}});Object.defineProperty(exports,"from",{enumerable:true,get:function(){return chunkZU4KK23X_js.J}});Object.defineProperty(exports,"fromArray",{enumerable:true,get:function(){return chunkZU4KK23X_js.ma}});Object.defineProperty(exports,"fromCallback",{enumerable:true,get:function(){return chunkZU4KK23X_js.O}});Object.defineProperty(exports,"fromPromise",{enumerable:true,get:function(){return chunkZU4KK23X_js.N}});Object.defineProperty(exports,"fromPromiseAbortable",{enumerable:true,get:function(){return chunkZU4KK23X_js.Q}});Object.defineProperty(exports,"fromPull",{enumerable:true,get:function(){return chunkZU4KK23X_js._}});Object.defineProperty(exports,"getCurrentFiber",{enumerable:true,get:function(){return chunkZU4KK23X_js.G}});Object.defineProperty(exports,"getCurrentRuntime",{enumerable:true,get:function(){return chunkZU4KK23X_js.R}});Object.defineProperty(exports,"globalScheduler",{enumerable:true,get:function(){return chunkZU4KK23X_js.E}});Object.defineProperty(exports,"managedStream",{enumerable:true,get:function(){return chunkZU4KK23X_js.aa}});Object.defineProperty(exports,"map",{enumerable:true,get:function(){return chunkZU4KK23X_js.v}});Object.defineProperty(exports,"mapAsync",{enumerable:true,get:function(){return chunkZU4KK23X_js.o}});Object.defineProperty(exports,"mapError",{enumerable:true,get:function(){return chunkZU4KK23X_js.x}});Object.defineProperty(exports,"mapStream",{enumerable:true,get:function(){return chunkZU4KK23X_js.ia}});Object.defineProperty(exports,"mapTryAsync",{enumerable:true,get:function(){return chunkZU4KK23X_js.p}});Object.defineProperty(exports,"merge",{enumerable:true,get:function(){return chunkZU4KK23X_js.ga}});Object.defineProperty(exports,"mergeStream",{enumerable:true,get:function(){return chunkZU4KK23X_js.ba}});Object.defineProperty(exports,"none",{enumerable:true,get:function(){return chunkZU4KK23X_js.q}});Object.defineProperty(exports,"orElseOptional",{enumerable:true,get:function(){return chunkZU4KK23X_js.z}});Object.defineProperty(exports,"race",{enumerable:true,get:function(){return chunkZU4KK23X_js.V}});Object.defineProperty(exports,"raceWith",{enumerable:true,get:function(){return chunkZU4KK23X_js.Y}});Object.defineProperty(exports,"rangeStream",{enumerable:true,get:function(){return chunkZU4KK23X_js.ja}});Object.defineProperty(exports,"some",{enumerable:true,get:function(){return chunkZU4KK23X_js.r}});Object.defineProperty(exports,"streamFromReadableStream",{enumerable:true,get:function(){return chunkZU4KK23X_js.oa}});Object.defineProperty(exports,"succeed",{enumerable:true,get:function(){return chunkZU4KK23X_js.s}});Object.defineProperty(exports,"sync",{enumerable:true,get:function(){return chunkZU4KK23X_js.u}});Object.defineProperty(exports,"toPromise",{enumerable:true,get:function(){return chunkZU4KK23X_js.M}});Object.defineProperty(exports,"tryPromiseAbortable",{enumerable:true,get:function(){return chunkZU4KK23X_js.P}});Object.defineProperty(exports,"uncons",{enumerable:true,get:function(){return chunkZU4KK23X_js.ha}});Object.defineProperty(exports,"unit",{enumerable:true,get:function(){return chunkZU4KK23X_js.d}});Object.defineProperty(exports,"unsafeRunAsync",{enumerable:true,get:function(){return chunkZU4KK23X_js.L}});Object.defineProperty(exports,"unwrapScoped",{enumerable:true,get:function(){return chunkZU4KK23X_js.$}});Object.defineProperty(exports,"widenOpt",{enumerable:true,get:function(){return chunkZU4KK23X_js.Z}});Object.defineProperty(exports,"withAsyncPromise",{enumerable:true,get:function(){return chunkZU4KK23X_js.n}});Object.defineProperty(exports,"withCurrentFiber",{enumerable:true,get:function(){return chunkZU4KK23X_js.H}});Object.defineProperty(exports,"withScope",{enumerable:true,get:function(){return chunkZU4KK23X_js.T}});Object.defineProperty(exports,"withScopeAsync",{enumerable:true,get:function(){return chunkZU4KK23X_js.U}});Object.defineProperty(exports,"zip",{enumerable:true,get:function(){return chunkZU4KK23X_js.ka}});Object.defineProperty(exports,"zipPar",{enumerable:true,get:function(){return chunkZU4KK23X_js.W}});exports.LinkedQueue=v;exports.andThen=z;exports.bounded=w;exports.broadcast=yn;exports.broadcastToHub=En;exports.buffer=F;exports.bufferP=Fn;exports.compose=_n;exports.dropP=Hn;exports.filterMapP=Tn;exports.filterP=On;exports.fromHub=dn;exports.groupedP=Mn;exports.identity=Cn;exports.linkAbortController=ze;exports.makeCancelToken=Ne;exports.makeHub=N;exports.mapEffectP=D;exports.mapP=Pn;exports.takeP=Bn;exports.tapEffectP=Qn;exports.via=wn;
1
+ 'use strict';var chunkQ2H2CAII_js=require('./chunk-Q2H2CAII.js');function ze(){let t=false,e=new Set;return {isCancelled:()=>t,onCancel:r=>{if(t){try{r();}catch{}return ()=>{}}return e.add(r),()=>{e.delete(r);}},cancel:()=>{t||(t=true,e.forEach(r=>r()),e.clear());}}}function De(t,e){return t.onCancel(()=>e.abort())}var v=class{head=null;tail=null;len=0;get length(){return this.len}isEmpty(){return this.len===0}push(e){let n={value:e,next:null,prev:this.tail,removed:false};return this.tail?this.tail.next=n:this.head=n,this.tail=n,this.len++,n}shift(){let e=this.head;if(e)return this.unlink(e),e.value}remove(e){e.removed||this.unlink(e);}unlink(e){e.removed=true;let{prev:n,next:r}=e;n?n.next=r:this.head=r,r?r.prev=n:this.tail=n,e.next=null,e.prev=null,this.len--;}};function w(t,e="backpressure"){return chunkQ2H2CAII_js.g(()=>M(t,e))}function M(t,e){let n=new chunkQ2H2CAII_js.C(t),r=false,s={_tag:"QueueClosed"},o=new v,a=new v,l=()=>{for(;a.length>0&&n.length>0;){let u=a.shift(),f=n.shift();u({_tag:"Success",value:f});}for(;o.length>0&&n.length<t&&a.length===0;){let u=o.shift();n.push(u.a),u.cb(true);}for(;a.length>0&&o.length>0;){let u=a.shift(),f=o.shift();f.cb(true),u({_tag:"Success",value:f.a});}};return {size:()=>n.length,shutdown:()=>{if(!r){for(r=true;a.length>0;)a.shift()({_tag:"Failure",error:s});for(;o.length>0;)o.shift().cb(false);n.clear();}},offer:u=>chunkQ2H2CAII_js.i((f,i)=>{if(r){i({_tag:"Success",value:false});return}if(a.length>0){a.shift()({_tag:"Success",value:u}),i({_tag:"Success",value:true});return}if(n.length<t){n.push(u),i({_tag:"Success",value:true}),l();return}if(e==="dropping"){i({_tag:"Success",value:false});return}if(e==="sliding"){n.shift(),n.push(u),i({_tag:"Success",value:true}),l();return}let A=o.push({a:u,cb:m=>i({_tag:"Success",value:m})});return ()=>{o.remove(A);}}),take:()=>chunkQ2H2CAII_js.i((u,f)=>{if(n.length>0){let m=n.shift();f({_tag:"Success",value:m}),l();return}if(o.length>0){let m=o.shift();m.cb(true),f({_tag:"Success",value:m.a});return}if(r){f({_tag:"Failure",error:s});return}let i=m=>f(m),A=a.push(i);return ()=>{a.remove(A);}})}}function F(t,e,n="backpressure"){let r=false,s=null,o=null,a=t,l=()=>chunkQ2H2CAII_js.a(chunkQ2H2CAII_js.ha(a),i=>chunkQ2H2CAII_js.e(i._tag==="None"?{_tag:"End"}:{_tag:"Fail",error:i.value}),([i,A])=>chunkQ2H2CAII_js.g(()=>(a=A,{_tag:"Elem",value:i}))),p=i=>chunkQ2H2CAII_js.k(w(e,n),A=>{s=A;let S=()=>chunkQ2H2CAII_js.k(l(),m=>chunkQ2H2CAII_js.k(s.offer(m),()=>m._tag==="End"||m._tag==="Fail"?chunkQ2H2CAII_js.e(void 0):S()));return o=chunkQ2H2CAII_js.K(S(),i),r=true,chunkQ2H2CAII_js.e(void 0)}),u={_tag:"Async",register:(i,A)=>{(()=>{if(!r){chunkQ2H2CAII_js.K(p(i),i).join(()=>{f(i,A);});return}f(i,A);})();}};function f(i,A){let S=s.take();chunkQ2H2CAII_js.K(S,i).join(m=>{if(m._tag!=="Success")return;let _=m.value;switch(_._tag){case "Elem":A({_tag:"Success",value:[_.value,chunkQ2H2CAII_js._(u)]});return;case "End":o?.interrupt?.(),A({_tag:"Failure",error:chunkQ2H2CAII_js.q});return;case "Fail":o?.interrupt?.(),A({_tag:"Failure",error:chunkQ2H2CAII_js.r(_.error)});return}});}return chunkQ2H2CAII_js._(u)}var I=t=>t==="BackPressure"?"backpressure":t==="Dropping"?"dropping":"sliding";function N(t,e="BackPressure"){let n=new Set,r=false,s=p=>{if(r)return chunkQ2H2CAII_js.e(false);let u=Array.from(n),f=chunkQ2H2CAII_js.e(true);return u.forEach(i=>{f=chunkQ2H2CAII_js.k(f,A=>chunkQ2H2CAII_js.k(i.offer(p),S=>chunkQ2H2CAII_js.e(A&&S)));}),f};return {publish:s,publishAll:p=>{let u=chunkQ2H2CAII_js.e(true),f=p[Symbol.iterator]();for(;;){let i=f.next();if(i.done)break;let A=i.value;u=chunkQ2H2CAII_js.k(u,S=>chunkQ2H2CAII_js.k(s(A),m=>chunkQ2H2CAII_js.e(S&&m)));}return u},subscribe:()=>r?chunkQ2H2CAII_js.h(()=>{throw {_tag:"HubClosed"}}):chunkQ2H2CAII_js.k(w(t,I(e)),p=>chunkQ2H2CAII_js.g(()=>(n.add(p),{...p,unsubscribe:()=>{n.has(p)&&(n.delete(p),p.shutdown());}}))),shutdown:()=>chunkQ2H2CAII_js.g(()=>{r||(r=true,Array.from(n).forEach(p=>p.shutdown()),n.clear());})}}var yn=N;function dn(t,e){return chunkQ2H2CAII_js.ma(t,n=>chunkQ2H2CAII_js.k(e.publish(n),()=>chunkQ2H2CAII_js.e(void 0)))}function Rn(t){return chunkQ2H2CAII_js.aa(chunkQ2H2CAII_js.k(t.subscribe(),e=>{let n=chunkQ2H2CAII_js._(chunkQ2H2CAII_js.k(chunkQ2H2CAII_js.c(e.take(),r=>chunkQ2H2CAII_js.q),r=>chunkQ2H2CAII_js.e([r,n])));return chunkQ2H2CAII_js.e({stream:n,release:r=>chunkQ2H2CAII_js.g(()=>e.unsubscribe())})}))}function _n(t,e){return e(t)}function z(t,e){return(n=>e(t(n)))}function Cn(t,e){return z(e,t)}function On(){return(t=>t)}function Pn(t){return(e=>{let n=r=>chunkQ2H2CAII_js._(chunkQ2H2CAII_js.a(chunkQ2H2CAII_js.ha(r),s=>chunkQ2H2CAII_js.f(s),([s,o])=>chunkQ2H2CAII_js.e([t(s),n(o)])));return n(e)})}function Bn(t){return(e=>{let n=s=>chunkQ2H2CAII_js.a(chunkQ2H2CAII_js.ha(s),o=>chunkQ2H2CAII_js.f(o),([o,a])=>t(o)?chunkQ2H2CAII_js.e([o,r(a)]):n(a)),r=s=>chunkQ2H2CAII_js._(n(s));return r(e)})}function Tn(t){return(e=>{let n=s=>chunkQ2H2CAII_js.a(chunkQ2H2CAII_js.ha(s),o=>chunkQ2H2CAII_js.f(o),([o,a])=>{let l=t(o);return l._tag==="Some"?chunkQ2H2CAII_js.e([l.value,r(a)]):n(a)}),r=s=>chunkQ2H2CAII_js._(n(s));return r(e)})}function Hn(t){let e=Math.max(0,t|0);return(n=>{let r=(s,o)=>o<=0?chunkQ2H2CAII_js.ca():chunkQ2H2CAII_js._(chunkQ2H2CAII_js.a(chunkQ2H2CAII_js.ha(s),a=>chunkQ2H2CAII_js.f(a),([a,l])=>chunkQ2H2CAII_js.e([a,r(l,o-1)])));return r(n,e)})}function Qn(t){let e=Math.max(0,t|0);return(n=>{let r=(s,o)=>o<=0?s:chunkQ2H2CAII_js._(chunkQ2H2CAII_js.a(chunkQ2H2CAII_js.ha(s),a=>chunkQ2H2CAII_js.f(a),([a,l])=>chunkQ2H2CAII_js.ha(r(l,o-1))));return r(n,e)})}function D(t){return(e=>{let n=s=>chunkQ2H2CAII_js.c(s,o=>chunkQ2H2CAII_js.r(o)),r=s=>chunkQ2H2CAII_js._(chunkQ2H2CAII_js.a(chunkQ2H2CAII_js.c(chunkQ2H2CAII_js.ha(s),o=>chunkQ2H2CAII_js.Z(o)),o=>chunkQ2H2CAII_js.f(o),([o,a])=>chunkQ2H2CAII_js.a(n(t(o)),l=>chunkQ2H2CAII_js.f(l),l=>chunkQ2H2CAII_js.e([l,r(a)]))));return r(e)})}function Fn(t){return D(e=>chunkQ2H2CAII_js.k(t(e),()=>chunkQ2H2CAII_js.e(e)))}function Mn(t,e="backpressure"){return(n=>F(n,t,e))}function In(t){let e=Math.max(1,t|0);return(n=>{let r=(o,a,l)=>a<=0?chunkQ2H2CAII_js.e({chunk:l,rest:o}):chunkQ2H2CAII_js.a(chunkQ2H2CAII_js.ha(o),p=>p._tag==="None"?chunkQ2H2CAII_js.e({chunk:l,rest:chunkQ2H2CAII_js.ca()}):chunkQ2H2CAII_js.f(p),([p,u])=>r(u,a-1,[...l,p])),s=o=>chunkQ2H2CAII_js._(chunkQ2H2CAII_js.a(chunkQ2H2CAII_js.ha(o),a=>chunkQ2H2CAII_js.f(a),([a,l])=>chunkQ2H2CAII_js.k(r(l,e-1,[a]),({chunk:p,rest:u})=>chunkQ2H2CAII_js.e([p,s(u)]))));return s(n)})}Object.defineProperty(exports,"PushStatus",{enumerable:true,get:function(){return chunkQ2H2CAII_js.B}});Object.defineProperty(exports,"RingBuffer",{enumerable:true,get:function(){return chunkQ2H2CAII_js.C}});Object.defineProperty(exports,"Runtime",{enumerable:true,get:function(){return chunkQ2H2CAII_js.I}});Object.defineProperty(exports,"RuntimeFiber",{enumerable:true,get:function(){return chunkQ2H2CAII_js.F}});Object.defineProperty(exports,"Scheduler",{enumerable:true,get:function(){return chunkQ2H2CAII_js.D}});Object.defineProperty(exports,"Scope",{enumerable:true,get:function(){return chunkQ2H2CAII_js.S}});Object.defineProperty(exports,"acquireRelease",{enumerable:true,get:function(){return chunkQ2H2CAII_js.l}});Object.defineProperty(exports,"assertNever",{enumerable:true,get:function(){return chunkQ2H2CAII_js.ia}});Object.defineProperty(exports,"async",{enumerable:true,get:function(){return chunkQ2H2CAII_js.i}});Object.defineProperty(exports,"asyncCatchAll",{enumerable:true,get:function(){return chunkQ2H2CAII_js.b}});Object.defineProperty(exports,"asyncFail",{enumerable:true,get:function(){return chunkQ2H2CAII_js.f}});Object.defineProperty(exports,"asyncFlatMap",{enumerable:true,get:function(){return chunkQ2H2CAII_js.k}});Object.defineProperty(exports,"asyncFold",{enumerable:true,get:function(){return chunkQ2H2CAII_js.a}});Object.defineProperty(exports,"asyncInterruptible",{enumerable:true,get:function(){return chunkQ2H2CAII_js.m}});Object.defineProperty(exports,"asyncMap",{enumerable:true,get:function(){return chunkQ2H2CAII_js.j}});Object.defineProperty(exports,"asyncMapError",{enumerable:true,get:function(){return chunkQ2H2CAII_js.c}});Object.defineProperty(exports,"asyncSucceed",{enumerable:true,get:function(){return chunkQ2H2CAII_js.e}});Object.defineProperty(exports,"asyncSync",{enumerable:true,get:function(){return chunkQ2H2CAII_js.g}});Object.defineProperty(exports,"asyncTotal",{enumerable:true,get:function(){return chunkQ2H2CAII_js.h}});Object.defineProperty(exports,"catchAll",{enumerable:true,get:function(){return chunkQ2H2CAII_js.y}});Object.defineProperty(exports,"collectAllPar",{enumerable:true,get:function(){return chunkQ2H2CAII_js.X}});Object.defineProperty(exports,"collectStream",{enumerable:true,get:function(){return chunkQ2H2CAII_js.oa}});Object.defineProperty(exports,"concatStream",{enumerable:true,get:function(){return chunkQ2H2CAII_js.ea}});Object.defineProperty(exports,"emitStream",{enumerable:true,get:function(){return chunkQ2H2CAII_js.da}});Object.defineProperty(exports,"emptyStream",{enumerable:true,get:function(){return chunkQ2H2CAII_js.ca}});Object.defineProperty(exports,"end",{enumerable:true,get:function(){return chunkQ2H2CAII_js.A}});Object.defineProperty(exports,"fail",{enumerable:true,get:function(){return chunkQ2H2CAII_js.t}});Object.defineProperty(exports,"flatMap",{enumerable:true,get:function(){return chunkQ2H2CAII_js.w}});Object.defineProperty(exports,"flattenStream",{enumerable:true,get:function(){return chunkQ2H2CAII_js.fa}});Object.defineProperty(exports,"foreachStream",{enumerable:true,get:function(){return chunkQ2H2CAII_js.ma}});Object.defineProperty(exports,"fork",{enumerable:true,get:function(){return chunkQ2H2CAII_js.K}});Object.defineProperty(exports,"from",{enumerable:true,get:function(){return chunkQ2H2CAII_js.J}});Object.defineProperty(exports,"fromArray",{enumerable:true,get:function(){return chunkQ2H2CAII_js.na}});Object.defineProperty(exports,"fromCallback",{enumerable:true,get:function(){return chunkQ2H2CAII_js.O}});Object.defineProperty(exports,"fromPromise",{enumerable:true,get:function(){return chunkQ2H2CAII_js.N}});Object.defineProperty(exports,"fromPromiseAbortable",{enumerable:true,get:function(){return chunkQ2H2CAII_js.Q}});Object.defineProperty(exports,"fromPull",{enumerable:true,get:function(){return chunkQ2H2CAII_js._}});Object.defineProperty(exports,"getCurrentFiber",{enumerable:true,get:function(){return chunkQ2H2CAII_js.G}});Object.defineProperty(exports,"getCurrentRuntime",{enumerable:true,get:function(){return chunkQ2H2CAII_js.R}});Object.defineProperty(exports,"globalScheduler",{enumerable:true,get:function(){return chunkQ2H2CAII_js.E}});Object.defineProperty(exports,"managedStream",{enumerable:true,get:function(){return chunkQ2H2CAII_js.aa}});Object.defineProperty(exports,"map",{enumerable:true,get:function(){return chunkQ2H2CAII_js.v}});Object.defineProperty(exports,"mapAsync",{enumerable:true,get:function(){return chunkQ2H2CAII_js.o}});Object.defineProperty(exports,"mapError",{enumerable:true,get:function(){return chunkQ2H2CAII_js.x}});Object.defineProperty(exports,"mapStream",{enumerable:true,get:function(){return chunkQ2H2CAII_js.ja}});Object.defineProperty(exports,"mapTryAsync",{enumerable:true,get:function(){return chunkQ2H2CAII_js.p}});Object.defineProperty(exports,"merge",{enumerable:true,get:function(){return chunkQ2H2CAII_js.ga}});Object.defineProperty(exports,"mergeStream",{enumerable:true,get:function(){return chunkQ2H2CAII_js.ba}});Object.defineProperty(exports,"none",{enumerable:true,get:function(){return chunkQ2H2CAII_js.q}});Object.defineProperty(exports,"orElseOptional",{enumerable:true,get:function(){return chunkQ2H2CAII_js.z}});Object.defineProperty(exports,"race",{enumerable:true,get:function(){return chunkQ2H2CAII_js.V}});Object.defineProperty(exports,"raceWith",{enumerable:true,get:function(){return chunkQ2H2CAII_js.Y}});Object.defineProperty(exports,"rangeStream",{enumerable:true,get:function(){return chunkQ2H2CAII_js.ka}});Object.defineProperty(exports,"some",{enumerable:true,get:function(){return chunkQ2H2CAII_js.r}});Object.defineProperty(exports,"streamFromReadableStream",{enumerable:true,get:function(){return chunkQ2H2CAII_js.pa}});Object.defineProperty(exports,"succeed",{enumerable:true,get:function(){return chunkQ2H2CAII_js.s}});Object.defineProperty(exports,"sync",{enumerable:true,get:function(){return chunkQ2H2CAII_js.u}});Object.defineProperty(exports,"toPromise",{enumerable:true,get:function(){return chunkQ2H2CAII_js.M}});Object.defineProperty(exports,"tryPromiseAbortable",{enumerable:true,get:function(){return chunkQ2H2CAII_js.P}});Object.defineProperty(exports,"uncons",{enumerable:true,get:function(){return chunkQ2H2CAII_js.ha}});Object.defineProperty(exports,"unit",{enumerable:true,get:function(){return chunkQ2H2CAII_js.d}});Object.defineProperty(exports,"unsafeRunAsync",{enumerable:true,get:function(){return chunkQ2H2CAII_js.L}});Object.defineProperty(exports,"unwrapScoped",{enumerable:true,get:function(){return chunkQ2H2CAII_js.$}});Object.defineProperty(exports,"widenOpt",{enumerable:true,get:function(){return chunkQ2H2CAII_js.Z}});Object.defineProperty(exports,"withAsyncPromise",{enumerable:true,get:function(){return chunkQ2H2CAII_js.n}});Object.defineProperty(exports,"withCurrentFiber",{enumerable:true,get:function(){return chunkQ2H2CAII_js.H}});Object.defineProperty(exports,"withScope",{enumerable:true,get:function(){return chunkQ2H2CAII_js.T}});Object.defineProperty(exports,"withScopeAsync",{enumerable:true,get:function(){return chunkQ2H2CAII_js.U}});Object.defineProperty(exports,"zip",{enumerable:true,get:function(){return chunkQ2H2CAII_js.la}});Object.defineProperty(exports,"zipPar",{enumerable:true,get:function(){return chunkQ2H2CAII_js.W}});exports.LinkedQueue=v;exports.andThen=z;exports.bounded=w;exports.broadcast=yn;exports.broadcastToHub=dn;exports.buffer=F;exports.bufferP=Mn;exports.compose=Cn;exports.dropP=Qn;exports.filterMapP=Tn;exports.filterP=Bn;exports.fromHub=Rn;exports.groupedP=In;exports.identity=On;exports.linkAbortController=De;exports.makeCancelToken=ze;exports.makeHub=N;exports.mapEffectP=D;exports.mapP=Pn;exports.takeP=Hn;exports.tapEffectP=Fn;exports.via=_n;
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import {g,C,i,_,h,k,e,la,aa,c,q,ca,K,r,a,ha,f,Z}from'./chunk-YDXX3MGC.mjs';export{B as PushStatus,C as RingBuffer,I as Runtime,F as RuntimeFiber,D as Scheduler,S as Scope,l as acquireRelease,i as async,b as asyncCatchAll,f as asyncFail,k as asyncFlatMap,a as asyncFold,m as asyncInterruptible,j as asyncMap,c as asyncMapError,e as asyncSucceed,g as asyncSync,h as asyncTotal,y as catchAll,X as collectAllPar,na as collectStream,ea as concatStream,da as emitStream,ca as emptyStream,A as end,t as fail,w as flatMap,fa as flattenStream,la as foreachStream,K as fork,J as from,ma as fromArray,O as fromCallback,N as fromPromise,Q as fromPromiseAbortable,_ as fromPull,G as getCurrentFiber,R as getCurrentRuntime,E as globalScheduler,aa as managedStream,v as map,o as mapAsync,x as mapError,ia as mapStream,p as mapTryAsync,ga as merge,ba as mergeStream,q as none,z as orElseOptional,V as race,Y as raceWith,ja as rangeStream,r as some,oa as streamFromReadableStream,s as succeed,u as sync,M as toPromise,P as tryPromiseAbortable,ha as uncons,d as unit,L as unsafeRunAsync,$ as unwrapScoped,Z as widenOpt,n as withAsyncPromise,H as withCurrentFiber,T as withScope,U as withScopeAsync,ka as zip,W as zipPar}from'./chunk-YDXX3MGC.mjs';function Ne(){let t=false,e=new Set;return {isCancelled:()=>t,onCancel:r=>{if(t){try{r();}catch{}return ()=>{}}return e.add(r),()=>{e.delete(r);}},cancel:()=>{t||(t=true,e.forEach(r=>r()),e.clear());}}}function ze(t,e){return t.onCancel(()=>e.abort())}var v=class{head=null;tail=null;len=0;get length(){return this.len}isEmpty(){return this.len===0}push(e){let n={value:e,next:null,prev:this.tail,removed:false};return this.tail?this.tail.next=n:this.head=n,this.tail=n,this.len++,n}shift(){let e=this.head;if(e)return this.unlink(e),e.value}remove(e){e.removed||this.unlink(e);}unlink(e){e.removed=true;let{prev:n,next:r}=e;n?n.next=r:this.head=r,r?r.prev=n:this.tail=n,e.next=null,e.prev=null,this.len--;}};function w(t,e="backpressure"){return g(()=>M(t,e))}function M(t,e){let n=new C(t),r=false,s={_tag:"QueueClosed"},a=new v,o=new v,p=()=>{for(;o.length>0&&n.length>0;){let u=o.shift(),f=n.shift();u({_tag:"Success",value:f});}for(;a.length>0&&n.length<t&&o.length===0;){let u=a.shift();n.push(u.a),u.cb(true);}for(;o.length>0&&a.length>0;){let u=o.shift(),f=a.shift();f.cb(true),u({_tag:"Success",value:f.a});}};return {size:()=>n.length,shutdown:()=>{if(!r){for(r=true;o.length>0;)o.shift()({_tag:"Failure",error:s});for(;a.length>0;)a.shift().cb(false);n.clear();}},offer:u=>i((f,i)=>{if(r){i({_tag:"Success",value:false});return}if(o.length>0){o.shift()({_tag:"Success",value:u}),i({_tag:"Success",value:true});return}if(n.length<t){n.push(u),i({_tag:"Success",value:true}),p();return}if(e==="dropping"){i({_tag:"Success",value:false});return}if(e==="sliding"){n.shift(),n.push(u),i({_tag:"Success",value:true}),p();return}let m=a.push({a:u,cb:A=>i({_tag:"Success",value:A})});return ()=>{a.remove(m);}}),take:()=>i((u,f)=>{if(n.length>0){let A=n.shift();f({_tag:"Success",value:A}),p();return}if(a.length>0){let A=a.shift();A.cb(true),f({_tag:"Success",value:A.a});return}if(r){f({_tag:"Failure",error:s});return}let i=A=>f(A),m=o.push(i);return ()=>{o.remove(m);}})}}function F(t,e$1,n="backpressure"){let r$1=false,s=null,a$1=null,o=t,p=()=>a(ha(o),i=>e(i._tag==="None"?{_tag:"End"}:{_tag:"Fail",error:i.value}),([i,m])=>g(()=>(o=m,{_tag:"Elem",value:i}))),c=i=>k(w(e$1,n),m=>{s=m;let S=()=>k(p(),A=>k(s.offer(A),()=>A._tag==="End"||A._tag==="Fail"?e(void 0):S()));return a$1=K(S(),i),r$1=true,e(void 0)}),u={_tag:"Async",register:(i,m)=>{(()=>{if(!r$1){K(c(i),i).join(()=>{f(i,m);});return}f(i,m);})();}};function f(i,m){let S=s.take();K(S,i).join(A=>{if(A._tag!=="Success")return;let _$1=A.value;switch(_$1._tag){case "Elem":m({_tag:"Success",value:[_$1.value,_(u)]});return;case "End":a$1?.interrupt?.(),m({_tag:"Failure",error:q});return;case "Fail":a$1?.interrupt?.(),m({_tag:"Failure",error:r(_$1.error)});return}});}return _(u)}var I=t=>t==="BackPressure"?"backpressure":t==="Dropping"?"dropping":"sliding";function N(t,e$1="BackPressure"){let n=new Set,r=false,s=c=>{if(r)return e(false);let u=Array.from(n),f=e(true);return u.forEach(i=>{f=k(f,m=>k(i.offer(c),S=>e(m&&S)));}),f};return {publish:s,publishAll:c=>{let u=e(true),f=c[Symbol.iterator]();for(;;){let i=f.next();if(i.done)break;let m=i.value;u=k(u,S=>k(s(m),A=>e(S&&A)));}return u},subscribe:()=>r?h(()=>{throw {_tag:"HubClosed"}}):k(w(t,I(e$1)),c=>g(()=>(n.add(c),{...c,unsubscribe:()=>{n.has(c)&&(n.delete(c),c.shutdown());}}))),shutdown:()=>g(()=>{r||(r=true,Array.from(n).forEach(c=>c.shutdown()),n.clear());})}}var yn=N;function En(t,e$1){return la(t,n=>k(e$1.publish(n),()=>e(void 0)))}function dn(t){return aa(k(t.subscribe(),e$1=>{let n=_(k(c(e$1.take(),r=>q),r=>e([r,n])));return e({stream:n,release:r=>g(()=>e$1.unsubscribe())})}))}function wn(t,e){return e(t)}function z(t,e){return(n=>e(t(n)))}function _n(t,e){return z(e,t)}function Cn(){return(t=>t)}function Pn(t){return(e$1=>{let n=r=>_(a(ha(r),s=>f(s),([s,a])=>e([t(s),n(a)])));return n(e$1)})}function On(t){return(e$1=>{let n=s=>a(ha(s),a=>f(a),([a,o])=>t(a)?e([a,r(o)]):n(o)),r=s=>_(n(s));return r(e$1)})}function Tn(t){return(e$1=>{let n=s=>a(ha(s),a=>f(a),([a,o])=>{let p=t(a);return p._tag==="Some"?e([p.value,r(o)]):n(o)}),r=s=>_(n(s));return r(e$1)})}function Bn(t){let e$1=Math.max(0,t|0);return(n=>{let r=(s,a$1)=>a$1<=0?ca():_(a(ha(s),o=>f(o),([o,p])=>e([o,r(p,a$1-1)])));return r(n,e$1)})}function Hn(t){let e=Math.max(0,t|0);return(n=>{let r=(s,a$1)=>a$1<=0?s:_(a(ha(s),o=>f(o),([o,p])=>ha(r(p,a$1-1))));return r(n,e)})}function D(t){return(e$1=>{let n=r$1=>_(a(c(ha(r$1),s=>Z(s)),s=>f(s),([s,a$1])=>a(c(t(s),o=>r(o)),o=>f(o),o=>e([o,n(a$1)]))));return n(e$1)})}function Qn(t){return D(e$1=>k(t(e$1),()=>e(e$1)))}function Fn(t,e="backpressure"){return(n=>F(n,t,e))}function Mn(t){let e$1=Math.max(1,t|0);return(n=>{let r=(a$1,o,p)=>o<=0?e({chunk:p,rest:a$1}):a(ha(a$1),c=>c._tag==="None"?e({chunk:p,rest:ca()}):f(c),([c,u])=>r(u,o-1,[...p,c])),s=a$1=>_(a(ha(a$1),o=>f(o),([o,p])=>k(r(p,e$1-1,[o]),({chunk:c,rest:u})=>e([c,s(u)]))));return s(n)})}export{v as LinkedQueue,z as andThen,w as bounded,yn as broadcast,En as broadcastToHub,F as buffer,Fn as bufferP,_n as compose,Hn as dropP,Tn as filterMapP,On as filterP,dn as fromHub,Mn as groupedP,Cn as identity,ze as linkAbortController,Ne as makeCancelToken,N as makeHub,D as mapEffectP,Pn as mapP,Bn as takeP,Qn as tapEffectP,wn as via};
1
+ import {g,C,i,_,h,k,e,ma,aa,c,q,ca,K,r,a,ha,f,Z}from'./chunk-ZXK3XM2Q.mjs';export{B as PushStatus,C as RingBuffer,I as Runtime,F as RuntimeFiber,D as Scheduler,S as Scope,l as acquireRelease,ia as assertNever,i as async,b as asyncCatchAll,f as asyncFail,k as asyncFlatMap,a as asyncFold,m as asyncInterruptible,j as asyncMap,c as asyncMapError,e as asyncSucceed,g as asyncSync,h as asyncTotal,y as catchAll,X as collectAllPar,oa as collectStream,ea as concatStream,da as emitStream,ca as emptyStream,A as end,t as fail,w as flatMap,fa as flattenStream,ma as foreachStream,K as fork,J as from,na as fromArray,O as fromCallback,N as fromPromise,Q as fromPromiseAbortable,_ as fromPull,G as getCurrentFiber,R as getCurrentRuntime,E as globalScheduler,aa as managedStream,v as map,o as mapAsync,x as mapError,ja as mapStream,p as mapTryAsync,ga as merge,ba as mergeStream,q as none,z as orElseOptional,V as race,Y as raceWith,ka as rangeStream,r as some,pa as streamFromReadableStream,s as succeed,u as sync,M as toPromise,P as tryPromiseAbortable,ha as uncons,d as unit,L as unsafeRunAsync,$ as unwrapScoped,Z as widenOpt,n as withAsyncPromise,H as withCurrentFiber,T as withScope,U as withScopeAsync,la as zip,W as zipPar}from'./chunk-ZXK3XM2Q.mjs';function ze(){let t=false,e=new Set;return {isCancelled:()=>t,onCancel:r=>{if(t){try{r();}catch{}return ()=>{}}return e.add(r),()=>{e.delete(r);}},cancel:()=>{t||(t=true,e.forEach(r=>r()),e.clear());}}}function De(t,e){return t.onCancel(()=>e.abort())}var v=class{head=null;tail=null;len=0;get length(){return this.len}isEmpty(){return this.len===0}push(e){let n={value:e,next:null,prev:this.tail,removed:false};return this.tail?this.tail.next=n:this.head=n,this.tail=n,this.len++,n}shift(){let e=this.head;if(e)return this.unlink(e),e.value}remove(e){e.removed||this.unlink(e);}unlink(e){e.removed=true;let{prev:n,next:r}=e;n?n.next=r:this.head=r,r?r.prev=n:this.tail=n,e.next=null,e.prev=null,this.len--;}};function w(t,e="backpressure"){return g(()=>M(t,e))}function M(t,e){let n=new C(t),r=false,s={_tag:"QueueClosed"},o=new v,a=new v,l=()=>{for(;a.length>0&&n.length>0;){let u=a.shift(),f=n.shift();u({_tag:"Success",value:f});}for(;o.length>0&&n.length<t&&a.length===0;){let u=o.shift();n.push(u.a),u.cb(true);}for(;a.length>0&&o.length>0;){let u=a.shift(),f=o.shift();f.cb(true),u({_tag:"Success",value:f.a});}};return {size:()=>n.length,shutdown:()=>{if(!r){for(r=true;a.length>0;)a.shift()({_tag:"Failure",error:s});for(;o.length>0;)o.shift().cb(false);n.clear();}},offer:u=>i((f,i)=>{if(r){i({_tag:"Success",value:false});return}if(a.length>0){a.shift()({_tag:"Success",value:u}),i({_tag:"Success",value:true});return}if(n.length<t){n.push(u),i({_tag:"Success",value:true}),l();return}if(e==="dropping"){i({_tag:"Success",value:false});return}if(e==="sliding"){n.shift(),n.push(u),i({_tag:"Success",value:true}),l();return}let A=o.push({a:u,cb:m=>i({_tag:"Success",value:m})});return ()=>{o.remove(A);}}),take:()=>i((u,f)=>{if(n.length>0){let m=n.shift();f({_tag:"Success",value:m}),l();return}if(o.length>0){let m=o.shift();m.cb(true),f({_tag:"Success",value:m.a});return}if(r){f({_tag:"Failure",error:s});return}let i=m=>f(m),A=a.push(i);return ()=>{a.remove(A);}})}}function F(t,e$1,n="backpressure"){let r$1=false,s=null,o=null,a$1=t,l=()=>a(ha(a$1),i=>e(i._tag==="None"?{_tag:"End"}:{_tag:"Fail",error:i.value}),([i,A])=>g(()=>(a$1=A,{_tag:"Elem",value:i}))),p=i=>k(w(e$1,n),A=>{s=A;let S=()=>k(l(),m=>k(s.offer(m),()=>m._tag==="End"||m._tag==="Fail"?e(void 0):S()));return o=K(S(),i),r$1=true,e(void 0)}),u={_tag:"Async",register:(i,A)=>{(()=>{if(!r$1){K(p(i),i).join(()=>{f(i,A);});return}f(i,A);})();}};function f(i,A){let S=s.take();K(S,i).join(m=>{if(m._tag!=="Success")return;let _$1=m.value;switch(_$1._tag){case "Elem":A({_tag:"Success",value:[_$1.value,_(u)]});return;case "End":o?.interrupt?.(),A({_tag:"Failure",error:q});return;case "Fail":o?.interrupt?.(),A({_tag:"Failure",error:r(_$1.error)});return}});}return _(u)}var I=t=>t==="BackPressure"?"backpressure":t==="Dropping"?"dropping":"sliding";function N(t,e$1="BackPressure"){let n=new Set,r=false,s=p=>{if(r)return e(false);let u=Array.from(n),f=e(true);return u.forEach(i=>{f=k(f,A=>k(i.offer(p),S=>e(A&&S)));}),f};return {publish:s,publishAll:p=>{let u=e(true),f=p[Symbol.iterator]();for(;;){let i=f.next();if(i.done)break;let A=i.value;u=k(u,S=>k(s(A),m=>e(S&&m)));}return u},subscribe:()=>r?h(()=>{throw {_tag:"HubClosed"}}):k(w(t,I(e$1)),p=>g(()=>(n.add(p),{...p,unsubscribe:()=>{n.has(p)&&(n.delete(p),p.shutdown());}}))),shutdown:()=>g(()=>{r||(r=true,Array.from(n).forEach(p=>p.shutdown()),n.clear());})}}var yn=N;function dn(t,e$1){return ma(t,n=>k(e$1.publish(n),()=>e(void 0)))}function Rn(t){return aa(k(t.subscribe(),e$1=>{let n=_(k(c(e$1.take(),r=>q),r=>e([r,n])));return e({stream:n,release:r=>g(()=>e$1.unsubscribe())})}))}function _n(t,e){return e(t)}function z(t,e){return(n=>e(t(n)))}function Cn(t,e){return z(e,t)}function On(){return(t=>t)}function Pn(t){return(e$1=>{let n=r=>_(a(ha(r),s=>f(s),([s,o])=>e([t(s),n(o)])));return n(e$1)})}function Bn(t){return(e$1=>{let n=s=>a(ha(s),o=>f(o),([o,a])=>t(o)?e([o,r(a)]):n(a)),r=s=>_(n(s));return r(e$1)})}function Tn(t){return(e$1=>{let n=s=>a(ha(s),o=>f(o),([o,a])=>{let l=t(o);return l._tag==="Some"?e([l.value,r(a)]):n(a)}),r=s=>_(n(s));return r(e$1)})}function Hn(t){let e$1=Math.max(0,t|0);return(n=>{let r=(s,o)=>o<=0?ca():_(a(ha(s),a=>f(a),([a,l])=>e([a,r(l,o-1)])));return r(n,e$1)})}function Qn(t){let e=Math.max(0,t|0);return(n=>{let r=(s,o)=>o<=0?s:_(a(ha(s),a=>f(a),([a,l])=>ha(r(l,o-1))));return r(n,e)})}function D(t){return(e$1=>{let n=s=>c(s,o=>r(o)),r$1=s=>_(a(c(ha(s),o=>Z(o)),o=>f(o),([o,a$1])=>a(n(t(o)),l=>f(l),l=>e([l,r$1(a$1)]))));return r$1(e$1)})}function Fn(t){return D(e$1=>k(t(e$1),()=>e(e$1)))}function Mn(t,e="backpressure"){return(n=>F(n,t,e))}function In(t){let e$1=Math.max(1,t|0);return(n=>{let r=(o,a$1,l)=>a$1<=0?e({chunk:l,rest:o}):a(ha(o),p=>p._tag==="None"?e({chunk:l,rest:ca()}):f(p),([p,u])=>r(u,a$1-1,[...l,p])),s=o=>_(a(ha(o),a=>f(a),([a,l])=>k(r(l,e$1-1,[a]),({chunk:p,rest:u})=>e([p,s(u)]))));return s(n)})}export{v as LinkedQueue,z as andThen,w as bounded,yn as broadcast,dn as broadcastToHub,F as buffer,Mn as bufferP,Cn as compose,Qn as dropP,Tn as filterMapP,Bn as filterP,Rn as fromHub,In as groupedP,On as identity,De as linkAbortController,ze as makeCancelToken,N as makeHub,D as mapEffectP,Pn as mapP,Hn as takeP,Fn as tapEffectP,_n as via};
@@ -30,22 +30,50 @@ declare class Scheduler {
30
30
  }
31
31
  declare const globalScheduler: Scheduler;
32
32
 
33
- type NodeCallback<A> = (err: Error | null, result: A) => void;
34
- /**
35
- * --- Runtime Hooks (por ahora NOOP) ---
36
- * La idea es que en próximas versiones puedas enchufar EventBus / sinks sin tocar fibers.
37
- * Por ahora lo dejamos mínimo y sin dependencia a event bus.
38
- */
39
- type RuntimeEmitContext = {};
40
33
  type RuntimeEvent = {
34
+ type: "fiber.start";
35
+ fiberId: number;
36
+ parentFiberId?: number;
37
+ scopeId?: number;
38
+ name?: string;
39
+ } | {
40
+ type: "fiber.end";
41
+ fiberId: number;
42
+ status: "success" | "failure" | "interrupted";
43
+ error?: unknown;
44
+ } | {
45
+ type: "fiber.suspend";
46
+ fiberId: number;
47
+ reason?: string;
48
+ } | {
49
+ type: "fiber.resume";
50
+ fiberId: number;
51
+ } | {
52
+ type: "scope.open";
53
+ scopeId: number;
54
+ parentScopeId?: number;
55
+ } | {
56
+ type: "scope.close";
57
+ scopeId: number;
58
+ status: "success" | "failure" | "interrupted";
59
+ error?: unknown;
60
+ } | {
41
61
  type: "log";
42
62
  level: "debug" | "info" | "warn" | "error";
43
63
  message: string;
44
64
  fields?: Record<string, unknown>;
45
65
  };
46
66
  interface RuntimeHooks {
47
- emit(ev: RuntimeEvent, ctx?: RuntimeEmitContext): void;
67
+ emit(ev: RuntimeEvent, ctx: RuntimeEmitContext): void;
48
68
  }
69
+ type RuntimeEmitContext = {
70
+ fiberId?: number;
71
+ scopeId?: number;
72
+ traceId?: string;
73
+ spanId?: string;
74
+ };
75
+
76
+ type NodeCallback<A> = (err: Error | null, result: A) => void;
49
77
  /**
50
78
  * --- Runtime como objeto único (ZIO-style) ---
51
79
  * Un valor que representa "cómo" se ejecutan los efectos: scheduler + environment + hooks.
@@ -54,6 +82,9 @@ declare class Runtime<R> {
54
82
  readonly env: R;
55
83
  readonly scheduler: Scheduler;
56
84
  readonly hooks: RuntimeHooks;
85
+ readonly forkPolicy: {
86
+ initChild(fiber: RuntimeFiber<any, any, any> & any, parent?: (RuntimeFiber<any, any, any> & any) | null): void;
87
+ };
57
88
  constructor(args: {
58
89
  env: R;
59
90
  scheduler?: Scheduler;
@@ -64,7 +95,7 @@ declare class Runtime<R> {
64
95
  toPromise<E, A>(effect: Async<R, E, A>): Promise<A>;
65
96
  log(level: "debug" | "info" | "warn" | "error", message: string, fields?: Record<string, unknown>): void;
66
97
  withHooks(hooks: RuntimeHooks): Runtime<R>;
67
- private emit;
98
+ emit(ev: RuntimeEvent): void;
68
99
  static make<R>(env: R, scheduler?: Scheduler): Runtime<R>;
69
100
  }
70
101
  /**
@@ -95,6 +126,24 @@ declare function fromPromiseAbortable<E, A>(thunk: (signal: AbortSignal) => Prom
95
126
  declare function fromPromiseAbortable<R, E, A>(thunk: (env: R, signal: AbortSignal) => Promise<A>, onError: (e: unknown) => E): Async<R, E, A>;
96
127
  declare function getCurrentRuntime<R>(): Runtime<R>;
97
128
 
129
+ type JSONValue = null | boolean | number | string | JSONValue[] | {
130
+ [k: string]: JSONValue;
131
+ };
132
+ type ContextNode = {
133
+ parent: ContextNode | null;
134
+ patch: Record<string, JSONValue>;
135
+ };
136
+ type TraceContext = {
137
+ traceId: string;
138
+ spanId: string;
139
+ parentSpanId?: string;
140
+ sampled?: boolean;
141
+ };
142
+ type FiberContext = {
143
+ log: ContextNode;
144
+ trace: TraceContext | null;
145
+ };
146
+
98
147
  type FiberId = number;
99
148
  type Interrupted = {
100
149
  readonly _tag: "Interrupted";
@@ -121,6 +170,9 @@ declare class RuntimeFiber<R, E, A> implements Fiber<E, A> {
121
170
  private readonly stack;
122
171
  private readonly fiberFinalizers;
123
172
  private finalizersDrained;
173
+ fiberContext: FiberContext;
174
+ name?: string;
175
+ scopeId?: number;
124
176
  constructor(runtime: Runtime<R>, effect: Async<R, E, A>);
125
177
  private get env();
126
178
  private get scheduler();
@@ -135,7 +187,7 @@ declare class RuntimeFiber<R, E, A> implements Fiber<E, A> {
135
187
  private onFailure;
136
188
  step(): StepDecision;
137
189
  }
138
- declare function getCurrentFiber(): RuntimeFiber<any, any, any>;
190
+ declare function getCurrentFiber(): RuntimeFiber<any, any, any> | null;
139
191
  declare function withCurrentFiber<T>(fiber: RuntimeFiber<any, any, any>, f: () => T): T;
140
192
 
141
193
  type ScopeId = number;
@@ -291,6 +343,7 @@ declare const concatStream: <R, E, A>(left: ZStream<R, E, A>, right: ZStream<R,
291
343
  declare const flattenStream: <R, E, A>(stream: ZStream<R, E, ZStream<R, E, A>>) => ZStream<R, E, A>;
292
344
  declare function merge<R, E, A>(left: ZStream<R, E, A>, right: ZStream<R, E, A>): ZStream<R, E, A>;
293
345
  declare function uncons<R, E, A>(self: ZStream<R, E, A>): ZIO<R, Option<E>, [A, ZStream<R, E, A>]>;
346
+ declare function assertNever(x: never, msg?: string): never;
294
347
  declare function mapStream<R, E, A, B>(self: ZStream<R, E, A>, f: (a: A) => B): ZStream<R, E, B>;
295
348
  declare function rangeStream(start: number, end: number): ZStream<unknown, never, number>;
296
349
  declare function zip<R, E1, A, E2, B>(left: ZStream<R, E1, A>, right: ZStream<R, E2, B>): ZStream<R, E1 | E2, [A, B]>;
@@ -299,4 +352,4 @@ declare function fromArray<A>(values: readonly A[]): ZStream<unknown, never, A>;
299
352
  declare function collectStream<R, E, A>(stream: ZStream<R, E, A>): ZIO<R, E, A[]>;
300
353
  declare function streamFromReadableStream<E>(body: ReadableStream<Uint8Array> | null | undefined, normalizeError: Normalize<E>): ZStream<unknown, E, Uint8Array>;
301
354
 
302
- export { fromPromiseAbortable as $, type Async as A, mapTryAsync as B, type Some as C, none as D, type Exit as E, some as F, type Canceler as G, type CancelToken as H, type Interrupted as I, makeCancelToken as J, linkAbortController as K, type RuntimeEvent as L, type RuntimeHooks as M, type None as N, type Option as O, Runtime as P, from as Q, type RuntimeEmitContext as R, Scope as S, type BrassError as T, fork as U, unsafeRunAsync as V, toPromise as W, fromPromise as X, fromCallback as Y, type ZStream as Z, tryPromiseAbortable as _, type ZIO as a, getCurrentRuntime as a0, type FiberId as a1, type FiberStatus as a2, type Fiber as a3, RuntimeFiber as a4, getCurrentFiber as a5, withCurrentFiber as a6, type ScopeId as a7, withScope as a8, withScopeAsync as a9, fromArray as aA, collectStream as aB, streamFromReadableStream as aC, type Task as aa, Scheduler as ab, globalScheduler as ac, type Empty as ad, type Emit as ae, type Concat as af, type Flatten as ag, type FromPull as ah, type Merge as ai, type Scoped as aj, type Normalize as ak, widenOpt as al, fromPull as am, unwrapScoped as an, managedStream as ao, mergeStream as ap, emptyStream as aq, emitStream as ar, concatStream as as, flattenStream as at, merge as au, uncons as av, mapStream as aw, rangeStream as ax, zip as ay, foreachStream as az, sync as b, flatMap as c, mapError as d, catchAll as e, fail as f, end as g, asyncFold as h, asyncCatchAll as i, asyncMapError as j, asyncSucceed as k, asyncFail as l, map as m, asyncSync as n, orElseOptional as o, asyncTotal as p, async as q, asyncMap as r, succeed as s, asyncFlatMap as t, unit as u, acquireRelease as v, asyncInterruptible as w, type AsyncWithPromise as x, withAsyncPromise as y, mapAsync as z };
355
+ export { type FiberId as $, type Async as A, mapTryAsync as B, type Some as C, none as D, type Exit as E, type Fiber as F, some as G, type Canceler as H, type Interrupted as I, type CancelToken as J, makeCancelToken as K, linkAbortController as L, from as M, type None as N, type Option as O, type BrassError as P, fork as Q, Runtime as R, Scope as S, unsafeRunAsync as T, toPromise as U, fromPromise as V, fromCallback as W, tryPromiseAbortable as X, fromPromiseAbortable as Y, type ZStream as Z, getCurrentRuntime as _, type ZIO as a, type FiberStatus as a0, RuntimeFiber as a1, getCurrentFiber as a2, withCurrentFiber as a3, type ScopeId as a4, withScope as a5, withScopeAsync as a6, type Task as a7, Scheduler as a8, globalScheduler as a9, streamFromReadableStream as aA, type Empty as aa, type Emit as ab, type Concat as ac, type Flatten as ad, type FromPull as ae, type Merge as af, type Scoped as ag, type Normalize as ah, widenOpt as ai, fromPull as aj, unwrapScoped as ak, managedStream as al, mergeStream as am, emptyStream as an, emitStream as ao, concatStream as ap, flattenStream as aq, merge as ar, uncons as as, assertNever as at, mapStream as au, rangeStream as av, zip as aw, foreachStream as ax, fromArray as ay, collectStream as az, sync as b, flatMap as c, mapError as d, catchAll as e, fail as f, end as g, asyncFold as h, asyncCatchAll as i, asyncMapError as j, asyncSucceed as k, asyncFail as l, map as m, asyncSync as n, orElseOptional as o, asyncTotal as p, async as q, asyncMap as r, succeed as s, asyncFlatMap as t, unit as u, acquireRelease as v, asyncInterruptible as w, type AsyncWithPromise as x, withAsyncPromise as y, mapAsync as z };
@@ -30,22 +30,50 @@ declare class Scheduler {
30
30
  }
31
31
  declare const globalScheduler: Scheduler;
32
32
 
33
- type NodeCallback<A> = (err: Error | null, result: A) => void;
34
- /**
35
- * --- Runtime Hooks (por ahora NOOP) ---
36
- * La idea es que en próximas versiones puedas enchufar EventBus / sinks sin tocar fibers.
37
- * Por ahora lo dejamos mínimo y sin dependencia a event bus.
38
- */
39
- type RuntimeEmitContext = {};
40
33
  type RuntimeEvent = {
34
+ type: "fiber.start";
35
+ fiberId: number;
36
+ parentFiberId?: number;
37
+ scopeId?: number;
38
+ name?: string;
39
+ } | {
40
+ type: "fiber.end";
41
+ fiberId: number;
42
+ status: "success" | "failure" | "interrupted";
43
+ error?: unknown;
44
+ } | {
45
+ type: "fiber.suspend";
46
+ fiberId: number;
47
+ reason?: string;
48
+ } | {
49
+ type: "fiber.resume";
50
+ fiberId: number;
51
+ } | {
52
+ type: "scope.open";
53
+ scopeId: number;
54
+ parentScopeId?: number;
55
+ } | {
56
+ type: "scope.close";
57
+ scopeId: number;
58
+ status: "success" | "failure" | "interrupted";
59
+ error?: unknown;
60
+ } | {
41
61
  type: "log";
42
62
  level: "debug" | "info" | "warn" | "error";
43
63
  message: string;
44
64
  fields?: Record<string, unknown>;
45
65
  };
46
66
  interface RuntimeHooks {
47
- emit(ev: RuntimeEvent, ctx?: RuntimeEmitContext): void;
67
+ emit(ev: RuntimeEvent, ctx: RuntimeEmitContext): void;
48
68
  }
69
+ type RuntimeEmitContext = {
70
+ fiberId?: number;
71
+ scopeId?: number;
72
+ traceId?: string;
73
+ spanId?: string;
74
+ };
75
+
76
+ type NodeCallback<A> = (err: Error | null, result: A) => void;
49
77
  /**
50
78
  * --- Runtime como objeto único (ZIO-style) ---
51
79
  * Un valor que representa "cómo" se ejecutan los efectos: scheduler + environment + hooks.
@@ -54,6 +82,9 @@ declare class Runtime<R> {
54
82
  readonly env: R;
55
83
  readonly scheduler: Scheduler;
56
84
  readonly hooks: RuntimeHooks;
85
+ readonly forkPolicy: {
86
+ initChild(fiber: RuntimeFiber<any, any, any> & any, parent?: (RuntimeFiber<any, any, any> & any) | null): void;
87
+ };
57
88
  constructor(args: {
58
89
  env: R;
59
90
  scheduler?: Scheduler;
@@ -64,7 +95,7 @@ declare class Runtime<R> {
64
95
  toPromise<E, A>(effect: Async<R, E, A>): Promise<A>;
65
96
  log(level: "debug" | "info" | "warn" | "error", message: string, fields?: Record<string, unknown>): void;
66
97
  withHooks(hooks: RuntimeHooks): Runtime<R>;
67
- private emit;
98
+ emit(ev: RuntimeEvent): void;
68
99
  static make<R>(env: R, scheduler?: Scheduler): Runtime<R>;
69
100
  }
70
101
  /**
@@ -95,6 +126,24 @@ declare function fromPromiseAbortable<E, A>(thunk: (signal: AbortSignal) => Prom
95
126
  declare function fromPromiseAbortable<R, E, A>(thunk: (env: R, signal: AbortSignal) => Promise<A>, onError: (e: unknown) => E): Async<R, E, A>;
96
127
  declare function getCurrentRuntime<R>(): Runtime<R>;
97
128
 
129
+ type JSONValue = null | boolean | number | string | JSONValue[] | {
130
+ [k: string]: JSONValue;
131
+ };
132
+ type ContextNode = {
133
+ parent: ContextNode | null;
134
+ patch: Record<string, JSONValue>;
135
+ };
136
+ type TraceContext = {
137
+ traceId: string;
138
+ spanId: string;
139
+ parentSpanId?: string;
140
+ sampled?: boolean;
141
+ };
142
+ type FiberContext = {
143
+ log: ContextNode;
144
+ trace: TraceContext | null;
145
+ };
146
+
98
147
  type FiberId = number;
99
148
  type Interrupted = {
100
149
  readonly _tag: "Interrupted";
@@ -121,6 +170,9 @@ declare class RuntimeFiber<R, E, A> implements Fiber<E, A> {
121
170
  private readonly stack;
122
171
  private readonly fiberFinalizers;
123
172
  private finalizersDrained;
173
+ fiberContext: FiberContext;
174
+ name?: string;
175
+ scopeId?: number;
124
176
  constructor(runtime: Runtime<R>, effect: Async<R, E, A>);
125
177
  private get env();
126
178
  private get scheduler();
@@ -135,7 +187,7 @@ declare class RuntimeFiber<R, E, A> implements Fiber<E, A> {
135
187
  private onFailure;
136
188
  step(): StepDecision;
137
189
  }
138
- declare function getCurrentFiber(): RuntimeFiber<any, any, any>;
190
+ declare function getCurrentFiber(): RuntimeFiber<any, any, any> | null;
139
191
  declare function withCurrentFiber<T>(fiber: RuntimeFiber<any, any, any>, f: () => T): T;
140
192
 
141
193
  type ScopeId = number;
@@ -291,6 +343,7 @@ declare const concatStream: <R, E, A>(left: ZStream<R, E, A>, right: ZStream<R,
291
343
  declare const flattenStream: <R, E, A>(stream: ZStream<R, E, ZStream<R, E, A>>) => ZStream<R, E, A>;
292
344
  declare function merge<R, E, A>(left: ZStream<R, E, A>, right: ZStream<R, E, A>): ZStream<R, E, A>;
293
345
  declare function uncons<R, E, A>(self: ZStream<R, E, A>): ZIO<R, Option<E>, [A, ZStream<R, E, A>]>;
346
+ declare function assertNever(x: never, msg?: string): never;
294
347
  declare function mapStream<R, E, A, B>(self: ZStream<R, E, A>, f: (a: A) => B): ZStream<R, E, B>;
295
348
  declare function rangeStream(start: number, end: number): ZStream<unknown, never, number>;
296
349
  declare function zip<R, E1, A, E2, B>(left: ZStream<R, E1, A>, right: ZStream<R, E2, B>): ZStream<R, E1 | E2, [A, B]>;
@@ -299,4 +352,4 @@ declare function fromArray<A>(values: readonly A[]): ZStream<unknown, never, A>;
299
352
  declare function collectStream<R, E, A>(stream: ZStream<R, E, A>): ZIO<R, E, A[]>;
300
353
  declare function streamFromReadableStream<E>(body: ReadableStream<Uint8Array> | null | undefined, normalizeError: Normalize<E>): ZStream<unknown, E, Uint8Array>;
301
354
 
302
- export { fromPromiseAbortable as $, type Async as A, mapTryAsync as B, type Some as C, none as D, type Exit as E, some as F, type Canceler as G, type CancelToken as H, type Interrupted as I, makeCancelToken as J, linkAbortController as K, type RuntimeEvent as L, type RuntimeHooks as M, type None as N, type Option as O, Runtime as P, from as Q, type RuntimeEmitContext as R, Scope as S, type BrassError as T, fork as U, unsafeRunAsync as V, toPromise as W, fromPromise as X, fromCallback as Y, type ZStream as Z, tryPromiseAbortable as _, type ZIO as a, getCurrentRuntime as a0, type FiberId as a1, type FiberStatus as a2, type Fiber as a3, RuntimeFiber as a4, getCurrentFiber as a5, withCurrentFiber as a6, type ScopeId as a7, withScope as a8, withScopeAsync as a9, fromArray as aA, collectStream as aB, streamFromReadableStream as aC, type Task as aa, Scheduler as ab, globalScheduler as ac, type Empty as ad, type Emit as ae, type Concat as af, type Flatten as ag, type FromPull as ah, type Merge as ai, type Scoped as aj, type Normalize as ak, widenOpt as al, fromPull as am, unwrapScoped as an, managedStream as ao, mergeStream as ap, emptyStream as aq, emitStream as ar, concatStream as as, flattenStream as at, merge as au, uncons as av, mapStream as aw, rangeStream as ax, zip as ay, foreachStream as az, sync as b, flatMap as c, mapError as d, catchAll as e, fail as f, end as g, asyncFold as h, asyncCatchAll as i, asyncMapError as j, asyncSucceed as k, asyncFail as l, map as m, asyncSync as n, orElseOptional as o, asyncTotal as p, async as q, asyncMap as r, succeed as s, asyncFlatMap as t, unit as u, acquireRelease as v, asyncInterruptible as w, type AsyncWithPromise as x, withAsyncPromise as y, mapAsync as z };
355
+ export { type FiberId as $, type Async as A, mapTryAsync as B, type Some as C, none as D, type Exit as E, type Fiber as F, some as G, type Canceler as H, type Interrupted as I, type CancelToken as J, makeCancelToken as K, linkAbortController as L, from as M, type None as N, type Option as O, type BrassError as P, fork as Q, Runtime as R, Scope as S, unsafeRunAsync as T, toPromise as U, fromPromise as V, fromCallback as W, tryPromiseAbortable as X, fromPromiseAbortable as Y, type ZStream as Z, getCurrentRuntime as _, type ZIO as a, type FiberStatus as a0, RuntimeFiber as a1, getCurrentFiber as a2, withCurrentFiber as a3, type ScopeId as a4, withScope as a5, withScopeAsync as a6, type Task as a7, Scheduler as a8, globalScheduler as a9, streamFromReadableStream as aA, type Empty as aa, type Emit as ab, type Concat as ac, type Flatten as ad, type FromPull as ae, type Merge as af, type Scoped as ag, type Normalize as ah, widenOpt as ai, fromPull as aj, unwrapScoped as ak, managedStream as al, mergeStream as am, emptyStream as an, emitStream as ao, concatStream as ap, flattenStream as aq, merge as ar, uncons as as, assertNever as at, mapStream as au, rangeStream as av, zip as aw, foreachStream as ax, fromArray as ay, collectStream as az, sync as b, flatMap as c, mapError as d, catchAll as e, fail as f, end as g, asyncFold as h, asyncCatchAll as i, asyncMapError as j, asyncSucceed as k, asyncFail as l, map as m, asyncSync as n, orElseOptional as o, asyncTotal as p, async as q, asyncMap as r, succeed as s, asyncFlatMap as t, unit as u, acquireRelease as v, asyncInterruptible as w, type AsyncWithPromise as x, withAsyncPromise as y, mapAsync as z };
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "brass-runtime",
3
- "version": "1.10.0",
3
+ "version": "1.11.0",
4
4
  "description": "Effect runtime utilities for TypeScript",
5
- "license": "ISC",
6
- "author": "",
5
+ "license": "MIT",
6
+ "author": "Augusto Vivaldelli",
7
7
  "main": "./dist/index.cjs",
8
8
  "module": "./dist/index.js",
9
9
  "types": "./dist/index.d.ts",
@@ -66,5 +66,13 @@
66
66
  "tsup": "^8.5.1",
67
67
  "tsx": "^4.21.0",
68
68
  "typescript": "^5.9.3"
69
- }
69
+ },
70
+ "repository": {
71
+ "type": "git",
72
+ "url": "git+https://github.com/BaldrVivaldelli/brass-runtime.git"
73
+ },
74
+ "bugs": {
75
+ "url": "https://github.com/BaldrVivaldelli/brass-runtime/issues"
76
+ },
77
+ "homepage": "https://github.com/BaldrVivaldelli/brass-runtime#readme"
70
78
  }
@@ -1 +0,0 @@
1
- function R(n,e,t){return {_tag:"Fold",first:n,onFailure:e,onSuccess:t}}function me(n,e){return R(n,t=>e(t),t=>E(t))}function x(n,e){return R(n,t=>m(e(t)),t=>E(t))}var O=()=>E(void 0),E=n=>({_tag:"Succeed",value:n}),m=n=>({_tag:"Fail",error:n}),_=n=>({_tag:"Sync",thunk:n}),fe=n=>_(()=>n()),A=n=>({_tag:"Async",register:n});function J(n,e){return p(n,t=>E(e(t)))}function p(n,e){return {_tag:"FlatMap",first:n,andThen:e}}function ge(n,e,t){return p(n,r=>(t.addFinalizer(o=>e(r,o)),E(r)))}function Se(n){return A(n)}var ve=n=>e=>{let t=e;return t.toPromise||(t.toPromise=r=>n(e,r),t.unsafeRunPromise=()=>n(e,{})),t},xe=(n,e)=>p(n,t=>E(e(t))),be=(n,e)=>p(n,t=>_(()=>e(t)));var b={_tag:"None"},k=n=>({_tag:"Some",value:n});var U=n=>E(n),B=n=>m(n),K=n=>_(e=>n(e)),w=(n,e)=>J(n,e),V=(n,e)=>p(n,t=>e(t)),j=(n,e)=>x(n,e),Ie=(n,e)=>R(n,t=>e(t),t=>E(t));function q(n,e){return R(n,t=>t._tag==="Some"?m(t):e(),t=>E(t))}var Ze=()=>B(b);var re=(r=>(r[r.Ok=0]="Ok",r[r.Grew=1]="Grew",r[r.Dropped=2]="Dropped",r))(re||{}),P=class{buf;head=0;tail=0;size_=0;maxCap;constructor(e=1024,t=e){let r=Math.max(2,this.nextPow2(e)),o=Math.max(r,this.nextPow2(t));this.buf=new Array(r),this.maxCap=o;}get length(){return this.size_}get capacity(){return this.buf.length}isEmpty(){return this.size_===0}push(e){return this.size_===this.buf.length?this.buf.length>=this.maxCap?2:(this.grow(),this.buf[this.tail]=e,this.tail=this.tail+1&this.buf.length-1,this.size_++,1):(this.buf[this.tail]=e,this.tail=this.tail+1&this.buf.length-1,this.size_++,0)}shift(){if(this.size_===0)return;let e=this.buf[this.head];return this.buf[this.head]=void 0,this.head=this.head+1&this.buf.length-1,this.size_--,e}clear(){this.buf.fill(void 0),this.head=0,this.tail=0,this.size_=0;}grow(){let e=this.buf,t=Math.min(e.length*2,this.maxCap),r=new Array(t);for(let o=0;o<this.size_;o++)r[o]=e[this.head+o&e.length-1];this.buf=r,this.head=0,this.tail=this.size_;}nextPow2(e){let t=1;for(;t<e;)t<<=1;return t}};var X=2048,Y=4096,oe=(()=>{if(typeof globalThis.setImmediate=="function")return n=>globalThis.setImmediate(n);if(typeof globalThis.MessageChannel=="function"){let n=new globalThis.MessageChannel,e=null;return n.port1.onmessage=()=>{let t=e;e=null,t?.();},t=>{e=t,n.port2.postMessage(0);}}return n=>setTimeout(n,0)})(),H=class{queue=new P(1024);flushing=false;scheduled=false;schedule(e,t="anonymous"){if(typeof e=="function"&&(this.queue.push({tag:t,task:e}),!this.flushing&&!this.scheduled)){this.scheduled=true;let r=this.queue.length>Y?"macro":"micro";this.requestFlush(r);}}requestFlush(e){e==="micro"?queueMicrotask(()=>this.flush()):oe(()=>this.flush());}flush(){if(this.flushing)return;this.flushing=true,this.scheduled=false;let e=0;try{for(;e<X;){let t=this.queue.shift();if(!t)break;e++;try{t.task();}catch(r){console.error(`[Scheduler] task threw (tag=${t.tag})`,r);}}}finally{if(this.flushing=false,this.queue.length>0&&!this.scheduled){this.scheduled=true;let t=e>=X||this.queue.length>Y?"macro":"micro";this.requestFlush(t);}}}},C=new H;var N=null,f={CONTINUE:"Continue",SUSPEND:"Suspend",DONE:"Done"},g={QUEUED:"Queued",RUNNING:"Running",SUSPENDED:"Suspended",DONE:"Done"},ae=1,ie=1024;function se(n){let e=n;for(;e._tag==="FlatMap"&&e.first._tag==="FlatMap";){let t=e.first,r=e.andThen;e={_tag:"FlatMap",first:t.first,andThen:o=>({_tag:"FlatMap",first:t.andThen(o),andThen:r})};}return e}var T=class{id;runtime;closing=null;finishing=false;runState=g.RUNNING;interrupted=false;result=null;joiners=[];current;stack=[];fiberFinalizers=[];finalizersDrained=false;constructor(e,t){this.id=ae++,this.runtime=e,this.current=t;}get env(){return this.runtime.env}get scheduler(){return this.runtime.scheduler}addFinalizer(e){this.fiberFinalizers.push(e);}status(){return this.result==null?"Running":this.interrupted?"Interrupted":"Done"}join(e){this.result!=null?e(this.result):this.joiners.push(e);}interrupt(){this.result==null&&(this.interrupted||(this.interrupted=true,this.schedule("interrupt-step")));}schedule(e="step"){this.runState===g.DONE||this.runState===g.QUEUED||(this.runState=g.QUEUED,this.scheduler.schedule(()=>{ce(this,()=>{if(this.runState===g.DONE)return;switch(this.runState=g.RUNNING,this.step()){case f.CONTINUE:this.schedule("continue");return;case f.SUSPEND:this.runState=g.SUSPENDED;return;case f.DONE:this.runState=g.DONE;return}});},`fiber#${this.id}.${e}`));}runFinalizersOnce(e){if(!this.finalizersDrained)for(this.finalizersDrained=true;this.fiberFinalizers.length>0;){let t=this.fiberFinalizers.pop();try{t(e);}catch{}}}notify(e){if(this.result==null&&this.closing==null){this.finishing=true,this.closing=e,this.runFinalizersOnce(e),this.result=e;for(let t of this.joiners)t(e);this.joiners.length=0;}}onSuccess(e){let t=this.stack.pop();if(!t){this.notify({_tag:"Success",value:e});return}this.current=t._tag==="SuccessCont"?t.k(e):t.onSuccess(e);}onFailure(e){for(;this.stack.length>0;){let t=this.stack.pop();if(t._tag==="FoldCont"){this.current=t.onFailure(e);return}}this.notify({_tag:"Failure",error:e});}step(){let e=ie;for(;e-- >0;){if(this.result!=null)return f.DONE;if(this.interrupted&&this.closing==null)return this.notify({_tag:"Failure",error:{_tag:"Interrupted"}}),f.DONE;let t=se(this.current);switch(t._tag){case "Succeed":{this.onSuccess(t.value);break}case "Fail":{this.onFailure(t.error);break}case "Sync":{try{let r=t.thunk(this.env);this.onSuccess(r);}catch(r){this.onFailure(r);}break}case "FlatMap":{this.stack.push({_tag:"SuccessCont",k:t.andThen}),this.current=t.first;break}case "Fold":{this.stack.push({_tag:"FoldCont",onFailure:t.onFailure,onSuccess:t.onSuccess}),this.current=t.first;break}case "Async":{if(this.finishing)return this.result!=null?f.DONE:f.CONTINUE;let r=false,o=s=>{r||(r=true,!(this.result!=null||this.closing!=null)&&(this.current=s._tag==="Success"?{_tag:"Succeed",value:s.value}:{_tag:"Fail",error:s.error},this.schedule("async-resume")));},a=t.register(this.env,o);return typeof a=="function"&&this.addFinalizer(()=>{r=true;try{a();}catch{}}),f.SUSPEND}}}return this.result!=null?f.DONE:f.CONTINUE}};function L(){return N}function ce(n,e){let t=N;N=n;try{return e()}finally{N=t;}}var ue={emit(){}},I=class n{env;scheduler;hooks;constructor(e){this.env=e.env,this.scheduler=e.scheduler??C,this.hooks=e.hooks??ue;}fork(e){let t=new T(this,e);return t.schedule("initial-step"),t}unsafeRunAsync(e,t){this.fork(e).join(t);}toPromise(e){return new Promise((t,r)=>{this.fork(e).join(a=>{let s=a;s._tag==="Success"?t(s.value):r(s.error);});})}log(e,t,r){this.emit({type:"log",level:e,message:t,fields:r});}withHooks(e){return new n({env:this.env,scheduler:this.scheduler,hooks:e})}emit(e){let t=L(),r={fiberId:t?.id,scopeId:t?.scope?.id,traceId:t?.fiberContext?.trace?.traceId,spanId:t?.fiberContext?.trace?.spanId};this.hooks.emit(e,r);}static make(e,t=C){return new n({env:e,scheduler:t})}};function He(n){return A((e,t)=>{let r=false,o=i=>{r||(r=true,t(i));},a=i=>o({_tag:"Failure",error:i instanceof Error?i:new Error(String(i))}),s=i=>o({_tag:"Success",value:i});try{typeof n=="function"&&n.length>=1?n((i,c)=>i?a(i):s(c)):n().then(s,a);}catch(i){a(i);}})}function Le(n,e,t=C){return new I({env:e,scheduler:t}).fork(n)}function Ge(n,e,t){return new I({env:e}).unsafeRunAsync(n,t)}function We(n,e){return new I({env:e}).toPromise(n)}function Qe(n,e){return A((t,r)=>{n(t).then(o=>r({_tag:"Success",value:o})).catch(o=>r({_tag:"Failure",error:e(o)}));})}function $e(n){return A((e,t)=>{let r=false,o=a=>{r||(r=true,t(a));};try{n((a,s)=>{o(a?{_tag:"Failure",error:a}:{_tag:"Success",value:s});});}catch(a){o({_tag:"Failure",error:a instanceof Error?a:new Error(String(a))});}})}function Je(n){return le((t,r)=>n.length===1?n(r):n(t,r),t=>Ae(t)?{_tag:"Abort"}:{_tag:"PromiseRejected",reason:t})}function le(n,e){return A((t,r)=>{let o=new AbortController,a=false,s=i=>{a||(a=true,r(i));};try{(n.length===1?n(o.signal):n(t,o.signal)).then(c=>s({_tag:"Success",value:c})).catch(c=>s({_tag:"Failure",error:e(c)}));}catch(i){s({_tag:"Failure",error:e(i)});}return ()=>{a=true,o.abort();}})}var Ae=n=>typeof n=="object"&&n!==null&&"name"in n&&n.name==="AbortError";function G(){let n=L();if(!n)throw new Error("No current runtime: est\xE1s llamando esto fuera de un fiber (fuera del runtime).");return n.runtime}var Ee=1;function pe(n){return A((e,t)=>{let r=n.length;if(r===0){t({_tag:"Success",value:void 0});return}for(let o of n)o.join(()=>{r-=1,r===0&&t({_tag:"Success",value:void 0});});})}function ye(n){return R(n,()=>O(),()=>O())}var F=class n{constructor(e){this.runtime=e;this.id=Ee++;}id;closed=false;children=new Set;subScopes=new Set;finalizers=[];get env(){return this.runtime.env}addFinalizer(e){if(this.closed)throw new Error("Trying to add finalizer to closed scope");this.finalizers.push(e);}subScope(){if(this.closed)throw new Error("Scope closed");let e=new n(this.runtime);return this.subScopes.add(e),e}fork(e){if(this.closed)throw new Error("Scope closed");let t=this.runtime.fork(e);return this.children.add(t),t.join(()=>{this.children.delete(t);}),t}close(e={_tag:"Success",value:void 0}){this.runtime.fork(this.closeAsync(e));}closeAsync(e={_tag:"Success",value:void 0},t={}){return A((r,o)=>{if(this.closed){o({_tag:"Success",value:void 0});return}this.closed=true;let a=Array.from(this.children),s=Array.from(this.subScopes);this.children.clear(),this.subScopes.clear();for(let l of a)try{l.interrupt();}catch{}let i=O();for(let l of s)i=p(i,()=>l.closeAsync(e,t));for(;this.finalizers.length>0;){let l=this.finalizers.pop();i=p(i,()=>ye(l(e)));}t.awaitChildren&&(i=p(i,()=>pe(a))),this.runtime.fork(i).join(()=>o({_tag:"Success",value:void 0}));})}};function Ye(n,e){let t=new F(n);try{return e(t)}finally{t.close();}}function et(n,e){return A((t,r)=>{let o=new F(n);o.fork(e(o)).join(s=>{try{o.close(s);}catch(i){r({_tag:"Failure",error:i});return}r(s);});})}function ot(n,e,t){return A((r,o)=>{let a=t.subScope(),s=false,i=h=>{s||(s=true,a.close(h),o(h));},c=a.fork(n),l=a.fork(e);c.join(i),l.join(i);})}function at(n,e,t){return A((r,o)=>{let a=t.subScope(),s=null,i=null,c=false,l=()=>{if(!s||!i||c)return;if(c=true,s._tag==="Success"&&i._tag==="Success"){a.close({_tag:"Success",value:void 0}),o({_tag:"Success",value:[s.value,i.value]});return}let u;if(s._tag==="Failure")u=s.error;else if(i._tag==="Failure")u=i.error;else throw new Error("zipPar: unreachable state (no Failure exit)");let v={_tag:"Failure",error:u};a.close(v),o(v);},h=a.fork(n),d=a.fork(e);h.join(u=>{s=u,l();}),d.join(u=>{i=u,l();});})}function it(n,e){return A((t,r)=>{let o=e.subScope(),a=new Array(n.length),s=0,i=false;n.forEach((c,l)=>{o.fork(c).join(d=>{if(!i){if(d._tag==="Failure"){i=true;let u={_tag:"Failure",error:d.error};o.close(u),r(u);return}if(a[l]=d.value,s++,s===n.length){i=true;let u={_tag:"Success",value:a};o.close({_tag:"Success",value:void 0}),r(u);}}});});})}function ee(n,e,t,r,o){return A((a,s)=>{let i=t.subScope(),c=false,l=i.fork(n),h=i.fork(e),d=u=>{i.fork(u).join(v=>{i.close(v),s(v);});};l.join(u=>{c||(c=true,d(r(u,h,i)));}),h.join(u=>{c||(c=true,d(o(u,l,i)));});})}var W=n=>n._tag==="None"?b:k(n.value),S=n=>({_tag:"FromPull",pull:n}),de=(n,e)=>({_tag:"Scoped",acquire:n,release:e}),gt=n=>({_tag:"Scoped",acquire:p(n,e=>E(e.stream)),release:e=>p(n,t=>t.release(e))}),St=(n,e,t=true)=>({_tag:"Merge",left:n,right:e,flip:t}),M=()=>({_tag:"Empty"}),ne=n=>({_tag:"Emit",value:n}),D=(n,e)=>({_tag:"Concat",left:n,right:e}),Q=n=>({_tag:"Flatten",stream:n});function te(n,e,t,r,o){return (a,s,i)=>{if(a._tag,a._tag,a._tag==="Success"){let[h,d]=a.value;s.interrupt();let u=S(n==="L"?z(d,t):z(e,d));return E([h,u])}let c=a.error;if(typeof c=="object"&&c!==null&&c._tag==="Interrupted")return m(c);let l=c;return l._tag==="None"?y(n==="L"?t:e):m(l)}}function z(n,e,t,r){return A((o,a)=>{let i=G(),c=new F(i),l=y(n),h=y(e),d=te("L",n,e),u=te("R",n,e),v=ee(l,h,c,d,u);c.fork(v).join($=>{c.close($),a($);});})}function vt(n,e){return S(z(n,e))}function y(n){switch(n._tag){case "Empty":return B(b);case "Emit":return w(j(n.value,e=>k(e)),e=>[e,M()]);case "FromPull":return n.pull;case "Concat":return q(w(y(n.left),([e,t])=>[e,D(t,n.right)]),()=>y(n.right));case "Flatten":return V(y(n.stream),([e,t])=>q(w(y(e),([r,o])=>[r,D(o,Q(t))]),()=>y(Q(t))));case "Merge":return z(n.left,n.right,n.flip);case "Scoped":return A((e,t)=>{let r=G(),o=new F(r);o.addFinalizer(a=>n.release(a)),o.fork(n.acquire).join(a=>{if(a._tag==="Failure"){o.close(a),t({_tag:"Failure",error:k(a.error)});return}let s=a.value;y(s)(e,c=>{o.close(c),t(c);});});})}}function Z(n,e){switch(n._tag){case "Empty":return M();case "Emit":return ne(w(n.value,e));case "FromPull":return S(w(n.pull,([t,r])=>[e(t),Z(r,e)]));case "Concat":return D(Z(n.left,e),Z(n.right,e));case "Flatten":{let t=Z(n.stream,r=>Z(r,e));return Q(t)}}}function xt(n,e){let t=r=>S(r>e?m(b):E([r,t(r+1)]));return t(n)}function Re(n,e){let t=R(x(y(n),r=>W(r)),r=>m(r),([r,o])=>R(x(y(e),a=>W(a)),a=>m(a),([a,s])=>E([[r,a],Re(o,s)])));return S(t)}function bt(n,e){let t=r=>R(x(y(r),o=>W(o)),o=>o._tag==="None"?E(void 0):m(o),([o,a])=>p(x(e(o),s=>k(s)),()=>t(a)));return R(t(n),r=>r._tag==="None"?E(void 0):m(r.value),()=>E(void 0))}function Ft(n){let e=M();for(let t=n.length-1;t>=0;t--){let r=ne(U(n[t]));e=D(r,e);}return e}function _t(n){let e=(t,r)=>R(y(t),o=>o._tag==="None"?U(r):B(o),([o,a])=>e(a,[...r,o]));return j(e(n,[]),t=>{if(t._tag==="Some")return t.value;throw new Error("unreachable: stream end handled as success")})}function he(n,e){let t=A((r,o)=>{n.read().then(({done:a,value:s})=>{if(a){o({_tag:"Failure",error:b});return}o({_tag:"Success",value:[s,S(t)]});}).catch(a=>{o({_tag:"Failure",error:k(e(a))});});});return S(t)}function kt(n,e){if(!n)return M();let t;return de(K(()=>(t=n.getReader(),he(t,e))),()=>_(()=>{try{t?.cancel();}catch{}}))}export{de as $,Ze as A,re as B,P as C,H as D,C as E,T as F,L as G,ce as H,I,He as J,Le as K,Ge as L,We as M,Qe as N,$e as O,Je as P,le as Q,G as R,F as S,Ye as T,et as U,ot as V,at as W,it as X,ee as Y,W as Z,S as _,R as a,gt as aa,me as b,St as ba,x as c,M as ca,O as d,ne as da,E as e,D as ea,m as f,Q as fa,_ as g,vt as ga,fe as h,y as ha,A as i,Z as ia,J as j,xt as ja,p as k,Re as ka,ge as l,bt as la,Se as m,Ft as ma,ve as n,_t as na,xe as o,kt as oa,be as p,b as q,k as r,U as s,B as t,K as u,w as v,V as w,j as x,Ie as y,q as z};
@@ -1 +0,0 @@
1
- 'use strict';function R(n,e,t){return {_tag:"Fold",first:n,onFailure:e,onSuccess:t}}function me(n,e){return R(n,t=>e(t),t=>E(t))}function x(n,e){return R(n,t=>m(e(t)),t=>E(t))}var O=()=>E(void 0),E=n=>({_tag:"Succeed",value:n}),m=n=>({_tag:"Fail",error:n}),_=n=>({_tag:"Sync",thunk:n}),fe=n=>_(()=>n()),A=n=>({_tag:"Async",register:n});function J(n,e){return p(n,t=>E(e(t)))}function p(n,e){return {_tag:"FlatMap",first:n,andThen:e}}function ge(n,e,t){return p(n,r=>(t.addFinalizer(o=>e(r,o)),E(r)))}function Se(n){return A(n)}var ve=n=>e=>{let t=e;return t.toPromise||(t.toPromise=r=>n(e,r),t.unsafeRunPromise=()=>n(e,{})),t},xe=(n,e)=>p(n,t=>E(e(t))),be=(n,e)=>p(n,t=>_(()=>e(t)));var b={_tag:"None"},k=n=>({_tag:"Some",value:n});var U=n=>E(n),B=n=>m(n),K=n=>_(e=>n(e)),w=(n,e)=>J(n,e),V=(n,e)=>p(n,t=>e(t)),j=(n,e)=>x(n,e),Ie=(n,e)=>R(n,t=>e(t),t=>E(t));function q(n,e){return R(n,t=>t._tag==="Some"?m(t):e(),t=>E(t))}var Ze=()=>B(b);var re=(r=>(r[r.Ok=0]="Ok",r[r.Grew=1]="Grew",r[r.Dropped=2]="Dropped",r))(re||{}),P=class{buf;head=0;tail=0;size_=0;maxCap;constructor(e=1024,t=e){let r=Math.max(2,this.nextPow2(e)),o=Math.max(r,this.nextPow2(t));this.buf=new Array(r),this.maxCap=o;}get length(){return this.size_}get capacity(){return this.buf.length}isEmpty(){return this.size_===0}push(e){return this.size_===this.buf.length?this.buf.length>=this.maxCap?2:(this.grow(),this.buf[this.tail]=e,this.tail=this.tail+1&this.buf.length-1,this.size_++,1):(this.buf[this.tail]=e,this.tail=this.tail+1&this.buf.length-1,this.size_++,0)}shift(){if(this.size_===0)return;let e=this.buf[this.head];return this.buf[this.head]=void 0,this.head=this.head+1&this.buf.length-1,this.size_--,e}clear(){this.buf.fill(void 0),this.head=0,this.tail=0,this.size_=0;}grow(){let e=this.buf,t=Math.min(e.length*2,this.maxCap),r=new Array(t);for(let o=0;o<this.size_;o++)r[o]=e[this.head+o&e.length-1];this.buf=r,this.head=0,this.tail=this.size_;}nextPow2(e){let t=1;for(;t<e;)t<<=1;return t}};var X=2048,Y=4096,oe=(()=>{if(typeof globalThis.setImmediate=="function")return n=>globalThis.setImmediate(n);if(typeof globalThis.MessageChannel=="function"){let n=new globalThis.MessageChannel,e=null;return n.port1.onmessage=()=>{let t=e;e=null,t?.();},t=>{e=t,n.port2.postMessage(0);}}return n=>setTimeout(n,0)})(),H=class{queue=new P(1024);flushing=false;scheduled=false;schedule(e,t="anonymous"){if(typeof e=="function"&&(this.queue.push({tag:t,task:e}),!this.flushing&&!this.scheduled)){this.scheduled=true;let r=this.queue.length>Y?"macro":"micro";this.requestFlush(r);}}requestFlush(e){e==="micro"?queueMicrotask(()=>this.flush()):oe(()=>this.flush());}flush(){if(this.flushing)return;this.flushing=true,this.scheduled=false;let e=0;try{for(;e<X;){let t=this.queue.shift();if(!t)break;e++;try{t.task();}catch(r){console.error(`[Scheduler] task threw (tag=${t.tag})`,r);}}}finally{if(this.flushing=false,this.queue.length>0&&!this.scheduled){this.scheduled=true;let t=e>=X||this.queue.length>Y?"macro":"micro";this.requestFlush(t);}}}},C=new H;var N=null,f={CONTINUE:"Continue",SUSPEND:"Suspend",DONE:"Done"},g={QUEUED:"Queued",RUNNING:"Running",SUSPENDED:"Suspended",DONE:"Done"},ae=1,ie=1024;function se(n){let e=n;for(;e._tag==="FlatMap"&&e.first._tag==="FlatMap";){let t=e.first,r=e.andThen;e={_tag:"FlatMap",first:t.first,andThen:o=>({_tag:"FlatMap",first:t.andThen(o),andThen:r})};}return e}var T=class{id;runtime;closing=null;finishing=false;runState=g.RUNNING;interrupted=false;result=null;joiners=[];current;stack=[];fiberFinalizers=[];finalizersDrained=false;constructor(e,t){this.id=ae++,this.runtime=e,this.current=t;}get env(){return this.runtime.env}get scheduler(){return this.runtime.scheduler}addFinalizer(e){this.fiberFinalizers.push(e);}status(){return this.result==null?"Running":this.interrupted?"Interrupted":"Done"}join(e){this.result!=null?e(this.result):this.joiners.push(e);}interrupt(){this.result==null&&(this.interrupted||(this.interrupted=true,this.schedule("interrupt-step")));}schedule(e="step"){this.runState===g.DONE||this.runState===g.QUEUED||(this.runState=g.QUEUED,this.scheduler.schedule(()=>{ce(this,()=>{if(this.runState===g.DONE)return;switch(this.runState=g.RUNNING,this.step()){case f.CONTINUE:this.schedule("continue");return;case f.SUSPEND:this.runState=g.SUSPENDED;return;case f.DONE:this.runState=g.DONE;return}});},`fiber#${this.id}.${e}`));}runFinalizersOnce(e){if(!this.finalizersDrained)for(this.finalizersDrained=true;this.fiberFinalizers.length>0;){let t=this.fiberFinalizers.pop();try{t(e);}catch{}}}notify(e){if(this.result==null&&this.closing==null){this.finishing=true,this.closing=e,this.runFinalizersOnce(e),this.result=e;for(let t of this.joiners)t(e);this.joiners.length=0;}}onSuccess(e){let t=this.stack.pop();if(!t){this.notify({_tag:"Success",value:e});return}this.current=t._tag==="SuccessCont"?t.k(e):t.onSuccess(e);}onFailure(e){for(;this.stack.length>0;){let t=this.stack.pop();if(t._tag==="FoldCont"){this.current=t.onFailure(e);return}}this.notify({_tag:"Failure",error:e});}step(){let e=ie;for(;e-- >0;){if(this.result!=null)return f.DONE;if(this.interrupted&&this.closing==null)return this.notify({_tag:"Failure",error:{_tag:"Interrupted"}}),f.DONE;let t=se(this.current);switch(t._tag){case "Succeed":{this.onSuccess(t.value);break}case "Fail":{this.onFailure(t.error);break}case "Sync":{try{let r=t.thunk(this.env);this.onSuccess(r);}catch(r){this.onFailure(r);}break}case "FlatMap":{this.stack.push({_tag:"SuccessCont",k:t.andThen}),this.current=t.first;break}case "Fold":{this.stack.push({_tag:"FoldCont",onFailure:t.onFailure,onSuccess:t.onSuccess}),this.current=t.first;break}case "Async":{if(this.finishing)return this.result!=null?f.DONE:f.CONTINUE;let r=false,o=s=>{r||(r=true,!(this.result!=null||this.closing!=null)&&(this.current=s._tag==="Success"?{_tag:"Succeed",value:s.value}:{_tag:"Fail",error:s.error},this.schedule("async-resume")));},a=t.register(this.env,o);return typeof a=="function"&&this.addFinalizer(()=>{r=true;try{a();}catch{}}),f.SUSPEND}}}return this.result!=null?f.DONE:f.CONTINUE}};function L(){return N}function ce(n,e){let t=N;N=n;try{return e()}finally{N=t;}}var ue={emit(){}},I=class n{env;scheduler;hooks;constructor(e){this.env=e.env,this.scheduler=e.scheduler??C,this.hooks=e.hooks??ue;}fork(e){let t=new T(this,e);return t.schedule("initial-step"),t}unsafeRunAsync(e,t){this.fork(e).join(t);}toPromise(e){return new Promise((t,r)=>{this.fork(e).join(a=>{let s=a;s._tag==="Success"?t(s.value):r(s.error);});})}log(e,t,r){this.emit({type:"log",level:e,message:t,fields:r});}withHooks(e){return new n({env:this.env,scheduler:this.scheduler,hooks:e})}emit(e){let t=L(),r={fiberId:t?.id,scopeId:t?.scope?.id,traceId:t?.fiberContext?.trace?.traceId,spanId:t?.fiberContext?.trace?.spanId};this.hooks.emit(e,r);}static make(e,t=C){return new n({env:e,scheduler:t})}};function He(n){return A((e,t)=>{let r=false,o=i=>{r||(r=true,t(i));},a=i=>o({_tag:"Failure",error:i instanceof Error?i:new Error(String(i))}),s=i=>o({_tag:"Success",value:i});try{typeof n=="function"&&n.length>=1?n((i,c)=>i?a(i):s(c)):n().then(s,a);}catch(i){a(i);}})}function Le(n,e,t=C){return new I({env:e,scheduler:t}).fork(n)}function Ge(n,e,t){return new I({env:e}).unsafeRunAsync(n,t)}function We(n,e){return new I({env:e}).toPromise(n)}function Qe(n,e){return A((t,r)=>{n(t).then(o=>r({_tag:"Success",value:o})).catch(o=>r({_tag:"Failure",error:e(o)}));})}function $e(n){return A((e,t)=>{let r=false,o=a=>{r||(r=true,t(a));};try{n((a,s)=>{o(a?{_tag:"Failure",error:a}:{_tag:"Success",value:s});});}catch(a){o({_tag:"Failure",error:a instanceof Error?a:new Error(String(a))});}})}function Je(n){return le((t,r)=>n.length===1?n(r):n(t,r),t=>Ae(t)?{_tag:"Abort"}:{_tag:"PromiseRejected",reason:t})}function le(n,e){return A((t,r)=>{let o=new AbortController,a=false,s=i=>{a||(a=true,r(i));};try{(n.length===1?n(o.signal):n(t,o.signal)).then(c=>s({_tag:"Success",value:c})).catch(c=>s({_tag:"Failure",error:e(c)}));}catch(i){s({_tag:"Failure",error:e(i)});}return ()=>{a=true,o.abort();}})}var Ae=n=>typeof n=="object"&&n!==null&&"name"in n&&n.name==="AbortError";function G(){let n=L();if(!n)throw new Error("No current runtime: est\xE1s llamando esto fuera de un fiber (fuera del runtime).");return n.runtime}var Ee=1;function pe(n){return A((e,t)=>{let r=n.length;if(r===0){t({_tag:"Success",value:void 0});return}for(let o of n)o.join(()=>{r-=1,r===0&&t({_tag:"Success",value:void 0});});})}function ye(n){return R(n,()=>O(),()=>O())}var F=class n{constructor(e){this.runtime=e;this.id=Ee++;}id;closed=false;children=new Set;subScopes=new Set;finalizers=[];get env(){return this.runtime.env}addFinalizer(e){if(this.closed)throw new Error("Trying to add finalizer to closed scope");this.finalizers.push(e);}subScope(){if(this.closed)throw new Error("Scope closed");let e=new n(this.runtime);return this.subScopes.add(e),e}fork(e){if(this.closed)throw new Error("Scope closed");let t=this.runtime.fork(e);return this.children.add(t),t.join(()=>{this.children.delete(t);}),t}close(e={_tag:"Success",value:void 0}){this.runtime.fork(this.closeAsync(e));}closeAsync(e={_tag:"Success",value:void 0},t={}){return A((r,o)=>{if(this.closed){o({_tag:"Success",value:void 0});return}this.closed=true;let a=Array.from(this.children),s=Array.from(this.subScopes);this.children.clear(),this.subScopes.clear();for(let l of a)try{l.interrupt();}catch{}let i=O();for(let l of s)i=p(i,()=>l.closeAsync(e,t));for(;this.finalizers.length>0;){let l=this.finalizers.pop();i=p(i,()=>ye(l(e)));}t.awaitChildren&&(i=p(i,()=>pe(a))),this.runtime.fork(i).join(()=>o({_tag:"Success",value:void 0}));})}};function Ye(n,e){let t=new F(n);try{return e(t)}finally{t.close();}}function et(n,e){return A((t,r)=>{let o=new F(n);o.fork(e(o)).join(s=>{try{o.close(s);}catch(i){r({_tag:"Failure",error:i});return}r(s);});})}function ot(n,e,t){return A((r,o)=>{let a=t.subScope(),s=false,i=h=>{s||(s=true,a.close(h),o(h));},c=a.fork(n),l=a.fork(e);c.join(i),l.join(i);})}function at(n,e,t){return A((r,o)=>{let a=t.subScope(),s=null,i=null,c=false,l=()=>{if(!s||!i||c)return;if(c=true,s._tag==="Success"&&i._tag==="Success"){a.close({_tag:"Success",value:void 0}),o({_tag:"Success",value:[s.value,i.value]});return}let u;if(s._tag==="Failure")u=s.error;else if(i._tag==="Failure")u=i.error;else throw new Error("zipPar: unreachable state (no Failure exit)");let v={_tag:"Failure",error:u};a.close(v),o(v);},h=a.fork(n),d=a.fork(e);h.join(u=>{s=u,l();}),d.join(u=>{i=u,l();});})}function it(n,e){return A((t,r)=>{let o=e.subScope(),a=new Array(n.length),s=0,i=false;n.forEach((c,l)=>{o.fork(c).join(d=>{if(!i){if(d._tag==="Failure"){i=true;let u={_tag:"Failure",error:d.error};o.close(u),r(u);return}if(a[l]=d.value,s++,s===n.length){i=true;let u={_tag:"Success",value:a};o.close({_tag:"Success",value:void 0}),r(u);}}});});})}function ee(n,e,t,r,o){return A((a,s)=>{let i=t.subScope(),c=false,l=i.fork(n),h=i.fork(e),d=u=>{i.fork(u).join(v=>{i.close(v),s(v);});};l.join(u=>{c||(c=true,d(r(u,h,i)));}),h.join(u=>{c||(c=true,d(o(u,l,i)));});})}var W=n=>n._tag==="None"?b:k(n.value),S=n=>({_tag:"FromPull",pull:n}),de=(n,e)=>({_tag:"Scoped",acquire:n,release:e}),gt=n=>({_tag:"Scoped",acquire:p(n,e=>E(e.stream)),release:e=>p(n,t=>t.release(e))}),St=(n,e,t=true)=>({_tag:"Merge",left:n,right:e,flip:t}),M=()=>({_tag:"Empty"}),ne=n=>({_tag:"Emit",value:n}),D=(n,e)=>({_tag:"Concat",left:n,right:e}),Q=n=>({_tag:"Flatten",stream:n});function te(n,e,t,r,o){return (a,s,i)=>{if(a._tag,a._tag,a._tag==="Success"){let[h,d]=a.value;s.interrupt();let u=S(n==="L"?z(d,t):z(e,d));return E([h,u])}let c=a.error;if(typeof c=="object"&&c!==null&&c._tag==="Interrupted")return m(c);let l=c;return l._tag==="None"?y(n==="L"?t:e):m(l)}}function z(n,e,t,r){return A((o,a)=>{let i=G(),c=new F(i),l=y(n),h=y(e),d=te("L",n,e),u=te("R",n,e),v=ee(l,h,c,d,u);c.fork(v).join($=>{c.close($),a($);});})}function vt(n,e){return S(z(n,e))}function y(n){switch(n._tag){case "Empty":return B(b);case "Emit":return w(j(n.value,e=>k(e)),e=>[e,M()]);case "FromPull":return n.pull;case "Concat":return q(w(y(n.left),([e,t])=>[e,D(t,n.right)]),()=>y(n.right));case "Flatten":return V(y(n.stream),([e,t])=>q(w(y(e),([r,o])=>[r,D(o,Q(t))]),()=>y(Q(t))));case "Merge":return z(n.left,n.right,n.flip);case "Scoped":return A((e,t)=>{let r=G(),o=new F(r);o.addFinalizer(a=>n.release(a)),o.fork(n.acquire).join(a=>{if(a._tag==="Failure"){o.close(a),t({_tag:"Failure",error:k(a.error)});return}let s=a.value;y(s)(e,c=>{o.close(c),t(c);});});})}}function Z(n,e){switch(n._tag){case "Empty":return M();case "Emit":return ne(w(n.value,e));case "FromPull":return S(w(n.pull,([t,r])=>[e(t),Z(r,e)]));case "Concat":return D(Z(n.left,e),Z(n.right,e));case "Flatten":{let t=Z(n.stream,r=>Z(r,e));return Q(t)}}}function xt(n,e){let t=r=>S(r>e?m(b):E([r,t(r+1)]));return t(n)}function Re(n,e){let t=R(x(y(n),r=>W(r)),r=>m(r),([r,o])=>R(x(y(e),a=>W(a)),a=>m(a),([a,s])=>E([[r,a],Re(o,s)])));return S(t)}function bt(n,e){let t=r=>R(x(y(r),o=>W(o)),o=>o._tag==="None"?E(void 0):m(o),([o,a])=>p(x(e(o),s=>k(s)),()=>t(a)));return R(t(n),r=>r._tag==="None"?E(void 0):m(r.value),()=>E(void 0))}function Ft(n){let e=M();for(let t=n.length-1;t>=0;t--){let r=ne(U(n[t]));e=D(r,e);}return e}function _t(n){let e=(t,r)=>R(y(t),o=>o._tag==="None"?U(r):B(o),([o,a])=>e(a,[...r,o]));return j(e(n,[]),t=>{if(t._tag==="Some")return t.value;throw new Error("unreachable: stream end handled as success")})}function he(n,e){let t=A((r,o)=>{n.read().then(({done:a,value:s})=>{if(a){o({_tag:"Failure",error:b});return}o({_tag:"Success",value:[s,S(t)]});}).catch(a=>{o({_tag:"Failure",error:k(e(a))});});});return S(t)}function kt(n,e){if(!n)return M();let t;return de(K(()=>(t=n.getReader(),he(t,e))),()=>_(()=>{try{t?.cancel();}catch{}}))}exports.$=de;exports.A=Ze;exports.B=re;exports.C=P;exports.D=H;exports.E=C;exports.F=T;exports.G=L;exports.H=ce;exports.I=I;exports.J=He;exports.K=Le;exports.L=Ge;exports.M=We;exports.N=Qe;exports.O=$e;exports.P=Je;exports.Q=le;exports.R=G;exports.S=F;exports.T=Ye;exports.U=et;exports.V=ot;exports.W=at;exports.X=it;exports.Y=ee;exports.Z=W;exports._=S;exports.a=R;exports.aa=gt;exports.b=me;exports.ba=St;exports.c=x;exports.ca=M;exports.d=O;exports.da=ne;exports.e=E;exports.ea=D;exports.f=m;exports.fa=Q;exports.g=_;exports.ga=vt;exports.h=fe;exports.ha=y;exports.i=A;exports.ia=Z;exports.j=J;exports.ja=xt;exports.k=p;exports.ka=Re;exports.l=ge;exports.la=bt;exports.m=Se;exports.ma=Ft;exports.n=ve;exports.na=_t;exports.o=xe;exports.oa=kt;exports.p=be;exports.q=b;exports.r=k;exports.s=U;exports.t=B;exports.u=K;exports.v=w;exports.w=V;exports.x=j;exports.y=Ie;exports.z=q;