@fncts/io 0.0.24 → 0.0.25
Sign up to get free protection for your applications and to get access to all the features.
- package/FiberRef/api.d.ts +0 -63
- package/FiberRef/operations.d.ts +64 -0
- package/FiberRef.d.ts +1 -0
- package/FiberRefs/api.d.ts +6 -1
- package/FiberRefs.d.ts +0 -1
- package/IO/api/daemonChildren.d.ts +6 -0
- package/IO/api/disconnect.d.ts +17 -0
- package/IO/api/fork.d.ts +4 -0
- package/IO/api/forkDaemon.d.ts +10 -0
- package/IO/api/interrupt.d.ts +1 -20
- package/IO/api/race.d.ts +7 -1
- package/IO/api/raceWith.d.ts +17 -0
- package/IO/api/transplant.d.ts +13 -0
- package/IO.d.ts +5 -1
- package/RefSubject/Atomic.d.ts +1 -1
- package/_cjs/Cached/api.cjs +1 -1
- package/_cjs/Channel/api/mergeAllWith.cjs +1 -1
- package/_cjs/Channel/api/mergeWith.cjs +17 -16
- package/_cjs/Channel/api/mergeWith.cjs.map +1 -1
- package/_cjs/Channel/api.cjs +1 -3
- package/_cjs/Channel/api.cjs.map +1 -1
- package/_cjs/Fiber/FiberRuntime.cjs +16 -17
- package/_cjs/Fiber/FiberRuntime.cjs.map +1 -1
- package/_cjs/FiberRef/api/locallyScoped.cjs +1 -1
- package/_cjs/FiberRef/api/locallyScopedWith.cjs +1 -1
- package/_cjs/FiberRef/api.cjs +0 -124
- package/_cjs/FiberRef/api.cjs.map +1 -1
- package/_cjs/FiberRef/constructors.cjs +1 -1
- package/_cjs/FiberRef/operations.cjs +130 -0
- package/_cjs/FiberRef/operations.cjs.map +1 -0
- package/_cjs/FiberRef.cjs +11 -0
- package/_cjs/FiberRef.cjs.map +1 -1
- package/_cjs/FiberRefs/api.cjs +90 -0
- package/_cjs/FiberRefs/api.cjs.map +1 -1
- package/_cjs/FiberRefs.cjs +0 -11
- package/_cjs/FiberRefs.cjs.map +1 -1
- package/_cjs/Future/api.cjs +1 -3
- package/_cjs/Future/api.cjs.map +1 -1
- package/_cjs/IO/api/asyncIO.cjs +1 -3
- package/_cjs/IO/api/asyncIO.cjs.map +1 -1
- package/_cjs/IO/api/bracketExit.cjs +1 -3
- package/_cjs/IO/api/bracketExit.cjs.map +1 -1
- package/_cjs/IO/api/clockWith.cjs +1 -1
- package/_cjs/IO/api/concurrency.cjs +1 -1
- package/_cjs/IO/api/consoleWith.cjs +1 -1
- package/_cjs/IO/api/daemonChildren.cjs +19 -0
- package/_cjs/IO/api/daemonChildren.cjs.map +1 -0
- package/_cjs/IO/api/disconnect.cjs +31 -0
- package/_cjs/IO/api/disconnect.cjs.map +1 -0
- package/_cjs/IO/api/environment.cjs +1 -1
- package/_cjs/IO/api/foreachConcurrent.cjs +19 -20
- package/_cjs/IO/api/foreachConcurrent.cjs.map +1 -1
- package/_cjs/IO/api/fork.cjs +8 -3
- package/_cjs/IO/api/fork.cjs.map +1 -1
- package/_cjs/IO/api/forkDaemon.cjs +21 -0
- package/_cjs/IO/api/forkDaemon.cjs.map +1 -0
- package/_cjs/IO/api/forkIn.cjs +2 -4
- package/_cjs/IO/api/forkIn.cjs.map +1 -1
- package/_cjs/IO/api/forkScoped.cjs +2 -4
- package/_cjs/IO/api/forkScoped.cjs.map +1 -1
- package/_cjs/IO/api/fulfill.cjs +1 -3
- package/_cjs/IO/api/fulfill.cjs.map +1 -1
- package/_cjs/IO/api/interrupt.cjs +8 -59
- package/_cjs/IO/api/interrupt.cjs.map +1 -1
- package/_cjs/IO/api/race.cjs +24 -12
- package/_cjs/IO/api/race.cjs.map +1 -1
- package/_cjs/IO/api/{core-scope.cjs → raceWith.cjs} +15 -56
- package/_cjs/IO/api/raceWith.cjs.map +1 -0
- package/_cjs/IO/api/randomWith.cjs +1 -1
- package/_cjs/IO/api/supervised.cjs +1 -1
- package/_cjs/IO/api/transplant.cjs +31 -0
- package/_cjs/IO/api/transplant.cjs.map +1 -0
- package/_cjs/IO/api/zipConcurrent.cjs +5 -6
- package/_cjs/IO/api/zipConcurrent.cjs.map +1 -1
- package/_cjs/IO.cjs +48 -4
- package/_cjs/IO.cjs.map +1 -1
- package/_cjs/Layer/MemoMap.cjs +1 -3
- package/_cjs/Layer/MemoMap.cjs.map +1 -1
- package/_cjs/RefSubject/Atomic.cjs +2 -2
- package/_cjs/RefSubject/Atomic.cjs.map +1 -1
- package/_cjs/Reloadable/constructors.cjs +1 -1
- package/_cjs/Reloadable/definition.cjs +1 -1
- package/_cjs/STM/api/atomically.cjs +2 -4
- package/_cjs/STM/api/atomically.cjs.map +1 -1
- package/_cjs/ScopedRef/api.cjs +2 -6
- package/_cjs/ScopedRef/api.cjs.map +1 -1
- package/_cjs/State/api.cjs +1 -1
- package/_cjs/Stream/api.cjs +137 -135
- package/_cjs/Stream/api.cjs.map +1 -1
- package/_cjs/TReentrantLock/api.cjs +2 -6
- package/_cjs/TReentrantLock/api.cjs.map +1 -1
- package/_cjs/TSemaphore/api.cjs +1 -3
- package/_cjs/TSemaphore/api.cjs.map +1 -1
- package/_mjs/Cached/api.mjs +1 -1
- package/_mjs/Channel/api/mergeAllWith.mjs +1 -1
- package/_mjs/Channel/api/mergeWith.mjs +17 -16
- package/_mjs/Channel/api/mergeWith.mjs.map +1 -1
- package/_mjs/Channel/api.mjs +1 -3
- package/_mjs/Channel/api.mjs.map +1 -1
- package/_mjs/Fiber/FiberRuntime.mjs +16 -17
- package/_mjs/Fiber/FiberRuntime.mjs.map +1 -1
- package/_mjs/FiberRef/api/locallyScoped.mjs +1 -1
- package/_mjs/FiberRef/api/locallyScopedWith.mjs +1 -1
- package/_mjs/FiberRef/api.mjs +0 -107
- package/_mjs/FiberRef/api.mjs.map +1 -1
- package/_mjs/FiberRef/constructors.mjs +1 -1
- package/_mjs/FiberRef/operations.mjs +109 -0
- package/_mjs/FiberRef/operations.mjs.map +1 -0
- package/_mjs/FiberRef.mjs +1 -0
- package/_mjs/FiberRef.mjs.map +1 -1
- package/_mjs/FiberRefs/api.mjs +89 -0
- package/_mjs/FiberRefs/api.mjs.map +1 -1
- package/_mjs/FiberRefs.mjs +0 -1
- package/_mjs/FiberRefs.mjs.map +1 -1
- package/_mjs/Future/api.mjs +1 -3
- package/_mjs/Future/api.mjs.map +1 -1
- package/_mjs/IO/api/asyncIO.mjs +1 -3
- package/_mjs/IO/api/asyncIO.mjs.map +1 -1
- package/_mjs/IO/api/bracketExit.mjs +1 -3
- package/_mjs/IO/api/bracketExit.mjs.map +1 -1
- package/_mjs/IO/api/clockWith.mjs +1 -1
- package/_mjs/IO/api/concurrency.mjs +1 -1
- package/_mjs/IO/api/consoleWith.mjs +1 -1
- package/_mjs/IO/api/daemonChildren.mjs +11 -0
- package/_mjs/IO/api/daemonChildren.mjs.map +1 -0
- package/_mjs/IO/api/disconnect.mjs +23 -0
- package/_mjs/IO/api/disconnect.mjs.map +1 -0
- package/_mjs/IO/api/environment.mjs +1 -1
- package/_mjs/IO/api/foreachConcurrent.mjs +19 -20
- package/_mjs/IO/api/foreachConcurrent.mjs.map +1 -1
- package/_mjs/IO/api/fork.mjs +6 -2
- package/_mjs/IO/api/fork.mjs.map +1 -1
- package/_mjs/IO/api/forkDaemon.mjs +13 -0
- package/_mjs/IO/api/forkDaemon.mjs.map +1 -0
- package/_mjs/IO/api/forkIn.mjs +2 -4
- package/_mjs/IO/api/forkIn.mjs.map +1 -1
- package/_mjs/IO/api/forkScoped.mjs +2 -4
- package/_mjs/IO/api/forkScoped.mjs.map +1 -1
- package/_mjs/IO/api/fulfill.mjs +1 -3
- package/_mjs/IO/api/fulfill.mjs.map +1 -1
- package/_mjs/IO/api/interrupt.mjs +6 -55
- package/_mjs/IO/api/interrupt.mjs.map +1 -1
- package/_mjs/IO/api/race.mjs +22 -12
- package/_mjs/IO/api/race.mjs.map +1 -1
- package/_mjs/IO/api/raceWith.mjs +59 -0
- package/_mjs/IO/api/raceWith.mjs.map +1 -0
- package/_mjs/IO/api/randomWith.mjs +1 -1
- package/_mjs/IO/api/supervised.mjs +1 -1
- package/_mjs/IO/api/transplant.mjs +23 -0
- package/_mjs/IO/api/transplant.mjs.map +1 -0
- package/_mjs/IO/api/zipConcurrent.mjs +5 -6
- package/_mjs/IO/api/zipConcurrent.mjs.map +1 -1
- package/_mjs/IO.mjs +5 -1
- package/_mjs/IO.mjs.map +1 -1
- package/_mjs/Layer/MemoMap.mjs +1 -3
- package/_mjs/Layer/MemoMap.mjs.map +1 -1
- package/_mjs/RefSubject/Atomic.mjs +1 -1
- package/_mjs/RefSubject/Atomic.mjs.map +1 -1
- package/_mjs/Reloadable/constructors.mjs +1 -1
- package/_mjs/Reloadable/definition.mjs +1 -1
- package/_mjs/STM/api/atomically.mjs +2 -4
- package/_mjs/STM/api/atomically.mjs.map +1 -1
- package/_mjs/ScopedRef/api.mjs +2 -6
- package/_mjs/ScopedRef/api.mjs.map +1 -1
- package/_mjs/State/api.mjs +1 -1
- package/_mjs/Stream/api.mjs +137 -135
- package/_mjs/Stream/api.mjs.map +1 -1
- package/_mjs/TReentrantLock/api.mjs +2 -6
- package/_mjs/TReentrantLock/api.mjs.map +1 -1
- package/_mjs/TSemaphore/api.mjs +1 -3
- package/_mjs/TSemaphore/api.mjs.map +1 -1
- package/_src/Channel/api.ts +1 -1
- package/_src/FiberRef/api.ts +0 -114
- package/_src/FiberRef/operations.ts +115 -0
- package/_src/FiberRef.ts +1 -0
- package/_src/FiberRefs/api.ts +72 -0
- package/_src/FiberRefs.ts +0 -1
- package/_src/Future/api.ts +1 -1
- package/_src/IO/api/asyncIO.ts +1 -1
- package/_src/IO/api/bracketExit.ts +1 -1
- package/_src/IO/api/daemonChildren.ts +6 -0
- package/_src/IO/api/disconnect.ts +25 -0
- package/_src/IO/api/foreachConcurrent.ts +1 -1
- package/_src/IO/api/fork.ts +3 -0
- package/_src/IO/api/forkDaemon.ts +12 -0
- package/_src/IO/api/forkIn.ts +1 -1
- package/_src/IO/api/forkScoped.ts +1 -3
- package/_src/IO/api/fulfill.ts +1 -1
- package/_src/IO/api/interrupt.ts +5 -56
- package/_src/IO/api/race.ts +18 -8
- package/_src/IO/api/{core-scope.ts → raceWith.ts} +2 -44
- package/_src/IO/api/transplant.ts +19 -0
- package/_src/IO/api/zipConcurrent.ts +1 -1
- package/_src/IO.ts +5 -1
- package/_src/Layer/MemoMap.ts +1 -1
- package/_src/RefSubject/Atomic.ts +1 -1
- package/_src/STM/api/atomically.ts +1 -1
- package/_src/ScopedRef/api.ts +2 -2
- package/_src/TReentrantLock/api.ts +2 -2
- package/_src/TSemaphore/api.ts +1 -1
- package/package.json +1 -1
- package/FiberRefs/join.d.ts +0 -9
- package/IO/api/core-scope.d.ts +0 -43
- package/_cjs/FiberRefs/join.cjs +0 -104
- package/_cjs/FiberRefs/join.cjs.map +0 -1
- package/_cjs/IO/api/core-scope.cjs.map +0 -1
- package/_mjs/FiberRefs/join.mjs +0 -96
- package/_mjs/FiberRefs/join.mjs.map +0 -1
- package/_mjs/IO/api/core-scope.mjs +0 -97
- package/_mjs/IO/api/core-scope.mjs.map +0 -1
- package/_src/FiberRefs/join.ts +0 -71
@@ -5,24 +5,14 @@ import * as tsplus_module_3 from "@fncts/io/RuntimeFlags/Patch";
|
|
5
5
|
import * as tsplus_module_4 from "@fncts/io/RuntimeFlags/RuntimeFlags";
|
6
6
|
import * as tsplus_module_5 from "@fncts/base/data/Exit/api";
|
7
7
|
import * as tsplus_module_6 from "@fncts/base/data/Exit/constructors";
|
8
|
-
import * as tsplus_module_7 from "@fncts/io/Fiber/api/join";
|
9
|
-
import * as tsplus_module_8 from "@fncts/io/IO/api/core-scope";
|
10
8
|
export const interruptAs = interruptAs_1;
|
11
9
|
export const interruptible = interruptible_1;
|
12
10
|
export const uninterruptible = uninterruptible_1;
|
13
11
|
export const uninterruptibleMask = uninterruptibleMask_1;
|
14
|
-
export const onInterrupt = onInterrupt_1;
|
15
12
|
export const onExit = onExit_1;
|
16
|
-
export const disconnect = disconnect_1;
|
17
13
|
import { Dynamic, Interruptible, Uninterruptible } from "@fncts/io/IO/definition";
|
18
|
-
const RestoreInterruptible =
|
19
|
-
|
20
|
-
force: (io, __tsplusTrace) => interruptible_1(io, fileName_1 + ":12:35")
|
21
|
-
};
|
22
|
-
const RestoreUninterruptible = {
|
23
|
-
restore: (io, __tsplusTrace) => uninterruptible_1(io, fileName_1 + ":16:37"),
|
24
|
-
force: (io, __tsplusTrace) => interruptible_1(disconnect_1(uninterruptible_1(io, fileName_1 + ":17:35"), fileName_1 + ":17:51"), fileName_1 + ":17:62")
|
25
|
-
};
|
14
|
+
const RestoreInterruptible = (io, __tsplusTrace) => interruptible_1(io, fileName_1 + ":7:81");
|
15
|
+
const RestoreUninterruptible = (io, __tsplusTrace) => uninterruptible_1(io, fileName_1 + ":9:83");
|
26
16
|
/**
|
27
17
|
* Returns an effect that is interrupted as if by the specified fiber.
|
28
18
|
*
|
@@ -37,22 +27,7 @@ function interruptAs_1(fiberId, __tsplusTrace) {
|
|
37
27
|
*
|
38
28
|
* @tsplus static fncts.io.IOOps interrupt
|
39
29
|
*/
|
40
|
-
export const interrupt = /*#__PURE__*/tsplus_module_2.flatMap(interruptAs_1, fileName_1 + ":
|
41
|
-
// /**
|
42
|
-
// * Switches the interrupt status for this effect. If `true` is used, then the
|
43
|
-
// * effect becomes interruptible (the default), while if `false` is used, then
|
44
|
-
// * the effect becomes uninterruptible. These changes are compositional, so
|
45
|
-
// * they only affect regions of the effect.
|
46
|
-
// *
|
47
|
-
// * @tsplus fluent fncts.io.IO setInterruptStatus
|
48
|
-
// */
|
49
|
-
// export function setInterruptStatus_<R, E, A>(
|
50
|
-
// self: IO<R, E, A>,
|
51
|
-
// flag: InterruptStatus,
|
52
|
-
// __tsplusTrace?: string,
|
53
|
-
// ): IO<R, E, A> {
|
54
|
-
// return new SetInterrupt(self, flag, __tsplusTrace);
|
55
|
-
// }
|
30
|
+
export const interrupt = /*#__PURE__*/tsplus_module_2.flatMap(interruptAs_1, fileName_1 + ":26:69")(tsplus_module_2.fiberId);
|
56
31
|
/**
|
57
32
|
* Returns a new effect that performs the same operations as this effect, but
|
58
33
|
* interruptibly, even if composed inside of an uninterruptible region.
|
@@ -99,9 +74,7 @@ function uninterruptibleMask_1(f) {
|
|
99
74
|
*/
|
100
75
|
export function ensuring(finalizer, __tsplusTrace) {
|
101
76
|
return self => {
|
102
|
-
return uninterruptibleMask_1((
|
103
|
-
restore
|
104
|
-
}) => tsplus_module_2.matchCauseIO(cause1 => tsplus_module_2.matchCauseIO(cause2 => tsplus_module_2.failCauseNow(tsplus_module_1.then(cause1, cause2), __tsplusTrace), () => tsplus_module_2.failCauseNow(cause1, __tsplusTrace), __tsplusTrace)(finalizer), a => tsplus_module_2.map(() => a, __tsplusTrace)(finalizer), __tsplusTrace)(restore(self, __tsplusTrace)));
|
77
|
+
return uninterruptibleMask_1(restore => tsplus_module_2.matchCauseIO(cause1 => tsplus_module_2.matchCauseIO(cause2 => tsplus_module_2.failCauseNow(tsplus_module_1.then(cause1, cause2), __tsplusTrace), () => tsplus_module_2.failCauseNow(cause1, __tsplusTrace), __tsplusTrace)(finalizer), a => tsplus_module_2.map(() => a, __tsplusTrace)(finalizer), __tsplusTrace)(restore(self, __tsplusTrace)));
|
105
78
|
};
|
106
79
|
}
|
107
80
|
/**
|
@@ -120,7 +93,7 @@ export function interruptibleMask(k, __tsplusTrace) {
|
|
120
93
|
*
|
121
94
|
* @tsplus pipeable fncts.io.IO onInterrupt
|
122
95
|
*/
|
123
|
-
function
|
96
|
+
export function onInterrupt(cleanup, __tsplusTrace) {
|
124
97
|
return ma => {
|
125
98
|
return onExit_1(exit => tsplus_module_5.match(cause => tsplus_module_1.isInterruptedOnly(cause) ? cleanup() : tsplus_module_2.unit, () => tsplus_module_2.unit)(exit), __tsplusTrace)(ma);
|
126
99
|
};
|
@@ -141,9 +114,7 @@ export function onInterruptWith(cleanup, __tsplusTrace) {
|
|
141
114
|
*/
|
142
115
|
function onExit_1(cleanup, __tsplusTrace) {
|
143
116
|
return self => {
|
144
|
-
return uninterruptibleMask_1(({
|
145
|
-
restore
|
146
|
-
}) => tsplus_module_2.matchCauseIO(failure1 => {
|
117
|
+
return uninterruptibleMask_1(restore => tsplus_module_2.matchCauseIO(failure1 => {
|
147
118
|
const result = tsplus_module_6.failCause(failure1);
|
148
119
|
return tsplus_module_2.matchCauseIO(failure2 => tsplus_module_2.failCauseNow(tsplus_module_1.then(failure1, failure2), __tsplusTrace), () => tsplus_module_2.fromExitNow(result, __tsplusTrace), __tsplusTrace)(cleanup(result));
|
149
120
|
}, success => {
|
@@ -152,24 +123,4 @@ function onExit_1(cleanup, __tsplusTrace) {
|
|
152
123
|
}, __tsplusTrace)(restore(self, __tsplusTrace)));
|
153
124
|
};
|
154
125
|
}
|
155
|
-
/**
|
156
|
-
* Returns an IO whose interruption will be disconnected from the
|
157
|
-
* fiber's own interruption, being performed in the background without
|
158
|
-
* slowing down the fiber's interruption.
|
159
|
-
*
|
160
|
-
* This method is useful to create "fast interrupting" effects. For
|
161
|
-
* example, if you call this on a bracketed effect, then even if the
|
162
|
-
* effect is "stuck" in acquire or release, its interruption will return
|
163
|
-
* immediately, while the acquire / release are performed in the
|
164
|
-
* background.
|
165
|
-
*
|
166
|
-
* See timeout and race for other applications.
|
167
|
-
*
|
168
|
-
* @tsplus getter fncts.io.IO disconnect
|
169
|
-
*/
|
170
|
-
function disconnect_1(self, __tsplusTrace) {
|
171
|
-
return uninterruptibleMask_1(({
|
172
|
-
restore
|
173
|
-
}) => tsplus_module_2.flatMap(fiberId => tsplus_module_2.flatMap(fiber => onInterrupt_1(() => fiber.interruptAsFork(fiberId), __tsplusTrace)(restore(tsplus_module_7.join(fiber, __tsplusTrace), __tsplusTrace)), __tsplusTrace)(tsplus_module_8.forkDaemon(restore(self, __tsplusTrace), __tsplusTrace)), __tsplusTrace)(tsplus_module_2.fiberId));
|
174
|
-
}
|
175
126
|
//# sourceMappingURL=interrupt.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"interrupt.mjs","mappings":"
|
1
|
+
{"version":3,"file":"interrupt.mjs","mappings":"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","names":["interruptAs","interruptible","uninterruptible","uninterruptibleMask","onExit","Dynamic","Interruptible","Uninterruptible","RestoreInterruptible","io","__tsplusTrace","interruptible_1","RestoreUninterruptible","uninterruptible_1","fiberId","tsplus_module_2","tsplus_module_1","interrupt","self","f","tsplus_module_3","oldFlags","tsplus_module_4","ensuring","finalizer","uninterruptibleMask_1","restore","cause1","cause2","a","interruptibleMask","k","flag","isInterruptible","onInterrupt","cleanup","ma","onExit_1","exit","tsplus_module_5","cause","onInterruptWith","failure1","result","tsplus_module_6","failure2","success"],"sourceRoot":"","sources":["../../../_src/IO/api/interrupt.ts"],"sourcesContent":[null]}
|
package/_mjs/IO/api/race.mjs
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
const fileName_1 = "(@fncts/io) src/IO/api/race.ts";
|
2
|
-
import * as tsplus_module_1 from "@fncts/io/IO/api
|
3
|
-
import * as tsplus_module_2 from "@fncts/
|
4
|
-
import * as tsplus_module_3 from "@fncts/io/
|
5
|
-
import * as tsplus_module_4 from "@fncts/
|
6
|
-
import * as tsplus_module_5 from "@fncts/io/Fiber/api/
|
7
|
-
import * as tsplus_module_6 from "@fncts/
|
8
|
-
import * as tsplus_module_7 from "@fncts/
|
9
|
-
|
10
|
-
|
11
|
-
}
|
2
|
+
import * as tsplus_module_1 from "@fncts/io/IO/api";
|
3
|
+
import * as tsplus_module_2 from "@fncts/io/IO/api/disconnect";
|
4
|
+
import * as tsplus_module_3 from "@fncts/io/IO/api/interrupt";
|
5
|
+
import * as tsplus_module_4 from "@fncts/base/data/Cause/api";
|
6
|
+
import * as tsplus_module_5 from "@fncts/io/Fiber/api/join";
|
7
|
+
import * as tsplus_module_6 from "@fncts/io/Fiber/api/interruptAs";
|
8
|
+
import * as tsplus_module_7 from "@fncts/base/data/Exit/api";
|
9
|
+
import * as tsplus_module_8 from "@fncts/io/IO/api/raceWith";
|
10
|
+
export const raceAwait = raceAwait_1;
|
12
11
|
/**
|
13
12
|
* Returns an IO that races this effect with the specified effect,
|
14
13
|
* returning the first successful `A` from the faster side. If one effect
|
@@ -21,8 +20,19 @@ function maybeDisconnect(io, __tsplusTrace) {
|
|
21
20
|
* @tsplus pipeable fncts.io.IO race
|
22
21
|
*/
|
23
22
|
export function race(that) {
|
24
|
-
return
|
25
|
-
return
|
23
|
+
return self => {
|
24
|
+
return tsplus_module_1.checkInterruptible(status => raceAwait_1(disconnect(that, status, fileName_1 + ":14:91"))(disconnect(self, status, fileName_1 + ":14:56")), fileName_1 + ":14:33");
|
25
|
+
};
|
26
|
+
}
|
27
|
+
function disconnect(io, interruptStatus, __tsplusTrace) {
|
28
|
+
if (interruptStatus.isInterruptible) return tsplus_module_2.disconnect(io, __tsplusTrace);else return tsplus_module_3.interruptible(tsplus_module_2.disconnect(tsplus_module_3.uninterruptible(io, __tsplusTrace), __tsplusTrace), __tsplusTrace);
|
29
|
+
}
|
30
|
+
/**
|
31
|
+
* @tsplus pipeable fncts.io.IO raceAwait
|
32
|
+
*/
|
33
|
+
function raceAwait_1(that) {
|
34
|
+
return self => {
|
35
|
+
return tsplus_module_1.fiberIdWith(id => tsplus_module_8.raceWith(() => that, (exit, right) => tsplus_module_7.match(cause => tsplus_module_1.mapErrorCause(c => tsplus_module_4.both(cause, c), fileName_1 + ":33:48")(tsplus_module_5.join(right, fileName_1 + ":33:29")), a => tsplus_module_1.as(() => a, fileName_1 + ":34:44")(tsplus_module_6.interruptAs(right, id)))(exit), (exit, left) => tsplus_module_7.match(cause => tsplus_module_1.mapErrorCause(c => tsplus_module_4.both(cause, c), fileName_1 + ":38:47")(tsplus_module_5.join(left, fileName_1 + ":38:28")), a1 => tsplus_module_1.as(() => a1, fileName_1 + ":39:44")(tsplus_module_6.interruptAs(left, id)))(exit), fileName_1 + ":29:20")(self));
|
26
36
|
};
|
27
37
|
}
|
28
38
|
//# sourceMappingURL=race.mjs.map
|
package/_mjs/IO/api/race.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"race.mjs","mappings":"
|
1
|
+
{"version":3,"file":"race.mjs","mappings":";;;;;;;;;aAyBgBA,SAAS;AAzBzB;;;;;;;;;;;AAWA,OAAM,SAAUC,IAAI,CAAaC,IAAoB;EACnD,OAAiBC,IAAiB,IAAgC;IAChE,OAAOC,mCAAuBC,MAAM,IAAKC,YAAmCC,UAAU,CAACL,IAAI,EAAEG,MAAM,wBAAC,EAA3DE,UAAU,CAACJ,IAAI,EAAEE,MAAM,wBAAC,CAAoC,wBAAC;EACxG,CAAC;AACH;AAEA,SAASE,UAAU,CAAUC,EAAe,EAAEC,eAAgC,EAAEC,aAAsB;EACpG,IAAID,eAAe,CAACE,eAAe,EAAE,kCAAOH,EAAE,EADgCE,eACpB,KACrD,gGAAOF,EAAE,EAFgEE;AAGhF;AAEA;;;AAGA,qBAAsCR,IAAoB;EACxD,OAAiBC,IAAiB,IAAgC;IAChE,OAAOC,4BAAgBQ,EAAE,IACvBC,+BACEX,IAAI,EACJ,CAACY,IAAI,EAAEC,KAAK,KACVC,sBACGC,KAAK,IAAKb,8BAA0Bc,CAAC,IAAKC,qBAAWF,KAAK,EAAEC,CAAC,CAAC,8CAApDH,KAAK,yBAAgD,EAC/DK,CAAC,IAAKhB,yBAAyBgB,CAAC,yBAA1BC,iCAAK,EAAaT,EAAE,CAAC,CAAM,EAFpCE,IAAI,CAGH,EACH,CAACA,IAAI,EAAEQ,IAAI,KACTN,sBACGC,KAAK,IAAKb,8BAAyBc,CAAC,IAAKC,qBAAWF,KAAK,EAAEC,CAAC,CAAC,8CAAnDI,IAAI,yBAAgD,EAC9DC,EAAE,IAAKnB,yBAAwBmB,EAAE,yBAA1BF,gCAAI,EAAaT,EAAE,CAAC,CAAO,EAFrCE,IAAI,CAGH,yBAXLX,IAAI,CAYH,CACF;EACH,CAAC;AACH","names":["raceAwait","race","that","self","tsplus_module_1","status","raceAwait_1","disconnect","io","interruptStatus","__tsplusTrace","isInterruptible","id","tsplus_module_8","exit","right","tsplus_module_7","cause","c","tsplus_module_4","a","tsplus_module_6","left","a1"],"sourceRoot":"","sources":["../../../_src/IO/api/race.ts"],"sourcesContent":[null]}
|
@@ -0,0 +1,59 @@
|
|
1
|
+
import * as tsplus_module_1 from "@fncts/io/IO/api/fork";
|
2
|
+
import * as tsplus_module_2 from "@fncts/io/FiberRef/unsafe";
|
3
|
+
import * as tsplus_module_3 from "@fncts/base/data/Maybe/constructors";
|
4
|
+
import * as tsplus_module_4 from "@fncts/io/IO/api";
|
5
|
+
export const raceFibersWith = raceFibersWith_1;
|
6
|
+
import { AtomicBoolean } from "@fncts/base/internal/AtomicBoolean";
|
7
|
+
/**
|
8
|
+
* @tsplus pipeable fncts.io.IO raceFibersWith
|
9
|
+
*/
|
10
|
+
function raceFibersWith_1(right, leftWins, rightWins, __tsplusTrace) {
|
11
|
+
return left => {
|
12
|
+
return tsplus_module_4.withFiberRuntime((parentState, parentStatus) => {
|
13
|
+
const right0 = right();
|
14
|
+
const parentRuntimeFlags = parentStatus.runtimeFlags;
|
15
|
+
function complete(winner, loser, cont, ab, cb) {
|
16
|
+
if (ab.compareAndSet(true, false)) {
|
17
|
+
cb(cont(winner, loser));
|
18
|
+
}
|
19
|
+
}
|
20
|
+
const raceIndicator = new AtomicBoolean(true);
|
21
|
+
const leftFiber = tsplus_module_1.unsafeMakeChildFiber(left, parentState, parentRuntimeFlags, null, __tsplusTrace);
|
22
|
+
const rightFiber = tsplus_module_1.unsafeMakeChildFiber(right0, parentState, parentRuntimeFlags, null, __tsplusTrace);
|
23
|
+
leftFiber.setFiberRef(tsplus_module_2.forkScopeOverride, tsplus_module_3.just(parentState.scope));
|
24
|
+
rightFiber.setFiberRef(tsplus_module_2.forkScopeOverride, tsplus_module_3.just(parentState.scope));
|
25
|
+
return tsplus_module_4.async(cb => {
|
26
|
+
leftFiber.addObserver(() => complete(leftFiber, rightFiber, leftWins, raceIndicator, cb));
|
27
|
+
rightFiber.addObserver(() => complete(rightFiber, leftFiber, rightWins, raceIndicator, cb));
|
28
|
+
leftFiber.startFork(left);
|
29
|
+
rightFiber.startFork(right0);
|
30
|
+
});
|
31
|
+
}, __tsplusTrace);
|
32
|
+
};
|
33
|
+
}
|
34
|
+
/**
|
35
|
+
* Returns an effect that races this effect with the specified effect, calling
|
36
|
+
* the specified finisher as soon as one result or the other has been computed.
|
37
|
+
*
|
38
|
+
* @tsplus pipeable fncts.io.IO raceWith
|
39
|
+
*/
|
40
|
+
export function raceWith(right, leftWins, rightWins, __tsplusTrace) {
|
41
|
+
return left => {
|
42
|
+
return raceFibersWith_1(right, (winner, loser) => tsplus_module_4.flatMap(exit => {
|
43
|
+
switch (exit._tag) {
|
44
|
+
case "Success" /* ExitTag.Success */:
|
45
|
+
return tsplus_module_4.flatMap(() => leftWins(exit, loser), __tsplusTrace)(winner.inheritAll);
|
46
|
+
case "Failure" /* ExitTag.Failure */:
|
47
|
+
return leftWins(exit, loser);
|
48
|
+
}
|
49
|
+
}, __tsplusTrace)(winner.await), (winner, loser) => tsplus_module_4.flatMap(exit => {
|
50
|
+
switch (exit._tag) {
|
51
|
+
case "Success" /* ExitTag.Success */:
|
52
|
+
return tsplus_module_4.flatMap(() => rightWins(exit, loser), __tsplusTrace)(winner.inheritAll);
|
53
|
+
case "Failure" /* ExitTag.Failure */:
|
54
|
+
return rightWins(exit, loser);
|
55
|
+
}
|
56
|
+
}, __tsplusTrace)(winner.await), __tsplusTrace)(left);
|
57
|
+
};
|
58
|
+
}
|
59
|
+
//# sourceMappingURL=raceWith.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"raceWith.mjs","mappings":";;;;aAQgBA,cAAc;AAL9B,SAASC,aAAa,QAAQ,oCAAoC;AAElE;;;AAGA,0BACEC,KAA0B,EAC1BC,QAAmF,EACnFC,SAAoF,EACpFC,aAAsB;EAEtB,OAAQC,IAAiB,IAA0C;IACjE,OAAOC,iCAAoB,CAACC,WAAW,EAAEC,YAAY,KAAI;MACvD,MAAMC,MAAM,GAAeR,KAAK,EAAE;MAClC,MAAMS,kBAAkB,GAAGF,YAAY,CAACG,YAAY;MACpD,SAASC,QAAQ,CACfC,MAA2B,EAC3BC,KAA0B,EAC1BC,IAAgF,EAChFC,EAAiB,EACjBC,EAA6B;QAE7B,IAAID,EAAE,CAACE,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;UACjCD,EAAE,CAACF,IAAI,CAACF,MAAM,EAAEC,KAAK,CAAC,CAAC;;MAE3B;MAEA,MAAMK,aAAa,GAAG,IAAInB,aAAa,CAAC,IAAI,CAAC;MAC7C,MAAMoB,SAAS,GAAOC,qCAAwBhB,IAAI,EAAEE,WAAW,EAAEG,kBAAkB,EAAE,IAAI,EAAEN,aAAa,CAAC;MACzG,MAAMkB,UAAU,GAAMD,qCAAwBZ,MAAM,EAAEF,WAAW,EAAEG,kBAAkB,EAAE,IAAI,EAAEN,aAAa,CAAC;MAC3GgB,SAAS,CAACG,WAAW,oCAA6BC,qBAAKjB,WAAW,CAACkB,KAAK,CAAC,CAAC;MAC1EH,UAAU,CAACC,WAAW,oCAA6BC,qBAAKjB,WAAW,CAACkB,KAAK,CAAC,CAAC;MAE3E,OAAOnB,sBAAUW,EAAE,IAAI;QACrBG,SAAS,CAACM,WAAW,CAAC,MAAMd,QAAQ,CAACQ,SAAS,EAAEE,UAAU,EAAEpB,QAAQ,EAAEiB,aAAa,EAAEF,EAAE,CAAC,CAAC;QACzFK,UAAU,CAACI,WAAW,CAAC,MAAMd,QAAQ,CAACU,UAAU,EAAEF,SAAS,EAAEjB,SAAS,EAAEgB,aAAa,EAAEF,EAAE,CAAC,CAAC;QAC3FG,SAAS,CAACO,SAAS,CAACtB,IAAI,CAAC;QACzBiB,UAAU,CAACK,SAAS,CAAClB,MAAM,CAAC;MAC9B,CAAC,CAAC;IACJ,CAAC,EA9BHL,cA8BI;EACJ,CAAC;AACH;AAEA;;;;;;AAMA,OAAM,SAAUwB,QAAQ,CACtB3B,KAA2B,EAC3BC,QAAoE,EACpEC,SAAqE,EACrEC,aAAsB;EAEtB,OAAQC,IAAiB,IAA4C;IACnE,OAAOwB,iBACL5B,KAAK,EACL,CAACY,MAAM,EAAEC,KAAK,KACZR,wBAAsBwB,IAAI,IAAI;MAC5B,QAAQA,IAAI,CAACC,IAAI;QACf;UACE,OAAOzB,wBAA0B,MAAMJ,QAAQ,CAAC4B,IAAI,EAAEhB,KAAK,CAAC,EATxEV,eASmBS,MAAM,CAACmB,UAAU,CAAqC;QAC/D;UACE,OAAO9B,QAAQ,CAAC4B,IAAI,EAAEhB,KAAK,CAAC;MAAC;IAEnC,CAAC,EAbPV,eAMMS,MAAM,CAACoB,KAAK,CAOV,EACJ,CAACpB,MAAM,EAAEC,KAAK,KACZR,wBAAsBwB,IAAI,IAAI;MAC5B,QAAQA,IAAI,CAACC,IAAI;QACf;UACE,OAAOzB,wBAA0B,MAAMH,SAAS,CAAC2B,IAAI,EAAEhB,KAAK,CAAC,EAlBzEV,eAkBmBS,MAAM,CAACmB,UAAU,CAAsC;QAChE;UACE,OAAO7B,SAAS,CAAC2B,IAAI,EAAEhB,KAAK,CAAC;MAAC;IAEpC,CAAC,EAtBPV,eAeMS,MAAM,CAACoB,KAAK,CAOV,EAtBR7B,eAGSC,IAAI,CAoBV;EACH,CAAC;AACH","names":["raceFibersWith","AtomicBoolean","right","leftWins","rightWins","__tsplusTrace","left","tsplus_module_4","parentState","parentStatus","right0","parentRuntimeFlags","runtimeFlags","complete","winner","loser","cont","ab","cb","compareAndSet","raceIndicator","leftFiber","tsplus_module_1","rightFiber","setFiberRef","tsplus_module_3","scope","addObserver","startFork","raceWith","raceFibersWith_1","exit","_tag","inheritAll","await"],"sourceRoot":"","sources":["../../../_src/IO/api/raceWith.ts"],"sourcesContent":[null]}
|
@@ -2,7 +2,7 @@ const fileName_1 = "(@fncts/io) src/IO/api/randomWith.ts";
|
|
2
2
|
import * as tsplus_module_1 from "@fncts/io/Random/definition";
|
3
3
|
import * as tsplus_module_2 from "@fncts/base/data/Environment/api";
|
4
4
|
import * as tsplus_module_3 from "@fncts/io/IOEnv/services";
|
5
|
-
import * as tsplus_module_4 from "@fncts/io/FiberRef/
|
5
|
+
import * as tsplus_module_4 from "@fncts/io/FiberRef/operations";
|
6
6
|
import * as tsplus_module_5 from "@fncts/io/IO/api";
|
7
7
|
export const randomWith = randomWith_1;
|
8
8
|
/**
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import * as tsplus_module_1 from "@fncts/io/Supervisor/api";
|
2
2
|
import * as tsplus_module_2 from "@fncts/io/FiberRef/unsafe";
|
3
|
-
import * as tsplus_module_3 from "@fncts/io/FiberRef/
|
3
|
+
import * as tsplus_module_3 from "@fncts/io/FiberRef/operations";
|
4
4
|
/**
|
5
5
|
* @tsplus fluent fncts.io.IO supervised
|
6
6
|
*/
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import * as tsplus_module_1 from "@fncts/io/FiberRef/unsafe";
|
2
|
+
import * as tsplus_module_2 from "@fncts/base/data/Maybe/api";
|
3
|
+
import * as tsplus_module_3 from "@fncts/base/data/Maybe/constructors";
|
4
|
+
import * as tsplus_module_4 from "@fncts/io/FiberRef/operations";
|
5
|
+
import * as tsplus_module_5 from "@fncts/io/IO/api";
|
6
|
+
/**
|
7
|
+
* Transplants specified effects so that when those effects fork other
|
8
|
+
* effects, the forked effects will be governed by the scope of the
|
9
|
+
* fiber that executes this effect.
|
10
|
+
*
|
11
|
+
* This can be used to "graft" deep grandchildren onto a higher-level
|
12
|
+
* scope, effectively extending their lifespans into the parent scope.
|
13
|
+
*
|
14
|
+
* @tsplus static fncts.io.IOOps transplant
|
15
|
+
*/
|
16
|
+
export function transplant(f, __tsplusTrace) {
|
17
|
+
return tsplus_module_5.withFiberRuntime(fiberState => {
|
18
|
+
const scopeOverride = fiberState.getFiberRef(tsplus_module_1.forkScopeOverride);
|
19
|
+
const scope = tsplus_module_2.getOrElse(() => fiberState.scope)(scopeOverride);
|
20
|
+
return f(tsplus_module_4.locally(tsplus_module_1.forkScopeOverride, tsplus_module_3.just(scope), __tsplusTrace));
|
21
|
+
}, __tsplusTrace);
|
22
|
+
}
|
23
|
+
//# sourceMappingURL=transplant.mjs.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"transplant.mjs","mappings":";;;;;AAEA;;;;;;;;;;AAUA,OAAM,SAAUA,UAAU,CAAUC,CAA8B,EAAEC,aAAsB;EACxF,OAAOC,iCAAqBC,UAAU,IAAI;IACxC,MAAMC,aAAa,GAAGD,UAAU,CAACE,WAAW,mCAA4B;IACxE,MAAMC,KAAK,GAAWC,gCAAwBJ,UAAU,CAACG,KAAK,EAAxCF,aAAa,CAA4B;IAC/D,OAAOJ,CAAC,CAACQ,2DAAmCC,qBAAKH,KAAK,CAAC,EAJSL,cAIR,CAAC;EAC3D,CAAC,EALiEA,cAKhE;AACJ","names":["transplant","f","__tsplusTrace","tsplus_module_5","fiberState","scopeOverride","getFiberRef","scope","tsplus_module_2","tsplus_module_4","tsplus_module_3"],"sourceRoot":"","sources":["../../../_src/IO/api/transplant.ts"],"sourcesContent":[null]}
|
@@ -10,8 +10,9 @@ import * as tsplus_module_9 from "@fncts/io/Future/api";
|
|
10
10
|
import * as tsplus_module_10 from "@fncts/base/data/Either/destructors";
|
11
11
|
import * as tsplus_module_11 from "@fncts/base/data/Either/constructors";
|
12
12
|
import * as tsplus_module_12 from "@fncts/base/data/Maybe/destructors";
|
13
|
-
import * as tsplus_module_13 from "@fncts/io/IO/api/
|
14
|
-
import * as tsplus_module_14 from "@fncts/io/IO/api/
|
13
|
+
import * as tsplus_module_13 from "@fncts/io/IO/api/forkDaemon";
|
14
|
+
import * as tsplus_module_14 from "@fncts/io/IO/api/transplant";
|
15
|
+
import * as tsplus_module_15 from "@fncts/io/IO/api/interrupt";
|
15
16
|
export const zipConcurrent = zipConcurrent_1;
|
16
17
|
export const zipWithConcurrent = zipWithConcurrent_1;
|
17
18
|
import { tuple } from "@fncts/base/data/function";
|
@@ -29,12 +30,10 @@ function zipConcurrent_1(that, __tsplusTrace) {
|
|
29
30
|
*/
|
30
31
|
function zipWithConcurrent_1(that, f, __tsplusTrace) {
|
31
32
|
return self => {
|
32
|
-
return tsplus_module_4.flatMap(fiberId =>
|
33
|
-
restore
|
34
|
-
}) => {
|
33
|
+
return tsplus_module_4.flatMap(fiberId => tsplus_module_15.uninterruptibleMask(restore => {
|
35
34
|
const future = tsplus_module_2.unsafeMake(tsplus_module_1.none);
|
36
35
|
const ref = new AtomicReference(tsplus_module_3.nothing());
|
37
|
-
return
|
36
|
+
return tsplus_module_14.transplant(graft => tsplus_module_4.flatMap(([left, right]) => tsplus_module_4.matchCauseIO(cause => tsplus_module_4.flatMap(([left, right]) => tsplus_module_6.match(tsplus_module_4.failCauseNow, () => tsplus_module_4.failCauseNow(tsplus_module_5.stripFailures(cause), __tsplusTrace))(tsplus_module_6.zipConcurrent(right)(left)), __tsplusTrace)(zipConcurrent_1(tsplus_module_7.interruptAs(right, fiberId), __tsplusTrace)(tsplus_module_7.interruptAs(left, fiberId))), c => tsplus_module_4.as(() => c, __tsplusTrace)(tsplus_module_4.zip(tsplus_module_8.inheritRefs(right, __tsplusTrace), __tsplusTrace)(tsplus_module_8.inheritRefs(left, __tsplusTrace))), __tsplusTrace)(restore(tsplus_module_9.wait(future, __tsplusTrace), __tsplusTrace)), __tsplusTrace)(tsplus_module_4.zip(tsplus_module_13.forkDaemon(graft(tsplus_module_4.matchCauseIO(cause => tsplus_module_4.zipRight(tsplus_module_4.failCauseNow(cause, __tsplusTrace), __tsplusTrace)(tsplus_module_9.fail(undefined, __tsplusTrace)(future)), b => tsplus_module_12.match(() => tsplus_module_4.unit, value => tsplus_module_10.match(a => tsplus_module_4.asUnit(tsplus_module_9.succeed_(f(a, b), __tsplusTrace)(future), __tsplusTrace), () => tsplus_module_4.unit)(value))(ref.getAndSet(tsplus_module_3.just(tsplus_module_11.right(b)))), __tsplusTrace)(restore(that, __tsplusTrace))), __tsplusTrace), __tsplusTrace)(tsplus_module_13.forkDaemon(graft(tsplus_module_4.matchCauseIO(cause => tsplus_module_4.zipRight(tsplus_module_4.failCauseNow(cause, __tsplusTrace), __tsplusTrace)(tsplus_module_9.fail(undefined, __tsplusTrace)(future)), a => tsplus_module_12.match(() => tsplus_module_4.unit, value => tsplus_module_10.match(() => tsplus_module_4.unit, b => tsplus_module_4.asUnit(tsplus_module_9.succeed_(f(a, b), __tsplusTrace)(future), __tsplusTrace))(value))(ref.getAndSet(tsplus_module_3.just(tsplus_module_11.left(a)))), __tsplusTrace)(restore(self, __tsplusTrace))), __tsplusTrace))), __tsplusTrace);
|
38
37
|
}), __tsplusTrace)(tsplus_module_4.fiberId);
|
39
38
|
};
|
40
39
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"zipConcurrent.mjs","mappings":"
|
1
|
+
{"version":3,"file":"zipConcurrent.mjs","mappings":";;;;;;;;;;;;;;;aAMgBA,aAAa;aASbC,iBAAiB;AAfjC,SAASC,KAAK,QAAQ,2BAA2B;AACjD,SAASC,eAAe,QAAQ,sCAAsC;AAEtE;;;AAGA,yBAAyCC,IAAmB,EAAEC,aAAsB;EAClF,OAAiBC,IAAiB,IAAyC;IACzE,OAAOC,oBAAuBH,IAAI,EAAEF,KAAK,EAFiBG,eAEnDC,IAAI,CAA+B;EAC5C,CAAC;AACH;AAEA;;;AAGA,6BAAmDF,IAAmB,EAAEI,CAAoB,EAAEH,aAAsB;EAClH,OAAcC,IAAiB,IAA2B;IACxD,OAAOG,wBAAoBC,OAAO,IAChCC,qCAAwBC,OAAO,IAAI;MACjC,MAAMC,MAAM,GAAGC,gDAAwC;MACvD,MAAMC,GAAG,GAAM,IAAIZ,eAAe,CAAsBa,yBAAS,CAAC;MAClE,OAAOC,4BAAeC,KAAK,IACzBT,wBA8BW,CAAC,CAACU,IAAI,EAAEC,KAAK,CAAC,KACrBX,6BACGY,KAAK,IACJZ,wBAGW,CAAC,CAACU,IAAI,EAAEC,KAAK,CAAC,KACrBE,oDAAiD,MAAMb,2DAAgBY,KAAK,GA5CJhB,cA4CmB,EAA3FiB,8BAAmBF,KAAK,EAAxBD,IAAI,CAAqB,CAAmE,EA5CpBd,eAwC5EkB,gBAEiBC,iCAAK,EAAad,OAAO,CAAC,EA1CiCL,eAwC5EmB,gCAAI,EACWd,OAAO,CAAC,CACqB,CAGzC,EACJe,CAAC,IAAKhB,yBAA2CgB,CAAC,EA9C2BpB,eA8CvEI,gDAAqBW,KAAK,EA9C6Cf,2DA8CvEc,IAAI,EA9CmEd,eA8ChC,CAAM,EA9C0BA,eAsChFO,OAAO,sBAACC,MAAM,EAtCkER,8BAsC3D,CASpB,EA/C+EA,eAOpFI,gDAeIS,KAAK,CACHT,6BACGY,KAAK,IAAIZ,yBAA0BA,6BAAgBY,KAAK,EAxBmBhB,cAwBlB,EAxBkBA,eAwBjEqB,qBAAYC,SAAS,EAxB4CtB,eAwBjEQ,MAAM,CAAgB,CAAyB,EACzDe,CAAC,IACAC,uBACE,MAAKpB,oBAAQ,EACZqB,KAAK,IACJC,uBACGC,CAAC,IAAIvB,uBAACiB,yBAAelB,CAAC,CAACwB,CAAC,EAAEJ,CAAC,CAAC,EA9BuCvB,eA8B7DQ,MAAM,CAAiB,EA9BsCR,cA8B/B,EACrC,MAAKI,oBAAQ,EAFfqB,KAAK,CAGJ,EANLf,GAAG,CAACkB,SAAS,CAACjB,qBAAKkB,uBAAaN,CAAC,CAAC,CAAC,CAAC,CAOnC,EAjCyEvB,eAuB9EO,OAAO,CAACR,IAAI,EAvBkEC,cAuBjE,CAWZ,CACF,EAnC+EA,2DAOpFa,KAAK,CACHT,6BACGY,KAAK,IAAIZ,yBAA0BA,6BAAgBY,KAAK,EATuBhB,cAStB,EATsBA,eASrEqB,qBAAYC,SAAS,EATgDtB,eASrEQ,MAAM,CAAgB,CAAyB,EACzDmB,CAAC,IACAH,uBACE,MAAKpB,oBAAQ,EACZqB,KAAK,IACJC,uBACE,MAAKtB,oBAAQ,EACZmB,CAAC,IAAInB,uBAACiB,yBAAelB,CAAC,CAACwB,CAAC,EAAEJ,CAAC,CAAC,EAhB2CvB,eAgBjEQ,MAAM,CAAiB,EAhB0CR,cAgBnC,EAFvCyB,KAAK,CAGJ,EANLf,GAAG,CAACkB,SAAS,CAACjB,qBAAKkB,sBAAYF,CAAC,CAAC,CAAC,CAAC,CAOlC,EAlB6E3B,eAQlFO,OAAO,CAACN,IAAI,EARsED,cAQrE,CAWZ,CACF,EApBmFA,eAoCjF,CAYA,EAhDiFA,cAiDrF;IACH,CAAC,CAAC,EAlDsFA,uCAmDzF;EACH,CAAC;AACH","names":["zipConcurrent","zipWithConcurrent","tuple","AtomicReference","that","__tsplusTrace","self","zipWithConcurrent_1","f","tsplus_module_4","fiberId","tsplus_module_15","restore","future","tsplus_module_2","ref","tsplus_module_3","tsplus_module_14","graft","left","right","cause","tsplus_module_6","zipConcurrent_1","tsplus_module_7","c","tsplus_module_9","undefined","b","tsplus_module_12","value","tsplus_module_10","a","getAndSet","tsplus_module_11"],"sourceRoot":"","sources":["../../../_src/IO/api/zipConcurrent.ts"],"sourcesContent":[null]}
|
package/_mjs/IO.mjs
CHANGED
@@ -18,15 +18,17 @@ export * from "./IO/api/clockWith.mjs";
|
|
18
18
|
export * from "./IO/api/concurrency.mjs";
|
19
19
|
export * from "./IO/api/concurrentFinalizers.mjs";
|
20
20
|
export * from "./IO/api/consoleWith.mjs";
|
21
|
-
export * from "./IO/api/
|
21
|
+
export * from "./IO/api/daemonChildren.mjs";
|
22
22
|
export * from "./IO/api/delay.mjs";
|
23
23
|
export * from "./IO/api/descriptor.mjs";
|
24
|
+
export * from "./IO/api/disconnect.mjs";
|
24
25
|
export * from "./IO/api/ensuringChildren.mjs";
|
25
26
|
export * from "./IO/api/environment.mjs";
|
26
27
|
export * from "./IO/api/foreachConcurrent.mjs";
|
27
28
|
export * from "./IO/api/foreachExec.mjs";
|
28
29
|
export * from "./IO/api/fork.mjs";
|
29
30
|
export * from "./IO/api/forkAll.mjs";
|
31
|
+
export * from "./IO/api/forkDaemon.mjs";
|
30
32
|
export * from "./IO/api/forkIn.mjs";
|
31
33
|
export * from "./IO/api/forkScoped.mjs";
|
32
34
|
export * from "./IO/api/fulfill.mjs";
|
@@ -38,6 +40,7 @@ export * from "./IO/api/provideLayer.mjs";
|
|
38
40
|
export * from "./IO/api/provideSomeLayer.mjs";
|
39
41
|
export * from "./IO/api/race.mjs";
|
40
42
|
export * from "./IO/api/raceFirst.mjs";
|
43
|
+
export * from "./IO/api/raceWith.mjs";
|
41
44
|
export * from "./IO/api/randomWith.mjs";
|
42
45
|
export * from "./IO/api/repeat.mjs";
|
43
46
|
export * from "./IO/api/retry.mjs";
|
@@ -50,6 +53,7 @@ export * from "./IO/api/sleep.mjs";
|
|
50
53
|
export * from "./IO/api/stateful.mjs";
|
51
54
|
export * from "./IO/api/supervised.mjs";
|
52
55
|
export * from "./IO/api/timeout.mjs";
|
56
|
+
export * from "./IO/api/transplant.mjs";
|
53
57
|
export * from "./IO/api/withChildren.mjs";
|
54
58
|
export * from "./IO/api/withEarlyRelease.mjs";
|
55
59
|
export * from "./IO/api/withFinalizer.mjs";
|
package/_mjs/IO.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"IO.mjs","mappings":"AAAA;AACA,cAAc,cAAa;AAC3B,cAAc,qBAAoB;AAClC,cAAc,kBAAiB;AAC/B;AAEA;AACA,cAAc,6BAA4B;AAC1C,cAAc,iCAAgC;AAC9C,cAAc,0CAAyC;AACvD,cAAc,8CAA6C;AAC3D,cAAc,2BAA0B;AACxC,cAAc,+BAA8B;AAC5C,cAAc,6BAA4B;AAC1C,cAAc,sBAAqB;AACnC,cAAc,sBAAqB;AACnC,cAAc,0BAAyB;AACvC,cAAc,wBAAuB;AACrC,cAAc,0BAAyB;AACvC,cAAc,mCAAkC;AAChD,cAAc,0BAAyB;AACvC,cAAc,
|
1
|
+
{"version":3,"file":"IO.mjs","mappings":"AAAA;AACA,cAAc,cAAa;AAC3B,cAAc,qBAAoB;AAClC,cAAc,kBAAiB;AAC/B;AAEA;AACA,cAAc,6BAA4B;AAC1C,cAAc,iCAAgC;AAC9C,cAAc,0CAAyC;AACvD,cAAc,8CAA6C;AAC3D,cAAc,2BAA0B;AACxC,cAAc,+BAA8B;AAC5C,cAAc,6BAA4B;AAC1C,cAAc,sBAAqB;AACnC,cAAc,sBAAqB;AACnC,cAAc,0BAAyB;AACvC,cAAc,wBAAuB;AACrC,cAAc,0BAAyB;AACvC,cAAc,mCAAkC;AAChD,cAAc,0BAAyB;AACvC,cAAc,6BAA4B;AAC1C,cAAc,oBAAmB;AACjC,cAAc,yBAAwB;AACtC,cAAc,yBAAwB;AACtC,cAAc,+BAA8B;AAC5C,cAAc,0BAAyB;AACvC,cAAc,gCAA+B;AAC7C,cAAc,0BAAyB;AACvC,cAAc,mBAAkB;AAChC,cAAc,sBAAqB;AACnC,cAAc,yBAAwB;AACtC,cAAc,qBAAoB;AAClC,cAAc,yBAAwB;AACtC,cAAc,sBAAqB;AACnC,cAAc,wBAAuB;AACrC,cAAc,sBAAqB;AACnC,cAAc,mBAAkB;AAChC,cAAc,4BAA2B;AACzC,cAAc,2BAA0B;AACxC,cAAc,+BAA8B;AAC5C,cAAc,mBAAkB;AAChC,cAAc,wBAAuB;AACrC,cAAc,uBAAsB;AACpC,cAAc,yBAAwB;AACtC,cAAc,qBAAoB;AAClC,cAAc,oBAAmB;AACjC,cAAc,uBAAsB;AACpC,cAAc,oBAAmB;AACjC,cAAc,qBAAoB;AAClC,cAAc,wBAAuB;AACrC,cAAc,wBAAuB;AACrC,cAAc,oBAAmB;AACjC,cAAc,uBAAsB;AACpC,cAAc,yBAAwB;AACtC,cAAc,sBAAqB;AACnC,cAAc,yBAAwB;AACtC,cAAc,2BAA0B;AACxC,cAAc,+BAA8B;AAC5C,cAAc,4BAA2B;AACzC,cAAc,gCAA+B;AAC7C,cAAc,4BAA2B","names":[],"sourceRoot":"","sources":["../_src/IO.ts"],"sourcesContent":[null]}
|
package/_mjs/Layer/MemoMap.mjs
CHANGED
@@ -45,9 +45,7 @@ export class MemoMap {
|
|
45
45
|
return tsplus_module_3.succeedNow(tuple(cached, map), fileName_1 + ":32:29");
|
46
46
|
} else {
|
47
47
|
return tsplus_module_3.flatMap(observers => tsplus_module_3.flatMap(future => tsplus_module_3.map(finalizerRef => {
|
48
|
-
const resource = tsplus_module_5.uninterruptibleMask(({
|
49
|
-
restore
|
50
|
-
}) => (() => {
|
48
|
+
const resource = tsplus_module_5.uninterruptibleMask(restore => (() => {
|
51
49
|
const outerScope = scope;
|
52
50
|
return tsplus_module_3.flatMap(innerScope => tsplus_module_3.map(tp => tp, fileName_1 + ":42:35")(tsplus_module_3.flatMap(exit => tsplus_module_4.match(cause => tsplus_module_3.zipRight(tsplus_module_3.failCauseNow(cause, fileName_1 + ":45:98"), fileName_1 + ":45:82")(tsplus_module_3.zipRight(innerScope.close(() => exit), fileName_1 + ":45:57")(tsplus_module_7.failCause(cause, fileName_1 + ":45:48")(future))), a => tsplus_module_3.flatMap(() => tsplus_module_3.flatMap(() => tsplus_module_3.flatMap(() => tsplus_module_3.map(() => a, fileName_1 + ":59:26")(tsplus_module_7.succeed_(a, fileName_1 + ":59:41")(future)), fileName_1 + ":54:26")(outerScope.addFinalizerExit(tsplus_module_8.Finalizer.get(e => tsplus_module_3.flatMap(fin => tsplus_module_8.Finalizer.reverseGet(fin)(e), fileName_1 + ":56:74")(tsplus_module_9.get(finalizerRef, fileName_1 + ":56:62"))))), fileName_1 + ":53:26")(tsplus_module_6.update(n => n + 1, fileName_1 + ":53:43")(observers)), fileName_1 + ":48:26")(tsplus_module_3.whenIO(tsplus_module_6.modify(n => [n === 1, n - 1], fileName_1 + ":51:53")(observers), fileName_1 + ":51:36")(tsplus_module_10.set(tsplus_module_8.Finalizer.get(exit => innerScope.close(() => exit)), fileName_1 + ":50:33")(finalizerRef))))(exit), fileName_1 + ":43:88")(tsplus_module_3.result(restore(tsplus_module_3.flatMap(f => f(this), fileName_1 + ":43:56")(scope_1(innerScope, fileName_1 + ":43:36")(layer)), fileName_1 + ":43:24"), fileName_1 + ":43:73"))), fileName_1 + ":41:35")(tsplus_module_11.make);
|
53
51
|
})());
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"MemoMap.mjs","mappings":";;;;;;;;;;;;;;;;;;;;;aAwFgBA,OAAO;aAqBPC,MAAM;aAaNC,KAAK;AAxHrB,SAASC,KAAK,QAAQ,2BAA2B;AACjD,SAASC,SAAS,QAAkB,4BAA4B;AAEhE;;;AAGA,OAAM,MAAOC,OAAO;EAClBC,YAAqBC,GAAgF;IAAhF,QAAG,GAAHA,GAAG;IAExB;;;;;IAKA,qBAAgB,GAAG,CAAUL,KAAY,EAAEM,KAAqB,EAAEC,aAAsB,KAAI;MAC1F;MACA,+BAAOC,0BAAmBC,GAAG,IAAI;QAC/B,MAAMC,KAAK,GAAGC,oBAAQL,KAAK,CAACJ,SAAS,CAAC,EAAxBO,GAAG,CAAsB;QAEvC,IAAIG,4BAAK,CAAS,EAAE;UAClB,MAAM,CAACC,OAAO,EAAEC,OAAO,CAAC,GAAGJ,KAAK,CAACK,KAAK;UAEtC,MAAMC,MAAM,GAAGC,uBAA4CC,IAAI,IAC7DC,sBACE,MAAKC,oBAAQ,EACb,MAAMpB,KAAK,CAACqB,gBAAgB,CAACP,OAAO,CAAC,EAFvCI,IAAI,CAGH,yBAJaL,OAAkC,CAKjD;UAED,OAAOO,2BAAcnB,KAAK,CAACe,MAAM,EAAEP,GAAG,CAAC,wBAAC;SACzC,MAAM;UACL,+BACQa,SAAS,4BACTC,MAAM,wBACNC,YAAY;YAClB,MAAMC,QAAQ,GAAOR,
|
1
|
+
{"version":3,"file":"MemoMap.mjs","mappings":"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","names":["isFresh","build_","scope","tuple","LayerHash","MemoMap","constructor","ref","layer","__tsplusTrace","tsplus_module_15","map","inMap","tsplus_module_1","tsplus_module_2","acquire","release","value","cached","tsplus_module_5","exit","tsplus_module_4","tsplus_module_3","addFinalizerExit","observers","future","finalizerRef","resource","restore","outerScope","innerScope","tp","cause","close","tsplus_module_7","a","tsplus_module_8","get","e","fin","reverseGet","tsplus_module_6","n","tsplus_module_10","f","scope_1","memoized","isFresh_1","tsplus_module_13","tsplus_module_14","self","tsplus_module_16","_tag","makeMemoMap","tsplus_module_17","build","tsplus_module_19","build_1","memoMap","run","getOrElseMemoize","failure","trace","r","success","tsplus_module_11","that","tsplus_module_20"],"sourceRoot":"","sources":["../../_src/Layer/MemoMap.ts"],"sourcesContent":[null]}
|
@@ -7,7 +7,7 @@ import * as tsplus_module_5 from "@fncts/io/IO/api";
|
|
7
7
|
import { AtomicReference } from "@fncts/base/internal/AtomicReference";
|
8
8
|
import { Hold } from "@fncts/io/Push";
|
9
9
|
import { Atomic } from "@fncts/io/Ref";
|
10
|
-
import { RefSubjectInternal } from "@fncts/io/RefSubject";
|
10
|
+
import { RefSubjectInternal } from "@fncts/io/RefSubject/definition";
|
11
11
|
export class AtomicRefSubject extends RefSubjectInternal {
|
12
12
|
constructor(initial) {
|
13
13
|
super();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Atomic.mjs","mappings":";;;;;;AAEA,SAASA,eAAe,QAAQ,sCAAsC;AACtE,SAASC,IAAI,QAAc,gBAAgB;AAC3C,SAASC,MAAM,QAAQ,eAAe;AACtC,SAASC,kBAAkB,QAAQ,
|
1
|
+
{"version":3,"file":"Atomic.mjs","mappings":"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","names":["AtomicReference","Hold","Atomic","RefSubjectInternal","AtomicRefSubject","constructor","initial","stream","value","AtomicEmitRef","AtomicDimapRef","maybeRef","v","tsplus_module_2","a","tsplus_module_3","end","set","get","ref","__tsplusTrace","modify","f","run","emitter","emit","failCause","cause","unsafeEmit","tsplus_module_4","unsafeFailCause","unsafeEnd","g","compareAndSet","old","getAndSet","unsafeGet","unsafeSet","tsplus_module_5"],"sourceRoot":"","sources":["../../_src/RefSubject/Atomic.ts"],"sourcesContent":[null]}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
const fileName_1 = "(@fncts/io) src/Reloadable/constructors.ts";
|
2
2
|
import * as tsplus_module_1 from "@fncts/io/IO/api/schedule";
|
3
|
-
import * as tsplus_module_2 from "@fncts/io/IO/api/
|
3
|
+
import * as tsplus_module_2 from "@fncts/io/IO/api/forkDaemon";
|
4
4
|
import * as tsplus_module_3 from "@fncts/io/Fiber/api/interrupt";
|
5
5
|
import * as tsplus_module_4 from "@fncts/io/IO/api/acquireRelease";
|
6
6
|
import * as tsplus_module_5 from "@fncts/io/IO/api";
|
@@ -1,5 +1,5 @@
|
|
1
1
|
const fileName_1 = "(@fncts/io) src/Reloadable/definition.ts";
|
2
|
-
import * as tsplus_module_1 from "@fncts/io/IO/api/
|
2
|
+
import * as tsplus_module_1 from "@fncts/io/IO/api/forkDaemon";
|
3
3
|
import * as tsplus_module_2 from "@fncts/io/IO/api";
|
4
4
|
import * as tsplus_module_3 from "@fncts/base/data/Tag/constructors";
|
5
5
|
import { IterableWeakMap } from "@fncts/base/collection/weak/IterableWeakMap";
|
@@ -3,7 +3,7 @@ import * as tsplus_module_2 from "@fncts/io/TxnId";
|
|
3
3
|
import * as tsplus_module_3 from "@fncts/io/STM/internal/CommitState";
|
4
4
|
import * as tsplus_module_4 from "@fncts/io/IO/api/interrupt";
|
5
5
|
import * as tsplus_module_5 from "@fncts/io/FiberRef/unsafe";
|
6
|
-
import * as tsplus_module_6 from "@fncts/io/FiberRef/
|
6
|
+
import * as tsplus_module_6 from "@fncts/io/FiberRef/operations";
|
7
7
|
import * as tsplus_module_7 from "@fncts/io/IO/api/environment";
|
8
8
|
import { AtomicReference } from "@fncts/base/internal/AtomicReference";
|
9
9
|
import { tryCommitAsync, tryCommitSync } from "@fncts/io/STM/internal/Journal";
|
@@ -24,9 +24,7 @@ export function atomically(stm, __tsplusTrace) {
|
|
24
24
|
const id = tsplus_module_2.make();
|
25
25
|
const state = new AtomicReference(tsplus_module_3.Running);
|
26
26
|
const async = tsplus_module_1.async(tryCommitAsync(result.journal, fiberId, stm, id, state, r, scheduler));
|
27
|
-
return tsplus_module_4.uninterruptibleMask(({
|
28
|
-
restore
|
29
|
-
}) => tsplus_module_1.catchAllCause(cause => {
|
27
|
+
return tsplus_module_4.uninterruptibleMask(restore => tsplus_module_1.catchAllCause(cause => {
|
30
28
|
state.compareAndSet(tsplus_module_3.Running, tsplus_module_3.Interrupted);
|
31
29
|
const newState = state.get;
|
32
30
|
switch (newState._tag) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"atomically.mjs","mappings":";;;;;;;AAAA,SAASA,eAAe,QAAQ,sCAAsC;AAEtE,SAASC,cAAc,EAAEC,aAAa,QAAQ,gCAAgC;AAI9E;;;;AAIA,OAAM,SAAUC,UAAU,CAAUC,GAAiB,EAAEC,aAAsB;EAC3E,OAAOC,kCAAsBC,CAAiB,IAC5CC,wBAAmCC,SAAS,IAC1CC,wBAAoBC,OAAO,IAAI;IAC7B,MAAMC,MAAM,GAAGV,aAAa,CAACS,OAAO,EAAEP,GAAG,EAAEG,CAAC,EAAEE,SAAS,CAAC;IACxD,QAAQG,MAAM,CAACC,IAAI;MACjB;QAAwB;UACtB,OAAOH,4BAAeE,MAAM,CAACE,IAAI,EAPUT,cAOT;;MAEpC;QAA2B;UACzB,MAAMU,EAAE,GAAMC,sBAAY;UAC1B,MAAMC,KAAK,GAAG,IAAIjB,eAAe,yBAAwC;UACzE,MAAMkB,KAAK,GAAGR,sBAAST,cAAc,CAACW,MAAM,CAACO,OAAO,EAAER,OAAO,EAAEP,GAAG,EAAEW,EAAE,EAAEE,KAAK,EAAEV,CAAC,EAAEE,SAAS,CAAC,CAAC;UAC7F,OAAOW,
|
1
|
+
{"version":3,"file":"atomically.mjs","mappings":";;;;;;;AAAA,SAASA,eAAe,QAAQ,sCAAsC;AAEtE,SAASC,cAAc,EAAEC,aAAa,QAAQ,gCAAgC;AAI9E;;;;AAIA,OAAM,SAAUC,UAAU,CAAUC,GAAiB,EAAEC,aAAsB;EAC3E,OAAOC,kCAAsBC,CAAiB,IAC5CC,wBAAmCC,SAAS,IAC1CC,wBAAoBC,OAAO,IAAI;IAC7B,MAAMC,MAAM,GAAGV,aAAa,CAACS,OAAO,EAAEP,GAAG,EAAEG,CAAC,EAAEE,SAAS,CAAC;IACxD,QAAQG,MAAM,CAACC,IAAI;MACjB;QAAwB;UACtB,OAAOH,4BAAeE,MAAM,CAACE,IAAI,EAPUT,cAOT;;MAEpC;QAA2B;UACzB,MAAMU,EAAE,GAAMC,sBAAY;UAC1B,MAAMC,KAAK,GAAG,IAAIjB,eAAe,yBAAwC;UACzE,MAAMkB,KAAK,GAAGR,sBAAST,cAAc,CAACW,MAAM,CAACO,OAAO,EAAER,OAAO,EAAEP,GAAG,EAAEW,EAAE,EAAEE,KAAK,EAAEV,CAAC,EAAEE,SAAS,CAAC,CAAC;UAC7F,OAAOW,oCAAwBC,OAAO,IACpCX,8BAA8BY,KAAK,IAAI;YACrCL,KAAK,CAACM,aAAa,sDAA8C;YACjE,MAAMC,QAAQ,GAAGP,KAAK,CAACQ,GAAG;YAC1B,QAAQD,QAAQ,CAACX,IAAI;cACnB,KAAK,MAAM;gBAAE;kBACX,OAAOH,4BAAec,QAAQ,CAACV,IAAI,EAnBAT,cAmBC;;cAEtC;gBAAS;kBACP,OAAOK,6BAAgBY,KAAK,EAtBOjB,cAsBN;;YAC9B;UAEL,CAAC,EAzBwCA,eAczCgB,OAAO,CAACH,KAAK,EAd4Bb,cAc3B,CAWZ,CACH;;IACF;EAEL,CAAC,EA7BgDA,uCA6B/C,EA7B+CA,gDA8BlD,EA9BkDA,cA+BpD;AACH","names":["AtomicReference","tryCommitAsync","tryCommitSync","atomically","stm","__tsplusTrace","tsplus_module_7","r","tsplus_module_6","scheduler","tsplus_module_1","fiberId","result","_tag","exit","id","tsplus_module_2","state","async","journal","tsplus_module_4","restore","cause","compareAndSet","newState","get"],"sourceRoot":"","sources":["../../../_src/STM/api/atomically.ts"],"sourcesContent":[null]}
|
package/_mjs/ScopedRef/api.mjs
CHANGED
@@ -15,9 +15,7 @@ import * as tsplus_module_12 from "@fncts/io/Ref/Synchronized/api";
|
|
15
15
|
* @tsplus static fncts.io.ScopedRefOps fromAcquire
|
16
16
|
*/
|
17
17
|
export function fromAcquire(acquire, __tsplusTrace) {
|
18
|
-
return tsplus_module_8.uninterruptibleMask(({
|
19
|
-
restore
|
20
|
-
}) => tsplus_module_2.flatMap(newScope => tsplus_module_2.flatMap(a => tsplus_module_2.flatMap(ref => {
|
18
|
+
return tsplus_module_8.uninterruptibleMask(restore => tsplus_module_2.flatMap(newScope => tsplus_module_2.flatMap(a => tsplus_module_2.flatMap(ref => {
|
21
19
|
const scopedRef = new Synch(ref);
|
22
20
|
return tsplus_module_2.map(() => scopedRef, __tsplusTrace)(tsplus_module_1.addFinalizer(() => scopedRef.close, __tsplusTrace));
|
23
21
|
}, __tsplusTrace)(tsplus_module_3.makeSynchronized(() => [newScope, a], __tsplusTrace)), __tsplusTrace)(restore(tsplus_module_2.tapCause(cause => newScope.close(() => tsplus_module_4.fail(cause)), __tsplusTrace)(tsplus_module_6.provideSomeService(newScope, tsplus_module_5.ScopeTag, __tsplusTrace)(acquire)), __tsplusTrace)), __tsplusTrace)(tsplus_module_7.make));
|
@@ -30,9 +28,7 @@ class Synch extends tsplus_module_9.ScopedRef {
|
|
30
28
|
this.get = tsplus_module_2.map(([_, a]) => a, fileName_1 + ":41:33")(tsplus_module_10.get(this.ref, fileName_1 + ":41:25"));
|
31
29
|
}
|
32
30
|
set(acquire, __tsplusTrace) {
|
33
|
-
return tsplus_module_2.flatten(tsplus_module_12.modifyIO(([oldScope, a]) => tsplus_module_8.uninterruptibleMask((
|
34
|
-
restore
|
35
|
-
}) => tsplus_module_2.flatMap(newScope => tsplus_module_2.flatMap(exit => tsplus_module_11.match(cause => tsplus_module_2.as(() => [tsplus_module_2.failCauseNow(cause, fileName_1 + ":33:69"), [oldScope, a]], fileName_1 + ":33:52")(tsplus_module_2.ignore(newScope.close(() => tsplus_module_4.unit), fileName_1 + ":33:42")), a => tsplus_module_2.as(() => [tsplus_module_2.unit, [newScope, a]], fileName_1 + ":34:57")(tsplus_module_2.ignore(oldScope.close(() => tsplus_module_4.unit), fileName_1 + ":34:47")))(exit), fileName_1 + ":29:29")(tsplus_module_2.result(restore(tsplus_module_6.provideSomeService(newScope, tsplus_module_5.ScopeTag, fileName_1 + ":29:64")(acquire), fileName_1 + ":29:37"), fileName_1 + ":29:86")), fileName_1 + ":28:29")(tsplus_module_7.make)), fileName_1 + ":25:29")(this.ref), fileName_1 + ":39:6");
|
31
|
+
return tsplus_module_2.flatten(tsplus_module_12.modifyIO(([oldScope, a]) => tsplus_module_8.uninterruptibleMask(restore => tsplus_module_2.flatMap(newScope => tsplus_module_2.flatMap(exit => tsplus_module_11.match(cause => tsplus_module_2.as(() => [tsplus_module_2.failCauseNow(cause, fileName_1 + ":33:69"), [oldScope, a]], fileName_1 + ":33:52")(tsplus_module_2.ignore(newScope.close(() => tsplus_module_4.unit), fileName_1 + ":33:42")), a => tsplus_module_2.as(() => [tsplus_module_2.unit, [newScope, a]], fileName_1 + ":34:57")(tsplus_module_2.ignore(oldScope.close(() => tsplus_module_4.unit), fileName_1 + ":34:47")))(exit), fileName_1 + ":29:29")(tsplus_module_2.result(restore(tsplus_module_6.provideSomeService(newScope, tsplus_module_5.ScopeTag, fileName_1 + ":29:64")(acquire), fileName_1 + ":29:37"), fileName_1 + ":29:86")), fileName_1 + ":28:29")(tsplus_module_7.make)), fileName_1 + ":25:29")(this.ref), fileName_1 + ":39:6");
|
36
32
|
}
|
37
33
|
}
|
38
34
|
//# sourceMappingURL=api.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"api.mjs","mappings":";;;;;;;;;;;;;AAAA;;;AAGA,OAAM,SAAUA,WAAW,CAAUC,OAAoB,EAAEC,aAAsB;EAC/E,OAAOC,
|
1
|
+
{"version":3,"file":"api.mjs","mappings":";;;;;;;;;;;;;AAAA;;;AAGA,OAAM,SAAUA,WAAW,CAAUC,OAAoB,EAAEC,aAAsB;EAC/E,OAAOC,oCAAwBC,OAAO,IAAIC,wBAEhCC,QAAQ,4BACRC,CAAC,4BAGDC,GAAG;IACT,MAAMC,SAAS,GAAG,IAAIC,KAAK,CAACF,GAAG,CAAC;qCAEzBC,SAAS,EAVqCP,eASnDS,mCAAgBF,SAAS,CAACG,KAAK,EAToBV,cASnB;KATmBA,eAOjCW,uCAAsB,CAACP,QAAQ,EAAEC,CAAC,CAAU,EAPXL,cAOY,GAPZA,eAKnDE,OAAO,CAACC,yBAA0DS,KAAK,IAAKR,QAAQ,CAACM,KAAK,OAACG,qBAAUD,KAAK,CAAC,CAAC,EALzDZ,eAK3Cc,mCAA2BV,QAAQ,4BALQJ,eAK3CD,OAAO,CAAwC,CAAsD,EAL1DC,cAK2D,GAL3DA,oCAWrD,CACH;AACH;AAEA,MAAMQ,KAAS,SAAQO,yBAAY;EACjCC,YAAqBV,GAAoD;IACvE,KAAK,EAAE;IADY,QAAG,GAAHA,GAAG;IAGxB,UAAK,GAAcH,wBAAqB,CAAC,CAACc,KAAK,EAAEC,CAAC,CAAC,KAAKD,KAAK,CAACP,KAAK,4BAAW,8CAA3D,IAAI,CAACJ,GAAG,yBAAoD;IAkB/E,QAAG,GAAWH,oBAAiB,CAAC,CAACe,CAAC,EAAEb,CAAC,CAAC,KAAKA,CAAC,8CAA9B,IAAI,CAACC,GAAG,yBAAuB;EAnB7C;EAEAa,GAAG,CAAOpB,OAAoB,EAAEC,aAAsB;IACpD,+BAAOoB,0BAAkB,CAAC,CAACC,QAAQ,EAAEhB,CAAC,CAAC,KACrCJ,oCAAwBC,OAAO,IAAIC,wBAEzBC,QAAQ,4BACRkB,IAAI,IAERC,uBACGX,KAAK,IACJT,yBAAoC,CAACA,6BAAgBS,KAAK,wBAAC,EAAE,CAACS,QAAQ,EAAEhB,CAAC,CAAC,CAAU,gDAApFD,QAAQ,CAACM,KAAK,4BAAW,yBAA4D,EACtFL,CAAC,IAAKF,yBAAoC,uBAAU,CAACC,QAAQ,EAAEC,CAAC,CAAC,CAAU,gDAArEgB,QAAQ,CAACX,KAAK,4BAAW,yBAA6C,EAH/EY,IAAI,CAIH,gDANgBpB,OAAO,CAACY,mCAA2BV,QAAQ,mDAAnCL,OAAO,CAAwC,wBAAC,uEAQ3E,CACH,yBAbI,IAAI,CAACO,GAAG,CAcd;EACH","names":["fromAcquire","acquire","__tsplusTrace","tsplus_module_8","restore","tsplus_module_2","newScope","a","ref","scopedRef","Synch","tsplus_module_1","close","tsplus_module_3","cause","tsplus_module_4","tsplus_module_6","tsplus_module_9","constructor","scope","_","set","tsplus_module_12","oldScope","exit","tsplus_module_11"],"sourceRoot":"","sources":["../../_src/ScopedRef/api.ts"],"sourcesContent":[null]}
|
package/_mjs/State/api.mjs
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import * as tsplus_module_1 from "@fncts/io/FiberRef/
|
1
|
+
import * as tsplus_module_1 from "@fncts/io/FiberRef/operations";
|
2
2
|
import * as tsplus_module_2 from "@fncts/io/FiberRef/constructors";
|
3
3
|
import * as tsplus_module_3 from "@fncts/io/IO/api";
|
4
4
|
import * as tsplus_module_4 from "@fncts/io/Layer/api";
|