brass-runtime 1.11.0 → 1.12.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.
package/README.md CHANGED
@@ -1,9 +1,11 @@
1
1
  # 🛠️ brass-runtime — Mini ZIO-like runtime in TypeScript
2
2
 
3
- A small experimental runtime inspired by **ZIO 2**, implemented in vanilla TypeScript and intentionally built without using `Promise` / `async`/`await` as the primary semantic primitive.
3
+ A small experimental runtime inspired by **ZIO 2**, implemented in vanilla TypeScript and intentionally built without using `Promise` / `async`/`await` as the **primary semantic primitive**.
4
4
 
5
- `brass-runtime` is the **foundation**: it provides the effect system, fibers, scheduler, scopes and streams.
6
- Higher-level modules (HTTP, streaming utilities, integrations) are built **on top of this runtime**, not baked into it.
5
+ `brass-runtime` is the foundation: it provides an effect system, fibers, scheduler, scopes, and streams.
6
+ Higher-level modules (HTTP, streaming utilities, integrations) are built **on top of the runtime**, not baked into it.
7
+
8
+ > You can still interop with the outside world (timers, fetch, Node APIs) via explicit, cancellable bridges such as `fromPromiseAbortable`.
7
9
 
8
10
  ---
9
11
 
@@ -19,44 +21,87 @@ If you like ZIO’s separation between `zio-core`, `zio-streams`, and `zio-http`
19
21
 
20
22
  ---
21
23
 
22
- ## Core concepts (this package)
24
+ ## Core concepts
23
25
 
24
- - Pure, sync core effect: `Effect<R, E, A>` and `Exit<E, A>`
26
+ - Sync core effect: `Effect<R, E, A>` and `Exit<E, A>`
25
27
  - Algebraic async representation: `Async<R, E, A>`
26
- - Cooperative `Scheduler` for deterministic execution
27
- - Lightweight `Fiber`s with interruption and finalizers
28
+ - Cooperative `Scheduler` (observable / testable)
29
+ - Lightweight `Fiber`s with interruption & finalizers
28
30
  - Structured `Scope`s for resource safety
29
31
  - ZStream-style streams with backpressure
30
32
 
31
33
  ---
32
34
 
35
+ ## Install
36
+
37
+ ```bash
38
+ npm i brass-runtime
39
+ ```
40
+
41
+ ---
42
+
43
+ ## Quick start
44
+
45
+ ### Run an effect
46
+
47
+ ```ts
48
+ import { succeed } from "brass-runtime";
49
+ import { Runtime, toPromise } from "brass-runtime/runtime";
50
+
51
+ const runtime = new Runtime({ env: {} });
52
+
53
+ const value = await toPromise(succeed(123), runtime.env);
54
+ console.log(value); // 123
55
+ ```
56
+
57
+ ### Structured concurrency with Scope
58
+
59
+ ```ts
60
+ import { withScope } from "brass-runtime/scope";
61
+ import { Runtime } from "brass-runtime/runtime";
62
+
63
+ const runtime = new Runtime({ env: {} });
64
+
65
+ withScope(runtime, (scope) => {
66
+ const f = scope.fork(/* Async effect */);
67
+ // later...
68
+ scope.close(); // interrupts child fibers + runs finalizers
69
+ });
70
+ ```
71
+
72
+ > `toPromise` is just a convenience bridge for examples/DX. The runtime semantics remain explicit.
73
+
74
+ ---
75
+
33
76
  ## Modules built on top of brass-runtime
34
77
 
35
- These are **optional layers**, implemented using the runtime primitives.
78
+ These are optional layers, implemented using the runtime primitives.
36
79
 
37
- ### 🌐 brass-http (HTTP client)
80
+ ### 🌐 HTTP client (brass-http layer)
38
81
 
39
82
  A ZIO-style HTTP client built on top of fibers and `Async`.
40
83
 
41
84
  - Lazy & cancelable HTTP requests
42
- - No Promise-based semantics
43
- - Explicit wire / content / metadata separation
85
+ - Explicit wire/content separation
44
86
  - Middleware-friendly (logging, retry, timeout, etc.)
45
87
  - Integrated with fiber interruption via `AbortController`
46
88
 
47
-
48
- 👉 [**Read the HTTP module docs:** ](./docs/http.md)
89
+ 👉 **Docs:** [HTTP module](./docs/http.md)
49
90
 
50
91
  Example:
92
+
51
93
  ```ts
52
- const http = httpClient({
53
- baseUrl: "https://jsonplaceholder.typicode.com",
54
- });
94
+ import { httpClientStream } from "brass-runtime/http";
95
+ import { toPromise, Runtime } from "brass-runtime/runtime";
96
+
97
+ type Post = { id: number; title: string; body: string };
98
+
99
+ const runtime = new Runtime({ env: {} });
100
+
101
+ const client = httpClientStream({ baseUrl: "https://jsonplaceholder.typicode.com" });
55
102
 
56
- const post = await toPromise(
57
- http.getJson<Post>("/posts/1"),
58
- {}
59
- );
103
+ const res = await toPromise(client.getJson<Post>("/posts/1"), runtime.env);
104
+ console.log(res.status, res.value.title);
60
105
  ```
61
106
 
62
107
  ---
@@ -76,10 +121,14 @@ Examples:
76
121
 
77
122
  ---
78
123
 
79
- ## Getting Started
124
+ ## Docs
80
125
 
81
- 👉 **Start here:**
82
- ➡️ [Getting Started](./docs/getting-started.md)
126
+ - [Getting Started](./docs/getting-started.md)
127
+ - [Architecture](./docs/ARCHITECTURE.md)
128
+ - [Cancellation & Interruption](./docs/cancellation.md)
129
+ - [Observability: Hooks & Tracing](./docs/observability.md)
130
+ - [HTTP module](./docs/http.md)
131
+ - [Modules overview](./docs/modules.md)
83
132
 
84
133
  ---
85
134
 
@@ -88,7 +137,7 @@ Examples:
88
137
  - Stream buffering with backpressure (`buffer`)
89
138
  - Abortable async integration (`fromPromiseAbortable`)
90
139
  - Fiber-safe `toPromise` for examples & DX
91
- - New HTTP module (`brass-http`) built on top of the runtime
140
+ - HTTP client module built on top of the runtime
92
141
 
93
142
  ---
94
143
 
@@ -111,7 +160,7 @@ Examples:
111
160
  - [x] Pipelines (`ZPipeline`-style)
112
161
 
113
162
  ### Libraries
114
- - [x] HTTP client (`brass-http`)
163
+ - [x] HTTP client
115
164
  - [ ] Retry / timeout middleware
116
165
  - [ ] Logging / metrics layers
117
166
 
@@ -130,7 +179,7 @@ Examples:
130
179
 
131
180
  - Runtime invariants matter — avoid sneaking Promises into semantics
132
181
  - Prefer libraries on top of the runtime over changes in the core
133
- - Small, focused PRs are welcome
182
+ - Small, focused PRs are welcome (your repo may enforce PR-only changes)
134
183
 
135
184
  ---
136
185
 
