effect 3.13.1 → 3.13.3

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 (378) hide show
  1. package/dist/cjs/Array.js.map +1 -1
  2. package/dist/cjs/Channel.js.map +1 -1
  3. package/dist/cjs/Chunk.js.map +1 -1
  4. package/dist/cjs/Context.js.map +1 -1
  5. package/dist/cjs/DateTime.js.map +1 -1
  6. package/dist/cjs/Duration.js +1 -3
  7. package/dist/cjs/Duration.js.map +1 -1
  8. package/dist/cjs/Effect.js.map +1 -1
  9. package/dist/cjs/Either.js.map +1 -1
  10. package/dist/cjs/Exit.js.map +1 -1
  11. package/dist/cjs/FiberHandle.js +5 -3
  12. package/dist/cjs/FiberHandle.js.map +1 -1
  13. package/dist/cjs/FiberMap.js +5 -3
  14. package/dist/cjs/FiberMap.js.map +1 -1
  15. package/dist/cjs/FiberSet.js +6 -3
  16. package/dist/cjs/FiberSet.js.map +1 -1
  17. package/dist/cjs/Function.js.map +1 -1
  18. package/dist/cjs/HashSet.js.map +1 -1
  19. package/dist/cjs/Iterable.js.map +1 -1
  20. package/dist/cjs/JSONSchema.js +7 -7
  21. package/dist/cjs/JSONSchema.js.map +1 -1
  22. package/dist/cjs/Layer.js.map +1 -1
  23. package/dist/cjs/List.js.map +1 -1
  24. package/dist/cjs/Logger.js.map +1 -1
  25. package/dist/cjs/Metric.js.map +1 -1
  26. package/dist/cjs/MetricKey.js.map +1 -1
  27. package/dist/cjs/MetricPolling.js.map +1 -1
  28. package/dist/cjs/Micro.js.map +1 -1
  29. package/dist/cjs/MutableHashMap.js.map +1 -1
  30. package/dist/cjs/Option.js +3 -15
  31. package/dist/cjs/Option.js.map +1 -1
  32. package/dist/cjs/ParseResult.js +1 -1
  33. package/dist/cjs/ParseResult.js.map +1 -1
  34. package/dist/cjs/Predicate.js.map +1 -1
  35. package/dist/cjs/Record.js.map +1 -1
  36. package/dist/cjs/Request.js.map +1 -1
  37. package/dist/cjs/RequestResolver.js.map +1 -1
  38. package/dist/cjs/STM.js.map +1 -1
  39. package/dist/cjs/Schedule.js.map +1 -1
  40. package/dist/cjs/Schema.js +593 -522
  41. package/dist/cjs/Schema.js.map +1 -1
  42. package/dist/cjs/SchemaAST.js +1 -1
  43. package/dist/cjs/SchemaAST.js.map +1 -1
  44. package/dist/cjs/Sink.js.map +1 -1
  45. package/dist/cjs/SortedMap.js.map +1 -1
  46. package/dist/cjs/Stream.js.map +1 -1
  47. package/dist/cjs/Struct.js.map +1 -1
  48. package/dist/cjs/Subscribable.js.map +1 -1
  49. package/dist/cjs/SubscriptionRef.js.map +1 -1
  50. package/dist/cjs/SynchronizedRef.js.map +1 -1
  51. package/dist/cjs/TArray.js.map +1 -1
  52. package/dist/cjs/TMap.js.map +1 -1
  53. package/dist/cjs/TRef.js.map +1 -1
  54. package/dist/cjs/Take.js.map +1 -1
  55. package/dist/cjs/TestServices.js.map +1 -1
  56. package/dist/cjs/Unify.js.map +1 -1
  57. package/dist/cjs/internal/fiberRuntime.js +4 -5
  58. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  59. package/dist/cjs/internal/stm/core.js +5 -5
  60. package/dist/cjs/internal/stm/core.js.map +1 -1
  61. package/dist/cjs/internal/stm/entry.js.map +1 -0
  62. package/dist/cjs/internal/stm/journal.js.map +1 -0
  63. package/dist/cjs/internal/stm/stm.js +2 -2
  64. package/dist/cjs/internal/stm/stm.js.map +1 -1
  65. package/dist/cjs/internal/stm/{stm/stmState.js → stmState.js} +7 -7
  66. package/dist/cjs/internal/stm/stmState.js.map +1 -0
  67. package/dist/cjs/internal/stm/{stm/tExit.js → tExit.js} +5 -5
  68. package/dist/cjs/internal/stm/tExit.js.map +1 -0
  69. package/dist/cjs/internal/stm/tMap.js.map +1 -1
  70. package/dist/cjs/internal/stm/tRef.js +2 -2
  71. package/dist/cjs/internal/stm/tRef.js.map +1 -1
  72. package/dist/cjs/internal/stm/{stm/tryCommit.js → tryCommit.js} +1 -1
  73. package/dist/cjs/internal/stm/tryCommit.js.map +1 -0
  74. package/dist/cjs/internal/stm/txnId.js.map +1 -0
  75. package/dist/cjs/internal/stm/versioned.js.map +1 -0
  76. package/dist/cjs/internal/version.js +1 -1
  77. package/dist/dts/Array.d.ts +6 -6
  78. package/dist/dts/Array.d.ts.map +1 -1
  79. package/dist/dts/Cause.d.ts.map +1 -1
  80. package/dist/dts/Channel.d.ts.map +1 -1
  81. package/dist/dts/ChildExecutorDecision.d.ts.map +1 -1
  82. package/dist/dts/Chunk.d.ts.map +1 -1
  83. package/dist/dts/Config.d.ts.map +1 -1
  84. package/dist/dts/ConfigProvider.d.ts.map +1 -1
  85. package/dist/dts/Console.d.ts.map +1 -1
  86. package/dist/dts/Context.d.ts +1 -1
  87. package/dist/dts/Context.d.ts.map +1 -1
  88. package/dist/dts/DateTime.d.ts.map +1 -1
  89. package/dist/dts/Duration.d.ts +1 -3
  90. package/dist/dts/Duration.d.ts.map +1 -1
  91. package/dist/dts/Effect.d.ts.map +1 -1
  92. package/dist/dts/Either.d.ts.map +1 -1
  93. package/dist/dts/ExecutionStrategy.d.ts.map +1 -1
  94. package/dist/dts/Exit.d.ts.map +1 -1
  95. package/dist/dts/Fiber.d.ts.map +1 -1
  96. package/dist/dts/FiberHandle.d.ts.map +1 -1
  97. package/dist/dts/FiberMap.d.ts.map +1 -1
  98. package/dist/dts/FiberRefsPatch.d.ts.map +1 -1
  99. package/dist/dts/FiberSet.d.ts.map +1 -1
  100. package/dist/dts/Function.d.ts.map +1 -1
  101. package/dist/dts/GroupBy.d.ts.map +1 -1
  102. package/dist/dts/HashSet.d.ts.map +1 -1
  103. package/dist/dts/Iterable.d.ts.map +1 -1
  104. package/dist/dts/Layer.d.ts.map +1 -1
  105. package/dist/dts/List.d.ts.map +1 -1
  106. package/dist/dts/Logger.d.ts.map +1 -1
  107. package/dist/dts/Mailbox.d.ts.map +1 -1
  108. package/dist/dts/MergeDecision.d.ts.map +1 -1
  109. package/dist/dts/MergeStrategy.d.ts.map +1 -1
  110. package/dist/dts/Metric.d.ts.map +1 -1
  111. package/dist/dts/MetricKey.d.ts.map +1 -1
  112. package/dist/dts/MetricPolling.d.ts.map +1 -1
  113. package/dist/dts/Micro.d.ts.map +1 -1
  114. package/dist/dts/MutableHashMap.d.ts.map +1 -1
  115. package/dist/dts/Option.d.ts +3 -42
  116. package/dist/dts/Option.d.ts.map +1 -1
  117. package/dist/dts/ParseResult.d.ts.map +1 -1
  118. package/dist/dts/Predicate.d.ts.map +1 -1
  119. package/dist/dts/RcMap.d.ts.map +1 -1
  120. package/dist/dts/Record.d.ts.map +1 -1
  121. package/dist/dts/RedBlackTree.d.ts.map +1 -1
  122. package/dist/dts/Request.d.ts.map +1 -1
  123. package/dist/dts/RequestResolver.d.ts.map +1 -1
  124. package/dist/dts/Runtime.d.ts.map +1 -1
  125. package/dist/dts/STM.d.ts.map +1 -1
  126. package/dist/dts/Schedule.d.ts.map +1 -1
  127. package/dist/dts/Schema.d.ts +394 -271
  128. package/dist/dts/Schema.d.ts.map +1 -1
  129. package/dist/dts/Sink.d.ts.map +1 -1
  130. package/dist/dts/SortedMap.d.ts.map +1 -1
  131. package/dist/dts/Stream.d.ts.map +1 -1
  132. package/dist/dts/StreamHaltStrategy.d.ts.map +1 -1
  133. package/dist/dts/Struct.d.ts.map +1 -1
  134. package/dist/dts/Subscribable.d.ts.map +1 -1
  135. package/dist/dts/SubscriptionRef.d.ts.map +1 -1
  136. package/dist/dts/SynchronizedRef.d.ts.map +1 -1
  137. package/dist/dts/TArray.d.ts.map +1 -1
  138. package/dist/dts/TMap.d.ts.map +1 -1
  139. package/dist/dts/TSubscriptionRef.d.ts.map +1 -1
  140. package/dist/dts/Take.d.ts.map +1 -1
  141. package/dist/dts/TestServices.d.ts.map +1 -1
  142. package/dist/dts/Unify.d.ts.map +1 -1
  143. package/dist/dts/UpstreamPullRequest.d.ts.map +1 -1
  144. package/dist/dts/UpstreamPullStrategy.d.ts.map +1 -1
  145. package/dist/dts/internal/stm/entry.d.ts.map +1 -0
  146. package/dist/dts/internal/stm/journal.d.ts.map +1 -0
  147. package/dist/dts/internal/stm/stmState.d.ts.map +1 -0
  148. package/dist/dts/internal/stm/tExit.d.ts.map +1 -0
  149. package/dist/dts/internal/stm/tryCommit.d.ts.map +1 -0
  150. package/dist/dts/internal/stm/txnId.d.ts.map +1 -0
  151. package/dist/dts/internal/stm/versioned.d.ts.map +1 -0
  152. package/dist/esm/Array.js.map +1 -1
  153. package/dist/esm/Channel.js.map +1 -1
  154. package/dist/esm/Chunk.js.map +1 -1
  155. package/dist/esm/Context.js.map +1 -1
  156. package/dist/esm/DateTime.js.map +1 -1
  157. package/dist/esm/Duration.js +1 -3
  158. package/dist/esm/Duration.js.map +1 -1
  159. package/dist/esm/Effect.js.map +1 -1
  160. package/dist/esm/Either.js.map +1 -1
  161. package/dist/esm/Exit.js.map +1 -1
  162. package/dist/esm/FiberHandle.js +5 -3
  163. package/dist/esm/FiberHandle.js.map +1 -1
  164. package/dist/esm/FiberMap.js +5 -3
  165. package/dist/esm/FiberMap.js.map +1 -1
  166. package/dist/esm/FiberSet.js +6 -3
  167. package/dist/esm/FiberSet.js.map +1 -1
  168. package/dist/esm/Function.js.map +1 -1
  169. package/dist/esm/HashSet.js.map +1 -1
  170. package/dist/esm/Iterable.js.map +1 -1
  171. package/dist/esm/JSONSchema.js +7 -7
  172. package/dist/esm/JSONSchema.js.map +1 -1
  173. package/dist/esm/Layer.js.map +1 -1
  174. package/dist/esm/List.js.map +1 -1
  175. package/dist/esm/Logger.js.map +1 -1
  176. package/dist/esm/Metric.js.map +1 -1
  177. package/dist/esm/MetricKey.js.map +1 -1
  178. package/dist/esm/MetricPolling.js.map +1 -1
  179. package/dist/esm/Micro.js.map +1 -1
  180. package/dist/esm/MutableHashMap.js.map +1 -1
  181. package/dist/esm/Option.js +3 -15
  182. package/dist/esm/Option.js.map +1 -1
  183. package/dist/esm/ParseResult.js +1 -1
  184. package/dist/esm/ParseResult.js.map +1 -1
  185. package/dist/esm/Predicate.js.map +1 -1
  186. package/dist/esm/Record.js.map +1 -1
  187. package/dist/esm/Request.js.map +1 -1
  188. package/dist/esm/RequestResolver.js.map +1 -1
  189. package/dist/esm/STM.js.map +1 -1
  190. package/dist/esm/Schedule.js.map +1 -1
  191. package/dist/esm/Schema.js +538 -490
  192. package/dist/esm/Schema.js.map +1 -1
  193. package/dist/esm/SchemaAST.js +1 -1
  194. package/dist/esm/SchemaAST.js.map +1 -1
  195. package/dist/esm/Sink.js.map +1 -1
  196. package/dist/esm/SortedMap.js.map +1 -1
  197. package/dist/esm/Stream.js.map +1 -1
  198. package/dist/esm/Struct.js.map +1 -1
  199. package/dist/esm/Subscribable.js.map +1 -1
  200. package/dist/esm/SubscriptionRef.js.map +1 -1
  201. package/dist/esm/SynchronizedRef.js.map +1 -1
  202. package/dist/esm/TArray.js.map +1 -1
  203. package/dist/esm/TMap.js.map +1 -1
  204. package/dist/esm/TRef.js.map +1 -1
  205. package/dist/esm/Take.js.map +1 -1
  206. package/dist/esm/TestServices.js.map +1 -1
  207. package/dist/esm/Unify.js.map +1 -1
  208. package/dist/esm/internal/fiberRuntime.js +4 -5
  209. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  210. package/dist/esm/internal/stm/core.js +5 -5
  211. package/dist/esm/internal/stm/core.js.map +1 -1
  212. package/dist/esm/internal/stm/entry.js.map +1 -0
  213. package/dist/esm/internal/stm/journal.js.map +1 -0
  214. package/dist/esm/internal/stm/stm.js +2 -2
  215. package/dist/esm/internal/stm/stm.js.map +1 -1
  216. package/dist/esm/internal/stm/{stm/stmState.js → stmState.js} +7 -7
  217. package/dist/esm/internal/stm/stmState.js.map +1 -0
  218. package/dist/esm/internal/stm/{stm/tExit.js → tExit.js} +5 -5
  219. package/dist/esm/internal/stm/tExit.js.map +1 -0
  220. package/dist/esm/internal/stm/tMap.js.map +1 -1
  221. package/dist/esm/internal/stm/tRef.js +2 -2
  222. package/dist/esm/internal/stm/tRef.js.map +1 -1
  223. package/dist/esm/internal/stm/{stm/tryCommit.js → tryCommit.js} +1 -1
  224. package/dist/esm/internal/stm/tryCommit.js.map +1 -0
  225. package/dist/esm/internal/stm/txnId.js.map +1 -0
  226. package/dist/esm/internal/stm/versioned.js.map +1 -0
  227. package/dist/esm/internal/version.js +1 -1
  228. package/package.json +1 -1
  229. package/src/Array.ts +26 -86
  230. package/src/Cause.ts +20 -20
  231. package/src/Channel.ts +14 -44
  232. package/src/ChildExecutorDecision.ts +11 -11
  233. package/src/Chunk.ts +23 -36
  234. package/src/Config.ts +27 -27
  235. package/src/ConfigProvider.ts +3 -3
  236. package/src/Console.ts +9 -9
  237. package/src/Context.ts +3 -10
  238. package/src/DateTime.ts +96 -104
  239. package/src/Duration.ts +1 -3
  240. package/src/Effect.ts +64 -229
  241. package/src/Either.ts +2 -8
  242. package/src/ExecutionStrategy.ts +11 -11
  243. package/src/Exit.ts +27 -29
  244. package/src/Fiber.ts +9 -9
  245. package/src/FiberHandle.ts +11 -7
  246. package/src/FiberMap.ts +11 -7
  247. package/src/FiberRefsPatch.ts +3 -3
  248. package/src/FiberSet.ts +9 -7
  249. package/src/Function.ts +2 -8
  250. package/src/GroupBy.ts +5 -5
  251. package/src/HashSet.ts +2 -7
  252. package/src/Iterable.ts +2 -7
  253. package/src/JSONSchema.ts +7 -7
  254. package/src/Layer.ts +22 -77
  255. package/src/List.ts +32 -43
  256. package/src/Logger.ts +21 -55
  257. package/src/Mailbox.ts +9 -9
  258. package/src/MergeDecision.ts +9 -9
  259. package/src/MergeStrategy.ts +9 -9
  260. package/src/Metric.ts +13 -47
  261. package/src/MetricKey.ts +4 -16
  262. package/src/MetricPolling.ts +1 -3
  263. package/src/Micro.ts +43 -104
  264. package/src/MutableHashMap.ts +1 -4
  265. package/src/Option.ts +8 -50
  266. package/src/ParseResult.ts +5 -17
  267. package/src/Predicate.ts +2 -6
  268. package/src/RcMap.ts +10 -10
  269. package/src/Record.ts +24 -90
  270. package/src/RedBlackTree.ts +14 -14
  271. package/src/Request.ts +2 -7
  272. package/src/RequestResolver.ts +6 -22
  273. package/src/Runtime.ts +4 -4
  274. package/src/STM.ts +17 -67
  275. package/src/Schedule.ts +37 -126
  276. package/src/Schema.ts +1429 -1256
  277. package/src/SchemaAST.ts +1 -1
  278. package/src/Sink.ts +20 -68
  279. package/src/SortedMap.ts +1 -3
  280. package/src/Stream.ts +86 -311
  281. package/src/StreamHaltStrategy.ts +13 -13
  282. package/src/Struct.ts +2 -7
  283. package/src/Subscribable.ts +1 -3
  284. package/src/SubscriptionRef.ts +1 -3
  285. package/src/SynchronizedRef.ts +17 -19
  286. package/src/TArray.ts +7 -10
  287. package/src/TMap.ts +4 -13
  288. package/src/TRef.ts +3 -3
  289. package/src/TSubscriptionRef.ts +3 -3
  290. package/src/Take.ts +24 -29
  291. package/src/TestServices.ts +1 -3
  292. package/src/Unify.ts +1 -3
  293. package/src/UpstreamPullRequest.ts +9 -9
  294. package/src/UpstreamPullStrategy.ts +9 -9
  295. package/src/internal/fiberRuntime.ts +5 -4
  296. package/src/internal/stm/core.ts +5 -5
  297. package/src/internal/stm/{stm/entry.ts → entry.ts} +1 -1
  298. package/src/internal/stm/{stm/journal.ts → journal.ts} +1 -1
  299. package/src/internal/stm/stm.ts +2 -2
  300. package/src/internal/stm/{stm/stmState.ts → stmState.ts} +7 -7
  301. package/src/internal/stm/{stm/tExit.ts → tExit.ts} +7 -7
  302. package/src/internal/stm/tMap.ts +1 -1
  303. package/src/internal/stm/tRef.ts +4 -4
  304. package/src/internal/stm/{stm/tryCommit.ts → tryCommit.ts} +2 -2
  305. package/src/internal/version.ts +1 -1
  306. package/dist/cjs/internal/stm/stm/entry.js.map +0 -1
  307. package/dist/cjs/internal/stm/stm/journal.js.map +0 -1
  308. package/dist/cjs/internal/stm/stm/opCodes/stm.js +0 -31
  309. package/dist/cjs/internal/stm/stm/opCodes/stm.js.map +0 -1
  310. package/dist/cjs/internal/stm/stm/opCodes/stmState.js +0 -13
  311. package/dist/cjs/internal/stm/stm/opCodes/stmState.js.map +0 -1
  312. package/dist/cjs/internal/stm/stm/opCodes/strategy.js +0 -13
  313. package/dist/cjs/internal/stm/stm/opCodes/strategy.js.map +0 -1
  314. package/dist/cjs/internal/stm/stm/opCodes/tExit.js +0 -17
  315. package/dist/cjs/internal/stm/stm/opCodes/tExit.js.map +0 -1
  316. package/dist/cjs/internal/stm/stm/opCodes/tryCommit.js +0 -11
  317. package/dist/cjs/internal/stm/stm/opCodes/tryCommit.js.map +0 -1
  318. package/dist/cjs/internal/stm/stm/stmState.js.map +0 -1
  319. package/dist/cjs/internal/stm/stm/tExit.js.map +0 -1
  320. package/dist/cjs/internal/stm/stm/tryCommit.js.map +0 -1
  321. package/dist/cjs/internal/stm/stm/txnId.js.map +0 -1
  322. package/dist/cjs/internal/stm/stm/versioned.js.map +0 -1
  323. package/dist/dts/internal/stm/stm/entry.d.ts.map +0 -1
  324. package/dist/dts/internal/stm/stm/journal.d.ts.map +0 -1
  325. package/dist/dts/internal/stm/stm/opCodes/stm.d.ts +0 -2
  326. package/dist/dts/internal/stm/stm/opCodes/stm.d.ts.map +0 -1
  327. package/dist/dts/internal/stm/stm/opCodes/stmState.d.ts.map +0 -1
  328. package/dist/dts/internal/stm/stm/opCodes/strategy.d.ts +0 -2
  329. package/dist/dts/internal/stm/stm/opCodes/strategy.d.ts.map +0 -1
  330. package/dist/dts/internal/stm/stm/opCodes/tExit.d.ts +0 -2
  331. package/dist/dts/internal/stm/stm/opCodes/tExit.d.ts.map +0 -1
  332. package/dist/dts/internal/stm/stm/opCodes/tryCommit.d.ts.map +0 -1
  333. package/dist/dts/internal/stm/stm/stmState.d.ts +0 -2
  334. package/dist/dts/internal/stm/stm/stmState.d.ts.map +0 -1
  335. package/dist/dts/internal/stm/stm/tExit.d.ts.map +0 -1
  336. package/dist/dts/internal/stm/stm/tryCommit.d.ts +0 -2
  337. package/dist/dts/internal/stm/stm/tryCommit.d.ts.map +0 -1
  338. package/dist/dts/internal/stm/stm/txnId.d.ts.map +0 -1
  339. package/dist/dts/internal/stm/stm/versioned.d.ts.map +0 -1
  340. package/dist/esm/internal/stm/stm/entry.js.map +0 -1
  341. package/dist/esm/internal/stm/stm/journal.js.map +0 -1
  342. package/dist/esm/internal/stm/stm/opCodes/stm.js +0 -25
  343. package/dist/esm/internal/stm/stm/opCodes/stm.js.map +0 -1
  344. package/dist/esm/internal/stm/stm/opCodes/stmState.js +0 -7
  345. package/dist/esm/internal/stm/stm/opCodes/stmState.js.map +0 -1
  346. package/dist/esm/internal/stm/stm/opCodes/strategy.js +0 -7
  347. package/dist/esm/internal/stm/stm/opCodes/strategy.js.map +0 -1
  348. package/dist/esm/internal/stm/stm/opCodes/tExit.js +0 -11
  349. package/dist/esm/internal/stm/stm/opCodes/tExit.js.map +0 -1
  350. package/dist/esm/internal/stm/stm/opCodes/tryCommit.js +0 -5
  351. package/dist/esm/internal/stm/stm/opCodes/tryCommit.js.map +0 -1
  352. package/dist/esm/internal/stm/stm/stmState.js.map +0 -1
  353. package/dist/esm/internal/stm/stm/tExit.js.map +0 -1
  354. package/dist/esm/internal/stm/stm/tryCommit.js.map +0 -1
  355. package/dist/esm/internal/stm/stm/txnId.js.map +0 -1
  356. package/dist/esm/internal/stm/stm/versioned.js.map +0 -1
  357. package/src/internal/stm/stm/opCodes/stm.ts +0 -71
  358. package/src/internal/stm/stm/opCodes/stmState.ts +0 -17
  359. package/src/internal/stm/stm/opCodes/strategy.ts +0 -17
  360. package/src/internal/stm/stm/opCodes/tExit.ts +0 -29
  361. package/src/internal/stm/stm/opCodes/tryCommit.ts +0 -11
  362. /package/dist/cjs/internal/stm/{stm/entry.js → entry.js} +0 -0
  363. /package/dist/cjs/internal/stm/{stm/journal.js → journal.js} +0 -0
  364. /package/dist/cjs/internal/stm/{stm/txnId.js → txnId.js} +0 -0
  365. /package/dist/cjs/internal/stm/{stm/versioned.js → versioned.js} +0 -0
  366. /package/dist/dts/internal/stm/{stm/entry.d.ts → entry.d.ts} +0 -0
  367. /package/dist/dts/internal/stm/{stm/journal.d.ts → journal.d.ts} +0 -0
  368. /package/dist/dts/internal/stm/{stm/opCodes/stmState.d.ts → stmState.d.ts} +0 -0
  369. /package/dist/dts/internal/stm/{stm/tExit.d.ts → tExit.d.ts} +0 -0
  370. /package/dist/dts/internal/stm/{stm/opCodes/tryCommit.d.ts → tryCommit.d.ts} +0 -0
  371. /package/dist/dts/internal/stm/{stm/txnId.d.ts → txnId.d.ts} +0 -0
  372. /package/dist/dts/internal/stm/{stm/versioned.d.ts → versioned.d.ts} +0 -0
  373. /package/dist/esm/internal/stm/{stm/entry.js → entry.js} +0 -0
  374. /package/dist/esm/internal/stm/{stm/journal.js → journal.js} +0 -0
  375. /package/dist/esm/internal/stm/{stm/txnId.js → txnId.js} +0 -0
  376. /package/dist/esm/internal/stm/{stm/versioned.js → versioned.js} +0 -0
  377. /package/src/internal/stm/{stm/txnId.ts → txnId.ts} +0 -0
  378. /package/src/internal/stm/{stm/versioned.ts → versioned.ts} +0 -0
