@fncts/io 0.0.22 → 0.0.23

Sign up to get free protection for your applications and to get access to all the features.
Files changed (482) hide show
  1. package/Cached/definition.d.ts +6 -4
  2. package/Cached/internal.d.ts +4 -4
  3. package/Channel/api.d.ts +4 -4
  4. package/Channel/definition.d.ts +35 -14
  5. package/Channel/internal/ChannelExecutor.d.ts +1 -0
  6. package/Channel/internal/MergeDecision.d.ts +10 -6
  7. package/CountdownLatch.d.ts +1 -1
  8. package/Differ/definition.d.ts +2 -4
  9. package/Fiber/FiberRuntime.d.ts +9 -11
  10. package/Fiber/definition.d.ts +12 -6
  11. package/FiberRef/definition.d.ts +6 -2
  12. package/FiberRefs/api.d.ts +1 -1
  13. package/FiberRefs/definition.d.ts +1 -1
  14. package/Hub/definition.d.ts +29 -15
  15. package/IO/api/interrupt.d.ts +19 -19
  16. package/IO/api/onTermination.d.ts +0 -1
  17. package/IO/api/sequenceT.d.ts +19 -3
  18. package/IO/api.d.ts +17 -1
  19. package/IO/definition.d.ts +40 -26
  20. package/IO.d.ts +0 -1
  21. package/Layer/definition.d.ts +17 -13
  22. package/Logger/definition.d.ts +10 -6
  23. package/MVar/api.d.ts +101 -0
  24. package/MVar/definition.d.ts +43 -0
  25. package/MVar.d.ts +2 -0
  26. package/Push/api.d.ts +7 -4
  27. package/Push/definition.d.ts +10 -3
  28. package/Push/internal.d.ts +1 -1
  29. package/Queue/api/dimapIO.d.ts +17 -13
  30. package/Queue/definition.d.ts +26 -18
  31. package/Ref/Derived.d.ts +3 -1
  32. package/Ref/Synchronized/constructors.d.ts +6 -1
  33. package/Ref/Synchronized/definition.d.ts +4 -2
  34. package/Ref/definition.d.ts +36 -25
  35. package/Ref.d.ts +0 -1
  36. package/RefSubject/definition.d.ts +17 -11
  37. package/Reloadable/definition.d.ts +5 -1
  38. package/STM/api/atomically.d.ts +9 -0
  39. package/STM/api.d.ts +12 -6
  40. package/STM/definition.d.ts +28 -15
  41. package/STM/internal/Entry.d.ts +2 -2
  42. package/STM/internal/TryCommit.d.ts +2 -2
  43. package/STM/internal/Versioned.d.ts +1 -1
  44. package/STM.d.ts +1 -0
  45. package/Schedule/definition.d.ts +7 -3
  46. package/Scope/definition.d.ts +1 -1
  47. package/ScopedRef/definition.d.ts +1 -1
  48. package/State/api.d.ts +1 -1
  49. package/State/definition.d.ts +5 -2
  50. package/State/internal.d.ts +6 -2
  51. package/Stream/definition.d.ts +26 -5
  52. package/Stream/internal/Handoff.d.ts +21 -15
  53. package/Stream/internal/SinkEndReason.d.ts +2 -2
  54. package/Subject/Atomic.d.ts +8 -4
  55. package/SupervisorPatch.d.ts +1 -1
  56. package/TExit/definition.d.ts +5 -5
  57. package/TRef/definition.d.ts +16 -14
  58. package/TRef.d.ts +0 -1
  59. package/_cjs/Cached/definition.cjs +4 -2
  60. package/_cjs/Cached/definition.cjs.map +1 -1
  61. package/_cjs/Cached/internal.cjs +7 -6
  62. package/_cjs/Cached/internal.cjs.map +1 -1
  63. package/_cjs/Channel/api/mapOutConcurrentIO.cjs +1 -1
  64. package/_cjs/Channel/api/mergeAllWith.cjs +1 -1
  65. package/_cjs/Channel/api.cjs +20 -20
  66. package/_cjs/Channel/api.cjs.map +1 -1
  67. package/_cjs/Channel/definition.cjs +13 -3
  68. package/_cjs/Channel/definition.cjs.map +1 -1
  69. package/_cjs/Channel/internal/ChannelExecutor.cjs +11 -6
  70. package/_cjs/Channel/internal/ChannelExecutor.cjs.map +1 -1
  71. package/_cjs/Channel/internal/MergeDecision.cjs +7 -3
  72. package/_cjs/Channel/internal/MergeDecision.cjs.map +1 -1
  73. package/_cjs/CountdownLatch.cjs +4 -2
  74. package/_cjs/CountdownLatch.cjs.map +1 -1
  75. package/_cjs/Differ/definition.cjs +3 -1
  76. package/_cjs/Differ/definition.cjs.map +1 -1
  77. package/_cjs/Fiber/FiberRuntime.cjs +96 -89
  78. package/_cjs/Fiber/FiberRuntime.cjs.map +1 -1
  79. package/_cjs/Fiber/definition.cjs +8 -4
  80. package/_cjs/Fiber/definition.cjs.map +1 -1
  81. package/_cjs/FiberRef/definition.cjs +8 -4
  82. package/_cjs/FiberRef/definition.cjs.map +1 -1
  83. package/_cjs/Future/api.cjs +17 -6
  84. package/_cjs/Future/api.cjs.map +1 -1
  85. package/_cjs/Hub/api.cjs +5 -5
  86. package/_cjs/Hub/api.cjs.map +1 -1
  87. package/_cjs/Hub/definition.cjs +9 -7
  88. package/_cjs/Hub/definition.cjs.map +1 -1
  89. package/_cjs/Hub/internal.cjs +6 -6
  90. package/_cjs/Hub/internal.cjs.map +1 -1
  91. package/_cjs/IO/api/asyncIO.cjs +1 -1
  92. package/_cjs/IO/api/asyncIO.cjs.map +1 -1
  93. package/_cjs/IO/api/asyncInterrupt.cjs +2 -2
  94. package/_cjs/IO/api/asyncInterrupt.cjs.map +1 -1
  95. package/_cjs/IO/api/bracketExit.cjs +1 -1
  96. package/_cjs/IO/api/bracketExit.cjs.map +1 -1
  97. package/_cjs/IO/api/foreachConcurrent.cjs +2 -2
  98. package/_cjs/IO/api/foreachConcurrent.cjs.map +1 -1
  99. package/_cjs/IO/api/forkIn.cjs +1 -1
  100. package/_cjs/IO/api/forkIn.cjs.map +1 -1
  101. package/_cjs/IO/api/forkScoped.cjs +1 -1
  102. package/_cjs/IO/api/forkScoped.cjs.map +1 -1
  103. package/_cjs/IO/api/fulfill.cjs +1 -1
  104. package/_cjs/IO/api/fulfill.cjs.map +1 -1
  105. package/_cjs/IO/api/interrupt.cjs +52 -43
  106. package/_cjs/IO/api/interrupt.cjs.map +1 -1
  107. package/_cjs/IO/api/onTermination.cjs +7 -6
  108. package/_cjs/IO/api/onTermination.cjs.map +1 -1
  109. package/_cjs/IO/api/race.cjs +1 -1
  110. package/_cjs/IO/api/race.cjs.map +1 -1
  111. package/_cjs/IO/api/sequenceT.cjs +1 -1
  112. package/_cjs/IO/api/sequenceT.cjs.map +1 -1
  113. package/_cjs/IO/api/zipConcurrent.cjs +1 -1
  114. package/_cjs/IO/api/zipConcurrent.cjs.map +1 -1
  115. package/_cjs/IO/api.cjs +79 -53
  116. package/_cjs/IO/api.cjs.map +1 -1
  117. package/_cjs/IO/definition.cjs +26 -21
  118. package/_cjs/IO/definition.cjs.map +1 -1
  119. package/_cjs/IO.cjs +0 -11
  120. package/_cjs/IO.cjs.map +1 -1
  121. package/_cjs/Layer/MemoMap.cjs +30 -31
  122. package/_cjs/Layer/MemoMap.cjs.map +1 -1
  123. package/_cjs/Layer/api.cjs +1 -1
  124. package/_cjs/Layer/api.cjs.map +1 -1
  125. package/_cjs/Layer/definition.cjs +12 -10
  126. package/_cjs/Layer/definition.cjs.map +1 -1
  127. package/_cjs/Logger/definition.cjs +3 -1
  128. package/_cjs/Logger/definition.cjs.map +1 -1
  129. package/_cjs/MVar/api.cjs +170 -0
  130. package/_cjs/MVar/api.cjs.map +1 -0
  131. package/_cjs/MVar/definition.cjs +28 -0
  132. package/_cjs/MVar/definition.cjs.map +1 -0
  133. package/_cjs/MVar.cjs +28 -0
  134. package/_cjs/MVar.cjs.map +1 -0
  135. package/_cjs/Push/api.cjs +39 -36
  136. package/_cjs/Push/api.cjs.map +1 -1
  137. package/_cjs/Push/definition.cjs +9 -2
  138. package/_cjs/Push/definition.cjs.map +1 -1
  139. package/_cjs/Push/internal.cjs +4 -2
  140. package/_cjs/Push/internal.cjs.map +1 -1
  141. package/_cjs/Queue/api/dimapIO.cjs +10 -10
  142. package/_cjs/Queue/api/dimapIO.cjs.map +1 -1
  143. package/_cjs/Queue/api/filterInputIO.cjs +4 -4
  144. package/_cjs/Queue/api/filterInputIO.cjs.map +1 -1
  145. package/_cjs/Queue/api/filterOutputIO.cjs +7 -7
  146. package/_cjs/Queue/api/filterOutputIO.cjs.map +1 -1
  147. package/_cjs/Queue/definition.cjs +3 -1
  148. package/_cjs/Queue/definition.cjs.map +1 -1
  149. package/_cjs/Queue/internal.cjs +2 -2
  150. package/_cjs/Queue/internal.cjs.map +1 -1
  151. package/_cjs/Queue/strategy.cjs +2 -2
  152. package/_cjs/Queue/strategy.cjs.map +1 -1
  153. package/_cjs/Ref/Derived.cjs +8 -4
  154. package/_cjs/Ref/Derived.cjs.map +1 -1
  155. package/_cjs/Ref/Synchronized/constructors.cjs +16 -7
  156. package/_cjs/Ref/Synchronized/constructors.cjs.map +1 -1
  157. package/_cjs/Ref/Synchronized/definition.cjs +16 -12
  158. package/_cjs/Ref/Synchronized/definition.cjs.map +1 -1
  159. package/_cjs/Ref/definition.cjs +3 -2
  160. package/_cjs/Ref/definition.cjs.map +1 -1
  161. package/_cjs/Ref.cjs +0 -11
  162. package/_cjs/Ref.cjs.map +1 -1
  163. package/_cjs/RefSubject/Synchronized/api.cjs +1 -1
  164. package/_cjs/RefSubject/definition.cjs +9 -5
  165. package/_cjs/RefSubject/definition.cjs.map +1 -1
  166. package/_cjs/Reloadable/definition.cjs +4 -2
  167. package/_cjs/Reloadable/definition.cjs.map +1 -1
  168. package/_cjs/STM/api/atomically.cjs +55 -0
  169. package/_cjs/STM/api/atomically.cjs.map +1 -0
  170. package/_cjs/STM/api.cjs +65 -91
  171. package/_cjs/STM/api.cjs.map +1 -1
  172. package/_cjs/STM/definition.cjs +32 -19
  173. package/_cjs/STM/definition.cjs.map +1 -1
  174. package/_cjs/STM/driver.cjs +3 -3
  175. package/_cjs/STM/driver.cjs.map +1 -1
  176. package/_cjs/STM/internal/Entry.cjs +6 -3
  177. package/_cjs/STM/internal/Entry.cjs.map +1 -1
  178. package/_cjs/STM/internal/TryCommit.cjs +5 -2
  179. package/_cjs/STM/internal/TryCommit.cjs.map +1 -1
  180. package/_cjs/STM/internal/Versioned.cjs +3 -1
  181. package/_cjs/STM/internal/Versioned.cjs.map +1 -1
  182. package/_cjs/STM.cjs +11 -0
  183. package/_cjs/STM.cjs.map +1 -1
  184. package/_cjs/Schedule/definition.cjs +3 -1
  185. package/_cjs/Schedule/definition.cjs.map +1 -1
  186. package/_cjs/Scope/api.cjs +1 -2
  187. package/_cjs/Scope/api.cjs.map +1 -1
  188. package/_cjs/Scope/definition.cjs +5 -3
  189. package/_cjs/Scope/definition.cjs.map +1 -1
  190. package/_cjs/ScopedRef/api.cjs +2 -2
  191. package/_cjs/ScopedRef/api.cjs.map +1 -1
  192. package/_cjs/ScopedRef/definition.cjs +3 -1
  193. package/_cjs/ScopedRef/definition.cjs.map +1 -1
  194. package/_cjs/State/api.cjs +2 -2
  195. package/_cjs/State/api.cjs.map +1 -1
  196. package/_cjs/State/definition.cjs +4 -2
  197. package/_cjs/State/definition.cjs.map +1 -1
  198. package/_cjs/State/internal.cjs +7 -3
  199. package/_cjs/State/internal.cjs.map +1 -1
  200. package/_cjs/Stream/api.cjs +1 -1
  201. package/_cjs/Stream/definition.cjs +4 -2
  202. package/_cjs/Stream/definition.cjs.map +1 -1
  203. package/_cjs/Stream/internal/Handoff.cjs +37 -37
  204. package/_cjs/Stream/internal/Handoff.cjs.map +1 -1
  205. package/_cjs/Stream/internal/SinkEndReason.cjs +6 -3
  206. package/_cjs/Stream/internal/SinkEndReason.cjs.map +1 -1
  207. package/_cjs/Subject/Atomic.cjs +6 -4
  208. package/_cjs/Subject/Atomic.cjs.map +1 -1
  209. package/_cjs/SubscriptionRef.cjs +1 -1
  210. package/_cjs/SupervisorPatch.cjs +3 -1
  211. package/_cjs/SupervisorPatch.cjs.map +1 -1
  212. package/_cjs/TExit/definition.cjs +25 -24
  213. package/_cjs/TExit/definition.cjs.map +1 -1
  214. package/_cjs/TFuture/constructors.cjs +1 -1
  215. package/_cjs/TReentrantLock/api.cjs +10 -9
  216. package/_cjs/TReentrantLock/api.cjs.map +1 -1
  217. package/_cjs/TRef/constructors.cjs +1 -1
  218. package/_cjs/TRef/definition.cjs +21 -21
  219. package/_cjs/TRef/definition.cjs.map +1 -1
  220. package/_cjs/TRef.cjs +0 -11
  221. package/_cjs/TRef.cjs.map +1 -1
  222. package/_cjs/TSemaphore/api.cjs +2 -2
  223. package/_cjs/TSemaphore/api.cjs.map +1 -1
  224. package/_cjs/TSemaphore/constructors.cjs +1 -1
  225. package/_cjs/internal/IsFatal.cjs +3 -1
  226. package/_cjs/internal/IsFatal.cjs.map +1 -1
  227. package/_mjs/Cached/definition.mjs +4 -2
  228. package/_mjs/Cached/definition.mjs.map +1 -1
  229. package/_mjs/Cached/internal.mjs +3 -5
  230. package/_mjs/Cached/internal.mjs.map +1 -1
  231. package/_mjs/Channel/api/mapOutConcurrentIO.mjs +1 -1
  232. package/_mjs/Channel/api/mergeAllWith.mjs +1 -1
  233. package/_mjs/Channel/api.mjs +15 -14
  234. package/_mjs/Channel/api.mjs.map +1 -1
  235. package/_mjs/Channel/definition.mjs +9 -1
  236. package/_mjs/Channel/definition.mjs.map +1 -1
  237. package/_mjs/Channel/internal/ChannelExecutor.mjs +11 -6
  238. package/_mjs/Channel/internal/ChannelExecutor.mjs.map +1 -1
  239. package/_mjs/Channel/internal/MergeDecision.mjs +4 -1
  240. package/_mjs/Channel/internal/MergeDecision.mjs.map +1 -1
  241. package/_mjs/CountdownLatch.mjs +3 -1
  242. package/_mjs/CountdownLatch.mjs.map +1 -1
  243. package/_mjs/Differ/definition.mjs +3 -1
  244. package/_mjs/Differ/definition.mjs.map +1 -1
  245. package/_mjs/Fiber/FiberRuntime.mjs +97 -90
  246. package/_mjs/Fiber/FiberRuntime.mjs.map +1 -1
  247. package/_mjs/Fiber/definition.mjs +5 -2
  248. package/_mjs/Fiber/definition.mjs.map +1 -1
  249. package/_mjs/FiberRef/definition.mjs +6 -3
  250. package/_mjs/FiberRef/definition.mjs.map +1 -1
  251. package/_mjs/Future/api.mjs +17 -6
  252. package/_mjs/Future/api.mjs.map +1 -1
  253. package/_mjs/Hub/api.mjs +6 -6
  254. package/_mjs/Hub/api.mjs.map +1 -1
  255. package/_mjs/Hub/definition.mjs +5 -4
  256. package/_mjs/Hub/definition.mjs.map +1 -1
  257. package/_mjs/Hub/internal.mjs +6 -6
  258. package/_mjs/Hub/internal.mjs.map +1 -1
  259. package/_mjs/IO/api/asyncIO.mjs +1 -1
  260. package/_mjs/IO/api/asyncIO.mjs.map +1 -1
  261. package/_mjs/IO/api/asyncInterrupt.mjs +2 -2
  262. package/_mjs/IO/api/asyncInterrupt.mjs.map +1 -1
  263. package/_mjs/IO/api/bracketExit.mjs +1 -1
  264. package/_mjs/IO/api/bracketExit.mjs.map +1 -1
  265. package/_mjs/IO/api/foreachConcurrent.mjs +2 -2
  266. package/_mjs/IO/api/foreachConcurrent.mjs.map +1 -1
  267. package/_mjs/IO/api/forkIn.mjs +1 -1
  268. package/_mjs/IO/api/forkIn.mjs.map +1 -1
  269. package/_mjs/IO/api/forkScoped.mjs +1 -1
  270. package/_mjs/IO/api/forkScoped.mjs.map +1 -1
  271. package/_mjs/IO/api/fulfill.mjs +1 -1
  272. package/_mjs/IO/api/fulfill.mjs.map +1 -1
  273. package/_mjs/IO/api/interrupt.mjs +46 -38
  274. package/_mjs/IO/api/interrupt.mjs.map +1 -1
  275. package/_mjs/IO/api/onTermination.mjs +7 -6
  276. package/_mjs/IO/api/onTermination.mjs.map +1 -1
  277. package/_mjs/IO/api/race.mjs +1 -1
  278. package/_mjs/IO/api/race.mjs.map +1 -1
  279. package/_mjs/IO/api/sequenceT.mjs +1 -1
  280. package/_mjs/IO/api/sequenceT.mjs.map +1 -1
  281. package/_mjs/IO/api/zipConcurrent.mjs +1 -1
  282. package/_mjs/IO/api/zipConcurrent.mjs.map +1 -1
  283. package/_mjs/IO/api.mjs +73 -50
  284. package/_mjs/IO/api.mjs.map +1 -1
  285. package/_mjs/IO/definition.mjs +23 -19
  286. package/_mjs/IO/definition.mjs.map +1 -1
  287. package/_mjs/IO.mjs +0 -1
  288. package/_mjs/IO.mjs.map +1 -1
  289. package/_mjs/Layer/MemoMap.mjs +28 -29
  290. package/_mjs/Layer/MemoMap.mjs.map +1 -1
  291. package/_mjs/Layer/api.mjs +2 -2
  292. package/_mjs/Layer/api.mjs.map +1 -1
  293. package/_mjs/Layer/definition.mjs +9 -8
  294. package/_mjs/Layer/definition.mjs.map +1 -1
  295. package/_mjs/Logger/definition.mjs +1 -0
  296. package/_mjs/Logger/definition.mjs.map +1 -1
  297. package/_mjs/MVar/api.mjs +150 -0
  298. package/_mjs/MVar/api.mjs.map +1 -0
  299. package/_mjs/MVar/definition.mjs +18 -0
  300. package/_mjs/MVar/definition.mjs.map +1 -0
  301. package/_mjs/MVar.mjs +4 -0
  302. package/_mjs/MVar.mjs.map +1 -0
  303. package/_mjs/Push/api.mjs +39 -36
  304. package/_mjs/Push/api.mjs.map +1 -1
  305. package/_mjs/Push/definition.mjs +5 -0
  306. package/_mjs/Push/definition.mjs.map +1 -1
  307. package/_mjs/Push/internal.mjs +4 -2
  308. package/_mjs/Push/internal.mjs.map +1 -1
  309. package/_mjs/Queue/api/dimapIO.mjs +11 -11
  310. package/_mjs/Queue/api/dimapIO.mjs.map +1 -1
  311. package/_mjs/Queue/api/filterInputIO.mjs +5 -5
  312. package/_mjs/Queue/api/filterInputIO.mjs.map +1 -1
  313. package/_mjs/Queue/api/filterOutputIO.mjs +8 -8
  314. package/_mjs/Queue/api/filterOutputIO.mjs.map +1 -1
  315. package/_mjs/Queue/definition.mjs +1 -0
  316. package/_mjs/Queue/definition.mjs.map +1 -1
  317. package/_mjs/Queue/internal.mjs +2 -2
  318. package/_mjs/Queue/internal.mjs.map +1 -1
  319. package/_mjs/Queue/strategy.mjs +2 -2
  320. package/_mjs/Queue/strategy.mjs.map +1 -1
  321. package/_mjs/Ref/Derived.mjs +6 -3
  322. package/_mjs/Ref/Derived.mjs.map +1 -1
  323. package/_mjs/Ref/Synchronized/constructors.mjs +15 -7
  324. package/_mjs/Ref/Synchronized/constructors.mjs.map +1 -1
  325. package/_mjs/Ref/Synchronized/definition.mjs +13 -10
  326. package/_mjs/Ref/Synchronized/definition.mjs.map +1 -1
  327. package/_mjs/Ref/definition.mjs +1 -1
  328. package/_mjs/Ref/definition.mjs.map +1 -1
  329. package/_mjs/Ref.mjs +0 -1
  330. package/_mjs/Ref.mjs.map +1 -1
  331. package/_mjs/RefSubject/Synchronized/api.mjs +1 -1
  332. package/_mjs/RefSubject/definition.mjs +10 -3
  333. package/_mjs/RefSubject/definition.mjs.map +1 -1
  334. package/_mjs/Reloadable/definition.mjs +2 -1
  335. package/_mjs/Reloadable/definition.mjs.map +1 -1
  336. package/_mjs/STM/api/atomically.mjs +47 -0
  337. package/_mjs/STM/api/atomically.mjs.map +1 -0
  338. package/_mjs/STM/api.mjs +61 -88
  339. package/_mjs/STM/api.mjs.map +1 -1
  340. package/_mjs/STM/definition.mjs +27 -17
  341. package/_mjs/STM/definition.mjs.map +1 -1
  342. package/_mjs/STM/driver.mjs +3 -3
  343. package/_mjs/STM/driver.mjs.map +1 -1
  344. package/_mjs/STM/internal/Entry.mjs +5 -2
  345. package/_mjs/STM/internal/Entry.mjs.map +1 -1
  346. package/_mjs/STM/internal/TryCommit.mjs +6 -2
  347. package/_mjs/STM/internal/TryCommit.mjs.map +1 -1
  348. package/_mjs/STM/internal/Versioned.mjs +3 -1
  349. package/_mjs/STM/internal/Versioned.mjs.map +1 -1
  350. package/_mjs/STM.mjs +1 -0
  351. package/_mjs/STM.mjs.map +1 -1
  352. package/_mjs/Schedule/definition.mjs +1 -0
  353. package/_mjs/Schedule/definition.mjs.map +1 -1
  354. package/_mjs/Scope/api.mjs +1 -2
  355. package/_mjs/Scope/api.mjs.map +1 -1
  356. package/_mjs/Scope/definition.mjs +4 -2
  357. package/_mjs/Scope/definition.mjs.map +1 -1
  358. package/_mjs/ScopedRef/api.mjs +2 -2
  359. package/_mjs/ScopedRef/api.mjs.map +1 -1
  360. package/_mjs/ScopedRef/definition.mjs +3 -1
  361. package/_mjs/ScopedRef/definition.mjs.map +1 -1
  362. package/_mjs/State/api.mjs +1 -1
  363. package/_mjs/State/api.mjs.map +1 -1
  364. package/_mjs/State/definition.mjs +4 -1
  365. package/_mjs/State/definition.mjs.map +1 -1
  366. package/_mjs/State/internal.mjs +5 -2
  367. package/_mjs/State/internal.mjs.map +1 -1
  368. package/_mjs/Stream/api.mjs +1 -1
  369. package/_mjs/Stream/definition.mjs +2 -1
  370. package/_mjs/Stream/definition.mjs.map +1 -1
  371. package/_mjs/Stream/internal/Handoff.mjs +40 -32
  372. package/_mjs/Stream/internal/Handoff.mjs.map +1 -1
  373. package/_mjs/Stream/internal/SinkEndReason.mjs +6 -2
  374. package/_mjs/Stream/internal/SinkEndReason.mjs.map +1 -1
  375. package/_mjs/Subject/Atomic.mjs +4 -2
  376. package/_mjs/Subject/Atomic.mjs.map +1 -1
  377. package/_mjs/SubscriptionRef.mjs +1 -1
  378. package/_mjs/SupervisorPatch.mjs +3 -1
  379. package/_mjs/SupervisorPatch.mjs.map +1 -1
  380. package/_mjs/TExit/definition.mjs +25 -24
  381. package/_mjs/TExit/definition.mjs.map +1 -1
  382. package/_mjs/TFuture/constructors.mjs +1 -1
  383. package/_mjs/TReentrantLock/api.mjs +10 -9
  384. package/_mjs/TReentrantLock/api.mjs.map +1 -1
  385. package/_mjs/TRef/constructors.mjs +1 -1
  386. package/_mjs/TRef/definition.mjs +19 -20
  387. package/_mjs/TRef/definition.mjs.map +1 -1
  388. package/_mjs/TRef.mjs +0 -1
  389. package/_mjs/TRef.mjs.map +1 -1
  390. package/_mjs/TSemaphore/api.mjs +2 -2
  391. package/_mjs/TSemaphore/api.mjs.map +1 -1
  392. package/_mjs/TSemaphore/constructors.mjs +1 -1
  393. package/_mjs/internal/IsFatal.mjs +3 -1
  394. package/_mjs/internal/IsFatal.mjs.map +1 -1
  395. package/_src/Cached/definition.ts +6 -4
  396. package/_src/Cached/internal.ts +4 -4
  397. package/_src/Channel/api.ts +14 -15
  398. package/_src/Channel/definition.ts +37 -14
  399. package/_src/Channel/internal/ChannelExecutor.ts +14 -3
  400. package/_src/Channel/internal/MergeDecision.ts +11 -6
  401. package/_src/CountdownLatch.ts +1 -1
  402. package/_src/Differ/definition.ts +2 -4
  403. package/_src/Fiber/FiberRuntime.ts +54 -50
  404. package/_src/Fiber/definition.ts +15 -8
  405. package/_src/FiberRef/definition.ts +9 -4
  406. package/_src/FiberRefs/api.ts +1 -1
  407. package/_src/FiberRefs/definition.ts +1 -1
  408. package/_src/Future/api.ts +14 -5
  409. package/_src/Hub/api.ts +9 -7
  410. package/_src/Hub/definition.ts +30 -15
  411. package/_src/IO/api/interrupt.ts +72 -55
  412. package/_src/IO/api/onTermination.ts +8 -7
  413. package/_src/IO/api/sequenceT.ts +4 -6
  414. package/_src/IO/api.ts +23 -1
  415. package/_src/IO/definition.ts +36 -27
  416. package/_src/IO.ts +0 -1
  417. package/_src/Layer/MemoMap.ts +1 -1
  418. package/_src/Layer/api.ts +2 -2
  419. package/_src/Layer/definition.ts +18 -13
  420. package/_src/Logger/definition.ts +9 -4
  421. package/_src/MVar/api.ts +185 -0
  422. package/_src/MVar/definition.ts +45 -0
  423. package/_src/MVar.ts +4 -0
  424. package/_src/Push/api.ts +7 -4
  425. package/_src/Push/definition.ts +12 -3
  426. package/_src/Push/internal.ts +2 -2
  427. package/_src/Queue/api/dimapIO.ts +24 -13
  428. package/_src/Queue/api/filterInputIO.ts +9 -7
  429. package/_src/Queue/api/filterOutputIO.ts +9 -7
  430. package/_src/Queue/definition.ts +27 -18
  431. package/_src/Ref/Derived.ts +4 -1
  432. package/_src/Ref/Synchronized/constructors.ts +9 -0
  433. package/_src/Ref/Synchronized/definition.ts +5 -2
  434. package/_src/Ref/definition.ts +36 -25
  435. package/_src/Ref.ts +0 -1
  436. package/_src/RefSubject/definition.ts +19 -12
  437. package/_src/Reloadable/definition.ts +6 -1
  438. package/_src/STM/api/atomically.ts +43 -0
  439. package/_src/STM/api.ts +20 -38
  440. package/_src/STM/definition.ts +33 -20
  441. package/_src/STM/driver.ts +3 -3
  442. package/_src/STM/internal/Entry.ts +2 -2
  443. package/_src/STM/internal/TryCommit.ts +4 -4
  444. package/_src/STM/internal/Versioned.ts +1 -1
  445. package/_src/STM.ts +1 -0
  446. package/_src/Schedule/definition.ts +8 -3
  447. package/_src/Scope/definition.ts +2 -2
  448. package/_src/ScopedRef/definition.ts +1 -1
  449. package/_src/State/api.ts +1 -1
  450. package/_src/State/definition.ts +6 -3
  451. package/_src/State/internal.ts +8 -3
  452. package/_src/Stream/definition.ts +17 -5
  453. package/_src/Stream/internal/Handoff.ts +31 -24
  454. package/_src/Stream/internal/SinkEndReason.ts +2 -2
  455. package/_src/Subject/Atomic.ts +8 -4
  456. package/_src/SupervisorPatch.ts +1 -1
  457. package/_src/TExit/definition.ts +11 -12
  458. package/_src/TRef/definition.ts +18 -14
  459. package/_src/TRef.ts +0 -1
  460. package/_src/global.ts +4 -0
  461. package/_src/internal/IsFatal.ts +1 -1
  462. package/global.d.ts +4 -0
  463. package/internal/IsFatal.d.ts +1 -1
  464. package/package.json +2 -2
  465. package/IO/api/onExit.d.ts +0 -7
  466. package/Ref/symbols.d.ts +0 -30
  467. package/TRef/symbols.d.ts +0 -20
  468. package/_cjs/IO/api/onExit.cjs +0 -19
  469. package/_cjs/IO/api/onExit.cjs.map +0 -1
  470. package/_cjs/Ref/symbols.cjs +0 -37
  471. package/_cjs/Ref/symbols.cjs.map +0 -1
  472. package/_cjs/TRef/symbols.cjs +0 -27
  473. package/_cjs/TRef/symbols.cjs.map +0 -1
  474. package/_mjs/IO/api/onExit.mjs +0 -11
  475. package/_mjs/IO/api/onExit.mjs.map +0 -1
  476. package/_mjs/Ref/symbols.mjs +0 -25
  477. package/_mjs/Ref/symbols.mjs.map +0 -1
  478. package/_mjs/TRef/symbols.mjs +0 -17
  479. package/_mjs/TRef/symbols.mjs.map +0 -1
  480. package/_src/IO/api/onExit.ts +0 -11
  481. package/_src/Ref/symbols.ts +0 -29
  482. package/_src/TRef/symbols.ts +0 -19
