@typed/fx 0.0.4 → 0.0.6

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 (368) hide show
  1. package/.eslintcache +1 -1
  2. package/cjs/Cause/Cause.d.ts +10 -0
  3. package/cjs/Cause/Cause.d.ts.map +1 -1
  4. package/cjs/Cause/Cause.js +37 -2
  5. package/cjs/Cause/Cause.js.map +1 -1
  6. package/cjs/Cause/Renderer.js +1 -1
  7. package/cjs/Cause/Renderer.js.map +1 -1
  8. package/cjs/Env/Env.js +1 -1
  9. package/cjs/Env/Env.js.map +1 -1
  10. package/cjs/Fiber/fromScope.d.ts +5 -0
  11. package/cjs/Fiber/fromScope.d.ts.map +1 -0
  12. package/cjs/Fiber/fromScope.js +17 -0
  13. package/cjs/Fiber/fromScope.js.map +1 -0
  14. package/cjs/FiberContext/FiberContext.js +1 -1
  15. package/cjs/FiberContext/FiberContext.js.map +1 -1
  16. package/cjs/FiberRef/builtins.d.ts.map +1 -1
  17. package/cjs/FiberRef/builtins.js +6 -6
  18. package/cjs/FiberRef/builtins.js.map +1 -1
  19. package/cjs/FiberRuntime/FiberRuntime.d.ts.map +1 -1
  20. package/cjs/FiberRuntime/FiberRuntime.js +22 -13
  21. package/cjs/FiberRuntime/FiberRuntime.js.map +1 -1
  22. package/cjs/Fx/Fx.d.ts +3 -2
  23. package/cjs/Fx/Fx.d.ts.map +1 -1
  24. package/cjs/Fx/Fx.js +24 -22
  25. package/cjs/Fx/Fx.js.map +1 -1
  26. package/cjs/Fx/join.d.ts +1 -1
  27. package/cjs/Fx/join.d.ts.map +1 -1
  28. package/cjs/Fx/join.js +1 -1
  29. package/cjs/Fx/join.js.map +1 -1
  30. package/cjs/Schedule/ScheduleState.d.ts +3 -0
  31. package/cjs/Schedule/ScheduleState.d.ts.map +1 -1
  32. package/cjs/Schedule/ScheduleState.js +3 -0
  33. package/cjs/Schedule/ScheduleState.js.map +1 -1
  34. package/cjs/Scheduler/RootScheduler.d.ts.map +1 -1
  35. package/cjs/Scheduler/RootScheduler.js +4 -5
  36. package/cjs/Scheduler/RootScheduler.js.map +1 -1
  37. package/cjs/Scheduler/Scheduler.d.ts +2 -2
  38. package/cjs/Scheduler/Scheduler.d.ts.map +1 -1
  39. package/cjs/Scheduler/Scheduler.js.map +1 -1
  40. package/cjs/Scheduler/callbackScheduler.d.ts.map +1 -1
  41. package/cjs/Scheduler/callbackScheduler.js +1 -0
  42. package/cjs/Scheduler/callbackScheduler.js.map +1 -1
  43. package/cjs/Scheduler/runSchedule.d.ts +1 -1
  44. package/cjs/Scheduler/runSchedule.d.ts.map +1 -1
  45. package/cjs/Scheduler/runSchedule.js +3 -2
  46. package/cjs/Scheduler/runSchedule.js.map +1 -1
  47. package/cjs/Scope/LocalScope.d.ts.map +1 -1
  48. package/cjs/Scope/LocalScope.js +8 -8
  49. package/cjs/Scope/LocalScope.js.map +1 -1
  50. package/cjs/Semaphore/Semaphore.d.ts +9 -9
  51. package/cjs/Semaphore/Semaphore.d.ts.map +1 -1
  52. package/cjs/Semaphore/Semaphore.js +34 -15
  53. package/cjs/Semaphore/Semaphore.js.map +1 -1
  54. package/cjs/Sink/Sink.d.ts +1 -0
  55. package/cjs/Sink/Sink.d.ts.map +1 -1
  56. package/cjs/Sink/Sink.js +11 -1
  57. package/cjs/Sink/Sink.js.map +1 -1
  58. package/cjs/Stream/Stream.d.ts +5 -10
  59. package/cjs/Stream/Stream.d.ts.map +1 -1
  60. package/cjs/Stream/Stream.js.map +1 -1
  61. package/cjs/Stream/acquirePermit.d.ts +15 -0
  62. package/cjs/Stream/acquirePermit.d.ts.map +1 -0
  63. package/cjs/Stream/acquirePermit.js +43 -0
  64. package/cjs/Stream/acquirePermit.js.map +1 -0
  65. package/cjs/Stream/bimap.d.ts +5 -4
  66. package/cjs/Stream/bimap.d.ts.map +1 -1
  67. package/cjs/Stream/bimap.js +11 -9
  68. package/cjs/Stream/bimap.js.map +1 -1
  69. package/cjs/Stream/continueWith.d.ts +4 -3
  70. package/cjs/Stream/continueWith.d.ts.map +1 -1
  71. package/cjs/Stream/continueWith.js +9 -6
  72. package/cjs/Stream/continueWith.js.map +1 -1
  73. package/cjs/Stream/drain.d.ts +2 -2
  74. package/cjs/Stream/drain.d.ts.map +1 -1
  75. package/cjs/Stream/drain.js +5 -5
  76. package/cjs/Stream/drain.js.map +1 -1
  77. package/cjs/Stream/empty.d.ts.map +1 -1
  78. package/cjs/Stream/empty.js +1 -2
  79. package/cjs/Stream/empty.js.map +1 -1
  80. package/cjs/Stream/flatMap.d.ts +7 -5
  81. package/cjs/Stream/flatMap.d.ts.map +1 -1
  82. package/cjs/Stream/flatMap.js +43 -17
  83. package/cjs/Stream/flatMap.js.map +1 -1
  84. package/cjs/Stream/flatMapConcurrently.d.ts +5 -0
  85. package/cjs/Stream/flatMapConcurrently.d.ts.map +1 -0
  86. package/cjs/Stream/flatMapConcurrently.js +20 -0
  87. package/cjs/Stream/flatMapConcurrently.js.map +1 -0
  88. package/cjs/Stream/flatMapFx.d.ts +5 -1
  89. package/cjs/Stream/flatMapFx.d.ts.map +1 -1
  90. package/cjs/Stream/flatMapFx.js +18 -3
  91. package/cjs/Stream/flatMapFx.js.map +1 -1
  92. package/cjs/Stream/fromCallback.d.ts +4 -3
  93. package/cjs/Stream/fromCallback.d.ts.map +1 -1
  94. package/cjs/Stream/fromCallback.js +26 -26
  95. package/cjs/Stream/fromCallback.js.map +1 -1
  96. package/cjs/Stream/fromFx.d.ts +14 -8
  97. package/cjs/Stream/fromFx.d.ts.map +1 -1
  98. package/cjs/Stream/fromFx.js +24 -15
  99. package/cjs/Stream/fromFx.js.map +1 -1
  100. package/cjs/Stream/hold.d.ts +27 -0
  101. package/cjs/Stream/hold.d.ts.map +1 -0
  102. package/cjs/Stream/hold.js +94 -0
  103. package/cjs/Stream/hold.js.map +1 -0
  104. package/cjs/Stream/index.d.ts +8 -0
  105. package/cjs/Stream/index.d.ts.map +1 -1
  106. package/cjs/Stream/index.js +8 -0
  107. package/cjs/Stream/index.js.map +1 -1
  108. package/cjs/Stream/lazy.d.ts +3 -0
  109. package/cjs/Stream/lazy.d.ts.map +1 -0
  110. package/cjs/Stream/lazy.js +9 -0
  111. package/cjs/Stream/lazy.js.map +1 -0
  112. package/cjs/Stream/map.d.ts +4 -3
  113. package/cjs/Stream/map.d.ts.map +1 -1
  114. package/cjs/Stream/map.js +11 -8
  115. package/cjs/Stream/map.js.map +1 -1
  116. package/cjs/Stream/merge.d.ts +18 -0
  117. package/cjs/Stream/merge.d.ts.map +1 -0
  118. package/cjs/Stream/merge.js +84 -0
  119. package/cjs/Stream/merge.js.map +1 -0
  120. package/cjs/Stream/multicast.d.ts +27 -0
  121. package/cjs/Stream/multicast.d.ts.map +1 -0
  122. package/cjs/Stream/multicast.js +83 -0
  123. package/cjs/Stream/multicast.js.map +1 -0
  124. package/cjs/Stream/orElse.d.ts +17 -0
  125. package/cjs/Stream/orElse.d.ts.map +1 -0
  126. package/cjs/Stream/orElse.js +118 -0
  127. package/cjs/Stream/orElse.js.map +1 -0
  128. package/cjs/Stream/periodic.d.ts +1 -1
  129. package/cjs/Stream/periodic.d.ts.map +1 -1
  130. package/cjs/Stream/periodic.js +1 -1
  131. package/cjs/Stream/periodic.js.map +1 -1
  132. package/cjs/Stream/scan.d.ts +17 -0
  133. package/cjs/Stream/scan.d.ts.map +1 -0
  134. package/cjs/Stream/scan.js +32 -0
  135. package/cjs/Stream/scan.js.map +1 -0
  136. package/cjs/Stream/scheduled.d.ts +12 -3
  137. package/cjs/Stream/scheduled.d.ts.map +1 -1
  138. package/cjs/Stream/scheduled.js +23 -5
  139. package/cjs/Stream/scheduled.js.map +1 -1
  140. package/cjs/Stream/setFiberRefLocally.d.ts +15 -0
  141. package/cjs/Stream/setFiberRefLocally.d.ts.map +1 -0
  142. package/cjs/Stream/setFiberRefLocally.js +51 -0
  143. package/cjs/Stream/setFiberRefLocally.js.map +1 -0
  144. package/cjs/Stream/switchMap.d.ts +18 -0
  145. package/cjs/Stream/switchMap.d.ts.map +1 -0
  146. package/cjs/Stream/switchMap.js +136 -0
  147. package/cjs/Stream/switchMap.js.map +1 -0
  148. package/cjs/Stream/tap.d.ts +2 -1
  149. package/cjs/Stream/tap.d.ts.map +1 -1
  150. package/cjs/Stream/tap.js +4 -2
  151. package/cjs/Stream/tap.js.map +1 -1
  152. package/cjs/Timeline/index.js.map +1 -1
  153. package/esm/Cause/Cause.d.ts +10 -0
  154. package/esm/Cause/Cause.d.ts.map +1 -1
  155. package/esm/Cause/Cause.js +27 -0
  156. package/esm/Cause/Cause.js.map +1 -1
  157. package/esm/Cause/Renderer.js +1 -1
  158. package/esm/Cause/Renderer.js.map +1 -1
  159. package/esm/Env/Env.js +1 -1
  160. package/esm/Env/Env.js.map +1 -1
  161. package/esm/Fiber/fromScope.d.ts +5 -0
  162. package/esm/Fiber/fromScope.d.ts.map +1 -0
  163. package/esm/Fiber/fromScope.js +13 -0
  164. package/esm/Fiber/fromScope.js.map +1 -0
  165. package/esm/FiberContext/FiberContext.js +1 -1
  166. package/esm/FiberContext/FiberContext.js.map +1 -1
  167. package/esm/FiberRef/builtins.d.ts.map +1 -1
  168. package/esm/FiberRef/builtins.js +6 -6
  169. package/esm/FiberRef/builtins.js.map +1 -1
  170. package/esm/FiberRuntime/FiberRuntime.d.ts.map +1 -1
  171. package/esm/FiberRuntime/FiberRuntime.js +22 -13
  172. package/esm/FiberRuntime/FiberRuntime.js.map +1 -1
  173. package/esm/Fx/Fx.d.ts +3 -2
  174. package/esm/Fx/Fx.d.ts.map +1 -1
  175. package/esm/Fx/Fx.js +21 -20
  176. package/esm/Fx/Fx.js.map +1 -1
  177. package/esm/Fx/join.d.ts +1 -1
  178. package/esm/Fx/join.d.ts.map +1 -1
  179. package/esm/Fx/join.js +1 -1
  180. package/esm/Fx/join.js.map +1 -1
  181. package/esm/Schedule/ScheduleState.d.ts +3 -0
  182. package/esm/Schedule/ScheduleState.d.ts.map +1 -1
  183. package/esm/Schedule/ScheduleState.js +3 -0
  184. package/esm/Schedule/ScheduleState.js.map +1 -1
  185. package/esm/Scheduler/RootScheduler.d.ts.map +1 -1
  186. package/esm/Scheduler/RootScheduler.js +4 -5
  187. package/esm/Scheduler/RootScheduler.js.map +1 -1
  188. package/esm/Scheduler/Scheduler.d.ts +2 -2
  189. package/esm/Scheduler/Scheduler.d.ts.map +1 -1
  190. package/esm/Scheduler/Scheduler.js.map +1 -1
  191. package/esm/Scheduler/callbackScheduler.d.ts.map +1 -1
  192. package/esm/Scheduler/callbackScheduler.js +1 -0
  193. package/esm/Scheduler/callbackScheduler.js.map +1 -1
  194. package/esm/Scheduler/runSchedule.d.ts +1 -1
  195. package/esm/Scheduler/runSchedule.d.ts.map +1 -1
  196. package/esm/Scheduler/runSchedule.js +4 -3
  197. package/esm/Scheduler/runSchedule.js.map +1 -1
  198. package/esm/Scope/LocalScope.d.ts.map +1 -1
  199. package/esm/Scope/LocalScope.js +8 -8
  200. package/esm/Scope/LocalScope.js.map +1 -1
  201. package/esm/Semaphore/Semaphore.d.ts +9 -9
  202. package/esm/Semaphore/Semaphore.d.ts.map +1 -1
  203. package/esm/Semaphore/Semaphore.js +11 -15
  204. package/esm/Semaphore/Semaphore.js.map +1 -1
  205. package/esm/Sink/Sink.d.ts +1 -0
  206. package/esm/Sink/Sink.d.ts.map +1 -1
  207. package/esm/Sink/Sink.js +10 -1
  208. package/esm/Sink/Sink.js.map +1 -1
  209. package/esm/Stream/Stream.d.ts +5 -10
  210. package/esm/Stream/Stream.d.ts.map +1 -1
  211. package/esm/Stream/Stream.js.map +1 -1
  212. package/esm/Stream/acquirePermit.d.ts +15 -0
  213. package/esm/Stream/acquirePermit.d.ts.map +1 -0
  214. package/esm/Stream/acquirePermit.js +15 -0
  215. package/esm/Stream/acquirePermit.js.map +1 -0
  216. package/esm/Stream/bimap.d.ts +5 -4
  217. package/esm/Stream/bimap.d.ts.map +1 -1
  218. package/esm/Stream/bimap.js +11 -9
  219. package/esm/Stream/bimap.js.map +1 -1
  220. package/esm/Stream/continueWith.d.ts +4 -3
  221. package/esm/Stream/continueWith.d.ts.map +1 -1
  222. package/esm/Stream/continueWith.js +9 -6
  223. package/esm/Stream/continueWith.js.map +1 -1
  224. package/esm/Stream/drain.d.ts +2 -2
  225. package/esm/Stream/drain.d.ts.map +1 -1
  226. package/esm/Stream/drain.js +6 -6
  227. package/esm/Stream/drain.js.map +1 -1
  228. package/esm/Stream/empty.d.ts.map +1 -1
  229. package/esm/Stream/empty.js +1 -2
  230. package/esm/Stream/empty.js.map +1 -1
  231. package/esm/Stream/flatMap.d.ts +7 -5
  232. package/esm/Stream/flatMap.d.ts.map +1 -1
  233. package/esm/Stream/flatMap.js +43 -18
  234. package/esm/Stream/flatMap.js.map +1 -1
  235. package/esm/Stream/flatMapConcurrently.d.ts +5 -0
  236. package/esm/Stream/flatMapConcurrently.d.ts.map +1 -0
  237. package/esm/Stream/flatMapConcurrently.js +15 -0
  238. package/esm/Stream/flatMapConcurrently.js.map +1 -0
  239. package/esm/Stream/flatMapFx.d.ts +5 -1
  240. package/esm/Stream/flatMapFx.d.ts.map +1 -1
  241. package/esm/Stream/flatMapFx.js +16 -4
  242. package/esm/Stream/flatMapFx.js.map +1 -1
  243. package/esm/Stream/fromCallback.d.ts +4 -3
  244. package/esm/Stream/fromCallback.d.ts.map +1 -1
  245. package/esm/Stream/fromCallback.js +26 -26
  246. package/esm/Stream/fromCallback.js.map +1 -1
  247. package/esm/Stream/fromFx.d.ts +14 -8
  248. package/esm/Stream/fromFx.d.ts.map +1 -1
  249. package/esm/Stream/fromFx.js +13 -13
  250. package/esm/Stream/fromFx.js.map +1 -1
  251. package/esm/Stream/hold.d.ts +27 -0
  252. package/esm/Stream/hold.d.ts.map +1 -0
  253. package/esm/Stream/hold.js +66 -0
  254. package/esm/Stream/hold.js.map +1 -0
  255. package/esm/Stream/index.d.ts +8 -0
  256. package/esm/Stream/index.d.ts.map +1 -1
  257. package/esm/Stream/index.js +8 -0
  258. package/esm/Stream/index.js.map +1 -1
  259. package/esm/Stream/lazy.d.ts +3 -0
  260. package/esm/Stream/lazy.d.ts.map +1 -0
  261. package/esm/Stream/lazy.js +5 -0
  262. package/esm/Stream/lazy.js.map +1 -0
  263. package/esm/Stream/map.d.ts +4 -3
  264. package/esm/Stream/map.d.ts.map +1 -1
  265. package/esm/Stream/map.js +11 -8
  266. package/esm/Stream/map.js.map +1 -1
  267. package/esm/Stream/merge.d.ts +18 -0
  268. package/esm/Stream/merge.d.ts.map +1 -0
  269. package/esm/Stream/merge.js +55 -0
  270. package/esm/Stream/merge.js.map +1 -0
  271. package/esm/Stream/multicast.d.ts +27 -0
  272. package/esm/Stream/multicast.d.ts.map +1 -0
  273. package/esm/Stream/multicast.js +55 -0
  274. package/esm/Stream/multicast.js.map +1 -0
  275. package/esm/Stream/orElse.d.ts +17 -0
  276. package/esm/Stream/orElse.d.ts.map +1 -0
  277. package/esm/Stream/orElse.js +90 -0
  278. package/esm/Stream/orElse.js.map +1 -0
  279. package/esm/Stream/periodic.d.ts +1 -1
  280. package/esm/Stream/periodic.d.ts.map +1 -1
  281. package/esm/Stream/periodic.js +1 -1
  282. package/esm/Stream/periodic.js.map +1 -1
  283. package/esm/Stream/scan.d.ts +17 -0
  284. package/esm/Stream/scan.d.ts.map +1 -0
  285. package/esm/Stream/scan.js +27 -0
  286. package/esm/Stream/scan.js.map +1 -0
  287. package/esm/Stream/scheduled.d.ts +12 -3
  288. package/esm/Stream/scheduled.d.ts.map +1 -1
  289. package/esm/Stream/scheduled.js +16 -4
  290. package/esm/Stream/scheduled.js.map +1 -1
  291. package/esm/Stream/setFiberRefLocally.d.ts +15 -0
  292. package/esm/Stream/setFiberRefLocally.d.ts.map +1 -0
  293. package/esm/Stream/setFiberRefLocally.js +23 -0
  294. package/esm/Stream/setFiberRefLocally.js.map +1 -0
  295. package/esm/Stream/switchMap.d.ts +18 -0
  296. package/esm/Stream/switchMap.d.ts.map +1 -0
  297. package/esm/Stream/switchMap.js +107 -0
  298. package/esm/Stream/switchMap.js.map +1 -0
  299. package/esm/Stream/tap.d.ts +2 -1
  300. package/esm/Stream/tap.d.ts.map +1 -1
  301. package/esm/Stream/tap.js +3 -2
  302. package/esm/Stream/tap.js.map +1 -1
  303. package/esm/Timeline/index.js.map +1 -1
  304. package/package.json +111 -21
  305. package/readme.md +1 -1
  306. package/src/Cause/Cause.ts +63 -0
  307. package/src/Cause/Renderer.ts +1 -1
  308. package/src/Env/Env.ts +1 -1
  309. package/src/Fiber/fromScope.ts +19 -0
  310. package/src/FiberContext/FiberContext.ts +1 -1
  311. package/src/FiberRef/builtins.ts +19 -10
  312. package/src/FiberRuntime/FiberRuntime.ts +32 -25
  313. package/src/Fx/Fx.test.ts +2 -2
  314. package/src/Fx/Fx.ts +10 -9
  315. package/src/Fx/join.ts +4 -4
  316. package/src/Schedule/ScheduleState.ts +3 -0
  317. package/src/Scheduler/RootScheduler.ts +7 -9
  318. package/src/Scheduler/Scheduler.ts +5 -6
  319. package/src/Scheduler/callbackScheduler.ts +1 -0
  320. package/src/Scheduler/runSchedule.ts +5 -2
  321. package/src/Scope/LocalScope.ts +8 -6
  322. package/src/Semaphore/Semaphore.ts +12 -19
  323. package/src/Sink/Sink.ts +11 -1
  324. package/src/Stream/Stream.ts +9 -11
  325. package/src/Stream/acquirePermit.ts +32 -0
  326. package/src/Stream/bimap.ts +16 -9
  327. package/src/Stream/continueWith.ts +11 -7
  328. package/src/Stream/drain.ts +8 -7
  329. package/src/Stream/empty.ts +1 -2
  330. package/src/Stream/flatMap.test.ts +8 -21
  331. package/src/Stream/flatMap.ts +58 -23
  332. package/src/Stream/flatMapConcurrently.test.ts +77 -0
  333. package/src/Stream/flatMapConcurrently.ts +30 -0
  334. package/src/Stream/flatMapFx.ts +37 -4
  335. package/src/Stream/fromCallback.test.ts +3 -16
  336. package/src/Stream/fromCallback.ts +48 -29
  337. package/src/Stream/fromFx.test.ts +3 -24
  338. package/src/Stream/fromFx.ts +47 -30
  339. package/src/Stream/hold.test.ts +52 -0
  340. package/src/Stream/hold.ts +117 -0
  341. package/src/Stream/index.ts +8 -0
  342. package/src/Stream/lazy.ts +5 -0
  343. package/src/Stream/logging.test.ts +8 -3
  344. package/src/Stream/map.ts +25 -11
  345. package/src/Stream/merge.test.ts +31 -0
  346. package/src/Stream/merge.ts +76 -0
  347. package/src/Stream/multicast.test.ts +32 -0
  348. package/src/Stream/multicast.ts +114 -0
  349. package/src/Stream/orElse.ts +123 -0
  350. package/src/Stream/periodic.ts +2 -2
  351. package/src/Stream/scan.test.ts +28 -0
  352. package/src/Stream/scan.ts +46 -0
  353. package/src/Stream/scheduled.test.ts +9 -1
  354. package/src/Stream/scheduled.ts +46 -12
  355. package/src/Stream/setFiberRefLocally.ts +44 -0
  356. package/src/Stream/switchMap.test.ts +43 -0
  357. package/src/Stream/switchMap.ts +159 -0
  358. package/src/Stream/tap.ts +6 -3
  359. package/src/Timeline/index.ts +1 -0
  360. package/cjs/Effect/Effect.d.ts +0 -199
  361. package/cjs/Effect/Effect.d.ts.map +0 -1
  362. package/cjs/Effect/Effect.js +0 -66
  363. package/cjs/Effect/Effect.js.map +0 -1
  364. package/esm/Effect/Effect.d.ts +0 -199
  365. package/esm/Effect/Effect.d.ts.map +0 -1
  366. package/esm/Effect/Effect.js +0 -50
  367. package/esm/Effect/Effect.js.map +0 -1
  368. package/src/Effect/Effect.ts +0 -109