package/src/Metric.ts CHANGED
@@ -720,9 +720,7 @@ export const taggedWithLabelsInput: {
720
720
  * @since 2.0.0
721
721
  * @category utils
722
722
  */
723
- <In>(
724
- f: (input: In) => Iterable<MetricLabel.MetricLabel>
725
- ): <Type, Out>(self: Metric<Type, In, Out>) => Metric<Type, In, void>
723
+ <In>(f: (input: In) => Iterable<MetricLabel.MetricLabel>): <Type, Out>(self: Metric<Type, In, Out>) => Metric<Type, In, void>
726
724
  /**
727
725
  * Returns a new metric, which is identical in every way to this one, except
728
726
  * dynamic tags are added based on the update values. Note that the metric
@@ -811,9 +809,7 @@ export const trackAll: {
811
809
  * @since 2.0.0
812
810
  * @category aspects
813
811
  */
814
- <In>(
815
- input: In
816
- ): <Type, Out>(self: Metric<Type, In, Out>) => <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
812
+ <In>(input: In): <Type, Out>(self: Metric<Type, In, Out>) => <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
817
813
  /**
818
814
  * Returns an aspect that will update this metric with the specified constant
819
815
  * value every time the aspect is applied to an effect, regardless of whether
@@ -822,10 +818,7 @@ export const trackAll: {
822
818
  * @since 2.0.0
823
819
  * @category aspects
824
820
  */
825
- <Type, In, Out>(
826
- self: Metric<Type, In, Out>,
827
- input: In
828
- ): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
821
+ <Type, In, Out>(self: Metric<Type, In, Out>, input: In): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
829
822
  } = internal.trackAll