@@ -10,19 +10,22 @@ export class Handoff<A> {
10
10
  constructor(readonly ref: Ref<State<A>>) {}
11
11
  }
12
12
 
13
+ const enum HandoffStateTag {
14
+ Empty,
15
+ Full,
16
+ }
17
+
13
18
  export const StateTypeId = Symbol.for("fncts.io.Stream.Handoff.State");
14
19
 
15
- export const EmptyTypeId = Symbol.for("fncts.io.Stream.Handoff.State.Empty");
16
20
  export class Empty {
17
- readonly _typeId: typeof StateTypeId = StateTypeId;
18
- readonly _tag: typeof EmptyTypeId = EmptyTypeId;
21
+ readonly [StateTypeId]: typeof StateTypeId = StateTypeId;
22
+ readonly _tag = HandoffStateTag.Empty;
19
23
  constructor(readonly notifyConsumer: Future<never, void>) {}
20
24
  }
21
25
 
22
- export const FullTypeId = Symbol.for("fncts.io.Stream.Handoff.State.Full");
23
26
  export class Full<A> {
24
- readonly _typeId: typeof StateTypeId = StateTypeId;
25
- readonly _tag: typeof FullTypeId = FullTypeId;
27
+ readonly [StateTypeId]: typeof StateTypeId = StateTypeId;
28
+ readonly _tag = HandoffStateTag.Full;
26
29
 
27
30
  constructor(readonly a: A, readonly notifyProducer: Future<never, void>) {}
28
31
  }
