brass-runtime 1.12.1 → 1.13.2
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 +55 -228
- package/dist/agent/cli/main.cjs +7 -7
- package/dist/agent/cli/main.js +2 -2
- package/dist/agent/index.cjs +1 -1
- package/dist/agent/index.d.mts +1 -1
- package/dist/agent/index.d.ts +1 -1
- package/dist/agent/index.js +1 -1
- package/dist/{chunk-63ODH5W4.cjs → chunk-6OUI6UGZ.cjs} +6 -6
- package/dist/chunk-JAQUSSUV.js +1 -0
- package/dist/chunk-K47BP5A2.cjs +2 -0
- package/dist/chunk-LTHJNW5A.js +2 -0
- package/dist/{chunk-P4IND5C3.js → chunk-W6TVAMYC.js} +5 -5
- package/dist/chunk-XPOARCND.cjs +1 -0
- package/dist/effect-ISvXPLgc.d.mts +797 -0
- package/dist/effect-ISvXPLgc.d.ts +797 -0
- package/dist/http/index.cjs +1 -1
- package/dist/http/index.d.mts +2 -2
- package/dist/http/index.d.ts +2 -2
- package/dist/http/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.mts +159 -41
- package/dist/index.d.ts +159 -41
- package/dist/index.js +1 -1
- package/dist/{stream-DNTGNv-G.d.ts → stream-BvukHxCv.d.ts} +1 -1
- package/dist/{stream-FwtnWmgX.d.mts → stream-C0-LWnUP.d.mts} +1 -1
- package/package.json +27 -16
- package/dist/chunk-63MXGA7P.js +0 -1
- package/dist/chunk-7PHP7KQB.cjs +0 -1
- package/dist/chunk-MAR4TNUH.js +0 -1
- package/dist/chunk-T3QEEHK6.cjs +0 -1
- package/dist/effect-NSaHksNl.d.mts +0 -367
- package/dist/effect-NSaHksNl.d.ts +0 -367
package/dist/index.d.ts
CHANGED
|
@@ -1,46 +1,123 @@
|
|
|
1
|
-
import { A as Async,
|
|
2
|
-
export { a as AsyncWithPromise, C as CancelToken,
|
|
3
|
-
import { Z as ZStream } from './stream-
|
|
4
|
-
export { C as Concat, E as Emit, a as Empty, F as Flatten, b as FromPull, M as Managed, c as Merge, N as Normalize, S as Scoped, d as assertNever, e as collectStream, f as concatStream, g as emitStream, h as emptyStream, i as flattenStream, j as foreachStream, k as fromArray, l as fromPull, m as managedStream, n as mapStream, o as merge, p as mergeStream, r as rangeStream, s as streamFromReadableStream, u as uncons, q as unwrapScoped, w as widenOpt, z as zip } from './stream-
|
|
1
|
+
import { F as FiberEngine, W as WasmEngineRuntime, A as Async, R as RuntimeFiber, b as FiberEngineStats, c as Fiber, d as FiberId, e as FiberStatus, E as Exit, f as RuntimeEvent, g as WasmBridge, h as OpcodeProgram, i as FiberId$1, j as EngineEvent, k as RefId, N as NodeId, l as OpcodeNode, S as Scope, m as RingBufferOptions, n as EngineStats, O as Option } from './effect-ISvXPLgc.js';
|
|
2
|
+
export { o as AsyncRegisterRef, a as AsyncWithPromise, p as BoundedRingBuffer, C as CancelToken, q as Canceler, r as Cause, s as CustomHostAction, D as DbHostAction, t as DecodeRef, u as DefaultHostExecutor, v as EngineKind, w as EngineSelection, x as EngineSelectionMode, y as FiberEngineKind, z as FlatMapRef, B as FoldFailureRef, G as FoldSuccessRef, H as HostAction, I as HostActionKind, J as HostActionResult, K as HostExecutionContext, L as HostExecutor, M as HostRegistry, P as HttpHostAction, Q as Interrupted, T as Joiner, U as None, V as NoopHooks, X as ProgramBuilder, Y as ProgramPatch, _ as PushStatus, $ as QueueHostAction, a0 as RingBuffer, a1 as RingBufferEngine, a2 as RingBufferStatsData, a3 as Runtime, a4 as RuntimeCapabilities, a5 as RuntimeEngineMode, a6 as RuntimeOptions, a7 as Scheduler, a8 as SchedulerEngine, a9 as SchedulerOptions, aa as SchedulerStats, ab as SchedulerStatsData, ac as ScopeId, ad as Some, ae as SyncRef, af as Task, ag as WasmFiberEngine, ah as WasmFiberEngineOptions, Z as ZIO, ai as acquireRelease, aj as async, ak as asyncCatchAll, al as asyncFail, am as asyncFlatMap, an as asyncFold, ao as asyncInterruptible, ap as asyncMap, aq as asyncMapError, ar as asyncSucceed, as as asyncSync, at as asyncTotal, au as catchAll, av as end, aw as engineStats, ax as fail, ay as flatMap, az as fork, aA as fromPromiseAbortable, aB as getBenchmarkBudget, aC as getCurrentFiber, aD as globalScheduler, aE as linkAbortController, aF as makeBoundedRingBuffer, aG as makeCancelToken, aH as map, aI as mapAsync, aJ as mapError, aK as mapTryAsync, aL as none, aM as orElseOptional, aN as runtimeCapabilities, aO as selectedEngineStats, aP as setBenchmarkBudget, aQ as some, aR as succeed, aS as sync, aT as toPromise, aU as unit, aV as unsafeGetCurrentRuntime, aW as unsafeRunAsync, aX as unsafeRunFoldWithEnv, aY as withAsyncPromise, aZ as withCurrentFiber, a_ as withScope, a$ as withScopeAsync } from './effect-ISvXPLgc.js';
|
|
3
|
+
import { Z as ZStream } from './stream-BvukHxCv.js';
|
|
4
|
+
export { C as Concat, E as Emit, a as Empty, F as Flatten, b as FromPull, M as Managed, c as Merge, N as Normalize, S as Scoped, d as assertNever, e as collectStream, f as concatStream, g as emitStream, h as emptyStream, i as flattenStream, j as foreachStream, k as fromArray, l as fromPull, m as managedStream, n as mapStream, o as merge, p as mergeStream, r as rangeStream, s as streamFromReadableStream, u as uncons, q as unwrapScoped, w as widenOpt, z as zip } from './stream-BvukHxCv.js';
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
private head;
|
|
14
|
-
private tail;
|
|
15
|
-
private len;
|
|
16
|
-
get length(): number;
|
|
17
|
-
isEmpty(): boolean;
|
|
18
|
-
push(value: T): Node<T>;
|
|
19
|
-
shift(): T | undefined;
|
|
20
|
-
remove(node: Node<T>): void;
|
|
21
|
-
private unlink;
|
|
6
|
+
declare class JsFiberEngine<R> implements FiberEngine<R> {
|
|
7
|
+
private readonly runtime;
|
|
8
|
+
readonly kind: "js";
|
|
9
|
+
private startedFibers;
|
|
10
|
+
constructor(runtime: WasmEngineRuntime<R> & any);
|
|
11
|
+
fork<E, A>(effect: Async<R, E, A>, scopeId?: number): RuntimeFiber<R, E, A>;
|
|
12
|
+
stats(): FiberEngineStats;
|
|
22
13
|
}
|
|
23
14
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
15
|
+
type InternalFiberStatus = "queued" | "running" | "suspended" | "done" | "failed" | "interrupted";
|
|
16
|
+
declare class EngineFiberHandle<R, E, A> implements Fiber<E, A> {
|
|
17
|
+
private readonly onScheduledStep;
|
|
18
|
+
private readonly onInterrupt;
|
|
19
|
+
private readonly onJoiner?;
|
|
20
|
+
private readonly onQueued?;
|
|
21
|
+
readonly id: FiberId;
|
|
22
|
+
readonly runtime: WasmEngineRuntime<R> & any;
|
|
23
|
+
fiberContext: any;
|
|
24
|
+
name?: string;
|
|
25
|
+
scopeId?: number;
|
|
26
|
+
parentFiberId?: number;
|
|
27
|
+
private result;
|
|
28
|
+
private readonly joiners;
|
|
29
|
+
private readonly finalizers;
|
|
30
|
+
private finalizersDrained;
|
|
31
|
+
private internalStatus;
|
|
32
|
+
private queued;
|
|
33
|
+
constructor(id: FiberId, runtime: WasmEngineRuntime<R> & any, onScheduledStep: (fiberId: FiberId) => void, onInterrupt: (fiberId: FiberId, reason: unknown) => void, onJoiner?: ((fiberId: FiberId) => void) | undefined, onQueued?: ((fiberId: FiberId) => void) | undefined);
|
|
34
|
+
status(): FiberStatus;
|
|
35
|
+
engineStatus(): InternalFiberStatus;
|
|
36
|
+
setEngineStatus(status: InternalFiberStatus): void;
|
|
37
|
+
join(cb: (exit: Exit<E, A>) => void): void;
|
|
38
|
+
interrupt(): void;
|
|
39
|
+
addFinalizer(f: (exit: Exit<E, A>) => void): void;
|
|
40
|
+
schedule(tag?: string): void;
|
|
41
|
+
emit(ev: RuntimeEvent): void;
|
|
42
|
+
succeed(value: A): void;
|
|
43
|
+
fail(error: E): void;
|
|
44
|
+
die(defect: unknown): void;
|
|
45
|
+
interrupted(): void;
|
|
46
|
+
complete(exit: Exit<E, A>): void;
|
|
47
|
+
private runFinalizersOnce;
|
|
28
48
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
private
|
|
33
|
-
private
|
|
34
|
-
private
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
49
|
+
|
|
50
|
+
declare class ReferenceWasmBridge implements WasmBridge {
|
|
51
|
+
readonly kind: "wasm-reference";
|
|
52
|
+
private nextFiberId;
|
|
53
|
+
private readonly fibers;
|
|
54
|
+
private started;
|
|
55
|
+
private completed;
|
|
56
|
+
private failed;
|
|
57
|
+
private interrupted;
|
|
58
|
+
createFiber(program: OpcodeProgram): FiberId$1;
|
|
59
|
+
poll(fiberId: FiberId$1): EngineEvent;
|
|
60
|
+
provideValue(fiberId: FiberId$1, valueRef: RefId): EngineEvent;
|
|
61
|
+
provideError(fiberId: FiberId$1, errorRef: RefId): EngineEvent;
|
|
62
|
+
provideEffect(fiberId: FiberId$1, root: NodeId, nodes: OpcodeNode[]): EngineEvent;
|
|
63
|
+
interrupt(fiberId: FiberId$1, reasonRef: RefId): EngineEvent;
|
|
64
|
+
dropFiber(fiberId: FiberId$1): void;
|
|
65
|
+
stats(): unknown;
|
|
66
|
+
private mustFiber;
|
|
67
|
+
private step;
|
|
68
|
+
private success;
|
|
69
|
+
private failure;
|
|
70
|
+
private suspend;
|
|
71
|
+
private markDone;
|
|
72
|
+
private markFailed;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
declare class WasmPackFiberBridge implements WasmBridge {
|
|
76
|
+
readonly kind: "wasm";
|
|
77
|
+
private readonly vm;
|
|
78
|
+
constructor(modulePath?: string);
|
|
79
|
+
createFiber(program: OpcodeProgram): FiberId$1;
|
|
80
|
+
poll(fiberId: FiberId$1): EngineEvent;
|
|
81
|
+
provideValue(fiberId: FiberId$1, valueRef: RefId): EngineEvent;
|
|
82
|
+
provideError(fiberId: FiberId$1, errorRef: RefId): EngineEvent;
|
|
83
|
+
provideEffect(fiberId: FiberId$1, root: NodeId, nodes: OpcodeNode[]): EngineEvent;
|
|
84
|
+
interrupt(fiberId: FiberId$1, reasonRef: RefId): EngineEvent;
|
|
85
|
+
dropFiber(fiberId: FiberId$1): void;
|
|
86
|
+
stats(): unknown;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
type WasmFiberRegistryStats = {
|
|
90
|
+
readonly live: number;
|
|
91
|
+
readonly queued: number;
|
|
92
|
+
readonly running: number;
|
|
93
|
+
readonly suspended: number;
|
|
94
|
+
readonly done: number;
|
|
95
|
+
readonly failed: number;
|
|
96
|
+
readonly interrupted: number;
|
|
97
|
+
readonly wakeQueueLen: number;
|
|
98
|
+
readonly registered: number;
|
|
99
|
+
readonly completed: number;
|
|
100
|
+
readonly wakeups: number;
|
|
101
|
+
readonly duplicateWakeups: number;
|
|
102
|
+
readonly joins: number;
|
|
103
|
+
};
|
|
104
|
+
type FiberRegistryStatus = "queued" | "running" | "suspended" | "done" | "failed" | "interrupted";
|
|
105
|
+
declare class WasmFiberRegistryBridge {
|
|
106
|
+
private readonly registry;
|
|
107
|
+
constructor();
|
|
108
|
+
registerFiber(fiberId: FiberId$1, parentId?: number, scopeId?: number): void;
|
|
109
|
+
markQueued(fiberId: FiberId$1): void;
|
|
110
|
+
markRunning(fiberId: FiberId$1): void;
|
|
111
|
+
markSuspended(fiberId: FiberId$1): void;
|
|
112
|
+
markDone(fiberId: FiberId$1, status: Exclude<FiberRegistryStatus, "queued" | "running" | "suspended">): number;
|
|
113
|
+
dropFiber(fiberId: FiberId$1): void;
|
|
114
|
+
addJoiner(fiberId: FiberId$1): void;
|
|
115
|
+
wake(fiberId: FiberId$1): boolean;
|
|
116
|
+
drainWakeup(): FiberId$1 | undefined;
|
|
117
|
+
drainWakeups(): FiberId$1[];
|
|
118
|
+
wakeQueueLength(): number;
|
|
119
|
+
stateOf(fiberId: FiberId$1): FiberRegistryStatus | "missing";
|
|
120
|
+
stats(): WasmFiberRegistryStats;
|
|
44
121
|
}
|
|
45
122
|
|
|
46
123
|
declare function buffer<R, E, A>(stream: ZStream<{} & R, E, A>, capacity: number, strategy?: "backpressure" | "dropping" | "sliding"): ZStream<{} & R, E, A>;
|
|
@@ -78,7 +155,8 @@ type Queue<A> = {
|
|
|
78
155
|
size: () => number;
|
|
79
156
|
shutdown: () => void;
|
|
80
157
|
};
|
|
81
|
-
|
|
158
|
+
type QueueOptions = RingBufferOptions;
|
|
159
|
+
declare function bounded<A>(capacity: number, strategy?: Strategy, options?: QueueOptions): Async<unknown, unknown, Queue<A>>;
|
|
82
160
|
|
|
83
161
|
type HubStrategy = "BackPressure" | "Dropping" | "Sliding";
|
|
84
162
|
type HubClosed = {
|
|
@@ -98,6 +176,42 @@ declare const broadcast: typeof makeHub;
|
|
|
98
176
|
declare function broadcastToHub<R, E, A>(stream: ZStream<R, E, A>, hub: Hub<A>): Async<R, E, void>;
|
|
99
177
|
declare function fromHub<A>(hub: Hub<A>): ZStream<unknown, HubClosed, A>;
|
|
100
178
|
|
|
179
|
+
type StreamChunkEngine = "auto" | "js" | "wasm";
|
|
180
|
+
type StreamChunkOptions = {
|
|
181
|
+
/**
|
|
182
|
+
* auto: use WASM when wasm/pkg is available, otherwise JS.
|
|
183
|
+
* js: always use the JS array chunker.
|
|
184
|
+
* wasm: require BrassWasmChunkBuffer from wasm/pkg.
|
|
185
|
+
*/
|
|
186
|
+
engine?: StreamChunkEngine;
|
|
187
|
+
};
|
|
188
|
+
type StreamChunkStats = {
|
|
189
|
+
len: number;
|
|
190
|
+
maxChunkSize: number;
|
|
191
|
+
emittedChunks: number;
|
|
192
|
+
emittedItems: number;
|
|
193
|
+
flushes: number;
|
|
194
|
+
};
|
|
195
|
+
type Chunker<A> = {
|
|
196
|
+
readonly length: number;
|
|
197
|
+
readonly maxChunkSize: number;
|
|
198
|
+
push(value: A): boolean;
|
|
199
|
+
isFull(): boolean;
|
|
200
|
+
isEmpty(): boolean;
|
|
201
|
+
takeChunk(): readonly A[];
|
|
202
|
+
clear(): void;
|
|
203
|
+
stats(): EngineStats<StreamChunkStats>;
|
|
204
|
+
};
|
|
205
|
+
declare function makeStreamChunker<A>(chunkSize: number, options?: StreamChunkOptions): Chunker<A>;
|
|
206
|
+
/**
|
|
207
|
+
* Re-chunk a stream so downstream operators receive arrays instead of single
|
|
208
|
+
* items. This is the intended WASM boundary: pay the JS↔WASM crossing while
|
|
209
|
+
* assembling chunks, then process bigger batches downstream.
|
|
210
|
+
*/
|
|
211
|
+
declare function chunks<R, E, A>(input: ZStream<R, E, A>, chunkSize: number, options?: StreamChunkOptions): ZStream<R, E, readonly A[]>;
|
|
212
|
+
declare function mapChunks<R, E, A, B>(input: ZStream<R, E, A>, chunkSize: number, f: (chunk: readonly A[]) => readonly B[], options?: StreamChunkOptions): ZStream<R, E, B>;
|
|
213
|
+
declare function mapChunksEffect<Rp, Ep, A, B>(chunkSize: number, f: (chunk: readonly A[]) => Async<Rp, Ep, readonly B[]>, options?: StreamChunkOptions): <R, E>(input: ZStream<R, E, A>) => ZStream<R & Rp, E | Ep, B>;
|
|
214
|
+
|
|
101
215
|
/**
|
|
102
216
|
* ZPipeline-style transformer.
|
|
103
217
|
*
|
|
@@ -129,6 +243,10 @@ declare function dropP<A>(n: number): ZPipeline<unknown, never, A, A>;
|
|
|
129
243
|
declare function mapEffectP<Rp, Ep, A, B>(f: (a: A) => Async<Rp, Ep, B>): ZPipeline<Rp, Ep, A, B>;
|
|
130
244
|
/** Tap each element with an effect, preserving the element. */
|
|
131
245
|
declare function tapEffectP<Rp, Ep, A>(f: (a: A) => Async<Rp, Ep, any>): ZPipeline<Rp, Ep, A, A>;
|
|
246
|
+
/** Re-chunk a stream into arrays of up to `chunkSize` elements. */
|
|
247
|
+
declare function chunksP<A>(chunkSize: number, options?: StreamChunkOptions): ZPipeline<unknown, never, A, readonly A[]>;
|
|
248
|
+
/** Apply one effect per chunk and flatten the returned chunk back to elements. */
|
|
249
|
+
declare function mapChunksEffectP<Rp, Ep, A, B>(chunkSize: number, f: (chunk: readonly A[]) => Async<Rp, Ep, readonly B[]>, options?: StreamChunkOptions): ZPipeline<Rp, Ep, A, B>;
|
|
132
250
|
/** Buffer upstream using your existing queue-based buffer implementation. */
|
|
133
251
|
declare function bufferP<A>(capacity: number, strategy?: "backpressure" | "dropping" | "sliding"): ZPipeline<unknown, never, A, A>;
|
|
134
252
|
/**
|
|
@@ -137,4 +255,4 @@ declare function bufferP<A>(capacity: number, strategy?: "backpressure" | "dropp
|
|
|
137
255
|
*/
|
|
138
256
|
declare function groupedP<A>(n: number): ZPipeline<unknown, never, A, A[]>;
|
|
139
257
|
|
|
140
|
-
export { Async, Exit, Fiber, type Hub, type HubClosed, type HubStrategy,
|
|
258
|
+
export { Async, EngineEvent, EngineFiberHandle, EngineStats, Exit, Fiber, FiberEngine, FiberEngineStats, FiberId, FiberStatus, type Hub, type HubClosed, type HubStrategy, type InternalFiberStatus, JsFiberEngine, NodeId, OpcodeNode, OpcodeProgram, Option, type Queue, type QueueClosed, type QueueOptions, RefId, ReferenceWasmBridge, RingBufferOptions, RuntimeFiber, Scope, type Strategy, type StreamChunkEngine, type StreamChunkOptions, type StreamChunkStats, type Subscription, WasmBridge, WasmEngineRuntime, WasmFiberRegistryBridge, type WasmFiberRegistryStats, WasmPackFiberBridge, type ZPipeline, ZStream, andThen, bounded, broadcast, broadcastToHub, buffer, bufferP, chunks, chunksP, collectAllPar, compose, dropP, filterMapP, filterP, fromHub, groupedP, identity, makeHub, makeStreamChunker, mapChunks, mapChunksEffect, mapChunksEffectP, mapEffectP, mapP, race, raceWith, takeP, tapEffectP, via, zipPar };
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import {b,p,d,k,a,f as f$1}from'./chunk-
|
|
1
|
+
import {b,p,d,k,a,f as f$1}from'./chunk-JAQUSSUV.js';export{l as assertNever,r as collectStream,h as concatStream,g as emitStream,f as emptyStream,i as flattenStream,p as foreachStream,q as fromArray,b as fromPull,d as managedStream,m as mapStream,j as merge,e as mergeStream,n as rangeStream,s as streamFromReadableStream,k as uncons,c as unwrapScoped,a as widenOpt,o as zip}from'./chunk-JAQUSSUV.js';import {h,H,j,i,l,f,d as d$1,r,O,s,b as b$1,g,G as G$1,aa}from'./chunk-LTHJNW5A.js';export{a as Async,t as Cause,Q as DefaultHostExecutor,U as EngineFiberHandle,u as Exit,S as HostRegistry,R as JsFiberEngine,_ as NoopHooks,T as ProgramBuilder,E as PushStatus,V as ReferenceWasmBridge,F as RingBuffer,$ as Runtime,M as RuntimeFiber,I as Scheduler,fa as Scope,Y as WasmFiberEngine,X as WasmFiberRegistryBridge,W as WasmPackFiberBridge,m as acquireRelease,j as async,c as asyncCatchAll,g as asyncFail,l as asyncFlatMap,b as asyncFold,n as asyncInterruptible,k as asyncMap,d as asyncMapError,f as asyncSucceed,h as asyncSync,i as asyncTotal,B as catchAll,ka as collectAllPar,D as end,w as fail,z as flatMap,aa as fork,da as fromPromiseAbortable,L as getBenchmarkBudget,N as getCurrentFiber,J as globalScheduler,H as makeBoundedRingBuffer,y as map,p as mapAsync,A as mapError,q as mapTryAsync,r as none,C as orElseOptional,ia as race,la as raceWith,Z as runtimeCapabilities,K as setBenchmarkBudget,s as some,v as succeed,x as sync,ca as toPromise,e as unit,O as unsafeGetCurrentRuntime,ba as unsafeRunAsync,ea as unsafeRunFoldWithEnv,o as withAsyncPromise,P as withCurrentFiber,ha as withScope,ga as withScopeAsync,ja as zipPar}from'./chunk-LTHJNW5A.js';function En(){let n=false,e=new Set;return {isCancelled:()=>n,onCancel:r=>{if(n){try{r();}catch{}return ()=>{}}return e.add(r),()=>{e.delete(r);}},cancel:()=>{n||(n=true,e.forEach(r=>r()),e.clear());}}}function An(n,e){return n.onCancel(()=>e.abort())}var C=class{head=null;tail=null;len=0;get length(){return this.len}isEmpty(){return this.len===0}push(e){let t={value:e,next:null,prev:this.tail,removed:false};return this.tail?this.tail.next=t:this.head=t,this.tail=t,this.len++,t}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:t,next:r}=e;t?t.next=r:this.head=r,r?r.prev=t:this.tail=t,e.next=null,e.prev=null,this.len--;}};function B(n,e="backpressure",t={}){return h(()=>X(n,e,t))}function X(n,e,t){let r=H(n,n,t),i=false,a={_tag:"QueueClosed"},o=new C,s=new C;return {size:()=>r.length,shutdown:()=>{if(!i){for(i=true;s.length>0;)s.shift()({_tag:"Failure",cause:{_tag:"Fail",error:a}});for(;o.length>0;)o.shift().cb(false);r.clear();}},offer:l=>j((f,y)=>{if(i){y({_tag:"Success",value:false});return}if(s.length>0){s.shift()({_tag:"Success",value:l}),y({_tag:"Success",value:true});return}if(r.length<n){r.push(l),y({_tag:"Success",value:true});return}if(e==="dropping"){y({_tag:"Success",value:false});return}if(e==="sliding"){r.shift(),r.push(l),y({_tag:"Success",value:true});return}let R=o.push({a:l,cb:E=>y({_tag:"Success",value:E})});return ()=>{o.remove(R);}}),take:()=>j((l,f)=>{if(r.length>0){let c=r.shift();if(f({_tag:"Success",value:c}),o.length>0&&r.length<n){let E=o.shift();r.push(E.a),E.cb(true);}return}if(o.length>0){let c=o.shift();c.cb(true),f({_tag:"Success",value:c.a});return}if(i){f({_tag:"Failure",cause:{_tag:"Fail",error:a}});return}let y=s.push(f);return ()=>{s.remove(y);}})}}var Y={_tag:"End"};function q(n,e,t="backpressure"){let r$1=false,i=null,a=null,o=n,s$1=c=>f(c._tag==="None"?Y:{_tag:"Fail",error:c.value}),u=([c,E])=>h(()=>(o=E,{_tag:"Elem",value:c})),l$1=()=>b$1(k(o),s$1,u),f$1=c=>l(B(e,t),E=>{i=E;let x,Z=()=>x._tag!=="Elem"?f(void 0):Q(),v=z=>(x=z,l(i.offer(z),Z)),Q=()=>l(l$1(),v);return a=aa(Q(),c),f(void 0)}),y={_tag:"Async",register:(c,E)=>{(()=>{if(!r$1){r$1=true,O().fork(f$1(c)).join(()=>{R(c,E);});return}R(c,E);})();}};function R(c,E){let x=i.take();O().fork(x).join(Z=>{if(Z._tag!=="Success")return;let v=Z.value;switch(v._tag){case "Elem":E({_tag:"Success",value:[v.value,b(y)]});return;case "End":a?.interrupt?.(),E({_tag:"Failure",cause:{_tag:"Fail",error:r}});return;case "Fail":a?.interrupt?.(),E({_tag:"Failure",cause:{_tag:"Fail",error:s(v.error)}});return}});}return b(y)}var $=n=>n==="BackPressure"?"backpressure":n==="Dropping"?"dropping":"sliding";function ee(n,e="BackPressure"){let t=new Set,r=false,i$1=u=>{if(r)return f(false);let l$1=t.size;if(l$1===0)return f(true);if(l$1===1)return t.values().next().value.offer(u);let f$1=f(true);for(let y of t)f$1=l(f$1,R=>l(y.offer(u),c=>f(R&&c)));return f$1};return {publish:i$1,publishAll:u=>{let l$1=f(true),f$1=u[Symbol.iterator]();for(;;){let y=f$1.next();if(y.done)break;let R=y.value;l$1=l(l$1,c=>l(i$1(R),E=>f(c&&E)));}return l$1},subscribe:()=>r?i(()=>{throw {_tag:"HubClosed"}}):l(B(n,$(e)),u=>h(()=>(t.add(u),{...u,unsubscribe:()=>{t.has(u)&&(t.delete(u),u.shutdown());}}))),shutdown:()=>h(()=>{if(!r){r=true;for(let u of t)u.shutdown();t.clear();}})}}var $n=ee;function et(n,e){return p(n,t=>l(e.publish(t),()=>f(void 0)))}function nt(n){return d(l(n.subscribe(),e=>{let t=b(l(d$1(e.take(),r$1=>r),r=>f([r,t])));return f({stream:t,release:r=>h(()=>e.unsubscribe())})}))}var _;function G(){return _!==void 0||(_=G$1()?.BrassWasmChunkBuffer??null),_}var P=class{constructor(e,t=false){this.maxChunkSize=e;this.fallbackUsed=t;}maxChunkSize;fallbackUsed;engine="js";values=[];emittedChunks=0;emittedItems=0;flushes=0;get length(){return this.values.length}push(e){return this.values.length>=this.maxChunkSize?false:(this.values.push(e),true)}isFull(){return this.values.length>=this.maxChunkSize}isEmpty(){return this.values.length===0}takeChunk(){this.flushes+=1;let e=this.values;return this.values=[],e.length>0&&(this.emittedChunks+=1,this.emittedItems+=e.length),e}clear(){this.values=[];}stats(){return {engine:"js",fallbackUsed:this.fallbackUsed,data:{len:this.values.length,maxChunkSize:this.maxChunkSize,emittedChunks:this.emittedChunks,emittedItems:this.emittedItems,flushes:this.flushes}}}},T=class{engine="wasm";fallbackUsed=false;inner;constructor(e){let t=G();if(!t)throw new Error("brass-runtime wasm chunk buffer is not available. Run npm run build:wasm first.");this.inner=new t(e);}get length(){return this.inner.len()}get maxChunkSize(){return this.inner.max_chunk_size()}push(e){return this.inner.push(e)}isFull(){return this.inner.is_full()}isEmpty(){return this.inner.is_empty()}takeChunk(){return Array.from(this.inner.take_chunk())}clear(){this.inner.clear();}stats(){return {engine:"wasm",fallbackUsed:false,data:JSON.parse(this.inner.stats_json())}}};function ne(n,e={}){let t=Math.max(1,n|0),r=e.engine??"auto";return r==="js"?new P(t,false):r==="wasm"?new T(t):G()?new T(t):new P(t,true)}function F(n,e,t={}){let r$1=Math.max(1,e|0),i=o=>b(a(o,ne(r$1,t))),a=(o,s)=>b$1(k(o),u=>u._tag==="None"&&!s.isEmpty()?f([s.takeChunk(),b(g(r))]):g(u),([u,l])=>(s.push(u),s.isFull()?f([s.takeChunk(),i(l)]):a(l,s)));return i(n)}function pt(n,e,t,r={}){let i=(a,o)=>{if(a.length>0){let[s,...u]=a;return b(f([s,i(u,o)]))}return b(b$1(k(o),s=>g(s),([s,u])=>{let l=t(s);return k(i(l,u))}))};return i([],F(n,e,r))}function L(n,e,t={}){return(r=>{let i=F(r,n,t),a$1=(o,s)=>{if(o.length>0){let[u,...l]=o;return b(f([u,a$1(l,s)]))}return b(b$1(d$1(k(s),u=>a(u)),u=>g(u),([u,l])=>b$1(d$1(e(u),f=>({_tag:"Some",value:f})),f=>g(f),f=>k(a$1(f,l)))))};return a$1([],i)})}function kt(n,e){return e(n)}function te(n,e){return(t=>e(n(t)))}function bt(n,e){return te(e,n)}function xt(){return(n=>n)}function vt(n){return(e=>{let t=a=>g(a),r=([a,o])=>f([n(a),i(o)]),i=a=>b(b$1(k(a),t,r));return i(e)})}function Ct(n){return(e=>{let t=o=>g(o),r=([o,s])=>n(o)?f([o,a(s)]):i(s),i=o=>b$1(k(o),t,r),a=o=>b(i(o));return a(e)})}function Zt(n){return(e=>{let t=a=>g(a),r=a=>b$1(k(a),t,([o,s])=>{let u=n(o);return u._tag==="Some"?f([u.value,i(s)]):r(s)}),i=a=>b(r(a));return i(e)})}function wt(n){let e=Math.max(0,n|0);return(t=>{let r=(i,a)=>a<=0?f$1():b(b$1(k(i),o=>g(o),([o,s])=>f([o,r(s,a-1)])));return r(t,e)})}function Ot(n){let e=Math.max(0,n|0);return(t=>{let r=(i,a)=>a<=0?i:b(b$1(k(i),o=>g(o),([o,s])=>k(r(s,a-1))));return r(t,e)})}function re(n){return(e=>{let t=i=>d$1(i,a=>s(a)),r=i=>b(b$1(d$1(k(i),a$1=>a(a$1)),a=>g(a),([a,o])=>b$1(t(n(a)),s=>g(s),s=>f([s,r(o)]))));return r(e)})}function Bt(n){return re(e=>l(n(e),()=>f(e)))}function _t(n,e={}){return(t=>F(t,n,e))}function Pt(n,e,t={}){return L(n,e,t)}function Tt(n,e="backpressure"){return(t=>q(t,n,e))}function Ft(n){let e=Math.max(1,n|0);return(t=>{let r=(a,o,s)=>o<=0?f({chunk:s,rest:a}):b$1(k(a),u=>u._tag==="None"?f({chunk:s,rest:f$1()}):g(u),([u,l])=>r(l,o-1,[...s,u])),i=a=>b(b$1(k(a),o=>g(o),([o,s])=>l(r(s,e-1,[o]),({chunk:u,rest:l})=>f([u,i(l)]))));return i(t)})}function It(n,e,t=false){return {engine:n,data:e,fallbackUsed:t}}function Ht(n,e,t){return {requested:n,engine:e,data:t,fallbackUsed:n==="auto"&&e!=="wasm"}}export{te as andThen,B as bounded,$n as broadcast,et as broadcastToHub,q as buffer,Tt as bufferP,F as chunks,_t as chunksP,bt as compose,Ot as dropP,It as engineStats,Zt as filterMapP,Ct as filterP,nt as fromHub,Ft as groupedP,xt as identity,An as linkAbortController,En as makeCancelToken,ee as makeHub,ne as makeStreamChunker,pt as mapChunks,L as mapChunksEffect,Pt as mapChunksEffectP,re as mapEffectP,vt as mapP,Ht as selectedEngineStats,wt as takeP,Bt as tapEffectP,kt as via};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "brass-runtime",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.13.2",
|
|
4
4
|
"description": "Effect runtime utilities for TypeScript",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Augusto Vivaldelli",
|
|
@@ -23,10 +23,16 @@
|
|
|
23
23
|
"import": "./dist/agent/index.js",
|
|
24
24
|
"require": "./dist/agent/index.cjs"
|
|
25
25
|
},
|
|
26
|
-
"./package.json": "./package.json"
|
|
26
|
+
"./package.json": "./package.json",
|
|
27
|
+
"./wasm/pkg/brass_runtime_wasm_engine.js": "./wasm/pkg/brass_runtime_wasm_engine.js",
|
|
28
|
+
"./wasm/pkg/brass_runtime_wasm_engine_bg.wasm": "./wasm/pkg/brass_runtime_wasm_engine_bg.wasm"
|
|
27
29
|
},
|
|
28
30
|
"files": [
|
|
29
31
|
"dist",
|
|
32
|
+
"wasm/pkg/brass_runtime_wasm_engine.js",
|
|
33
|
+
"wasm/pkg/brass_runtime_wasm_engine_bg.wasm",
|
|
34
|
+
"wasm/pkg/package.json",
|
|
35
|
+
"wasm/pkg/*.d.ts",
|
|
30
36
|
"README.md",
|
|
31
37
|
"LICENSE",
|
|
32
38
|
"package.json"
|
|
@@ -50,12 +56,18 @@
|
|
|
50
56
|
"scripts": {
|
|
51
57
|
"dev": "tsx src/examples/index.ts",
|
|
52
58
|
"clean": "rimraf dist",
|
|
59
|
+
"test": "vitest run",
|
|
60
|
+
"test:watch": "vitest",
|
|
61
|
+
"test:coverage": "vitest run --coverage",
|
|
62
|
+
"test:types": "tsc -p tsconfig.json --noEmit",
|
|
63
|
+
"check": "npm run test:types && npm run test && npm run test:coverage",
|
|
64
|
+
"check:full": "npm run clean && npm run build && npm run test",
|
|
53
65
|
"build": "tsup",
|
|
54
66
|
"build:legacy": "npm run clean && npm run build:types && npm run build:esm && npm run build:cjs",
|
|
55
67
|
"build:types": "tsc -p tsconfig.types.json",
|
|
56
68
|
"build:esm": "tsc -p tsconfig.esm.json",
|
|
57
69
|
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
58
|
-
"prepublishOnly": "npm run build",
|
|
70
|
+
"prepublishOnly": "npm run build:wasm && npm run build",
|
|
59
71
|
"agent:dev": "tsx src/agent/cli/main.ts",
|
|
60
72
|
"agent:doctor": "tsx src/agent/cli/main.ts --doctor",
|
|
61
73
|
"agent:vscode:package": "node scripts/install-vscode-extension.mjs --no-code-install --no-settings",
|
|
@@ -73,23 +85,22 @@
|
|
|
73
85
|
"agent:vscode:install:global": "npm run agent:link && node scripts/install-vscode-extension.mjs --use-global-command --no-root-build",
|
|
74
86
|
"agent:vscode:bundle": "npm run build && node scripts/prepare-vscode-bundle.mjs",
|
|
75
87
|
"agent:vscode:uninstall:global": "npm run agent:vscode:clean && npm run agent:unlink",
|
|
76
|
-
"agent:vscode:reinstall:global": "npm run agent:vscode:uninstall:global && npm run agent:vscode:install:global"
|
|
88
|
+
"agent:vscode:reinstall:global": "npm run agent:vscode:uninstall:global && npm run agent:vscode:install:global",
|
|
89
|
+
"benchmark": "tsx src/benchmarks/runner.ts",
|
|
90
|
+
"benchmark:json": "tsx src/benchmarks/runner.ts --json",
|
|
91
|
+
"test:coverage:html": "vitest run --coverage --reporter=default",
|
|
92
|
+
"build:wasm": "cd crates/brass-runtime-wasm-engine && wasm-pack build --target nodejs --out-dir ../../wasm/pkg"
|
|
77
93
|
},
|
|
78
94
|
"devDependencies": {
|
|
79
|
-
"@
|
|
80
|
-
"@
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"@semantic-release/npm": "^13.1.3",
|
|
84
|
-
"@semantic-release/release-notes-generator": "^14.0.0",
|
|
85
|
-
"@types/node": "^25.6.0",
|
|
86
|
-
"conventional-changelog-conventionalcommits": "^7.x.x",
|
|
95
|
+
"@types/node": "^22.15.0",
|
|
96
|
+
"@vitest/coverage-v8": "^4.1.5",
|
|
97
|
+
"conventional-changelog-conventionalcommits": "^9.3.1",
|
|
98
|
+
"fast-check": "^4.7.0",
|
|
87
99
|
"rimraf": "^6.1.2",
|
|
88
|
-
"semantic-release": "^25.0.2",
|
|
89
|
-
"ts-node-dev": "^2.0.0",
|
|
90
100
|
"tsup": "^8.5.1",
|
|
91
101
|
"tsx": "^4.21.0",
|
|
92
|
-
"typescript": "^5.9.3"
|
|
102
|
+
"typescript": "^5.9.3",
|
|
103
|
+
"vitest": "^4.1.5"
|
|
93
104
|
},
|
|
94
105
|
"repository": {
|
|
95
106
|
"type": "git",
|
|
@@ -100,6 +111,6 @@
|
|
|
100
111
|
},
|
|
101
112
|
"homepage": "https://github.com/BaldrVivaldelli/brass-runtime#readme",
|
|
102
113
|
"bin": {
|
|
103
|
-
"brass-agent": "
|
|
114
|
+
"brass-agent": "dist/agent/cli/main.cjs"
|
|
104
115
|
}
|
|
105
116
|
}
|
package/dist/chunk-63MXGA7P.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var O={succeed:n=>({_tag:"Succeed",value:n}),fail:n=>({_tag:"Fail",error:n}),sync:n=>({_tag:"Sync",thunk:n}),async:n=>({_tag:"Async",register:n})};function v(n,e,t){return {_tag:"Fold",first:n,onFailure:e,onSuccess:t}}function ne(n,e){return v(n,t=>e(t),t=>R(t))}function B(n,e){return v(n,t=>k(e(t)),t=>R(t))}var g=()=>R(void 0),R=n=>({_tag:"Succeed",value:n}),k=n=>({_tag:"Fail",error:n}),I=n=>({_tag:"Sync",thunk:n}),re=n=>I(()=>n()),y=n=>({_tag:"Async",register:n});function P(n,e){return p(n,t=>R(e(t)))}function p(n,e){return {_tag:"FlatMap",first:n,andThen:e}}function se(n,e,t){return p(n,r=>(t.addFinalizer(s=>e(r,s)),R(r)))}function ie(n){return y(n)}var oe=n=>e=>{let t=e;return t.toPromise||(t.toPromise=r=>n(e,r),t.unsafeRunPromise=()=>n(e,{})),t},ae=(n,e)=>p(n,t=>R(e(t))),ce=(n,e)=>p(n,t=>I(()=>e(t)));var z={_tag:"None"},le=n=>({_tag:"Some",value:n});var h={fail:n=>({_tag:"Fail",error:n}),interrupt:()=>({_tag:"Interrupt"}),die:n=>({_tag:"Die",defect:n})},d={succeed:n=>({_tag:"Success",value:n}),failCause:n=>({_tag:"Failure",cause:n})},he=n=>R(n),G=n=>k(n),fe=n=>I(e=>n(e)),Ae=(n,e)=>P(n,e),Ee=(n,e)=>p(n,t=>e(t)),Re=(n,e)=>B(n,e),me=(n,e)=>v(n,t=>e(t),t=>R(t));function ge(n,e){return v(n,t=>t._tag==="Some"?k(t):e(),t=>R(t))}var ve=()=>G(z);var $=(r=>(r[r.Ok=0]="Ok",r[r.Grew=1]="Grew",r[r.Dropped=2]="Dropped",r))($||{}),C=class{buf;head=0;tail=0;size_=0;maxCap;constructor(e=1024,t=e){let r=Math.max(2,this.nextPow2(e)),s=Math.max(r,this.nextPow2(t));this.buf=new Array(r),this.maxCap=s;}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 s=0;s<this.size_;s++)r[s]=e[this.head+s&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 U=2048,j=4096,J=(()=>{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)})(),N=class{queue=new C(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>j?"macro":"micro";this.requestFlush(r);}}requestFlush(e){e==="micro"?queueMicrotask(()=>this.flush()):J(()=>this.flush());}flush(){if(this.flushing)return;this.flushing=true,this.scheduled=false;let e=0;try{for(;e<U;){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>=U||this.queue.length>j?"macro":"micro";this.requestFlush(t);}}}},b=new N;var M={parent:null,patch:Object.create(null)};function q(n,e){let t=L(n);return {initChild(r,s,i){let o=s?.fiberContext,a=V(t,o?.trace??null);r.fiberContext={log:o?.log??M,trace:a},r.parentFiberId=s?.id,r.name=t.childName(s?.name),i!==void 0&&(r.scopeId=i),e.emit({type:"fiber.start",fiberId:r.id,parentFiberId:s?.id,scopeId:r.scopeId,name:r.name},{fiberId:s?.id,traceId:o?.trace?.traceId,spanId:o?.trace?.spanId});}}}function L(n){let e={newTraceId:()=>Z("trace"),newSpanId:()=>Z("span")},t=n?.brass,r=t?.tracer??e,s=t?.traceSeed,i=t?.childName??(o=>o?`${o}/child`:void 0);return {tracer:r,seed:s,childName:i}}function Z(n){let e=globalThis.crypto;return typeof e?.randomUUID=="function"?e.randomUUID():`${n}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}function V(n,e){return e?{traceId:e.traceId,spanId:n.tracer.newSpanId(),parentSpanId:e.spanId,sampled:e.sampled}:n.seed?{...n.seed}:{traceId:n.tracer.newTraceId(),spanId:n.tracer.newSpanId(),sampled:true}}var Q={emit(){}},F=class n{env;scheduler;hooks;forkPolicy;registry;constructor(e){this.env=e.env,this.scheduler=e.scheduler??b,this.hooks=e.hooks??Q,this.forkPolicy=q(this.env,this.hooks);}provide(e){return new n({env:Object.assign({},this.env,e),scheduler:this.scheduler,hooks:this.hooks})}emit(e){let t=x(),r={fiberId:t?.id,scopeId:t?.scopeId,traceId:t?.fiberContext?.trace?.traceId,spanId:t?.fiberContext?.trace?.spanId};this.hooks.emit(e,r);}fork(e,t){let r=x(),s=new _(this,e);return t!==void 0&&(s.scopeId=t),this.forkPolicy.initChild(s,r,t),s.schedule("initial-step"),s}unsafeRunAsync(e,t){this.fork(e).join(t);}toPromise(e){return new Promise((t,r)=>{this.fork(e).join(i=>{if(i._tag==="Success")t(i.value);else {let o=i.cause;o?._tag==="Fail"?r(o.error):r(new Error("Interrupted"));}});})}unsafeRun(e){this.unsafeRunAsync(e,()=>{});}delay(e,t){return y((r,s)=>{let i=setTimeout(()=>{this.unsafeRunAsync(t,s);},e);return ()=>clearTimeout(i)})}static make(e,t=b){return new n({env:e,scheduler:t})}log(e,t,r){this.emit({type:"log",level:e,message:t,fields:r});}};function ze(n,e){return F.make(e??{}).fork(n)}function T(n,e,t){F.make(e??{}).unsafeRunAsync(n,t);}function Ue(n,e){return F.make(e??{}).toPromise(n)}function je(n,e){return {_tag:"Async",register:(t,r)=>{let s=new AbortController,i=false;return n(s.signal,t).then(o=>{i||(i=true,r(d.succeed(o)));}).catch(o=>{i||(i=true,r(d.failCause(h.fail(e(o)))));}),()=>{i||(i=true,s.abort(),r(d.failCause(h.interrupt())));}}}}function Me(n,e,t,r){T(n,e,s=>{s._tag==="Failure"?t(s.cause):r(s.value);});}var w=null,A={CONTINUE:"Continue",SUSPEND:"Suspend",DONE:"Done"},m={QUEUED:"Queued",RUNNING:"Running",SUSPENDED:"Suspended",DONE:"Done"},W=1,H=1024;function K(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:s=>({_tag:"FlatMap",first:t.andThen(s),andThen:r})};}return e}var _=class{id;runtime;closing=null;finishing=false;runState=m.RUNNING;interrupted=false;result=null;joiners=[];current;stack=[];fiberFinalizers=[];finalizersDrained=false;fiberContext;name;scopeId;constructor(e,t){this.id=W++,this.runtime=e,this.current=t;}get env(){return this.runtime.env}get scheduler(){return this.runtime.scheduler??b}emit(e){this.runtime.hooks.emit(e,{fiberId:this.id,scopeId:this.scopeId,traceId:this.fiberContext?.trace?.traceId,spanId:this.fiberContext?.trace?.spanId});}addFinalizer(e){this.fiberFinalizers.push(e);}status(){return this.result==null?"Running":this.result._tag==="Failure"&&this.result.cause._tag==="Interrupt"?"Interrupted":"Done"}join(e){this.result!=null?e(this.result):this.joiners.push(e);}interrupt(){this.result==null&&(this.interrupted||(this.interrupted=true,this.schedule("interrupt-step")));}schedule(e="step"){this.runState===m.DONE||this.runState===m.QUEUED||(this.runState===m.SUSPENDED&&this.emit({type:"fiber.resume",fiberId:this.id}),this.runState=m.QUEUED,this.scheduler.schedule(()=>{X(this,()=>{if(this.runState===m.DONE)return;switch(this.runState=m.RUNNING,this.step()){case A.CONTINUE:this.schedule("continue");return;case A.SUSPEND:this.runState=m.SUSPENDED,this.emit({type:"fiber.suspend",fiberId:this.id});return;case A.DONE:this.runState=m.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{let r=t(e);r&&typeof r=="object"&&"_tag"in r&&T(r,this.env,()=>{});}catch{}}}notify(e){if(this.result!=null||this.closing!=null)return;this.finishing=true,this.closing=e,this.runFinalizersOnce(e),this.result=e;let t=e._tag==="Success"?"success":e.cause._tag==="Interrupt"?"interrupted":"failure";this.emit({type:"fiber.end",fiberId:this.id,status:t,error:e._tag==="Failure"?e.cause:void 0});for(let r of this.joiners)r(e);this.joiners.length=0;}onSuccess(e){let t=this.stack.pop();if(!t){this.notify(d.succeed(e));return}if(t._tag==="SuccessCont"){try{this.current=t.k(e);}catch(r){this.notify(d.failCause(h.die(r)));}return}try{this.current=t.onSuccess(e);}catch(r){this.notify(d.failCause(h.die(r)));}}onFailure(e){for(;this.stack.length>0;){let t=this.stack.pop();if(t._tag==="FoldCont")try{this.current=t.onFailure(e);return}catch(r){e=r;continue}}this.notify(d.failCause(h.fail(e)));}budget=H;step(){if(this.result!=null)return A.DONE;if(this.interrupted)return this.notify(d.failCause(h.interrupt())),A.DONE;for(this.budget=H;this.budget-- >0;){this.current=K(this.current);let e=this.current;switch(e._tag){case "Succeed":{this.onSuccess(e.value);break}case "Fail":{this.onFailure(e.error);break}case "FlatMap":{this.stack.push({_tag:"SuccessCont",k:e.andThen}),this.current=e.first;break}case "Fold":{this.stack.push({_tag:"FoldCont",onFailure:e.onFailure,onSuccess:e.onSuccess}),this.current=e.first;break}case "Async":{if(this.finishing)return this.result!=null?A.DONE:A.CONTINUE;let t=false,r=i=>{if(t||(t=true,this.result!=null||this.closing!=null))return;if(i._tag==="Success"){this.current=O.succeed(i.value),this.schedule("async-resume");return}let o=i.cause;if(o._tag==="Interrupt"){this.notify(d.failCause(h.interrupt()));return}if(o._tag==="Fail"){this.current=O.fail(o.error),this.schedule("async-resume");return}this.notify(d.failCause(h.die(o.defect)));},s=e.register(this.env,r);return typeof s=="function"&&this.addFinalizer(()=>{t=true;try{s();}catch{}}),A.SUSPEND}case "Fork":{let t=this.runtime.fork(e.effect,e.scopeId);this.onSuccess(t);break}case "Sync":{try{let t=e.thunk(this.env);this.onSuccess(t);}catch(t){this.onFailure(t);}break}default:return this.onFailure(new Error(`Unknown opcode: ${e._tag}`)),A.CONTINUE}if(this.result!=null)return A.DONE}return A.CONTINUE}};function x(){return w}function Ve(){let n=x();if(!n?.runtime)throw new Error("unsafeGetCurrentRuntime: no current fiber/runtime");return n.runtime}function X(n,e){let t=w;w=n;try{return e()}finally{w=t;}}var Y=1;function ee(n){return y((e,t)=>{let r=n.length;if(r===0){t({_tag:"Success",value:void 0});return}for(let s of n)s.join(()=>{r-=1,r===0&&t({_tag:"Success",value:void 0});});})}var D=class n{constructor(e,t){this.runtime=e;this.parentScopeId=t;this.id=Y++;let r=this.parentScopeId??x()?.scopeId;this.runtime.emit({type:"scope.open",scopeId:this.id,parentScopeId:r});}id;closed=false;children=new Set;subScopes=new Set;finalizers=[];addFinalizer(e){if(this.closed)throw new Error("Trying to add finalizer to closed scope");this.finalizers.push(e);}subScope(){if(this.closed)throw new Error("Scope closed");let e=new n(this.runtime,this.id);return this.subScopes.add(e),e}fork(e){if(this.closed)throw new Error("Scope closed");let t=this.runtime.fork(e,this.id);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={awaitChildren:true}){return p(g(),()=>y((r,s)=>{if(this.closed){s({_tag:"Success",value:void 0});return}this.closed=true;let i=Array.from(this.children),o=Array.from(this.subScopes);for(let l of i)l.interrupt();let a=o.reduceRight((l,c)=>p(l,()=>c.closeAsync(e,t)),g()),u=this.finalizers.reduceRight((l,c)=>p(l,()=>v(c(e),()=>g(),()=>g())),g()),f=t.awaitChildren?ee(i):g(),E=p(a,()=>p(f,()=>u));this.runtime.fork(E).join(()=>{let l=e._tag==="Success"?"success":e.cause._tag==="Interrupt"?"interrupted":"failure";this.runtime.emit({type:"scope.close",scopeId:this.id,status:l,error:e._tag==="Failure"&&e.cause._tag==="Fail"?e.cause.error:void 0}),s({_tag:"Success",value:void 0});});}))}};function te(n,e){return y((t,r)=>{let s=new D(n),i=false,o=u=>{n.fork(s.closeAsync(u)).join(()=>{i||(i=true,r(u));});},a=n.fork(e(s));return a.join(o),()=>{i||(a.interrupt(),n.fork(s.closeAsync(d.failCause(h.interrupt()))));}})}function tt(n,e){return te(n,t=>{let r=e(t);return r&&typeof r=="object"&&"_tag"in r?r:g()})}function it(n,e,t){return y((r,s)=>{let i=t.subScope(),o=false,a=E=>{o||(o=true,i.close(E),s(E));},u=i.fork(n),f=i.fork(e);u.join(a),f.join(a);})}function ot(n,e,t){return y((r,s)=>{let i=t.subScope(),o=null,a=null,u=false,f=()=>{if(!o||!a||u)return;if(u=true,o._tag==="Success"&&a._tag==="Success"){i.close({_tag:"Success",value:void 0}),s({_tag:"Success",value:[o.value,a.value]});return}let c;if(o._tag==="Failure")c=o.cause;else if(a._tag==="Failure")c=a.cause;else throw new Error("zipPar: unreachable state (no Failure exit)");let S={_tag:"Failure",cause:c};i.close(S),s(S);},E=i.fork(n),l=i.fork(e);E.join(c=>{o=c,f();}),l.join(c=>{a=c,f();});})}function at(n,e){return y((t,r)=>{let s=e.subScope(),i=new Array(n.length),o=0,a=false;n.forEach((u,f)=>{s.fork(u).join(l=>{if(!a){if(l._tag==="Failure"){a=true;let c={_tag:"Failure",cause:l.cause};s.close(c),r(c);return}if(i[f]=l.value,o++,o===n.length){a=true;let c={_tag:"Success",value:i};s.close({_tag:"Success",value:void 0}),r(c);}}});});})}function ct(n,e,t,r,s){return y((i,o)=>{let a=t.subScope(),u=false,f=a.fork(n),E=a.fork(e),l=c=>{a.fork(c).join(S=>{a.close(S),o(S);});};f.join(c=>{u||(u=true,l(r(c,E,a)));}),E.join(c=>{u||(u=true,l(s(c,f,a)));});})}export{Re as A,me as B,ge as C,ve as D,$ as E,C as F,N as G,b as H,_ as I,x as J,Ve as K,X as L,F as M,ze as N,T as O,Ue as P,je as Q,Me as R,D as S,te as T,tt as U,it as V,ot as W,at as X,ct as Y,O as a,v as b,ne as c,B as d,g as e,R as f,k as g,I as h,re as i,y as j,P as k,p as l,se as m,ie as n,oe as o,ae as p,ce as q,z as r,le as s,h as t,d as u,he as v,G as w,fe as x,Ae as y,Ee as z};
|
package/dist/chunk-7PHP7KQB.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
'use strict';var chunkT3QEEHK6_cjs=require('./chunk-T3QEEHK6.cjs');var N=e=>e._tag==="None"?chunkT3QEEHK6_cjs.r:chunkT3QEEHK6_cjs.s(e.value),A=e=>({_tag:"FromPull",pull:e}),T=(e,a)=>({_tag:"Scoped",acquire:e,release:a}),K=e=>({_tag:"Managed",acquire:e}),Q=(e,a,r=true)=>({_tag:"Merge",left:e,right:a,flip:r}),b=()=>({_tag:"Empty"}),$=e=>({_tag:"Emit",value:e}),B=(e,a)=>({_tag:"Concat",left:e,right:a}),z=e=>({_tag:"Flatten",stream:e});function G(e,a,r,t,n){return (o,E,R)=>{if(o._tag,o._tag,o._tag==="Success"){let[s,i]=o.value;E.interrupt();let d=A(e==="L"?k(i,r):k(a,i));return chunkT3QEEHK6_cjs.f([s,d])}if(o.cause._tag==="Interrupt")return chunkT3QEEHK6_cjs.j((s,i)=>{i(chunkT3QEEHK6_cjs.u.failCause(chunkT3QEEHK6_cjs.t.interrupt()));});let u=o.cause.error;return u._tag==="None"?c(e==="L"?r:a):chunkT3QEEHK6_cjs.g(u)}}function k(e,a,r,t){return chunkT3QEEHK6_cjs.j((n,o)=>{let R=chunkT3QEEHK6_cjs.K(),u=new chunkT3QEEHK6_cjs.S(R),s=c(e),i=c(a),d=G("L",e,a),y=G("R",e,a),m=chunkT3QEEHK6_cjs.Y(s,i,u,d,y);u.fork(m).join(h=>{u.close(h),o(h);});})}function me(e,a){return A(k(e,a))}function c(e){switch(e._tag){case "Empty":return chunkT3QEEHK6_cjs.w(chunkT3QEEHK6_cjs.r);case "Emit":return chunkT3QEEHK6_cjs.y(chunkT3QEEHK6_cjs.A(e.value,a=>chunkT3QEEHK6_cjs.s(a)),a=>[a,b()]);case "FromPull":return e.pull;case "Concat":return chunkT3QEEHK6_cjs.C(chunkT3QEEHK6_cjs.y(c(e.left),([a,r])=>[a,B(r,e.right)]),()=>c(e.right));case "Flatten":return chunkT3QEEHK6_cjs.z(c(e.stream),([a,r])=>chunkT3QEEHK6_cjs.C(chunkT3QEEHK6_cjs.y(c(a),([t,n])=>[t,B(n,z(r))]),()=>c(z(r))));case "Merge":return k(e.left,e.right,e.flip);case "Scoped":return chunkT3QEEHK6_cjs.j((a,r)=>{let t=chunkT3QEEHK6_cjs.K(),n=new chunkT3QEEHK6_cjs.S(t);chunkT3QEEHK6_cjs.J()?.addFinalizer(u=>{try{n.close(u);}catch{}});let E=u=>{if(u._tag==="Failure"){let s=u.cause.error;if(s&&typeof s=="object"&&s._tag==="None"){n.close({_tag:"Success",value:void 0});return}}n.close(u);},R=u=>A(chunkT3QEEHK6_cjs.j((s,i)=>{let d=c(u);chunkT3QEEHK6_cjs.R(d,s,y=>{let m=chunkT3QEEHK6_cjs.u.failCause(y);E(m),i(m);},([y,m])=>{i(chunkT3QEEHK6_cjs.u.succeed([y,R(m)]));});}));n.fork(e.acquire).join(u=>{if(u._tag==="Failure"){E(u),r({_tag:"Failure",cause:{_tag:"Fail",error:chunkT3QEEHK6_cjs.s(u.cause.error)}});return}n.addFinalizer(i=>e.release(i));let s=u.value;chunkT3QEEHK6_cjs.K().fork(c(R(s))).join(r);});});case "Managed":return chunkT3QEEHK6_cjs.j((a,r)=>{let t=chunkT3QEEHK6_cjs.K(),n=new chunkT3QEEHK6_cjs.S(t);chunkT3QEEHK6_cjs.J()?.addFinalizer(E=>{try{n.close(E);}catch{}});let o=E=>{if(E._tag==="Failure"){let R=E.cause.error;if(R&&typeof R=="object"&&R._tag==="None"){n.close({_tag:"Success",value:void 0});return}}n.close(E);};n.fork(e.acquire).join(E=>{if(E._tag==="Failure"){n.close(E),r({_tag:"Failure",cause:{_tag:"Fail",error:chunkT3QEEHK6_cjs.s(E.cause.error)}});return}let{stream:R,release:u}=E.value;n.addFinalizer(i=>u(i));let s=i=>A(chunkT3QEEHK6_cjs.j((d,y)=>{c(i)(d,m=>{if(m._tag==="Failure"){o(m),y(m);return}let[h,J]=m.value;y(chunkT3QEEHK6_cjs.u.succeed([h,s(J)]));});}));chunkT3QEEHK6_cjs.K().fork(c(s(R))).join(r);});})}}function X(e,a){throw new Error(a??`Unexpected value: ${String(e)}`)}function l(e,a){switch(e._tag){case "Empty":return b();case "Emit":return $(chunkT3QEEHK6_cjs.y(e.value,a));case "FromPull":return A(chunkT3QEEHK6_cjs.y(e.pull,([r,t])=>[a(r),l(t,a)]));case "Concat":return B(l(e.left,a),l(e.right,a));case "Flatten":{let r=l(e.stream,t=>l(t,a));return z(r)}case "Merge":return Q(l(e.left,a),l(e.right,a),e.flip);case "Scoped":return T(chunkT3QEEHK6_cjs.y(e.acquire,r=>l(r,a)),e.release);case "Managed":return K(chunkT3QEEHK6_cjs.y(e.acquire,({stream:r,release:t})=>({stream:l(r,a),release:t})));default:return X(e)}}function Ae(e,a){let r=t=>A(t>a?chunkT3QEEHK6_cjs.g(chunkT3QEEHK6_cjs.r):chunkT3QEEHK6_cjs.f([t,r(t+1)]));return r(e)}function Y(e,a){let r=chunkT3QEEHK6_cjs.b(chunkT3QEEHK6_cjs.d(c(e),t=>N(t)),t=>chunkT3QEEHK6_cjs.g(t),([t,n])=>chunkT3QEEHK6_cjs.b(chunkT3QEEHK6_cjs.d(c(a),o=>N(o)),o=>chunkT3QEEHK6_cjs.g(o),([o,E])=>chunkT3QEEHK6_cjs.f([[t,o],Y(n,E)])));return A(r)}function le(e,a){let r=t=>chunkT3QEEHK6_cjs.b(chunkT3QEEHK6_cjs.d(c(t),n=>N(n)),n=>n._tag==="None"?chunkT3QEEHK6_cjs.f(void 0):chunkT3QEEHK6_cjs.g(n),([n,o])=>chunkT3QEEHK6_cjs.l(chunkT3QEEHK6_cjs.d(a(n),E=>chunkT3QEEHK6_cjs.s(E)),()=>r(o)));return chunkT3QEEHK6_cjs.b(r(e),t=>t._tag==="None"?chunkT3QEEHK6_cjs.f(void 0):chunkT3QEEHK6_cjs.g(t.value),()=>chunkT3QEEHK6_cjs.f(void 0))}function ye(e){let a=b();for(let r=e.length-1;r>=0;r--){let t=$(chunkT3QEEHK6_cjs.v(e[r]));a=B(t,a);}return a}function pe(e){let a=(r,t)=>chunkT3QEEHK6_cjs.b(c(r),n=>n._tag==="None"?chunkT3QEEHK6_cjs.v(t):chunkT3QEEHK6_cjs.w(n),([n,o])=>a(o,[...t,n]));return chunkT3QEEHK6_cjs.A(a(e,[]),r=>{if(r._tag==="Some")return r.value;throw new Error("unreachable: stream end handled as success")})}function ee(e,a){let r=chunkT3QEEHK6_cjs.j((t,n)=>{e.read().then(({done:o,value:E})=>{if(o){n({_tag:"Failure",cause:{_tag:"Fail",error:chunkT3QEEHK6_cjs.r}});return}n({_tag:"Success",value:[E,A(r)]});}).catch(o=>{n({_tag:"Failure",cause:{_tag:"Fail",error:chunkT3QEEHK6_cjs.s(a(o))}});});});return A(r)}function Se(e,a){if(!e)return b();let r;return T(chunkT3QEEHK6_cjs.x(()=>(r=e.getReader(),ee(r,a))),()=>chunkT3QEEHK6_cjs.h(()=>{try{r?.cancel();}catch{}}))}exports.a=N;exports.b=A;exports.c=T;exports.d=K;exports.e=Q;exports.f=b;exports.g=$;exports.h=B;exports.i=z;exports.j=me;exports.k=c;exports.l=X;exports.m=l;exports.n=Ae;exports.o=Y;exports.p=le;exports.q=ye;exports.r=pe;exports.s=Se;
|
package/dist/chunk-MAR4TNUH.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import {r,s,j,K as K$1,S,J,z as z$1,C,y,A as A$1,w,b as b$1,d,g,f,v,h,x,u,R,l as l$1,Y as Y$1,t}from'./chunk-63MXGA7P.js';var N=e=>e._tag==="None"?r:s(e.value),A=e=>({_tag:"FromPull",pull:e}),T=(e,a)=>({_tag:"Scoped",acquire:e,release:a}),K=e=>({_tag:"Managed",acquire:e}),Q=(e,a,r=true)=>({_tag:"Merge",left:e,right:a,flip:r}),b=()=>({_tag:"Empty"}),$=e=>({_tag:"Emit",value:e}),B=(e,a)=>({_tag:"Concat",left:e,right:a}),z=e=>({_tag:"Flatten",stream:e});function G(e,a,r,t$1,n){return (o,E,R)=>{if(o._tag,o._tag,o._tag==="Success"){let[s,i]=o.value;E.interrupt();let d=A(e==="L"?k(i,r):k(a,i));return f([s,d])}if(o.cause._tag==="Interrupt")return j((s,i)=>{i(u.failCause(t.interrupt()));});let u$1=o.cause.error;return u$1._tag==="None"?c(e==="L"?r:a):g(u$1)}}function k(e,a,r,t){return j((n,o)=>{let R=K$1(),u=new S(R),s=c(e),i=c(a),d=G("L",e,a),y=G("R",e,a),m=Y$1(s,i,u,d,y);u.fork(m).join(h=>{u.close(h),o(h);});})}function me(e,a){return A(k(e,a))}function c(e){switch(e._tag){case "Empty":return w(r);case "Emit":return y(A$1(e.value,a=>s(a)),a=>[a,b()]);case "FromPull":return e.pull;case "Concat":return C(y(c(e.left),([a,r])=>[a,B(r,e.right)]),()=>c(e.right));case "Flatten":return z$1(c(e.stream),([a,r])=>C(y(c(a),([t,n])=>[t,B(n,z(r))]),()=>c(z(r))));case "Merge":return k(e.left,e.right,e.flip);case "Scoped":return j((a,r)=>{let t=K$1(),n=new S(t);J()?.addFinalizer(u=>{try{n.close(u);}catch{}});let E=u=>{if(u._tag==="Failure"){let s=u.cause.error;if(s&&typeof s=="object"&&s._tag==="None"){n.close({_tag:"Success",value:void 0});return}}n.close(u);},R$1=u$1=>A(j((s,i)=>{let d=c(u$1);R(d,s,y=>{let m=u.failCause(y);E(m),i(m);},([y,m])=>{i(u.succeed([y,R$1(m)]));});}));n.fork(e.acquire).join(u=>{if(u._tag==="Failure"){E(u),r({_tag:"Failure",cause:{_tag:"Fail",error:s(u.cause.error)}});return}n.addFinalizer(i=>e.release(i));let s$1=u.value;K$1().fork(c(R$1(s$1))).join(r);});});case "Managed":return j((a,r)=>{let t=K$1(),n=new S(t);J()?.addFinalizer(E=>{try{n.close(E);}catch{}});let o=E=>{if(E._tag==="Failure"){let R=E.cause.error;if(R&&typeof R=="object"&&R._tag==="None"){n.close({_tag:"Success",value:void 0});return}}n.close(E);};n.fork(e.acquire).join(E=>{if(E._tag==="Failure"){n.close(E),r({_tag:"Failure",cause:{_tag:"Fail",error:s(E.cause.error)}});return}let{stream:R,release:u$1}=E.value;n.addFinalizer(i=>u$1(i));let s$1=i=>A(j((d,y)=>{c(i)(d,m=>{if(m._tag==="Failure"){o(m),y(m);return}let[h,J]=m.value;y(u.succeed([h,s$1(J)]));});}));K$1().fork(c(s$1(R))).join(r);});})}}function X(e,a){throw new Error(a??`Unexpected value: ${String(e)}`)}function l(e,a){switch(e._tag){case "Empty":return b();case "Emit":return $(y(e.value,a));case "FromPull":return A(y(e.pull,([r,t])=>[a(r),l(t,a)]));case "Concat":return B(l(e.left,a),l(e.right,a));case "Flatten":{let r=l(e.stream,t=>l(t,a));return z(r)}case "Merge":return Q(l(e.left,a),l(e.right,a),e.flip);case "Scoped":return T(y(e.acquire,r=>l(r,a)),e.release);case "Managed":return K(y(e.acquire,({stream:r,release:t})=>({stream:l(r,a),release:t})));default:return X(e)}}function Ae(e,a){let r$1=t=>A(t>a?g(r):f([t,r$1(t+1)]));return r$1(e)}function Y(e,a){let r=b$1(d(c(e),t=>N(t)),t=>g(t),([t,n])=>b$1(d(c(a),o=>N(o)),o=>g(o),([o,E])=>f([[t,o],Y(n,E)])));return A(r)}function le(e,a){let r=t=>b$1(d(c(t),n=>N(n)),n=>n._tag==="None"?f(void 0):g(n),([n,o])=>l$1(d(a(n),E=>s(E)),()=>r(o)));return b$1(r(e),t=>t._tag==="None"?f(void 0):g(t.value),()=>f(void 0))}function ye(e){let a=b();for(let r=e.length-1;r>=0;r--){let t=$(v(e[r]));a=B(t,a);}return a}function pe(e){let a=(r,t)=>b$1(c(r),n=>n._tag==="None"?v(t):w(n),([n,o])=>a(o,[...t,n]));return A$1(a(e,[]),r=>{if(r._tag==="Some")return r.value;throw new Error("unreachable: stream end handled as success")})}function ee(e,a){let r$1=j((t,n)=>{e.read().then(({done:o,value:E})=>{if(o){n({_tag:"Failure",cause:{_tag:"Fail",error:r}});return}n({_tag:"Success",value:[E,A(r$1)]});}).catch(o=>{n({_tag:"Failure",cause:{_tag:"Fail",error:s(a(o))}});});});return A(r$1)}function Se(e,a){if(!e)return b();let r;return T(x(()=>(r=e.getReader(),ee(r,a))),()=>h(()=>{try{r?.cancel();}catch{}}))}export{N as a,A as b,T as c,K as d,Q as e,b as f,$ as g,B as h,z as i,me as j,c as k,X as l,l as m,Ae as n,Y as o,le as p,ye as q,pe as r,Se as s};
|
package/dist/chunk-T3QEEHK6.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
'use strict';var O={succeed:n=>({_tag:"Succeed",value:n}),fail:n=>({_tag:"Fail",error:n}),sync:n=>({_tag:"Sync",thunk:n}),async:n=>({_tag:"Async",register:n})};function v(n,e,t){return {_tag:"Fold",first:n,onFailure:e,onSuccess:t}}function ne(n,e){return v(n,t=>e(t),t=>R(t))}function B(n,e){return v(n,t=>k(e(t)),t=>R(t))}var g=()=>R(void 0),R=n=>({_tag:"Succeed",value:n}),k=n=>({_tag:"Fail",error:n}),I=n=>({_tag:"Sync",thunk:n}),re=n=>I(()=>n()),y=n=>({_tag:"Async",register:n});function P(n,e){return p(n,t=>R(e(t)))}function p(n,e){return {_tag:"FlatMap",first:n,andThen:e}}function se(n,e,t){return p(n,r=>(t.addFinalizer(s=>e(r,s)),R(r)))}function ie(n){return y(n)}var oe=n=>e=>{let t=e;return t.toPromise||(t.toPromise=r=>n(e,r),t.unsafeRunPromise=()=>n(e,{})),t},ae=(n,e)=>p(n,t=>R(e(t))),ce=(n,e)=>p(n,t=>I(()=>e(t)));var z={_tag:"None"},le=n=>({_tag:"Some",value:n});var h={fail:n=>({_tag:"Fail",error:n}),interrupt:()=>({_tag:"Interrupt"}),die:n=>({_tag:"Die",defect:n})},d={succeed:n=>({_tag:"Success",value:n}),failCause:n=>({_tag:"Failure",cause:n})},he=n=>R(n),G=n=>k(n),fe=n=>I(e=>n(e)),Ae=(n,e)=>P(n,e),Ee=(n,e)=>p(n,t=>e(t)),Re=(n,e)=>B(n,e),me=(n,e)=>v(n,t=>e(t),t=>R(t));function ge(n,e){return v(n,t=>t._tag==="Some"?k(t):e(),t=>R(t))}var ve=()=>G(z);var $=(r=>(r[r.Ok=0]="Ok",r[r.Grew=1]="Grew",r[r.Dropped=2]="Dropped",r))($||{}),C=class{buf;head=0;tail=0;size_=0;maxCap;constructor(e=1024,t=e){let r=Math.max(2,this.nextPow2(e)),s=Math.max(r,this.nextPow2(t));this.buf=new Array(r),this.maxCap=s;}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 s=0;s<this.size_;s++)r[s]=e[this.head+s&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 U=2048,j=4096,J=(()=>{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)})(),N=class{queue=new C(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>j?"macro":"micro";this.requestFlush(r);}}requestFlush(e){e==="micro"?queueMicrotask(()=>this.flush()):J(()=>this.flush());}flush(){if(this.flushing)return;this.flushing=true,this.scheduled=false;let e=0;try{for(;e<U;){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>=U||this.queue.length>j?"macro":"micro";this.requestFlush(t);}}}},b=new N;var M={parent:null,patch:Object.create(null)};function q(n,e){let t=L(n);return {initChild(r,s,i){let o=s?.fiberContext,a=V(t,o?.trace??null);r.fiberContext={log:o?.log??M,trace:a},r.parentFiberId=s?.id,r.name=t.childName(s?.name),i!==void 0&&(r.scopeId=i),e.emit({type:"fiber.start",fiberId:r.id,parentFiberId:s?.id,scopeId:r.scopeId,name:r.name},{fiberId:s?.id,traceId:o?.trace?.traceId,spanId:o?.trace?.spanId});}}}function L(n){let e={newTraceId:()=>Z("trace"),newSpanId:()=>Z("span")},t=n?.brass,r=t?.tracer??e,s=t?.traceSeed,i=t?.childName??(o=>o?`${o}/child`:void 0);return {tracer:r,seed:s,childName:i}}function Z(n){let e=globalThis.crypto;return typeof e?.randomUUID=="function"?e.randomUUID():`${n}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`}function V(n,e){return e?{traceId:e.traceId,spanId:n.tracer.newSpanId(),parentSpanId:e.spanId,sampled:e.sampled}:n.seed?{...n.seed}:{traceId:n.tracer.newTraceId(),spanId:n.tracer.newSpanId(),sampled:true}}var Q={emit(){}},F=class n{env;scheduler;hooks;forkPolicy;registry;constructor(e){this.env=e.env,this.scheduler=e.scheduler??b,this.hooks=e.hooks??Q,this.forkPolicy=q(this.env,this.hooks);}provide(e){return new n({env:Object.assign({},this.env,e),scheduler:this.scheduler,hooks:this.hooks})}emit(e){let t=x(),r={fiberId:t?.id,scopeId:t?.scopeId,traceId:t?.fiberContext?.trace?.traceId,spanId:t?.fiberContext?.trace?.spanId};this.hooks.emit(e,r);}fork(e,t){let r=x(),s=new _(this,e);return t!==void 0&&(s.scopeId=t),this.forkPolicy.initChild(s,r,t),s.schedule("initial-step"),s}unsafeRunAsync(e,t){this.fork(e).join(t);}toPromise(e){return new Promise((t,r)=>{this.fork(e).join(i=>{if(i._tag==="Success")t(i.value);else {let o=i.cause;o?._tag==="Fail"?r(o.error):r(new Error("Interrupted"));}});})}unsafeRun(e){this.unsafeRunAsync(e,()=>{});}delay(e,t){return y((r,s)=>{let i=setTimeout(()=>{this.unsafeRunAsync(t,s);},e);return ()=>clearTimeout(i)})}static make(e,t=b){return new n({env:e,scheduler:t})}log(e,t,r){this.emit({type:"log",level:e,message:t,fields:r});}};function ze(n,e){return F.make(e??{}).fork(n)}function T(n,e,t){F.make(e??{}).unsafeRunAsync(n,t);}function Ue(n,e){return F.make(e??{}).toPromise(n)}function je(n,e){return {_tag:"Async",register:(t,r)=>{let s=new AbortController,i=false;return n(s.signal,t).then(o=>{i||(i=true,r(d.succeed(o)));}).catch(o=>{i||(i=true,r(d.failCause(h.fail(e(o)))));}),()=>{i||(i=true,s.abort(),r(d.failCause(h.interrupt())));}}}}function Me(n,e,t,r){T(n,e,s=>{s._tag==="Failure"?t(s.cause):r(s.value);});}var w=null,A={CONTINUE:"Continue",SUSPEND:"Suspend",DONE:"Done"},m={QUEUED:"Queued",RUNNING:"Running",SUSPENDED:"Suspended",DONE:"Done"},W=1,H=1024;function K(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:s=>({_tag:"FlatMap",first:t.andThen(s),andThen:r})};}return e}var _=class{id;runtime;closing=null;finishing=false;runState=m.RUNNING;interrupted=false;result=null;joiners=[];current;stack=[];fiberFinalizers=[];finalizersDrained=false;fiberContext;name;scopeId;constructor(e,t){this.id=W++,this.runtime=e,this.current=t;}get env(){return this.runtime.env}get scheduler(){return this.runtime.scheduler??b}emit(e){this.runtime.hooks.emit(e,{fiberId:this.id,scopeId:this.scopeId,traceId:this.fiberContext?.trace?.traceId,spanId:this.fiberContext?.trace?.spanId});}addFinalizer(e){this.fiberFinalizers.push(e);}status(){return this.result==null?"Running":this.result._tag==="Failure"&&this.result.cause._tag==="Interrupt"?"Interrupted":"Done"}join(e){this.result!=null?e(this.result):this.joiners.push(e);}interrupt(){this.result==null&&(this.interrupted||(this.interrupted=true,this.schedule("interrupt-step")));}schedule(e="step"){this.runState===m.DONE||this.runState===m.QUEUED||(this.runState===m.SUSPENDED&&this.emit({type:"fiber.resume",fiberId:this.id}),this.runState=m.QUEUED,this.scheduler.schedule(()=>{X(this,()=>{if(this.runState===m.DONE)return;switch(this.runState=m.RUNNING,this.step()){case A.CONTINUE:this.schedule("continue");return;case A.SUSPEND:this.runState=m.SUSPENDED,this.emit({type:"fiber.suspend",fiberId:this.id});return;case A.DONE:this.runState=m.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{let r=t(e);r&&typeof r=="object"&&"_tag"in r&&T(r,this.env,()=>{});}catch{}}}notify(e){if(this.result!=null||this.closing!=null)return;this.finishing=true,this.closing=e,this.runFinalizersOnce(e),this.result=e;let t=e._tag==="Success"?"success":e.cause._tag==="Interrupt"?"interrupted":"failure";this.emit({type:"fiber.end",fiberId:this.id,status:t,error:e._tag==="Failure"?e.cause:void 0});for(let r of this.joiners)r(e);this.joiners.length=0;}onSuccess(e){let t=this.stack.pop();if(!t){this.notify(d.succeed(e));return}if(t._tag==="SuccessCont"){try{this.current=t.k(e);}catch(r){this.notify(d.failCause(h.die(r)));}return}try{this.current=t.onSuccess(e);}catch(r){this.notify(d.failCause(h.die(r)));}}onFailure(e){for(;this.stack.length>0;){let t=this.stack.pop();if(t._tag==="FoldCont")try{this.current=t.onFailure(e);return}catch(r){e=r;continue}}this.notify(d.failCause(h.fail(e)));}budget=H;step(){if(this.result!=null)return A.DONE;if(this.interrupted)return this.notify(d.failCause(h.interrupt())),A.DONE;for(this.budget=H;this.budget-- >0;){this.current=K(this.current);let e=this.current;switch(e._tag){case "Succeed":{this.onSuccess(e.value);break}case "Fail":{this.onFailure(e.error);break}case "FlatMap":{this.stack.push({_tag:"SuccessCont",k:e.andThen}),this.current=e.first;break}case "Fold":{this.stack.push({_tag:"FoldCont",onFailure:e.onFailure,onSuccess:e.onSuccess}),this.current=e.first;break}case "Async":{if(this.finishing)return this.result!=null?A.DONE:A.CONTINUE;let t=false,r=i=>{if(t||(t=true,this.result!=null||this.closing!=null))return;if(i._tag==="Success"){this.current=O.succeed(i.value),this.schedule("async-resume");return}let o=i.cause;if(o._tag==="Interrupt"){this.notify(d.failCause(h.interrupt()));return}if(o._tag==="Fail"){this.current=O.fail(o.error),this.schedule("async-resume");return}this.notify(d.failCause(h.die(o.defect)));},s=e.register(this.env,r);return typeof s=="function"&&this.addFinalizer(()=>{t=true;try{s();}catch{}}),A.SUSPEND}case "Fork":{let t=this.runtime.fork(e.effect,e.scopeId);this.onSuccess(t);break}case "Sync":{try{let t=e.thunk(this.env);this.onSuccess(t);}catch(t){this.onFailure(t);}break}default:return this.onFailure(new Error(`Unknown opcode: ${e._tag}`)),A.CONTINUE}if(this.result!=null)return A.DONE}return A.CONTINUE}};function x(){return w}function Ve(){let n=x();if(!n?.runtime)throw new Error("unsafeGetCurrentRuntime: no current fiber/runtime");return n.runtime}function X(n,e){let t=w;w=n;try{return e()}finally{w=t;}}var Y=1;function ee(n){return y((e,t)=>{let r=n.length;if(r===0){t({_tag:"Success",value:void 0});return}for(let s of n)s.join(()=>{r-=1,r===0&&t({_tag:"Success",value:void 0});});})}var D=class n{constructor(e,t){this.runtime=e;this.parentScopeId=t;this.id=Y++;let r=this.parentScopeId??x()?.scopeId;this.runtime.emit({type:"scope.open",scopeId:this.id,parentScopeId:r});}id;closed=false;children=new Set;subScopes=new Set;finalizers=[];addFinalizer(e){if(this.closed)throw new Error("Trying to add finalizer to closed scope");this.finalizers.push(e);}subScope(){if(this.closed)throw new Error("Scope closed");let e=new n(this.runtime,this.id);return this.subScopes.add(e),e}fork(e){if(this.closed)throw new Error("Scope closed");let t=this.runtime.fork(e,this.id);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={awaitChildren:true}){return p(g(),()=>y((r,s)=>{if(this.closed){s({_tag:"Success",value:void 0});return}this.closed=true;let i=Array.from(this.children),o=Array.from(this.subScopes);for(let l of i)l.interrupt();let a=o.reduceRight((l,c)=>p(l,()=>c.closeAsync(e,t)),g()),u=this.finalizers.reduceRight((l,c)=>p(l,()=>v(c(e),()=>g(),()=>g())),g()),f=t.awaitChildren?ee(i):g(),E=p(a,()=>p(f,()=>u));this.runtime.fork(E).join(()=>{let l=e._tag==="Success"?"success":e.cause._tag==="Interrupt"?"interrupted":"failure";this.runtime.emit({type:"scope.close",scopeId:this.id,status:l,error:e._tag==="Failure"&&e.cause._tag==="Fail"?e.cause.error:void 0}),s({_tag:"Success",value:void 0});});}))}};function te(n,e){return y((t,r)=>{let s=new D(n),i=false,o=u=>{n.fork(s.closeAsync(u)).join(()=>{i||(i=true,r(u));});},a=n.fork(e(s));return a.join(o),()=>{i||(a.interrupt(),n.fork(s.closeAsync(d.failCause(h.interrupt()))));}})}function tt(n,e){return te(n,t=>{let r=e(t);return r&&typeof r=="object"&&"_tag"in r?r:g()})}function it(n,e,t){return y((r,s)=>{let i=t.subScope(),o=false,a=E=>{o||(o=true,i.close(E),s(E));},u=i.fork(n),f=i.fork(e);u.join(a),f.join(a);})}function ot(n,e,t){return y((r,s)=>{let i=t.subScope(),o=null,a=null,u=false,f=()=>{if(!o||!a||u)return;if(u=true,o._tag==="Success"&&a._tag==="Success"){i.close({_tag:"Success",value:void 0}),s({_tag:"Success",value:[o.value,a.value]});return}let c;if(o._tag==="Failure")c=o.cause;else if(a._tag==="Failure")c=a.cause;else throw new Error("zipPar: unreachable state (no Failure exit)");let S={_tag:"Failure",cause:c};i.close(S),s(S);},E=i.fork(n),l=i.fork(e);E.join(c=>{o=c,f();}),l.join(c=>{a=c,f();});})}function at(n,e){return y((t,r)=>{let s=e.subScope(),i=new Array(n.length),o=0,a=false;n.forEach((u,f)=>{s.fork(u).join(l=>{if(!a){if(l._tag==="Failure"){a=true;let c={_tag:"Failure",cause:l.cause};s.close(c),r(c);return}if(i[f]=l.value,o++,o===n.length){a=true;let c={_tag:"Success",value:i};s.close({_tag:"Success",value:void 0}),r(c);}}});});})}function ct(n,e,t,r,s){return y((i,o)=>{let a=t.subScope(),u=false,f=a.fork(n),E=a.fork(e),l=c=>{a.fork(c).join(S=>{a.close(S),o(S);});};f.join(c=>{u||(u=true,l(r(c,E,a)));}),E.join(c=>{u||(u=true,l(s(c,f,a)));});})}exports.A=Re;exports.B=me;exports.C=ge;exports.D=ve;exports.E=$;exports.F=C;exports.G=N;exports.H=b;exports.I=_;exports.J=x;exports.K=Ve;exports.L=X;exports.M=F;exports.N=ze;exports.O=T;exports.P=Ue;exports.Q=je;exports.R=Me;exports.S=D;exports.T=te;exports.U=tt;exports.V=it;exports.W=ot;exports.X=at;exports.Y=ct;exports.a=O;exports.b=v;exports.c=ne;exports.d=B;exports.e=g;exports.f=R;exports.g=k;exports.h=I;exports.i=re;exports.j=y;exports.k=P;exports.l=p;exports.m=se;exports.n=ie;exports.o=oe;exports.p=ae;exports.q=ce;exports.r=z;exports.s=le;exports.t=h;exports.u=d;exports.v=he;exports.w=G;exports.x=fe;exports.y=Ae;exports.z=Ee;
|