830
823
 
831
824
  /**
@@ -871,10 +864,7 @@ export const trackDefectWith: {
871
864
  * @since 2.0.0
872
865
  * @category aspects
873
866
  */
874
- <Type, In, Out>(
875
- metric: Metric<Type, In, Out>,
876
- f: (defect: unknown) => In
877
- ): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
867
+ <Type, In, Out>(metric: Metric<Type, In, Out>, f: (defect: unknown) => In): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
878
868
  /**
879
869
  * Returns an aspect that will update this metric with the result of applying
880
870
  * the specified function to the defect throwables of the effects that the
@@ -907,9 +897,7 @@ export const trackDuration: {
907
897
  * @since 2.0.0
908
898
  * @category aspects
909
899
  */
910
- <Type, Out>(
911
- metric: Metric<Type, Duration.Duration, Out>
912
- ): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
900
+ <Type, Out>(metric: Metric<Type, Duration.Duration, Out>): <A, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
913
901
  /**
914
902
  * Returns an aspect that will update this metric with the duration that the
915
903
  * effect takes to execute. To call this method, the input type of the metric
@@ -918,10 +906,7 @@ export const trackDuration: {
918
906
  * @since 2.0.0
919
907
  * @category aspects
920
908
  */
921
- <A, E, R, Type, Out>(
922
- self: Effect.Effect<A, E, R>,
923
- metric: Metric<Type, Duration.Duration, Out>
924
- ): Effect.Effect<A, E, R>
909
+ <A, E, R, Type, Out>(self: Effect.Effect<A, E, R>, metric: Metric<Type, Duration.Duration, Out>): Effect.Effect<A, E, R>
925
910
  } = internal.trackDuration