@@ -1,199 +0,0 @@
1
- import * as F from 'hkt-ts/function';
2
- import * as C from "../Cause/index.js";
3
- import { Cause } from "../Cause/index.js";
4
- import { Exit } from "../Exit/Exit.js";
5
- export declare abstract class EffectBrand<R, E, A> {
6
- readonly __EFFECT__: {
7
- readonly _R: () => R;
8
- readonly _E: () => E;
9
- readonly _A: () => A;
10
- };
11
- }
12
- export declare abstract class Instr<out I, out R, out E, out A> extends EffectBrand<R, E, A> {
13
- readonly input: I;
14
- readonly __trace?: string | undefined;
15
- static tag: string;
16
- abstract readonly tag: string;
17
- constructor(input: I, __trace?: string | undefined);
18
- [Symbol.iterator](): Generator<this, A, any>;
19
- }
20
- export declare const instr: <Tag extends string>(tag: Tag) => {
21
- new <I, R, E, A>(input: I, __trace?: string): {
22
- readonly tag: Tag;
23
- readonly input: I;
24
- readonly __trace?: string;
25
- [Symbol.iterator](): Generator<any, A, any>;
26
- readonly __EFFECT__: {
27
- readonly _R: () => R;
28
- readonly _E: () => E;
29
- readonly _A: () => A;
30
- };
31
- };
32
- tag: Tag;
33
- };
34
- export declare type YieldOf<T> = T extends EffectBrand<infer _R, infer _E, infer _A> ? _R : never;
35
- export declare type ErrorsOf<T> = T extends EffectBrand<infer _R, infer _E, infer _A> ? _E : never;
36
- export declare type OutputOf<T> = T extends EffectBrand<infer _R, infer _E, infer _A> ? _A : never;
37
- export declare type Effect<R, E, A> = Now<A> | FromLazy<A> | FromCause<E> | LazyEffect<R, E, A> | MapEffect<R, E, any, A> | FlatMapEffect<R, E, any, R, E, A> | OrElseEffect<R, any, A, R, E, A> | EnsuringEffect<R, any, any, R, E, A> | YieldNow | YieldEffect<R>;
38
- declare const Now_base: {
39
- new <I, R, E, A_1>(input: I, __trace?: string | undefined): {
40
- readonly tag: "Now";
41
- readonly input: I;
42
- readonly __trace?: string | undefined;
43
- [Symbol.iterator](): Generator<any, A_1, any>;
44
- readonly __EFFECT__: {
45
- readonly _R: () => R;
46
- readonly _E: () => E;
47
- readonly _A: () => A_1;
48
- };
49
- };
50
- tag: "Now";
51
- };
52
- export declare class Now<A> extends Now_base<A, never, never, A> {
53
- }
54
- declare const FromLazy_base: {
55
- new <I, R, E, A_1>(input: I, __trace?: string | undefined): {
56
- readonly tag: "FromLazy";
57
- readonly input: I;
58
- readonly __trace?: string | undefined;
59
- [Symbol.iterator](): Generator<any, A_1, any>;
60
- readonly __EFFECT__: {
61
- readonly _R: () => R;
62
- readonly _E: () => E;
63
- readonly _A: () => A_1;
64
- };
65
- };
66
- tag: "FromLazy";
67
- };
68
- export declare class FromLazy<A> extends FromLazy_base<F.Lazy<A>, never, never, A> {
69
- }
70
- declare const FromCause_base: {
71
- new <I, R, E_1, A>(input: I, __trace?: string | undefined): {
72
- readonly tag: "FromCause";
73
- readonly input: I;
74
- readonly __trace?: string | undefined;
75
- [Symbol.iterator](): Generator<any, A, any>;
76
- readonly __EFFECT__: {
77
- readonly _R: () => R;
78
- readonly _E: () => E_1;
79
- readonly _A: () => A;
80
- };
81
- };
82
- tag: "FromCause";
83
- };
84
- export declare class FromCause<E> extends FromCause_base<C.Cause<E>, never, E, never> {
85
- }
86
- declare const LazyEffect_base: {
87
- new <I, R_1, E_1, A_1>(input: I, __trace?: string | undefined): {
88
- readonly tag: "LazyEffect";
89
- readonly input: I;
90
- readonly __trace?: string | undefined;
91
- [Symbol.iterator](): Generator<any, A_1, any>;
92
- readonly __EFFECT__: {
93
- readonly _R: () => R_1;
94
- readonly _E: () => E_1;
95
- readonly _A: () => A_1;
96
- };
97
- };
98
- tag: "LazyEffect";
99
- };
100
- export declare class LazyEffect<R, E, A> extends LazyEffect_base<F.Lazy<Effect<R, E, A>>, R, E, A> {
101
- }
102
- declare const MapEffect_base: {
103
- new <I, R_1, E_1, A_1>(input: I, __trace?: string | undefined): {
104
- readonly tag: "MapEffect";
105
- readonly input: I;
106
- readonly __trace?: string | undefined;
107
- [Symbol.iterator](): Generator<any, A_1, any>;
108
- readonly __EFFECT__: {
109
- readonly _R: () => R_1;
110
- readonly _E: () => E_1;
111
- readonly _A: () => A_1;
112
- };
113
- };
114
- tag: "MapEffect";
115
- };
116
- export declare class MapEffect<R, E, A, B> extends MapEffect_base<readonly [Effect<R, E, A>, (a: A) => B], R, E, B> {
117
- }
118
- declare const FlatMapEffect_base: {
119
- new <I, R_1, E_1, A_1>(input: I, __trace?: string | undefined): {
120
- readonly tag: "FlatMapEffect";
121
- readonly input: I;
122
- readonly __trace?: string | undefined;
123
- [Symbol.iterator](): Generator<any, A_1, any>;
124
- readonly __EFFECT__: {
125
- readonly _R: () => R_1;
126
- readonly _E: () => E_1;
127
- readonly _A: () => A_1;
128
- };
129
- };
130
- tag: "FlatMapEffect";
131
- };
132
- export declare class FlatMapEffect<R, E, A, R2, E2, B> extends FlatMapEffect_base<readonly [Effect<R, E, A>, (a: A) => Effect<R2, E2, B>], R | R2, E | E2, B> {
133
- }
134
- declare const OrElseEffect_base: {
135
- new <I, R_1, E_1, A_1>(input: I, __trace?: string | undefined): {
136
- readonly tag: "OrElseEffect";
137
- readonly input: I;
138
- readonly __trace?: string | undefined;
139
- [Symbol.iterator](): Generator<any, A_1, any>;
140
- readonly __EFFECT__: {
141
- readonly _R: () => R_1;
142
- readonly _E: () => E_1;
143
- readonly _A: () => A_1;
144
- };
145
- };
146
- tag: "OrElseEffect";
147
- };
148
- export declare class OrElseEffect<R, E, A, R2, E2, B> extends OrElseEffect_base<readonly [Effect<R, E, A>, (cause: Cause<E>) => Effect<R2, E2, B>], R | R2, E2, A | B> {
149
- }
150
- declare const EnsuringEffect_base: {
151
- new <I, R_1, E_1, A_1>(input: I, __trace?: string | undefined): {
152
- readonly tag: "Ensuring";
153
- readonly input: I;
154
- readonly __trace?: string | undefined;
155
- [Symbol.iterator](): Generator<any, A_1, any>;
156
- readonly __EFFECT__: {
157
- readonly _R: () => R_1;
158
- readonly _E: () => E_1;
159
- readonly _A: () => A_1;
160
- };
161
- };
162
- tag: "Ensuring";
163
- };
164
- export declare class EnsuringEffect<R, E, A, R2, E2, B> extends EnsuringEffect_base<readonly [Effect<R, E, A>, (cause: Exit<E, A>) => Effect<R2, E2, B>], R | R2, E2, B> {
165
- }
166
- declare const YieldNow_base: {
167
- new <I, R, E, A>(input: I, __trace?: string | undefined): {
168
- readonly tag: "YieldNow";
169
- readonly input: I;
170
- readonly __trace?: string | undefined;
171
- [Symbol.iterator](): Generator<any, A, any>;
172
- readonly __EFFECT__: {
173
- readonly _R: () => R;
174
- readonly _E: () => E;
175
- readonly _A: () => A;
176
- };
177
- };
178
- tag: "YieldNow";
179
- };
180
- export declare class YieldNow extends YieldNow_base<never, never, never, void> {
181
- }
182
- declare const YieldEffect_base: {
183
- new <I, R_1, E, A>(input: I, __trace?: string | undefined): {
184
- readonly tag: "YieldEffect";
185
- readonly input: I;
186
- readonly __trace?: string | undefined;
187
- [Symbol.iterator](): Generator<any, A, any>;
188
- readonly __EFFECT__: {
189
- readonly _R: () => R_1;
190
- readonly _E: () => E;
191
- readonly _A: () => A;
192
- };
193
- };
194
- tag: "YieldEffect";
195
- };
196
- export declare class YieldEffect<R> extends YieldEffect_base<R, R | YieldOf<R>, ErrorsOf<R>, OutputOf<R>> {
197
- }
198
- export {};
199
- //# sourceMappingURL=Effect.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Effect.d.ts","sourceRoot":"","sources":["../../src/Effect/Effect.ts"],"names":[],"mappings":"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"}
@@ -1,50 +0,0 @@
1
- // TODO: Track yields as a Tuple?
2
- // TODO: Track Return HKTs?
3
- export class EffectBrand {
4
- __EFFECT__;
5
- }
6
- export class Instr extends EffectBrand {
7
- input;
8
- __trace;
9
- static tag;
10
- constructor(input, __trace) {
11
- super();
12
- this.input = input;
13
- this.__trace = __trace;
14
- }
15
- *[Symbol.iterator]() {
16
- return yield this;
17
- }
18
- }
19
- export const instr = (tag) => class Instruction extends Instr {
20
- static tag = tag;
21
- tag = tag;
22
- };
23
- export class Now extends instr('Now') {
24
- }
25
- export class FromLazy extends instr('FromLazy') {
26
- }
27
- export class FromCause extends instr('FromCause') {
28
- }
29
- export class LazyEffect extends instr('LazyEffect') {
30
- }
31
- export class MapEffect extends instr('MapEffect') {
32
- }
33
- export class FlatMapEffect extends instr('FlatMapEffect') {
34
- }
35
- export class OrElseEffect extends instr('OrElseEffect') {
36
- }
37
- export class EnsuringEffect extends instr('Ensuring') {
38
- }
39
- export class YieldNow extends instr('YieldNow') {
40
- }
41
- export class YieldEffect extends instr('YieldEffect') {
42
- }
43
- // TODO: ProvideHandler + Handler
44
- // TODO: GetHandlers - Use HKT to track return values?
45
- // TODO: StackMap + References
46
- // TODO: Interrupts
47
- // TODO: Tracing
48
- // TODO: Supervision
49
- // TODO: Multiple Resumes
50
- //# sourceMappingURL=Effect.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Effect.js","sourceRoot":"","sources":["../../src/Effect/Effect.ts"],"names":[],"mappings":"AAMA,iCAAiC;AACjC,2BAA2B;AAE3B,MAAM,OAAgB,WAAW;IACtB,UAAU,CAIlB;CACF;AAED,MAAM,OAAgB,KAAkC,SAAQ,WAAoB;IAI7D;IAAmB;IAHxC,MAAM,CAAC,GAAG,CAAQ;IAGlB,YAAqB,KAAQ,EAAW,OAAgB;QACtD,KAAK,EAAE,CAAA;QADY,UAAK,GAAL,KAAK,CAAG;QAAW,YAAO,GAAP,OAAO,CAAS;IAExD,CAAC;IAED,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChB,OAAO,MAAM,IAAI,CAAA;IACnB,CAAC;CACF;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,CAAqB,GAAQ,EAAE,EAAE,CACpD,MAAM,WAAwB,SAAQ,KAAiB;IACrD,MAAM,CAAC,GAAG,GAAQ,GAAG,CAAA;IACZ,GAAG,GAAQ,GAAG,CAAA;CACxB,CAAA;AAuBH,MAAM,OAAO,GAAO,SAAQ,KAAK,CAAC,KAAK,CAAqB;CAAG;AAE/D,MAAM,OAAO,QAAY,SAAQ,KAAK,CAAC,UAAU,CAA6B;CAAG;AAEjF,MAAM,OAAO,SAAa,SAAQ,KAAK,CAAC,WAAW,CAA8B;CAAG;AAEpF,MAAM,OAAO,UAAoB,SAAQ,KAAK,CAAC,YAAY,CAAmC;CAAG;AAEjG,MAAM,OAAO,SAAsB,SAAQ,KAAK,CAAC,WAAW,CAK3D;CAAG;AAEJ,MAAM,OAAO,aAAkC,SAAQ,KAAK,CAAC,eAAe,CAK3E;CAAG;AAEJ,MAAM,OAAO,YAAiC,SAAQ,KAAK,CAAC,cAAc,CAKzE;CAAG;AAEJ,MAAM,OAAO,cAAmC,SAAQ,KAAK,CAAC,UAAU,CAKvE;CAAG;AAEJ,MAAM,OAAO,QAAS,SAAQ,KAAK,CAAC,UAAU,CAA4B;CAAG;AAE7E,MAAM,OAAO,WAAe,SAAQ,KAAK,CAAC,aAAa,CAKtD;CAAG;AAEJ,iCAAiC;AACjC,sDAAsD;AACtD,8BAA8B;AAC9B,mBAAmB;AACnB,gBAAgB;AAChB,oBAAoB;AACpB,yBAAyB"}
@@ -1,109 +0,0 @@
1
- import * as F from 'hkt-ts/function'
2
-
3
- import * as C from '@/Cause/index.js'
4
- import { Cause } from '@/Cause/index.js'
5
- import { Exit } from '@/Exit/Exit.js'
6
-
7
- // TODO: Track yields as a Tuple?
8
- // TODO: Track Return HKTs?
9
-
10
- export abstract class EffectBrand<R, E, A> {
11
- readonly __EFFECT__!: {
12
- readonly _R: () => R
13
- readonly _E: () => E
14
- readonly _A: () => A
15
- }
16
- }
17
-
18
- export abstract class Instr<out I, out R, out E, out A> extends EffectBrand<R, E, A> {
19
- static tag: string
20
- abstract readonly tag: string
21
-
22
- constructor(readonly input: I, readonly __trace?: string) {
23
- super()
24
- }
25
-
26
- *[Symbol.iterator](): Generator<this, A, any> {
27
- return yield this
28
- }
29
- }
30
-
31
- export const instr = <Tag extends string>(tag: Tag) =>
32
- class Instruction<I, R, E, A> extends Instr<I, R, E, A> {
33
- static tag: Tag = tag
34
- readonly tag: Tag = tag
35
- }
36
-
37
- /* eslint-disable @typescript-eslint/no-unused-vars */
38
- export type YieldOf<T> = T extends EffectBrand<infer _R, infer _E, infer _A> ? _R : never
39
- export type ErrorsOf<T> = T extends EffectBrand<infer _R, infer _E, infer _A> ? _E : never
40
- export type OutputOf<T> = T extends EffectBrand<infer _R, infer _E, infer _A> ? _A : never
41
- /* eslint-enable @typescript-eslint/no-unused-vars */
42
-
43
- export type Effect<R, E, A> =
44
- // Constructors
45
- | Now<A>
46
- | FromLazy<A>
47
- | FromCause<E>
48
- | LazyEffect<R, E, A>
49
- // Control Flow
50
- | MapEffect<R, E, any, A>
51
- | FlatMapEffect<R, E, any, R, E, A>
52
- | OrElseEffect<R, any, A, R, E, A>
53
- | EnsuringEffect<R, any, any, R, E, A>
54
- | YieldNow
55
- // Efeccts
56
- | YieldEffect<R>
57
-
58
- export class Now<A> extends instr('Now')<A, never, never, A> {}
59
-
60
- export class FromLazy<A> extends instr('FromLazy')<F.Lazy<A>, never, never, A> {}
61
-
62
- export class FromCause<E> extends instr('FromCause')<C.Cause<E>, never, E, never> {}
63
-
64
- export class LazyEffect<R, E, A> extends instr('LazyEffect')<F.Lazy<Effect<R, E, A>>, R, E, A> {}
65
-
66
- export class MapEffect<R, E, A, B> extends instr('MapEffect')<
67
- readonly [Effect<R, E, A>, (a: A) => B],
68
- R,
69
- E,
70
- B
71
- > {}
72
-
73
- export class FlatMapEffect<R, E, A, R2, E2, B> extends instr('FlatMapEffect')<
74
- readonly [Effect<R, E, A>, (a: A) => Effect<R2, E2, B>],
75
- R | R2,
76
- E | E2,
77
- B
78
- > {}
79
-
80
- export class OrElseEffect<R, E, A, R2, E2, B> extends instr('OrElseEffect')<
81
- readonly [Effect<R, E, A>, (cause: Cause<E>) => Effect<R2, E2, B>],
82
- R | R2,
83
- E2,
84
- A | B
85
- > {}
86
-
87
- export class EnsuringEffect<R, E, A, R2, E2, B> extends instr('Ensuring')<
88
- readonly [Effect<R, E, A>, (cause: Exit<E, A>) => Effect<R2, E2, B>],
89
- R | R2,
90
- E2,
91
- B
92
- > {}
93
-
94
- export class YieldNow extends instr('YieldNow')<never, never, never, void> {}
95
-
96
- export class YieldEffect<R> extends instr('YieldEffect')<
97
- R,
98
- R | YieldOf<R>,
99
- ErrorsOf<R>,
100
- OutputOf<R>
101
- > {}
102
-
103
- // TODO: ProvideHandler + Handler
104
- // TODO: GetHandlers - Use HKT to track return values?
105
- // TODO: StackMap + References
106
- // TODO: Interrupts
107
- // TODO: Tracing
108
- // TODO: Supervision
109
- // TODO: Multiple Resumes