@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.
Files changed (211) hide show
  1. package/FiberRef/api.d.ts +0 -63
  2. package/FiberRef/operations.d.ts +64 -0
  3. package/FiberRef.d.ts +1 -0
  4. package/FiberRefs/api.d.ts +6 -1
  5. package/FiberRefs.d.ts +0 -1
  6. package/IO/api/daemonChildren.d.ts +6 -0
  7. package/IO/api/disconnect.d.ts +17 -0
  8. package/IO/api/fork.d.ts +4 -0
  9. package/IO/api/forkDaemon.d.ts +10 -0
  10. package/IO/api/interrupt.d.ts +1 -20
  11. package/IO/api/race.d.ts +7 -1
  12. package/IO/api/raceWith.d.ts +17 -0
  13. package/IO/api/transplant.d.ts +13 -0
  14. package/IO.d.ts +5 -1
  15. package/RefSubject/Atomic.d.ts +1 -1
  16. package/_cjs/Cached/api.cjs +1 -1
  17. package/_cjs/Channel/api/mergeAllWith.cjs +1 -1
  18. package/_cjs/Channel/api/mergeWith.cjs +17 -16
  19. package/_cjs/Channel/api/mergeWith.cjs.map +1 -1
  20. package/_cjs/Channel/api.cjs +1 -3
  21. package/_cjs/Channel/api.cjs.map +1 -1
  22. package/_cjs/Fiber/FiberRuntime.cjs +16 -17
  23. package/_cjs/Fiber/FiberRuntime.cjs.map +1 -1
  24. package/_cjs/FiberRef/api/locallyScoped.cjs +1 -1
  25. package/_cjs/FiberRef/api/locallyScopedWith.cjs +1 -1
  26. package/_cjs/FiberRef/api.cjs +0 -124
  27. package/_cjs/FiberRef/api.cjs.map +1 -1
  28. package/_cjs/FiberRef/constructors.cjs +1 -1
  29. package/_cjs/FiberRef/operations.cjs +130 -0
  30. package/_cjs/FiberRef/operations.cjs.map +1 -0
  31. package/_cjs/FiberRef.cjs +11 -0
  32. package/_cjs/FiberRef.cjs.map +1 -1
  33. package/_cjs/FiberRefs/api.cjs +90 -0
  34. package/_cjs/FiberRefs/api.cjs.map +1 -1
  35. package/_cjs/FiberRefs.cjs +0 -11
  36. package/_cjs/FiberRefs.cjs.map +1 -1
  37. package/_cjs/Future/api.cjs +1 -3
  38. package/_cjs/Future/api.cjs.map +1 -1
  39. package/_cjs/IO/api/asyncIO.cjs +1 -3
  40. package/_cjs/IO/api/asyncIO.cjs.map +1 -1
  41. package/_cjs/IO/api/bracketExit.cjs +1 -3
  42. package/_cjs/IO/api/bracketExit.cjs.map +1 -1
  43. package/_cjs/IO/api/clockWith.cjs +1 -1
  44. package/_cjs/IO/api/concurrency.cjs +1 -1
  45. package/_cjs/IO/api/consoleWith.cjs +1 -1
  46. package/_cjs/IO/api/daemonChildren.cjs +19 -0
  47. package/_cjs/IO/api/daemonChildren.cjs.map +1 -0
  48. package/_cjs/IO/api/disconnect.cjs +31 -0
  49. package/_cjs/IO/api/disconnect.cjs.map +1 -0
  50. package/_cjs/IO/api/environment.cjs +1 -1
  51. package/_cjs/IO/api/foreachConcurrent.cjs +19 -20
  52. package/_cjs/IO/api/foreachConcurrent.cjs.map +1 -1
  53. package/_cjs/IO/api/fork.cjs +8 -3
  54. package/_cjs/IO/api/fork.cjs.map +1 -1
  55. package/_cjs/IO/api/forkDaemon.cjs +21 -0
  56. package/_cjs/IO/api/forkDaemon.cjs.map +1 -0
  57. package/_cjs/IO/api/forkIn.cjs +2 -4
  58. package/_cjs/IO/api/forkIn.cjs.map +1 -1
  59. package/_cjs/IO/api/forkScoped.cjs +2 -4
  60. package/_cjs/IO/api/forkScoped.cjs.map +1 -1
  61. package/_cjs/IO/api/fulfill.cjs +1 -3
  62. package/_cjs/IO/api/fulfill.cjs.map +1 -1
  63. package/_cjs/IO/api/interrupt.cjs +8 -59
  64. package/_cjs/IO/api/interrupt.cjs.map +1 -1
  65. package/_cjs/IO/api/race.cjs +24 -12
  66. package/_cjs/IO/api/race.cjs.map +1 -1
  67. package/_cjs/IO/api/{core-scope.cjs → raceWith.cjs} +15 -56
  68. package/_cjs/IO/api/raceWith.cjs.map +1 -0
  69. package/_cjs/IO/api/randomWith.cjs +1 -1
  70. package/_cjs/IO/api/supervised.cjs +1 -1
  71. package/_cjs/IO/api/transplant.cjs +31 -0
  72. package/_cjs/IO/api/transplant.cjs.map +1 -0
  73. package/_cjs/IO/api/zipConcurrent.cjs +5 -6
  74. package/_cjs/IO/api/zipConcurrent.cjs.map +1 -1
  75. package/_cjs/IO.cjs +48 -4
  76. package/_cjs/IO.cjs.map +1 -1
  77. package/_cjs/Layer/MemoMap.cjs +1 -3
  78. package/_cjs/Layer/MemoMap.cjs.map +1 -1
  79. package/_cjs/RefSubject/Atomic.cjs +2 -2
  80. package/_cjs/RefSubject/Atomic.cjs.map +1 -1
  81. package/_cjs/Reloadable/constructors.cjs +1 -1
  82. package/_cjs/Reloadable/definition.cjs +1 -1
  83. package/_cjs/STM/api/atomically.cjs +2 -4
  84. package/_cjs/STM/api/atomically.cjs.map +1 -1
  85. package/_cjs/ScopedRef/api.cjs +2 -6
  86. package/_cjs/ScopedRef/api.cjs.map +1 -1
  87. package/_cjs/State/api.cjs +1 -1
  88. package/_cjs/Stream/api.cjs +137 -135
  89. package/_cjs/Stream/api.cjs.map +1 -1
  90. package/_cjs/TReentrantLock/api.cjs +2 -6
  91. package/_cjs/TReentrantLock/api.cjs.map +1 -1
  92. package/_cjs/TSemaphore/api.cjs +1 -3
  93. package/_cjs/TSemaphore/api.cjs.map +1 -1
  94. package/_mjs/Cached/api.mjs +1 -1
  95. package/_mjs/Channel/api/mergeAllWith.mjs +1 -1
  96. package/_mjs/Channel/api/mergeWith.mjs +17 -16
  97. package/_mjs/Channel/api/mergeWith.mjs.map +1 -1
  98. package/_mjs/Channel/api.mjs +1 -3
  99. package/_mjs/Channel/api.mjs.map +1 -1
  100. package/_mjs/Fiber/FiberRuntime.mjs +16 -17
  101. package/_mjs/Fiber/FiberRuntime.mjs.map +1 -1
  102. package/_mjs/FiberRef/api/locallyScoped.mjs +1 -1
  103. package/_mjs/FiberRef/api/locallyScopedWith.mjs +1 -1
  104. package/_mjs/FiberRef/api.mjs +0 -107
  105. package/_mjs/FiberRef/api.mjs.map +1 -1
  106. package/_mjs/FiberRef/constructors.mjs +1 -1
  107. package/_mjs/FiberRef/operations.mjs +109 -0
  108. package/_mjs/FiberRef/operations.mjs.map +1 -0
  109. package/_mjs/FiberRef.mjs +1 -0
  110. package/_mjs/FiberRef.mjs.map +1 -1
  111. package/_mjs/FiberRefs/api.mjs +89 -0
  112. package/_mjs/FiberRefs/api.mjs.map +1 -1
  113. package/_mjs/FiberRefs.mjs +0 -1
  114. package/_mjs/FiberRefs.mjs.map +1 -1
  115. package/_mjs/Future/api.mjs +1 -3
  116. package/_mjs/Future/api.mjs.map +1 -1
  117. package/_mjs/IO/api/asyncIO.mjs +1 -3
  118. package/_mjs/IO/api/asyncIO.mjs.map +1 -1
  119. package/_mjs/IO/api/bracketExit.mjs +1 -3
  120. package/_mjs/IO/api/bracketExit.mjs.map +1 -1
  121. package/_mjs/IO/api/clockWith.mjs +1 -1
  122. package/_mjs/IO/api/concurrency.mjs +1 -1
  123. package/_mjs/IO/api/consoleWith.mjs +1 -1
  124. package/_mjs/IO/api/daemonChildren.mjs +11 -0
  125. package/_mjs/IO/api/daemonChildren.mjs.map +1 -0
  126. package/_mjs/IO/api/disconnect.mjs +23 -0
  127. package/_mjs/IO/api/disconnect.mjs.map +1 -0
  128. package/_mjs/IO/api/environment.mjs +1 -1
  129. package/_mjs/IO/api/foreachConcurrent.mjs +19 -20
  130. package/_mjs/IO/api/foreachConcurrent.mjs.map +1 -1
  131. package/_mjs/IO/api/fork.mjs +6 -2
  132. package/_mjs/IO/api/fork.mjs.map +1 -1
  133. package/_mjs/IO/api/forkDaemon.mjs +13 -0
  134. package/_mjs/IO/api/forkDaemon.mjs.map +1 -0
  135. package/_mjs/IO/api/forkIn.mjs +2 -4
  136. package/_mjs/IO/api/forkIn.mjs.map +1 -1
  137. package/_mjs/IO/api/forkScoped.mjs +2 -4
  138. package/_mjs/IO/api/forkScoped.mjs.map +1 -1
  139. package/_mjs/IO/api/fulfill.mjs +1 -3
  140. package/_mjs/IO/api/fulfill.mjs.map +1 -1
  141. package/_mjs/IO/api/interrupt.mjs +6 -55
  142. package/_mjs/IO/api/interrupt.mjs.map +1 -1
  143. package/_mjs/IO/api/race.mjs +22 -12
  144. package/_mjs/IO/api/race.mjs.map +1 -1
  145. package/_mjs/IO/api/raceWith.mjs +59 -0
  146. package/_mjs/IO/api/raceWith.mjs.map +1 -0
  147. package/_mjs/IO/api/randomWith.mjs +1 -1
  148. package/_mjs/IO/api/supervised.mjs +1 -1
  149. package/_mjs/IO/api/transplant.mjs +23 -0
  150. package/_mjs/IO/api/transplant.mjs.map +1 -0
  151. package/_mjs/IO/api/zipConcurrent.mjs +5 -6
  152. package/_mjs/IO/api/zipConcurrent.mjs.map +1 -1
  153. package/_mjs/IO.mjs +5 -1
  154. package/_mjs/IO.mjs.map +1 -1
  155. package/_mjs/Layer/MemoMap.mjs +1 -3
  156. package/_mjs/Layer/MemoMap.mjs.map +1 -1
  157. package/_mjs/RefSubject/Atomic.mjs +1 -1
  158. package/_mjs/RefSubject/Atomic.mjs.map +1 -1
  159. package/_mjs/Reloadable/constructors.mjs +1 -1
  160. package/_mjs/Reloadable/definition.mjs +1 -1
  161. package/_mjs/STM/api/atomically.mjs +2 -4
  162. package/_mjs/STM/api/atomically.mjs.map +1 -1
  163. package/_mjs/ScopedRef/api.mjs +2 -6
  164. package/_mjs/ScopedRef/api.mjs.map +1 -1
  165. package/_mjs/State/api.mjs +1 -1
  166. package/_mjs/Stream/api.mjs +137 -135
  167. package/_mjs/Stream/api.mjs.map +1 -1
  168. package/_mjs/TReentrantLock/api.mjs +2 -6
  169. package/_mjs/TReentrantLock/api.mjs.map +1 -1
  170. package/_mjs/TSemaphore/api.mjs +1 -3
  171. package/_mjs/TSemaphore/api.mjs.map +1 -1
  172. package/_src/Channel/api.ts +1 -1
  173. package/_src/FiberRef/api.ts +0 -114
  174. package/_src/FiberRef/operations.ts +115 -0
  175. package/_src/FiberRef.ts +1 -0
  176. package/_src/FiberRefs/api.ts +72 -0
  177. package/_src/FiberRefs.ts +0 -1
  178. package/_src/Future/api.ts +1 -1
  179. package/_src/IO/api/asyncIO.ts +1 -1
  180. package/_src/IO/api/bracketExit.ts +1 -1
  181. package/_src/IO/api/daemonChildren.ts +6 -0
  182. package/_src/IO/api/disconnect.ts +25 -0
  183. package/_src/IO/api/foreachConcurrent.ts +1 -1
  184. package/_src/IO/api/fork.ts +3 -0
  185. package/_src/IO/api/forkDaemon.ts +12 -0
  186. package/_src/IO/api/forkIn.ts +1 -1
  187. package/_src/IO/api/forkScoped.ts +1 -3
  188. package/_src/IO/api/fulfill.ts +1 -1
  189. package/_src/IO/api/interrupt.ts +5 -56
  190. package/_src/IO/api/race.ts +18 -8
  191. package/_src/IO/api/{core-scope.ts → raceWith.ts} +2 -44
  192. package/_src/IO/api/transplant.ts +19 -0
  193. package/_src/IO/api/zipConcurrent.ts +1 -1
  194. package/_src/IO.ts +5 -1
  195. package/_src/Layer/MemoMap.ts +1 -1
  196. package/_src/RefSubject/Atomic.ts +1 -1
  197. package/_src/STM/api/atomically.ts +1 -1
  198. package/_src/ScopedRef/api.ts +2 -2
  199. package/_src/TReentrantLock/api.ts +2 -2
  200. package/_src/TSemaphore/api.ts +1 -1
  201. package/package.json +1 -1
  202. package/FiberRefs/join.d.ts +0 -9
  203. package/IO/api/core-scope.d.ts +0 -43
  204. package/_cjs/FiberRefs/join.cjs +0 -104
  205. package/_cjs/FiberRefs/join.cjs.map +0 -1
  206. package/_cjs/IO/api/core-scope.cjs.map +0 -1
  207. package/_mjs/FiberRefs/join.mjs +0 -96
  208. package/_mjs/FiberRefs/join.mjs.map +0 -1
  209. package/_mjs/IO/api/core-scope.mjs +0 -97
  210. package/_mjs/IO/api/core-scope.mjs.map +0 -1
  211. 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