926
911
 
927
912
  /**
@@ -941,10 +926,7 @@ export const trackDurationWith: {
941
926
  * @since 2.0.0
942
927
  * @category aspects
943
928
  */
944
- <Type, In, Out>(
945
- metric: Metric<Type, In, Out>,
946
- f: (duration: Duration.Duration) => In
947
- ): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
929
+ <Type, In, Out>(metric: Metric<Type, In, Out>, f: (duration: Duration.Duration) => In): <A, E, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
948
930
  /**
949
931
  * Returns an aspect that will update this metric with the duration that the
950
932
  * effect takes to execute. To call this method, you must supply a function
@@ -975,9 +957,7 @@ export const trackError: {
975
957
  * @since 2.0.0
976
958
  * @category aspects
977
959
  */
978
- <Type, In, Out>(
979
- metric: Metric<Type, In, Out>
980
- ): <A, E extends In, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
960
+ <Type, In, Out>(metric: Metric<Type, In, Out>): <A, E extends In, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
981
961
  /**
982
962
  * Returns an aspect that will update this metric with the failure value of
983
963
  * the effects that it is applied to.
@@ -985,10 +965,7 @@ export const trackError: {
985
965
  * @since 2.0.0
986
966
  * @category aspects
987
967
  */
988
- <A, E extends In, R, Type, In, Out>(
989
- self: Effect.Effect<A, E, R>,
990
- metric: Metric<Type, In, Out>
991
- ): Effect.Effect<A, E, R>
968
+ <A, E extends In, R, Type, In, Out>(self: Effect.Effect<A, E, R>, metric: Metric<Type, In, Out>): Effect.Effect<A, E, R>
992
969
  } = internal.trackError
993
970
 
994
971
  /**
@@ -1008,10 +985,7 @@ export const trackErrorWith: {
1008
985
  * @since 2.0.0
1009
986
  * @category aspects
1010
987
  */
