@fncts/io 0.0.34 → 0.0.36
Sign up to get free protection for your applications and to get access to all the features.
- package/Fiber/FiberRuntime.d.ts +7 -7
- package/Fiber/constructors.d.ts +5 -0
- package/IO/api/all.d.ts +41 -0
- package/IO/api/concurrency.d.ts +11 -0
- package/IO/api/interrupt.d.ts +1 -1
- package/IO/api/raceWith.d.ts +2 -1
- package/IO/api.d.ts +7 -2
- package/IO/definition.d.ts +103 -127
- package/IO.d.ts +1 -0
- package/Push/api.d.ts +86 -36
- package/Push/definition.d.ts +28 -13
- package/Push/internal.d.ts +7 -11
- package/RefSubject/Atomic.d.ts +8 -11
- package/RefSubject/Synchronized/definition.d.ts +4 -6
- package/RefSubject/api.d.ts +0 -1
- package/RefSubject/definition.d.ts +6 -8
- package/STM/definition.d.ts +19 -2
- package/Sink/api.d.ts +24 -24
- package/Subject/Atomic.d.ts +4 -6
- package/Subject/definition.d.ts +2 -2
- package/_cjs/Channel/api/runScoped.cjs +1 -1
- package/_cjs/Channel/api/runScoped.cjs.map +1 -1
- package/_cjs/Channel/api.cjs +2 -2
- package/_cjs/Channel/api.cjs.map +1 -1
- package/_cjs/Fiber/FiberRuntime.cjs +110 -98
- package/_cjs/Fiber/FiberRuntime.cjs.map +1 -1
- package/_cjs/Fiber/constructors.cjs +10 -2
- package/_cjs/Fiber/constructors.cjs.map +1 -1
- package/_cjs/Future/api.cjs +1 -1
- package/_cjs/Future/api.cjs.map +1 -1
- package/_cjs/IO/api/all.cjs +33 -0
- package/_cjs/IO/api/all.cjs.map +1 -0
- package/_cjs/IO/api/asyncIO.cjs +1 -1
- 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/concurrency.cjs +25 -4
- package/_cjs/IO/api/concurrency.cjs.map +1 -1
- package/_cjs/IO/api/disconnect.cjs +1 -1
- package/_cjs/IO/api/disconnect.cjs.map +1 -1
- package/_cjs/IO/api/foreachConcurrent.cjs +1 -1
- package/_cjs/IO/api/foreachConcurrent.cjs.map +1 -1
- package/_cjs/IO/api/foreachExec.cjs +1 -1
- package/_cjs/IO/api/foreachExec.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 +18 -6
- package/_cjs/IO/api/interrupt.cjs.map +1 -1
- package/_cjs/IO/api/raceWith.cjs +4 -4
- package/_cjs/IO/api/raceWith.cjs.map +1 -1
- package/_cjs/IO/api/timeout.cjs +8 -5
- package/_cjs/IO/api/timeout.cjs.map +1 -1
- package/_cjs/IO/api/zipConcurrent.cjs +1 -1
- package/_cjs/IO/api/zipConcurrent.cjs.map +1 -1
- package/_cjs/IO/api.cjs +78 -20
- package/_cjs/IO/api.cjs.map +1 -1
- package/_cjs/IO/definition.cjs +14 -191
- package/_cjs/IO/definition.cjs.map +1 -1
- package/_cjs/IO.cjs +11 -0
- package/_cjs/IO.cjs.map +1 -1
- package/_cjs/Layer/MemoMap.cjs +1 -1
- package/_cjs/Layer/MemoMap.cjs.map +1 -1
- package/_cjs/Layer/api.cjs.map +1 -1
- package/_cjs/Push/api.cjs +238 -168
- package/_cjs/Push/api.cjs.map +1 -1
- package/_cjs/Push/definition.cjs +12 -13
- package/_cjs/Push/definition.cjs.map +1 -1
- package/_cjs/Push/internal.cjs +37 -29
- package/_cjs/Push/internal.cjs.map +1 -1
- package/_cjs/RefSubject/Atomic.cjs +15 -19
- package/_cjs/RefSubject/Atomic.cjs.map +1 -1
- package/_cjs/RefSubject/Synchronized/definition.cjs +9 -10
- package/_cjs/RefSubject/Synchronized/definition.cjs.map +1 -1
- package/_cjs/RefSubject/api.cjs +5 -6
- package/_cjs/RefSubject/api.cjs.map +1 -1
- package/_cjs/RefSubject/definition.cjs.map +1 -1
- package/_cjs/STM/api/atomically.cjs +1 -1
- package/_cjs/STM/api/atomically.cjs.map +1 -1
- package/_cjs/STM/api.cjs +2 -2
- package/_cjs/STM/api.cjs.map +1 -1
- package/_cjs/STM/definition.cjs +1 -1
- package/_cjs/STM/definition.cjs.map +1 -1
- package/_cjs/ScopedRef/api.cjs +2 -2
- package/_cjs/ScopedRef/api.cjs.map +1 -1
- package/_cjs/Semaphore.cjs +1 -1
- package/_cjs/Semaphore.cjs.map +1 -1
- package/_cjs/Sink/api.cjs +13 -13
- package/_cjs/Sink/api.cjs.map +1 -1
- package/_cjs/Subject/Atomic.cjs +4 -5
- package/_cjs/Subject/Atomic.cjs.map +1 -1
- package/_cjs/TReentrantLock/api.cjs +2 -2
- package/_cjs/TReentrantLock/api.cjs.map +1 -1
- package/_cjs/TSemaphore/api.cjs +1 -1
- package/_cjs/TSemaphore/api.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/dropUntilIO.cjs +12 -17
- package/_cjs/collection/immutable/Conc/dropUntilIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/dropWhileIO.cjs +12 -17
- package/_cjs/collection/immutable/Conc/dropWhileIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/filterIO.cjs +2 -12
- package/_cjs/collection/immutable/Conc/filterIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/mapIO.cjs +3 -9
- package/_cjs/collection/immutable/Conc/mapIO.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/takeWhileIO.cjs +11 -27
- package/_cjs/collection/immutable/Conc/takeWhileIO.cjs.map +1 -1
- package/_mjs/Channel/api/runScoped.mjs +1 -1
- package/_mjs/Channel/api/runScoped.mjs.map +1 -1
- package/_mjs/Channel/api.mjs +2 -2
- package/_mjs/Channel/api.mjs.map +1 -1
- package/_mjs/Fiber/FiberRuntime.mjs +111 -100
- package/_mjs/Fiber/FiberRuntime.mjs.map +1 -1
- package/_mjs/Fiber/constructors.mjs +7 -1
- package/_mjs/Fiber/constructors.mjs.map +1 -1
- package/_mjs/Future/api.mjs +1 -1
- package/_mjs/Future/api.mjs.map +1 -1
- package/_mjs/IO/api/all.mjs +24 -0
- package/_mjs/IO/api/all.mjs.map +1 -0
- package/_mjs/IO/api/asyncIO.mjs +1 -1
- 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/concurrency.mjs +19 -2
- package/_mjs/IO/api/concurrency.mjs.map +1 -1
- package/_mjs/IO/api/disconnect.mjs +1 -1
- package/_mjs/IO/api/disconnect.mjs.map +1 -1
- package/_mjs/IO/api/foreachConcurrent.mjs +1 -1
- package/_mjs/IO/api/foreachConcurrent.mjs.map +1 -1
- package/_mjs/IO/api/foreachExec.mjs +1 -1
- package/_mjs/IO/api/foreachExec.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 +19 -7
- package/_mjs/IO/api/interrupt.mjs.map +1 -1
- package/_mjs/IO/api/raceWith.mjs +4 -4
- package/_mjs/IO/api/raceWith.mjs.map +1 -1
- package/_mjs/IO/api/timeout.mjs +8 -5
- package/_mjs/IO/api/timeout.mjs.map +1 -1
- package/_mjs/IO/api/zipConcurrent.mjs +1 -1
- package/_mjs/IO/api/zipConcurrent.mjs.map +1 -1
- package/_mjs/IO/api.mjs +78 -23
- package/_mjs/IO/api.mjs.map +1 -1
- package/_mjs/IO/definition.mjs +12 -181
- package/_mjs/IO/definition.mjs.map +1 -1
- package/_mjs/IO.mjs +1 -0
- package/_mjs/IO.mjs.map +1 -1
- package/_mjs/Layer/MemoMap.mjs +1 -1
- package/_mjs/Layer/MemoMap.mjs.map +1 -1
- package/_mjs/Layer/api.mjs.map +1 -1
- package/_mjs/Push/api.mjs +223 -166
- package/_mjs/Push/api.mjs.map +1 -1
- package/_mjs/Push/definition.mjs +9 -10
- package/_mjs/Push/definition.mjs.map +1 -1
- package/_mjs/Push/internal.mjs +33 -22
- package/_mjs/Push/internal.mjs.map +1 -1
- package/_mjs/RefSubject/Atomic.mjs +15 -19
- package/_mjs/RefSubject/Atomic.mjs.map +1 -1
- package/_mjs/RefSubject/Synchronized/definition.mjs +9 -10
- package/_mjs/RefSubject/Synchronized/definition.mjs.map +1 -1
- package/_mjs/RefSubject/api.mjs +6 -7
- package/_mjs/RefSubject/api.mjs.map +1 -1
- package/_mjs/RefSubject/definition.mjs.map +1 -1
- package/_mjs/STM/api/atomically.mjs +1 -1
- package/_mjs/STM/api/atomically.mjs.map +1 -1
- package/_mjs/STM/api.mjs +2 -2
- package/_mjs/STM/api.mjs.map +1 -1
- package/_mjs/STM/definition.mjs +1 -1
- package/_mjs/STM/definition.mjs.map +1 -1
- package/_mjs/ScopedRef/api.mjs +2 -2
- package/_mjs/ScopedRef/api.mjs.map +1 -1
- package/_mjs/Semaphore.mjs +1 -1
- package/_mjs/Semaphore.mjs.map +1 -1
- package/_mjs/Sink/api.mjs +10 -10
- package/_mjs/Sink/api.mjs.map +1 -1
- package/_mjs/Subject/Atomic.mjs +4 -5
- package/_mjs/Subject/Atomic.mjs.map +1 -1
- package/_mjs/TReentrantLock/api.mjs +2 -2
- package/_mjs/TReentrantLock/api.mjs.map +1 -1
- package/_mjs/TSemaphore/api.mjs +1 -1
- package/_mjs/TSemaphore/api.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/dropUntilIO.mjs +12 -17
- package/_mjs/collection/immutable/Conc/dropUntilIO.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/dropWhileIO.mjs +12 -17
- package/_mjs/collection/immutable/Conc/dropWhileIO.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/filterIO.mjs +2 -12
- package/_mjs/collection/immutable/Conc/filterIO.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/mapIO.mjs +3 -9
- package/_mjs/collection/immutable/Conc/mapIO.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/takeWhileIO.mjs +11 -27
- package/_mjs/collection/immutable/Conc/takeWhileIO.mjs.map +1 -1
- package/_src/Channel/api.ts +3 -3
- package/_src/Fiber/FiberRuntime.ts +76 -75
- package/_src/Fiber/constructors.ts +5 -0
- package/_src/IO/api/all.ts +64 -0
- package/_src/IO/api/concurrency.ts +33 -0
- package/_src/IO/api/foreachExec.ts +2 -2
- package/_src/IO/api/interrupt.ts +20 -7
- package/_src/IO/api/raceWith.ts +4 -2
- package/_src/IO/api/timeout.ts +21 -1
- package/_src/IO/api.ts +79 -27
- package/_src/IO/definition.ts +155 -200
- package/_src/IO.ts +1 -0
- package/_src/Layer/api.ts +0 -1
- package/_src/Push/api.ts +305 -304
- package/_src/Push/definition.ts +19 -17
- package/_src/Push/internal.ts +63 -31
- package/_src/RefSubject/Atomic.ts +16 -22
- package/_src/RefSubject/Synchronized/definition.ts +6 -9
- package/_src/RefSubject/api.ts +9 -12
- package/_src/RefSubject/definition.ts +6 -8
- package/_src/STM/api.ts +0 -5
- package/_src/STM/definition.ts +8 -2
- package/_src/Sink/api.ts +9 -9
- package/_src/Subject/Atomic.ts +6 -8
- package/_src/Subject/definition.ts +2 -2
- package/_src/collection/immutable/Conc/dropUntilIO.ts +18 -15
- package/_src/collection/immutable/Conc/dropWhileIO.ts +18 -17
- package/_src/collection/immutable/Conc/filterIO.ts +1 -11
- package/_src/collection/immutable/Conc/mapIO.ts +2 -9
- package/_src/collection/immutable/Conc/takeWhileIO.ts +19 -28
- package/collection/immutable/Conc/filterIO.d.ts +1 -1
- package/collection/immutable/Conc/mapIO.d.ts +1 -1
- package/collection/immutable/Conc/takeWhileIO.d.ts +1 -1
- package/package.json +2 -2
package/_cjs/Push/api.cjs
CHANGED
@@ -5,10 +5,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.Multicast = exports.Hold = void 0;
|
7
7
|
exports.as = as;
|
8
|
-
exports.
|
8
|
+
exports.async = async;
|
9
|
+
exports.combineLatest = exports.asyncInterrupt = void 0;
|
9
10
|
exports.combineLatestWith = combineLatestWith;
|
10
11
|
exports.debounce = debounce;
|
11
12
|
exports.defer = defer;
|
13
|
+
exports.exhaustMap = void 0;
|
14
|
+
exports.exhaustMapIO = exhaustMapIO;
|
15
|
+
exports.filter = filter;
|
16
|
+
exports.filterIO = filterIO;
|
17
|
+
exports.filterMap = filterMap;
|
18
|
+
exports.filterMapIO = filterMapIO;
|
12
19
|
exports.flatMap = void 0;
|
13
20
|
exports.flatMapConcurrent = flatMapConcurrent;
|
14
21
|
exports.flatten = exports.flatMapConcurrentUnbounded = exports.flatMapConcurrentBounded = void 0;
|
@@ -23,13 +30,14 @@ exports.mapIO = void 0;
|
|
23
30
|
exports.merge = merge;
|
24
31
|
exports.mergeAll = void 0;
|
25
32
|
exports.multicast = multicast;
|
26
|
-
exports.never = void 0;
|
33
|
+
exports.observe = exports.never = void 0;
|
27
34
|
exports.repeatIOMaybe = repeatIOMaybe;
|
28
35
|
exports.runCollect = runCollect;
|
29
36
|
exports.runDrain = runDrain;
|
30
37
|
exports.scoped = void 0;
|
31
38
|
exports.succeed = succeed;
|
32
|
-
exports.switchMap =
|
39
|
+
exports.switchMapIO = exports.switchMap = void 0;
|
40
|
+
exports.tap = tap;
|
33
41
|
exports.transform = void 0;
|
34
42
|
exports.unfold = unfold;
|
35
43
|
exports.unfoldIO = void 0;
|
@@ -37,48 +45,53 @@ exports.untilFuture = untilFuture;
|
|
37
45
|
exports.untilPush = untilPush;
|
38
46
|
exports.unwrap = void 0;
|
39
47
|
exports.unwrapScoped = unwrapScoped;
|
40
|
-
var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/
|
41
|
-
var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/
|
42
|
-
var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/
|
43
|
-
var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/
|
44
|
-
var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/
|
45
|
-
var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/
|
46
|
-
var tsplus_module_7 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/
|
47
|
-
var tsplus_module_8 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/
|
48
|
-
var tsplus_module_9 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/
|
49
|
-
var tsplus_module_10 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/
|
50
|
-
var tsplus_module_11 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/
|
51
|
-
var tsplus_module_12 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/
|
52
|
-
var tsplus_module_13 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/
|
53
|
-
var tsplus_module_14 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/
|
54
|
-
var tsplus_module_15 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/
|
55
|
-
var tsplus_module_16 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/
|
56
|
-
var tsplus_module_17 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/
|
57
|
-
var tsplus_module_18 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/
|
58
|
-
var tsplus_module_19 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/
|
59
|
-
var tsplus_module_20 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/
|
60
|
-
var tsplus_module_21 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/
|
61
|
-
var tsplus_module_22 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/
|
62
|
-
var tsplus_module_23 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/
|
63
|
-
var tsplus_module_24 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/
|
64
|
-
var tsplus_module_25 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/
|
65
|
-
var tsplus_module_26 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/
|
48
|
+
var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Future/api"));
|
49
|
+
var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/interrupt"));
|
50
|
+
var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Either/destructors"));
|
51
|
+
var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api"));
|
52
|
+
var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/forkIn"));
|
53
|
+
var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/fulfill"));
|
54
|
+
var tsplus_module_7 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/runtime"));
|
55
|
+
var tsplus_module_8 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/scope"));
|
56
|
+
var tsplus_module_9 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Future/constructors"));
|
57
|
+
var tsplus_module_10 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/scoped"));
|
58
|
+
var tsplus_module_11 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Push/definition"));
|
59
|
+
var tsplus_module_12 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Either/constructors"));
|
60
|
+
var tsplus_module_13 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/Iterable/api"));
|
61
|
+
var tsplus_module_14 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/foreachConcurrent"));
|
62
|
+
var tsplus_module_15 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/delay"));
|
63
|
+
var tsplus_module_16 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/destructors"));
|
64
|
+
var tsplus_module_17 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Semaphore"));
|
65
|
+
var tsplus_module_18 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/concurrency"));
|
66
|
+
var tsplus_module_19 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/function/api"));
|
67
|
+
var tsplus_module_20 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/asyncIO"));
|
68
|
+
var tsplus_module_21 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/forkDaemon"));
|
69
|
+
var tsplus_module_22 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Fiber/api/await"));
|
70
|
+
var tsplus_module_23 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/environment"));
|
71
|
+
var tsplus_module_24 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Fiber/api/interrupt"));
|
72
|
+
var tsplus_module_25 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/constructors"));
|
73
|
+
var tsplus_module_26 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/definition"));
|
66
74
|
var tsplus_module_27 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Cause/api"));
|
67
|
-
var tsplus_module_28 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/
|
68
|
-
var tsplus_module_29 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/
|
69
|
-
var tsplus_module_30 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/
|
70
|
-
var tsplus_module_31 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/
|
71
|
-
var tsplus_module_32 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/
|
75
|
+
var tsplus_module_28 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Fiber/api/interruptFork"));
|
76
|
+
var tsplus_module_29 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/forkScoped"));
|
77
|
+
var tsplus_module_30 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/Conc/definition"));
|
78
|
+
var tsplus_module_31 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Fiber/api/joinAll"));
|
79
|
+
var tsplus_module_32 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/fork"));
|
72
80
|
var tsplus_module_33 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/asyncInterrupt"));
|
73
81
|
var _AtomicReference = /*#__PURE__*/require("@fncts/base/internal/AtomicReference");
|
82
|
+
var _IO = /*#__PURE__*/require("@fncts/io/IO");
|
83
|
+
var _internal = /*#__PURE__*/require("@fncts/io/Push/internal");
|
74
84
|
var _definition4 = /*#__PURE__*/require("./definition.cjs");
|
75
|
-
var _internal = /*#__PURE__*/require("./internal.cjs");
|
76
85
|
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); }
|
77
86
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
78
87
|
var _a;
|
79
88
|
const fileName_1 = "(@fncts/io) src/Push/api.ts";
|
89
|
+
const asyncInterrupt = asyncInterrupt_1;
|
90
|
+
exports.asyncInterrupt = asyncInterrupt;
|
80
91
|
const combineLatest = combineLatest_1;
|
81
92
|
exports.combineLatest = combineLatest;
|
93
|
+
const exhaustMap = exhaustMap_1;
|
94
|
+
exports.exhaustMap = exhaustMap;
|
82
95
|
const flatMapConcurrentBounded = flatMapConcurrentBounded_1;
|
83
96
|
exports.flatMapConcurrentBounded = flatMapConcurrentBounded;
|
84
97
|
const flatMapConcurrentUnbounded = flatMapConcurrentUnbounded_1;
|
@@ -95,8 +108,14 @@ const mapIO = mapIO_1;
|
|
95
108
|
exports.mapIO = mapIO;
|
96
109
|
const mergeAll = mergeAll_1;
|
97
110
|
exports.mergeAll = mergeAll;
|
111
|
+
const observe = observe_1;
|
112
|
+
exports.observe = observe;
|
98
113
|
const scoped = scoped_1;
|
99
114
|
exports.scoped = scoped;
|
115
|
+
const switchMap = switchMap_1;
|
116
|
+
exports.switchMap = switchMap;
|
117
|
+
const switchMapIO = switchMapIO_1;
|
118
|
+
exports.switchMapIO = switchMapIO;
|
100
119
|
const transform = transform_1;
|
101
120
|
exports.transform = transform;
|
102
121
|
const unfoldIO = unfoldIO_1;
|
@@ -111,13 +130,34 @@ function as(b) {
|
|
111
130
|
return map_1(b)(self);
|
112
131
|
};
|
113
132
|
}
|
133
|
+
/**
|
134
|
+
* @tsplus static fncts.io.PushOps asyncInterrupt
|
135
|
+
*/
|
136
|
+
function asyncInterrupt_1(make) {
|
137
|
+
return tsplus_module_11.makePush(sink => tsplus_module_10.scoped(tsplus_module_4.flatMap(future => tsplus_module_4.flatMap(scope => tsplus_module_4.flatMap(runtime => {
|
138
|
+
const unsafeSink = {
|
139
|
+
event: value => runtime.unsafeRunOrFork(tsplus_module_5.forkIn(scope, fileName_1 + ":34:77")(sink.event(value)), fileName_1 + ":34:52"),
|
140
|
+
error: cause => runtime.unsafeRunOrFork(tsplus_module_5.forkIn(scope, fileName_1 + ":35:93")(tsplus_module_6.fulfill(future, fileName_1 + ":35:78")(sink.error(cause))), fileName_1 + ":35:52")
|
141
|
+
};
|
142
|
+
return tsplus_module_4.flatMap(eitherPush => tsplus_module_4.map(() => void 0, fileName_1 + ":38:10")(tsplus_module_3.match(canceller => tsplus_module_2.onInterrupt(() => canceller, fileName_1 + ":40:52")(tsplus_module_1.wait(future, fileName_1 + ":40:34")), push => push.run(sink))(eitherPush)), fileName_1 + ":37:29")(tsplus_module_4.succeed(() => make(unsafeSink), fileName_1 + ":37:32"));
|
143
|
+
}, fileName_1 + ":32:26")(tsplus_module_7.runtime(fileName_1 + ":32:37")), fileName_1 + ":31:26")(tsplus_module_8.scope), fileName_1 + ":30:26")(tsplus_module_9.make(fileName_1 + ":30:38")), fileName_1 + ":44:9"));
|
144
|
+
}
|
145
|
+
/**
|
146
|
+
* @tsplus static fncts.io.PushOps async
|
147
|
+
*/
|
148
|
+
function async(make) {
|
149
|
+
return asyncInterrupt_1(sink => {
|
150
|
+
make(sink);
|
151
|
+
return tsplus_module_12.left(tsplus_module_4.unit, fileName_1 + ":54:23");
|
152
|
+
});
|
153
|
+
}
|
114
154
|
function combineLatest_1(streams) {
|
115
|
-
return
|
116
|
-
const size =
|
117
|
-
return
|
118
|
-
const emitIfReady =
|
119
|
-
return
|
120
|
-
}, fileName_1 + ":
|
155
|
+
return tsplus_module_11.makePush(emitter => (() => {
|
156
|
+
const size = tsplus_module_13.size(streams);
|
157
|
+
return tsplus_module_4.flatMap(ref => {
|
158
|
+
const emitIfReady = tsplus_module_4.flatMap(as => as.length === size ? emitter.event(as) : tsplus_module_4.unit, fileName_1 + ":70:69")(tsplus_module_4.succeed(() => ref.filter(a => a != null), fileName_1 + ":70:31"));
|
159
|
+
return tsplus_module_4.map(() => void 0, fileName_1 + ":73:8")(tsplus_module_14.foreachConcurrent(tsplus_module_13.zipWithIndex(streams), ([i, stream]) => stream.run(tsplus_module_11.makeSink(value => tsplus_module_4.zipRight(emitIfReady, fileName_1 + ":77:48")(tsplus_module_4.succeed(() => ref[i] = value, fileName_1 + ":77:28")), cause => emitter.error(cause))), fileName_1 + ":74:29"));
|
160
|
+
}, fileName_1 + ":69:30")(tsplus_module_4.succeed(() => Array(size), fileName_1 + ":69:33"));
|
121
161
|
})());
|
122
162
|
}
|
123
163
|
/**
|
@@ -133,21 +173,66 @@ function combineLatestWith(that, f) {
|
|
133
173
|
*/
|
134
174
|
function debounce(duration) {
|
135
175
|
return self => {
|
136
|
-
return
|
176
|
+
return switchMapIO_1(a => tsplus_module_15.delay(duration)(tsplus_module_4.succeedNow(a, fileName_1 + ":101:49")))(self);
|
137
177
|
};
|
138
178
|
}
|
139
179
|
/**
|
140
180
|
* @tsplus static fncts.io.PushOps defer
|
141
181
|
*/
|
142
182
|
function defer(self) {
|
143
|
-
return
|
183
|
+
return tsplus_module_11.makePush(emitter => tsplus_module_4.flatMap(push => push.run(emitter), fileName_1 + ":109:44")(tsplus_module_4.succeed(self, fileName_1 + ":109:30")));
|
184
|
+
}
|
185
|
+
/**
|
186
|
+
* @tsplus pipeable fncts.io.Push exhaustMap
|
187
|
+
*/
|
188
|
+
function exhaustMap_1(f) {
|
189
|
+
return self => {
|
190
|
+
return tsplus_module_11.makePush(sink => (0, _internal.withExhaust)(fork => self.run(tsplus_module_11.makeSink(a => fork(f(a).run(sink)), sink.error))));
|
191
|
+
};
|
192
|
+
}
|
193
|
+
/**
|
194
|
+
* @tsplus pipeable fncts.io.Push exhaustMapIO
|
195
|
+
*/
|
196
|
+
function exhaustMapIO(f) {
|
197
|
+
return self => {
|
198
|
+
return exhaustMap_1(a => fromIO_1(() => f(a)))(self);
|
199
|
+
};
|
200
|
+
}
|
201
|
+
/**
|
202
|
+
* @tsplus pipeable fncts.io.Push filterIO
|
203
|
+
*/
|
204
|
+
function filterIO(predicate) {
|
205
|
+
return self => {
|
206
|
+
return tsplus_module_11.makePush(sink => self.run(tsplus_module_11.makeSink(a => tsplus_module_4.catchAllCause(sink.error, fileName_1 + ":141:29")(tsplus_module_4.flatMap(b => b ? sink.event(a) : tsplus_module_4.unit, fileName_1 + ":140:23")(predicate(a))), sink.error)));
|
207
|
+
};
|
208
|
+
}
|
209
|
+
/**
|
210
|
+
* @tsplus pipeable fncts.io.Push filterMapIO
|
211
|
+
*/
|
212
|
+
function filterMapIO(f) {
|
213
|
+
return self => {
|
214
|
+
return tsplus_module_11.makePush(sink => self.run(tsplus_module_11.makeSink(a => tsplus_module_4.catchAllCause(sink.error, fileName_1 + ":160:29")(tsplus_module_4.flatMap(mb => tsplus_module_16.match(() => tsplus_module_4.unit, sink.event)(mb), fileName_1 + ":159:23")(f(a))), sink.error)));
|
215
|
+
};
|
216
|
+
}
|
217
|
+
function filter(predicate) {
|
218
|
+
return self => {
|
219
|
+
return tsplus_module_11.makePush(sink => self.run(tsplus_module_11.makeSink(a => predicate(a) ? sink.event(a) : tsplus_module_4.unit, sink.error)));
|
220
|
+
};
|
221
|
+
}
|
222
|
+
/**
|
223
|
+
* @tsplus pipeable fncts.io.Push filterMap
|
224
|
+
*/
|
225
|
+
function filterMap(f) {
|
226
|
+
return self => {
|
227
|
+
return tsplus_module_11.makePush(sink => self.run(tsplus_module_11.makeSink(a => tsplus_module_16.match(() => tsplus_module_4.unit, sink.event)(f(a)), sink.error)));
|
228
|
+
};
|
144
229
|
}
|
145
230
|
/**
|
146
231
|
* @tsplus pipeable fncts.io.Push flatMapConcurrentBounded
|
147
232
|
*/
|
148
233
|
function flatMapConcurrentBounded_1(f, concurrency) {
|
149
234
|
return self => {
|
150
|
-
return
|
235
|
+
return tsplus_module_11.makePush(emitter => tsplus_module_4.flatMap(semaphore => tsplus_module_4.map(() => void 0, fileName_1 + ":196:10")(flatMapConcurrentUnbounded_1(a => transform_1(io => semaphore.withPermit(io))(f(a)))(self).run(emitter)), fileName_1 + ":195:28")(tsplus_module_17.makeSemaphore(concurrency, fileName_1 + ":195:38")));
|
151
236
|
};
|
152
237
|
}
|
153
238
|
/**
|
@@ -155,7 +240,7 @@ function flatMapConcurrentBounded_1(f, concurrency) {
|
|
155
240
|
*/
|
156
241
|
function flatMapConcurrentUnbounded_1(f) {
|
157
242
|
return self => {
|
158
|
-
return
|
243
|
+
return tsplus_module_11.makePush(sink => (0, _internal.withUnboundedConcurrency)(fork => self.run(tsplus_module_11.makeSink(a => fork(f(a).run(sink)), sink.error))));
|
159
244
|
};
|
160
245
|
}
|
161
246
|
/**
|
@@ -163,7 +248,7 @@ function flatMapConcurrentUnbounded_1(f) {
|
|
163
248
|
*/
|
164
249
|
function flatMapConcurrent(f) {
|
165
250
|
return self => {
|
166
|
-
return unwrap_1(
|
251
|
+
return unwrap_1(tsplus_module_4.map(concurrency => tsplus_module_16.match(() => flatMapConcurrentUnbounded_1(f)(self), n => flatMapConcurrentBounded_1(f, n)(self))(concurrency), fileName_1 + ":217:25")(tsplus_module_18.concurrency));
|
167
252
|
};
|
168
253
|
}
|
169
254
|
/**
|
@@ -178,34 +263,34 @@ function flatMap_1(f) {
|
|
178
263
|
* @tsplus getter fncts.io.Push flatten
|
179
264
|
*/
|
180
265
|
function flatten_1(self) {
|
181
|
-
return flatMap_1(
|
266
|
+
return flatMap_1(tsplus_module_19.identity)(self);
|
182
267
|
}
|
183
268
|
/**
|
184
269
|
* @tsplus static fncts.io.PushOps fromIO
|
185
270
|
*/
|
186
271
|
function fromIO_1(io) {
|
187
|
-
return
|
272
|
+
return tsplus_module_11.makePush(emitter => tsplus_module_4.matchCauseIO(cause => emitter.error(cause), value => emitter.event(value), fileName_1 + ":248:30")(tsplus_module_4.defer(io, fileName_1 + ":248:13")));
|
188
273
|
}
|
189
274
|
/**
|
190
275
|
* @tsplus static fncts.io.PushOps fromAsyncIterable
|
191
276
|
*/
|
192
277
|
function fromAsyncIterable(iterable) {
|
193
|
-
return
|
278
|
+
return tsplus_module_11.makePush(sink => tsplus_module_20.asyncIO(cb => tsplus_module_4.defer(() => fromAsyncIterableLoop(iterable[Symbol.asyncIterator](), sink, cb, fileName_1 + ":260:70"), fileName_1 + ":260:48"), fileName_1 + ":260:15"));
|
194
279
|
}
|
195
|
-
function fromAsyncIterableLoop(iterator,
|
196
|
-
return
|
280
|
+
function fromAsyncIterableLoop(iterator, sink, cb, __tsplusTrace) {
|
281
|
+
return tsplus_module_4.matchCauseIO(cause => sink.error(cause), result => result.done ? tsplus_module_4.succeed(() => cb(tsplus_module_4.unit), __tsplusTrace) : tsplus_module_4.zipRight(fromAsyncIterableLoop(iterator, sink, cb, __tsplusTrace), __tsplusTrace)(sink.event(result.value)), __tsplusTrace)(tsplus_module_4.fromPromiseHalt(iterator.next, __tsplusTrace));
|
197
282
|
}
|
198
283
|
/**
|
199
284
|
* @tsplus static fncts.io.PushOps fromIterable
|
200
285
|
*/
|
201
286
|
function fromIterable(iterable) {
|
202
|
-
return
|
287
|
+
return tsplus_module_11.makePush(sink => tsplus_module_20.asyncIO(cb => tsplus_module_4.defer(() => fromIterableLoop(iterable[Symbol.iterator](), sink, cb), fileName_1 + ":281:48"), fileName_1 + ":281:15"));
|
203
288
|
}
|
204
|
-
function fromIterableLoop(iterator,
|
205
|
-
return
|
289
|
+
function fromIterableLoop(iterator, sink, cb) {
|
290
|
+
return tsplus_module_4.defer(() => {
|
206
291
|
const value = iterator.next();
|
207
|
-
return value.done ?
|
208
|
-
}, fileName_1 + ":
|
292
|
+
return value.done ? tsplus_module_4.succeed(() => cb(tsplus_module_4.unit), fileName_1 + ":292:27") : tsplus_module_4.zipRight(fromIterableLoop(iterator, sink, cb), fileName_1 + ":292:68")(sink.event(value.value));
|
293
|
+
}, fileName_1 + ":290:18");
|
209
294
|
}
|
210
295
|
/**
|
211
296
|
* @tsplus getter fncts.io.Push multicast
|
@@ -219,45 +304,46 @@ class Multicast {
|
|
219
304
|
this[_a] = _definition4.PushTypeId;
|
220
305
|
this.observers = [];
|
221
306
|
}
|
222
|
-
run(
|
223
|
-
return
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
})
|
229
|
-
|
230
|
-
return tsplus_module_1.unit;
|
231
|
-
} else {
|
232
|
-
return tsplus_module_1.tap(fiber => tsplus_module_1.succeed(() => this.fiber = fiber, fileName_1 + ":249:44"), fileName_1 + ":249:30")(tsplus_module_3.forkScoped(tsplus_module_19.schedule(() => tsplus_module_18.asap, fileName_1 + ":248:24")(this.push.run(this)), fileName_1 + ":248:39"));
|
307
|
+
run(sink) {
|
308
|
+
return tsplus_module_4.flatMap(environment => tsplus_module_4.map(() => void 0, fileName_1 + ":322:8")(tsplus_module_4.defer(() => {
|
309
|
+
let io = tsplus_module_4.unit;
|
310
|
+
if (this.observers.push({
|
311
|
+
sink: sink,
|
312
|
+
environment
|
313
|
+
}) === 1) {
|
314
|
+
io = tsplus_module_4.flatMap(fiber => tsplus_module_4.succeed(() => this.fiber = fiber, fileName_1 + ":326:70"), fileName_1 + ":326:56")(tsplus_module_21.forkDaemon(this.push.run(this), fileName_1 + ":326:37"));
|
233
315
|
}
|
234
|
-
|
235
|
-
|
236
|
-
emit(value) {
|
237
|
-
return tsplus_module_1.defer(() => tsplus_module_1.foreachDiscard(this.observers.slice(), observer => this.runEvent(value, observer), fileName_1 + ":258:38"), fileName_1 + ":258:20");
|
238
|
-
}
|
239
|
-
failCause(cause) {
|
240
|
-
return tsplus_module_1.zipRight(tsplus_module_1.defer(() => this.cleanup(), fileName_1 + ":264:15"), fileName_1 + ":263:110")(tsplus_module_1.defer(() => tsplus_module_1.foreachDiscard(this.observers.slice(), observer => this.runFailCause(cause, observer), fileName_1 + ":263:33"), fileName_1 + ":263:15"));
|
316
|
+
return tsplus_module_4.zipRight(tsplus_module_2.ensuring(this.removeSink(sink), fileName_1 + ":328:49")(tsplus_module_22.wait(this.fiber, fileName_1 + ":328:34")), fileName_1 + ":328:22")(io);
|
317
|
+
}, fileName_1 + ":323:17")), fileName_1 + ":321:28")(tsplus_module_23.environment(fileName_1 + ":321:43"));
|
241
318
|
}
|
242
|
-
|
243
|
-
return
|
319
|
+
event(value) {
|
320
|
+
return tsplus_module_4.defer(() => tsplus_module_4.foreachDiscard(this.observers.slice(), observer => this.runValue(value, observer), fileName_1 + ":335:38"), fileName_1 + ":335:20");
|
244
321
|
}
|
245
|
-
|
246
|
-
return
|
322
|
+
error(cause) {
|
323
|
+
return tsplus_module_4.defer(() => tsplus_module_4.foreachDiscard(this.observers.slice(), observer => this.runError(cause, observer), fileName_1 + ":339:38"), fileName_1 + ":339:20");
|
247
324
|
}
|
248
|
-
|
249
|
-
|
250
|
-
return tsplus_module_21.provideEnvironment(observer.environment, fileName_1 + ":284:89")(tsplus_module_22.fulfill(observer.future, fileName_1 + ":284:53")(observer.emitter.failCause(cause)));
|
325
|
+
runValue(value, observer) {
|
326
|
+
return tsplus_module_4.catchAllCause(() => this.removeSink(observer.sink), fileName_1 + ":346:21")(tsplus_module_23.provideEnvironment(observer.environment, fileName_1 + ":345:26")(observer.sink.event(value)));
|
251
327
|
}
|
252
|
-
|
253
|
-
|
254
|
-
return tsplus_module_21.provideEnvironment(observer.environment, fileName_1 + ":289:76")(tsplus_module_22.fulfill(observer.future, fileName_1 + ":289:40")(observer.emitter.end));
|
328
|
+
runError(cause, observer) {
|
329
|
+
return tsplus_module_4.catchAllCause(() => this.removeSink(observer.sink), fileName_1 + ":353:21")(tsplus_module_23.provideEnvironment(observer.environment, fileName_1 + ":352:26")(observer.sink.error(cause)));
|
255
330
|
}
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
331
|
+
removeSink(sink) {
|
332
|
+
return tsplus_module_4.defer(() => {
|
333
|
+
if (this.observers.length === 0) {
|
334
|
+
return tsplus_module_4.unit;
|
335
|
+
}
|
336
|
+
const index = this.observers.findIndex(observer => observer.sink === sink);
|
337
|
+
if (index > -1) {
|
338
|
+
this.observers.splice(index, 1);
|
339
|
+
if (this.observers.length === 0) {
|
340
|
+
const interrupt = tsplus_module_24.interrupt(this.fiber);
|
341
|
+
this.fiber = undefined;
|
342
|
+
return interrupt;
|
343
|
+
}
|
344
|
+
}
|
345
|
+
return tsplus_module_4.unit;
|
346
|
+
}, fileName_1 + ":357:20");
|
261
347
|
}
|
262
348
|
}
|
263
349
|
exports.Multicast = Multicast;
|
@@ -272,63 +358,20 @@ class Hold extends Multicast {
|
|
272
358
|
constructor(push) {
|
273
359
|
super(push);
|
274
360
|
this.push = push;
|
275
|
-
this.
|
276
|
-
this.pendingEmitters = [];
|
277
|
-
this.scheduledFiber = null;
|
361
|
+
this.current = new _AtomicReference.AtomicReference(tsplus_module_25.nothing(fileName_1 + ":383:49"));
|
278
362
|
}
|
279
|
-
run(
|
280
|
-
|
281
|
-
|
363
|
+
run(sink) {
|
364
|
+
const current = this.current.get;
|
365
|
+
if (tsplus_module_26.isJust(current)) {
|
366
|
+
return tsplus_module_4.zipRight(super.run(sink), fileName_1 + ":393:41")(sink.event(current.value));
|
282
367
|
}
|
283
|
-
|
284
|
-
if (tsplus_module_24.isJust(value) && this.observers.length === 0) {
|
285
|
-
return tsplus_module_1.flatMap(() => super.run(emitter), fileName_1 + ":323:47")(emitter.emit(value.value));
|
286
|
-
}
|
287
|
-
return super.run(emitter);
|
288
|
-
}
|
289
|
-
emit(value) {
|
290
|
-
return tsplus_module_1.defer(() => {
|
291
|
-
this.addValue(value);
|
292
|
-
return tsplus_module_1.flatMap(() => super.emit(value), fileName_1 + ":332:41")(this.flushPending());
|
293
|
-
}, fileName_1 + ":330:20");
|
294
|
-
}
|
295
|
-
failCause(cause) {
|
296
|
-
return tsplus_module_1.defer(() => tsplus_module_1.flatMap(() => super.failCause(cause), fileName_1 + ":337:48")(this.flushPending()), fileName_1 + ":337:20");
|
297
|
-
}
|
298
|
-
get end() {
|
299
|
-
return tsplus_module_1.defer(() => tsplus_module_1.flatMap(() => super.end, fileName_1 + ":341:48")(this.flushPending()), fileName_1 + ":341:20");
|
368
|
+
return super.run(sink);
|
300
369
|
}
|
301
|
-
|
302
|
-
return
|
303
|
-
|
304
|
-
|
305
|
-
|
306
|
-
const interrupt = this.scheduledFiber ? tsplus_module_26.interruptAsFork(this.scheduledFiber, tsplus_module_25.none) : tsplus_module_1.unit;
|
307
|
-
this.scheduledFiber = null;
|
308
|
-
return tsplus_module_1.tap(fiber => tsplus_module_1.succeed(() => this.scheduledFiber = fiber, fileName_1 + ":361:9"), fileName_1 + ":360:87")(tsplus_module_3.forkScoped(tsplus_module_1.zipRight(tsplus_module_1.flatMap(() => this.flushPending(), fileName_1 + ":360:44")(interrupt), fileName_1 + ":360:26")(tsplus_module_1.yieldNow), fileName_1 + ":360:72"));
|
309
|
-
}
|
310
|
-
flushPending() {
|
311
|
-
if (this.pendingEmitters.length === 0) {
|
312
|
-
return tsplus_module_1.unit;
|
313
|
-
}
|
314
|
-
const emitters = this.pendingEmitters;
|
315
|
-
this.pendingEmitters = [];
|
316
|
-
return tsplus_module_1.foreachDiscard(emitters, pendingEmitter => {
|
317
|
-
return tsplus_module_1.defer(() => {
|
318
|
-
const [emitter, values] = pendingEmitter;
|
319
|
-
const observer = this.observers.find(observer => observer.emitter === emitter);
|
320
|
-
if (!observer) {
|
321
|
-
return tsplus_module_1.unit;
|
322
|
-
}
|
323
|
-
return tsplus_module_1.foreachDiscard(values, value => this.runEvent(value, observer), fileName_1 + ":380:33");
|
324
|
-
}, fileName_1 + ":374:22");
|
325
|
-
}, fileName_1 + ":373:29");
|
326
|
-
}
|
327
|
-
addValue(value) {
|
328
|
-
this.value.set(tsplus_module_23.just(value, fileName_1 + ":386:24"));
|
329
|
-
this.pendingEmitters.forEach(([, values]) => {
|
330
|
-
values.push(value);
|
331
|
-
});
|
370
|
+
event(value) {
|
371
|
+
return tsplus_module_4.defer(() => {
|
372
|
+
this.current.set(tsplus_module_25.just(value, fileName_1 + ":401:28"));
|
373
|
+
return super.event(value);
|
374
|
+
}, fileName_1 + ":400:20");
|
332
375
|
}
|
333
376
|
}
|
334
377
|
/**
|
@@ -337,7 +380,7 @@ class Hold extends Multicast {
|
|
337
380
|
exports.Hold = Hold;
|
338
381
|
function map_1(f) {
|
339
382
|
return self => {
|
340
|
-
return mapIO_1(a =>
|
383
|
+
return mapIO_1(a => tsplus_module_4.succeedNow(f(a), fileName_1 + ":412:43"))(self);
|
341
384
|
};
|
342
385
|
}
|
343
386
|
/**
|
@@ -345,7 +388,7 @@ function map_1(f) {
|
|
345
388
|
*/
|
346
389
|
function mapError(f) {
|
347
390
|
return self => {
|
348
|
-
return
|
391
|
+
return tsplus_module_11.makePush(emitter => self.run(tsplus_module_11.makeSink(value => emitter.event(value), cause => emitter.error(tsplus_module_27.map(f)(cause)))));
|
349
392
|
};
|
350
393
|
}
|
351
394
|
/**
|
@@ -353,14 +396,14 @@ function mapError(f) {
|
|
353
396
|
*/
|
354
397
|
function mapErrorCause(f) {
|
355
398
|
return self => {
|
356
|
-
return
|
399
|
+
return tsplus_module_11.makePush(emitter => self.run(tsplus_module_11.makeSink(value => emitter.event(value), cause => emitter.error(f(cause)))));
|
357
400
|
};
|
358
401
|
}
|
359
402
|
/**
|
360
403
|
* @tsplus pipeable fncts.io.Push mapIO
|
361
404
|
*/
|
362
405
|
function mapIO_1(f) {
|
363
|
-
return self =>
|
406
|
+
return self => tsplus_module_11.makePush(emitter => self.run(tsplus_module_11.makeSink(value => tsplus_module_4.matchCauseIO(cause => emitter.error(cause), b => emitter.event(b), fileName_1 + ":457:34")(f(value)), cause => emitter.error(cause))));
|
364
407
|
}
|
365
408
|
/**
|
366
409
|
* @tsplus pipeable fncts.io.Push merge
|
@@ -371,82 +414,106 @@ function merge(that) {
|
|
371
414
|
};
|
372
415
|
}
|
373
416
|
function mergeAll_1(streams) {
|
374
|
-
return
|
417
|
+
return tsplus_module_11.makePush(sink => tsplus_module_14.foreachConcurrentDiscard(streams, stream => stream.run(tsplus_module_11.makeSink(sink.event, cause => tsplus_module_27.isInterruptedOnly(cause) ? tsplus_module_4.unit : sink.error(cause))), fileName_1 + ":485:32"));
|
418
|
+
}
|
419
|
+
/**
|
420
|
+
* @tsplus pipeable fncts.io.Push observe
|
421
|
+
*/
|
422
|
+
function observe_1(f, __tsplusTrace) {
|
423
|
+
return self => {
|
424
|
+
return tsplus_module_4.flatMap(future => tsplus_module_4.flatMap(fiber => tsplus_module_4.flatMap(() => tsplus_module_4.map(() => void 0, __tsplusTrace)(tsplus_module_28.interruptFork(fiber, __tsplusTrace)), __tsplusTrace)(tsplus_module_1.wait(future, __tsplusTrace)), __tsplusTrace)(tsplus_module_29.forkScoped(tsplus_module_4.flatMap(() => tsplus_module_1.succeed_(undefined, __tsplusTrace)(future), __tsplusTrace)(self.run(tsplus_module_11.makeSink(a => tsplus_module_4.catchAllCause(cause => tsplus_module_1.failCause(cause, __tsplusTrace)(future), __tsplusTrace)(f(a)), cause => tsplus_module_1.failCause(cause, __tsplusTrace)(future)))), __tsplusTrace)), __tsplusTrace)(tsplus_module_9.make(__tsplusTrace));
|
425
|
+
};
|
375
426
|
}
|
376
427
|
/**
|
377
428
|
* @tsplus static fncts.io.PushOps repeatIOMaybe
|
378
429
|
*/
|
379
430
|
function repeatIOMaybe(io, __tsplusTrace) {
|
380
|
-
return unfoldIO_1(undefined, () =>
|
431
|
+
return unfoldIO_1(undefined, () => tsplus_module_4.catchAll(maybeError => tsplus_module_16.match(() => tsplus_module_4.succeedNow(tsplus_module_25.nothing(__tsplusTrace), __tsplusTrace), tsplus_module_4.failNow)(maybeError), __tsplusTrace)(tsplus_module_4.map(a => tsplus_module_25.just([a, undefined], __tsplusTrace), __tsplusTrace)(io)));
|
381
432
|
}
|
382
433
|
/**
|
383
434
|
* @tsplus getter fncts.io.Push runCollect
|
384
435
|
*/
|
385
436
|
function runCollect(self) {
|
386
|
-
return
|
437
|
+
return tsplus_module_4.defer(() => {
|
387
438
|
const out = [];
|
388
|
-
return
|
389
|
-
}, fileName_1 + ":
|
439
|
+
return tsplus_module_4.as(() => tsplus_module_30.fromArray(out), fileName_1 + ":532:51")(observe_1(a => tsplus_module_4.succeed(() => out.push(a), fileName_1 + ":532:34"), fileName_1 + ":532:24")(self));
|
440
|
+
}, fileName_1 + ":530:18");
|
390
441
|
}
|
391
442
|
/**
|
392
443
|
* @tsplus getter fncts.io.Push runDrain
|
393
444
|
*/
|
394
445
|
function runDrain(self) {
|
395
|
-
return
|
446
|
+
return observe_1(() => tsplus_module_4.unit, fileName_1 + ":540:22")(self);
|
396
447
|
}
|
397
448
|
/**
|
398
449
|
* @tsplus static fncts.io.PushOps scoped
|
399
450
|
*/
|
400
451
|
function scoped_1(io, __tsplusTrace) {
|
401
|
-
return
|
452
|
+
return tsplus_module_11.makePush(emitter => tsplus_module_4.matchCauseIO(cause => emitter.error(cause), value => emitter.event(value), __tsplusTrace)(tsplus_module_10.scoped(tsplus_module_4.defer(io, __tsplusTrace), __tsplusTrace)));
|
402
453
|
}
|
403
454
|
/**
|
404
455
|
* @tsplus static fncts.io.PushOps succeed
|
405
456
|
*/
|
406
457
|
function succeed(value) {
|
407
|
-
return fromIO_1(() =>
|
458
|
+
return fromIO_1(() => tsplus_module_4.succeed(value, fileName_1 + ":559:32"));
|
459
|
+
}
|
460
|
+
/**
|
461
|
+
* @tsplus pipeable fncts.io.Push switchMap
|
462
|
+
*/
|
463
|
+
function switchMap_1(f) {
|
464
|
+
return self => {
|
465
|
+
return tsplus_module_11.makePush(sink => (0, _internal.withSwitch)(fork => self.run(tsplus_module_11.makeSink(a => fork(f(a).run(sink)), sink.error))));
|
466
|
+
};
|
467
|
+
}
|
468
|
+
/**
|
469
|
+
* @tsplus pipeable fncts.io.Push switchMapIO
|
470
|
+
*/
|
471
|
+
function switchMapIO_1(f) {
|
472
|
+
return self => {
|
473
|
+
return switchMap_1(a => fromIO_1(() => f(a)))(self);
|
474
|
+
};
|
408
475
|
}
|
409
476
|
/**
|
410
|
-
* @tsplus pipeable fncts.io.
|
477
|
+
* @tsplus pipeable fncts.io.Push tap
|
411
478
|
*/
|
412
|
-
function
|
479
|
+
function tap(f) {
|
413
480
|
return self => {
|
414
|
-
return
|
415
|
-
const innerEmitter = tsplus_module_2.makeEmitter(value => emitter.emit(value), cause => tsplus_module_1.zipRight(emitter.failCause(cause), fileName_1 + ":572:41")(tsplus_module_31.set(null, fileName_1 + ":572:33")(current)), latch.countDown);
|
416
|
-
return tsplus_module_1.flatMap(() => tsplus_module_1.map(() => void 0, fileName_1 + ":587:10")(tsplus_module_1.zipRight(emitter.end, fileName_1 + ":587:24")(latch.await)), fileName_1 + ":575:10")(self.run(tsplus_module_2.makeEmitter(value => tsplus_module_9.updateIO(fiber => tsplus_module_1.zipRight(tsplus_module_3.forkScoped(f(value).run(innerEmitter), fileName_1 + ":580:98"), fileName_1 + ":580:71")(fiber ? tsplus_module_8.interrupt(fiber) : latch.increment), fileName_1 + ":579:33")(current), cause => emitter.failCause(cause), latch.countDown)));
|
417
|
-
}, fileName_1 + ":569:31")(tsplus_module_4.make(1)), fileName_1 + ":568:31")(tsplus_module_10.makeSynchronized(() => null, fileName_1 + ":568:53")));
|
481
|
+
return tsplus_module_11.makePush(sink => self.run(tsplus_module_11.makeSink(a => tsplus_module_4.matchCauseIO(sink.error, () => sink.event(a), fileName_1 + ":585:65")(f(a)), sink.error)));
|
418
482
|
};
|
419
483
|
}
|
420
484
|
/**
|
421
485
|
* @tsplus pipeable fncts.io.Push transform
|
422
486
|
*/
|
423
487
|
function transform_1(f) {
|
424
|
-
return self =>
|
488
|
+
return self => tsplus_module_11.makePush(emitter => f(self.run(emitter)));
|
425
489
|
}
|
426
490
|
function unfoldLoop(s, f, emitter) {
|
427
|
-
return
|
491
|
+
return tsplus_module_16.match(() => tsplus_module_4.unit, ([a, s]) => tsplus_module_4.zipRight(unfoldLoop(s, f, emitter), fileName_1 + ":603:35")(emitter.event(a)))(f(s));
|
428
492
|
}
|
429
493
|
/**
|
430
494
|
* @tsplus static fncts.io.PushOps unfold
|
431
495
|
*/
|
432
496
|
function unfold(s, f) {
|
433
|
-
return
|
497
|
+
return tsplus_module_11.makePush(emitter => unfoldLoop(s, f, emitter));
|
434
498
|
}
|
435
499
|
function unfoldIOLoop(s, f, emitter) {
|
436
|
-
return
|
500
|
+
return tsplus_module_4.catchAllCause(cause => emitter.error(cause), fileName_1 + ":626:19")(tsplus_module_4.flatMap(result => tsplus_module_16.match(() => tsplus_module_4.unit, ([a, s]) => tsplus_module_4.zipRight(unfoldIOLoop(s, f, emitter), fileName_1 + ":623:39")(emitter.event(a)))(result), fileName_1 + ":620:13")(f(s)));
|
437
501
|
}
|
438
502
|
/**
|
439
503
|
* @tsplus static fncts.io.PushOps unfoldIO
|
440
504
|
*/
|
441
505
|
function unfoldIO_1(s, f) {
|
442
|
-
return
|
506
|
+
return tsplus_module_11.makePush(emitter => unfoldIOLoop(s, f, emitter));
|
443
507
|
}
|
444
508
|
/**
|
445
509
|
* @tsplus pipeable fncts.io.Push untilFuture
|
446
510
|
*/
|
447
511
|
function untilFuture(future) {
|
448
512
|
return self => {
|
449
|
-
return
|
513
|
+
return tsplus_module_11.makePush(sink => tsplus_module_20.asyncIO(cb => {
|
514
|
+
const exit = tsplus_module_4.succeed(() => cb(tsplus_module_4.unit), fileName_1 + ":643:24");
|
515
|
+
return tsplus_module_4.flatMap(streamFiber => tsplus_module_4.flatMap(futureFiber => tsplus_module_4.map(() => void 0, fileName_1 + ":654:12")(tsplus_module_31.joinAll([streamFiber, futureFiber], fileName_1 + ":654:26")), fileName_1 + ":646:32")(tsplus_module_32.fork(tsplus_module_4.zipRight(exit, fileName_1 + ":652:24")(tsplus_module_4.matchCauseIO(cause => sink.error(cause), () => tsplus_module_4.unit, fileName_1 + ":648:28")(tsplus_module_1.wait(future, fileName_1 + ":647:19"))), fileName_1 + ":652:30")), fileName_1 + ":645:32")(tsplus_module_32.fork(self.run(sink), fileName_1 + ":645:47"));
|
516
|
+
}, fileName_1 + ":642:17"));
|
450
517
|
};
|
451
518
|
}
|
452
519
|
/**
|
@@ -454,7 +521,10 @@ function untilFuture(future) {
|
|
454
521
|
*/
|
455
522
|
function untilPush(signal) {
|
456
523
|
return self => {
|
457
|
-
return
|
524
|
+
return tsplus_module_11.makePush(sink => tsplus_module_20.asyncIO(cb => {
|
525
|
+
const exit = tsplus_module_4.succeed(() => cb(tsplus_module_4.unit), fileName_1 + ":668:24");
|
526
|
+
return tsplus_module_4.flatMap(signalFiber => tsplus_module_4.flatMap(streamFiber => tsplus_module_4.map(() => void 0, fileName_1 + ":679:12")(tsplus_module_31.joinAll([signalFiber, streamFiber], fileName_1 + ":679:26")), fileName_1 + ":678:32")(tsplus_module_32.fork(self.run(sink), fileName_1 + ":678:47")), fileName_1 + ":670:32")(tsplus_module_32.fork(signal.run(tsplus_module_11.makeSink(() => exit, cause => sink.error(cause))), fileName_1 + ":676:14"));
|
527
|
+
}, fileName_1 + ":667:17"));
|
458
528
|
};
|
459
529
|
}
|
460
530
|
/**
|