@fncts/io 0.0.9 → 0.0.12
Sign up to get free protection for your applications and to get access to all the features.
- package/Channel/api.d.ts +27 -4
- package/Channel/internal/MergeDecision.d.ts +14 -0
- package/IO/runtime.d.ts +8 -1
- package/STM/api.d.ts +7 -0
- package/Sink/api.d.ts +637 -8
- package/TReentrantLock/api.d.ts +97 -0
- package/TReentrantLock/definition.d.ts +65 -0
- package/TReentrantLock.d.ts +2 -0
- package/_cjs/Cached/api.cjs +1 -1
- package/_cjs/Cached/api.cjs.map +1 -1
- package/_cjs/Channel/api/mapOutIOC.cjs +1 -1
- package/_cjs/Channel/api/mapOutIOC.cjs.map +1 -1
- package/_cjs/Channel/api/mergeAllWith.cjs +2 -2
- package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -1
- package/_cjs/Channel/api/mergeWith.cjs +1 -1
- package/_cjs/Channel/api/mergeWith.cjs.map +1 -1
- package/_cjs/Channel/api.cjs +87 -32
- package/_cjs/Channel/api.cjs.map +1 -1
- package/_cjs/Channel/internal/MergeDecision.cjs +11 -2
- package/_cjs/Channel/internal/MergeDecision.cjs.map +1 -1
- package/_cjs/IO/api/foreachC.cjs +2 -2
- package/_cjs/IO/api/foreachC.cjs.map +1 -1
- package/_cjs/IO/runtime.cjs +18 -7
- package/_cjs/IO/runtime.cjs.map +1 -1
- package/_cjs/STM/api.cjs +15 -6
- package/_cjs/STM/api.cjs.map +1 -1
- package/_cjs/Sink/api.cjs +1475 -42
- package/_cjs/Sink/api.cjs.map +1 -1
- package/_cjs/Stream/api.cjs +29 -29
- package/_cjs/Stream/api.cjs.map +1 -1
- package/_cjs/TReentrantLock/api.cjs +297 -0
- package/_cjs/TReentrantLock/api.cjs.map +1 -0
- package/_cjs/TReentrantLock/definition.cjs +125 -0
- package/_cjs/TReentrantLock/definition.cjs.map +1 -0
- package/_cjs/TReentrantLock.cjs +32 -0
- package/_cjs/TReentrantLock.cjs.map +1 -0
- package/_cjs/collection/immutable/Conc/dropUntilIO.cjs +38 -0
- package/_cjs/collection/immutable/Conc/dropUntilIO.cjs.map +1 -0
- package/_cjs/collection/immutable/Conc/dropWhileIO.cjs +38 -0
- package/_cjs/collection/immutable/Conc/dropWhileIO.cjs.map +1 -0
- package/_cjs/collection/immutable/Conc/filterIO.cjs +35 -0
- package/_cjs/collection/immutable/Conc/filterIO.cjs.map +1 -0
- package/_cjs/collection/immutable/Conc.cjs +13 -0
- package/_cjs/collection/immutable/Conc.cjs.map +1 -1
- package/_cjs/demo.cjs +15 -0
- package/_cjs/demo.cjs.map +1 -0
- package/_mjs/Cached/api.mjs +1 -1
- package/_mjs/Cached/api.mjs.map +1 -1
- package/_mjs/Channel/api/mapOutIOC.mjs +1 -1
- package/_mjs/Channel/api/mapOutIOC.mjs.map +1 -1
- package/_mjs/Channel/api/mergeAllWith.mjs +2 -2
- package/_mjs/Channel/api/mergeAllWith.mjs.map +1 -1
- package/_mjs/Channel/api/mergeWith.mjs +1 -1
- package/_mjs/Channel/api/mergeWith.mjs.map +1 -1
- package/_mjs/Channel/api.mjs +75 -30
- package/_mjs/Channel/api.mjs.map +1 -1
- package/_mjs/Channel/internal/MergeDecision.mjs +7 -0
- package/_mjs/Channel/internal/MergeDecision.mjs.map +1 -1
- package/_mjs/IO/api/foreachC.mjs +2 -2
- package/_mjs/IO/api/foreachC.mjs.map +1 -1
- package/_mjs/IO/runtime.mjs +15 -5
- package/_mjs/IO/runtime.mjs.map +1 -1
- package/_mjs/STM/api.mjs +13 -6
- package/_mjs/STM/api.mjs.map +1 -1
- package/_mjs/Sink/api.mjs +1287 -37
- package/_mjs/Sink/api.mjs.map +1 -1
- package/_mjs/Stream/api.mjs +29 -29
- package/_mjs/Stream/api.mjs.map +1 -1
- package/_mjs/TReentrantLock/api.mjs +243 -0
- package/_mjs/TReentrantLock/api.mjs.map +1 -0
- package/_mjs/TReentrantLock/definition.mjs +102 -0
- package/_mjs/TReentrantLock/definition.mjs.map +1 -0
- package/_mjs/TReentrantLock.mjs +4 -0
- package/_mjs/TReentrantLock.mjs.map +1 -0
- package/_mjs/collection/immutable/Conc/dropUntilIO.mjs +26 -0
- package/_mjs/collection/immutable/Conc/dropUntilIO.mjs.map +1 -0
- package/_mjs/collection/immutable/Conc/dropWhileIO.mjs +26 -0
- package/_mjs/collection/immutable/Conc/dropWhileIO.mjs.map +1 -0
- package/_mjs/collection/immutable/Conc/filterIO.mjs +22 -0
- package/_mjs/collection/immutable/Conc/filterIO.mjs.map +1 -0
- package/_mjs/collection/immutable/Conc.mjs +1 -0
- package/_mjs/collection/immutable/Conc.mjs.map +1 -1
- package/_mjs/demo.mjs +7 -0
- package/_mjs/demo.mjs.map +1 -0
- package/_src/Channel/api.ts +98 -11
- package/_src/Channel/internal/MergeDecision.ts +15 -0
- package/_src/IO/api.ts +1 -1
- package/_src/IO/runtime.ts +18 -11
- package/_src/STM/api.ts +9 -0
- package/_src/Sink/api.ts +1725 -36
- package/_src/TFuture/definition.ts +1 -1
- package/_src/TReentrantLock/api.ts +193 -0
- package/_src/TReentrantLock/definition.ts +86 -0
- package/_src/TReentrantLock.ts +4 -0
- package/_src/collection/immutable/Conc/dropUntilIO.ts +24 -0
- package/_src/collection/immutable/Conc/dropWhileIO.ts +26 -0
- package/_src/collection/immutable/Conc/filterIO.ts +16 -0
- package/_src/collection/immutable/Conc.ts +1 -0
- package/_src/demo.ts +6 -0
- package/collection/immutable/Conc/dropUntilIO.d.ts +7 -0
- package/collection/immutable/Conc/dropWhileIO.d.ts +7 -0
- package/collection/immutable/Conc/filterIO.d.ts +7 -0
- package/collection/immutable/Conc.d.ts +1 -0
- package/demo.d.ts +1 -0
- package/package.json +3 -3
@@ -0,0 +1,97 @@
|
|
1
|
+
import { FiberId } from "@fncts/base/data/FiberId";
|
2
|
+
import { USTM } from "@fncts/io/STM/definition";
|
3
|
+
import { IO } from "@fncts/io/IO/definition";
|
4
|
+
import { Has } from "@fncts/base/typeclass/Has";
|
5
|
+
import { Scope } from "@fncts/io/Scope/definition";
|
6
|
+
import { ReadLock, TReentrantLock } from "./definition.js";
|
7
|
+
/**
|
8
|
+
* @tsplus static fncts.io.TReentrantLock.ReadLockOps empty
|
9
|
+
* @tsplus location "@fncts/io/TReentrantLock/api"
|
10
|
+
*/
|
11
|
+
export declare const emptyReadLock: ReadLock;
|
12
|
+
/**
|
13
|
+
* @tsplus static fncts.io.TReentrantLock.ReadLockOps __call
|
14
|
+
* @tsplus location "@fncts/io/TReentrantLock/api"
|
15
|
+
*/
|
16
|
+
export declare function makeReadLock(fiberId: FiberId, count: number): ReadLock;
|
17
|
+
/**
|
18
|
+
* @tsplus static fncts.io.TReentrantLockOps make
|
19
|
+
* @tsplus static fncts.io.TReentrantLockOps __call
|
20
|
+
* @tsplus location "@fncts/io/TReentrantLock/api"
|
21
|
+
*/
|
22
|
+
export declare function make(): USTM<TReentrantLock>;
|
23
|
+
/**
|
24
|
+
* @tsplus getter fncts.io.TReentrantLock acquireRead
|
25
|
+
* @tsplus location "@fncts/io/TReentrantLock/api"
|
26
|
+
*/
|
27
|
+
export declare function acquireRead(self: TReentrantLock): USTM<number>;
|
28
|
+
/**
|
29
|
+
* @tsplus getter fncts.io.TReentrantLock acquireWrite
|
30
|
+
* @tsplus location "@fncts/io/TReentrantLock/api"
|
31
|
+
*/
|
32
|
+
export declare function acquireWrite(self: TReentrantLock): USTM<number>;
|
33
|
+
/**
|
34
|
+
* @tsplus getter fncts.io.TReentrantLock releaseRead
|
35
|
+
* @tsplus location "@fncts/io/TReentrantLock/api"
|
36
|
+
*/
|
37
|
+
export declare function releaseRead(self: TReentrantLock): USTM<number>;
|
38
|
+
/**
|
39
|
+
* @tsplus getter fncts.io.TReentrantLock releaseWrite
|
40
|
+
* @tsplus location "@fncts/io/TReentrantLock/api"
|
41
|
+
*/
|
42
|
+
export declare function releaseWrite(self: TReentrantLock): USTM<number>;
|
43
|
+
/**
|
44
|
+
* @tsplus fluent fncts.io.TReentrantLock withReadLock
|
45
|
+
* @tsplus location "@fncts/io/TReentrantLock/api"
|
46
|
+
*/
|
47
|
+
export declare function withReadLock<R, E, A>(self: TReentrantLock, io: IO<R, E, A>): IO<R, E, A>;
|
48
|
+
/**
|
49
|
+
* @tsplus fluent fncts.io.TReentrantLock withWriteLock
|
50
|
+
* @tsplus location "@fncts/io/TReentrantLock/api"
|
51
|
+
*/
|
52
|
+
export declare function withWriteLock<R, E, A>(self: TReentrantLock, io: IO<R, E, A>): IO<R, E, A>;
|
53
|
+
/**
|
54
|
+
* @tsplus getter fncts.io.TReentrantLock readLock
|
55
|
+
* @tsplus location "@fncts/io/TReentrantLock/api"
|
56
|
+
*/
|
57
|
+
export declare function readLock(self: TReentrantLock, __tsplusTrace?: string): IO<Has<Scope>, never, number>;
|
58
|
+
/**
|
59
|
+
* @tsplus getter fncts.io.TReentrantLock writeLock
|
60
|
+
* @tsplus location "@fncts/io/TReentrantLock/api"
|
61
|
+
*/
|
62
|
+
export declare function writeLock(self: TReentrantLock, __tsplusTrace?: string): IO<Has<Scope>, never, number>;
|
63
|
+
/**
|
64
|
+
* @tsplus getter fncts.io.TReentrantLock readLocked
|
65
|
+
* @tsplus location "@fncts/io/TReentrantLock/api"
|
66
|
+
*/
|
67
|
+
export declare function readLocked(self: TReentrantLock): USTM<boolean>;
|
68
|
+
/**
|
69
|
+
* @tsplus getter fncts.io.TReentrantLock writeLocked
|
70
|
+
* @tsplus location "@fncts/io/TReentrantLock/api"
|
71
|
+
*/
|
72
|
+
export declare function writeLocked(self: TReentrantLock): USTM<boolean>;
|
73
|
+
/**
|
74
|
+
* @tsplus getter fncts.io.TReentrantLock locked
|
75
|
+
* @tsplus location "@fncts/io/TReentrantLock/api"
|
76
|
+
*/
|
77
|
+
export declare function locked(self: TReentrantLock): USTM<boolean>;
|
78
|
+
/**
|
79
|
+
* @tsplus getter fncts.io.TReentrantLock fiberReadLocks
|
80
|
+
* @tsplus location "@fncts/io/TReentrantLock/api"
|
81
|
+
*/
|
82
|
+
export declare function fiberReadLocks(self: TReentrantLock): USTM<number>;
|
83
|
+
/**
|
84
|
+
* @tsplus getter fncts.io.TReentrantLock fiberWriteLocks
|
85
|
+
* @tsplus location "@fncts/io/TReentrantLock/api"
|
86
|
+
*/
|
87
|
+
export declare function fiberWriteLocks(self: TReentrantLock): USTM<number>;
|
88
|
+
/**
|
89
|
+
* @tsplus getter fncts.io.TReentrantLock writeLocks
|
90
|
+
* @tsplus location "@fncts/io/TReentrantLock/api"
|
91
|
+
*/
|
92
|
+
export declare function writeLocks(self: TReentrantLock): USTM<number>;
|
93
|
+
/**
|
94
|
+
* @tsplus getter fncts.io.TReentrantLock readLocks
|
95
|
+
* @tsplus location "@fncts/io/TReentrantLock/api"
|
96
|
+
*/
|
97
|
+
export declare function readLocks(self: TReentrantLock): USTM<number>;
|
@@ -0,0 +1,65 @@
|
|
1
|
+
import { UTRef } from "@fncts/io/TRef/definition";
|
2
|
+
import { FiberId } from "@fncts/base/data/FiberId";
|
3
|
+
import { HashMap } from "@fncts/base/collection/immutable/HashMap";
|
4
|
+
/**
|
5
|
+
* A `TReentrantLock` is a reentrant read/write lock. Multiple readers may all
|
6
|
+
* concurrently acquire read locks. Only one writer is allowed to acquire a
|
7
|
+
* write lock at any given time. Read locks may be upgraded into write locks. A
|
8
|
+
* fiber that has a write lock may acquire other write locks or read locks.
|
9
|
+
*
|
10
|
+
* The two primary methods of this structure are `readLock`, which acquires a
|
11
|
+
* read lock in a scoped context, and `writeLock`, which acquires a write lock
|
12
|
+
* in a scoped context.
|
13
|
+
*
|
14
|
+
* Although located in the STM package, there is no need for locks within STM
|
15
|
+
* transactions. However, this lock can be quite useful in effectful code, to
|
16
|
+
* provide consistent read/write access to mutable state; and being in STM
|
17
|
+
* allows this structure to be composed into more complicated concurrent
|
18
|
+
* structures that are consumed from effectful code.
|
19
|
+
*
|
20
|
+
* @tsplus type fncts.io.TReentrantLock
|
21
|
+
* @tsplus companion fncts.io.TReentrantLockOps
|
22
|
+
*/
|
23
|
+
export declare class TReentrantLock {
|
24
|
+
readonly data: UTRef<LockState>;
|
25
|
+
constructor(data: UTRef<LockState>);
|
26
|
+
}
|
27
|
+
export interface Lock {
|
28
|
+
readonly readLocks: number;
|
29
|
+
readonly readLocksHeld: (fiberId: FiberId) => number;
|
30
|
+
readonly writeLocks: number;
|
31
|
+
readonly writeLocksHeld: (fiberId: FiberId) => number;
|
32
|
+
}
|
33
|
+
export declare const enum LockTag {
|
34
|
+
WriteLock = 0,
|
35
|
+
ReadLock = 1
|
36
|
+
}
|
37
|
+
/**
|
38
|
+
* @tsplus type fncts.io.TReentrantLock.WriteLock
|
39
|
+
* @tsplus companion fncts.io.TReentrantLock.WriteLockOps
|
40
|
+
*/
|
41
|
+
export declare class WriteLock implements Lock {
|
42
|
+
readonly writeLocks: number;
|
43
|
+
readonly readLocks: number;
|
44
|
+
readonly fiberId: FiberId;
|
45
|
+
readonly _tag = LockTag.WriteLock;
|
46
|
+
constructor(writeLocks: number, readLocks: number, fiberId: FiberId);
|
47
|
+
readLocksHeld(fiberId: FiberId): number;
|
48
|
+
writeLocksHeld(fiberId: FiberId): number;
|
49
|
+
}
|
50
|
+
/**
|
51
|
+
* @tsplus type fncts.io.TReentrantLock.ReadLock
|
52
|
+
* @tsplus companion fncts.io.TReentrantLock.ReadLockOps
|
53
|
+
*/
|
54
|
+
export declare class ReadLock implements Lock {
|
55
|
+
readonly readers: HashMap<FiberId, number>;
|
56
|
+
readonly _tag = LockTag.ReadLock;
|
57
|
+
constructor(readers: HashMap<FiberId, number>);
|
58
|
+
get readLocks(): number;
|
59
|
+
writeLocks: number;
|
60
|
+
readLocksHeld(fiberId: FiberId): number;
|
61
|
+
writeLocksHeld(_fiberId: FiberId): number;
|
62
|
+
noOtherHolder(fiberId: FiberId): boolean;
|
63
|
+
adjust(fiberId: FiberId, adjust: number): ReadLock;
|
64
|
+
}
|
65
|
+
export declare type LockState = WriteLock | ReadLock;
|
package/_cjs/Cached/api.cjs
CHANGED
@@ -43,7 +43,7 @@ exports.refresh_ = refresh_;
|
|
43
43
|
* @tsplus static fncts.io.CachedOps auto
|
44
44
|
*/
|
45
45
|
function auto(acquire, policy, __tsplusTrace) {
|
46
|
-
return tsplus_module_6.flatMap_(manual_1(acquire), manual => tsplus_module_6.map_(tsplus_module_5.acquireRelease(() => tsplus_module_3.forkDaemon(tsplus_module_2.interruptible(tsplus_module_1.schedule(refresh_1(manual, __tsplusTrace), () => policy, __tsplusTrace), __tsplusTrace), __tsplusTrace), fiber => tsplus_module_4.interrupt(fiber)), () => manual), __tsplusTrace);
|
46
|
+
return tsplus_module_6.flatMap_(manual_1(acquire), manual => tsplus_module_6.map_(tsplus_module_5.acquireRelease(() => tsplus_module_3.forkDaemon(tsplus_module_2.interruptible(tsplus_module_1.schedule(refresh_1(manual, __tsplusTrace), () => policy, __tsplusTrace), __tsplusTrace), __tsplusTrace), fiber => tsplus_module_4.interrupt(fiber)), () => manual, __tsplusTrace), __tsplusTrace);
|
47
47
|
}
|
48
48
|
/**
|
49
49
|
* @tsplus getter fncts.io.Cached get
|
package/_cjs/Cached/api.cjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"api.cjs","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;;MA4BgBA,MAAM;;MAqBNC,QAAQ;;;AA/CxB;;;AAGM,SAAUC,IAAV,CACJC,OADI,EAEJC,MAFI,EAGJC,aAHI,EAGkB;EAEtB,gCACmBC,SAAcH,OAAd,CADnB,EACQH,MAAM,yBACVO,gEAAkBC,8BAAiBC,2CAJvCJ,aAIuC,GAJvC,MAI+DD,MAAxB,EAJvCC,aAIuC,CAAjB,EAJtBA,aAIsB,CAAlB,EAJJA,aAII,GAAiFK,KAAD,IAAUC,0BAACD,KAAD,CAA1F,CADU,EACiG,MACtGV,MAFK,CADd,
|
1
|
+
{"version":3,"file":"api.cjs","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;;MA4BgBA,MAAM;;MAqBNC,QAAQ;;;AA/CxB;;;AAGM,SAAUC,IAAV,CACJC,OADI,EAEJC,MAFI,EAGJC,aAHI,EAGkB;EAEtB,gCACmBC,SAAcH,OAAd,CADnB,EACQH,MAAM,yBACVO,gEAAkBC,8BAAiBC,2CAJvCJ,aAIuC,GAJvC,MAI+DD,MAAxB,EAJvCC,aAIuC,CAAjB,EAJtBA,aAIsB,CAAlB,EAJJA,aAII,GAAiFK,KAAD,IAAUC,0BAACD,KAAD,CAA1F,CADU,EACiG,MACtGV,MAFK,EAHdK,aAGc,CADd,EAFAA,aAEA;AAKD;AAED;;;;;AAGM,SAAUO,IAAV,CAAgCC,IAAhC,EAA+DR,aAA/D,EAAqF;EACzF;EACA,OAAOQ,IAAI,CAACC,GAAZ;AACD;AAED;;;;;AAGA,kBACEX,OADF,EACiC;EAE/B,gCACgBY,kDADhB,EACQC,GAAG,yBACKC,mDAAsBd,OAAtB,EAA6Be,qBAA7B,GAA6BA,qBAA7B,CADL,EACHC,GAAG,IACF,IAAIC,MAAJ,CAAWD,GAAX,EAAgBJ,6CAA2BC,GAA3B,EAA8BE,qBAA9B,CAAhB,CAFE,EAE8CA,qBAF9C,CADX,EAGyDA,qBAHzD;AAKD;;AAED,MAAME,MAAN,SAAsCC,wBAAtC,CAAqE;EACnEC,YAAqBH,GAArB,EAAqEhB,OAArE,EAA6G;IAC3G;IADmB;IAAgD;IAGrE,WAA4BoB,8BAAKJ,GAAL,CAASL,GAAT,EAAYS,2BAAZ,EAAYL,qBAAZ,CAA5B;IACA,eAA4B,KAAKC,GAAL,CAASK,GAAT,CAAaD,0BAAKpB,OAAL,EAAYsB,uBAAZ,EAAYP,qBAAZ,CAAb,EAA2CA,qBAA3C,CAA5B;EAFC;;AAHkE;AAQrE;;;;;AAGA,mBAA0CL,IAA1C,EAAyER,aAAzE,EAA+F;EAC7F;EACA,OAAOQ,IAAI,CAACa,OAAZ;AACD","names":["manual","refresh_","auto","acquire","policy","__tsplusTrace","manual_1","tsplus_module_5","tsplus_module_2","tsplus_module_1","fiber","tsplus_module_4","get_","self","get","tsplus_module_7","env","tsplus_module_8","fileName_1","ref","Manual","CachedInternal","constructor","tsplus_module_6","set","tsplus_module_9","refresh"],"sourceRoot":"","sources":["../../_src/Cached/api.ts"],"sourcesContent":[null]}
|
@@ -55,7 +55,7 @@ const fileName_1 = "(@fncts/io) src/Channel/api/mapOutIOC.ts";
|
|
55
55
|
* @tsplus fluent fncts.io.Channel mapOutIOC
|
56
56
|
*/
|
57
57
|
function mapOutIOC_(self, n, f) {
|
58
|
-
return tsplus_module_2.unwrapScoped(tsplus_module_5.map_(tsplus_module_20.withChildren(getChildren => tsplus_module_5.flatMap_(tsplus_module_19.addFinalizer(() => tsplus_module_5.flatMap_(getChildren, tsplus_module_18.interruptAll, fileName_1 + ":12:46"), fileName_1 + ":12:26"), () => tsplus_module_5.flatMap_(tsplus_module_17.acquireRelease(() => tsplus_module_16.makeBounded(n), queue => tsplus_module_4.shutdown(queue)), queue => tsplus_module_5.flatMap_(tsplus_module_12.make(), errorSignal => tsplus_module_5.flatMap_(tsplus_module_15.atomically(tsplus_module_14.make(n)), permits => tsplus_module_5.flatMap_(tsplus_module_13.toPull(self), pull => tsplus_module_5.map_(tsplus_module_5.fork(tsplus_module_8.uninterruptible(tsplus_module_5.forever(tsplus_module_5.matchCauseIO_(pull, cause => tsplus_module_4.offer_(queue, tsplus_module_5.failCauseNow(cause, fileName_1 + ":24:51")), r => tsplus_module_3.match_(r, outDone => tsplus_module_5.asUnit(tsplus_module_5.apSecond_(tsplus_module_8.interruptible(tsplus_module_7.withPermitsSelf(permits)(n)(tsplus_module_5.unit), fileName_1 + ":29:45"), tsplus_module_4.offer_(queue, tsplus_module_5.succeedNow(tsplus_module_6.left(outDone), fileName_1 + ":30:70")), fileName_1 + ":30:44")), outElem => tsplus_module_5.flatMap_(tsplus_module_12.make(), p => tsplus_module_5.flatMap_(tsplus_module_12.make(), latch => tsplus_module_5.flatMap_(tsplus_module_4.offer_(queue, tsplus_module_5.map_(tsplus_module_9.wait(p), tsplus_module_6.right, fileName_1 + ":35:46")), () => tsplus_module_5.flatMap_(tsplus_module_7.withPermitSelf(permits)(tsplus_module_5.apSecond_(tsplus_module_9.succeed_(latch, undefined), tsplus_module_11.fulfill_(tsplus_module_5.tapErrorCause_(tsplus_module_10.raceFirst_(tsplus_module_9.wait(errorSignal), f(outElem)), c => tsplus_module_9.failCause_(p, c), fileName_1 + ":41:43"), p), fileName_1 + ":38:58")), () => tsplus_module_5.map_(tsplus_module_9.wait(latch), () => void 0), fileName_1 + ":36:22"), fileName_1 + ":35:22"), fileName_1 + ":34:36"), fileName_1 + ":33:36")), fileName_1 + ":23:28")), fileName_1 + ":49:20"), fileName_1 + ":49:36"), () => queue), fileName_1 + ":21:30"), fileName_1 + ":20:30"), fileName_1 + ":19:30"), fileName_1 + ":13:24"), fileName_1 + ":12:10"), fileName_1 + ":10:20"), queue => {
|
58
|
+
return tsplus_module_2.unwrapScoped(() => tsplus_module_5.map_(tsplus_module_20.withChildren(getChildren => tsplus_module_5.flatMap_(tsplus_module_19.addFinalizer(() => tsplus_module_5.flatMap_(getChildren, tsplus_module_18.interruptAll, fileName_1 + ":12:46"), fileName_1 + ":12:26"), () => tsplus_module_5.flatMap_(tsplus_module_17.acquireRelease(() => tsplus_module_16.makeBounded(n), queue => tsplus_module_4.shutdown(queue)), queue => tsplus_module_5.flatMap_(tsplus_module_12.make(), errorSignal => tsplus_module_5.flatMap_(tsplus_module_15.atomically(tsplus_module_14.make(n)), permits => tsplus_module_5.flatMap_(tsplus_module_13.toPull(self), pull => tsplus_module_5.map_(tsplus_module_5.fork(tsplus_module_8.uninterruptible(tsplus_module_5.forever(tsplus_module_5.matchCauseIO_(pull, cause => tsplus_module_4.offer_(queue, tsplus_module_5.failCauseNow(cause, fileName_1 + ":24:51")), r => tsplus_module_3.match_(r, outDone => tsplus_module_5.asUnit(tsplus_module_5.apSecond_(tsplus_module_8.interruptible(tsplus_module_7.withPermitsSelf(permits)(n)(tsplus_module_5.unit), fileName_1 + ":29:45"), tsplus_module_4.offer_(queue, tsplus_module_5.succeedNow(tsplus_module_6.left(outDone), fileName_1 + ":30:70")), fileName_1 + ":30:44")), outElem => tsplus_module_5.flatMap_(tsplus_module_12.make(), p => tsplus_module_5.flatMap_(tsplus_module_12.make(), latch => tsplus_module_5.flatMap_(tsplus_module_4.offer_(queue, tsplus_module_5.map_(tsplus_module_9.wait(p), tsplus_module_6.right, fileName_1 + ":35:46")), () => tsplus_module_5.flatMap_(tsplus_module_7.withPermitSelf(permits)(tsplus_module_5.apSecond_(tsplus_module_9.succeed_(latch, undefined), tsplus_module_11.fulfill_(tsplus_module_5.tapErrorCause_(tsplus_module_10.raceFirst_(tsplus_module_9.wait(errorSignal), f(outElem)), c => tsplus_module_9.failCause_(p, c), fileName_1 + ":41:43"), p), fileName_1 + ":38:58")), () => tsplus_module_5.map_(tsplus_module_9.wait(latch), () => void 0, fileName_1 + ":46:22"), fileName_1 + ":36:22"), fileName_1 + ":35:22"), fileName_1 + ":34:36"), fileName_1 + ":33:36")), fileName_1 + ":23:28")), fileName_1 + ":49:20"), fileName_1 + ":49:36"), () => queue, fileName_1 + ":22:10"), fileName_1 + ":21:30"), fileName_1 + ":20:30"), fileName_1 + ":19:30"), fileName_1 + ":13:24"), fileName_1 + ":12:10"), fileName_1 + ":10:20"), queue => {
|
59
59
|
const consumer = tsplus_module_2.unwrap(() => tsplus_module_5.matchCause_(tsplus_module_5.flatten(tsplus_module_4.take(queue)), tsplus_module_1.failCauseNow, r => tsplus_module_3.match_(r, tsplus_module_1.endNow, outElem => tsplus_module_1.apSecond_(tsplus_module_2.writeNow(outElem), consumer)), fileName_1 + ":56:40"));
|
60
60
|
return consumer;
|
61
61
|
}, fileName_1 + ":53:10"));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mapOutIOC.cjs","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;AAGM,SAAUA,UAAV,CACJC,IADI,EAEJC,CAFI,EAGJC,CAHI,EAG0C;EAE9C,OAAOC,
|
1
|
+
{"version":3,"file":"mapOutIOC.cjs","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;AAGM,SAAUA,UAAV,CACJC,IADI,EAEJC,CAFI,EAGJC,CAHI,EAG0C;EAE9C,OAAOC,mCACLC,mDAAiBC,WAAD,IAAgBD,yBAE1BE,oCAAgBF,sCAAWG,6BAAX,EAAWC,qBAAX,CAAhB,EAAuDA,qBAAvD,CAF0B,EAE8B,+BAExDC,sCACEC,6BAAyET,CAAzE,CADF,EAEGU,KAAD,IAAUC,yBAACD,KAAD,CAFZ,CAFwD,EACpDA,KAAK,6BAMWE,uBANX,EAMLC,WAAW,yDACKC,sBAAgBd,CAAhB,CADL,GACXe,OAAO,qDACShB,IADT,GACPiB,IAAI,sGAERb,oCACGc,KAAD,IAAWN,8BAAYR,6BAAgBc,KAAhB,EAAqBV,qBAArB,CAAZ,CADb,EAEGW,CAAD,IACEC,0BACGC,OAAD,IAAYjB,uBACVA,iGACeH,CADf,EACiBG,oBADjB,GAC0BI,qBAD1B,GAE0BI,8BAAYR,2BAAckB,qBAAYD,OAAZ,CAAd,EAAkCb,qBAAlC,CAAZ,CAF1B,EAE0EA,qBAF1E,CADU,CADd,EAKGe,OAAD,IAAYnB,yBAEQS,uBAFR,EAEFW,CAAC,6BACSX,uBADT,EACDY,KAAK,6BACTb,8BAAYR,8CAACkB,qBAAD,EAACd,qBAAD,CAAZ,CADS,EAC6B,+BAEtCkB,wCACEtB,0DAAcuB,SAAd,GACEC,wHACa1B,CAAC,CAACqB,OAAD,CADd,GAEkBM,CAAD,IAAOC,8BAAYD,CAAZ,CAFxB,EAEsCrB,qBAFtC,GAGWgB,CAHX,CADF,EAIehB,qBAJf,CADF,CAFsC,EASrC,gDAEDiB,KAFC,GAEI,YAFJ,EAEIjB,qBAFJ,CATqC,EAWjCA,qBAXiC,CAD7B,EAYJA,qBAZI,CADJ,EAaAA,qBAbA,CAFC,EAeDA,qBAfC,CALd,CAHJ,EAyBKA,qBAzBL,CAFQ,GA4BPA,qBA5BO,GA4BPA,qBA5BO,GA4BP,MAEIG,KA9BG,EA8BEH,qBA9BF,CADG,EA+BDA,qBA/BC,CADI,EAgCLA,qBAhCK,CANN,EAsCCA,qBAtCD,CAD+C,EAuC9CA,qBAvC8C,CAF9B,EAyChBA,qBAzCgB,CAAhC,EA0CIA,qBA1CJ,GA2COG,KAAD,IAAU;IACd,MAAMoB,QAAQ,GACZ5B,6BACEC,kFAAK4B,4BAAL,EAAqDb,CAAD,IAClDC,0BAACY,sBAAD,EAAyBT,OAAD,IAAaS,mDAAiBT,OAAjB,GAAmCQ,QAAnC,CAArC,CADF,EACoFvB,qBADpF,CADF,CADF;IAMA,OAAOuB,QAAP;EACD,CAnDD,EAmDCvB,qBAnDD,CADK,CAAP;AAsDD","names":["mapOutIOC_","self","n","f","tsplus_module_2","tsplus_module_5","getChildren","tsplus_module_19","tsplus_module_18","fileName_1","tsplus_module_17","tsplus_module_16","queue","tsplus_module_4","tsplus_module_12","errorSignal","tsplus_module_14","permits","pull","cause","r","tsplus_module_3","outDone","tsplus_module_6","outElem","p","latch","tsplus_module_7","undefined","tsplus_module_11","c","tsplus_module_9","consumer","tsplus_module_1"],"sourceRoot":"","sources":["../../../_src/Channel/api/mapOutIOC.ts"],"sourcesContent":[null]}
|
@@ -71,7 +71,7 @@ const fileName_1 = "(@fncts/io) src/Channel/api/mergeAllWith.ts";
|
|
71
71
|
* @tsplus fluent fncts.io.Channel mergeAllWith
|
72
72
|
*/
|
73
73
|
function mergeAllWith_(channels, n, f, bufferSize = 16, mergeStrategy = "BackPressure") {
|
74
|
-
return tsplus_module_2.unwrapScoped(tsplus_module_5.map_(tsplus_module_27.withChildren(getChildren => tsplus_module_5.flatMap_(tsplus_module_26.addFinalizer(() => tsplus_module_5.flatMap_(getChildren, tsplus_module_6.interruptAll, fileName_1 + ":39:46"), fileName_1 + ":39:26"), () => tsplus_module_5.flatMap_(tsplus_module_25.acquireRelease(() => tsplus_module_24.makeBounded(bufferSize), queue => tsplus_module_4.shutdown(queue)), queue => tsplus_module_5.flatMap_(tsplus_module_25.acquireRelease(() => tsplus_module_24.makeUnbounded(), queue => tsplus_module_4.shutdown(queue)), cancelers => tsplus_module_5.flatMap_(tsplus_module_23.make(() => tsplus_module_18.nothing()), lastDone => tsplus_module_5.flatMap_(tsplus_module_17.make(), errorSignal => tsplus_module_5.flatMap_(tsplus_module_22.atomically(tsplus_module_21.make(n)), permits => tsplus_module_5.flatMap_(tsplus_module_15.toPull(channels), pull => {
|
74
|
+
return tsplus_module_2.unwrapScoped(() => tsplus_module_5.map_(tsplus_module_27.withChildren(getChildren => tsplus_module_5.flatMap_(tsplus_module_26.addFinalizer(() => tsplus_module_5.flatMap_(getChildren, tsplus_module_6.interruptAll, fileName_1 + ":39:46"), fileName_1 + ":39:26"), () => tsplus_module_5.flatMap_(tsplus_module_25.acquireRelease(() => tsplus_module_24.makeBounded(bufferSize), queue => tsplus_module_4.shutdown(queue)), queue => tsplus_module_5.flatMap_(tsplus_module_25.acquireRelease(() => tsplus_module_24.makeUnbounded(), queue => tsplus_module_4.shutdown(queue)), cancelers => tsplus_module_5.flatMap_(tsplus_module_23.make(() => tsplus_module_18.nothing()), lastDone => tsplus_module_5.flatMap_(tsplus_module_17.make(), errorSignal => tsplus_module_5.flatMap_(tsplus_module_22.atomically(tsplus_module_21.make(n)), permits => tsplus_module_5.flatMap_(tsplus_module_15.toPull(channels), pull => {
|
75
75
|
const evaluatePull = pull => tsplus_module_5.flatMap_(tsplus_module_5.repeatUntil_(tsplus_module_5.flatMap_(pull, ea => tsplus_module_3.match_(ea, outDone => tsplus_module_5.succeedNow(tsplus_module_18.just(outDone), fileName_1 + ":56:43"), outElem => tsplus_module_5.as_(tsplus_module_4.offer_(queue, tsplus_module_5.succeedNow(tsplus_module_9.right(outElem), fileName_1 + ":57:55")), () => tsplus_module_18.nothing())), fileName_1 + ":54:21"), m => tsplus_module_20.isJust(m), fileName_1 + ":60:25"), md1 => tsplus_module_10.match_(md1, () => tsplus_module_5.unit, outDone => tsplus_module_19.update_(lastDone, md2 => tsplus_module_10.match_(md2, () => tsplus_module_18.just(outDone), lastDone => tsplus_module_18.just(f(lastDone, outDone))))), fileName_1 + ":61:21");
|
76
76
|
|
77
77
|
return tsplus_module_5.map_(tsplus_module_5.fork(tsplus_module_5.repeatWhile_(tsplus_module_5.matchCauseIO_(pull, cause => tsplus_module_5.apSecond_(tsplus_module_5.flatMap_(getChildren, tsplus_module_6.interruptAll, fileName_1 + ":78:36"), tsplus_module_5.as_(tsplus_module_4.offer_(queue, tsplus_module_5.failCauseNow(cause, fileName_1 + ":78:93")), () => false), fileName_1 + ":78:65"), doneOrChannel => tsplus_module_3.match_(doneOrChannel, outDone => tsplus_module_13.raceWith_(tsplus_module_12.wait(errorSignal), () => tsplus_module_7.withPermitsSelf(permits)(n)(tsplus_module_5.unit), (_, permitAcquisition) => tsplus_module_5.apSecond_(tsplus_module_5.flatMap_(getChildren, tsplus_module_6.interruptAll, fileName_1 + ":85:44"), tsplus_module_5.as_(tsplus_module_8.interrupt(permitAcquisition), () => false), fileName_1 + ":85:73"), (_, failureAwait) => tsplus_module_5.apSecond_(tsplus_module_8.interrupt(failureAwait), tsplus_module_5.as_(tsplus_module_5.flatMap_(tsplus_module_11.get(lastDone), maybeDone => tsplus_module_10.match_(maybeDone, () => tsplus_module_4.offer_(queue, tsplus_module_5.succeedNow(tsplus_module_9.left(outDone), fileName_1 + ":91:64")), lastDone => tsplus_module_4.offer_(queue, tsplus_module_5.succeedNow(tsplus_module_9.left(f(lastDone, outDone)), fileName_1 + ":92:72"))), fileName_1 + ":89:37"), () => false), fileName_1 + ":87:56"), fileName_1 + ":82:47"), channel => {
|
@@ -88,7 +88,7 @@ function mergeAllWith_(channels, n, f, bufferSize = 16, mergeStrategy = "BackPre
|
|
88
88
|
return tsplus_module_5.flatMap_(tsplus_module_5.fork(tsplus_module_7.withPermitSelf(permits)(tsplus_module_5.apSecond_(tsplus_module_12.succeed_(latch, undefined), raceIOs, fileName_1 + ":119:81")), fileName_1 + ":119:91"), () => tsplus_module_5.flatMap_(tsplus_module_12.wait(latch), () => tsplus_module_5.map_(tsplus_module_12.isDone(errorSignal), b => !b, fileName_1 + ":121:58"), fileName_1 + ":120:28"), fileName_1 + ":119:28");
|
89
89
|
}, fileName_1 + ":115:28"), fileName_1 + ":114:45"), fileName_1 + ":113:45"), fileName_1 + ":112:45");
|
90
90
|
}
|
91
|
-
}), fileName_1 + ":76:26"), _function.identity), fileName_1 + ":127:35"), () => queue);
|
91
|
+
}), fileName_1 + ":76:26"), _function.identity), fileName_1 + ":127:35"), () => queue, fileName_1 + ":74:10");
|
92
92
|
}, fileName_1 + ":50:30"), fileName_1 + ":49:30"), fileName_1 + ":48:30"), fileName_1 + ":47:30"), fileName_1 + ":46:30"), fileName_1 + ":40:24"), fileName_1 + ":39:10"), fileName_1 + ":37:20"), queue => {
|
93
93
|
const consumer = tsplus_module_2.unwrap(() => tsplus_module_5.matchCause_(tsplus_module_5.flatten(tsplus_module_4.take(queue)), tsplus_module_1.failCauseNow, out => tsplus_module_3.match_(out, tsplus_module_1.endNow, outElem => tsplus_module_1.apSecond_(tsplus_module_2.writeNow(outElem), consumer)), fileName_1 + ":134:40"));
|
94
94
|
return consumer;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mergeAllWith.cjs","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;AAIA;;;AAGM,SAAUA,aAAV,CAcJC,QAdI,EAuBJC,CAvBI,EAwBJC,CAxBI,EAyBJC,UAAU,GAAG,EAzBT,EA0BJC,gBAA+B,cA1B3B,EA0ByC;EAE7C,OAAOC,
|
1
|
+
{"version":3,"file":"mergeAllWith.cjs","mappings":"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","names":["mergeAllWith_","channels","n","f","bufferSize","mergeStrategy","tsplus_module_2","tsplus_module_5","getChildren","tsplus_module_26","tsplus_module_6","fileName_1","tsplus_module_25","tsplus_module_24","queue","tsplus_module_4","cancelers","tsplus_module_23","tsplus_module_18","lastDone","tsplus_module_17","errorSignal","tsplus_module_21","permits","pull","evaluatePull","ea","tsplus_module_3","outDone","outElem","tsplus_module_9","m","tsplus_module_20","md1","tsplus_module_10","tsplus_module_19","md2","cause","doneOrChannel","tsplus_module_13","tsplus_module_7","_","permitAcquisition","failureAwait","maybeDone","channel","latch","raceIOs","io","tsplus_module_14","tsplus_module_12","undefined","b","canceler","size","identity","consumer","tsplus_module_1","out"],"sourceRoot":"","sources":["../../../_src/Channel/api/mergeAllWith.ts"],"sourcesContent":[null]}
|
@@ -45,7 +45,7 @@ const fileName_1 = "(@fncts/io) src/Channel/api/mergeWith.ts";
|
|
45
45
|
* @tsplus fluent fncts.io.Channel mergeWith
|
46
46
|
*/
|
47
47
|
function mergeWith_(self, that, leftDone, rightDone) {
|
48
|
-
return tsplus_module_4.unwrapScoped(tsplus_module_3.flatMap_(tsplus_module_13.makeSingleProducerAsyncInput(), input => {
|
48
|
+
return tsplus_module_4.unwrapScoped(() => tsplus_module_3.flatMap_(tsplus_module_13.makeSingleProducerAsyncInput(), input => {
|
49
49
|
const queueReader = tsplus_module_4.fromInput(input);
|
50
50
|
return tsplus_module_3.flatMap_(tsplus_module_12.toPull(tsplus_module_4.pipeTo_(queueReader, self)), pullL => tsplus_module_3.map_(tsplus_module_12.toPull(tsplus_module_4.pipeTo_(queueReader, that)), pullR => {
|
51
51
|
const handleSide = (exit, fiber, pull) => (done, both, single) => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"mergeWith.cjs","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA;;;;;;;AAOM,SAAUA,UAAV,CAsBJC,IAtBI,EAuBJC,IAvBI,EAwBJC,QAxBI,EAyBJC,SAzBI,EAyB+F;EAUnG,OAAOC,
|
1
|
+
{"version":3,"file":"mergeWith.cjs","mappings":"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","names":["mergeWith_","self","that","leftDone","rightDone","tsplus_module_4","tsplus_module_13","input","queueReader","pullL","pullR","handleSide","exit","fiber","pull","done","both","single","onDecision","decision","_tag","tsplus_module_3","io","fileName_1","ex","tsplus_module_9","cause","f","tsplus_module_7","r","tsplus_module_8","elem","tsplus_module_5","go","d","leftFiber","state","lj","left","rj","right","tsplus_module_1","leftEx","_","l","tsplus_module_2","rightEx","a","b"],"sourceRoot":"","sources":["../../../_src/Channel/api/mergeWith.ts"],"sourcesContent":[null]}
|
package/_cjs/Channel/api.cjs
CHANGED
@@ -10,6 +10,7 @@ exports.asUnit = asUnit;
|
|
10
10
|
exports.buffer = exports.ask = exports.as_ = void 0;
|
11
11
|
exports.bufferChunk = bufferChunk;
|
12
12
|
exports.catchAll_ = exports.catchAllCause_ = void 0;
|
13
|
+
exports.collectElements = collectElements;
|
13
14
|
exports.concatAll = concatAll;
|
14
15
|
exports.concatAllWith_ = void 0;
|
15
16
|
exports.concatMapWithCustom_ = concatMapWithCustom_;
|
@@ -29,6 +30,7 @@ exports.ensuring_ = ensuring_;
|
|
29
30
|
exports.fail = fail;
|
30
31
|
exports.flatten = exports.failNow = void 0;
|
31
32
|
exports.fromEither = fromEither;
|
33
|
+
exports.fromHubScoped = fromHubScoped;
|
32
34
|
exports.fromInput = exports.fromIO = void 0;
|
33
35
|
exports.fromOption = fromOption;
|
34
36
|
exports.fromQueue = void 0;
|
@@ -39,8 +41,8 @@ exports.mapErrorCause_ = void 0;
|
|
39
41
|
exports.mapError_ = mapError_;
|
40
42
|
exports.mapIO_ = void 0;
|
41
43
|
exports.mapOutIO_ = mapOutIO_;
|
42
|
-
exports.mapOut_ = void 0;
|
43
|
-
exports.
|
44
|
+
exports.matchCauseChannel_ = exports.mapOut_ = void 0;
|
45
|
+
exports.matchChannel_ = matchChannel_;
|
44
46
|
exports.never = void 0;
|
45
47
|
exports.orElse_ = orElse_;
|
46
48
|
exports.orHaltWith_ = void 0;
|
@@ -48,7 +50,9 @@ exports.orHalt_ = orHalt_;
|
|
48
50
|
exports.pipeToOrFail_ = pipeToOrFail_;
|
49
51
|
exports.provideEnvironment_ = exports.pipeTo_ = void 0;
|
50
52
|
exports.read = read;
|
51
|
-
exports.
|
53
|
+
exports.scoped = exports.repeated = exports.readWithCause = exports.readWith = exports.readOrFail = void 0;
|
54
|
+
exports.toHub = toHub;
|
55
|
+
exports.unwrap = exports.unit = exports.toQueue = void 0;
|
52
56
|
exports.unwrapScoped = unwrapScoped;
|
53
57
|
exports.write = void 0;
|
54
58
|
exports.writeAll = writeAll;
|
@@ -78,27 +82,31 @@ var tsplus_module_11 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/requir
|
|
78
82
|
|
79
83
|
var tsplus_module_12 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Either/destructors"));
|
80
84
|
|
81
|
-
var tsplus_module_13 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/
|
85
|
+
var tsplus_module_13 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/Conc"));
|
86
|
+
|
87
|
+
var tsplus_module_14 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/constructors"));
|
82
88
|
|
83
|
-
var
|
89
|
+
var tsplus_module_15 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/UpstreamPullStrategy/definition"));
|
84
90
|
|
85
|
-
var
|
91
|
+
var tsplus_module_16 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/ChildExecutorDecision/definition"));
|
86
92
|
|
87
|
-
var
|
93
|
+
var tsplus_module_17 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/destructors"));
|
88
94
|
|
89
|
-
var
|
95
|
+
var tsplus_module_18 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Exit/api"));
|
90
96
|
|
91
|
-
var
|
97
|
+
var tsplus_module_19 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Queue/api/operations"));
|
92
98
|
|
93
|
-
var
|
99
|
+
var tsplus_module_20 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Exit/constructors"));
|
94
100
|
|
95
|
-
var
|
101
|
+
var tsplus_module_21 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Scope/api"));
|
96
102
|
|
97
|
-
var
|
103
|
+
var tsplus_module_22 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/util/predicates"));
|
98
104
|
|
99
|
-
var
|
105
|
+
var tsplus_module_23 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Either/constructors"));
|
100
106
|
|
101
|
-
var
|
107
|
+
var tsplus_module_24 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/Conc/constructors"));
|
108
|
+
|
109
|
+
var tsplus_module_25 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Hub/api"));
|
102
110
|
|
103
111
|
var _function = /*#__PURE__*/require("@fncts/base/data/function");
|
104
112
|
|
@@ -157,6 +165,8 @@ const mapIO_ = mapIO_1;
|
|
157
165
|
exports.mapIO_ = mapIO_;
|
158
166
|
const mapOut_ = mapOut_1;
|
159
167
|
exports.mapOut_ = mapOut_;
|
168
|
+
const matchCauseChannel_ = matchCauseChannel_1;
|
169
|
+
exports.matchCauseChannel_ = matchCauseChannel_;
|
160
170
|
const orHaltWith_ = orHaltWith_1;
|
161
171
|
exports.orHaltWith_ = orHaltWith_;
|
162
172
|
const pipeTo_ = pipeTo_1;
|
@@ -293,6 +303,18 @@ function catchAll_1(self, f) {
|
|
293
303
|
function catchAllCause_1(self, f) {
|
294
304
|
return new _definition3.Fold(self, new _definition3.ContinuationK(_ => tsplus_module_1.endNow(_), f));
|
295
305
|
}
|
306
|
+
/**
|
307
|
+
* @tsplus getter fncts.io.Channel collectElements
|
308
|
+
*/
|
309
|
+
|
310
|
+
|
311
|
+
function collectElements(self) {
|
312
|
+
return defer_1(() => {
|
313
|
+
const builder = new tsplus_module_13.ConcBuilder(tsplus_module_9.empty());
|
314
|
+
const reader = readWith_1(out => tsplus_module_1.apSecond_(tsplus_module_1.succeed(() => builder.append(out)), reader), failNow_1, tsplus_module_1.succeedNow);
|
315
|
+
return tsplus_module_1.flatMap_(pipeTo_1(self, reader), z => tsplus_module_1.succeedNow([builder.result(), z]));
|
316
|
+
});
|
317
|
+
}
|
296
318
|
/**
|
297
319
|
* @tsplus getter fncts.io.Channel concatAll
|
298
320
|
*/
|
@@ -313,7 +335,7 @@ function concatAll(channels) {
|
|
313
335
|
|
314
336
|
|
315
337
|
function concatMapWith_1(channel, f, g, h) {
|
316
|
-
return new _definition3.ConcatAll(g, h, () =>
|
338
|
+
return new _definition3.ConcatAll(g, h, () => tsplus_module_15.PullAfterNext(tsplus_module_14.nothing()), () => tsplus_module_16.Continue, channel, f);
|
317
339
|
}
|
318
340
|
/**
|
319
341
|
* Returns a new channel whose outputs are fed to the specified factory function, which creates
|
@@ -337,7 +359,7 @@ function concatMapWithCustom_(channel, f, g, h, onPull, onEmit) {
|
|
337
359
|
|
338
360
|
|
339
361
|
function concatAllWith_1(channels, f, g) {
|
340
|
-
return new _definition3.ConcatAll(f, g, () =>
|
362
|
+
return new _definition3.ConcatAll(f, g, () => tsplus_module_15.PullAfterNext(tsplus_module_14.nothing()), () => tsplus_module_16.Continue, channels, _function.identity);
|
341
363
|
}
|
342
364
|
/**
|
343
365
|
* Returns a new channel whose outputs are fed to the specified factory function, which creates
|
@@ -411,7 +433,7 @@ function defer_1(effect) {
|
|
411
433
|
function doneCollectReader(builder) {
|
412
434
|
return readWith_1(out => tsplus_module_1.apSecond_(fromIO_1(() => tsplus_module_4.succeed(() => {
|
413
435
|
builder.append(out);
|
414
|
-
}, fileName_1 + ":
|
436
|
+
}, fileName_1 + ":544:19")), doneCollectReader(builder)), failNow_1, tsplus_module_1.endNow);
|
415
437
|
}
|
416
438
|
/**
|
417
439
|
* Returns a new channel, which is the same as this one, except that all the outputs are
|
@@ -428,8 +450,8 @@ function doneCollectReader(builder) {
|
|
428
450
|
function doneCollect_1(self) {
|
429
451
|
return unwrap_1(() => tsplus_module_4.succeed(() => {
|
430
452
|
const builder = tsplus_module_10.builder();
|
431
|
-
return mapIO_1(pipeTo_1(self, doneCollectReader(builder)), z => tsplus_module_4.succeedNow((0, _function.tuple)(builder.result(), z), fileName_1 + ":
|
432
|
-
}, fileName_1 + ":
|
453
|
+
return mapIO_1(pipeTo_1(self, doneCollectReader(builder)), z => tsplus_module_4.succeedNow((0, _function.tuple)(builder.result(), z), fileName_1 + ":570:80"));
|
454
|
+
}, fileName_1 + ":567:15"));
|
433
455
|
}
|
434
456
|
/**
|
435
457
|
* Returns a new channel which reads all the elements from upstream's output channel
|
@@ -546,7 +568,7 @@ function fromIO_1(io) {
|
|
546
568
|
|
547
569
|
|
548
570
|
function fromOption(option) {
|
549
|
-
return defer_1(() =>
|
571
|
+
return defer_1(() => tsplus_module_17.match_(option(), () => failNow_1(tsplus_module_14.nothing()), tsplus_module_1.succeedNow));
|
550
572
|
}
|
551
573
|
/**
|
552
574
|
* @tsplus static fncts.io.ChannelOps fromQueue
|
@@ -554,7 +576,7 @@ function fromOption(option) {
|
|
554
576
|
|
555
577
|
|
556
578
|
function fromQueue_1(queue) {
|
557
|
-
return tsplus_module_1.flatMap_(fromIO_1(() =>
|
579
|
+
return tsplus_module_1.flatMap_(fromIO_1(() => tsplus_module_19.take(queue)), _ => tsplus_module_12.match_(_, _ => tsplus_module_18.match_(_, tsplus_module_1.failCauseNow, tsplus_module_1.endNow), elem => tsplus_module_1.apSecond_(writeNow_1(elem), fromQueue_1(queue))));
|
558
580
|
}
|
559
581
|
/**
|
560
582
|
* Provides the channel with its required environment, which eliminates
|
@@ -565,7 +587,7 @@ function fromQueue_1(queue) {
|
|
565
587
|
|
566
588
|
|
567
589
|
function provideEnvironment_1(self, env) {
|
568
|
-
return new _definition3.Provide(env, self);
|
590
|
+
return defer_1(() => new _definition3.Provide(env(), self));
|
569
591
|
}
|
570
592
|
/**
|
571
593
|
* @tsplus fluent fncts.io.Channel contramapEnvironment
|
@@ -573,7 +595,7 @@ function provideEnvironment_1(self, env) {
|
|
573
595
|
|
574
596
|
|
575
597
|
function contramapEnvironment_(self, f) {
|
576
|
-
return tsplus_module_1.flatMap_(ask_1(), env0 => provideEnvironment_1(self, f(env0)));
|
598
|
+
return tsplus_module_1.flatMap_(ask_1(), env0 => provideEnvironment_1(self, () => f(env0)));
|
577
599
|
}
|
578
600
|
/**
|
579
601
|
* Halt a channel with the specified exception
|
@@ -619,9 +641,9 @@ function interrupt(fiberId) {
|
|
619
641
|
|
620
642
|
|
621
643
|
function scoped_1(io) {
|
622
|
-
return mapOut_1(acquireReleaseOutExit_1(tsplus_module_4.flatMap_(
|
644
|
+
return mapOut_1(acquireReleaseOutExit_1(tsplus_module_4.flatMap_(tsplus_module_21.make, scope => tsplus_module_6.uninterruptibleMask(({
|
623
645
|
restore
|
624
|
-
}) => tsplus_module_4.matchCauseIO_(restore(
|
646
|
+
}) => tsplus_module_4.matchCauseIO_(restore(tsplus_module_21.extend_(scope, io)), cause => tsplus_module_4.apSecond_(scope.close(() => tsplus_module_20.failCause(cause)), tsplus_module_4.failCauseNow(cause, fileName_1 + ":814:74"), fileName_1 + ":814:58"), out => tsplus_module_4.succeedNow((0, _function.tuple)(out, scope), fileName_1 + ":815:33"), fileName_1 + ":813:47")), fileName_1 + ":811:23"), ([_, scope], exit) => scope.close(() => exit)), ([a]) => a);
|
625
647
|
}
|
626
648
|
/**
|
627
649
|
* Returns a new channel, which is the same as this one, except the failure value of the returned
|
@@ -684,9 +706,19 @@ function mapOutIO_(self, f) {
|
|
684
706
|
*/
|
685
707
|
|
686
708
|
|
687
|
-
function
|
709
|
+
function matchCauseChannel_1(channel, onError, onSuccess) {
|
688
710
|
return new _definition3.Fold(channel, new _definition3.ContinuationK(onSuccess, onError));
|
689
711
|
}
|
712
|
+
/**
|
713
|
+
* Fold the channel exposing success and full error cause
|
714
|
+
*
|
715
|
+
* @tsplus fluent fncts.io.Channel matchChannel
|
716
|
+
*/
|
717
|
+
|
718
|
+
|
719
|
+
function matchChannel_(channel, onError, onSuccess) {
|
720
|
+
return matchCauseChannel_1(channel, cause => tsplus_module_12.match_(tsplus_module_11.failureOrCause(cause), onError, tsplus_module_1.failCauseNow), onSuccess);
|
721
|
+
}
|
690
722
|
|
691
723
|
const never = /*#__PURE__*/fromIO_1(() => tsplus_module_4.never);
|
692
724
|
/**
|
@@ -721,6 +753,7 @@ function orHaltWith_1(self, f) {
|
|
721
753
|
* Pipe the output of a channel into the input of another
|
722
754
|
*
|
723
755
|
* @tsplus fluent fncts.io.Channel pipeTo
|
756
|
+
* @tsplus operator fncts.io.Channel >>>
|
724
757
|
*/
|
725
758
|
|
726
759
|
|
@@ -739,7 +772,7 @@ class ChannelFailure {
|
|
739
772
|
}
|
740
773
|
|
741
774
|
function isChannelFailure(u) {
|
742
|
-
return
|
775
|
+
return tsplus_module_22.hasTypeId(u, ChannelFailureTypeId);
|
743
776
|
}
|
744
777
|
/**
|
745
778
|
* @tsplus fluent fncts.io.Channel pipeToOrFail
|
@@ -755,7 +788,7 @@ function pipeToOrFail_(left, right) {
|
|
755
788
|
|
756
789
|
|
757
790
|
function read() {
|
758
|
-
return readOrFail_1(
|
791
|
+
return readOrFail_1(tsplus_module_14.nothing());
|
759
792
|
}
|
760
793
|
/**
|
761
794
|
* @tsplus static fncts.io.ChannelOps readOrFail
|
@@ -796,12 +829,18 @@ function repeated_1(self) {
|
|
796
829
|
return tsplus_module_1.flatMap_(self, () => repeated_1(self));
|
797
830
|
}
|
798
831
|
/**
|
799
|
-
* @tsplus static fncts.io.
|
832
|
+
* @tsplus static fncts.io.ChannelOps toQueue
|
800
833
|
*/
|
801
834
|
|
802
835
|
|
803
836
|
function toQueue_1(queue) {
|
804
|
-
return
|
837
|
+
return defer_1(() => {
|
838
|
+
function toQueue(queue) {
|
839
|
+
return readWithCause_1(inp => tsplus_module_1.apSecond_(fromIO_1(() => tsplus_module_19.offer_(queue, tsplus_module_23.right(inp))), toQueue(queue)), cause => fromIO_1(() => tsplus_module_19.offer_(queue, tsplus_module_23.left(tsplus_module_20.failCause(cause)))), done => fromIO_1(() => tsplus_module_19.offer_(queue, tsplus_module_23.left(tsplus_module_20.succeed(done)))));
|
840
|
+
}
|
841
|
+
|
842
|
+
return toQueue(queue());
|
843
|
+
});
|
805
844
|
}
|
806
845
|
/**
|
807
846
|
* Writes an output to the channel
|
@@ -819,7 +858,7 @@ function write_1(out) {
|
|
819
858
|
|
820
859
|
|
821
860
|
function writeAll(outs) {
|
822
|
-
return writeChunk_1(
|
861
|
+
return writeChunk_1(tsplus_module_24.from(outs));
|
823
862
|
}
|
824
863
|
|
825
864
|
function writeChunkWriter(outs, idx, len) {
|
@@ -870,6 +909,22 @@ function unwrap_1(self) {
|
|
870
909
|
|
871
910
|
|
872
911
|
function unwrapScoped(self) {
|
873
|
-
return concatAllWith_1(scoped_1(
|
912
|
+
return concatAllWith_1(scoped_1(self), (d, _) => d, (d, _) => d);
|
913
|
+
}
|
914
|
+
/**
|
915
|
+
* @tsplus static fncts.io.ChannelOps fromHubScoped
|
916
|
+
*/
|
917
|
+
|
918
|
+
|
919
|
+
function fromHubScoped(hub) {
|
920
|
+
return tsplus_module_4.defer(() => tsplus_module_4.map_(tsplus_module_25.subscribe(hub()), fromQueue_1, fileName_1 + ":1335:38"), fileName_1 + ":1335:18");
|
921
|
+
}
|
922
|
+
/**
|
923
|
+
* @tsplus static fncts.io.ChannelOps toHub
|
924
|
+
*/
|
925
|
+
|
926
|
+
|
927
|
+
function toHub(hub) {
|
928
|
+
return toQueue_1(hub);
|
874
929
|
}
|
875
930
|
//# sourceMappingURL=api.cjs.map
|