1011
- <Type, In, Out, In2>(
1012
- metric: Metric<Type, In, Out>,
1013
- f: (error: In2) => In
1014
- ): <A, E extends In2, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
988
+ <Type, In, Out, In2>(metric: Metric<Type, In, Out>, f: (error: In2) => In): <A, E extends In2, R>(effect: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
1015
989
  /**
1016
990
  * Returns an aspect that will update this metric with the result of applying
1017
991
  * the specified function to the error value of the effects that the aspect is
@@ -1042,9 +1016,7 @@ export const trackSuccess: {
1042
1016
  * @since 2.0.0
1043
1017
  * @category aspects
1044
1018
  */
1045
- <Type, In, Out>(
1046
- metric: Metric<Type, In, Out>
1047
- ): <A extends In, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
1019
+ <Type, In, Out>(metric: Metric<Type, In, Out>): <A extends In, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
1048
1020
  /**
1049
1021
  * Returns an aspect that will update this metric with the success value of
1050
1022
  * the effects that it is applied to.
@@ -1052,10 +1024,7 @@ export const trackSuccess: {
1052
1024
  * @since 2.0.0
1053
1025
  * @category aspects
1054
1026
  */
1055
- <A extends In, E, R, Type, In, Out>(
1056
- self: Effect.Effect<A, E, R>,
1057
- metric: Metric<Type, In, Out>
1058
- ): Effect.Effect<A, E, R>
1027
+ <A extends In, E, R, Type, In, Out>(self: Effect.Effect<A, E, R>, metric: Metric<Type, In, Out>): Effect.Effect<A, E, R>
1059
1028
  } = internal.trackSuccess
1060
1029
 
1061
1030
  /**
@@ -1075,10 +1044,7 @@ export const trackSuccessWith: {
1075
1044
  * @since 2.0.0
1076
1045
  * @category aspects
1077
1046
  */
1078
- <Type, In, Out, In2>(
1079
- metric: Metric<Type, In, Out>,
1080
- f: (value: In2) => In
1081
- ): <A extends In2, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
1047
+ <Type, In, Out, In2>(metric: Metric<Type, In, Out>, f: (value: In2) => In): <A extends In2, E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A, E, R>
1082
1048
  /**
1083
1049
  * Returns an aspect that will update this metric with the result of applying
1084
1050
  * the specified function to the success value of the effects that the aspect is
package/src/MetricKey.ts CHANGED
@@ -232,21 +232,14 @@ export const tagged: {
232
232
  * @since 2.0.0
233
233
  * @category constructors
234
234
  */
235
- (
236
- key: string,
237
- value: string
238
- ): <Type extends MetricKeyType.MetricKeyType<any, any>>(self: MetricKey<Type>) => MetricKey<Type>
235
+ (key: string, value: string): <Type extends MetricKeyType.MetricKeyType<any, any>>(self: MetricKey<Type>) => MetricKey<Type>
239
236
  /**
240
237
  * Returns a new `MetricKey` with the specified tag appended.
241
238
  *
242
239
  * @since 2.0.0
243
240
  * @category constructors
244
241
  */
245
- <Type extends MetricKeyType.MetricKeyType<any, any>>(
246
- self: MetricKey<Type>,
247
- key: string,
248
- value: string
249
- ): MetricKey<Type>
242
+ <Type extends MetricKeyType.MetricKeyType<any, any>>(self: MetricKey<Type>, key: string, value: string): MetricKey<Type>
250
243
  } = internal.tagged
251
244
 
252
245
  /**
@@ -262,17 +255,12 @@ export const taggedWithLabels: {
262
255
  * @since 2.0.0
263
256
  * @category constructors
264
257
  */
265
- (
266
- extraTags: ReadonlyArray<MetricLabel.MetricLabel>
267
- ): <Type extends MetricKeyType.MetricKeyType<any, any>>(self: MetricKey<Type>) => MetricKey<Type>
258
+ (extraTags: ReadonlyArray<MetricLabel.MetricLabel>): <Type extends MetricKeyType.MetricKeyType<any, any>>(self: MetricKey<Type>) => MetricKey<Type>
268
259
  /**
269
260
  * Returns a new `MetricKey` with the specified tags appended.
270
261
  *
271
262
  * @since 2.0.0
272
263
  * @category constructors
273
264
  */
274
- <Type extends MetricKeyType.MetricKeyType<any, any>>(
275
- self: MetricKey<Type>,
276
- extraTags: ReadonlyArray<MetricLabel.MetricLabel>
277
- ): MetricKey<Type>
265
+ <Type extends MetricKeyType.MetricKeyType<any, any>>(self: MetricKey<Type>, extraTags: ReadonlyArray<MetricLabel.MetricLabel>): MetricKey<Type>
278
266
  } = internal.taggedWithLabels
