@fncts/io 0.0.24 → 0.0.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.forkScoped = forkScoped;
|
|
7
7
|
var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Fiber/api/interrupt"));
|
|
8
8
|
var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/addFinalizer"));
|
|
9
|
-
var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/
|
|
9
|
+
var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/forkDaemon"));
|
|
10
10
|
var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api"));
|
|
11
11
|
var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/interrupt"));
|
|
12
12
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -15,8 +15,6 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
15
15
|
* @tsplus getter fncts.io.IO forkScoped
|
|
16
16
|
*/
|
|
17
17
|
function forkScoped(self, __tsplusTrace) {
|
|
18
|
-
return tsplus_module_5.uninterruptibleMask((
|
|
19
|
-
restore
|
|
20
|
-
}) => tsplus_module_4.tap(fiber => tsplus_module_2.addFinalizer(() => tsplus_module_1.interrupt(fiber), __tsplusTrace), __tsplusTrace)(tsplus_module_3.forkDaemon(restore(self, __tsplusTrace), __tsplusTrace)));
|
|
18
|
+
return tsplus_module_5.uninterruptibleMask(restore => tsplus_module_4.tap(fiber => tsplus_module_2.addFinalizer(() => tsplus_module_1.interrupt(fiber), __tsplusTrace), __tsplusTrace)(tsplus_module_3.forkDaemon(restore(self, __tsplusTrace), __tsplusTrace)));
|
|
21
19
|
}
|
|
22
20
|
//# sourceMappingURL=forkScoped.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forkScoped.cjs","mappings":";;;;;;;;;;;;;AAAA;;;AAGM,SAAUA,UAAU,CACxBC,IAAiB,EACjBC,aAAsB;EAEtB,OAAOC,
|
|
1
|
+
{"version":3,"file":"forkScoped.cjs","mappings":";;;;;;;;;;;;;AAAA;;;AAGM,SAAUA,UAAU,CACxBC,IAAiB,EACjBC,aAAsB;EAEtB,OAAOC,oCAAwBC,OAAO,IAAKC,oBAA8BC,KAAK,IAAKC,6DAAgBD,KAAK,GAFxGJ,cAEmH,EAFnHA,0CAE2CE,OAAO,CAACH,IAAI,EAFvDC,cAEwD,EAFxDA,eAEoH,CAAC;AACvH","names":["forkScoped","self","__tsplusTrace","tsplus_module_5","restore","tsplus_module_4","fiber","tsplus_module_2"],"sourceRoot":"","sources":["../../../_src/IO/api/forkScoped.ts"],"sourcesContent":[null]}
|
package/_cjs/IO/api/fulfill.cjs
CHANGED
|
@@ -18,9 +18,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
18
18
|
*/
|
|
19
19
|
function fulfill(p, __tsplusTrace) {
|
|
20
20
|
return effect => {
|
|
21
|
-
return tsplus_module_3.uninterruptibleMask((
|
|
22
|
-
restore
|
|
23
|
-
}) => tsplus_module_2.flatMap(exit => tsplus_module_1.done(exit, __tsplusTrace)(p), __tsplusTrace)(tsplus_module_2.result(restore(effect, __tsplusTrace), __tsplusTrace)));
|
|
21
|
+
return tsplus_module_3.uninterruptibleMask(restore => tsplus_module_2.flatMap(exit => tsplus_module_1.done(exit, __tsplusTrace)(p), __tsplusTrace)(tsplus_module_2.result(restore(effect, __tsplusTrace), __tsplusTrace)));
|
|
24
22
|
};
|
|
25
23
|
}
|
|
26
24
|
//# sourceMappingURL=fulfill.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fulfill.cjs","mappings":";;;;;;;;;;;AAAA;;;;;;;AAOM,SAAUA,OAAO,CAAOC,CAAe,EAAEC,aAAsB;EACnE,OAAWC,MAAmB,IAA2B;IACvD,OAAOC,
|
|
1
|
+
{"version":3,"file":"fulfill.cjs","mappings":";;;;;;;;;;;AAAA;;;;;;;AAOM,SAAUA,OAAO,CAAOC,CAAe,EAAEC,aAAsB;EACnE,OAAWC,MAAmB,IAA2B;IACvD,OAAOC,oCAAwBC,OAAO,IAAKC,wBAAgCC,IAAI,IAAKC,qBAAOD,IAAI,EAFpDL,eAEyCD,CAAC,CAAW,EAFrDC,sCAEAG,OAAO,CAACF,MAAM,EAFdD,cAEe,EAFfA,eAEsD,CAAC;EACpG,CAAC;AACH","names":["fulfill","p","__tsplusTrace","effect","tsplus_module_3","restore","tsplus_module_2","exit","tsplus_module_1"],"sourceRoot":"","sources":["../../../_src/IO/api/fulfill.ts"],"sourcesContent":[null]}
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.disconnect = void 0;
|
|
7
6
|
exports.ensuring = ensuring;
|
|
8
7
|
exports.interruptible = exports.interruptAs = exports.interrupt = void 0;
|
|
9
8
|
exports.interruptibleMask = interruptibleMask;
|
|
10
|
-
exports.
|
|
9
|
+
exports.onExit = void 0;
|
|
10
|
+
exports.onInterrupt = onInterrupt;
|
|
11
11
|
exports.onInterruptWith = onInterruptWith;
|
|
12
12
|
exports.uninterruptibleMask = exports.uninterruptible = void 0;
|
|
13
13
|
var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Cause/api"));
|
|
@@ -16,8 +16,6 @@ var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require
|
|
|
16
16
|
var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/RuntimeFlags/RuntimeFlags"));
|
|
17
17
|
var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Exit/api"));
|
|
18
18
|
var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Exit/constructors"));
|
|
19
|
-
var tsplus_module_7 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Fiber/api/join"));
|
|
20
|
-
var tsplus_module_8 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/core-scope"));
|
|
21
19
|
var _definition = /*#__PURE__*/require("@fncts/io/IO/definition");
|
|
22
20
|
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); }
|
|
23
21
|
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; }
|
|
@@ -30,20 +28,10 @@ const uninterruptible = uninterruptible_1;
|
|
|
30
28
|
exports.uninterruptible = uninterruptible;
|
|
31
29
|
const uninterruptibleMask = uninterruptibleMask_1;
|
|
32
30
|
exports.uninterruptibleMask = uninterruptibleMask;
|
|
33
|
-
const onInterrupt = onInterrupt_1;
|
|
34
|
-
exports.onInterrupt = onInterrupt;
|
|
35
31
|
const onExit = onExit_1;
|
|
36
32
|
exports.onExit = onExit;
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
const RestoreInterruptible = {
|
|
40
|
-
restore: (io, __tsplusTrace) => interruptible_1(io, fileName_1 + ":11:37"),
|
|
41
|
-
force: (io, __tsplusTrace) => interruptible_1(io, fileName_1 + ":12:35")
|
|
42
|
-
};
|
|
43
|
-
const RestoreUninterruptible = {
|
|
44
|
-
restore: (io, __tsplusTrace) => uninterruptible_1(io, fileName_1 + ":16:37"),
|
|
45
|
-
force: (io, __tsplusTrace) => interruptible_1(disconnect_1(uninterruptible_1(io, fileName_1 + ":17:35"), fileName_1 + ":17:51"), fileName_1 + ":17:62")
|
|
46
|
-
};
|
|
33
|
+
const RestoreInterruptible = (io, __tsplusTrace) => interruptible_1(io, fileName_1 + ":7:81");
|
|
34
|
+
const RestoreUninterruptible = (io, __tsplusTrace) => uninterruptible_1(io, fileName_1 + ":9:83");
|
|
47
35
|
/**
|
|
48
36
|
* Returns an effect that is interrupted as if by the specified fiber.
|
|
49
37
|
*
|
|
@@ -58,22 +46,7 @@ function interruptAs_1(fiberId, __tsplusTrace) {
|
|
|
58
46
|
*
|
|
59
47
|
* @tsplus static fncts.io.IOOps interrupt
|
|
60
48
|
*/
|
|
61
|
-
const interrupt = /*#__PURE__*/tsplus_module_2.flatMap(interruptAs_1, fileName_1 + ":
|
|
62
|
-
// /**
|
|
63
|
-
// * Switches the interrupt status for this effect. If `true` is used, then the
|
|
64
|
-
// * effect becomes interruptible (the default), while if `false` is used, then
|
|
65
|
-
// * the effect becomes uninterruptible. These changes are compositional, so
|
|
66
|
-
// * they only affect regions of the effect.
|
|
67
|
-
// *
|
|
68
|
-
// * @tsplus fluent fncts.io.IO setInterruptStatus
|
|
69
|
-
// */
|
|
70
|
-
// export function setInterruptStatus_<R, E, A>(
|
|
71
|
-
// self: IO<R, E, A>,
|
|
72
|
-
// flag: InterruptStatus,
|
|
73
|
-
// __tsplusTrace?: string,
|
|
74
|
-
// ): IO<R, E, A> {
|
|
75
|
-
// return new SetInterrupt(self, flag, __tsplusTrace);
|
|
76
|
-
// }
|
|
49
|
+
const interrupt = /*#__PURE__*/tsplus_module_2.flatMap(interruptAs_1, fileName_1 + ":26:69")(tsplus_module_2.fiberId);
|
|
77
50
|
/**
|
|
78
51
|
* Returns a new effect that performs the same operations as this effect, but
|
|
79
52
|
* interruptibly, even if composed inside of an uninterruptible region.
|
|
@@ -121,9 +94,7 @@ function uninterruptibleMask_1(f) {
|
|
|
121
94
|
*/
|
|
122
95
|
function ensuring(finalizer, __tsplusTrace) {
|
|
123
96
|
return self => {
|
|
124
|
-
return uninterruptibleMask_1((
|
|
125
|
-
restore
|
|
126
|
-
}) => 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)));
|
|
97
|
+
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)));
|
|
127
98
|
};
|
|
128
99
|
}
|
|
129
100
|
/**
|
|
@@ -142,7 +113,7 @@ function interruptibleMask(k, __tsplusTrace) {
|
|
|
142
113
|
*
|
|
143
114
|
* @tsplus pipeable fncts.io.IO onInterrupt
|
|
144
115
|
*/
|
|
145
|
-
function
|
|
116
|
+
function onInterrupt(cleanup, __tsplusTrace) {
|
|
146
117
|
return ma => {
|
|
147
118
|
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);
|
|
148
119
|
};
|
|
@@ -163,9 +134,7 @@ function onInterruptWith(cleanup, __tsplusTrace) {
|
|
|
163
134
|
*/
|
|
164
135
|
function onExit_1(cleanup, __tsplusTrace) {
|
|
165
136
|
return self => {
|
|
166
|
-
return uninterruptibleMask_1(({
|
|
167
|
-
restore
|
|
168
|
-
}) => tsplus_module_2.matchCauseIO(failure1 => {
|
|
137
|
+
return uninterruptibleMask_1(restore => tsplus_module_2.matchCauseIO(failure1 => {
|
|
169
138
|
const result = tsplus_module_6.failCause(failure1);
|
|
170
139
|
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));
|
|
171
140
|
}, success => {
|
|
@@ -174,24 +143,4 @@ function onExit_1(cleanup, __tsplusTrace) {
|
|
|
174
143
|
}, __tsplusTrace)(restore(self, __tsplusTrace)));
|
|
175
144
|
};
|
|
176
145
|
}
|
|
177
|
-
/**
|
|
178
|
-
* Returns an IO whose interruption will be disconnected from the
|
|
179
|
-
* fiber's own interruption, being performed in the background without
|
|
180
|
-
* slowing down the fiber's interruption.
|
|
181
|
-
*
|
|
182
|
-
* This method is useful to create "fast interrupting" effects. For
|
|
183
|
-
* example, if you call this on a bracketed effect, then even if the
|
|
184
|
-
* effect is "stuck" in acquire or release, its interruption will return
|
|
185
|
-
* immediately, while the acquire / release are performed in the
|
|
186
|
-
* background.
|
|
187
|
-
*
|
|
188
|
-
* See timeout and race for other applications.
|
|
189
|
-
*
|
|
190
|
-
* @tsplus getter fncts.io.IO disconnect
|
|
191
|
-
*/
|
|
192
|
-
function disconnect_1(self, __tsplusTrace) {
|
|
193
|
-
return uninterruptibleMask_1(({
|
|
194
|
-
restore
|
|
195
|
-
}) => 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));
|
|
196
|
-
}
|
|
197
146
|
//# sourceMappingURL=interrupt.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interrupt.cjs","mappings":"
|
|
1
|
+
{"version":3,"file":"interrupt.cjs","mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAkF;AAAA;;MAelEA,WAAW;AAAA;MA0BXC,aAAa;AAAA;MAebC,eAAe;AAAA;MAWfC,mBAAmB;AAAA;MAgFnBC,MAAM;AAAA;AA7ItB,MAAMC,oBAAoB,GAA6B,CAACC,EAAE,EAAEC,aAAa,KAAIC,gBAACF,EAAE,uBAAc;AAE9F,MAAMG,sBAAsB,GAA6B,CAACH,EAAE,EAAEC,aAAa,KAAIG,kBAACJ,EAAE,uBAAgB;AAElG;;;;;AAKA,uBAA4BK,OAAgB,EAAEJ,aAAsB;EAClE,OAAOK,6BAAgBC,0BAAgBF,OAAO,CAAC,EADHJ,cACI;AAClD;AAEA;;;;;;AAMO,MAAMO,SAAS,gBAA4BF,sFAAkC;AAEpF;;;;;;;;;;;;;;AAAA;AAcA,yBAAuCG,IAAiB,EAAER,aAAsB;EAC9E,OAAO,IAAIS,yBAAa,CAACD,IAAI,EAAER,aAAa,CAAC;AAC/C;AAEA;;;;;;;;;;;AAWA,2BAAyCQ,IAAiB,EAAER,aAAsB;EAChF,OAAO,IAAIU,2BAAe,CAACF,IAAI,EAAER,aAAa,CAAC;AACjD;AAEA;;;;;;;AAOA,+BAA6CW,CAAqD;EAChG,OAAO,IAAIC,mBAAO,CAACC,2DAA8C,EAAGC,QAAQ,IAC1EH,CAAC,CAACI,qCAAQ,IAAgBjB,oBAAoB,GAAGI,sBAAsB,CAAC,CACzE;AACH;AAEA;;;AAGM,SAAUc,QAAQ,CAAKC,SAA6B,EAAEjB,aAAsB;EAChF,OAAiBQ,IAAiB,IAAsB;IACtD,OAAOU,sBAAwBC,OAAO,IACpCd,6BACGe,MAAM,IACLf,6BACGgB,MAAM,IAAKhB,6BAAgBC,qBAAWc,MAAM,EAAEC,MAAM,CAAC,EANNrB,cAMO,EACvD,MAAMK,6BAAgBe,MAAM,EAPoBpB,cAOnB,EAPmBA,eAKlDiB,SAAS,CAGR,EACFK,CAAC,IAAKjB,oBAAc,MAAMiB,CAAC,EATwBtB,eAS7CiB,SAAS,CAAa,EATuBjB,eAGtDmB,OAAO,CAACX,IAAI,EAH0CR,cAGzC,CAOZ,CACF;EACH,CAAC;AACH;AAEA;;;;;;;AAOM,SAAUuB,iBAAiB,CAC/BC,CAAqD,EACrDxB,aAAsB;EAEtB,OAAOK,mCACJoB,IAAI,IAAIxB,gBAACuB,CAAC,CAACC,IAAI,CAACC,eAAe,GAAG5B,oBAAoB,GAAGI,sBAAsB,CAAC,EAHnFF,cAGiG,EAHjGA,cAIC;AACH;AAEA;;;;;;AAMM,SAAU2B,WAAW,CAASC,OAA8B,EAAE5B,aAAsB;EACxF,OAAiB6B,EAAe,IAA2B;IACzD,OAAOC,SAAWC,IAAI,IACpBC,sBACGC,KAAK,IAAM3B,uCAAK,IAAqBsB,OAAO,EAAE,GAAEvB,oBAAS,EAC1D,MAAKA,oBAAQ,EAFf0B,IAAI,CAGH,EAN6D/B,eAEzD6B,EAAE,CAKR;EACH,CAAC;AACH;AAEA;;;;;;AAMM,SAAUK,eAAe,CAC7BN,OAA4D,EAC5D5B,aAAsB;EAEtB,OAAiB6B,EAAe,IAA2B;IACzD,OAAOC,SAAWC,IAAI,IACpBC,sBACGC,KAAK,IAAM3B,uCAAK,IAAqBsB,OAAO,8BAACK,KAAK,EAAc,GAAE5B,oBAAS,EAC5E,MAAKA,oBAAQ,EAFf0B,IAAI,CAGH,EAPL/B,eAGS6B,EAAE,CAKR;EACH,CAAC;AACH;AAEA;;;AAGA,kBAAqCD,OAA8C,EAAE5B,aAAsB;EACzG,OAAWQ,IAAiB,IAA2B;IACrD,OAAOU,sBAAwBC,OAAO,IACpCd,6BACG8B,QAAQ,IAAI;MACX,MAAMC,MAAM,GAAGC,0BAAeF,QAAQ,CAAC;MACvC,OAAO9B,6BACJiC,QAAQ,IAAKjC,6BAAgBC,qBAAW6B,QAAQ,EAAEG,QAAQ,CAAC,EAPatC,cAOZ,EAC7D,MAAMK,4BAAe+B,MAAM,EAR8CpC,cAQ7C,EAR6CA,eAMpE4B,OAAO,CAACQ,MAAM,CAAC,CAGrB;IACH,CAAC,EACAG,OAAO,IAAI;MACV,MAAMH,MAAM,GAAGC,wBAAaE,OAAO,CAAC;MACpC,gCAAyBlC,4BAAe+B,MAAM,EAb6BpC,cAa5B,EAb4BA,eAapE4B,OAAO,CAACQ,MAAM,CAAC;IACxB,CAAC,EAd4EpC,eAG/EmB,OAAO,CAACX,IAAI,EAHmER,cAGlE,CAYZ,CACF;EACH,CAAC;AACH","names":["interruptAs","interruptible","uninterruptible","uninterruptibleMask","onExit","RestoreInterruptible","io","__tsplusTrace","interruptible_1","RestoreUninterruptible","uninterruptible_1","fiberId","tsplus_module_2","tsplus_module_1","interrupt","self","Interruptible","Uninterruptible","f","Dynamic","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/_cjs/IO/api/race.cjs
CHANGED
|
@@ -4,19 +4,19 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.race = race;
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var
|
|
7
|
+
exports.raceAwait = void 0;
|
|
8
|
+
var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api"));
|
|
9
|
+
var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/disconnect"));
|
|
10
|
+
var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/interrupt"));
|
|
11
|
+
var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Cause/api"));
|
|
12
|
+
var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Fiber/api/join"));
|
|
13
|
+
var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Fiber/api/interruptAs"));
|
|
14
|
+
var tsplus_module_7 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Exit/api"));
|
|
15
|
+
var tsplus_module_8 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/raceWith"));
|
|
14
16
|
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); }
|
|
15
17
|
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; }
|
|
16
18
|
const fileName_1 = "(@fncts/io) src/IO/api/race.ts";
|
|
17
|
-
|
|
18
|
-
return tsplus_module_1.uninterruptibleMask(restore => restore.force(io, __tsplusTrace));
|
|
19
|
-
}
|
|
19
|
+
const raceAwait = raceAwait_1;
|
|
20
20
|
/**
|
|
21
21
|
* Returns an IO that races this effect with the specified effect,
|
|
22
22
|
* returning the first successful `A` from the faster side. If one effect
|
|
@@ -28,9 +28,21 @@ function maybeDisconnect(io, __tsplusTrace) {
|
|
|
28
28
|
*
|
|
29
29
|
* @tsplus pipeable fncts.io.IO race
|
|
30
30
|
*/
|
|
31
|
+
exports.raceAwait = raceAwait;
|
|
31
32
|
function race(that) {
|
|
32
|
-
return
|
|
33
|
-
return
|
|
33
|
+
return self => {
|
|
34
|
+
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");
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
function disconnect(io, interruptStatus, __tsplusTrace) {
|
|
38
|
+
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);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* @tsplus pipeable fncts.io.IO raceAwait
|
|
42
|
+
*/
|
|
43
|
+
function raceAwait_1(that) {
|
|
44
|
+
return self => {
|
|
45
|
+
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));
|
|
34
46
|
};
|
|
35
47
|
}
|
|
36
48
|
//# sourceMappingURL=race.cjs.map
|
package/_cjs/IO/api/race.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"race.cjs","mappings":"
|
|
1
|
+
{"version":3,"file":"race.cjs","mappings":";;;;;;;;;;;;;;;;;;MAyBgBA,SAAS;AAzBzB;;;;;;;;;;;AAAA;AAWM,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]}
|
|
@@ -3,37 +3,23 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.daemonChildren = void 0;
|
|
7
|
-
exports.forkDaemon = forkDaemon;
|
|
8
6
|
exports.raceFibersWith = void 0;
|
|
9
7
|
exports.raceWith = raceWith;
|
|
10
|
-
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/FiberRef/api"));
|
|
15
|
-
var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api"));
|
|
16
|
-
var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/api"));
|
|
17
|
-
var tsplus_module_7 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/fork"));
|
|
8
|
+
var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/fork"));
|
|
9
|
+
var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/FiberRef/unsafe"));
|
|
10
|
+
var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/constructors"));
|
|
11
|
+
var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api"));
|
|
18
12
|
var _AtomicBoolean = /*#__PURE__*/require("@fncts/base/internal/AtomicBoolean");
|
|
19
13
|
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); }
|
|
20
14
|
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; }
|
|
21
|
-
const daemonChildren = daemonChildren_1;
|
|
22
|
-
exports.daemonChildren = daemonChildren;
|
|
23
15
|
const raceFibersWith = raceFibersWith_1;
|
|
24
16
|
exports.raceFibersWith = raceFibersWith;
|
|
25
|
-
/**
|
|
26
|
-
* @tsplus getter fncts.io.IO daemonChildren
|
|
27
|
-
*/
|
|
28
|
-
function daemonChildren_1(self, __tsplusTrace) {
|
|
29
|
-
return tsplus_module_4.locally(tsplus_module_3.forkScopeOverride, tsplus_module_2.just(tsplus_module_1.global), __tsplusTrace)(self);
|
|
30
|
-
}
|
|
31
17
|
/**
|
|
32
18
|
* @tsplus pipeable fncts.io.IO raceFibersWith
|
|
33
19
|
*/
|
|
34
20
|
function raceFibersWith_1(right, leftWins, rightWins, __tsplusTrace) {
|
|
35
21
|
return left => {
|
|
36
|
-
return
|
|
22
|
+
return tsplus_module_4.withFiberRuntime((parentState, parentStatus) => {
|
|
37
23
|
const right0 = right();
|
|
38
24
|
const parentRuntimeFlags = parentStatus.runtimeFlags;
|
|
39
25
|
function complete(winner, loser, cont, ab, cb) {
|
|
@@ -42,11 +28,11 @@ function raceFibersWith_1(right, leftWins, rightWins, __tsplusTrace) {
|
|
|
42
28
|
}
|
|
43
29
|
}
|
|
44
30
|
const raceIndicator = new _AtomicBoolean.AtomicBoolean(true);
|
|
45
|
-
const leftFiber =
|
|
46
|
-
const rightFiber =
|
|
47
|
-
leftFiber.setFiberRef(
|
|
48
|
-
rightFiber.setFiberRef(
|
|
49
|
-
return
|
|
31
|
+
const leftFiber = tsplus_module_1.unsafeMakeChildFiber(left, parentState, parentRuntimeFlags, null, __tsplusTrace);
|
|
32
|
+
const rightFiber = tsplus_module_1.unsafeMakeChildFiber(right0, parentState, parentRuntimeFlags, null, __tsplusTrace);
|
|
33
|
+
leftFiber.setFiberRef(tsplus_module_2.forkScopeOverride, tsplus_module_3.just(parentState.scope));
|
|
34
|
+
rightFiber.setFiberRef(tsplus_module_2.forkScopeOverride, tsplus_module_3.just(parentState.scope));
|
|
35
|
+
return tsplus_module_4.async(cb => {
|
|
50
36
|
leftFiber.addObserver(() => complete(leftFiber, rightFiber, leftWins, raceIndicator, cb));
|
|
51
37
|
rightFiber.addObserver(() => complete(rightFiber, leftFiber, rightWins, raceIndicator, cb));
|
|
52
38
|
leftFiber.startFork(left);
|
|
@@ -63,48 +49,21 @@ function raceFibersWith_1(right, leftWins, rightWins, __tsplusTrace) {
|
|
|
63
49
|
*/
|
|
64
50
|
function raceWith(right, leftWins, rightWins, __tsplusTrace) {
|
|
65
51
|
return left => {
|
|
66
|
-
return raceFibersWith_1(right, (winner, loser) =>
|
|
52
|
+
return raceFibersWith_1(right, (winner, loser) => tsplus_module_4.flatMap(exit => {
|
|
67
53
|
switch (exit._tag) {
|
|
68
54
|
case "Success" /* ExitTag.Success */:
|
|
69
|
-
return
|
|
55
|
+
return tsplus_module_4.flatMap(() => leftWins(exit, loser), __tsplusTrace)(winner.inheritAll);
|
|
70
56
|
case "Failure" /* ExitTag.Failure */:
|
|
71
57
|
return leftWins(exit, loser);
|
|
72
58
|
}
|
|
73
|
-
}, __tsplusTrace)(winner.await), (winner, loser) =>
|
|
59
|
+
}, __tsplusTrace)(winner.await), (winner, loser) => tsplus_module_4.flatMap(exit => {
|
|
74
60
|
switch (exit._tag) {
|
|
75
61
|
case "Success" /* ExitTag.Success */:
|
|
76
|
-
return
|
|
62
|
+
return tsplus_module_4.flatMap(() => rightWins(exit, loser), __tsplusTrace)(winner.inheritAll);
|
|
77
63
|
case "Failure" /* ExitTag.Failure */:
|
|
78
64
|
return rightWins(exit, loser);
|
|
79
65
|
}
|
|
80
66
|
}, __tsplusTrace)(winner.await), __tsplusTrace)(left);
|
|
81
67
|
};
|
|
82
68
|
}
|
|
83
|
-
|
|
84
|
-
* Transplants specified effects so that when those effects fork other
|
|
85
|
-
* effects, the forked effects will be governed by the scope of the
|
|
86
|
-
* fiber that executes this effect.
|
|
87
|
-
*
|
|
88
|
-
* This can be used to "graft" deep grandchildren onto a higher-level
|
|
89
|
-
* scope, effectively extending their lifespans into the parent scope.
|
|
90
|
-
*
|
|
91
|
-
* @tsplus static fncts.io.IOOps transplant
|
|
92
|
-
*/
|
|
93
|
-
function transplant(f, __tsplusTrace) {
|
|
94
|
-
return tsplus_module_5.withFiberRuntime(fiberState => {
|
|
95
|
-
const scopeOverride = fiberState.getFiberRef(tsplus_module_3.forkScopeOverride);
|
|
96
|
-
const scope = tsplus_module_6.getOrElse(() => fiberState.scope)(scopeOverride);
|
|
97
|
-
return f(tsplus_module_4.locally(tsplus_module_3.forkScopeOverride, tsplus_module_2.just(scope), __tsplusTrace));
|
|
98
|
-
}, __tsplusTrace);
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Forks the effect into a new fiber attached to the global scope. Because the
|
|
102
|
-
* new fiber is attached to the global scope, when the fiber executing the
|
|
103
|
-
* returned effect terminates, the forked fiber will continue running.
|
|
104
|
-
*
|
|
105
|
-
* @tsplus getter fncts.io.IO forkDaemon
|
|
106
|
-
*/
|
|
107
|
-
function forkDaemon(ma, __tsplusTrace) {
|
|
108
|
-
return daemonChildren_1(tsplus_module_7.fork(ma, __tsplusTrace), __tsplusTrace);
|
|
109
|
-
}
|
|
110
|
-
//# sourceMappingURL=core-scope.cjs.map
|
|
69
|
+
//# sourceMappingURL=raceWith.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"raceWith.cjs","mappings":";;;;;;;;;;;AAGA;AAAmE;AAAA;MAKnDA,cAAc;AAAA;AAH9B;;;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,IAAIC,4BAAa,CAAC,IAAI,CAAC;MAC7C,MAAMC,SAAS,GAAOC,qCAAwBjB,IAAI,EAAEE,WAAW,EAAEG,kBAAkB,EAAE,IAAI,EAAEN,aAAa,CAAC;MACzG,MAAMmB,UAAU,GAAMD,qCAAwBb,MAAM,EAAEF,WAAW,EAAEG,kBAAkB,EAAE,IAAI,EAAEN,aAAa,CAAC;MAC3GiB,SAAS,CAACG,WAAW,oCAA6BC,qBAAKlB,WAAW,CAACmB,KAAK,CAAC,CAAC;MAC1EH,UAAU,CAACC,WAAW,oCAA6BC,qBAAKlB,WAAW,CAACmB,KAAK,CAAC,CAAC;MAE3E,OAAOpB,sBAAUW,EAAE,IAAI;QACrBI,SAAS,CAACM,WAAW,CAAC,MAAMf,QAAQ,CAACS,SAAS,EAAEE,UAAU,EAAErB,QAAQ,EAAEiB,aAAa,EAAEF,EAAE,CAAC,CAAC;QACzFM,UAAU,CAACI,WAAW,CAAC,MAAMf,QAAQ,CAACW,UAAU,EAAEF,SAAS,EAAElB,SAAS,EAAEgB,aAAa,EAAEF,EAAE,CAAC,CAAC;QAC3FI,SAAS,CAACO,SAAS,CAACvB,IAAI,CAAC;QACzBkB,UAAU,CAACK,SAAS,CAACnB,MAAM,CAAC;MAC9B,CAAC,CAAC;IACJ,CAAC,EA9BHL,cA8BI;EACJ,CAAC;AACH;AAEA;;;;;;AAMM,SAAUyB,QAAQ,CACtB5B,KAA2B,EAC3BC,QAAoE,EACpEC,SAAqE,EACrEC,aAAsB;EAEtB,OAAQC,IAAiB,IAA4C;IACnE,OAAOyB,iBACL7B,KAAK,EACL,CAACY,MAAM,EAAEC,KAAK,KACZR,wBAAsByB,IAAI,IAAI;MAC5B,QAAQA,IAAI,CAACC,IAAI;QACf;UACE,OAAO1B,wBAA0B,MAAMJ,QAAQ,CAAC6B,IAAI,EAAEjB,KAAK,CAAC,EATxEV,eASmBS,MAAM,CAACoB,UAAU,CAAqC;QAC/D;UACE,OAAO/B,QAAQ,CAAC6B,IAAI,EAAEjB,KAAK,CAAC;MAAC;IAEnC,CAAC,EAbPV,eAMMS,MAAM,CAACqB,KAAK,CAOV,EACJ,CAACrB,MAAM,EAAEC,KAAK,KACZR,wBAAsByB,IAAI,IAAI;MAC5B,QAAQA,IAAI,CAACC,IAAI;QACf;UACE,OAAO1B,wBAA0B,MAAMH,SAAS,CAAC4B,IAAI,EAAEjB,KAAK,CAAC,EAlBzEV,eAkBmBS,MAAM,CAACoB,UAAU,CAAsC;QAChE;UACE,OAAO9B,SAAS,CAAC4B,IAAI,EAAEjB,KAAK,CAAC;MAAC;IAEpC,CAAC,EAtBPV,eAeMS,MAAM,CAACqB,KAAK,CAOV,EAtBR9B,eAGSC,IAAI,CAoBV;EACH,CAAC;AACH","names":["raceFibersWith","right","leftWins","rightWins","__tsplusTrace","left","tsplus_module_4","parentState","parentStatus","right0","parentRuntimeFlags","runtimeFlags","complete","winner","loser","cont","ab","cb","compareAndSet","raceIndicator","AtomicBoolean","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]}
|
|
@@ -7,7 +7,7 @@ exports.randomWith = exports.random = void 0;
|
|
|
7
7
|
var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Random/definition"));
|
|
8
8
|
var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Environment/api"));
|
|
9
9
|
var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IOEnv/services"));
|
|
10
|
-
var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/FiberRef/
|
|
10
|
+
var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/FiberRef/operations"));
|
|
11
11
|
var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api"));
|
|
12
12
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13
13
|
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; }
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.supervised = supervised;
|
|
7
7
|
var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/Supervisor/api"));
|
|
8
8
|
var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/FiberRef/unsafe"));
|
|
9
|
-
var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/FiberRef/
|
|
9
|
+
var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/FiberRef/operations"));
|
|
10
10
|
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); }
|
|
11
11
|
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; }
|
|
12
12
|
/**
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.transplant = transplant;
|
|
7
|
+
var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/FiberRef/unsafe"));
|
|
8
|
+
var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/api"));
|
|
9
|
+
var tsplus_module_3 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/constructors"));
|
|
10
|
+
var tsplus_module_4 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/FiberRef/operations"));
|
|
11
|
+
var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api"));
|
|
12
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
13
|
+
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; }
|
|
14
|
+
/**
|
|
15
|
+
* Transplants specified effects so that when those effects fork other
|
|
16
|
+
* effects, the forked effects will be governed by the scope of the
|
|
17
|
+
* fiber that executes this effect.
|
|
18
|
+
*
|
|
19
|
+
* This can be used to "graft" deep grandchildren onto a higher-level
|
|
20
|
+
* scope, effectively extending their lifespans into the parent scope.
|
|
21
|
+
*
|
|
22
|
+
* @tsplus static fncts.io.IOOps transplant
|
|
23
|
+
*/
|
|
24
|
+
function transplant(f, __tsplusTrace) {
|
|
25
|
+
return tsplus_module_5.withFiberRuntime(fiberState => {
|
|
26
|
+
const scopeOverride = fiberState.getFiberRef(tsplus_module_1.forkScopeOverride);
|
|
27
|
+
const scope = tsplus_module_2.getOrElse(() => fiberState.scope)(scopeOverride);
|
|
28
|
+
return f(tsplus_module_4.locally(tsplus_module_1.forkScopeOverride, tsplus_module_3.just(scope), __tsplusTrace));
|
|
29
|
+
}, __tsplusTrace);
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=transplant.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transplant.cjs","mappings":";;;;;;;;;;;;;AAEA;;;;;;;;;;AAUM,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]}
|
|
@@ -16,8 +16,9 @@ var tsplus_module_9 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require
|
|
|
16
16
|
var tsplus_module_10 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Either/destructors"));
|
|
17
17
|
var tsplus_module_11 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Either/constructors"));
|
|
18
18
|
var tsplus_module_12 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/destructors"));
|
|
19
|
-
var tsplus_module_13 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/
|
|
20
|
-
var tsplus_module_14 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/
|
|
19
|
+
var tsplus_module_13 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/forkDaemon"));
|
|
20
|
+
var tsplus_module_14 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/transplant"));
|
|
21
|
+
var tsplus_module_15 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/interrupt"));
|
|
21
22
|
var _function = /*#__PURE__*/require("@fncts/base/data/function");
|
|
22
23
|
var _AtomicReference = /*#__PURE__*/require("@fncts/base/internal/AtomicReference");
|
|
23
24
|
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); }
|
|
@@ -39,12 +40,10 @@ function zipConcurrent_1(that, __tsplusTrace) {
|
|
|
39
40
|
*/
|
|
40
41
|
function zipWithConcurrent_1(that, f, __tsplusTrace) {
|
|
41
42
|
return self => {
|
|
42
|
-
return tsplus_module_4.flatMap(fiberId =>
|
|
43
|
-
restore
|
|
44
|
-
}) => {
|
|
43
|
+
return tsplus_module_4.flatMap(fiberId => tsplus_module_15.uninterruptibleMask(restore => {
|
|
45
44
|
const future = tsplus_module_2.unsafeMake(tsplus_module_1.none);
|
|
46
45
|
const ref = new _AtomicReference.AtomicReference(tsplus_module_3.nothing());
|
|
47
|
-
return
|
|
46
|
+
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);
|
|
48
47
|
}), __tsplusTrace)(tsplus_module_4.fiberId);
|
|
49
48
|
};
|
|
50
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zipConcurrent.cjs","mappings":"
|
|
1
|
+
{"version":3,"file":"zipConcurrent.cjs","mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AAAuE;AAAA;MAKvDA,aAAa;AAAA;MASbC,iBAAiB;AAAA;AAZjC;;;AAGA,yBAAyCC,IAAmB,EAAEC,aAAsB;EAClF,OAAiBC,IAAiB,IAAyC;IACzE,OAAOC,oBAAuBH,IAAI,EAAEI,eAAK,EAFiBH,eAEnDC,IAAI,CAA+B;EAC5C,CAAC;AACH;AAEA;;;AAGA,6BAAmDF,IAAmB,EAAEK,CAAoB,EAAEJ,aAAsB;EAClH,OAAcC,IAAiB,IAA2B;IACxD,OAAOI,wBAAoBC,OAAO,IAChCC,qCAAwBC,OAAO,IAAI;MACjC,MAAMC,MAAM,GAAGC,gDAAwC;MACvD,MAAMC,GAAG,GAAM,IAAIC,gCAAe,CAAsBC,yBAAS,CAAC;MAClE,OAAOC,4BAAeC,KAAK,IACzBV,wBA8BW,CAAC,CAACW,IAAI,EAAEC,KAAK,CAAC,KACrBZ,6BACGa,KAAK,IACJb,wBAGW,CAAC,CAACW,IAAI,EAAEC,KAAK,CAAC,KACrBE,oDAAiD,MAAMd,2DAAgBa,KAAK,GA5CJlB,cA4CmB,EAA3FmB,8BAAmBF,KAAK,EAAxBD,IAAI,CAAqB,CAAmE,EA5CpBhB,eAwC5EoB,gBAEiBC,iCAAK,EAAaf,OAAO,CAAC,EA1CiCN,eAwC5EqB,gCAAI,EACWf,OAAO,CAAC,CACqB,CAGzC,EACJgB,CAAC,IAAKjB,yBAA2CiB,CAAC,EA9C2BtB,eA8CvEK,gDAAqBY,KAAK,EA9C6CjB,2DA8CvEgB,IAAI,EA9CmEhB,eA8ChC,CAAM,EA9C0BA,eAsChFQ,OAAO,sBAACC,MAAM,EAtCkET,8BAsC3D,CASpB,EA/C+EA,eAOpFK,gDAeIU,KAAK,CACHV,6BACGa,KAAK,IAAIb,yBAA0BA,6BAAgBa,KAAK,EAxBmBlB,cAwBlB,EAxBkBA,eAwBjEuB,qBAAYC,SAAS,EAxB4CxB,eAwBjES,MAAM,CAAgB,CAAyB,EACzDgB,CAAC,IACAC,uBACE,MAAKrB,oBAAQ,EACZsB,KAAK,IACJC,uBACGC,CAAC,IAAIxB,uBAACkB,yBAAenB,CAAC,CAACyB,CAAC,EAAEJ,CAAC,CAAC,EA9BuCzB,eA8B7DS,MAAM,CAAiB,EA9BsCT,cA8B/B,EACrC,MAAKK,oBAAQ,EAFfsB,KAAK,CAGJ,EANLhB,GAAG,CAACmB,SAAS,CAACjB,qBAAKkB,uBAAaN,CAAC,CAAC,CAAC,CAAC,CAOnC,EAjCyEzB,eAuB9EQ,OAAO,CAACT,IAAI,EAvBkEC,cAuBjE,CAWZ,CACF,EAnC+EA,2DAOpFe,KAAK,CACHV,6BACGa,KAAK,IAAIb,yBAA0BA,6BAAgBa,KAAK,EATuBlB,cAStB,EATsBA,eASrEuB,qBAAYC,SAAS,EATgDxB,eASrES,MAAM,CAAgB,CAAyB,EACzDoB,CAAC,IACAH,uBACE,MAAKrB,oBAAQ,EACZsB,KAAK,IACJC,uBACE,MAAKvB,oBAAQ,EACZoB,CAAC,IAAIpB,uBAACkB,yBAAenB,CAAC,CAACyB,CAAC,EAAEJ,CAAC,CAAC,EAhB2CzB,eAgBjES,MAAM,CAAiB,EAhB0CT,cAgBnC,EAFvC2B,KAAK,CAGJ,EANLhB,GAAG,CAACmB,SAAS,CAACjB,qBAAKkB,sBAAYF,CAAC,CAAC,CAAC,CAAC,CAOlC,EAlB6E7B,eAQlFQ,OAAO,CAACP,IAAI,EARsED,cAQrE,CAWZ,CACF,EApBmFA,eAoCjF,CAYA,EAhDiFA,cAiDrF;IACH,CAAC,CAAC,EAlDsFA,uCAmDzF;EACH,CAAC;AACH","names":["zipConcurrent","zipWithConcurrent","that","__tsplusTrace","self","zipWithConcurrent_1","tuple","f","tsplus_module_4","fiberId","tsplus_module_15","restore","future","tsplus_module_2","ref","AtomicReference","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/_cjs/IO.cjs
CHANGED
|
@@ -190,14 +190,14 @@ Object.keys(_consoleWith).forEach(function (key) {
|
|
|
190
190
|
}
|
|
191
191
|
});
|
|
192
192
|
});
|
|
193
|
-
var
|
|
194
|
-
Object.keys(
|
|
193
|
+
var _daemonChildren = /*#__PURE__*/require("./IO/api/daemonChildren.cjs");
|
|
194
|
+
Object.keys(_daemonChildren).forEach(function (key) {
|
|
195
195
|
if (key === "default" || key === "__esModule") return;
|
|
196
|
-
if (key in exports && exports[key] ===
|
|
196
|
+
if (key in exports && exports[key] === _daemonChildren[key]) return;
|
|
197
197
|
Object.defineProperty(exports, key, {
|
|
198
198
|
enumerable: true,
|
|
199
199
|
get: function () {
|
|
200
|
-
return
|
|
200
|
+
return _daemonChildren[key];
|
|
201
201
|
}
|
|
202
202
|
});
|
|
203
203
|
});
|
|
@@ -223,6 +223,17 @@ Object.keys(_descriptor).forEach(function (key) {
|
|
|
223
223
|
}
|
|
224
224
|
});
|
|
225
225
|
});
|
|
226
|
+
var _disconnect = /*#__PURE__*/require("./IO/api/disconnect.cjs");
|
|
227
|
+
Object.keys(_disconnect).forEach(function (key) {
|
|
228
|
+
if (key === "default" || key === "__esModule") return;
|
|
229
|
+
if (key in exports && exports[key] === _disconnect[key]) return;
|
|
230
|
+
Object.defineProperty(exports, key, {
|
|
231
|
+
enumerable: true,
|
|
232
|
+
get: function () {
|
|
233
|
+
return _disconnect[key];
|
|
234
|
+
}
|
|
235
|
+
});
|
|
236
|
+
});
|
|
226
237
|
var _ensuringChildren = /*#__PURE__*/require("./IO/api/ensuringChildren.cjs");
|
|
227
238
|
Object.keys(_ensuringChildren).forEach(function (key) {
|
|
228
239
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -289,6 +300,17 @@ Object.keys(_forkAll).forEach(function (key) {
|
|
|
289
300
|
}
|
|
290
301
|
});
|
|
291
302
|
});
|
|
303
|
+
var _forkDaemon = /*#__PURE__*/require("./IO/api/forkDaemon.cjs");
|
|
304
|
+
Object.keys(_forkDaemon).forEach(function (key) {
|
|
305
|
+
if (key === "default" || key === "__esModule") return;
|
|
306
|
+
if (key in exports && exports[key] === _forkDaemon[key]) return;
|
|
307
|
+
Object.defineProperty(exports, key, {
|
|
308
|
+
enumerable: true,
|
|
309
|
+
get: function () {
|
|
310
|
+
return _forkDaemon[key];
|
|
311
|
+
}
|
|
312
|
+
});
|
|
313
|
+
});
|
|
292
314
|
var _forkIn = /*#__PURE__*/require("./IO/api/forkIn.cjs");
|
|
293
315
|
Object.keys(_forkIn).forEach(function (key) {
|
|
294
316
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -410,6 +432,17 @@ Object.keys(_raceFirst).forEach(function (key) {
|
|
|
410
432
|
}
|
|
411
433
|
});
|
|
412
434
|
});
|
|
435
|
+
var _raceWith = /*#__PURE__*/require("./IO/api/raceWith.cjs");
|
|
436
|
+
Object.keys(_raceWith).forEach(function (key) {
|
|
437
|
+
if (key === "default" || key === "__esModule") return;
|
|
438
|
+
if (key in exports && exports[key] === _raceWith[key]) return;
|
|
439
|
+
Object.defineProperty(exports, key, {
|
|
440
|
+
enumerable: true,
|
|
441
|
+
get: function () {
|
|
442
|
+
return _raceWith[key];
|
|
443
|
+
}
|
|
444
|
+
});
|
|
445
|
+
});
|
|
413
446
|
var _randomWith = /*#__PURE__*/require("./IO/api/randomWith.cjs");
|
|
414
447
|
Object.keys(_randomWith).forEach(function (key) {
|
|
415
448
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -542,6 +575,17 @@ Object.keys(_timeout).forEach(function (key) {
|
|
|
542
575
|
}
|
|
543
576
|
});
|
|
544
577
|
});
|
|
578
|
+
var _transplant = /*#__PURE__*/require("./IO/api/transplant.cjs");
|
|
579
|
+
Object.keys(_transplant).forEach(function (key) {
|
|
580
|
+
if (key === "default" || key === "__esModule") return;
|
|
581
|
+
if (key in exports && exports[key] === _transplant[key]) return;
|
|
582
|
+
Object.defineProperty(exports, key, {
|
|
583
|
+
enumerable: true,
|
|
584
|
+
get: function () {
|
|
585
|
+
return _transplant[key];
|
|
586
|
+
}
|
|
587
|
+
});
|
|
588
|
+
});
|
|
545
589
|
var _withChildren = /*#__PURE__*/require("./IO/api/withChildren.cjs");
|
|
546
590
|
Object.keys(_withChildren).forEach(function (key) {
|
|
547
591
|
if (key === "default" || key === "__esModule") return;
|