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