@fncts/io 0.0.8 → 0.0.11
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/IO/api/onTermination.d.ts +9 -0
- package/IO.d.ts +1 -0
- 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 +5 -5
- package/_cjs/Cached/api.cjs.map +1 -1
- package/_cjs/Channel/api/mapOutIOC.cjs +9 -9
- package/_cjs/Channel/api/mapOutIOC.cjs.map +1 -1
- package/_cjs/Channel/api/mergeAllWith.cjs +18 -18
- package/_cjs/Channel/api/mergeAllWith.cjs.map +1 -1
- package/_cjs/Channel/api/mergeWith.cjs +5 -5
- package/_cjs/Channel/api/mergeWith.cjs.map +1 -1
- package/_cjs/Channel/api/run.cjs +3 -3
- package/_cjs/Channel/api/runCollect.cjs +3 -3
- package/_cjs/Channel/api/runDrain.cjs +3 -3
- package/_cjs/Channel/api.cjs +90 -35
- package/_cjs/Channel/api.cjs.map +1 -1
- package/_cjs/Channel/internal/ChannelExecutor.cjs +16 -16
- package/_cjs/Channel/internal/ChannelExecutor.cjs.map +1 -1
- package/_cjs/Channel/internal/MergeDecision.cjs +11 -2
- package/_cjs/Channel/internal/MergeDecision.cjs.map +1 -1
- package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs +20 -20
- package/_cjs/Channel/internal/SingleProducerAsyncInput.cjs.map +1 -1
- package/_cjs/Fiber/api/awaitAll.cjs +1 -1
- package/_cjs/Fiber/api/awaitAll.cjs.map +1 -1
- package/_cjs/Fiber/api/fromIO.cjs +1 -1
- package/_cjs/Fiber/api/fromIO.cjs.map +1 -1
- package/_cjs/Fiber/api/interruptFork.cjs +3 -3
- package/_cjs/Fiber/api/interruptFork.cjs.map +1 -1
- package/_cjs/Fiber/api/zipWith.cjs +1 -1
- package/_cjs/Fiber/api/zipWith.cjs.map +1 -1
- package/_cjs/FiberRef/api/locallyScoped.cjs +3 -3
- package/_cjs/FiberRef/api/locallyScoped.cjs.map +1 -1
- package/_cjs/FiberRef/constructors.cjs +1 -1
- package/_cjs/FiberRef/constructors.cjs.map +1 -1
- package/_cjs/Future/api.cjs +1 -1
- package/_cjs/Future/api.cjs.map +1 -1
- package/_cjs/Hub/internal.cjs +1 -1
- package/_cjs/Hub/internal.cjs.map +1 -1
- package/_cjs/IO/api/asyncIO.cjs +4 -4
- package/_cjs/IO/api/asyncIO.cjs.map +1 -1
- package/_cjs/IO/api/bracketExit.cjs +1 -1
- package/_cjs/IO/api/bracketExit.cjs.map +1 -1
- package/_cjs/IO/api/environment.cjs +5 -5
- package/_cjs/IO/api/environment.cjs.map +1 -1
- package/_cjs/IO/api/foreachC.cjs +3 -3
- package/_cjs/IO/api/foreachC.cjs.map +1 -1
- package/_cjs/IO/api/foreachExec.cjs +3 -3
- package/_cjs/IO/api/foreachExec.cjs.map +1 -1
- package/_cjs/IO/api/forkAll.cjs +1 -1
- package/_cjs/IO/api/forkAll.cjs.map +1 -1
- package/_cjs/IO/api/forkIn.cjs +1 -1
- package/_cjs/IO/api/forkIn.cjs.map +1 -1
- package/_cjs/IO/api/forkScoped.cjs +1 -1
- package/_cjs/IO/api/forkScoped.cjs.map +1 -1
- package/_cjs/IO/api/fulfill.cjs +1 -1
- package/_cjs/IO/api/fulfill.cjs.map +1 -1
- package/_cjs/IO/api/interrupt.cjs +4 -4
- package/_cjs/IO/api/interrupt.cjs.map +1 -1
- package/_cjs/IO/api/memoize.cjs +4 -4
- package/_cjs/IO/api/memoize.cjs.map +1 -1
- package/_cjs/IO/api/onTermination.cjs +28 -0
- package/_cjs/IO/api/onTermination.cjs.map +1 -0
- package/_cjs/IO/api/raceFirst.cjs +1 -1
- package/_cjs/IO/api/raceFirst.cjs.map +1 -1
- package/_cjs/IO/api/repeat.cjs +2 -2
- package/_cjs/IO/api/repeat.cjs.map +1 -1
- package/_cjs/IO/api/retry.cjs +2 -2
- package/_cjs/IO/api/retry.cjs.map +1 -1
- package/_cjs/IO/api/schedule.cjs +2 -2
- package/_cjs/IO/api/schedule.cjs.map +1 -1
- package/_cjs/IO/api/timeout.cjs +3 -3
- package/_cjs/IO/api/timeout.cjs.map +1 -1
- package/_cjs/IO/api/zipC.cjs +5 -5
- package/_cjs/IO/api/zipC.cjs.map +1 -1
- package/_cjs/IO/api.cjs +4 -4
- package/_cjs/IO/api.cjs.map +1 -1
- package/_cjs/IO.cjs +13 -0
- package/_cjs/IO.cjs.map +1 -1
- package/_cjs/Layer/MemoMap.cjs +24 -24
- package/_cjs/Layer/MemoMap.cjs.map +1 -1
- package/_cjs/Layer/api.cjs +4 -4
- package/_cjs/Layer/api.cjs.map +1 -1
- package/_cjs/Ref/DerivedAll.cjs +1 -1
- package/_cjs/Ref/DerivedAll.cjs.map +1 -1
- package/_cjs/Ref/Synchronized/api.cjs +3 -3
- package/_cjs/Ref/Synchronized/api.cjs.map +1 -1
- package/_cjs/Ref/Synchronized/constructors.cjs +3 -3
- package/_cjs/Ref/Synchronized/constructors.cjs.map +1 -1
- package/_cjs/Ref/Synchronized/definition.cjs +3 -3
- package/_cjs/Ref/Synchronized/definition.cjs.map +1 -1
- package/_cjs/Ref/api/modify.cjs +10 -10
- package/_cjs/Ref/api/modify.cjs.map +1 -1
- package/_cjs/STM/api.cjs +15 -6
- package/_cjs/STM/api.cjs.map +1 -1
- package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs +1 -1
- package/_cjs/Scope/ReleaseMap/api/releaseAll.cjs.map +1 -1
- package/_cjs/Scope/ReleaseMap/api.cjs +13 -13
- package/_cjs/Scope/ReleaseMap/api.cjs.map +1 -1
- package/_cjs/ScopedRef/api.cjs +1 -1
- package/_cjs/ScopedRef/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 +42 -42
- 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/TRef/api.cjs +7 -7
- package/_cjs/TRef/api.cjs.map +1 -1
- 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/data/Exit/foreachIO.cjs +1 -1
- package/_cjs/data/Exit/foreachIO.cjs.map +1 -1
- package/_mjs/Cached/api.mjs +5 -5
- package/_mjs/Cached/api.mjs.map +1 -1
- package/_mjs/Channel/api/mapOutIOC.mjs +9 -9
- package/_mjs/Channel/api/mapOutIOC.mjs.map +1 -1
- package/_mjs/Channel/api/mergeAllWith.mjs +18 -18
- package/_mjs/Channel/api/mergeAllWith.mjs.map +1 -1
- package/_mjs/Channel/api/mergeWith.mjs +5 -5
- package/_mjs/Channel/api/mergeWith.mjs.map +1 -1
- package/_mjs/Channel/api/run.mjs +3 -3
- package/_mjs/Channel/api/runCollect.mjs +3 -3
- package/_mjs/Channel/api/runDrain.mjs +3 -3
- package/_mjs/Channel/api.mjs +78 -33
- package/_mjs/Channel/api.mjs.map +1 -1
- package/_mjs/Channel/internal/ChannelExecutor.mjs +16 -16
- package/_mjs/Channel/internal/ChannelExecutor.mjs.map +1 -1
- package/_mjs/Channel/internal/MergeDecision.mjs +7 -0
- package/_mjs/Channel/internal/MergeDecision.mjs.map +1 -1
- package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs +20 -20
- package/_mjs/Channel/internal/SingleProducerAsyncInput.mjs.map +1 -1
- package/_mjs/Fiber/api/awaitAll.mjs +1 -1
- package/_mjs/Fiber/api/awaitAll.mjs.map +1 -1
- package/_mjs/Fiber/api/fromIO.mjs +1 -1
- package/_mjs/Fiber/api/fromIO.mjs.map +1 -1
- package/_mjs/Fiber/api/interruptFork.mjs +3 -3
- package/_mjs/Fiber/api/interruptFork.mjs.map +1 -1
- package/_mjs/Fiber/api/zipWith.mjs +1 -1
- package/_mjs/Fiber/api/zipWith.mjs.map +1 -1
- package/_mjs/FiberRef/api/locallyScoped.mjs +3 -3
- package/_mjs/FiberRef/api/locallyScoped.mjs.map +1 -1
- package/_mjs/FiberRef/constructors.mjs +1 -1
- package/_mjs/FiberRef/constructors.mjs.map +1 -1
- package/_mjs/Future/api.mjs +1 -1
- package/_mjs/Future/api.mjs.map +1 -1
- package/_mjs/Hub/internal.mjs +1 -1
- package/_mjs/Hub/internal.mjs.map +1 -1
- package/_mjs/IO/api/asyncIO.mjs +4 -4
- package/_mjs/IO/api/asyncIO.mjs.map +1 -1
- package/_mjs/IO/api/bracketExit.mjs +1 -1
- package/_mjs/IO/api/bracketExit.mjs.map +1 -1
- package/_mjs/IO/api/environment.mjs +5 -5
- package/_mjs/IO/api/environment.mjs.map +1 -1
- package/_mjs/IO/api/foreachC.mjs +3 -3
- package/_mjs/IO/api/foreachC.mjs.map +1 -1
- package/_mjs/IO/api/foreachExec.mjs +3 -3
- package/_mjs/IO/api/foreachExec.mjs.map +1 -1
- package/_mjs/IO/api/forkAll.mjs +1 -1
- package/_mjs/IO/api/forkAll.mjs.map +1 -1
- package/_mjs/IO/api/forkIn.mjs +1 -1
- package/_mjs/IO/api/forkIn.mjs.map +1 -1
- package/_mjs/IO/api/forkScoped.mjs +1 -1
- package/_mjs/IO/api/forkScoped.mjs.map +1 -1
- package/_mjs/IO/api/fulfill.mjs +1 -1
- package/_mjs/IO/api/fulfill.mjs.map +1 -1
- package/_mjs/IO/api/interrupt.mjs +4 -4
- package/_mjs/IO/api/interrupt.mjs.map +1 -1
- package/_mjs/IO/api/memoize.mjs +4 -4
- package/_mjs/IO/api/memoize.mjs.map +1 -1
- package/_mjs/IO/api/onTermination.mjs +13 -0
- package/_mjs/IO/api/onTermination.mjs.map +1 -0
- package/_mjs/IO/api/raceFirst.mjs +1 -1
- package/_mjs/IO/api/raceFirst.mjs.map +1 -1
- package/_mjs/IO/api/repeat.mjs +2 -2
- package/_mjs/IO/api/repeat.mjs.map +1 -1
- package/_mjs/IO/api/retry.mjs +2 -2
- package/_mjs/IO/api/retry.mjs.map +1 -1
- package/_mjs/IO/api/schedule.mjs +2 -2
- package/_mjs/IO/api/schedule.mjs.map +1 -1
- package/_mjs/IO/api/timeout.mjs +3 -3
- package/_mjs/IO/api/timeout.mjs.map +1 -1
- package/_mjs/IO/api/zipC.mjs +5 -5
- package/_mjs/IO/api/zipC.mjs.map +1 -1
- package/_mjs/IO/api.mjs +4 -4
- package/_mjs/IO/api.mjs.map +1 -1
- package/_mjs/IO.mjs +1 -0
- package/_mjs/IO.mjs.map +1 -1
- package/_mjs/Layer/MemoMap.mjs +24 -24
- package/_mjs/Layer/MemoMap.mjs.map +1 -1
- package/_mjs/Layer/api.mjs +4 -4
- package/_mjs/Layer/api.mjs.map +1 -1
- package/_mjs/Ref/DerivedAll.mjs +1 -1
- package/_mjs/Ref/DerivedAll.mjs.map +1 -1
- package/_mjs/Ref/Synchronized/api.mjs +3 -3
- package/_mjs/Ref/Synchronized/api.mjs.map +1 -1
- package/_mjs/Ref/Synchronized/constructors.mjs +3 -3
- package/_mjs/Ref/Synchronized/constructors.mjs.map +1 -1
- package/_mjs/Ref/Synchronized/definition.mjs +3 -3
- package/_mjs/Ref/Synchronized/definition.mjs.map +1 -1
- package/_mjs/Ref/api/modify.mjs +10 -10
- package/_mjs/Ref/api/modify.mjs.map +1 -1
- package/_mjs/STM/api.mjs +13 -6
- package/_mjs/STM/api.mjs.map +1 -1
- package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs +1 -1
- package/_mjs/Scope/ReleaseMap/api/releaseAll.mjs.map +1 -1
- package/_mjs/Scope/ReleaseMap/api.mjs +13 -13
- package/_mjs/Scope/ReleaseMap/api.mjs.map +1 -1
- package/_mjs/ScopedRef/api.mjs +1 -1
- package/_mjs/ScopedRef/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 +42 -42
- 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/TRef/api.mjs +7 -7
- package/_mjs/TRef/api.mjs.map +1 -1
- 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/data/Exit/foreachIO.mjs +1 -1
- package/_mjs/data/Exit/foreachIO.mjs.map +1 -1
- package/_src/Channel/api.ts +98 -11
- package/_src/Channel/internal/MergeDecision.ts +15 -0
- package/_src/IO/api/onTermination.ts +17 -0
- package/_src/IO/api.ts +1 -1
- package/_src/IO.ts +1 -0
- 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/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/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
|
@@ -7,11 +7,11 @@ exports.auto = auto;
|
|
|
7
7
|
exports.get_ = get_;
|
|
8
8
|
exports.refresh_ = exports.manual = void 0;
|
|
9
9
|
|
|
10
|
-
var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/
|
|
10
|
+
var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/schedule"));
|
|
11
11
|
|
|
12
|
-
var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/
|
|
12
|
+
var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/interrupt"));
|
|
13
13
|
|
|
14
|
-
var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/
|
|
14
|
+
var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/core-scope"));
|
|
15
15
|
|
|
16
16
|
var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Fiber/api/interrupt"));
|
|
17
17
|
|
|
@@ -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(() =>
|
|
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
|
|
@@ -60,7 +60,7 @@ function get_(self, __tsplusTrace) {
|
|
|
60
60
|
|
|
61
61
|
|
|
62
62
|
function manual_1(acquire) {
|
|
63
|
-
return tsplus_module_6.flatMap_(tsplus_module_7.environment(fileName_1 + ":34:33"), env => tsplus_module_6.map_(tsplus_module_8.fromAcquire(tsplus_module_6.result(acquire), fileName_1 + ":35:40"), ref => new Manual(ref, tsplus_module_7.provideEnvironment_(acquire, env, fileName_1 + ":36:54")), fileName_1 + ":35:18"), fileName_1 + ":34:18");
|
|
63
|
+
return tsplus_module_6.flatMap_(tsplus_module_7.environment(fileName_1 + ":34:33"), env => tsplus_module_6.map_(tsplus_module_8.fromAcquire(tsplus_module_6.result(acquire, fileName_1 + ":35:48"), fileName_1 + ":35:40"), ref => new Manual(ref, tsplus_module_7.provideEnvironment_(acquire, env, fileName_1 + ":36:54")), fileName_1 + ":35:18"), fileName_1 + ":34:18");
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
class Manual extends _internal.CachedInternal {
|
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,
|
|
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]}
|
|
@@ -11,15 +11,15 @@ var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require
|
|
|
11
11
|
|
|
12
12
|
var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Either/destructors"));
|
|
13
13
|
|
|
14
|
-
var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/
|
|
14
|
+
var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Queue/api/operations"));
|
|
15
15
|
|
|
16
|
-
var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/
|
|
16
|
+
var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api"));
|
|
17
17
|
|
|
18
|
-
var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/
|
|
18
|
+
var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Either/constructors"));
|
|
19
19
|
|
|
20
|
-
var tsplus_module_7 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/
|
|
20
|
+
var tsplus_module_7 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/TSemaphore/api"));
|
|
21
21
|
|
|
22
|
-
var tsplus_module_8 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/
|
|
22
|
+
var tsplus_module_8 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/interrupt"));
|
|
23
23
|
|
|
24
24
|
var tsplus_module_9 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Future/api"));
|
|
25
25
|
|
|
@@ -31,9 +31,9 @@ var tsplus_module_12 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/requir
|
|
|
31
31
|
|
|
32
32
|
var tsplus_module_13 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api/toPull"));
|
|
33
33
|
|
|
34
|
-
var tsplus_module_14 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/
|
|
34
|
+
var tsplus_module_14 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/TSemaphore/constructors"));
|
|
35
35
|
|
|
36
|
-
var tsplus_module_15 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/
|
|
36
|
+
var tsplus_module_15 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/STM/api"));
|
|
37
37
|
|
|
38
38
|
var tsplus_module_16 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Queue/constructors"));
|
|
39
39
|
|
|
@@ -55,8 +55,8 @@ 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(
|
|
59
|
-
const consumer = tsplus_module_2.unwrap(() =>
|
|
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
|
+
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"));
|
|
62
62
|
}
|
|
@@ -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]}
|
|
@@ -11,9 +11,9 @@ var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require
|
|
|
11
11
|
|
|
12
12
|
var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Either/destructors"));
|
|
13
13
|
|
|
14
|
-
var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/
|
|
14
|
+
var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Queue/api/operations"));
|
|
15
15
|
|
|
16
|
-
var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/
|
|
16
|
+
var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api"));
|
|
17
17
|
|
|
18
18
|
var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Fiber/api/interruptAll"));
|
|
19
19
|
|
|
@@ -31,11 +31,11 @@ var tsplus_module_12 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/requir
|
|
|
31
31
|
|
|
32
32
|
var tsplus_module_13 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/core-scope"));
|
|
33
33
|
|
|
34
|
-
var tsplus_module_14 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/
|
|
34
|
+
var tsplus_module_14 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/race"));
|
|
35
35
|
|
|
36
|
-
var tsplus_module_15 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/
|
|
36
|
+
var tsplus_module_15 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api/toPull"));
|
|
37
37
|
|
|
38
|
-
var tsplus_module_16 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/
|
|
38
|
+
var tsplus_module_16 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/scoped"));
|
|
39
39
|
|
|
40
40
|
var tsplus_module_17 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Future/constructors"));
|
|
41
41
|
|
|
@@ -45,9 +45,9 @@ var tsplus_module_19 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/requir
|
|
|
45
45
|
|
|
46
46
|
var tsplus_module_20 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/definition"));
|
|
47
47
|
|
|
48
|
-
var tsplus_module_21 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/
|
|
48
|
+
var tsplus_module_21 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/TSemaphore/constructors"));
|
|
49
49
|
|
|
50
|
-
var tsplus_module_22 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/
|
|
50
|
+
var tsplus_module_22 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/STM/api"));
|
|
51
51
|
|
|
52
52
|
var tsplus_module_23 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Ref/constructors"));
|
|
53
53
|
|
|
@@ -71,26 +71,26 @@ 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(
|
|
75
|
-
const evaluatePull = 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
|
+
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
|
-
return
|
|
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 => {
|
|
78
78
|
switch (mergeStrategy) {
|
|
79
79
|
case "BackPressure":
|
|
80
|
-
return
|
|
81
|
-
const raceIOs =
|
|
82
|
-
return
|
|
80
|
+
return tsplus_module_5.flatMap_(tsplus_module_17.make(), latch => {
|
|
81
|
+
const raceIOs = tsplus_module_16.scoped_(tsplus_module_5.flatMap_(tsplus_module_15.toPull(channel), io => tsplus_module_14.race_(evaluatePull(io), tsplus_module_12.wait(errorSignal)), fileName_1 + ":103:65"));
|
|
82
|
+
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 + ":106:81")), fileName_1 + ":106:91"), () => tsplus_module_5.flatMap_(tsplus_module_12.wait(latch), () => tsplus_module_5.map_(tsplus_module_12.isDone(errorSignal), b => !b, fileName_1 + ":108:58"), fileName_1 + ":107:28"), fileName_1 + ":106:28");
|
|
83
83
|
}, fileName_1 + ":102:44");
|
|
84
84
|
|
|
85
85
|
case "BufferSliding":
|
|
86
|
-
return
|
|
87
|
-
const raceIOs =
|
|
88
|
-
return
|
|
86
|
+
return tsplus_module_5.flatMap_(tsplus_module_17.make(), canceler => tsplus_module_5.flatMap_(tsplus_module_17.make(), latch => tsplus_module_5.flatMap_(tsplus_module_4.size(cancelers), size => tsplus_module_5.flatMap_(tsplus_module_5.when_(tsplus_module_5.flatMap_(tsplus_module_4.take(cancelers), f => tsplus_module_12.succeed_(f, undefined), fileName_1 + ":115:51"), () => size >= 0, fileName_1 + ":115:85"), () => {
|
|
87
|
+
const raceIOs = tsplus_module_16.scoped_(tsplus_module_5.flatMap_(tsplus_module_15.toPull(channel), io => tsplus_module_14.race_(tsplus_module_14.race_(evaluatePull(io), tsplus_module_12.wait(errorSignal)), tsplus_module_12.wait(canceler)), fileName_1 + ":116:65"));
|
|
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)), () => 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
|
-
const consumer = tsplus_module_2.unwrap(() =>
|
|
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;
|
|
95
95
|
}, fileName_1 + ":131:10"));
|
|
96
96
|
}
|
|
@@ -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) => {
|
|
@@ -65,7 +65,7 @@ function mergeWith_(self, that, leftDone, rightDone) {
|
|
|
65
65
|
}
|
|
66
66
|
};
|
|
67
67
|
|
|
68
|
-
return tsplus_module_9.match_(exit, cause => onDecision(done(tsplus_module_7.failCause(cause))), r => tsplus_module_8.match_(r, d => onDecision(done(tsplus_module_7.succeed(d))), elem => tsplus_module_3.map_(tsplus_module_1.forkDaemon(pull), leftFiber => tsplus_module_5.apSecond_(tsplus_module_4.writeNow(elem), go(both(leftFiber, fiber))), fileName_1 + ":122:38")));
|
|
68
|
+
return tsplus_module_9.match_(exit, cause => onDecision(done(tsplus_module_7.failCause(cause))), r => tsplus_module_8.match_(r, d => onDecision(done(tsplus_module_7.succeed(d))), elem => tsplus_module_3.map_(tsplus_module_1.forkDaemon(pull, fileName_1 + ":122:23"), leftFiber => tsplus_module_5.apSecond_(tsplus_module_4.writeNow(elem), go(both(leftFiber, fiber))), fileName_1 + ":122:38")));
|
|
69
69
|
};
|
|
70
70
|
|
|
71
71
|
const go = state => {
|
|
@@ -82,16 +82,16 @@ function mergeWith_(self, that, leftDone, rightDone) {
|
|
|
82
82
|
case "LeftDone"
|
|
83
83
|
/* MergeStateTag.LeftDone */
|
|
84
84
|
:
|
|
85
|
-
return tsplus_module_4.unwrap(() => tsplus_module_3.map_(tsplus_module_3.result(pullR), exit => tsplus_module_9.match_(exit, cause => tsplus_module_4.fromIO(() => state.f(tsplus_module_7.failCause(cause))), r => tsplus_module_8.match_(r, d => tsplus_module_4.fromIO(() => state.f(tsplus_module_7.succeed(d))), elem => tsplus_module_5.apSecond_(tsplus_module_4.writeNow(elem), go(tsplus_module_2.leftDone(state.f))))), fileName_1 + ":162:31"));
|
|
85
|
+
return tsplus_module_4.unwrap(() => tsplus_module_3.map_(tsplus_module_3.result(pullR, fileName_1 + ":162:20"), exit => tsplus_module_9.match_(exit, cause => tsplus_module_4.fromIO(() => state.f(tsplus_module_7.failCause(cause))), r => tsplus_module_8.match_(r, d => tsplus_module_4.fromIO(() => state.f(tsplus_module_7.succeed(d))), elem => tsplus_module_5.apSecond_(tsplus_module_4.writeNow(elem), go(tsplus_module_2.leftDone(state.f))))), fileName_1 + ":162:31"));
|
|
86
86
|
|
|
87
87
|
case "RightDone"
|
|
88
88
|
/* MergeStateTag.RightDone */
|
|
89
89
|
:
|
|
90
|
-
return tsplus_module_4.unwrap(() => tsplus_module_3.map_(tsplus_module_3.result(pullL), exit => tsplus_module_9.match_(exit, cause => tsplus_module_4.fromIO(() => state.f(tsplus_module_7.failCause(cause))), r => tsplus_module_8.match_(r, d => tsplus_module_4.fromIO(() => state.f(tsplus_module_7.succeed(d))), elem => tsplus_module_5.apSecond_(tsplus_module_4.writeNow(elem), go(tsplus_module_2.rightDone(state.f))))), fileName_1 + ":175:31"));
|
|
90
|
+
return tsplus_module_4.unwrap(() => tsplus_module_3.map_(tsplus_module_3.result(pullL, fileName_1 + ":175:20"), exit => tsplus_module_9.match_(exit, cause => tsplus_module_4.fromIO(() => state.f(tsplus_module_7.failCause(cause))), r => tsplus_module_8.match_(r, d => tsplus_module_4.fromIO(() => state.f(tsplus_module_7.succeed(d))), elem => tsplus_module_5.apSecond_(tsplus_module_4.writeNow(elem), go(tsplus_module_2.rightDone(state.f))))), fileName_1 + ":175:31"));
|
|
91
91
|
}
|
|
92
92
|
};
|
|
93
93
|
|
|
94
|
-
return tsplus_module_4.embedInput_(tsplus_module_5.flatMap_(tsplus_module_4.fromIO(() => tsplus_module_3.zipWith_(tsplus_module_1.forkDaemon(pullL), tsplus_module_1.forkDaemon(pullR), (a, b) => tsplus_module_2.bothRunning(a, b))), go), input);
|
|
94
|
+
return tsplus_module_4.embedInput_(tsplus_module_5.flatMap_(tsplus_module_4.fromIO(() => tsplus_module_3.zipWith_(tsplus_module_1.forkDaemon(pullL, fileName_1 + ":189:14"), tsplus_module_1.forkDaemon(pullR, fileName_1 + ":189:39"), (a, b) => tsplus_module_2.bothRunning(a, b))), go), input);
|
|
95
95
|
}, fileName_1 + ":54:28"), fileName_1 + ":53:28");
|
|
96
96
|
}, fileName_1 + ":51:28"));
|
|
97
97
|
}
|
|
@@ -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/run.cjs
CHANGED
|
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.run = run;
|
|
7
7
|
|
|
8
|
-
var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/
|
|
8
|
+
var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api/runScoped"));
|
|
9
9
|
|
|
10
|
-
var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/
|
|
10
|
+
var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/scoped"));
|
|
11
11
|
|
|
12
12
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13
13
|
|
|
@@ -19,6 +19,6 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
19
19
|
* @tsplus getter fncts.io.Channel run
|
|
20
20
|
*/
|
|
21
21
|
function run(self) {
|
|
22
|
-
return
|
|
22
|
+
return tsplus_module_2.scoped_(tsplus_module_1.runScoped(self));
|
|
23
23
|
}
|
|
24
24
|
//# sourceMappingURL=run.cjs.map
|
|
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.runCollect = runCollect;
|
|
7
7
|
|
|
8
|
-
var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api
|
|
8
|
+
var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api"));
|
|
9
9
|
|
|
10
|
-
var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api"));
|
|
10
|
+
var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api/run"));
|
|
11
11
|
|
|
12
12
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13
13
|
|
|
@@ -17,6 +17,6 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
17
17
|
* @tsplus getter fncts.io.Channel runCollect
|
|
18
18
|
*/
|
|
19
19
|
function runCollect(self) {
|
|
20
|
-
return
|
|
20
|
+
return tsplus_module_2.run(tsplus_module_1.doneCollect(self));
|
|
21
21
|
}
|
|
22
22
|
//# sourceMappingURL=runCollect.cjs.map
|
|
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.runDrain = runDrain;
|
|
7
7
|
|
|
8
|
-
var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api
|
|
8
|
+
var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api"));
|
|
9
9
|
|
|
10
|
-
var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api"));
|
|
10
|
+
var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Channel/api/run"));
|
|
11
11
|
|
|
12
12
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13
13
|
|
|
@@ -19,6 +19,6 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
19
19
|
* @tsplus getter fncts.io.Channel runDrain
|
|
20
20
|
*/
|
|
21
21
|
function runDrain(self) {
|
|
22
|
-
return
|
|
22
|
+
return tsplus_module_2.run(tsplus_module_1.drain(self));
|
|
23
23
|
}
|
|
24
24
|
//# sourceMappingURL=runDrain.cjs.map
|