@@ -0,0 +1 @@
1
+ 'use strict';var W={succeed:t=>({_tag:"Succeed",value:t}),fail:t=>({_tag:"Fail",error:t}),sync:t=>({_tag:"Sync",thunk:t}),async:t=>({_tag:"Async",register:t})};function m(t,e,n){return {_tag:"Fold",first:t,onFailure:e,onSuccess:n}}function Oe(t,e){return m(t,n=>e(n),n=>A(n))}function O(t,e){return m(t,n=>S(e(n)),n=>A(n))}var k=()=>A(void 0),A=t=>({_tag:"Succeed",value:t}),S=t=>({_tag:"Fail",error:t}),N=t=>({_tag:"Sync",thunk:t}),Ce=t=>N(()=>t()),d=t=>({_tag:"Async",register:t});function Y(t,e){return h(t,n=>A(e(n)))}function h(t,e){return {_tag:"FlatMap",first:t,andThen:e}}function we(t,e,n){return h(t,r=>(n.addFinalizer(a=>e(r,a)),A(r)))}function Ze(t){return d(t)}var Ne=t=>e=>{let n=e;return n.toPromise||(n.toPromise=r=>t(e,r),n.unsafeRunPromise=()=>t(e,{})),n},Be=(t,e)=>h(t,n=>A(e(n))),Te=(t,e)=>h(t,n=>N(()=>e(n)));var C={_tag:"None"},w=t=>({_tag:"Some",value:t});var g={fail:t=>({_tag:"Fail",error:t}),interrupt:()=>({_tag:"Interrupt"}),die:t=>({_tag:"Die",defect:t})},R={succeed:t=>({_tag:"Success",value:t}),failCause:t=>({_tag:"Failure",cause:t})},G=t=>A(t),U=t=>S(t),ee=t=>N(e=>t(e)),I=(t,e)=>Y(t,e),te=(t,e)=>h(t,n=>e(n)),L=(t,e)=>O(t,e),ze=(t,e)=>m(t,n=>e(n),n=>A(n));function J(t,e){return m(t,n=>n._tag==="Some"?S(n):e(),n=>A(n))}var je=()=>U(C);var de=(r=>(r[r.Ok=0]="Ok",r[r.Grew=1]="Grew",r[r.Dropped=2]="Dropped",r))(de||{}),M=class{buf;head=0;tail=0;size_=0;maxCap;constructor(e=1024,n=e){let r=Math.max(2,this.nextPow2(e)),a=Math.max(r,this.nextPow2(n));this.buf=new Array(r),this.maxCap=a;}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 a=0;a<this.size_;a++)r[a]=e[this.head+a&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 ne=2048,re=4096,pe=(()=>{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)})(),$=class{queue=new M(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>re?"macro":"micro";this.requestFlush(r);}}requestFlush(e){e==="micro"?queueMicrotask(()=>this.flush()):pe(()=>this.flush());}flush(){if(this.flushing)return;this.flushing=true,this.scheduled=false;let e=0;try{for(;e<ne;){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>=ne||this.queue.length>re?"macro":"micro";this.requestFlush(n);}}}},T=new $;var ae={parent:null,patch:Object.create(null)};function se(t,e){let n=Ae(t);return {initChild(r,a,s){let i=a?.fiberContext,o=Re(n,i?.trace??null);r.fiberContext={log:i?.log??ae,trace:o},r.parentFiberId=a?.id,r.name=n.childName(a?.name),s!==void 0&&(r.scopeId=s),e.emit({type:"fiber.start",fiberId:r.id,parentFiberId:a?.id,scopeId:r.scopeId,name:r.name},{fiberId:a?.id,traceId:i?.trace?.traceId,spanId:i?.trace?.spanId});}}}function Ae(t){let e={newTraceId:()=>crypto.randomUUID(),newSpanId:()=>crypto.randomUUID()},n=t?.brass,r=n?.tracer??e,a=n?.traceSeed,s=n?.childName??(i=>i?`${i}/child`:void 0);return {tracer:r,seed:a,childName:s}}function Re(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 fe={emit(){}},P=class t{env;scheduler;hooks;forkPolicy;registry;constructor(e){this.env=e.env,this.scheduler=e.scheduler??T,this.hooks=e.hooks??fe,this.forkPolicy=se(this.env,this.hooks);}provide(e){return new t({env:Object.assign({},this.env,e),scheduler:this.scheduler,hooks:this.hooks})}emit(e){let n=b(),r={fiberId:n?.id,scopeId:n?.scopeId,traceId:n?.fiberContext?.trace?.traceId,spanId:n?.fiberContext?.trace?.spanId};this.hooks.emit(e,r);}fork(e,n){let r=b(),a=new z(this,e);return n!==void 0&&(a.scopeId=n),this.forkPolicy.initChild(a,r,n),a.schedule("initial-step"),a}unsafeRunAsync(e,n){this.fork(e).join(n);}toPromise(e){return new Promise((n,r)=>{this.fork(e).join(s=>{if(s._tag==="Success")n(s.value);else {let i=s.cause;i?._tag==="Fail"?r(i.error):r(new Error("Interrupted"));}});})}unsafeRun(e){this.unsafeRunAsync(e,()=>{});}delay(e,n){return d((r,a)=>{let s=setTimeout(()=>{this.unsafeRunAsync(n,a);},e);return ()=>clearTimeout(s)})}static make(e,n=T){return new t({env:e,scheduler:n})}log(e,n,r){this.emit({type:"log",level:e,message:n,fields:r});}};function rt(t,e){return P.make(e??{}).fork(t)}function Q(t,e,n){P.make(e??{}).unsafeRunAsync(t,n);}function at(t,e){return P.make(e??{}).toPromise(t)}function st(t,e){return {_tag:"Async",register:(n,r)=>{let a=new AbortController,s=false;return t(a.signal,n).then(i=>{s||(s=true,r(R.succeed(i)));}).catch(i=>{s||(s=true,r(R.failCause(g.fail(e(i)))));}),()=>{s||(s=true,a.abort(),r(R.failCause(g.interrupt())));}}}}function ie(t,e,n,r){Q(t,e,a=>{a._tag==="Failure"?n(a.cause):r(a.value);});}var j=null,v={CONTINUE:"Continue",SUSPEND:"Suspend",DONE:"Done"},F={QUEUED:"Queued",RUNNING:"Running",SUSPENDED:"Suspended",DONE:"Done"},he=1,oe=1024;function me(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:a=>({_tag:"FlatMap",first:n.andThen(a),andThen:r})};}return e}var z=class{id;runtime;closing=null;finishing=false;runState=F.RUNNING;interrupted=false;result=null;joiners=[];current;stack=[];fiberFinalizers=[];finalizersDrained=false;fiberContext;name;scopeId;constructor(e,n){this.id=he++,this.runtime=e,this.current=n;}get env(){return this.runtime.env}get scheduler(){return this.runtime.scheduler??T}emit(e){this.runtime.hooks.emit(e,{fiberId:this.id,scopeId:this.scopeId,traceId:this.fiberContext?.trace?.traceId,spanId:this.fiberContext?.trace?.spanId});}addFinalizer(e){this.fiberFinalizers.push(e);}status(){return this.result==null?"Running":this.result._tag==="Failure"&&this.result.cause._tag==="Interrupt"?"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===F.DONE||this.runState===F.QUEUED||(this.runState===F.SUSPENDED&&this.emit({type:"fiber.resume",fiberId:this.id}),this.runState=F.QUEUED,this.scheduler.schedule(()=>{ge(this,()=>{if(this.runState===F.DONE)return;switch(this.runState=F.RUNNING,this.step()){case v.CONTINUE:this.schedule("continue");return;case v.SUSPEND:this.runState=F.SUSPENDED,this.emit({type:"fiber.suspend",fiberId:this.id});return;case v.DONE:this.runState=F.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{let r=n(e);r&&typeof r=="object"&&"_tag"in r&&Q(r,this.env,()=>{});}catch{}}}notify(e){if(this.result!=null||this.closing!=null)return;this.finishing=true,this.closing=e,this.runFinalizersOnce(e),this.result=e;let n=e._tag==="Success"?"success":e.cause._tag==="Interrupt"?"interrupted":"failure";this.emit({type:"fiber.end",fiberId:this.id,status:n,error:e._tag==="Failure"?e.cause:void 0});for(let r of this.joiners)r(e);this.joiners.length=0;}onSuccess(e){let n=this.stack.pop();if(!n){this.notify(R.succeed(e));return}if(n._tag==="SuccessCont"){try{this.current=n.k(e);}catch(r){this.notify(R.failCause(g.die(r)));}return}try{this.current=n.onSuccess(e);}catch(r){this.notify(R.failCause(g.die(r)));}}onFailure(e){for(;this.stack.length>0;){let n=this.stack.pop();if(n._tag==="FoldCont")try{this.current=n.onFailure(e);return}catch(r){e=r;continue}}this.notify(R.failCause(g.fail(e)));}budget=oe;step(){if(this.result!=null)return v.DONE;if(this.interrupted)return this.notify(R.failCause(g.interrupt())),v.DONE;for(this.budget=oe;this.budget-- >0;){this.current=me(this.current);let e=this.current;switch(e._tag){case "Succeed":{this.onSuccess(e.value);break}case "Fail":{this.onFailure(e.error);break}case "FlatMap":{this.stack.push({_tag:"SuccessCont",k:e.andThen}),this.current=e.first;break}case "Fold":{this.stack.push({_tag:"FoldCont",onFailure:e.onFailure,onSuccess:e.onSuccess}),this.current=e.first;break}case "Async":{if(this.finishing)return this.result!=null?v.DONE:v.CONTINUE;let n=false,r=s=>{if(n||(n=true,this.result!=null||this.closing!=null))return;if(s._tag==="Success"){this.current=W.succeed(s.value),this.schedule("async-resume");return}let i=s.cause;if(i._tag==="Interrupt"){this.notify(R.failCause(g.interrupt()));return}if(i._tag==="Fail"){this.current=W.fail(i.error),this.schedule("async-resume");return}this.notify(R.failCause(g.die(i.defect)));},a=e.register(this.env,r);return typeof a=="function"&&this.addFinalizer(()=>{n=true;try{a();}catch{}}),v.SUSPEND}case "Fork":{let n=this.runtime.fork(e.effect,e.scopeId);this.onSuccess(n);break}case "Sync":{try{let n=e.thunk(this.env);this.onSuccess(n);}catch(n){this.onFailure(n);}break}default:return this.onFailure(new Error(`Unknown opcode: ${e._tag}`)),v.CONTINUE}if(this.result!=null)return v.DONE}return v.CONTINUE}};function b(){return j}function B(){let t=b();if(!t?.runtime)throw new Error("unsafeGetCurrentRuntime: no current fiber/runtime");return t.runtime}function ge(t,e){let n=j;j=t;try{return e()}finally{j=n;}}var Se=1;function ve(t){return d((e,n)=>{let r=t.length;if(r===0){n({_tag:"Success",value:void 0});return}for(let a of t)a.join(()=>{r-=1,r===0&&n({_tag:"Success",value:void 0});});})}var Z=class t{constructor(e,n){this.runtime=e;this.parentScopeId=n;this.id=Se++;let r=this.parentScopeId??b()?.scopeId;this.runtime.emit({type:"scope.open",scopeId:this.id,parentScopeId:r});}id;closed=false;children=new Set;subScopes=new Set;finalizers=[];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,this.id);return this.subScopes.add(e),e}fork(e){if(this.closed)throw new Error("Scope closed");let n=this.runtime.fork(e,this.id);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={awaitChildren:true}){return h(k(),()=>d((r,a)=>{if(this.closed){a({_tag:"Success",value:void 0});return}this.closed=true;let s=Array.from(this.children),o=Array.from(this.subScopes).reduceRight((y,u)=>h(y,()=>u.closeAsync(e,n)),k()),c=this.finalizers.reduceRight((y,u)=>h(y,()=>m(u(e),()=>k(),()=>k())),k()),l=n.awaitChildren?ve(s):k(),E=h(o,()=>h(l,()=>c));this.runtime.fork(E).join(()=>{let y=e._tag==="Success"?"success":e.cause._tag==="Interrupt"?"interrupted":"failure";this.runtime.emit({type:"scope.close",scopeId:this.id,status:y,error:e._tag==="Failure"&&e.cause._tag==="Fail"?e.cause.error:void 0}),a({_tag:"Success",value:void 0});});}))}};function xe(t,e){return d((n,r)=>{let a=new Z(t);t.fork(e(a)).join(s=>{t.fork(a.closeAsync(s)),r(s);});})}function ht(t,e){return xe(t,n=>{let r=e(n);return r&&typeof r=="object"&&"_tag"in r?r:k()})}function vt(t,e,n){return d((r,a)=>{let s=n.subScope(),i=false,o=E=>{i||(i=true,s.close(E),a(E));},c=s.fork(t),l=s.fork(e);c.join(o),l.join(o);})}function xt(t,e,n){return d((r,a)=>{let s=n.subScope(),i=null,o=null,c=false,l=()=>{if(!i||!o||c)return;if(c=true,i._tag==="Success"&&o._tag==="Success"){s.close({_tag:"Success",value:void 0}),a({_tag:"Success",value:[i.value,o.value]});return}let u;if(i._tag==="Failure")u=i.cause;else if(o._tag==="Failure")u=o.cause;else throw new Error("zipPar: unreachable state (no Failure exit)");let p={_tag:"Failure",cause:u};s.close(p),a(p);},E=s.fork(t),y=s.fork(e);E.join(u=>{i=u,l();}),y.join(u=>{o=u,l();});})}function bt(t,e){return d((n,r)=>{let a=e.subScope(),s=new Array(t.length),i=0,o=false;t.forEach((c,l)=>{a.fork(c).join(y=>{if(!o){if(y._tag==="Failure"){o=true;let u={_tag:"Failure",cause:y.cause};a.close(u),r(u);return}if(s[l]=y.value,i++,i===t.length){o=true;let u={_tag:"Success",value:s};a.close({_tag:"Success",value:void 0}),r(u);}}});});})}function ce(t,e,n,r,a){return d((s,i)=>{let o=n.subScope(),c=false,l=o.fork(t),E=o.fork(e),y=u=>{o.fork(u).join(p=>{o.close(p),i(p);});};l.join(u=>{c||(c=true,y(r(u,E,o)));}),E.join(u=>{c||(c=true,y(a(u,l,o)));});})}var K=t=>t._tag==="None"?C:w(t.value),x=t=>({_tag:"FromPull",pull:t}),le=(t,e)=>({_tag:"Scoped",acquire:t,release:e}),be=t=>({_tag:"Managed",acquire:t}),Fe=(t,e,n=true)=>({_tag:"Merge",left:t,right:e,flip:n}),V=()=>({_tag:"Empty"}),Ee=t=>({_tag:"Emit",value:t}),q=(t,e)=>({_tag:"Concat",left:t,right:e}),X=t=>({_tag:"Flatten",stream:t});function ue(t,e,n,r,a){return (s,i,o)=>{if(s._tag,s._tag,s._tag==="Success"){let[l,E]=s.value;i.interrupt();let y=x(t==="L"?H(E,n):H(e,E));return A([l,y])}if(s.cause._tag==="Interrupt")return d((l,E)=>{E(R.failCause(g.interrupt()));});let c=s.cause.error;return c._tag==="None"?f(t==="L"?n:e):S(c)}}function H(t,e,n,r){return d((a,s)=>{let o=B(),c=new Z(o),l=f(t),E=f(e),y=ue("L",t,e),u=ue("R",t,e),p=ce(l,E,c,y,u);c.fork(p).join(D=>{c.close(D),s(D);});})}function Dt(t,e){return x(H(t,e))}function f(t){switch(t._tag){case "Empty":return U(C);case "Emit":return I(L(t.value,e=>w(e)),e=>[e,V()]);case "FromPull":return t.pull;case "Concat":return J(I(f(t.left),([e,n])=>[e,q(n,t.right)]),()=>f(t.right));case "Flatten":return te(f(t.stream),([e,n])=>J(I(f(e),([r,a])=>[r,q(a,X(n))]),()=>f(X(n))));case "Merge":return H(t.left,t.right,t.flip);case "Scoped":return d((e,n)=>{let r=B(),a=new Z(r);b()?.addFinalizer(c=>{try{a.close(c);}catch{}});let i=c=>{if(c._tag==="Failure"){let l=c.cause.error;if(l&&typeof l=="object"&&l._tag==="None"){a.close({_tag:"Success",value:void 0});return}}a.close(c);},o=c=>x(d((l,E)=>{let y=f(c);ie(y,l,u=>{let p=R.failCause(u);i(p),E(p);},([u,p])=>{E(R.succeed([u,o(p)]));});}));a.fork(t.acquire).join(c=>{if(c._tag==="Failure"){i(c),n({_tag:"Failure",cause:{_tag:"Fail",error:w(c.cause.error)}});return}a.addFinalizer(E=>t.release(E));let l=c.value;B().fork(f(o(l))).join(n);});});case "Managed":return d((e,n)=>{let r=B(),a=new Z(r);b()?.addFinalizer(i=>{try{a.close(i);}catch{}});let s=i=>{if(i._tag==="Failure"){let o=i.cause.error;if(o&&typeof o=="object"&&o._tag==="None"){a.close({_tag:"Success",value:void 0});return}}a.close(i);};a.fork(t.acquire).join(i=>{if(i._tag==="Failure"){a.close(i),n({_tag:"Failure",cause:{_tag:"Fail",error:w(i.cause.error)}});return}let{stream:o,release:c}=i.value;a.addFinalizer(E=>c(E));let l=E=>x(d((y,u)=>{f(E)(y,p=>{if(p._tag==="Failure"){s(p),u(p);return}let[D,ye]=p.value;u(R.succeed([D,l(ye)]));});}));B().fork(f(l(o))).join(n);});})}}function _e(t,e){throw new Error(e??`Unexpected value: ${String(t)}`)}function _(t,e){switch(t._tag){case "Empty":return V();case "Emit":return Ee(I(t.value,e));case "FromPull":return x(I(t.pull,([n,r])=>[e(n),_(r,e)]));case "Concat":return q(_(t.left,e),_(t.right,e));case "Flatten":{let n=_(t.stream,r=>_(r,e));return X(n)}case "Merge":return Fe(_(t.left,e),_(t.right,e),t.flip);case "Scoped":return le(I(t.acquire,n=>_(n,e)),t.release);case "Managed":return be(I(t.acquire,({stream:n,release:r})=>({stream:_(n,e),release:r})));default:return _e(t)}}function Ut(t,e){let n=r=>x(r>e?S(C):A([r,n(r+1)]));return n(t)}function ke(t,e){let n=m(O(f(t),r=>K(r)),r=>S(r),([r,a])=>m(O(f(e),s=>K(s)),s=>S(s),([s,i])=>A([[r,s],ke(a,i)])));return x(n)}function Mt(t,e){let n=r=>m(O(f(r),a=>K(a)),a=>a._tag==="None"?A(void 0):S(a),([a,s])=>h(O(e(a),i=>w(i)),()=>n(s)));return m(n(t),r=>r._tag==="None"?A(void 0):S(r.value),()=>A(void 0))}function zt(t){let e=V();for(let n=t.length-1;n>=0;n--){let r=Ee(G(t[n]));e=q(r,e);}return e}function jt(t){let e=(n,r)=>m(f(n),a=>a._tag==="None"?G(r):U(a),([a,s])=>e(s,[...r,a]));return L(e(t,[]),n=>{if(n._tag==="Some")return n.value;throw new Error("unreachable: stream end handled as success")})}function Ie(t,e){let n=d((r,a)=>{t.read().then(({done:s,value:i})=>{if(s){a({_tag:"Failure",cause:{_tag:"Fail",error:C}});return}a({_tag:"Success",value:[i,x(n)]});}).catch(s=>{a({_tag:"Failure",cause:{_tag:"Fail",error:w(e(s))}});});});return x(n)}function qt(t,e){if(!t)return V();let n;return le(ee(()=>(n=t.getReader(),Ie(n,e))),()=>N(()=>{try{n?.cancel();}catch{}}))}exports.$=le;exports.A=L;exports.B=ze;exports.C=J;exports.D=je;exports.E=de;exports.F=M;exports.G=$;exports.H=T;exports.I=z;exports.J=b;exports.K=B;exports.L=ge;exports.M=P;exports.N=rt;exports.O=Q;exports.P=at;exports.Q=st;exports.R=ie;exports.S=Z;exports.T=xe;exports.U=ht;exports.V=vt;exports.W=xt;exports.X=bt;exports.Y=ce;exports.Z=K;exports._=x;exports.a=W;exports.aa=be;exports.b=m;exports.ba=Fe;exports.c=Oe;exports.ca=V;exports.d=O;exports.da=Ee;exports.e=k;exports.ea=q;exports.f=A;exports.fa=X;exports.g=S;exports.ga=Dt;exports.h=N;exports.ha=f;exports.i=Ce;exports.ia=_e;exports.j=d;exports.ja=_;exports.k=Y;exports.ka=Ut;exports.l=h;exports.la=ke;exports.m=we;exports.ma=Mt;exports.n=Ze;exports.na=zt;exports.o=Ne;exports.oa=jt;exports.p=Be;exports.pa=qt;exports.q=Te;exports.r=C;exports.s=w;exports.t=g;exports.u=R;exports.v=G;exports.w=U;exports.x=ee;exports.y=I;exports.z=te;
@@ -0,0 +1 @@
1
+ var W={succeed:t=>({_tag:"Succeed",value:t}),fail:t=>({_tag:"Fail",error:t}),sync:t=>({_tag:"Sync",thunk:t}),async:t=>({_tag:"Async",register:t})};function m(t,e,n){return {_tag:"Fold",first:t,onFailure:e,onSuccess:n}}function Oe(t,e){return m(t,n=>e(n),n=>A(n))}function O(t,e){return m(t,n=>S(e(n)),n=>A(n))}var k=()=>A(void 0),A=t=>({_tag:"Succeed",value:t}),S=t=>({_tag:"Fail",error:t}),N=t=>({_tag:"Sync",thunk:t}),Ce=t=>N(()=>t()),d=t=>({_tag:"Async",register:t});function Y(t,e){return h(t,n=>A(e(n)))}function h(t,e){return {_tag:"FlatMap",first:t,andThen:e}}function we(t,e,n){return h(t,r=>(n.addFinalizer(a=>e(r,a)),A(r)))}function Ze(t){return d(t)}var Ne=t=>e=>{let n=e;return n.toPromise||(n.toPromise=r=>t(e,r),n.unsafeRunPromise=()=>t(e,{})),n},Be=(t,e)=>h(t,n=>A(e(n))),Te=(t,e)=>h(t,n=>N(()=>e(n)));var C={_tag:"None"},w=t=>({_tag:"Some",value:t});var g={fail:t=>({_tag:"Fail",error:t}),interrupt:()=>({_tag:"Interrupt"}),die:t=>({_tag:"Die",defect:t})},R={succeed:t=>({_tag:"Success",value:t}),failCause:t=>({_tag:"Failure",cause:t})},G=t=>A(t),U=t=>S(t),ee=t=>N(e=>t(e)),I=(t,e)=>Y(t,e),te=(t,e)=>h(t,n=>e(n)),L=(t,e)=>O(t,e),ze=(t,e)=>m(t,n=>e(n),n=>A(n));function J(t,e){return m(t,n=>n._tag==="Some"?S(n):e(),n=>A(n))}var je=()=>U(C);var de=(r=>(r[r.Ok=0]="Ok",r[r.Grew=1]="Grew",r[r.Dropped=2]="Dropped",r))(de||{}),M=class{buf;head=0;tail=0;size_=0;maxCap;constructor(e=1024,n=e){let r=Math.max(2,this.nextPow2(e)),a=Math.max(r,this.nextPow2(n));this.buf=new Array(r),this.maxCap=a;}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 a=0;a<this.size_;a++)r[a]=e[this.head+a&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 ne=2048,re=4096,pe=(()=>{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)})(),$=class{queue=new M(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>re?"macro":"micro";this.requestFlush(r);}}requestFlush(e){e==="micro"?queueMicrotask(()=>this.flush()):pe(()=>this.flush());}flush(){if(this.flushing)return;this.flushing=true,this.scheduled=false;let e=0;try{for(;e<ne;){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>=ne||this.queue.length>re?"macro":"micro";this.requestFlush(n);}}}},T=new $;var ae={parent:null,patch:Object.create(null)};function se(t,e){let n=Ae(t);return {initChild(r,a,s){let i=a?.fiberContext,o=Re(n,i?.trace??null);r.fiberContext={log:i?.log??ae,trace:o},r.parentFiberId=a?.id,r.name=n.childName(a?.name),s!==void 0&&(r.scopeId=s),e.emit({type:"fiber.start",fiberId:r.id,parentFiberId:a?.id,scopeId:r.scopeId,name:r.name},{fiberId:a?.id,traceId:i?.trace?.traceId,spanId:i?.trace?.spanId});}}}function Ae(t){let e={newTraceId:()=>crypto.randomUUID(),newSpanId:()=>crypto.randomUUID()},n=t?.brass,r=n?.tracer??e,a=n?.traceSeed,s=n?.childName??(i=>i?`${i}/child`:void 0);return {tracer:r,seed:a,childName:s}}function Re(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 fe={emit(){}},P=class t{env;scheduler;hooks;forkPolicy;registry;constructor(e){this.env=e.env,this.scheduler=e.scheduler??T,this.hooks=e.hooks??fe,this.forkPolicy=se(this.env,this.hooks);}provide(e){return new t({env:Object.assign({},this.env,e),scheduler:this.scheduler,hooks:this.hooks})}emit(e){let n=b(),r={fiberId:n?.id,scopeId:n?.scopeId,traceId:n?.fiberContext?.trace?.traceId,spanId:n?.fiberContext?.trace?.spanId};this.hooks.emit(e,r);}fork(e,n){let r=b(),a=new z(this,e);return n!==void 0&&(a.scopeId=n),this.forkPolicy.initChild(a,r,n),a.schedule("initial-step"),a}unsafeRunAsync(e,n){this.fork(e).join(n);}toPromise(e){return new Promise((n,r)=>{this.fork(e).join(s=>{if(s._tag==="Success")n(s.value);else {let i=s.cause;i?._tag==="Fail"?r(i.error):r(new Error("Interrupted"));}});})}unsafeRun(e){this.unsafeRunAsync(e,()=>{});}delay(e,n){return d((r,a)=>{let s=setTimeout(()=>{this.unsafeRunAsync(n,a);},e);return ()=>clearTimeout(s)})}static make(e,n=T){return new t({env:e,scheduler:n})}log(e,n,r){this.emit({type:"log",level:e,message:n,fields:r});}};function rt(t,e){return P.make(e??{}).fork(t)}function Q(t,e,n){P.make(e??{}).unsafeRunAsync(t,n);}function at(t,e){return P.make(e??{}).toPromise(t)}function st(t,e){return {_tag:"Async",register:(n,r)=>{let a=new AbortController,s=false;return t(a.signal,n).then(i=>{s||(s=true,r(R.succeed(i)));}).catch(i=>{s||(s=true,r(R.failCause(g.fail(e(i)))));}),()=>{s||(s=true,a.abort(),r(R.failCause(g.interrupt())));}}}}function ie(t,e,n,r){Q(t,e,a=>{a._tag==="Failure"?n(a.cause):r(a.value);});}var j=null,v={CONTINUE:"Continue",SUSPEND:"Suspend",DONE:"Done"},F={QUEUED:"Queued",RUNNING:"Running",SUSPENDED:"Suspended",DONE:"Done"},he=1,oe=1024;function me(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:a=>({_tag:"FlatMap",first:n.andThen(a),andThen:r})};}return e}var z=class{id;runtime;closing=null;finishing=false;runState=F.RUNNING;interrupted=false;result=null;joiners=[];current;stack=[];fiberFinalizers=[];finalizersDrained=false;fiberContext;name;scopeId;constructor(e,n){this.id=he++,this.runtime=e,this.current=n;}get env(){return this.runtime.env}get scheduler(){return this.runtime.scheduler??T}emit(e){this.runtime.hooks.emit(e,{fiberId:this.id,scopeId:this.scopeId,traceId:this.fiberContext?.trace?.traceId,spanId:this.fiberContext?.trace?.spanId});}addFinalizer(e){this.fiberFinalizers.push(e);}status(){return this.result==null?"Running":this.result._tag==="Failure"&&this.result.cause._tag==="Interrupt"?"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===F.DONE||this.runState===F.QUEUED||(this.runState===F.SUSPENDED&&this.emit({type:"fiber.resume",fiberId:this.id}),this.runState=F.QUEUED,this.scheduler.schedule(()=>{ge(this,()=>{if(this.runState===F.DONE)return;switch(this.runState=F.RUNNING,this.step()){case v.CONTINUE:this.schedule("continue");return;case v.SUSPEND:this.runState=F.SUSPENDED,this.emit({type:"fiber.suspend",fiberId:this.id});return;case v.DONE:this.runState=F.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{let r=n(e);r&&typeof r=="object"&&"_tag"in r&&Q(r,this.env,()=>{});}catch{}}}notify(e){if(this.result!=null||this.closing!=null)return;this.finishing=true,this.closing=e,this.runFinalizersOnce(e),this.result=e;let n=e._tag==="Success"?"success":e.cause._tag==="Interrupt"?"interrupted":"failure";this.emit({type:"fiber.end",fiberId:this.id,status:n,error:e._tag==="Failure"?e.cause:void 0});for(let r of this.joiners)r(e);this.joiners.length=0;}onSuccess(e){let n=this.stack.pop();if(!n){this.notify(R.succeed(e));return}if(n._tag==="SuccessCont"){try{this.current=n.k(e);}catch(r){this.notify(R.failCause(g.die(r)));}return}try{this.current=n.onSuccess(e);}catch(r){this.notify(R.failCause(g.die(r)));}}onFailure(e){for(;this.stack.length>0;){let n=this.stack.pop();if(n._tag==="FoldCont")try{this.current=n.onFailure(e);return}catch(r){e=r;continue}}this.notify(R.failCause(g.fail(e)));}budget=oe;step(){if(this.result!=null)return v.DONE;if(this.interrupted)return this.notify(R.failCause(g.interrupt())),v.DONE;for(this.budget=oe;this.budget-- >0;){this.current=me(this.current);let e=this.current;switch(e._tag){case "Succeed":{this.onSuccess(e.value);break}case "Fail":{this.onFailure(e.error);break}case "FlatMap":{this.stack.push({_tag:"SuccessCont",k:e.andThen}),this.current=e.first;break}case "Fold":{this.stack.push({_tag:"FoldCont",onFailure:e.onFailure,onSuccess:e.onSuccess}),this.current=e.first;break}case "Async":{if(this.finishing)return this.result!=null?v.DONE:v.CONTINUE;let n=false,r=s=>{if(n||(n=true,this.result!=null||this.closing!=null))return;if(s._tag==="Success"){this.current=W.succeed(s.value),this.schedule("async-resume");return}let i=s.cause;if(i._tag==="Interrupt"){this.notify(R.failCause(g.interrupt()));return}if(i._tag==="Fail"){this.current=W.fail(i.error),this.schedule("async-resume");return}this.notify(R.failCause(g.die(i.defect)));},a=e.register(this.env,r);return typeof a=="function"&&this.addFinalizer(()=>{n=true;try{a();}catch{}}),v.SUSPEND}case "Fork":{let n=this.runtime.fork(e.effect,e.scopeId);this.onSuccess(n);break}case "Sync":{try{let n=e.thunk(this.env);this.onSuccess(n);}catch(n){this.onFailure(n);}break}default:return this.onFailure(new Error(`Unknown opcode: ${e._tag}`)),v.CONTINUE}if(this.result!=null)return v.DONE}return v.CONTINUE}};function b(){return j}function B(){let t=b();if(!t?.runtime)throw new Error("unsafeGetCurrentRuntime: no current fiber/runtime");return t.runtime}function ge(t,e){let n=j;j=t;try{return e()}finally{j=n;}}var Se=1;function ve(t){return d((e,n)=>{let r=t.length;if(r===0){n({_tag:"Success",value:void 0});return}for(let a of t)a.join(()=>{r-=1,r===0&&n({_tag:"Success",value:void 0});});})}var Z=class t{constructor(e,n){this.runtime=e;this.parentScopeId=n;this.id=Se++;let r=this.parentScopeId??b()?.scopeId;this.runtime.emit({type:"scope.open",scopeId:this.id,parentScopeId:r});}id;closed=false;children=new Set;subScopes=new Set;finalizers=[];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,this.id);return this.subScopes.add(e),e}fork(e){if(this.closed)throw new Error("Scope closed");let n=this.runtime.fork(e,this.id);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={awaitChildren:true}){return h(k(),()=>d((r,a)=>{if(this.closed){a({_tag:"Success",value:void 0});return}this.closed=true;let s=Array.from(this.children),o=Array.from(this.subScopes).reduceRight((y,u)=>h(y,()=>u.closeAsync(e,n)),k()),c=this.finalizers.reduceRight((y,u)=>h(y,()=>m(u(e),()=>k(),()=>k())),k()),l=n.awaitChildren?ve(s):k(),E=h(o,()=>h(l,()=>c));this.runtime.fork(E).join(()=>{let y=e._tag==="Success"?"success":e.cause._tag==="Interrupt"?"interrupted":"failure";this.runtime.emit({type:"scope.close",scopeId:this.id,status:y,error:e._tag==="Failure"&&e.cause._tag==="Fail"?e.cause.error:void 0}),a({_tag:"Success",value:void 0});});}))}};function xe(t,e){return d((n,r)=>{let a=new Z(t);t.fork(e(a)).join(s=>{t.fork(a.closeAsync(s)),r(s);});})}function ht(t,e){return xe(t,n=>{let r=e(n);return r&&typeof r=="object"&&"_tag"in r?r:k()})}function vt(t,e,n){return d((r,a)=>{let s=n.subScope(),i=false,o=E=>{i||(i=true,s.close(E),a(E));},c=s.fork(t),l=s.fork(e);c.join(o),l.join(o);})}function xt(t,e,n){return d((r,a)=>{let s=n.subScope(),i=null,o=null,c=false,l=()=>{if(!i||!o||c)return;if(c=true,i._tag==="Success"&&o._tag==="Success"){s.close({_tag:"Success",value:void 0}),a({_tag:"Success",value:[i.value,o.value]});return}let u;if(i._tag==="Failure")u=i.cause;else if(o._tag==="Failure")u=o.cause;else throw new Error("zipPar: unreachable state (no Failure exit)");let p={_tag:"Failure",cause:u};s.close(p),a(p);},E=s.fork(t),y=s.fork(e);E.join(u=>{i=u,l();}),y.join(u=>{o=u,l();});})}function bt(t,e){return d((n,r)=>{let a=e.subScope(),s=new Array(t.length),i=0,o=false;t.forEach((c,l)=>{a.fork(c).join(y=>{if(!o){if(y._tag==="Failure"){o=true;let u={_tag:"Failure",cause:y.cause};a.close(u),r(u);return}if(s[l]=y.value,i++,i===t.length){o=true;let u={_tag:"Success",value:s};a.close({_tag:"Success",value:void 0}),r(u);}}});});})}function ce(t,e,n,r,a){return d((s,i)=>{let o=n.subScope(),c=false,l=o.fork(t),E=o.fork(e),y=u=>{o.fork(u).join(p=>{o.close(p),i(p);});};l.join(u=>{c||(c=true,y(r(u,E,o)));}),E.join(u=>{c||(c=true,y(a(u,l,o)));});})}var K=t=>t._tag==="None"?C:w(t.value),x=t=>({_tag:"FromPull",pull:t}),le=(t,e)=>({_tag:"Scoped",acquire:t,release:e}),be=t=>({_tag:"Managed",acquire:t}),Fe=(t,e,n=true)=>({_tag:"Merge",left:t,right:e,flip:n}),V=()=>({_tag:"Empty"}),Ee=t=>({_tag:"Emit",value:t}),q=(t,e)=>({_tag:"Concat",left:t,right:e}),X=t=>({_tag:"Flatten",stream:t});function ue(t,e,n,r,a){return (s,i,o)=>{if(s._tag,s._tag,s._tag==="Success"){let[l,E]=s.value;i.interrupt();let y=x(t==="L"?H(E,n):H(e,E));return A([l,y])}if(s.cause._tag==="Interrupt")return d((l,E)=>{E(R.failCause(g.interrupt()));});let c=s.cause.error;return c._tag==="None"?f(t==="L"?n:e):S(c)}}function H(t,e,n,r){return d((a,s)=>{let o=B(),c=new Z(o),l=f(t),E=f(e),y=ue("L",t,e),u=ue("R",t,e),p=ce(l,E,c,y,u);c.fork(p).join(D=>{c.close(D),s(D);});})}function Dt(t,e){return x(H(t,e))}function f(t){switch(t._tag){case "Empty":return U(C);case "Emit":return I(L(t.value,e=>w(e)),e=>[e,V()]);case "FromPull":return t.pull;case "Concat":return J(I(f(t.left),([e,n])=>[e,q(n,t.right)]),()=>f(t.right));case "Flatten":return te(f(t.stream),([e,n])=>J(I(f(e),([r,a])=>[r,q(a,X(n))]),()=>f(X(n))));case "Merge":return H(t.left,t.right,t.flip);case "Scoped":return d((e,n)=>{let r=B(),a=new Z(r);b()?.addFinalizer(c=>{try{a.close(c);}catch{}});let i=c=>{if(c._tag==="Failure"){let l=c.cause.error;if(l&&typeof l=="object"&&l._tag==="None"){a.close({_tag:"Success",value:void 0});return}}a.close(c);},o=c=>x(d((l,E)=>{let y=f(c);ie(y,l,u=>{let p=R.failCause(u);i(p),E(p);},([u,p])=>{E(R.succeed([u,o(p)]));});}));a.fork(t.acquire).join(c=>{if(c._tag==="Failure"){i(c),n({_tag:"Failure",cause:{_tag:"Fail",error:w(c.cause.error)}});return}a.addFinalizer(E=>t.release(E));let l=c.value;B().fork(f(o(l))).join(n);});});case "Managed":return d((e,n)=>{let r=B(),a=new Z(r);b()?.addFinalizer(i=>{try{a.close(i);}catch{}});let s=i=>{if(i._tag==="Failure"){let o=i.cause.error;if(o&&typeof o=="object"&&o._tag==="None"){a.close({_tag:"Success",value:void 0});return}}a.close(i);};a.fork(t.acquire).join(i=>{if(i._tag==="Failure"){a.close(i),n({_tag:"Failure",cause:{_tag:"Fail",error:w(i.cause.error)}});return}let{stream:o,release:c}=i.value;a.addFinalizer(E=>c(E));let l=E=>x(d((y,u)=>{f(E)(y,p=>{if(p._tag==="Failure"){s(p),u(p);return}let[D,ye]=p.value;u(R.succeed([D,l(ye)]));});}));B().fork(f(l(o))).join(n);});})}}function _e(t,e){throw new Error(e??`Unexpected value: ${String(t)}`)}function _(t,e){switch(t._tag){case "Empty":return V();case "Emit":return Ee(I(t.value,e));case "FromPull":return x(I(t.pull,([n,r])=>[e(n),_(r,e)]));case "Concat":return q(_(t.left,e),_(t.right,e));case "Flatten":{let n=_(t.stream,r=>_(r,e));return X(n)}case "Merge":return Fe(_(t.left,e),_(t.right,e),t.flip);case "Scoped":return le(I(t.acquire,n=>_(n,e)),t.release);case "Managed":return be(I(t.acquire,({stream:n,release:r})=>({stream:_(n,e),release:r})));default:return _e(t)}}function Ut(t,e){let n=r=>x(r>e?S(C):A([r,n(r+1)]));return n(t)}function ke(t,e){let n=m(O(f(t),r=>K(r)),r=>S(r),([r,a])=>m(O(f(e),s=>K(s)),s=>S(s),([s,i])=>A([[r,s],ke(a,i)])));return x(n)}function Mt(t,e){let n=r=>m(O(f(r),a=>K(a)),a=>a._tag==="None"?A(void 0):S(a),([a,s])=>h(O(e(a),i=>w(i)),()=>n(s)));return m(n(t),r=>r._tag==="None"?A(void 0):S(r.value),()=>A(void 0))}function zt(t){let e=V();for(let n=t.length-1;n>=0;n--){let r=Ee(G(t[n]));e=q(r,e);}return e}function jt(t){let e=(n,r)=>m(f(n),a=>a._tag==="None"?G(r):U(a),([a,s])=>e(s,[...r,a]));return L(e(t,[]),n=>{if(n._tag==="Some")return n.value;throw new Error("unreachable: stream end handled as success")})}function Ie(t,e){let n=d((r,a)=>{t.read().then(({done:s,value:i})=>{if(s){a({_tag:"Failure",cause:{_tag:"Fail",error:C}});return}a({_tag:"Success",value:[i,x(n)]});}).catch(s=>{a({_tag:"Failure",cause:{_tag:"Fail",error:w(e(s))}});});});return x(n)}function qt(t,e){if(!t)return V();let n;return le(ee(()=>(n=t.getReader(),Ie(n,e))),()=>N(()=>{try{n?.cancel();}catch{}}))}export{le as $,L as A,ze as B,J as C,je as D,de as E,M as F,$ as G,T as H,z as I,b as J,B as K,ge as L,P as M,rt as N,Q as O,at as P,st as Q,ie as R,Z as S,xe as T,ht as U,vt as V,xt as W,bt as X,ce as Y,K as Z,x as _,W as a,be as aa,m as b,Fe as ba,Oe as c,V as ca,O as d,Ee as da,k as e,q as ea,A as f,X as fa,S as g,Dt as ga,N as h,f as ha,Ce as i,_e as ia,d as j,_ as ja,Y as k,Ut as ka,h as l,ke as la,we as m,Mt as ma,Ze as n,zt as na,Ne as o,jt as oa,Be as p,qt as pa,Te as q,C as r,w as s,g as t,R as u,G as v,U as w,ee as x,I as y,te as z};
@@ -1,4 +1,4 @@
1
- import { Z as ZStream, A as Async, x as AsyncWithPromise } from '../stream-hTHRKq88.mjs';
1
+ import { Z as ZStream, A as Async, x as AsyncWithPromise } from '../stream-DVfZWtYZ.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-hTHRKq88.js';
1
+ import { Z as ZStream, A as Async, x as AsyncWithPromise } from '../stream-DVfZWtYZ.js';
2
2
 
3
3
  type RetryPolicy = {
4
4
  maxRetries: number;
@@ -1 +1 @@
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
+ 'use strict';var chunk5PIZGM6Q_js=require('../chunk-5PIZGM6Q.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=>chunk5PIZGM6Q_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=>chunk5PIZGM6Q_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=chunk5PIZGM6Q_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=>chunk5PIZGM6Q_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=>chunk5PIZGM6Q_js.b(e(r),p=>{if(p._tag==="Abort"||p._tag==="BadUrl")return chunk5PIZGM6Q_js.g(p);if(!(u<t.maxRetries&&(t.retryOnError??z)(p)))return chunk5PIZGM6Q_js.g(p);let i=F(u,t.baseDelayMs,t.maxDelayMs);return chunk5PIZGM6Q_js.l(M(i),()=>n(u+1))},p=>{if(!(u<t.maxRetries&&(t.retryOnStatus??Z)(p.status)))return chunk5PIZGM6Q_js.f(p);let a=$(p.headers)??F(u,t.baseDelayMs,t.maxDelayMs);return chunk5PIZGM6Q_js.l(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)?chunk5PIZGM6Q_js.b(e(i),s=>{if(s._tag==="Abort"||s._tag==="BadUrl")return chunk5PIZGM6Q_js.g(s);if(!(a<t.maxRetries&&u(s)))return chunk5PIZGM6Q_js.g(s);let o=L(a,t.baseDelayMs,t.maxDelayMs);return chunk5PIZGM6Q_js.l(M(o),()=>y(i,a+1))},s=>{if(!(a<t.maxRetries&&n(s.status)))return chunk5PIZGM6Q_js.f(s);let d=tt(s.headers)??L(a,t.baseDelayMs,t.maxDelayMs);return chunk5PIZGM6Q_js.l(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=>chunk5PIZGM6Q_js.o((s,c)=>chunk5PIZGM6Q_js.P(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(chunk5PIZGM6Q_js.q(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(chunk5PIZGM6Q_js.q(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(chunk5PIZGM6Q_js.q(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(chunk5PIZGM6Q_js.q(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(chunk5PIZGM6Q_js.q(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(chunk5PIZGM6Q_js.q(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(chunk5PIZGM6Q_js.q(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=>chunk5PIZGM6Q_js.o((a,s)=>chunk5PIZGM6Q_js.P(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,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};
1
+ import {Q as Q$1,pa,b as b$1,q,o,g as g$1,l,f,P}from'../chunk-CNA5AQHG.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=>(r=>{let n=u=>b$1(e(r),p=>{if(p._tag==="Abort"||p._tag==="BadUrl")return g$1(p);if(!(u<t.maxRetries&&(t.retryOnError??z)(p)))return g$1(p);let i=F(u,t.baseDelayMs,t.maxDelayMs);return l(M(i),()=>n(u+1))},p=>{if(!(u<t.maxRetries&&(t.retryOnStatus??Z)(p.status)))return f(p);let a=$(p.headers)??F(u,t.baseDelayMs,t.maxDelayMs);return l(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)?b$1(e(i),s=>{if(s._tag==="Abort"||s._tag==="BadUrl")return g$1(s);if(!(a<t.maxRetries&&u(s)))return g$1(s);let o=L(a,t.baseDelayMs,t.maxDelayMs);return l(M(o),()=>y(i,a+1))},s=>{if(!(a<t.maxRetries&&n(s.status)))return f(s);let d=tt(s.headers)??L(a,t.baseDelayMs,t.maxDelayMs);return l(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=>o((s,c)=>P(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(q(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(q(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(q(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(q(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(q(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(q(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(q(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=>o((a,s)=>P(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)}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, 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';
1
+ import { Z as ZStream, A as Async, S as Scope, E as Exit, F as Fiber, O as Option } from './stream-DVfZWtYZ.mjs';
2
+ export { x as AsyncWithPromise, J as CancelToken, I as Canceler, C as Cause, a9 as Concat, a8 as Emit, a7 as Empty, V as FiberId, W as FiberStatus, aa as Flatten, ab as FromPull, X as Interrupted, ae as Managed, ac as Merge, N as None, af as Normalize, R as Runtime, Y as RuntimeFiber, a5 as Scheduler, a1 as ScopeId, ad as Scoped, D as Some, a4 as Task, a as ZIO, v as acquireRelease, ar 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, ax as collectStream, an as concatStream, am as emitStream, al as emptyStream, g as end, f as fail, c as flatMap, ao as flattenStream, av as foreachStream, M as fork, aw as fromArray, T as fromPromiseAbortable, ah as fromPull, _ as getCurrentFiber, a6 as globalScheduler, L as linkAbortController, K as makeCancelToken, aj as managedStream, m as map, z as mapAsync, d as mapError, as as mapStream, B as mapTryAsync, ap as merge, ak as mergeStream, G as none, o as orElseOptional, at as rangeStream, H as some, ay as streamFromReadableStream, s as succeed, b as sync, Q as toPromise, aq as uncons, u as unit, $ as unsafeGetCurrentRuntime, P as unsafeRunAsync, U as unsafeRunFoldWithEnv, ai as unwrapScoped, ag as widenOpt, y as withAsyncPromise, a0 as withCurrentFiber, a3 as withScope, a2 as withScopeAsync, au as zip } from './stream-DVfZWtYZ.mjs';
3
3
 
4
4
  type Node<T> = {
5
5
  value: T;
@@ -49,22 +49,22 @@ declare function buffer<R, E, A>(stream: ZStream<{} & R, E, A>, capacity: number
49
49
  * - el primero que termine gana
50
50
  * - el otro es cancelado
51
51
  */
52
- declare function race<R, E, A>(left: Async<R, E, A>, right: Async<R, E, A>, parentScope: Scope<R>): Async<R, E | Interrupted, A>;
52
+ declare function race<R, E, A>(left: Async<R, E, A>, right: Async<R, E, A>, parentScope: Scope<R>): Async<R, E, A>;
53
53
  /**
54
54
  * zipPar(A, B):
55
55
  * - corre A y B en paralelo
56
56
  * - si ambas terminan bien → éxito con (A, B)
57
57
  * - si una falla → cancelar todo y devolver fallo
58
58
  */
59
- declare function zipPar<R, E, A, B>(left: Async<R, E, A>, right: Async<R, E, B>, parentScope: Scope<R>): Async<R, E | Interrupted, [A, B]>;
59
+ declare function zipPar<R, E, A, B>(left: Async<R, E, A>, right: Async<R, E, B>, parentScope: Scope<R>): Async<R, E, [A, B]>;
60
60
  /**
61
61
  * collectAllPar:
62
62
  * - corre todos en paralelo
63
63
  * - si uno falla → cancela todos
64
64
  * - si todos terminan bien → devuelve array de resultados
65
65
  */
66
- declare function collectAllPar<R, E, A>(effects: ReadonlyArray<Async<R, E, A>>, parentScope: Scope<R>): Async<R, E | Interrupted, A[]>;
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>;
66
+ declare function collectAllPar<R, E, A>(effects: ReadonlyArray<Async<R, E, A>>, parentScope: Scope<R>): Async<R, E, A[]>;
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, A>, rightFiber: Fiber<E, B>, scope: Scope<R>) => Async<R, E, C>, onRight: (exit: Exit<E, B>, leftFiber: Fiber<E, A>, scope: Scope<R>) => Async<R, E, C>): Async<R, E, C>;
68
68
 
69
69
  type Strategy = "backpressure" | "dropping" | "sliding";
70
70
  type QueueClosed = {
@@ -135,4 +135,4 @@ declare function bufferP<A>(capacity: number, strategy?: "backpressure" | "dropp
135
135
  */
136
136
  declare function groupedP<A>(n: number): ZPipeline<unknown, never, A, A[]>;
137
137
 
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 };
138
+ export { Async, Exit, Fiber, type Hub, type HubClosed, type HubStrategy, 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, 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';
1
+ import { Z as ZStream, A as Async, S as Scope, E as Exit, F as Fiber, O as Option } from './stream-DVfZWtYZ.js';
2
+ export { x as AsyncWithPromise, J as CancelToken, I as Canceler, C as Cause, a9 as Concat, a8 as Emit, a7 as Empty, V as FiberId, W as FiberStatus, aa as Flatten, ab as FromPull, X as Interrupted, ae as Managed, ac as Merge, N as None, af as Normalize, R as Runtime, Y as RuntimeFiber, a5 as Scheduler, a1 as ScopeId, ad as Scoped, D as Some, a4 as Task, a as ZIO, v as acquireRelease, ar 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, ax as collectStream, an as concatStream, am as emitStream, al as emptyStream, g as end, f as fail, c as flatMap, ao as flattenStream, av as foreachStream, M as fork, aw as fromArray, T as fromPromiseAbortable, ah as fromPull, _ as getCurrentFiber, a6 as globalScheduler, L as linkAbortController, K as makeCancelToken, aj as managedStream, m as map, z as mapAsync, d as mapError, as as mapStream, B as mapTryAsync, ap as merge, ak as mergeStream, G as none, o as orElseOptional, at as rangeStream, H as some, ay as streamFromReadableStream, s as succeed, b as sync, Q as toPromise, aq as uncons, u as unit, $ as unsafeGetCurrentRuntime, P as unsafeRunAsync, U as unsafeRunFoldWithEnv, ai as unwrapScoped, ag as widenOpt, y as withAsyncPromise, a0 as withCurrentFiber, a3 as withScope, a2 as withScopeAsync, au as zip } from './stream-DVfZWtYZ.js';
3
3
 
4
4
  type Node<T> = {
5
5
  value: T;
@@ -49,22 +49,22 @@ declare function buffer<R, E, A>(stream: ZStream<{} & R, E, A>, capacity: number
49
49
  * - el primero que termine gana
50
50
  * - el otro es cancelado
51
51
  */
52
- declare function race<R, E, A>(left: Async<R, E, A>, right: Async<R, E, A>, parentScope: Scope<R>): Async<R, E | Interrupted, A>;
52
+ declare function race<R, E, A>(left: Async<R, E, A>, right: Async<R, E, A>, parentScope: Scope<R>): Async<R, E, A>;
53
53
  /**
54
54
  * zipPar(A, B):
55
55
  * - corre A y B en paralelo
56
56
  * - si ambas terminan bien → éxito con (A, B)
57
57
  * - si una falla → cancelar todo y devolver fallo
58
58
  */
59
- declare function zipPar<R, E, A, B>(left: Async<R, E, A>, right: Async<R, E, B>, parentScope: Scope<R>): Async<R, E | Interrupted, [A, B]>;
59
+ declare function zipPar<R, E, A, B>(left: Async<R, E, A>, right: Async<R, E, B>, parentScope: Scope<R>): Async<R, E, [A, B]>;
60
60
  /**
61
61
  * collectAllPar:
62
62
  * - corre todos en paralelo
63
63
  * - si uno falla → cancela todos
64
64
  * - si todos terminan bien → devuelve array de resultados
65
65
  */
66
- declare function collectAllPar<R, E, A>(effects: ReadonlyArray<Async<R, E, A>>, parentScope: Scope<R>): Async<R, E | Interrupted, A[]>;
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>;
66
+ declare function collectAllPar<R, E, A>(effects: ReadonlyArray<Async<R, E, A>>, parentScope: Scope<R>): Async<R, E, A[]>;
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, A>, rightFiber: Fiber<E, B>, scope: Scope<R>) => Async<R, E, C>, onRight: (exit: Exit<E, B>, leftFiber: Fiber<E, A>, scope: Scope<R>) => Async<R, E, C>): Async<R, E, C>;
68
68
 
69
69
  type Strategy = "backpressure" | "dropping" | "sliding";
70
70
  type QueueClosed = {
@@ -135,4 +135,4 @@ declare function bufferP<A>(capacity: number, strategy?: "backpressure" | "dropp
135
135
  */
136
136
  declare function groupedP<A>(n: number): ZPipeline<unknown, never, A, A[]>;
137
137
 
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 };
138
+ export { Async, Exit, Fiber, type Hub, type HubClosed, type HubStrategy, 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 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;
1
+ 'use strict';var chunk5PIZGM6Q_js=require('./chunk-5PIZGM6Q.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 Z(t,e="backpressure"){return chunk5PIZGM6Q_js.h(()=>I(t,e))}function I(t,e){let n=new chunk5PIZGM6Q_js.F(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",cause:{_tag:"Fail",error:s}});for(;o.length>0;)o.shift().cb(false);n.clear();}},offer:u=>chunk5PIZGM6Q_js.j((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 m=o.push({a:u,cb:A=>i({_tag:"Success",value:A})});return ()=>{o.remove(m);}}),take:()=>chunk5PIZGM6Q_js.j((u,f)=>{if(n.length>0){let A=n.shift();f({_tag:"Success",value:A}),l();return}if(o.length>0){let A=o.shift();A.cb(true),f({_tag:"Success",value:A.a});return}if(r){f({_tag:"Failure",cause:{_tag:"Fail",error:s}});return}let i=A=>f(A),m=a.push(i);return ()=>{a.remove(m);}})}}function M(t,e,n="backpressure"){let r=false,s=null,o=null,a=t,l=()=>chunk5PIZGM6Q_js.b(chunk5PIZGM6Q_js.ha(a),i=>chunk5PIZGM6Q_js.f(i._tag==="None"?{_tag:"End"}:{_tag:"Fail",error:i.value}),([i,m])=>chunk5PIZGM6Q_js.h(()=>(a=m,{_tag:"Elem",value:i}))),p=i=>chunk5PIZGM6Q_js.l(Z(e,n),m=>{s=m;let S=()=>chunk5PIZGM6Q_js.l(l(),A=>chunk5PIZGM6Q_js.l(s.offer(A),()=>A._tag==="End"||A._tag==="Fail"?chunk5PIZGM6Q_js.f(void 0):S()));return o=chunk5PIZGM6Q_js.N(S(),i),r=true,chunk5PIZGM6Q_js.f(void 0)}),u={_tag:"Async",register:(i,m)=>{(()=>{if(!r){chunk5PIZGM6Q_js.K().fork(p(i)).join(()=>{f(i,m);});return}f(i,m);})();}};function f(i,m){let S=s.take();chunk5PIZGM6Q_js.K().fork(S).join(A=>{if(A._tag!=="Success")return;let w=A.value;switch(w._tag){case "Elem":m({_tag:"Success",value:[w.value,chunk5PIZGM6Q_js._(u)]});return;case "End":o?.interrupt?.(),m({_tag:"Failure",cause:{_tag:"Fail",error:chunk5PIZGM6Q_js.r}});return;case "Fail":o?.interrupt?.(),m({_tag:"Failure",cause:{_tag:"Fail",error:chunk5PIZGM6Q_js.s(w.error)}});return}});}return chunk5PIZGM6Q_js._(u)}var N=t=>t==="BackPressure"?"backpressure":t==="Dropping"?"dropping":"sliding";function z(t,e="BackPressure"){let n=new Set,r=false,s=p=>{if(r)return chunk5PIZGM6Q_js.f(false);let u=Array.from(n),f=chunk5PIZGM6Q_js.f(true);return u.forEach(i=>{f=chunk5PIZGM6Q_js.l(f,m=>chunk5PIZGM6Q_js.l(i.offer(p),S=>chunk5PIZGM6Q_js.f(m&&S)));}),f};return {publish:s,publishAll:p=>{let u=chunk5PIZGM6Q_js.f(true),f=p[Symbol.iterator]();for(;;){let i=f.next();if(i.done)break;let m=i.value;u=chunk5PIZGM6Q_js.l(u,S=>chunk5PIZGM6Q_js.l(s(m),A=>chunk5PIZGM6Q_js.f(S&&A)));}return u},subscribe:()=>r?chunk5PIZGM6Q_js.i(()=>{throw {_tag:"HubClosed"}}):chunk5PIZGM6Q_js.l(Z(t,N(e)),p=>chunk5PIZGM6Q_js.h(()=>(n.add(p),{...p,unsubscribe:()=>{n.has(p)&&(n.delete(p),p.shutdown());}}))),shutdown:()=>chunk5PIZGM6Q_js.h(()=>{r||(r=true,Array.from(n).forEach(p=>p.shutdown()),n.clear());})}}var dn=z;function Rn(t,e){return chunk5PIZGM6Q_js.ma(t,n=>chunk5PIZGM6Q_js.l(e.publish(n),()=>chunk5PIZGM6Q_js.f(void 0)))}function Sn(t){return chunk5PIZGM6Q_js.aa(chunk5PIZGM6Q_js.l(t.subscribe(),e=>{let n=chunk5PIZGM6Q_js._(chunk5PIZGM6Q_js.l(chunk5PIZGM6Q_js.d(e.take(),r=>chunk5PIZGM6Q_js.r),r=>chunk5PIZGM6Q_js.f([r,n])));return chunk5PIZGM6Q_js.f({stream:n,release:r=>chunk5PIZGM6Q_js.h(()=>e.unsubscribe())})}))}function Cn(t,e){return e(t)}function D(t,e){return(n=>e(t(n)))}function On(t,e){return D(e,t)}function Pn(){return(t=>t)}function Bn(t){return(e=>{let n=r=>chunk5PIZGM6Q_js._(chunk5PIZGM6Q_js.b(chunk5PIZGM6Q_js.ha(r),s=>chunk5PIZGM6Q_js.g(s),([s,o])=>chunk5PIZGM6Q_js.f([t(s),n(o)])));return n(e)})}function Tn(t){return(e=>{let n=s=>chunk5PIZGM6Q_js.b(chunk5PIZGM6Q_js.ha(s),o=>chunk5PIZGM6Q_js.g(o),([o,a])=>t(o)?chunk5PIZGM6Q_js.f([o,r(a)]):n(a)),r=s=>chunk5PIZGM6Q_js._(n(s));return r(e)})}function Fn(t){return(e=>{let n=s=>chunk5PIZGM6Q_js.b(chunk5PIZGM6Q_js.ha(s),o=>chunk5PIZGM6Q_js.g(o),([o,a])=>{let l=t(o);return l._tag==="Some"?chunk5PIZGM6Q_js.f([l.value,r(a)]):n(a)}),r=s=>chunk5PIZGM6Q_js._(n(s));return r(e)})}function Hn(t){let e=Math.max(0,t|0);return(n=>{let r=(s,o)=>o<=0?chunk5PIZGM6Q_js.ca():chunk5PIZGM6Q_js._(chunk5PIZGM6Q_js.b(chunk5PIZGM6Q_js.ha(s),a=>chunk5PIZGM6Q_js.g(a),([a,l])=>chunk5PIZGM6Q_js.f([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:chunk5PIZGM6Q_js._(chunk5PIZGM6Q_js.b(chunk5PIZGM6Q_js.ha(s),a=>chunk5PIZGM6Q_js.g(a),([a,l])=>chunk5PIZGM6Q_js.ha(r(l,o-1))));return r(n,e)})}function W(t){return(e=>{let n=s=>chunk5PIZGM6Q_js.d(s,o=>chunk5PIZGM6Q_js.s(o)),r=s=>chunk5PIZGM6Q_js._(chunk5PIZGM6Q_js.b(chunk5PIZGM6Q_js.d(chunk5PIZGM6Q_js.ha(s),o=>chunk5PIZGM6Q_js.Z(o)),o=>chunk5PIZGM6Q_js.g(o),([o,a])=>chunk5PIZGM6Q_js.b(n(t(o)),l=>chunk5PIZGM6Q_js.g(l),l=>chunk5PIZGM6Q_js.f([l,r(a)]))));return r(e)})}function Mn(t){return W(e=>chunk5PIZGM6Q_js.l(t(e),()=>chunk5PIZGM6Q_js.f(e)))}function In(t,e="backpressure"){return(n=>M(n,t,e))}function Nn(t){let e=Math.max(1,t|0);return(n=>{let r=(o,a,l)=>a<=0?chunk5PIZGM6Q_js.f({chunk:l,rest:o}):chunk5PIZGM6Q_js.b(chunk5PIZGM6Q_js.ha(o),p=>p._tag==="None"?chunk5PIZGM6Q_js.f({chunk:l,rest:chunk5PIZGM6Q_js.ca()}):chunk5PIZGM6Q_js.g(p),([p,u])=>r(u,a-1,[...l,p])),s=o=>chunk5PIZGM6Q_js._(chunk5PIZGM6Q_js.b(chunk5PIZGM6Q_js.ha(o),a=>chunk5PIZGM6Q_js.g(a),([a,l])=>chunk5PIZGM6Q_js.l(r(l,e-1,[a]),({chunk:p,rest:u})=>chunk5PIZGM6Q_js.f([p,s(u)]))));return s(n)})}Object.defineProperty(exports,"Async",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.a}});Object.defineProperty(exports,"Cause",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.t}});Object.defineProperty(exports,"Exit",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.u}});Object.defineProperty(exports,"PushStatus",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.E}});Object.defineProperty(exports,"RingBuffer",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.F}});Object.defineProperty(exports,"Runtime",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.M}});Object.defineProperty(exports,"RuntimeFiber",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.I}});Object.defineProperty(exports,"Scheduler",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.G}});Object.defineProperty(exports,"Scope",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.S}});Object.defineProperty(exports,"acquireRelease",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.m}});Object.defineProperty(exports,"assertNever",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.ia}});Object.defineProperty(exports,"async",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.j}});Object.defineProperty(exports,"asyncCatchAll",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.c}});Object.defineProperty(exports,"asyncFail",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.g}});Object.defineProperty(exports,"asyncFlatMap",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.l}});Object.defineProperty(exports,"asyncFold",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.b}});Object.defineProperty(exports,"asyncInterruptible",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.n}});Object.defineProperty(exports,"asyncMap",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.k}});Object.defineProperty(exports,"asyncMapError",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.d}});Object.defineProperty(exports,"asyncSucceed",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.f}});Object.defineProperty(exports,"asyncSync",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.h}});Object.defineProperty(exports,"asyncTotal",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.i}});Object.defineProperty(exports,"catchAll",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.B}});Object.defineProperty(exports,"collectAllPar",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.X}});Object.defineProperty(exports,"collectStream",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.oa}});Object.defineProperty(exports,"concatStream",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.ea}});Object.defineProperty(exports,"emitStream",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.da}});Object.defineProperty(exports,"emptyStream",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.ca}});Object.defineProperty(exports,"end",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.D}});Object.defineProperty(exports,"fail",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.w}});Object.defineProperty(exports,"flatMap",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.z}});Object.defineProperty(exports,"flattenStream",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.fa}});Object.defineProperty(exports,"foreachStream",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.ma}});Object.defineProperty(exports,"fork",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.N}});Object.defineProperty(exports,"fromArray",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.na}});Object.defineProperty(exports,"fromPromiseAbortable",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.Q}});Object.defineProperty(exports,"fromPull",{enumerable:true,get:function(){return chunk5PIZGM6Q_js._}});Object.defineProperty(exports,"getCurrentFiber",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.J}});Object.defineProperty(exports,"globalScheduler",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.H}});Object.defineProperty(exports,"managedStream",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.aa}});Object.defineProperty(exports,"map",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.y}});Object.defineProperty(exports,"mapAsync",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.p}});Object.defineProperty(exports,"mapError",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.A}});Object.defineProperty(exports,"mapStream",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.ja}});Object.defineProperty(exports,"mapTryAsync",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.q}});Object.defineProperty(exports,"merge",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.ga}});Object.defineProperty(exports,"mergeStream",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.ba}});Object.defineProperty(exports,"none",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.r}});Object.defineProperty(exports,"orElseOptional",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.C}});Object.defineProperty(exports,"race",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.V}});Object.defineProperty(exports,"raceWith",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.Y}});Object.defineProperty(exports,"rangeStream",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.ka}});Object.defineProperty(exports,"some",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.s}});Object.defineProperty(exports,"streamFromReadableStream",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.pa}});Object.defineProperty(exports,"succeed",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.v}});Object.defineProperty(exports,"sync",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.x}});Object.defineProperty(exports,"toPromise",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.P}});Object.defineProperty(exports,"uncons",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.ha}});Object.defineProperty(exports,"unit",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.e}});Object.defineProperty(exports,"unsafeGetCurrentRuntime",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.K}});Object.defineProperty(exports,"unsafeRunAsync",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.O}});Object.defineProperty(exports,"unsafeRunFoldWithEnv",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.R}});Object.defineProperty(exports,"unwrapScoped",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.$}});Object.defineProperty(exports,"widenOpt",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.Z}});Object.defineProperty(exports,"withAsyncPromise",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.o}});Object.defineProperty(exports,"withCurrentFiber",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.L}});Object.defineProperty(exports,"withScope",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.U}});Object.defineProperty(exports,"withScopeAsync",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.T}});Object.defineProperty(exports,"zip",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.la}});Object.defineProperty(exports,"zipPar",{enumerable:true,get:function(){return chunk5PIZGM6Q_js.W}});exports.LinkedQueue=v;exports.andThen=D;exports.bounded=Z;exports.broadcast=dn;exports.broadcastToHub=Rn;exports.buffer=M;exports.bufferP=In;exports.compose=On;exports.dropP=Qn;exports.filterMapP=Fn;exports.filterP=Tn;exports.fromHub=Sn;exports.groupedP=Nn;exports.identity=Pn;exports.linkAbortController=De;exports.makeCancelToken=ze;exports.makeHub=z;exports.mapEffectP=W;exports.mapP=Bn;exports.takeP=Hn;exports.tapEffectP=Mn;exports.via=Cn;
package/dist/index.mjs CHANGED
@@ -1 +1 @@
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};
1
+ import {h,F,j,_,i,l,f,ma,aa,d,r,ca,K,s,b,ha,g,Z as Z$1,N as N$1}from'./chunk-CNA5AQHG.mjs';export{a as Async,t as Cause,u as Exit,E as PushStatus,F as RingBuffer,M as Runtime,I as RuntimeFiber,G as Scheduler,S as Scope,m as acquireRelease,ia as assertNever,j as async,c as asyncCatchAll,g as asyncFail,l as asyncFlatMap,b as asyncFold,n as asyncInterruptible,k as asyncMap,d as asyncMapError,f as asyncSucceed,h as asyncSync,i as asyncTotal,B as catchAll,X as collectAllPar,oa as collectStream,ea as concatStream,da as emitStream,ca as emptyStream,D as end,w as fail,z as flatMap,fa as flattenStream,ma as foreachStream,N as fork,na as fromArray,Q as fromPromiseAbortable,_ as fromPull,J as getCurrentFiber,H as globalScheduler,aa as managedStream,y as map,p as mapAsync,A as mapError,ja as mapStream,q as mapTryAsync,ga as merge,ba as mergeStream,r as none,C as orElseOptional,V as race,Y as raceWith,ka as rangeStream,s as some,pa as streamFromReadableStream,v as succeed,x as sync,P as toPromise,ha as uncons,e as unit,K as unsafeGetCurrentRuntime,O as unsafeRunAsync,R as unsafeRunFoldWithEnv,$ as unwrapScoped,Z as widenOpt,o as withAsyncPromise,L as withCurrentFiber,U as withScope,T as withScopeAsync,la as zip,W as zipPar}from'./chunk-CNA5AQHG.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 Z(t,e="backpressure"){return h(()=>I(t,e))}function I(t,e){let n=new F(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",cause:{_tag:"Fail",error:s}});for(;o.length>0;)o.shift().cb(false);n.clear();}},offer:u=>j((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 m=o.push({a:u,cb:A=>i({_tag:"Success",value:A})});return ()=>{o.remove(m);}}),take:()=>j((u,f)=>{if(n.length>0){let A=n.shift();f({_tag:"Success",value:A}),l();return}if(o.length>0){let A=o.shift();A.cb(true),f({_tag:"Success",value:A.a});return}if(r){f({_tag:"Failure",cause:{_tag:"Fail",error:s}});return}let i=A=>f(A),m=a.push(i);return ()=>{a.remove(m);}})}}function M(t,e,n="backpressure"){let r$1=false,s$1=null,o=null,a=t,l$1=()=>b(ha(a),i=>f(i._tag==="None"?{_tag:"End"}:{_tag:"Fail",error:i.value}),([i,m])=>h(()=>(a=m,{_tag:"Elem",value:i}))),p=i=>l(Z(e,n),m=>{s$1=m;let S=()=>l(l$1(),A=>l(s$1.offer(A),()=>A._tag==="End"||A._tag==="Fail"?f(void 0):S()));return o=N$1(S(),i),r$1=true,f(void 0)}),u={_tag:"Async",register:(i,m)=>{(()=>{if(!r$1){K().fork(p(i)).join(()=>{f$1(i,m);});return}f$1(i,m);})();}};function f$1(i,m){let S=s$1.take();K().fork(S).join(A=>{if(A._tag!=="Success")return;let w=A.value;switch(w._tag){case "Elem":m({_tag:"Success",value:[w.value,_(u)]});return;case "End":o?.interrupt?.(),m({_tag:"Failure",cause:{_tag:"Fail",error:r}});return;case "Fail":o?.interrupt?.(),m({_tag:"Failure",cause:{_tag:"Fail",error:s(w.error)}});return}});}return _(u)}var N=t=>t==="BackPressure"?"backpressure":t==="Dropping"?"dropping":"sliding";function z(t,e="BackPressure"){let n=new Set,r=false,s=p=>{if(r)return f(false);let u=Array.from(n),f$1=f(true);return u.forEach(i=>{f$1=l(f$1,m=>l(i.offer(p),S=>f(m&&S)));}),f$1};return {publish:s,publishAll:p=>{let u=f(true),f$1=p[Symbol.iterator]();for(;;){let i=f$1.next();if(i.done)break;let m=i.value;u=l(u,S=>l(s(m),A=>f(S&&A)));}return u},subscribe:()=>r?i(()=>{throw {_tag:"HubClosed"}}):l(Z(t,N(e)),p=>h(()=>(n.add(p),{...p,unsubscribe:()=>{n.has(p)&&(n.delete(p),p.shutdown());}}))),shutdown:()=>h(()=>{r||(r=true,Array.from(n).forEach(p=>p.shutdown()),n.clear());})}}var dn=z;function Rn(t,e){return ma(t,n=>l(e.publish(n),()=>f(void 0)))}function Sn(t){return aa(l(t.subscribe(),e=>{let n=_(l(d(e.take(),r$1=>r),r=>f([r,n])));return f({stream:n,release:r=>h(()=>e.unsubscribe())})}))}function Cn(t,e){return e(t)}function D(t,e){return(n=>e(t(n)))}function On(t,e){return D(e,t)}function Pn(){return(t=>t)}function Bn(t){return(e=>{let n=r=>_(b(ha(r),s=>g(s),([s,o])=>f([t(s),n(o)])));return n(e)})}function Tn(t){return(e=>{let n=s=>b(ha(s),o=>g(o),([o,a])=>t(o)?f([o,r(a)]):n(a)),r=s=>_(n(s));return r(e)})}function Fn(t){return(e=>{let n=s=>b(ha(s),o=>g(o),([o,a])=>{let l=t(o);return l._tag==="Some"?f([l.value,r(a)]):n(a)}),r=s=>_(n(s));return r(e)})}function Hn(t){let e=Math.max(0,t|0);return(n=>{let r=(s,o)=>o<=0?ca():_(b(ha(s),a=>g(a),([a,l])=>f([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:_(b(ha(s),a=>g(a),([a,l])=>ha(r(l,o-1))));return r(n,e)})}function W(t){return(e=>{let n=s$1=>d(s$1,o=>s(o)),r=s=>_(b(d(ha(s),o=>Z$1(o)),o=>g(o),([o,a])=>b(n(t(o)),l=>g(l),l=>f([l,r(a)]))));return r(e)})}function Mn(t){return W(e=>l(t(e),()=>f(e)))}function In(t,e="backpressure"){return(n=>M(n,t,e))}function Nn(t){let e=Math.max(1,t|0);return(n=>{let r=(o,a,l)=>a<=0?f({chunk:l,rest:o}):b(ha(o),p=>p._tag==="None"?f({chunk:l,rest:ca()}):g(p),([p,u])=>r(u,a-1,[...l,p])),s=o=>_(b(ha(o),a=>g(a),([a,l$1])=>l(r(l$1,e-1,[a]),({chunk:p,rest:u})=>f([p,s(u)]))));return s(n)})}export{v as LinkedQueue,D as andThen,Z as bounded,dn as broadcast,Rn as broadcastToHub,M as buffer,In as bufferP,On as compose,Qn as dropP,Fn as filterMapP,Tn as filterP,Sn as fromHub,Nn as groupedP,Pn as identity,De as linkAbortController,ze as makeCancelToken,z as makeHub,W as mapEffectP,Bn as mapP,Hn as takeP,Mn as tapEffectP,Cn as via};