@fncts/io 0.0.9 → 0.0.10
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/Channel/api.d.ts +27 -4
- package/Channel/internal/MergeDecision.d.ts +14 -0
- package/STM/api.d.ts +7 -0
- package/Sink/api.d.ts +455 -7
- 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/STM/api.cjs +15 -6
- package/_cjs/STM/api.cjs.map +1 -1
- package/_cjs/Sink/api.cjs +1180 -40
- package/_cjs/Sink/api.cjs.map +1 -1
- package/_cjs/Stream/api.cjs +28 -28
- 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/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/_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/STM/api.mjs +13 -6
- package/_mjs/STM/api.mjs.map +1 -1
- package/_mjs/Sink/api.mjs +996 -31
- package/_mjs/Sink/api.mjs.map +1 -1
- package/_mjs/Stream/api.mjs +28 -28
- 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/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/_src/Channel/api.ts +98 -11
- package/_src/Channel/internal/MergeDecision.ts +15 -0
- package/_src/IO/api.ts +1 -1
- package/_src/STM/api.ts +9 -0
- package/_src/Sink/api.ts +1350 -19
- 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/filterIO.ts +16 -0
- package/_src/collection/immutable/Conc.ts +1 -0
- package/collection/immutable/Conc/filterIO.d.ts +7 -0
- package/collection/immutable/Conc.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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;AAIA;;;AAGM,SAAUA,aAAV,CAcJC,QAdI,EAuBJC,CAvBI,EAwBJC,CAxBI,EAyBJC,UAAU,GAAG,EAzBT,EA0BJC,gBAA+B,cA1B3B,EA0ByC;EAE7C,OAAOC,mCACLC,mDAAiBC,WAAD,IAAgBD,yBAE1BE,oCAAgBF,sCAAWG,4BAAX,EAAWC,qBAAX,CAAhB,EAAuDA,qBAAvD,CAF0B,EAE8B,+BAExDC,sCACEC,6BAAuET,UAAvE,CADF,EAEGU,KAAD,IAAUC,yBAACD,KAAD,CAFZ,CAFwD,EACpDA,KAAK,6BAMWF,sCAAkBC,gCAAlB,EAA+DC,KAAD,IAAUC,yBAACD,KAAD,CAAxE,CANX,EAMLE,SAAS,6BACOC,4BAAyBC,0BAAzB,CADP,EACTC,QAAQ,6BACQC,uBADR,EACRC,WAAW,yDACKC,sBAAgBpB,CAAhB,CADL,GACXqB,OAAO,qDACStB,QADT,GACPuB,IAAI;IAEV,MAAMC,YAAY,GAAID,IAAD,IACnBjB,qFACYmB,EAAD,IACPC,2BACGC,OAAD,IAAarB,2BAAcW,sBAAKU,OAAL,CAAd,EAA2BjB,qBAA3B,CADf,EAEGkB,OAAD,IAAatB,kDAAYA,2BAAcuB,sBAAaD,OAAb,CAAd,EAAmClB,qBAAnC,CAAZ,GAAiD,MAAIO,0BAArD,CAFf,CAFJ,EAKKP,qBALL,GAOgBoB,CAAD,IAAOC,0BAPtB,EAOgCrB,qBAPhC,GAQYsB,GAAD,IACPC,6BACE,MAAK3B,oBADP,EAEGqB,OAAD,IACEO,mCAAiBC,GAAD,IACdF,6BACE,MAAMhB,sBAAKU,OAAL,CADR,EAEGT,QAAD,IAAcD,sBAAKf,CAAC,CAACgB,QAAD,EAAWS,OAAX,CAAN,CAFhB,CADF,CAHJ,CATJ,EAkBKjB,qBAlBL,CADF;;qDAuBEJ,iEAEK8B,KAAD,IACE9B,gEAAWG,4BAAX,EAAWC,qBAAX,GAAiDJ,kDAAYA,6BAAgB8B,KAAhB,EAAqB1B,qBAArB,CAAZ,GAAmC,MAAI,KAAvC,CAAjD,EAA8FA,qBAA9F,CAHN,EAIK2B,aAAD,IACEX,sCACGC,OAAD,IACEW,+DAAW,MACTC,yCAAoBtC,CAApB,EAAsBK,oBAAtB,CADF,EAEE,CAACkC,CAAD,EAAIC,iBAAJ,KACEnC,gEAAWG,4BAAX,EAAWC,qBAAX,GAAiDJ,kEAAiB,MAAc,KAA/B,CAAjD,EAAsFI,qBAAtF,CAHJ,EAIE,CAAC8B,CAAD,EAAIE,YAAJ,KACEpC,mEACEA,6EACYqC,SAAD,IACPV,mCACE,MAAMnB,8BAAYR,2BAAcuB,qBAAYF,OAAZ,CAAd,EAAkCjB,qBAAlC,CAAZ,CADR,EAEGQ,QAAD,IAAcJ,8BAAYR,2BAAcuB,qBAAY3B,CAAC,CAACgB,QAAD,EAAWS,OAAX,CAAb,CAAd,EAA+CjB,qBAA/C,CAAZ,CAFhB,CAFJ,EAKKA,qBALL,GAMG,MACG,KAPN,CADF,EAQcA,qBARd,CALJ,EAcKA,qBAdL,CAFJ,EAkBGkC,OAAD,IAAY;MACV,QAAQxC,aAAR;QACE,KAAK,cAAL;UACE,gCACoBe,uBADpB,EACQ0B,KAAK;YACX,MAAMC,OAAO,4BAAGxC,2DAAwByC,EAAD,IACrCC,mCAAY,CAACD,EAAD,CAAZ,EAAgBE,sBAAM7B,WAAN,CAAhB,CADc,EAC0BV,sBAD1B,CAAH,CAAb;iEAGE6B,wCAAmBjC,2DAAc4C,SAAd,GAAkCJ,OAAlC,EAAyCpC,sBAAzC,CAAnB,GAA8DA,8EAC9DmC,KAD8D,GACzD,MACEvC,2DAAwB6C,CAAD,IAAO,CAACA,CAA/B,EAAgCzC,sBAAhC,CAFuD,EAEtBA,sBAFsB,GAEtBA;WAP5C;;QASF,KAAK,eAAL;UACE,gCACqBS,uBADrB,EACQiC,QAAQ,6BACKjC,uBADL,EACR0B,KAAK,kDACQ9B,SADR,GACLsC,IAAI,6BACR/C,gFAAwBJ,CAAD,IAAO+C,6BAAUC,SAAV,CAA9B,EAAkDxC,sBAAlD,GAAmD,MAAM2C,IAAI,IAAI,CAAjE,EAAkE3C,sBAAlE,CADQ,EAC2D;YACrE,MAAMoC,OAAO,4BAAGxC,2DAAwByC,EAAD,IACrCC,0DAAY,CAACD,EAAD,CAAZ,EAAgBE,sBAAM7B,WAAN,CAAhB,GAAwC6B,sBAAMG,QAAN,CAAxC,CADc,EAC+C1C,sBAD/C,CAAH,CAAb;iEAGE6B,wCAAmBjC,2DAAc4C,SAAd,GAAkCJ,OAAlC,EAAyCpC,sBAAzC,CAAnB,GAA8DA,8EAC9DmC,KAD8D,GACzD,MACEvC,2DAAwB6C,CAAD,IAAO,CAACA,CAA/B,EAAgCzC,sBAAhC,CAFuD,EAEtBA,sBAFsB,GAEtBA;WAPhC,yBADC,yBADG,yBADhB;MAZJ;IAyBD,CA5CH,CALN,EAkDOA,qBAlDP,GAoDe4C,kBApDf,GAoDwB5C,+BAEnBG,OAAKH;GAhFC,wBADI,wBADH,wBADC,wBANJ,wBAD+C,wBAF9B,wBAAhC,EA6FIA,qBA7FJ,GA8FOG,KAAD,IAAU;IACd,MAAM0C,QAAQ,GACZlD,6BACEC,kFAAKkD,4BAAL,EAAqDC,GAAD,IAClD/B,4BAAG8B,sBAAH,EAA2B5B,OAAD,IAAa4B,mDAAiB5B,OAAjB,GAAmC2B,QAAnC,CAAvC,CADF,EACsF7C,sBADtF,CADF,CADF;IAMA,OAAO6C,QAAP;EACD,CAtGD,EAsGC7C,sBAtGD,CADK,CAAP;AAyGD","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
|