@fncts/io 0.0.22 → 0.0.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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();