- restore: (io, __tsplusTrace) => interruptible_1(io, fileName_1 + ":11:37"),
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 + ":35:69")(tsplus_module_2.fiberId);
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 onInterrupt_1(cleanup, __tsplusTrace) {
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":"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","names":["interruptAs","interruptible","uninterruptible","uninterruptibleMask","onInterrupt","onExit","disconnect","Dynamic","Interruptible","Uninterruptible","RestoreInterruptible","restore","io","__tsplusTrace","interruptible_1","force","RestoreUninterruptible","uninterruptible_1","fiberId","tsplus_module_2","tsplus_module_1","interrupt","self","f","tsplus_module_3","oldFlags","tsplus_module_4","ensuring","finalizer","uninterruptibleMask_1","cause1","cause2","a","interruptibleMask","k","flag","isInterruptible","cleanup","ma","onExit_1","exit","tsplus_module_5","cause","onInterruptWith","failure1","result","tsplus_module_6","failure2","success","fiber","onInterrupt_1","interruptAsFork"],"sourceRoot":"","sources":["../../../_src/IO/api/interrupt.ts"],"sourcesContent":[null]}
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]}
@@ -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/interrupt";
3
- import * as tsplus_module_2 from "@fncts/base/data/Cause/api";
4
- import * as tsplus_module_3 from "@fncts/io/Fiber/api/join";
5
- import * as tsplus_module_4 from "@fncts/io/IO/api";
6
- import * as tsplus_module_5 from "@fncts/io/Fiber/api/interruptAs";
7
- import * as tsplus_module_6 from "@fncts/base/data/Exit/api";
8
- import * as tsplus_module_7 from "@fncts/io/IO/api/core-scope";
9
- function maybeDisconnect(io, __tsplusTrace) {
10
- return tsplus_module_1.uninterruptibleMask(restore => restore.force(io, __tsplusTrace));
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 io => {
25
- return tsplus_module_4.flatMap(id => tsplus_module_7.raceWith(() => maybeDisconnect(that, fileName_1 + ":20:24"), (exit, right) => tsplus_module_6.match(cause => tsplus_module_4.mapErrorCause(c => tsplus_module_2.both(cause, c), fileName_1 + ":23:48")(tsplus_module_3.join(right, fileName_1 + ":23:29")), a => tsplus_module_4.as(() => a, fileName_1 + ":24:44")(tsplus_module_5.interruptAs(right, id)))(exit), (exit, left) => tsplus_module_6.match(cause => tsplus_module_4.mapErrorCause(c => tsplus_module_2.both(cause, c), fileName_1 + ":28:47")(tsplus_module_3.join(left, fileName_1 + ":28:28")), a1 => tsplus_module_4.as(() => a1, fileName_1 + ":29:44")(tsplus_module_5.interruptAs(left, id)))(exit), fileName_1 + ":19:35")(maybeDisconnect(io, fileName_1 + ":19:22")), fileName_1 + ":18:30")(tsplus_module_4.fiberId);
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
@@ -1 +1 @@
1
- {"version":3,"file":"race.mjs","mappings":";;;;;;;;AAAA,SAASA,eAAe,CAAUC,EAAe,EAAEC,aAAsB;EACvE,OAAOC,oCAAwBC,OAAO,IAAKA,OAAO,CAACC,KAAK,CAACJ,EAAE,EADVC,cACW,CAAC;AAC/D;AAEA;;;;;;;;;;;AAWA,OAAM,SAAUI,IAAI,CAAaC,IAAoB;EACnD,OAAiBN,EAAe,IAAgC;IAC9D,OAAOO,wBAAoBC,EAAE,IAC3BC,+BACEV,eAAe,CAACO,IAAI,wBAAC,EACrB,CAACI,IAAI,EAAEC,KAAK,KACVC,sBACGC,KAAK,IAAKN,8BAA0BO,CAAC,IAAKC,qBAAWF,KAAK,EAAEC,CAAC,CAAC,8CAApDH,KAAK,yBAAgD,EAC/DK,CAAC,IAAKT,yBAAyBS,CAAC,yBAA1BC,iCAAK,EAAaT,EAAE,CAAC,CAAM,EAFpCE,IAAI,CAGH,EACH,CAACA,IAAI,EAAEQ,IAAI,KACTN,sBACGC,KAAK,IAAKN,8BAAyBO,CAAC,IAAKC,qBAAWF,KAAK,EAAEC,CAAC,CAAC,8CAAnDI,IAAI,yBAAgD,EAC9DC,EAAE,IAAKZ,yBAAwBY,EAAE,yBAA1BF,gCAAI,EAAaT,EAAE,CAAC,CAAO,EAFrCE,IAAI,CAGH,yBAXLX,eAAe,CAACC,EAAE,wBAAC,CAYlB,iDACF;EACH,CAAC;AACH","names":["maybeDisconnect","io","__tsplusTrace","tsplus_module_1","restore","force","race","that","tsplus_module_4","id","tsplus_module_7","exit","right","tsplus_module_6","cause","c","tsplus_module_2","a","tsplus_module_5","left","a1"],"sourceRoot":"","sources":["../../../_src/IO/api/race.ts"],"sourcesContent":[null]}
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/api";
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/api";
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/core-scope";
14
- import * as tsplus_module_14 from "@fncts/io/IO/api/interrupt";
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 => tsplus_module_14.uninterruptibleMask(({
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 tsplus_module_13.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);
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":";;;;;;;;;;;;;;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,qCAAuB,CAAC;MAAEC;IAAO,CAAE,KAAI;MACrC,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_14","restore","future","tsplus_module_2","ref","tsplus_module_3","tsplus_module_13","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]}
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/core-scope.mjs";
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,yBAAwB;AACtC,cAAc,oBAAmB;AACjC,cAAc,yBAAwB;AACtC,cAAc,+BAA8B;AAC5C,cAAc,0BAAyB;AACvC,cAAc,gCAA+B;AAC7C,cAAc,0BAAyB;AACvC,cAAc,mBAAkB;AAChC,cAAc,sBAAqB;AACnC,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,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,2BAA0B;AACxC,cAAc,+BAA8B;AAC5C,cAAc,4BAA2B;AACzC,cAAc,gCAA+B;AAC7C,cAAc,4BAA2B","names":[],"sourceRoot":"","sources":["../_src/IO.ts"],"sourcesContent":[null]}
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]}
@@ -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":"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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]}
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":"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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
+ {"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/core-scope";
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/core-scope";
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/api";
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,oCAAuB,CAAC;YAAEC;UAAO,CAAE,KACxCX,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]}
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]}
@@ -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,oCAAuB,CAAC;IAAEC;EAAO,CAAE,KAAIC,wBAEpCC,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,oCAAuB,CAAC;MAAEC;IAAO,CAAE,KAAIC,wBAE7BC,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]}
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]}
@@ -1,4 +1,4 @@
1
- import * as tsplus_module_1 from "@fncts/io/FiberRef/api";
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";