@@ -127,9 +127,7 @@ export const retry: {
127
127
  * @since 2.0.0
128
128
  * @category constructors
129
129
  */
130
- <X, E, R2>(
131
- policy: Schedule.Schedule<X, NoInfer<E>, R2>
132
- ): <Type, In, R, Out>(self: MetricPolling<Type, In, R, E, Out>) => MetricPolling<Type, In, R2 | R, E, Out>
130
+ <X, E, R2>(policy: Schedule.Schedule<X, NoInfer<E>, R2>): <Type, In, R, Out>(self: MetricPolling<Type, In, R, E, Out>) => MetricPolling<Type, In, R2 | R, E, Out>
133
131
  /**
134
132
  * Returns a new polling metric whose poll function will be retried with the
135
133
  * specified retry policy.
package/src/Micro.ts CHANGED
@@ -1370,10 +1370,7 @@ export const andThen: {
1370
1370
  * @experimental
1371
1371
  * @category mapping & sequencing
1372
1372
  */
1373
- <A, E, R, X>(
1374
- self: Micro<A, E, R>,
1375
- f: (a: A) => X
1376
- ): [X] extends [Micro<infer A1, infer E1, infer R1>] ? Micro<A1, E | E1, R | R1>
1373
+ <A, E, R, X>(self: Micro<A, E, R>, f: (a: A) => X): [X] extends [Micro<infer A1, infer E1, infer R1>] ? Micro<A1, E | E1, R | R1>
1377
1374
  : Micro<X, E, R>
1378
1375
  /**
1379
1376
  * A more flexible version of `flatMap` that combines `map` and `flatMap` into a
@@ -1386,10 +1383,7 @@ export const andThen: {
1386
1383
  * @experimental
1387
1384
  * @category mapping & sequencing
1388
1385
  */
1389
- <A, E, R, X>(
1390
- self: Micro<A, E, R>,
1391
- f: NotFunction<X>
1392
- ): [X] extends [Micro<infer A1, infer E1, infer R1>] ? Micro<A1, E | E1, R | R1>
1386
+ <A, E, R, X>(self: Micro<A, E, R>, f: NotFunction<X>): [X] extends [Micro<infer A1, infer E1, infer R1>] ? Micro<A1, E | E1, R | R1>
1393
1387
  : Micro<X, E, R>
1394
1388
  } = dual(
1395
1389
  2,
@@ -1445,10 +1439,7 @@ export const tap: {
1445
1439
  * @experimental
1446
1440
  * @category mapping & sequencing
1447
1441
  */
1448
- <A, E, R, X>(
1449
- self: Micro<A, E, R>,
1450
- f: (a: NoInfer<A>) => X
1451
- ): [X] extends [Micro<infer _A1, infer E1, infer R1>] ? Micro<A, E | E1, R | R1>
1442
+ <A, E, R, X>(self: Micro<A, E, R>, f: (a: NoInfer<A>) => X): [X] extends [Micro<infer _A1, infer E1, infer R1>] ? Micro<A, E | E1, R | R1>
1452
1443
  : Micro<A, E, R>
1453
1444
  /**
1454
1445
  * Execute a side effect from the success value of the `Micro` effect.
@@ -1459,10 +1450,7 @@ export const tap: {
1459
1450
  * @experimental
1460
1451
  * @category mapping & sequencing
1461
1452
  */
1462
- <A, E, R, X>(
1463
- self: Micro<A, E, R>,
1464
- f: NotFunction<X>
1465
- ): [X] extends [Micro<infer _A1, infer E1, infer R1>] ? Micro<A, E | E1, R | R1>
1453
+ <A, E, R, X>(self: Micro<A, E, R>, f: NotFunction<X>): [X] extends [Micro<infer _A1, infer E1, infer R1>] ? Micro<A, E | E1, R | R1>
1466
1454
  : Micro<A, E, R>
1467
1455
  } = dual(
1468
1456
  2,
@@ -2048,9 +2036,7 @@ export const updateContext: {
2048
2036
  * @experimental
2049
2037
  * @category environment
2050
2038
  */
2051
- <R2, R>(
2052
- f: (context: Context.Context<R2>) => Context.Context<NoInfer<R>>
2053
- ): <A, E>(self: Micro<A, E, R>) => Micro<A, E, R2>
2039
+ <R2, R>(f: (context: Context.Context<R2>) => Context.Context<NoInfer<R>>): <A, E>(self: Micro<A, E, R>) => Micro<A, E, R2>
2054
2040
  /**
2055
2041
  * Update the Context with the given mapping function.
2056
2042
  *
@@ -2068,30 +2054,28 @@ export const updateContext: {
2068
2054
  self: Micro<A, E, R>,
2069
2055
  f: (context: Context.Context<R2>) => Context.Context<NoInfer<R>>
2070
2056
  ): Micro<A, E, R2> =>
2071
- withMicroFiber<
2072
- /**
2073
- * Update the Context with the given mapping function.
2074
- *
2075
- * @since 3.11.0
2076
- * @experimental
2077
- * @category environment
2078
- */
2079
- A, /**
2080
- * Update the Context with the given mapping function.
2081
- *
2082
- * @since 3.11.0
2083
- * @experimental
2084
- * @category environment
2085
- */
2086
- E, /**
2087
- * Update the Context with the given mapping function.
2088
- *
2089
- * @since 3.11.0
2090
- * @experimental
2091
- * @category environment
2092
- */
2093
- R2
2094
- >((fiber) => {
2057
+ withMicroFiber</**
2058
+ * Update the Context with the given mapping function.
2059
+ *
2060
+ * @since 3.11.0
2061
+ * @experimental
2062
+ * @category environment
2063
+ */
2064
+ A, /**
2065
+ * Update the Context with the given mapping function.
2066
+ *
2067
+ * @since 3.11.0
2068
+ * @experimental
2069
+ * @category environment
2070
+ */
2071
+ E, /**
2072
+ * Update the Context with the given mapping function.
2073
+ *
2074
+ * @since 3.11.0
2075
+ * @experimental
2076
+ * @category environment
2077
+ */
2078
+ R2>((fiber) => {
2095
2079
  const prev = fiber.context as Context.Context<R2>
2096
2080
  fiber.context = f(prev)
2097
2081
  return onExit(
@@ -2256,10 +2240,7 @@ export const provideServiceEffect: {
2256
2240
  * @experimental
2257
2241
  * @category environment
2258
2242
  */
2259
- <I, S, E2, R2>(
2260
- tag: Context.Tag<I, S>,
2261
- acquire: Micro<S, E2, R2>
2262
- ): <A, E, R>(self: Micro<A, E, R>) => Micro<A, E | E2, Exclude<R, I> | R2>
2243
+ <I, S, E2, R2>(tag: Context.Tag<I, S>, acquire: Micro<S, E2, R2>): <A, E, R>(self: Micro<A, E, R>) => Micro<A, E | E2, Exclude<R, I> | R2>
2263
2244
  /**
2264
2245
  * Create a service using the provided `Micro` effect, and add it to the
2265
2246
  * current context.
@@ -2268,11 +2249,7 @@ export const provideServiceEffect: {
2268
2249
  * @experimental
2269
2250
  * @category environment
2270
2251
  */
2271
- <A, E, R, I, S, E2, R2>(
2272
- self: Micro<A, E, R>,
2273
- tag: Context.Tag<I, S>,
2274
- acquire: Micro<S, E2, R2>
2275
- ): Micro<A, E | E2, Exclude<R, I> | R2>
2252
+ <A, E, R, I, S, E2, R2>(self: Micro<A, E, R>, tag: Context.Tag<I, S>, acquire: Micro<S, E2, R2>): Micro<A, E | E2, Exclude<R, I> | R2>
2276
2253
  } = dual(
2277
2254
  3,
2278
2255
  <A, E, R, I, S, E2, R2>(
@@ -2620,10 +2597,7 @@ export const filterOrFail: {
2620
2597
  * @experimental
2621
2598
  * @category filtering & conditionals
2622
2599
  */
2623
- <A, B extends A, E2>(
2624
- refinement: Refinement<A, B>,
2625
- orFailWith: (a: NoInfer<A>) => E2
2626
- ): <E, R>(self: Micro<A, E, R>) => Micro<B, E2 | E, R>
2600
+ <A, B extends A, E2>(refinement: Refinement<A, B>, orFailWith: (a: NoInfer<A>) => E2): <E, R>(self: Micro<A, E, R>) => Micro<B, E2 | E, R>
2627
2601
  /**
2628
2602
  * Filter the specified effect with the provided function, failing with specified
2629
2603
  * error if the predicate fails.
@@ -2635,10 +2609,7 @@ export const filterOrFail: {
2635
2609
  * @experimental
2636
2610
  * @category filtering & conditionals
2637
2611
  */
2638
- <A, E2>(
2639
- predicate: Predicate<NoInfer<A>>,
2640
- orFailWith: (a: NoInfer<A>) => E2
2641
- ): <E, R>(self: Micro<A, E, R>) => Micro<A, E2 | E, R>
2612
+ <A, E2>(predicate: Predicate<NoInfer<A>>, orFailWith: (a: NoInfer<A>) => E2): <E, R>(self: Micro<A, E, R>) => Micro<A, E2 | E, R>
2642
2613
  /**
2643
2614
  * Filter the specified effect with the provided function, failing with specified
2644
2615
  * error if the predicate fails.
@@ -2688,9 +2659,7 @@ export const when: {
2688
2659
  * @experimental
2689
2660
  * @category filtering & conditionals
2690
2661
  */
2691
- <E2 = never, R2 = never>(
2692
- condition: LazyArg<boolean> | Micro<boolean, E2, R2>
2693
- ): <A, E, R>(self: Micro<A, E, R>) => Micro<Option.Option<A>, E | E2, R | R2>
2662
+ <E2 = never, R2 = never>(condition: LazyArg<boolean> | Micro<boolean, E2, R2>): <A, E, R>(self: Micro<A, E, R>) => Micro<Option.Option<A>, E | E2, R | R2>
2694
2663
  /**
2695
2664
  * The moral equivalent of `if (p) exp`.
2696
2665
  *
@@ -2698,10 +2667,7 @@ export const when: {
2698
2667
  * @experimental
2699
2668
  * @category filtering & conditionals
2700
2669
  */
2701
- <A, E, R, E2 = never, R2 = never>(
2702
- self: Micro<A, E, R>,
2703
- condition: LazyArg<boolean> | Micro<boolean, E2, R2>
2704
- ): Micro<Option.Option<A>, E | E2, R | R2>
2670
+ <A, E, R, E2 = never, R2 = never>(self: Micro<A, E, R>, condition: LazyArg<boolean> | Micro<boolean, E2, R2>): Micro<Option.Option<A>, E | E2, R | R2>
2705
2671
  } = dual(
2706
2672
  2,
2707
2673
  <A, E, R, E2 = never, R2 = never>(
@@ -3206,9 +3172,7 @@ export const catchAllCause: {
3206
3172
  * @experimental
3207
3173
  * @category error handling
3208
3174
  */
3209
- <E, B, E2, R2>(
3210
- f: (cause: NoInfer<MicroCause<E>>) => Micro<B, E2, R2>
3211
- ): <A, R>(self: Micro<A, E, R>) => Micro<A | B, E2, R | R2>
3175
+ <E, B, E2, R2>(f: (cause: NoInfer<MicroCause<E>>) => Micro<B, E2, R2>): <A, R>(self: Micro<A, E, R>) => Micro<A | B, E2, R | R2>
3212
3176
  // ----------------------------------------------------------------------------
3213
3177
  // error handling
3214
3178
  // ----------------------------------------------------------------------------
@@ -3399,9 +3363,7 @@ export const tapErrorCause: {
3399
3363
  * @experimental
3400
3364
  * @category error handling
3401
3365
  */
3402
- <E, B, E2, R2>(
3403
- f: (cause: NoInfer<MicroCause<E>>) => Micro<B, E2, R2>
3404
- ): <A, R>(self: Micro<A, E, R>) => Micro<A, E | E2, R | R2>
3366
+ <E, B, E2, R2>(f: (cause: NoInfer<MicroCause<E>>) => Micro<B, E2, R2>): <A, R>(self: Micro<A, E, R>) => Micro<A, E | E2, R | R2>
3405
3367
  /**
3406
3368
  * Perform a side effect using the full `MicroCause` object of the given `Micro`.
3407
3369
  *
@@ -3438,10 +3400,7 @@ export const tapErrorCauseIf: {
3438
3400
  * @experimental
3439
3401
  * @category error handling
3440
3402
  */
3441
- <E, B, E2, R2, EB extends MicroCause<E>>(
3442
- refinement: Refinement<MicroCause<E>, EB>,
3443
- f: (a: EB) => Micro<B, E2, R2>
3444
- ): <A, R>(self: Micro<A, E, R>) => Micro<A, E | E2, R | R2>
3403
+ <E, B, E2, R2, EB extends MicroCause<E>>(refinement: Refinement<MicroCause<E>, EB>, f: (a: EB) => Micro<B, E2, R2>): <A, R>(self: Micro<A, E, R>) => Micro<A, E | E2, R | R2>
3445
3404
  /**
3446
3405
  * Perform a side effect using if a `MicroCause` object matches the specified
3447
3406
  * predicate.
@@ -3564,10 +3523,7 @@ export const catchIf: {
3564
3523
  * @experimental
3565
3524
  * @category error handling
3566
3525
  */
3567
- <E, EB extends E, A2, E2, R2>(
3568
- refinement: Refinement<NoInfer<E>, EB>,
3569
- f: (e: EB) => Micro<A2, E2, R2>
3570
- ): <A, R>(self: Micro<A, E, R>) => Micro<A2 | A, E2 | Exclude<E, EB>, R2 | R>
3526
+ <E, EB extends E, A2, E2, R2>(refinement: Refinement<NoInfer<E>, EB>, f: (e: EB) => Micro<A2, E2, R2>): <A, R>(self: Micro<A, E, R>) => Micro<A2 | A, E2 | Exclude<E, EB>, R2 | R>
3571
3527
  /**
3572
3528
  * Catch any expected errors that match the specified predicate.
3573
3529
  *
@@ -3575,10 +3531,7 @@ export const catchIf: {
3575
3531
  * @experimental
3576
3532
  * @category error handling
3577
3533
  */
3578
- <E, A2, E2, R2>(
3579
- predicate: Predicate<NoInfer<E>>,
3580
- f: (e: NoInfer<E>) => Micro<A2, E2, R2>
3581
- ): <A, R>(self: Micro<A, E, R>) => Micro<A2 | A, E | E2, R2 | R>
3534
+ <E, A2, E2, R2>(predicate: Predicate<NoInfer<E>>, f: (e: NoInfer<E>) => Micro<A2, E2, R2>): <A, R>(self: Micro<A, E, R>) => Micro<A2 | A, E | E2, R2 | R>
3582
3535
  /**
3583
3536
  * Catch any expected errors that match the specified predicate.
3584
3537
  *
@@ -3632,10 +3585,7 @@ export const catchTag: {
3632
3585
  * @experimental
3633
3586
  * @category error handling
3634
3587
  */
3635
- <K extends E extends { _tag: string } ? E["_tag"] : never, E, A1, E1, R1>(
3636
- k: K,
3637
- f: (e: Extract<E, { _tag: K }>) => Micro<A1, E1, R1>
3638
- ): <A, R>(self: Micro<A, E, R>) => Micro<A1 | A, E1 | Exclude<E, { _tag: K }>, R1 | R>
3588
+ <K extends E extends { _tag: string } ? E["_tag"] : never, E, A1, E1, R1>(k: K, f: (e: Extract<E, { _tag: K }>) => Micro<A1, E1, R1>): <A, R>(self: Micro<A, E, R>) => Micro<A1 | A, E1 | Exclude<E, { _tag: K }>, R1 | R>
3639
3589
  /**
3640
3590
  * Recovers from the specified tagged error.
3641
3591
  *
@@ -4521,9 +4471,7 @@ export const onExit: {
4521
4471
  * @experimental
4522
4472
  * @category resources & finalization
4523
4473
  */
4524
- <A, E, XE, XR>(
4525
- f: (exit: MicroExit<A, E>) => Micro<void, XE, XR>
4526
- ): <R>(self: Micro<A, E, R>) => Micro<A, E | XE, R | XR>
4474
+ <A, E, XE, XR>(f: (exit: MicroExit<A, E>) => Micro<void, XE, XR>): <R>(self: Micro<A, E, R>) => Micro<A, E | XE, R | XR>
4527
4475
  /**
4528
4476
  * When the `Micro` effect is completed, run the given finalizer effect with the
4529
4477
  * `MicroExit` of the executed effect.
@@ -4664,9 +4612,7 @@ export const onError: {
4664
4612
  * @experimental
4665
4613
  * @category resources & finalization
4666
4614
  */
4667
- <A, E, XE, XR>(
4668
- f: (cause: MicroCause<NoInfer<E>>) => Micro<void, XE, XR>
4669
- ): <R>(self: Micro<A, E, R>) => Micro<A, E | XE, R | XR>
4615
+ <A, E, XE, XR>(f: (cause: MicroCause<NoInfer<E>>) => Micro<void, XE, XR>): <R>(self: Micro<A, E, R>) => Micro<A, E | XE, R | XR>
4670
4616
  /**
4671
4617
  * When the `Micro` effect fails, run the given finalizer effect with the
4672
4618
  * `MicroCause` of the executed effect.
@@ -5240,10 +5186,7 @@ export const bind: {
5240
5186
  * @experimental
5241
5187
  * @category do notation
5242
5188
  */
5243
- <N extends string, A extends Record<string, any>, B, E2, R2>(
5244
- name: N,
5245
- f: (a: NoInfer<A>) => Micro<B, E2, R2>
5246
- ): <E, R>(self: Micro<A, E, R>) => Micro<Simplify<Omit<A, N> & { [K in N]: B }>, E | E2, R | R2>
5189
+ <N extends string, A extends Record<string, any>, B, E2, R2>(name: N, f: (a: NoInfer<A>) => Micro<B, E2, R2>): <E, R>(self: Micro<A, E, R>) => Micro<Simplify<Omit<A, N> & { [K in N]: B }>, E | E2, R | R2>
5247
5190
  /**
5248
5191
  * Bind the success value of this `Micro` effect to the provided name.
5249
5192
  *
@@ -5251,11 +5194,7 @@ export const bind: {
5251
5194
  * @experimental
5252
5195
  * @category do notation
5253
5196
  */
5254
- <A extends Record<string, any>, E, R, B, E2, R2, N extends string>(
5255
- self: Micro<A, E, R>,
5256
- name: N,
5257
- f: (a: NoInfer<A>) => Micro<B, E2, R2>
5258
- ): Micro<Simplify<Omit<A, N> & { [K in N]: B }>, E | E2, R | R2>
5197
+ <A extends Record<string, any>, E, R, B, E2, R2, N extends string>(self: Micro<A, E, R>, name: N, f: (a: NoInfer<A>) => Micro<B, E2, R2>): Micro<Simplify<Omit<A, N> & { [K in N]: B }>, E | E2, R | R2>
5259
5198
  } = doNotation.bind<MicroTypeLambda>(map, flatMap)
5260
5199
 
5261
5200
  const let_: {
@@ -376,10 +376,7 @@ export const modifyAt: {
376
376
  *
377
377
  * @since 2.0.0
378
378
  */
379
- <K, V>(
380
- key: K,
381
- f: (value: Option.Option<V>) => Option.Option<V>
382
- ) => (self: MutableHashMap<K, V>) => MutableHashMap<K, V>,
379
+ <K, V>(key: K, f: (value: Option.Option<V>) => Option.Option<V>) => (self: MutableHashMap<K, V>) => MutableHashMap<K, V>,
383
380
  /**
384
381
  * Set or remove the specified key in the `MutableHashMap` using the specified
385
382
  * update function.
package/src/Option.ts CHANGED
@@ -2867,21 +2867,9 @@ export const partitionMap: {
2867
2867
  return either.isLeft(e) ? [some(e.left), none()] : [none(), some(e.right)]
2868
2868
  })
2869
2869
 
2870
+ // TODO(4.0): remove?
2870
2871
  /**
2871
- * Maps over the value of an `Option` with a function that may return `None`,
2872
- * effectively filtering and transforming the value.
2873
- *
2874
- * **Details**
2875
- *
2876
- * This function allows you to both transform the value of a `Some` and filter
2877
- * it at the same time. The mapping function `f` can either return a new
2878
- * `Option` (to transform the value) or return `None` to filter it out. If the
2879
- * input `Option` is `None`, the function is not applied, and the result remains
2880
- * `None`.
2881
- *
2882
- * This utility is particularly useful when you want to apply a transformation
2883
- * to the value of an `Option` while conditionally removing invalid or unwanted
2884
- * results.
2872
+ * Alias of {@link flatMap}.
2885
2873
  *
2886
2874
  * @example
2887
2875
  * ```ts
@@ -2905,21 +2893,9 @@ export const partitionMap: {
2905
2893
  * @since 2.0.0
2906
2894
  */
2907
2895
  export const filterMap: {
2896
+ // TODO(4.0): remove?
2908
2897
  /**
2909
- * Maps over the value of an `Option` with a function that may return `None`,
2910
- * effectively filtering and transforming the value.
2911
- *
2912
- * **Details**
2913
- *
2914
- * This function allows you to both transform the value of a `Some` and filter
2915
- * it at the same time. The mapping function `f` can either return a new
2916
- * `Option` (to transform the value) or return `None` to filter it out. If the
2917
- * input `Option` is `None`, the function is not applied, and the result remains
2918
- * `None`.
2919
- *
2920
- * This utility is particularly useful when you want to apply a transformation
2921
- * to the value of an `Option` while conditionally removing invalid or unwanted
2922
- * results.
2898
+ * Alias of {@link flatMap}.
2923
2899
  *
2924
2900
  * @example
2925
2901
  * ```ts
@@ -2943,21 +2919,9 @@ export const filterMap: {
2943
2919
  * @since 2.0.0
2944
2920
  */
2945
2921
  <A, B>(f: (a: A) => Option<B>): (self: Option<A>) => Option<B>
2922
+ // TODO(4.0): remove?
2946
2923
  /**
2947
- * Maps over the value of an `Option` with a function that may return `None`,
2948
- * effectively filtering and transforming the value.
2949
- *
2950
- * **Details**
2951
- *
2952
- * This function allows you to both transform the value of a `Some` and filter
2953
- * it at the same time. The mapping function `f` can either return a new
2954
- * `Option` (to transform the value) or return `None` to filter it out. If the
2955
- * input `Option` is `None`, the function is not applied, and the result remains
2956
- * `None`.
2957
- *
2958
- * This utility is particularly useful when you want to apply a transformation
2959
- * to the value of an `Option` while conditionally removing invalid or unwanted
2960
- * results.
2924
+ * Alias of {@link flatMap}.
2961
2925
  *
2962
2926
  * @example
2963
2927
  * ```ts
@@ -2981,10 +2945,7 @@ export const filterMap: {
2981
2945
  * @since 2.0.0
2982
2946
  */
2983
2947
  <A, B>(self: Option<A>, f: (a: A) => Option<B>): Option<B>
2984
- } = dual(
2985
- 2,
2986
- <A, B>(self: Option<A>, f: (a: A) => Option<B>): Option<B> => isNone(self) ? none() : f(self.value)
2987
- )
2948
+ } = flatMap
2988
2949
 
2989
2950
  /**
2990
2951
  * Filters an `Option` using a predicate. If the predicate is not satisfied or the `Option` is `None` returns `None`.
@@ -3919,10 +3880,7 @@ export const bind: {
3919
3880
  * @category Do notation
3920
3881
  * @since 2.0.0
3921
3882
  */
3922
- <N extends string, A extends object, B>(
3923
- name: Exclude<N, keyof A>,
3924
- f: (a: NoInfer<A>) => Option<B>
3925
- ): (self: Option<A>) => Option<{ [K in N | keyof A]: K extends keyof A ? A[K] : B }>
3883
+ <N extends string, A extends object, B>(name: Exclude<N, keyof A>, f: (a: NoInfer<A>) => Option<B>): (self: Option<A>) => Option<{ [K in N | keyof A]: K extends keyof A ? A[K] : B }>
3926
3884
  /**
3927
3885
  * The "do simulation" in Effect allows you to write code in a more declarative style, similar to the "do notation" in other programming languages. It provides a way to define variables and perform operations on them using functions like `bind` and `let`.
3928
3886
  *
@@ -318,17 +318,12 @@ export const flatMap: {
318
318
  * @category optimisation
319
319
  * @since 3.10.0
320
320
  */
321
- <A, B, E1, R1>(
322
- f: (a: A) => Effect.Effect<B, E1, R1>
323
- ): <E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<B, E1 | E, R1 | R>
321
+ <A, B, E1, R1>(f: (a: A) => Effect.Effect<B, E1, R1>): <E, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<B, E1 | E, R1 | R>
324
322
  /**
325
323
  * @category optimisation
326
324
  * @since 3.10.0
327
325
  */
328
- <A, E, R, B, E1, R1>(
329
- self: Effect.Effect<A, E, R>,
330
- f: (a: A) => Effect.Effect<B, E1, R1>
331
- ): Effect.Effect<B, E | E1, R | R1>
326
+ <A, E, R, B, E1, R1>(self: Effect.Effect<A, E, R>, f: (a: A) => Effect.Effect<B, E1, R1>): Effect.Effect<B, E | E1, R | R1>
332
327
  } = dual(2, <A, E, R, B, E1, R1>(
333
328
  self: Effect.Effect<A, E, R>,
334
329
  f: (a: A) => Effect.Effect<B, E1, R1>
@@ -431,17 +426,12 @@ export const orElse: {
431
426
  * @category optimisation
432
427
  * @since 3.10.0
433
428
  */
434
- <E, A2, E2, R2>(
435
- f: (e: E) => Effect.Effect<A2, E2, R2>
436
- ): <A, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A2 | A, E2, R2 | R>
429
+ <E, A2, E2, R2>(f: (e: E) => Effect.Effect<A2, E2, R2>): <A, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A2 | A, E2, R2 | R>
437
430
  /**
438
431
  * @category optimisation
439
432
  * @since 3.10.0
440
433
  */
441
- <A, E, R, A2, E2, R2>(
442
- self: Effect.Effect<A, E, R>,
443
- f: (e: E) => Effect.Effect<A2, E2, R2>
444
- ): Effect.Effect<A2 | A, E2, R2 | R>
434
+ <A, E, R, A2, E2, R2>(self: Effect.Effect<A, E, R>, f: (e: E) => Effect.Effect<A2, E2, R2>): Effect.Effect<A2 | A, E2, R2 | R>
445
435
  } = dual(2, <A, E, R, A2, E2, R2>(
446
436
  self: Effect.Effect<A, E, R>,
447
437
  f: (e: E) => Effect.Effect<A2, E2, R2>
@@ -1901,9 +1891,7 @@ const getMessage = (issue: ParseIssue): Effect.Effect<string | undefined> =>
1901
1891
  const getParseIssueTitleAnnotation = (issue: ParseIssue): string | undefined =>
1902
1892
  getAnnotated(issue).pipe(
1903
1893
  Option.flatMap(AST.getParseIssueTitleAnnotation),
1904
- Option.filterMap(
1905
- (annotation) => Option.fromNullable(annotation(issue))
1906
- ),
1894
+ Option.flatMapNullable((annotation) => annotation(issue)),
1907
1895
  Option.getOrUndefined
1908
1896
  )
1909
1897