@@ -47,9 +50,9 @@ export function offer<A>(a: A) {
47
50
  (p) =>
48
51
  handoff.ref.modify((s) => {
49
52
  switch (s._tag) {
50
- case FullTypeId:
53
+ case HandoffStateTag.Full:
51
54
  return tuple(s.notifyProducer.await.zipRight(handoff.offer(a)), s);
52
- case EmptyTypeId:
55
+ case HandoffStateTag.Empty:
53
56
  return tuple(s.notifyConsumer.succeed(undefined).zipRight(p.await), new Full(a, p));
54
57
  }
55
58
  }).flatten,
@@ -65,9 +68,9 @@ export function take<A>(handoff: Handoff<A>): UIO<A> {
65
68
  (p) =>
66
69
  handoff.ref.modify((s) => {
67
70
  switch (s._tag) {
68
- case FullTypeId:
71
+ case HandoffStateTag.Full:
69
72
  return tuple(s.notifyProducer.succeed(undefined).as(s.a), new Empty(p));
70
- case EmptyTypeId:
73
+ case HandoffStateTag.Empty:
71
74
  return tuple(s.notifyConsumer.await.zipRight(handoff.take), s);
72
75
  }
73
76
  }).flatten,
@@ -82,9 +85,9 @@ export function poll<A>(handoff: Handoff<A>): UIO<Maybe<A>> {
82
85
  (p) =>
83
86
  handoff.ref.modify((s) => {
84
87
  switch (s._tag) {
85
- case FullTypeId:
88
+ case HandoffStateTag.Full:
86
89
  return tuple(s.notifyProducer.succeed(undefined).as(Just(s.a)), new Empty(p));
87
- case EmptyTypeId:
90
+ case HandoffStateTag.Empty:
88
91
  return tuple(IO.succeedNow(Nothing()), s);
89
92
  }
90
93
  }).flatten,
@@ -93,27 +96,31 @@ export function poll<A>(handoff: Handoff<A>): UIO<Maybe<A>> {
93
96
 
94
97
  export const HandoffSignalTypeId = Symbol.for("fncts.io.Stream.HandoffSignal");
95
98
 
96
- export const EmitTypeId = Symbol.for("fncts.io.Stream.HandoffSignal.Emit");
97
- export type EmitTypeId = typeof EmitTypeId;
99
+ const enum HandoffSignalTag {
100
+ Emit,
101
+ Halt,
102
+ End,
103
+ }
104
+
98
105
  export class Emit<A> {
99
- readonly _typeId: typeof HandoffSignalTypeId = HandoffSignalTypeId;
100
- readonly _tag: typeof EmitTypeId = EmitTypeId;
106
+ readonly [HandoffSignalTypeId]: typeof HandoffSignalTypeId = HandoffSignalTypeId;
107
+ readonly _tag = HandoffSignalTag.Emit;
101
108
  constructor(readonly els: Conc<A>) {}
102
109
  }
103
110
 
104
111
  export const HaltTypeId = Symbol.for("fncts.io.Stream.HandoffSignal.Halt");
105
112
  export type HaltTypeId = typeof HaltTypeId;
106
113
  export class Halt<E> {
107
- readonly _typeId: typeof HandoffSignalTypeId = HandoffSignalTypeId;
108
- readonly _tag: typeof HaltTypeId = HaltTypeId;
114
+ readonly [HandoffSignalTypeId]: typeof HandoffSignalTypeId = HandoffSignalTypeId;
115
+ readonly _tag = HandoffSignalTag.Halt;
109
116
  constructor(readonly error: Cause<E>) {}
110
117
  }
111
118
 
112
119
  export const EndTypeId = Symbol("fncts.io.Stream.HandoffSignal.End");
113
120
  export type EndTypeId = typeof EndTypeId;
114
121
  export class End {
115
- readonly _typeId: typeof HandoffSignalTypeId = HandoffSignalTypeId;
116
- readonly _tag: typeof EndTypeId = EndTypeId;
122
+ readonly [HandoffSignalTypeId]: typeof HandoffSignalTypeId = HandoffSignalTypeId;
123
+ readonly _tag = HandoffSignalTag.End;
117
124
  constructor(readonly reason: SinkEndReason) {}
118
125
  }
119
126
 
@@ -145,7 +152,7 @@ export function halt<E>(error: Cause<E>): HandoffSignal<E, never> {
145
152
  /**
146
153
  * @tsplus static fncts.io.Stream.HandoffSignalOps End
147
154
  */
148
- export function end<C>(reason: SinkEndReason): HandoffSignal<never, never> {
155
+ export function end(reason: SinkEndReason): HandoffSignal<never, never> {
149
156
  return new End(reason);
150
157
  }
151
158
 
@@ -159,11 +166,11 @@ export function matchSignal<E, A, B, D, F>(cases: {
159
166
  }) {
160
167
  return (signal: HandoffSignal<E, A>): B | D | F => {
161
168
  switch (signal._tag) {
162
- case EmitTypeId:
169
+ case HandoffSignalTag.Emit:
163
170
  return cases.Emit(signal);
164
- case HaltTypeId:
171
+ case HandoffSignalTag.Halt:
165
172
  return cases.Halt(signal);
166
- case EndTypeId:
173
+ case HandoffSignalTag.End:
167
174
  return cases.End(signal);
168
175
  }
169
176
  };
@@ -8,12 +8,12 @@ export const enum SinkEndReasonTag {
8
8
  export const SinkEndReasonTypeId = Symbol.for("fncts.io.Stream.SinkEndReason");
9
9
 
10
10
  export class ScheduleEnd {
11
- readonly _typeId: typeof SinkEndReasonTypeId = SinkEndReasonTypeId;
11
+ readonly [SinkEndReasonTypeId]: typeof SinkEndReasonTypeId = SinkEndReasonTypeId;
12
12
  readonly _tag = SinkEndReasonTag.ScheduleEnd;
13
13
  }
14
14
 
15
15
  export class UpstreamEnd {
16
- readonly _typeId: typeof SinkEndReasonTypeId = SinkEndReasonTypeId;
16
+ readonly [SinkEndReasonTypeId]: typeof SinkEndReasonTypeId = SinkEndReasonTypeId;
17
17
  readonly _tag = SinkEndReasonTag.UpstreamEnd;
18
18
  }
19
19
 
@@ -1,14 +1,18 @@
1
- import type { Emitter } from "@fncts/io/Push";
1
+ import type { Emitter} from "@fncts/io/Push/definition";
2
2
  import type { Subject } from "@fncts/io/Subject/definition";
3
3
 
4
4
  import { Multicast, Push } from "@fncts/io/Push";
5
+ import { PushTypeId, PushVariance } from "@fncts/io/Push/definition";
5
6
  import { SubjectTypeId } from "@fncts/io/Subject/definition";
6
7
 
7
8
  export class AtomicSubject<E, A> implements Subject<never, E, A> {
8
9
  readonly [SubjectTypeId]: SubjectTypeId = SubjectTypeId;
9
- declare _R: (_: never) => never;
10
- declare _E: (_: never) => E;
11
- declare _A: (_: never) => A;
10
+ readonly [PushTypeId]: PushTypeId = PushTypeId;
11
+ declare [PushVariance]: {
12
+ readonly _R: (_: never) => never;
13
+ readonly _E: (_: never) => E;
14
+ readonly _A: (_: never) => A;
15
+ };
12
16
 
13
17
  readonly stream = new Multicast<never, E, A>(Push.never);
14
18
 
@@ -13,7 +13,7 @@ export const enum SupervisorPatchTag {
13
13
  * @tsplus companion fncts.io.SupervisorPatchOps
14
14
  */
15
15
  export abstract class SupervisorPatch {
16
- readonly _typeId: SupervisorPatchTypeId = SupervisorPatchTypeId;
16
+ readonly [SupervisorPatchTypeId]: SupervisorPatchTypeId = SupervisorPatchTypeId;
17
17
  }
18
18
 
19
19
  export class AddSupervisor extends SupervisorPatch {
@@ -1,5 +1,4 @@
1
1
  import * as P from "@fncts/base/typeclass";
2
- import { hasTypeId } from "@fncts/base/util/predicates";
3
2
 
4
3
  /**
5
4
  * @tsplus type fncts.TExit
@@ -33,12 +32,12 @@ const _failHash = Hashable.string("fncts.TExit.Fail");
33
32
  * @tsplus static fncts.TExitOps isTExit
34
33
  */
35
34
  export function isTExit(u: unknown): u is TExit<unknown, unknown> {
36
- return hasTypeId(u, TExitTypeId);
35
+ return isObject(u) && TExitTypeId in u;
37
36
  }
38
37
 
39
38
  export class Fail<E> {
40
- readonly _typeId: TExitTypeId = TExitTypeId;
41
- readonly _tag = TExitTag.Fail;
39
+ readonly [TExitTypeId]: TExitTypeId = TExitTypeId;
40
+ readonly _tag = TExitTag.Fail;
42
41
  constructor(readonly value: E) {}
43
42
  get [Symbol.hash](): number {
44
43
  return Hashable.combine(_failHash, Hashable.unknown(this.value));
@@ -58,8 +57,8 @@ export function isFail<E, A>(self: TExit<E, A>): self is Fail<E> {
58
57
  const _succeedHash = P.Hashable.string("fncts.TExit.Succeed");
59
58
 
60
59
  export class Succeed<A> {
61
- readonly _typeId: TExitTypeId = TExitTypeId;
62
- readonly _tag = TExitTag.Succeed;
60
+ readonly [TExitTypeId]: TExitTypeId = TExitTypeId;
61
+ readonly _tag = TExitTag.Succeed;
63
62
  constructor(readonly value: A) {}
64
63
  get [Symbol.hash](): number {
65
64
  return P.Hashable.combine(_succeedHash, Hashable.unknown(this.value));
@@ -79,8 +78,8 @@ export function isSucceed<E, A>(self: TExit<E, A>): self is Succeed<A> {
79
78
  const _haltHash = Hashable.string("fncts.TExit.Halt");
80
79
 
81
80
  export class Halt {
82
- readonly _typeId: TExitTypeId = TExitTypeId;
83
- readonly _tag = TExitTag.Halt;
81
+ readonly [TExitTypeId]: TExitTypeId = TExitTypeId;
82
+ readonly _tag = TExitTag.Halt;
84
83
  constructor(readonly value: unknown) {}
85
84
  get [Symbol.hash](): number {
86
85
  return Hashable.combine(_haltHash, Hashable.unknown(this.value));
@@ -100,8 +99,8 @@ export function isHalt<E, A>(self: TExit<E, A>): self is Halt {
100
99
  const _interruptHash = Hashable.string("fncts.dete.TExit.Interrupt");
101
100
 
102
101
  export class Interrupt {
103
- readonly _typeId = TExitTypeId;
104
- readonly _tag = TExitTag.Interrupt;
102
+ readonly [TExitTypeId] = TExitTypeId;
103
+ readonly _tag = TExitTag.Interrupt;
105
104
  constructor(readonly fiberId: FiberId) {}
106
105
  get [Symbol.hash](): number {
107
106
  return Hashable.combine(_interruptHash, Hashable.unknown(this.fiberId));
@@ -121,8 +120,8 @@ export function isInterrupt<E, A>(self: TExit<E, A>): self is Interrupt {
121
120
  const _retryHash = Hashable.string("fncts.TExit.Retry");
122
121
 
123
122
  export class Retry {
124
- readonly _typeId: TExitTypeId = TExitTypeId;
125
- readonly _tag = TExitTag.Retry;
123
+ readonly [TExitTypeId]: TExitTypeId = TExitTypeId;
124
+ readonly _tag = TExitTag.Retry;
126
125
  get [Symbol.hash](): number {
127
126
  return _retryHash;
128
127
  }
@@ -6,7 +6,10 @@ import type { TxnId } from "@fncts/io/TxnId";
6
6
  import { STM } from "@fncts/io/STM";
7
7
  import { Effect } from "@fncts/io/STM";
8
8
  import { Entry } from "@fncts/io/STM/internal/Entry";
9
- import { _A, _B, _EA, _EB } from "@fncts/io/TRef/symbols";
9
+
10
+ export const TRefVariance = Symbol.for("fncts.io.TRef.Variance");
11
+ export type TRefVariance = typeof TRefVariance;
12
+
10
13
  export const TRefTypeId = Symbol.for("fncts.io.TRef");
11
14
  export type TRefTypeId = typeof TRefTypeId;
12
15
 
@@ -28,11 +31,13 @@ export type TRefTypeId = typeof TRefTypeId;
28
31
  * @tsplus type fncts.io.TRef
29
32
  */
30
33
  export interface PTRef<out EA, out EB, in A, out B> {
31
- readonly _typeId: TRefTypeId;
32
- readonly [_EA]: () => EA;
33
- readonly [_EB]: () => EB;
34
- readonly [_A]: (_: A) => void;
35
- readonly [_B]: () => B;
34
+ readonly [TRefTypeId]: TRefTypeId;
35
+ readonly [TRefVariance]: {
36
+ readonly _EA: (_: never) => EA;
37
+ readonly _EB: (_: never) => EB;
38
+ readonly _A: (_: A) => void;
39
+ readonly _B: (_: never) => B;
40
+ };
36
41
  }
37
42
 
38
43
  /**
@@ -48,11 +53,13 @@ export interface TRefOps {}
48
53
  export const TRef: TRefOps = {};
49
54
 
50
55
  export abstract class TRefInternal<EA, EB, A, B> implements PTRef<EA, EB, A, B> {
51
- readonly _typeId: TRefTypeId = TRefTypeId;
52
- declare [_EA]: () => EA;
53
- declare [_EB]: () => EB;
54
- declare [_A]: (_: A) => void;
55
- declare [_B]: () => B;
56
+ readonly [TRefTypeId]: TRefTypeId = TRefTypeId;
57
+ declare [TRefVariance]: {
58
+ readonly _EA: (_: never) => EA;
59
+ readonly _EB: (_: never) => EB;
60
+ readonly _A: (_: A) => void;
61
+ readonly _B: (_: never) => B;
62
+ };
56
63
  abstract get: STM<never, EB, B>;
57
64
  abstract modify<C>(f: (b: B) => readonly [C, A], __tsplusTrace?: string): STM<never, EA | EB, C>;
58
65
  abstract set(a: A, __tsplusTrace?: string): STM<never, EA, void>;
@@ -74,7 +81,6 @@ export abstract class TRefInternal<EA, EB, A, B> implements PTRef<EA, EB, A, B>
74
81
  }
75
82
 
76
83
  export class Atomic<A> extends TRefInternal<never, never, A, A> {
77
- readonly _typeId: TRefTypeId = TRefTypeId;
78
84
  readonly atomic: Atomic<unknown> = this as Atomic<unknown>;
79
85
  constructor(public versioned: Versioned<A>, readonly todo: AtomicReference<HashMap<TxnId, Todo>>) {
80
86
  super();
@@ -131,7 +137,6 @@ export class Atomic<A> extends TRefInternal<never, never, A, A> {
131
137
  }
132
138
 
133
139
  export class Derived<EA, EB, A, B> extends TRefInternal<EA, EB, A, B> {
134
- readonly _typeId: TRefTypeId = TRefTypeId;
135
140
  constructor(
136
141
  readonly use: <X>(
137
142
  f: <S>(
@@ -226,7 +231,6 @@ export class Derived<EA, EB, A, B> extends TRefInternal<EA, EB, A, B> {
226
231
  }
227
232
 
228
233
  export class DerivedAll<EA, EB, A, B> extends TRefInternal<EA, EB, A, B> {
229
- readonly _typeId: TRefTypeId = TRefTypeId;
230
234
  constructor(
231
235
  readonly use: <X>(
232
236
  f: <S>(
package/_src/TRef.ts CHANGED
@@ -2,5 +2,4 @@
2
2
  export * from "./TRef/api.js";
3
3
  export * from "./TRef/constructors.js";
4
4
  export * from "./TRef/definition.js";
5
- export * from "./TRef/symbols.js";
6
5
  // codegen:end
package/_src/global.ts CHANGED
@@ -83,6 +83,10 @@ import { Logger } from "@fncts/io/Logger/definition";
83
83
  * @tsplus global
84
84
  */
85
85
  import { LogLevel } from "@fncts/io/LogLevel";
86
+ /**
87
+ * @tsplus global
88
+ */
89
+ import { MVar } from "@fncts/io/MVar/definition";
86
90
  /**
87
91
  * @tsplus global
88
92
  */
@@ -12,7 +12,7 @@ export type IsFatalTypeId = typeof IsFatalTypeId;
12
12
  * @tsplus companion fncts.io.IsFatalOps
13
13
  */
14
14
  export abstract class IsFatal {
15
- readonly _typeId: IsFatalTypeId = IsFatalTypeId;
15
+ readonly [IsFatalTypeId]: IsFatalTypeId = IsFatalTypeId;
16
16
 
17
17
  apply(t: unknown): boolean {
18
18
  concrete(this);
package/global.d.ts CHANGED
@@ -82,6 +82,10 @@ import { Logger } from "@fncts/io/Logger/definition";
82
82
  * @tsplus global
83
83
  */
84
84
  import { LogLevel } from "@fncts/io/LogLevel";
85
+ /**
86
+ * @tsplus global
87
+ */
88
+ import { MVar } from "@fncts/io/MVar/definition";
85
89
  /**
86
90
  * @tsplus global
87
91
  */
@@ -11,7 +11,7 @@ export type IsFatalTypeId = typeof IsFatalTypeId;
11
11
  * @tsplus companion fncts.io.IsFatalOps
12
12
  */
13
13
  export declare abstract class IsFatal {
14
- readonly _typeId: IsFatalTypeId;
14
+ readonly [IsFatalTypeId]: IsFatalTypeId;
15
15
  apply(t: unknown): boolean;
16
16
  }
17
17
  export declare class Single extends IsFatal {
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@fncts/io",
3
- "version": "0.0.22",
3
+ "version": "0.0.23",
4
4
  "dependencies": {
5
- "@fncts/base": "0.0.22",
5
+ "@fncts/base": "0.0.23",
6
6
  "@fncts/transformers": "0.0.4",
7
7
  "@fncts/typelevel": "0.0.15"
8
8
  },
@@ -1,7 +0,0 @@
1
- import { Exit } from "@fncts/base/data/Exit/definition";
2
- import { IO } from "@fncts/io/IO/definition";
3
- /**
4
- * @tsplus pipeable fncts.io.IO onExit
5
- * @tsplus location "@fncts/io/IO/api/onExit"
6
- */
7
- export declare function onExit<E, A, R1, E1>(cleanup: (exit: Exit<E, A>) => IO<R1, E1, any>, __tsplusTrace?: string): <R>(self: import("../definition").IO<R, E, A>) => import("../definition").IO<R1 | R, E | E1, A>;
package/Ref/symbols.d.ts DELETED
@@ -1,30 +0,0 @@
1
- /**
2
- * @tsplus static fncts.io.RefOps _RA
3
- * @tsplus location "@fncts/io/Ref/symbols"
4
- */
5
- export declare const _RA: unique symbol;
6
- /**
7
- * @tsplus static fncts.io.RefOps _RB
8
- * @tsplus location "@fncts/io/Ref/symbols"
9
- */
10
- export declare const _RB: unique symbol;
11
- /**
12
- * @tsplus static fncts.io.RefOps _EA
13
- * @tsplus location "@fncts/io/Ref/symbols"
14
- */
15
- export declare const _EA: unique symbol;
16
- /**
17
- * @tsplus static fncts.io.RefOps _EB
18
- * @tsplus location "@fncts/io/Ref/symbols"
19
- */
20
- export declare const _EB: unique symbol;
21
- /**
22
- * @tsplus static fncts.io.RefOps _A
23
- * @tsplus location "@fncts/io/Ref/symbols"
24
- */
25
- export declare const _A: unique symbol;
26
- /**
27
- * @tsplus static fncts.io.RefOps _B
28
- * @tsplus location "@fncts/io/Ref/symbols"
29
- */
30
- export declare const _B: unique symbol;
package/TRef/symbols.d.ts DELETED
@@ -1,20 +0,0 @@
1
- /**
2
- * @tsplus static fncts.io.TRefOps _EA
3
- * @tsplus location "@fncts/io/TRef/symbols"
4
- */
5
- export declare const _EA: unique symbol;
6
- /**
7
- * @tsplus static fncts.io.TRefOps _EB
8
- * @tsplus location "@fncts/io/TRef/symbols"
9
- */
10
- export declare const _EB: unique symbol;
11
- /**
12
- * @tsplus static fncts.io.TRefOps _A
13
- * @tsplus location "@fncts/io/TRef/symbols"
14
- */
15
- export declare const _A: unique symbol;
16
- /**
17
- * @tsplus static fncts.io.TRefOps _B
18
- * @tsplus location "@fncts/io/TRef/symbols"
19
- */
20
- export declare const _B: unique symbol;
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.onExit = onExit;
7
- var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api"));
8
- var tsplus_module_2 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/io/IO/api/bracketExit"));
9
- 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); }
10
- 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; }
11
- /**
12
- * @tsplus pipeable fncts.io.IO onExit
13
- */
14
- function onExit(cleanup, __tsplusTrace) {
15
- return self => {
16
- return tsplus_module_2.bracketExit(() => tsplus_module_1.unit, () => self, (_, exit) => cleanup(exit), __tsplusTrace);
17
- };
18
- }
19
- //# sourceMappingURL=onExit.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"onExit.cjs","mappings":";;;;;;;;;;AAAA;;;AAGM,SAAUA,MAAM,CAAeC,OAA8C,EAAEC,aAAsB;EACzG,OAAWC,IAAiB,IAA2B;IACrD,OAAOC,wDACL,MAAMD,IAAI,EACV,CAACE,CAAC,EAAEC,IAAI,KAAKL,OAAO,CAACK,IAAI,CAAC,EAJqDJ,cAKhF;EACH,CAAC;AACH","names":["onExit","cleanup","__tsplusTrace","self","tsplus_module_2","_","exit"],"sourceRoot":"","sources":["../../../_src/IO/api/onExit.ts"],"sourcesContent":[null]}
@@ -1,37 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports._RB = exports._RA = exports._EB = exports._EA = exports._B = exports._A = void 0;
7
- /**
8
- * @tsplus static fncts.io.RefOps _RA
9
- */
10
- const _RA = /*#__PURE__*/Symbol();
11
- /**
12
- * @tsplus static fncts.io.RefOps _RB
13
- */
14
- exports._RA = _RA;
15
- const _RB = /*#__PURE__*/Symbol();
16
- /**
17
- * @tsplus static fncts.io.RefOps _EA
18
- */
19
- exports._RB = _RB;
20
- const _EA = /*#__PURE__*/Symbol();
21
- /**
22
- * @tsplus static fncts.io.RefOps _EB
23
- */
24
- exports._EA = _EA;
25
- const _EB = /*#__PURE__*/Symbol();
26
- /**
27
- * @tsplus static fncts.io.RefOps _A
28
- */
29
- exports._EB = _EB;
30
- const _A = /*#__PURE__*/Symbol();
31
- /**
32
- * @tsplus static fncts.io.RefOps _B
33
- */
34
- exports._A = _A;
35
- const _B = /*#__PURE__*/Symbol();
36
- exports._B = _B;
37
- //# sourceMappingURL=symbols.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"symbols.cjs","mappings":";;;;;;AAAA;;;AAGO,MAAMA,GAAG,gBAAkBC,MAAM,EAAE;AAE1C;;;AAAA;AAGO,MAAMC,GAAG,gBAAkBD,MAAM,EAAE;AAE1C;;;AAAA;AAGO,MAAME,GAAG,gBAAkBF,MAAM,EAAE;AAE1C;;;AAAA;AAGO,MAAMG,GAAG,gBAAkBH,MAAM,EAAE;AAE1C;;;AAAA;AAGO,MAAMI,EAAE,gBAAkBJ,MAAM,EAAE;AAEzC;;;AAAA;AAGO,MAAMK,EAAE,gBAAkBL,MAAM,EAAE;AAAC","names":["_RA","Symbol","_RB","_EA","_EB","_A","_B"],"sourceRoot":"","sources":["../../_src/Ref/symbols.ts"],"sourcesContent":[null]}
@@ -1,27 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports._EB = exports._EA = exports._B = exports._A = void 0;
7
- /**
8
- * @tsplus static fncts.io.TRefOps _EA
9
- */
10
- const _EA = /*#__PURE__*/Symbol();
11
- /**
12
- * @tsplus static fncts.io.TRefOps _EB
13
- */
14
- exports._EA = _EA;
15
- const _EB = /*#__PURE__*/Symbol();
16
- /**
17
- * @tsplus static fncts.io.TRefOps _A
18
- */
19
- exports._EB = _EB;
20
- const _A = /*#__PURE__*/Symbol();
21
- /**
22
- * @tsplus static fncts.io.TRefOps _B
23
- */
24
- exports._A = _A;
25
- const _B = /*#__PURE__*/Symbol();
26
- exports._B = _B;
27
- //# sourceMappingURL=symbols.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"symbols.cjs","mappings":";;;;;;AAAA;;;AAGO,MAAMA,GAAG,gBAAkBC,MAAM,EAAE;AAE1C;;;AAAA;AAGO,MAAMC,GAAG,gBAAkBD,MAAM,EAAE;AAE1C;;;AAAA;AAGO,MAAME,EAAE,gBAAkBF,MAAM,EAAE;AAEzC;;;AAAA;AAGO,MAAMG,EAAE,gBAAkBH,MAAM,EAAE;AAAC","names":["_EA","Symbol","_EB","_A","_B"],"sourceRoot":"","sources":["../../_src/TRef/symbols.ts"],"sourcesContent":[null]}
@@ -1,11 +0,0 @@
1
- import * as tsplus_module_1 from "@fncts/io/IO/api";
2
- import * as tsplus_module_2 from "@fncts/io/IO/api/bracketExit";
3
- /**
4
- * @tsplus pipeable fncts.io.IO onExit
5
- */
6
- export function onExit(cleanup, __tsplusTrace) {
7
- return self => {
8
- return tsplus_module_2.bracketExit(() => tsplus_module_1.unit, () => self, (_, exit) => cleanup(exit), __tsplusTrace);
9
- };
10
- }
11
- //# sourceMappingURL=onExit.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"onExit.mjs","mappings":";;AAAA;;;AAGA,OAAM,SAAUA,MAAM,CAAeC,OAA8C,EAAEC,aAAsB;EACzG,OAAWC,IAAiB,IAA2B;IACrD,OAAOC,wDACL,MAAMD,IAAI,EACV,CAACE,CAAC,EAAEC,IAAI,KAAKL,OAAO,CAACK,IAAI,CAAC,EAJqDJ,cAKhF;EACH,CAAC;AACH","names":["onExit","cleanup","__tsplusTrace","self","tsplus_module_2","_","exit"],"sourceRoot":"","sources":["../../../_src/IO/api/onExit.ts"],"sourcesContent":[null]}
@@ -1,25 +0,0 @@
1
- /**
2
- * @tsplus static fncts.io.RefOps _RA
3
- */
4
- export const _RA = /*#__PURE__*/Symbol();
5
- /**
6
- * @tsplus static fncts.io.RefOps _RB
7
- */
8
- export const _RB = /*#__PURE__*/Symbol();
9
- /**
10
- * @tsplus static fncts.io.RefOps _EA
11
- */
12
- export const _EA = /*#__PURE__*/Symbol();
13
- /**
14
- * @tsplus static fncts.io.RefOps _EB
15
- */
16
- export const _EB = /*#__PURE__*/Symbol();
17
- /**
18
- * @tsplus static fncts.io.RefOps _A
19
- */
20
- export const _A = /*#__PURE__*/Symbol();
21
- /**
22
- * @tsplus static fncts.io.RefOps _B
23
- */
24
- export const _B = /*#__PURE__*/Symbol();
25
- //# sourceMappingURL=symbols.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"symbols.mjs","mappings":"AAAA;;;AAGA,OAAO,MAAMA,GAAG,gBAAkBC,MAAM,EAAE;AAE1C;;;AAGA,OAAO,MAAMC,GAAG,gBAAkBD,MAAM,EAAE;AAE1C;;;AAGA,OAAO,MAAME,GAAG,gBAAkBF,MAAM,EAAE;AAE1C;;;AAGA,OAAO,MAAMG,GAAG,gBAAkBH,MAAM,EAAE;AAE1C;;;AAGA,OAAO,MAAMI,EAAE,gBAAkBJ,MAAM,EAAE;AAEzC;;;AAGA,OAAO,MAAMK,EAAE,gBAAkBL,MAAM,EAAE","names":["_RA","Symbol","_RB","_EA","_EB","_A","_B"],"sourceRoot":"","sources":["../../_src/Ref/symbols.ts"],"sourcesContent":[null]}
@@ -1,17 +0,0 @@
1
- /**
2
- * @tsplus static fncts.io.TRefOps _EA
3
- */
4
- export const _EA = /*#__PURE__*/Symbol();
5
- /**
6
- * @tsplus static fncts.io.TRefOps _EB
7
- */
8
- export const _EB = /*#__PURE__*/Symbol();
9
- /**
10
- * @tsplus static fncts.io.TRefOps _A
11
- */
12
- export const _A = /*#__PURE__*/Symbol();
13
- /**
14
- * @tsplus static fncts.io.TRefOps _B
15
- */
16
- export const _B = /*#__PURE__*/Symbol();
17
- //# sourceMappingURL=symbols.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"symbols.mjs","mappings":"AAAA;;;AAGA,OAAO,MAAMA,GAAG,gBAAkBC,MAAM,EAAE;AAE1C;;;AAGA,OAAO,MAAMC,GAAG,gBAAkBD,MAAM,EAAE;AAE1C;;;AAGA,OAAO,MAAME,EAAE,gBAAkBF,MAAM,EAAE;AAEzC;;;AAGA,OAAO,MAAMG,EAAE,gBAAkBH,MAAM,EAAE","names":["_EA","Symbol","_EB","_A","_B"],"sourceRoot":"","sources":["../../_src/TRef/symbols.ts"],"sourcesContent":[null]}
@@ -1,11 +0,0 @@
1
- /**
2
- * @tsplus pipeable fncts.io.IO onExit
3
- */
4
- export function onExit<E, A, R1, E1>(cleanup: (exit: Exit<E, A>) => IO<R1, E1, any>, __tsplusTrace?: string) {
5
- return <R>(self: IO<R, E, A>): IO<R | R1, E | E1, A> => {
6
- return IO.unit.bracketExit(
7
- () => self,
8
- (_, exit) => cleanup(exit),
9
- );
10
- };
11
- }
@@ -1,29 +0,0 @@
1
- /**
2
- * @tsplus static fncts.io.RefOps _RA
3
- */
4
- export const _RA: unique symbol = Symbol();
5
-
6
- /**
7
- * @tsplus static fncts.io.RefOps _RB
8
- */
9
- export const _RB: unique symbol = Symbol();
10
-
11
- /**
12
- * @tsplus static fncts.io.RefOps _EA
13
- */
14
- export const _EA: unique symbol = Symbol();
15
-
16
- /**
17
- * @tsplus static fncts.io.RefOps _EB
18
- */
19
- export const _EB: unique symbol = Symbol();
20
-
21
- /**
22
- * @tsplus static fncts.io.RefOps _A
23
- */
24
- export const _A: unique symbol = Symbol();
25
-
26
- /**
27
- * @tsplus static fncts.io.RefOps _B
28
- */
29
- export const _B: unique symbol = Symbol();