effect 3.10.18 → 3.11.0

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 (448) hide show
  1. package/dist/cjs/Array.js +206 -0
  2. package/dist/cjs/Array.js.map +1 -1
  3. package/dist/cjs/BigDecimal.js +181 -24
  4. package/dist/cjs/BigDecimal.js.map +1 -1
  5. package/dist/cjs/BigInt.js +54 -0
  6. package/dist/cjs/BigInt.js.map +1 -1
  7. package/dist/cjs/Boolean.js +24 -0
  8. package/dist/cjs/Boolean.js.map +1 -1
  9. package/dist/cjs/Brand.js +4 -0
  10. package/dist/cjs/Brand.js.map +1 -1
  11. package/dist/cjs/Channel.js +44 -4
  12. package/dist/cjs/Channel.js.map +1 -1
  13. package/dist/cjs/Chunk.js +8 -0
  14. package/dist/cjs/Chunk.js.map +1 -1
  15. package/dist/cjs/Config.js +10 -1
  16. package/dist/cjs/Config.js.map +1 -1
  17. package/dist/cjs/Context.js +50 -1
  18. package/dist/cjs/Context.js.map +1 -1
  19. package/dist/cjs/Cron.js +81 -67
  20. package/dist/cjs/Cron.js.map +1 -1
  21. package/dist/cjs/Data.js +14 -0
  22. package/dist/cjs/Data.js.map +1 -1
  23. package/dist/cjs/DateTime.js +178 -664
  24. package/dist/cjs/DateTime.js.map +1 -1
  25. package/dist/cjs/Duration.js +2 -0
  26. package/dist/cjs/Duration.js.map +1 -1
  27. package/dist/cjs/Effect.js +296 -4
  28. package/dist/cjs/Effect.js.map +1 -1
  29. package/dist/cjs/Either.js +38 -2
  30. package/dist/cjs/Either.js.map +1 -1
  31. package/dist/cjs/FiberHandle.js +6 -0
  32. package/dist/cjs/FiberHandle.js.map +1 -1
  33. package/dist/cjs/FiberMap.js +6 -0
  34. package/dist/cjs/FiberMap.js.map +1 -1
  35. package/dist/cjs/FiberSet.js +6 -0
  36. package/dist/cjs/FiberSet.js.map +1 -1
  37. package/dist/cjs/Function.js +34 -0
  38. package/dist/cjs/Function.js.map +1 -1
  39. package/dist/cjs/GlobalValue.js +2 -0
  40. package/dist/cjs/GlobalValue.js.map +1 -1
  41. package/dist/cjs/HashMap.js.map +1 -1
  42. package/dist/cjs/Inspectable.js +8 -4
  43. package/dist/cjs/Inspectable.js.map +1 -1
  44. package/dist/cjs/Iterable.js +18 -0
  45. package/dist/cjs/Iterable.js.map +1 -1
  46. package/dist/cjs/JSONSchema.js.map +1 -1
  47. package/dist/cjs/List.js +4 -0
  48. package/dist/cjs/List.js.map +1 -1
  49. package/dist/cjs/Logger.js +26 -0
  50. package/dist/cjs/Logger.js.map +1 -1
  51. package/dist/cjs/Mailbox.js +2 -0
  52. package/dist/cjs/Mailbox.js.map +1 -1
  53. package/dist/cjs/ManagedRuntime.js +2 -0
  54. package/dist/cjs/ManagedRuntime.js.map +1 -1
  55. package/dist/cjs/Metric.js +10 -0
  56. package/dist/cjs/Metric.js.map +1 -1
  57. package/dist/cjs/Micro.js +1104 -1069
  58. package/dist/cjs/Micro.js.map +1 -1
  59. package/dist/cjs/Number.js +44 -0
  60. package/dist/cjs/Number.js.map +1 -1
  61. package/dist/cjs/Option.js +70 -0
  62. package/dist/cjs/Option.js.map +1 -1
  63. package/dist/cjs/Order.js +2 -0
  64. package/dist/cjs/Order.js.map +1 -1
  65. package/dist/cjs/Ordering.js +4 -0
  66. package/dist/cjs/Ordering.js.map +1 -1
  67. package/dist/cjs/Predicate.js +68 -0
  68. package/dist/cjs/Predicate.js.map +1 -1
  69. package/dist/cjs/Random.js +4 -0
  70. package/dist/cjs/Random.js.map +1 -1
  71. package/dist/cjs/RateLimiter.js +4 -0
  72. package/dist/cjs/RateLimiter.js.map +1 -1
  73. package/dist/cjs/RcMap.js +2 -0
  74. package/dist/cjs/RcMap.js.map +1 -1
  75. package/dist/cjs/RcRef.js +2 -0
  76. package/dist/cjs/RcRef.js.map +1 -1
  77. package/dist/cjs/Record.js +56 -0
  78. package/dist/cjs/Record.js.map +1 -1
  79. package/dist/cjs/Redacted.js +8 -0
  80. package/dist/cjs/Redacted.js.map +1 -1
  81. package/dist/cjs/RegExp.js +4 -0
  82. package/dist/cjs/RegExp.js.map +1 -1
  83. package/dist/cjs/Request.js +4 -0
  84. package/dist/cjs/Request.js.map +1 -1
  85. package/dist/cjs/RequestResolver.js +2 -0
  86. package/dist/cjs/RequestResolver.js.map +1 -1
  87. package/dist/cjs/Runtime.js +6 -0
  88. package/dist/cjs/Runtime.js.map +1 -1
  89. package/dist/cjs/STM.js.map +1 -1
  90. package/dist/cjs/Schema.js +91 -8
  91. package/dist/cjs/Schema.js.map +1 -1
  92. package/dist/cjs/Sink.js +9 -1
  93. package/dist/cjs/Sink.js.map +1 -1
  94. package/dist/cjs/Stream.js +179 -7
  95. package/dist/cjs/Stream.js.map +1 -1
  96. package/dist/cjs/String.js +62 -0
  97. package/dist/cjs/String.js.map +1 -1
  98. package/dist/cjs/Struct.js +12 -0
  99. package/dist/cjs/Struct.js.map +1 -1
  100. package/dist/cjs/Symbol.js +2 -0
  101. package/dist/cjs/Symbol.js.map +1 -1
  102. package/dist/cjs/Trie.js +56 -0
  103. package/dist/cjs/Trie.js.map +1 -1
  104. package/dist/cjs/Tuple.js +18 -0
  105. package/dist/cjs/Tuple.js.map +1 -1
  106. package/dist/cjs/Utils.js +7 -1
  107. package/dist/cjs/Utils.js.map +1 -1
  108. package/dist/cjs/internal/channel/channelExecutor.js +5 -9
  109. package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
  110. package/dist/cjs/internal/channel.js +156 -130
  111. package/dist/cjs/internal/channel.js.map +1 -1
  112. package/dist/cjs/internal/config.js +13 -4
  113. package/dist/cjs/internal/config.js.map +1 -1
  114. package/dist/cjs/internal/context.js +46 -3
  115. package/dist/cjs/internal/context.js.map +1 -1
  116. package/dist/cjs/internal/dateTime.js +747 -0
  117. package/dist/cjs/internal/dateTime.js.map +1 -0
  118. package/dist/cjs/internal/fiberRuntime.js +34 -11
  119. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  120. package/dist/cjs/internal/groupBy.js +9 -3
  121. package/dist/cjs/internal/groupBy.js.map +1 -1
  122. package/dist/cjs/internal/layer.js +1 -1
  123. package/dist/cjs/internal/layer.js.map +1 -1
  124. package/dist/cjs/internal/mailbox.js +1 -1
  125. package/dist/cjs/internal/mailbox.js.map +1 -1
  126. package/dist/cjs/internal/sink.js +25 -21
  127. package/dist/cjs/internal/sink.js.map +1 -1
  128. package/dist/cjs/internal/stream.js +70 -71
  129. package/dist/cjs/internal/stream.js.map +1 -1
  130. package/dist/cjs/internal/version.js +1 -1
  131. package/dist/cjs/internal/version.js.map +1 -1
  132. package/dist/dts/Array.d.ts +534 -0
  133. package/dist/dts/Array.d.ts.map +1 -1
  134. package/dist/dts/BigDecimal.d.ts +172 -1
  135. package/dist/dts/BigDecimal.d.ts.map +1 -1
  136. package/dist/dts/BigInt.d.ts +114 -0
  137. package/dist/dts/BigInt.d.ts.map +1 -1
  138. package/dist/dts/Boolean.d.ts +56 -0
  139. package/dist/dts/Boolean.d.ts.map +1 -1
  140. package/dist/dts/Brand.d.ts +6 -0
  141. package/dist/dts/Brand.d.ts.map +1 -1
  142. package/dist/dts/Channel.d.ts +66 -5
  143. package/dist/dts/Channel.d.ts.map +1 -1
  144. package/dist/dts/Chunk.d.ts +30 -0
  145. package/dist/dts/Chunk.d.ts.map +1 -1
  146. package/dist/dts/Config.d.ts +25 -1
  147. package/dist/dts/Config.d.ts.map +1 -1
  148. package/dist/dts/Context.d.ts +155 -0
  149. package/dist/dts/Context.d.ts.map +1 -1
  150. package/dist/dts/Cron.d.ts +21 -6
  151. package/dist/dts/Cron.d.ts.map +1 -1
  152. package/dist/dts/Data.d.ts +26 -0
  153. package/dist/dts/Data.d.ts.map +1 -1
  154. package/dist/dts/DateTime.d.ts +192 -49
  155. package/dist/dts/DateTime.d.ts.map +1 -1
  156. package/dist/dts/Duration.d.ts +2 -0
  157. package/dist/dts/Duration.d.ts.map +1 -1
  158. package/dist/dts/Effect.d.ts +658 -1
  159. package/dist/dts/Effect.d.ts.map +1 -1
  160. package/dist/dts/Either.d.ts +84 -2
  161. package/dist/dts/Either.d.ts.map +1 -1
  162. package/dist/dts/FiberHandle.d.ts +6 -0
  163. package/dist/dts/FiberHandle.d.ts.map +1 -1
  164. package/dist/dts/FiberMap.d.ts +6 -0
  165. package/dist/dts/FiberMap.d.ts.map +1 -1
  166. package/dist/dts/FiberSet.d.ts +6 -0
  167. package/dist/dts/FiberSet.d.ts.map +1 -1
  168. package/dist/dts/Function.d.ts +50 -0
  169. package/dist/dts/Function.d.ts.map +1 -1
  170. package/dist/dts/GlobalValue.d.ts +2 -0
  171. package/dist/dts/GlobalValue.d.ts.map +1 -1
  172. package/dist/dts/HashMap.d.ts +6 -0
  173. package/dist/dts/HashMap.d.ts.map +1 -1
  174. package/dist/dts/Inspectable.d.ts.map +1 -1
  175. package/dist/dts/Iterable.d.ts +26 -0
  176. package/dist/dts/Iterable.d.ts.map +1 -1
  177. package/dist/dts/JSONSchema.d.ts +1 -0
  178. package/dist/dts/JSONSchema.d.ts.map +1 -1
  179. package/dist/dts/List.d.ts +20 -0
  180. package/dist/dts/List.d.ts.map +1 -1
  181. package/dist/dts/Logger.d.ts +34 -0
  182. package/dist/dts/Logger.d.ts.map +1 -1
  183. package/dist/dts/Mailbox.d.ts +2 -0
  184. package/dist/dts/Mailbox.d.ts.map +1 -1
  185. package/dist/dts/ManagedRuntime.d.ts +2 -0
  186. package/dist/dts/ManagedRuntime.d.ts.map +1 -1
  187. package/dist/dts/Metric.d.ts +18 -0
  188. package/dist/dts/Metric.d.ts.map +1 -1
  189. package/dist/dts/Micro.d.ts +880 -863
  190. package/dist/dts/Micro.d.ts.map +1 -1
  191. package/dist/dts/Number.d.ts +104 -0
  192. package/dist/dts/Number.d.ts.map +1 -1
  193. package/dist/dts/Option.d.ts +142 -0
  194. package/dist/dts/Option.d.ts.map +1 -1
  195. package/dist/dts/Order.d.ts +2 -0
  196. package/dist/dts/Order.d.ts.map +1 -1
  197. package/dist/dts/Ordering.d.ts +8 -0
  198. package/dist/dts/Ordering.d.ts.map +1 -1
  199. package/dist/dts/Predicate.d.ts +104 -0
  200. package/dist/dts/Predicate.d.ts.map +1 -1
  201. package/dist/dts/Random.d.ts +4 -0
  202. package/dist/dts/Random.d.ts.map +1 -1
  203. package/dist/dts/RateLimiter.d.ts +4 -0
  204. package/dist/dts/RateLimiter.d.ts.map +1 -1
  205. package/dist/dts/RcMap.d.ts +6 -0
  206. package/dist/dts/RcMap.d.ts.map +1 -1
  207. package/dist/dts/RcRef.d.ts +2 -0
  208. package/dist/dts/RcRef.d.ts.map +1 -1
  209. package/dist/dts/Record.d.ts +136 -0
  210. package/dist/dts/Record.d.ts.map +1 -1
  211. package/dist/dts/Redacted.d.ts +8 -0
  212. package/dist/dts/Redacted.d.ts.map +1 -1
  213. package/dist/dts/RegExp.d.ts +4 -0
  214. package/dist/dts/RegExp.d.ts.map +1 -1
  215. package/dist/dts/Request.d.ts +4 -0
  216. package/dist/dts/Request.d.ts.map +1 -1
  217. package/dist/dts/RequestResolver.d.ts +6 -0
  218. package/dist/dts/RequestResolver.d.ts.map +1 -1
  219. package/dist/dts/Runtime.d.ts +18 -0
  220. package/dist/dts/Runtime.d.ts.map +1 -1
  221. package/dist/dts/STM.d.ts +2 -0
  222. package/dist/dts/STM.d.ts.map +1 -1
  223. package/dist/dts/Schema.d.ts +90 -0
  224. package/dist/dts/Schema.d.ts.map +1 -1
  225. package/dist/dts/Sink.d.ts +8 -0
  226. package/dist/dts/Sink.d.ts.map +1 -1
  227. package/dist/dts/Stream.d.ts +394 -32
  228. package/dist/dts/Stream.d.ts.map +1 -1
  229. package/dist/dts/String.d.ts +94 -0
  230. package/dist/dts/String.d.ts.map +1 -1
  231. package/dist/dts/Struct.d.ts +24 -0
  232. package/dist/dts/Struct.d.ts.map +1 -1
  233. package/dist/dts/Symbol.d.ts +2 -0
  234. package/dist/dts/Symbol.d.ts.map +1 -1
  235. package/dist/dts/Trie.d.ts +132 -0
  236. package/dist/dts/Trie.d.ts.map +1 -1
  237. package/dist/dts/Tuple.d.ts +42 -0
  238. package/dist/dts/Tuple.d.ts.map +1 -1
  239. package/dist/dts/Types.d.ts +24 -0
  240. package/dist/dts/Types.d.ts.map +1 -1
  241. package/dist/dts/Utils.d.ts +4 -0
  242. package/dist/dts/Utils.d.ts.map +1 -1
  243. package/dist/dts/internal/context.d.ts +1 -1
  244. package/dist/dts/internal/context.d.ts.map +1 -1
  245. package/dist/dts/internal/dateTime.d.ts +2 -0
  246. package/dist/dts/internal/dateTime.d.ts.map +1 -0
  247. package/dist/dts/internal/fiberRuntime.d.ts.map +1 -1
  248. package/dist/dts/internal/stream.d.ts.map +1 -1
  249. package/dist/esm/Array.js +208 -0
  250. package/dist/esm/Array.js.map +1 -1
  251. package/dist/esm/BigDecimal.js +175 -20
  252. package/dist/esm/BigDecimal.js.map +1 -1
  253. package/dist/esm/BigInt.js +54 -0
  254. package/dist/esm/BigInt.js.map +1 -1
  255. package/dist/esm/Boolean.js +24 -0
  256. package/dist/esm/Boolean.js.map +1 -1
  257. package/dist/esm/Brand.js +4 -0
  258. package/dist/esm/Brand.js.map +1 -1
  259. package/dist/esm/Channel.js +42 -2
  260. package/dist/esm/Channel.js.map +1 -1
  261. package/dist/esm/Chunk.js +8 -0
  262. package/dist/esm/Chunk.js.map +1 -1
  263. package/dist/esm/Config.js +9 -0
  264. package/dist/esm/Config.js.map +1 -1
  265. package/dist/esm/Context.js +49 -0
  266. package/dist/esm/Context.js.map +1 -1
  267. package/dist/esm/Cron.js +81 -67
  268. package/dist/esm/Cron.js.map +1 -1
  269. package/dist/esm/Data.js +16 -0
  270. package/dist/esm/Data.js.map +1 -1
  271. package/dist/esm/DateTime.js +176 -627
  272. package/dist/esm/DateTime.js.map +1 -1
  273. package/dist/esm/Duration.js +2 -0
  274. package/dist/esm/Duration.js.map +1 -1
  275. package/dist/esm/Effect.js +297 -0
  276. package/dist/esm/Effect.js.map +1 -1
  277. package/dist/esm/Either.js +40 -2
  278. package/dist/esm/Either.js.map +1 -1
  279. package/dist/esm/FiberHandle.js +6 -0
  280. package/dist/esm/FiberHandle.js.map +1 -1
  281. package/dist/esm/FiberMap.js +6 -0
  282. package/dist/esm/FiberMap.js.map +1 -1
  283. package/dist/esm/FiberSet.js +6 -0
  284. package/dist/esm/FiberSet.js.map +1 -1
  285. package/dist/esm/Function.js +34 -0
  286. package/dist/esm/Function.js.map +1 -1
  287. package/dist/esm/GlobalValue.js +2 -0
  288. package/dist/esm/GlobalValue.js.map +1 -1
  289. package/dist/esm/HashMap.js.map +1 -1
  290. package/dist/esm/Inspectable.js +8 -4
  291. package/dist/esm/Inspectable.js.map +1 -1
  292. package/dist/esm/Iterable.js +18 -0
  293. package/dist/esm/Iterable.js.map +1 -1
  294. package/dist/esm/JSONSchema.js.map +1 -1
  295. package/dist/esm/List.js +4 -0
  296. package/dist/esm/List.js.map +1 -1
  297. package/dist/esm/Logger.js +26 -0
  298. package/dist/esm/Logger.js.map +1 -1
  299. package/dist/esm/Mailbox.js +2 -0
  300. package/dist/esm/Mailbox.js.map +1 -1
  301. package/dist/esm/ManagedRuntime.js +2 -0
  302. package/dist/esm/ManagedRuntime.js.map +1 -1
  303. package/dist/esm/Metric.js +10 -0
  304. package/dist/esm/Metric.js.map +1 -1
  305. package/dist/esm/Micro.js +1077 -1037
  306. package/dist/esm/Micro.js.map +1 -1
  307. package/dist/esm/Number.js +44 -0
  308. package/dist/esm/Number.js.map +1 -1
  309. package/dist/esm/Option.js +72 -0
  310. package/dist/esm/Option.js.map +1 -1
  311. package/dist/esm/Order.js +2 -0
  312. package/dist/esm/Order.js.map +1 -1
  313. package/dist/esm/Ordering.js +4 -0
  314. package/dist/esm/Ordering.js.map +1 -1
  315. package/dist/esm/Predicate.js +68 -0
  316. package/dist/esm/Predicate.js.map +1 -1
  317. package/dist/esm/Random.js +4 -0
  318. package/dist/esm/Random.js.map +1 -1
  319. package/dist/esm/RateLimiter.js +4 -0
  320. package/dist/esm/RateLimiter.js.map +1 -1
  321. package/dist/esm/RcMap.js +2 -0
  322. package/dist/esm/RcMap.js.map +1 -1
  323. package/dist/esm/RcRef.js +2 -0
  324. package/dist/esm/RcRef.js.map +1 -1
  325. package/dist/esm/Record.js +56 -0
  326. package/dist/esm/Record.js.map +1 -1
  327. package/dist/esm/Redacted.js +8 -0
  328. package/dist/esm/Redacted.js.map +1 -1
  329. package/dist/esm/RegExp.js +4 -0
  330. package/dist/esm/RegExp.js.map +1 -1
  331. package/dist/esm/Request.js +4 -0
  332. package/dist/esm/Request.js.map +1 -1
  333. package/dist/esm/RequestResolver.js +2 -0
  334. package/dist/esm/RequestResolver.js.map +1 -1
  335. package/dist/esm/Runtime.js +6 -0
  336. package/dist/esm/Runtime.js.map +1 -1
  337. package/dist/esm/STM.js.map +1 -1
  338. package/dist/esm/Schema.js +88 -0
  339. package/dist/esm/Schema.js.map +1 -1
  340. package/dist/esm/Sink.js +8 -0
  341. package/dist/esm/Sink.js.map +1 -1
  342. package/dist/esm/Stream.js +183 -5
  343. package/dist/esm/Stream.js.map +1 -1
  344. package/dist/esm/String.js +62 -0
  345. package/dist/esm/String.js.map +1 -1
  346. package/dist/esm/Struct.js +12 -0
  347. package/dist/esm/Struct.js.map +1 -1
  348. package/dist/esm/Symbol.js +2 -0
  349. package/dist/esm/Symbol.js.map +1 -1
  350. package/dist/esm/Trie.js +56 -0
  351. package/dist/esm/Trie.js.map +1 -1
  352. package/dist/esm/Tuple.js +22 -0
  353. package/dist/esm/Tuple.js.map +1 -1
  354. package/dist/esm/Utils.js +5 -0
  355. package/dist/esm/Utils.js.map +1 -1
  356. package/dist/esm/internal/channel/channelExecutor.js +5 -7
  357. package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
  358. package/dist/esm/internal/channel.js +152 -129
  359. package/dist/esm/internal/channel.js.map +1 -1
  360. package/dist/esm/internal/config.js +11 -3
  361. package/dist/esm/internal/config.js.map +1 -1
  362. package/dist/esm/internal/context.js +42 -2
  363. package/dist/esm/internal/context.js.map +1 -1
  364. package/dist/esm/internal/dateTime.js +704 -0
  365. package/dist/esm/internal/dateTime.js.map +1 -0
  366. package/dist/esm/internal/fiberRuntime.js +31 -9
  367. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  368. package/dist/esm/internal/groupBy.js +9 -3
  369. package/dist/esm/internal/groupBy.js.map +1 -1
  370. package/dist/esm/internal/layer.js +1 -1
  371. package/dist/esm/internal/layer.js.map +1 -1
  372. package/dist/esm/internal/mailbox.js +1 -1
  373. package/dist/esm/internal/mailbox.js.map +1 -1
  374. package/dist/esm/internal/sink.js +23 -20
  375. package/dist/esm/internal/sink.js.map +1 -1
  376. package/dist/esm/internal/stream.js +66 -69
  377. package/dist/esm/internal/stream.js.map +1 -1
  378. package/dist/esm/internal/version.js +1 -1
  379. package/dist/esm/internal/version.js.map +1 -1
  380. package/package.json +1 -1
  381. package/src/Array.ts +534 -0
  382. package/src/BigDecimal.ts +247 -21
  383. package/src/BigInt.ts +114 -0
  384. package/src/Boolean.ts +56 -0
  385. package/src/Brand.ts +6 -0
  386. package/src/Channel.ts +81 -5
  387. package/src/Chunk.ts +32 -0
  388. package/src/Config.ts +26 -1
  389. package/src/Context.ts +163 -0
  390. package/src/Cron.ts +91 -68
  391. package/src/Data.ts +26 -0
  392. package/src/DateTime.ts +307 -757
  393. package/src/Duration.ts +2 -0
  394. package/src/Effect.ts +910 -1
  395. package/src/Either.ts +84 -2
  396. package/src/FiberHandle.ts +6 -0
  397. package/src/FiberMap.ts +6 -0
  398. package/src/FiberSet.ts +6 -0
  399. package/src/Function.ts +50 -0
  400. package/src/GlobalValue.ts +2 -0
  401. package/src/HashMap.ts +6 -0
  402. package/src/Inspectable.ts +11 -7
  403. package/src/Iterable.ts +26 -0
  404. package/src/JSONSchema.ts +1 -0
  405. package/src/List.ts +24 -0
  406. package/src/Logger.ts +34 -0
  407. package/src/Mailbox.ts +2 -0
  408. package/src/ManagedRuntime.ts +2 -0
  409. package/src/Metric.ts +18 -0
  410. package/src/Micro.ts +2007 -1745
  411. package/src/Number.ts +104 -0
  412. package/src/Option.ts +142 -0
  413. package/src/Order.ts +2 -0
  414. package/src/Ordering.ts +8 -0
  415. package/src/Predicate.ts +104 -0
  416. package/src/Random.ts +4 -0
  417. package/src/RateLimiter.ts +4 -0
  418. package/src/RcMap.ts +6 -0
  419. package/src/RcRef.ts +2 -0
  420. package/src/Record.ts +136 -0
  421. package/src/Redacted.ts +8 -0
  422. package/src/RegExp.ts +4 -0
  423. package/src/Request.ts +4 -0
  424. package/src/RequestResolver.ts +6 -0
  425. package/src/Runtime.ts +18 -0
  426. package/src/STM.ts +2 -0
  427. package/src/Schema.ts +124 -0
  428. package/src/Sink.ts +11 -0
  429. package/src/Stream.ts +399 -44
  430. package/src/String.ts +94 -0
  431. package/src/Struct.ts +24 -0
  432. package/src/Symbol.ts +2 -0
  433. package/src/Trie.ts +132 -0
  434. package/src/Tuple.ts +42 -0
  435. package/src/Types.ts +24 -0
  436. package/src/Utils.ts +8 -0
  437. package/src/internal/channel/channelExecutor.ts +37 -33
  438. package/src/internal/channel.ts +504 -467
  439. package/src/internal/config.ts +18 -6
  440. package/src/internal/context.ts +56 -4
  441. package/src/internal/dateTime.ts +1126 -0
  442. package/src/internal/fiberRuntime.ts +35 -16
  443. package/src/internal/groupBy.ts +13 -22
  444. package/src/internal/layer.ts +5 -8
  445. package/src/internal/mailbox.ts +6 -4
  446. package/src/internal/sink.ts +55 -35
  447. package/src/internal/stream.ts +299 -299
  448. package/src/internal/version.ts +1 -1
package/src/Either.ts CHANGED
@@ -130,10 +130,12 @@ export const left: <L>(left: L) => Either<never, L> = either.left
130
130
  * the provided default as a `Left`.
131
131
  *
132
132
  * @example
133
+ * ```ts
133
134
  * import { Either } from "effect"
134
135
  *
135
136
  * assert.deepStrictEqual(Either.fromNullable(1, () => 'fallback'), Either.right(1))
136
137
  * assert.deepStrictEqual(Either.fromNullable(null, () => 'fallback'), Either.left('fallback'))
138
+ * ```
137
139
  *
138
140
  * @category constructors
139
141
  * @since 2.0.0
@@ -144,10 +146,12 @@ export const fromNullable: {
144
146
  * the provided default as a `Left`.
145
147
  *
146
148
  * @example
149
+ * ```ts
147
150
  * import { Either } from "effect"
148
151
  *
149
152
  * assert.deepStrictEqual(Either.fromNullable(1, () => 'fallback'), Either.right(1))
150
153
  * assert.deepStrictEqual(Either.fromNullable(null, () => 'fallback'), Either.left('fallback'))
154
+ * ```
151
155
  *
152
156
  * @category constructors
153
157
  * @since 2.0.0
@@ -158,10 +162,12 @@ export const fromNullable: {
158
162
  * the provided default as a `Left`.
159
163
  *
160
164
  * @example
165
+ * ```ts
161
166
  * import { Either } from "effect"
162
167
  *
163
168
  * assert.deepStrictEqual(Either.fromNullable(1, () => 'fallback'), Either.right(1))
164
169
  * assert.deepStrictEqual(Either.fromNullable(null, () => 'fallback'), Either.left('fallback'))
170
+ * ```
165
171
  *
166
172
  * @category constructors
167
173
  * @since 2.0.0
@@ -175,10 +181,12 @@ export const fromNullable: {
175
181
 
176
182
  /**
177
183
  * @example
184
+ * ```ts
178
185
  * import { Either, Option } from "effect"
179
186
  *
180
187
  * assert.deepStrictEqual(Either.fromOption(Option.some(1), () => 'error'), Either.right(1))
181
188
  * assert.deepStrictEqual(Either.fromOption(Option.none(), () => 'error'), Either.left('error'))
189
+ * ```
182
190
  *
183
191
  * @category constructors
184
192
  * @since 2.0.0
@@ -186,10 +194,12 @@ export const fromNullable: {
186
194
  export const fromOption: {
187
195
  /**
188
196
  * @example
197
+ * ```ts
189
198
  * import { Either, Option } from "effect"
190
199
  *
191
200
  * assert.deepStrictEqual(Either.fromOption(Option.some(1), () => 'error'), Either.right(1))
192
201
  * assert.deepStrictEqual(Either.fromOption(Option.none(), () => 'error'), Either.left('error'))
202
+ * ```
193
203
  *
194
204
  * @category constructors
195
205
  * @since 2.0.0
@@ -197,10 +207,12 @@ export const fromOption: {
197
207
  <L>(onNone: () => L): <R>(self: Option<R>) => Either<R, L>
198
208
  /**
199
209
  * @example
210
+ * ```ts
200
211
  * import { Either, Option } from "effect"
201
212
  *
202
213
  * assert.deepStrictEqual(Either.fromOption(Option.some(1), () => 'error'), Either.right(1))
203
214
  * assert.deepStrictEqual(Either.fromOption(Option.none(), () => 'error'), Either.left('error'))
215
+ * ```
204
216
  *
205
217
  * @category constructors
206
218
  * @since 2.0.0
@@ -254,11 +266,13 @@ export {
254
266
  * @param input - The value to test.
255
267
  *
256
268
  * @example
269
+ * ```ts
257
270
  * import { Either } from "effect"
258
271
  *
259
272
  * assert.deepStrictEqual(Either.isEither(Either.right(1)), true)
260
273
  * assert.deepStrictEqual(Either.isEither(Either.left("a")), true)
261
274
  * assert.deepStrictEqual(Either.isEither({ right: 1 }), false)
275
+ * ```
262
276
  *
263
277
  * @category guards
264
278
  * @since 2.0.0
@@ -271,10 +285,12 @@ export const isEither: (input: unknown) => input is Either<unknown, unknown> = e
271
285
  * @param self - The `Either` to check.
272
286
  *
273
287
  * @example
288
+ * ```ts
274
289
  * import { Either } from "effect"
275
290
  *
276
291
  * assert.deepStrictEqual(Either.isLeft(Either.right(1)), false)
277
292
  * assert.deepStrictEqual(Either.isLeft(Either.left("a")), true)
293
+ * ```
278
294
  *
279
295
  * @category guards
280
296
  * @since 2.0.0
@@ -287,10 +303,12 @@ export const isLeft: <R, L>(self: Either<R, L>) => self is Left<L, R> = either.i
287
303
  * @param self - The `Either` to check.
288
304
  *
289
305
  * @example
306
+ * ```ts
290
307
  * import { Either } from "effect"
291
308
  *
292
309
  * assert.deepStrictEqual(Either.isRight(Either.right(1)), true)
293
310
  * assert.deepStrictEqual(Either.isRight(Either.left("a")), false)
311
+ * ```
294
312
  *
295
313
  * @category guards
296
314
  * @since 2.0.0
@@ -300,13 +318,13 @@ export const isRight: <R, L>(self: Either<R, L>) => self is Right<L, R> = either
300
318
  /**
301
319
  * Converts a `Either` to an `Option` discarding the `Left`.
302
320
  *
303
- * Alias of {@link toOption}.
304
- *
305
321
  * @example
322
+ * ```ts
306
323
  * import { Either, Option } from "effect"
307
324
  *
308
325
  * assert.deepStrictEqual(Either.getRight(Either.right('ok')), Option.some('ok'))
309
326
  * assert.deepStrictEqual(Either.getRight(Either.left('err')), Option.none())
327
+ * ```
310
328
  *
311
329
  * @category getters
312
330
  * @since 2.0.0
@@ -317,10 +335,12 @@ export const getRight: <R, L>(self: Either<R, L>) => Option<R> = either.getRight
317
335
  * Converts a `Either` to an `Option` discarding the value.
318
336
  *
319
337
  * @example
338
+ * ```ts
320
339
  * import { Either, Option } from "effect"
321
340
  *
322
341
  * assert.deepStrictEqual(Either.getLeft(Either.right('ok')), Option.none())
323
342
  * assert.deepStrictEqual(Either.getLeft(Either.left('err')), Option.some('err'))
343
+ * ```
324
344
  *
325
345
  * @category getters
326
346
  * @since 2.0.0
@@ -452,6 +472,7 @@ export const map: {
452
472
  * if the value is a `Right` the inner value is applied to the `onRight` function.
453
473
  *
454
474
  * @example
475
+ * ```ts
455
476
  * import { pipe, Either } from "effect"
456
477
  *
457
478
  * const onLeft = (strings: ReadonlyArray<string>): string => `strings: ${strings.join(', ')}`
@@ -463,6 +484,7 @@ export const map: {
463
484
  * pipe(Either.left(['string 1', 'string 2']), Either.match({ onLeft, onRight })),
464
485
  * 'strings: string 1, string 2'
465
486
  * )
487
+ * ```
466
488
  *
467
489
  * @category pattern matching
468
490
  * @since 2.0.0
@@ -473,6 +495,7 @@ export const match: {
473
495
  * if the value is a `Right` the inner value is applied to the `onRight` function.
474
496
  *
475
497
  * @example
498
+ * ```ts
476
499
  * import { pipe, Either } from "effect"
477
500
  *
478
501
  * const onLeft = (strings: ReadonlyArray<string>): string => `strings: ${strings.join(', ')}`
@@ -484,6 +507,7 @@ export const match: {
484
507
  * pipe(Either.left(['string 1', 'string 2']), Either.match({ onLeft, onRight })),
485
508
  * 'strings: string 1, string 2'
486
509
  * )
510
+ * ```
487
511
  *
488
512
  * @category pattern matching
489
513
  * @since 2.0.0
@@ -499,6 +523,7 @@ export const match: {
499
523
  * if the value is a `Right` the inner value is applied to the `onRight` function.
500
524
  *
501
525
  * @example
526
+ * ```ts
502
527
  * import { pipe, Either } from "effect"
503
528
  *
504
529
  * const onLeft = (strings: ReadonlyArray<string>): string => `strings: ${strings.join(', ')}`
@@ -510,6 +535,7 @@ export const match: {
510
535
  * pipe(Either.left(['string 1', 'string 2']), Either.match({ onLeft, onRight })),
511
536
  * 'strings: string 1, string 2'
512
537
  * )
538
+ * ```
513
539
  *
514
540
  * @category pattern matching
515
541
  * @since 2.0.0
@@ -536,6 +562,7 @@ export const match: {
536
562
  * @param predicate - A `Predicate` function that takes in a value of type `A` and returns a boolean.
537
563
  *
538
564
  * @example
565
+ * ```ts
539
566
  * import { pipe, Either } from "effect"
540
567
  *
541
568
  * const isPositive = (n: number): boolean => n > 0
@@ -554,6 +581,7 @@ export const match: {
554
581
  * ),
555
582
  * Either.left("0 is not positive")
556
583
  * )
584
+ * ```
557
585
  *
558
586
  * @category lifting
559
587
  * @since 3.4.0
@@ -566,6 +594,7 @@ export const liftPredicate: {
566
594
  * @param predicate - A `Predicate` function that takes in a value of type `A` and returns a boolean.
567
595
  *
568
596
  * @example
597
+ * ```ts
569
598
  * import { pipe, Either } from "effect"
570
599
  *
571
600
  * const isPositive = (n: number): boolean => n > 0
@@ -584,6 +613,7 @@ export const liftPredicate: {
584
613
  * ),
585
614
  * Either.left("0 is not positive")
586
615
  * )
616
+ * ```
587
617
  *
588
618
  * @category lifting
589
619
  * @since 3.4.0
@@ -596,6 +626,7 @@ export const liftPredicate: {
596
626
  * @param predicate - A `Predicate` function that takes in a value of type `A` and returns a boolean.
597
627
  *
598
628
  * @example
629
+ * ```ts
599
630
  * import { pipe, Either } from "effect"
600
631
  *
601
632
  * const isPositive = (n: number): boolean => n > 0
@@ -614,6 +645,7 @@ export const liftPredicate: {
614
645
  * ),
615
646
  * Either.left("0 is not positive")
616
647
  * )
648
+ * ```
617
649
  *
618
650
  * @category lifting
619
651
  * @since 3.4.0
@@ -626,6 +658,7 @@ export const liftPredicate: {
626
658
  * @param predicate - A `Predicate` function that takes in a value of type `A` and returns a boolean.
627
659
  *
628
660
  * @example
661
+ * ```ts
629
662
  * import { pipe, Either } from "effect"
630
663
  *
631
664
  * const isPositive = (n: number): boolean => n > 0
@@ -644,6 +677,7 @@ export const liftPredicate: {
644
677
  * ),
645
678
  * Either.left("0 is not positive")
646
679
  * )
680
+ * ```
647
681
  *
648
682
  * @category lifting
649
683
  * @since 3.4.0
@@ -656,6 +690,7 @@ export const liftPredicate: {
656
690
  * @param predicate - A `Predicate` function that takes in a value of type `A` and returns a boolean.
657
691
  *
658
692
  * @example
693
+ * ```ts
659
694
  * import { pipe, Either } from "effect"
660
695
  *
661
696
  * const isPositive = (n: number): boolean => n > 0
@@ -674,6 +709,7 @@ export const liftPredicate: {
674
709
  * ),
675
710
  * Either.left("0 is not positive")
676
711
  * )
712
+ * ```
677
713
  *
678
714
  * @category lifting
679
715
  * @since 3.4.0
@@ -694,6 +730,7 @@ export const liftPredicate: {
694
730
  * If the predicate fails, set the left value with the result of the provided function.
695
731
  *
696
732
  * @example
733
+ * ```ts
697
734
  * import { pipe, Either } from "effect"
698
735
  *
699
736
  * const isPositive = (n: number): boolean => n > 0
@@ -712,6 +749,7 @@ export const liftPredicate: {
712
749
  * ),
713
750
  * Either.left("0 is not positive")
714
751
  * )
752
+ * ```
715
753
  *
716
754
  * @since 2.0.0
717
755
  * @category filtering & conditionals
@@ -722,6 +760,7 @@ export const filterOrLeft: {
722
760
  * If the predicate fails, set the left value with the result of the provided function.
723
761
  *
724
762
  * @example
763
+ * ```ts
725
764
  * import { pipe, Either } from "effect"
726
765
  *
727
766
  * const isPositive = (n: number): boolean => n > 0
@@ -740,6 +779,7 @@ export const filterOrLeft: {
740
779
  * ),
741
780
  * Either.left("0 is not positive")
742
781
  * )
782
+ * ```
743
783
  *
744
784
  * @since 2.0.0
745
785
  * @category filtering & conditionals
@@ -753,6 +793,7 @@ export const filterOrLeft: {
753
793
  * If the predicate fails, set the left value with the result of the provided function.
754
794
  *
755
795
  * @example
796
+ * ```ts
756
797
  * import { pipe, Either } from "effect"
757
798
  *
758
799
  * const isPositive = (n: number): boolean => n > 0
@@ -771,6 +812,7 @@ export const filterOrLeft: {
771
812
  * ),
772
813
  * Either.left("0 is not positive")
773
814
  * )
815
+ * ```
774
816
  *
775
817
  * @since 2.0.0
776
818
  * @category filtering & conditionals
@@ -784,6 +826,7 @@ export const filterOrLeft: {
784
826
  * If the predicate fails, set the left value with the result of the provided function.
785
827
  *
786
828
  * @example
829
+ * ```ts
787
830
  * import { pipe, Either } from "effect"
788
831
  *
789
832
  * const isPositive = (n: number): boolean => n > 0
@@ -802,6 +845,7 @@ export const filterOrLeft: {
802
845
  * ),
803
846
  * Either.left("0 is not positive")
804
847
  * )
848
+ * ```
805
849
  *
806
850
  * @since 2.0.0
807
851
  * @category filtering & conditionals
@@ -816,6 +860,7 @@ export const filterOrLeft: {
816
860
  * If the predicate fails, set the left value with the result of the provided function.
817
861
  *
818
862
  * @example
863
+ * ```ts
819
864
  * import { pipe, Either } from "effect"
820
865
  *
821
866
  * const isPositive = (n: number): boolean => n > 0
@@ -834,6 +879,7 @@ export const filterOrLeft: {
834
879
  * ),
835
880
  * Either.left("0 is not positive")
836
881
  * )
882
+ * ```
837
883
  *
838
884
  * @since 2.0.0
839
885
  * @category filtering & conditionals
@@ -858,10 +904,12 @@ export const merge: <R, L>(self: Either<R, L>) => L | R = match({
858
904
  * Returns the wrapped value if it's a `Right` or a default value if is a `Left`.
859
905
  *
860
906
  * @example
907
+ * ```ts
861
908
  * import { Either } from "effect"
862
909
  *
863
910
  * assert.deepStrictEqual(Either.getOrElse(Either.right(1), (error) => error + "!"), 1)
864
911
  * assert.deepStrictEqual(Either.getOrElse(Either.left("not a number"), (error) => error + "!"), "not a number!")
912
+ * ```
865
913
  *
866
914
  * @category getters
867
915
  * @since 2.0.0
@@ -871,10 +919,12 @@ export const getOrElse: {
871
919
  * Returns the wrapped value if it's a `Right` or a default value if is a `Left`.
872
920
  *
873
921
  * @example
922
+ * ```ts
874
923
  * import { Either } from "effect"
875
924
  *
876
925
  * assert.deepStrictEqual(Either.getOrElse(Either.right(1), (error) => error + "!"), 1)
877
926
  * assert.deepStrictEqual(Either.getOrElse(Either.left("not a number"), (error) => error + "!"), "not a number!")
927
+ * ```
878
928
  *
879
929
  * @category getters
880
930
  * @since 2.0.0
@@ -884,10 +934,12 @@ export const getOrElse: {
884
934
  * Returns the wrapped value if it's a `Right` or a default value if is a `Left`.
885
935
  *
886
936
  * @example
937
+ * ```ts
887
938
  * import { Either } from "effect"
888
939
  *
889
940
  * assert.deepStrictEqual(Either.getOrElse(Either.right(1), (error) => error + "!"), 1)
890
941
  * assert.deepStrictEqual(Either.getOrElse(Either.left("not a number"), (error) => error + "!"), "not a number!")
942
+ * ```
891
943
  *
892
944
  * @category getters
893
945
  * @since 2.0.0
@@ -900,10 +952,12 @@ export const getOrElse: {
900
952
 
901
953
  /**
902
954
  * @example
955
+ * ```ts
903
956
  * import { Either } from "effect"
904
957
  *
905
958
  * assert.deepStrictEqual(Either.getOrNull(Either.right(1)), 1)
906
959
  * assert.deepStrictEqual(Either.getOrNull(Either.left("a")), null)
960
+ * ```
907
961
  *
908
962
  * @category getters
909
963
  * @since 2.0.0
@@ -912,10 +966,12 @@ export const getOrNull: <R, L>(self: Either<R, L>) => R | null = getOrElse(const
912
966
 
913
967
  /**
914
968
  * @example
969
+ * ```ts
915
970
  * import { Either } from "effect"
916
971
  *
917
972
  * assert.deepStrictEqual(Either.getOrUndefined(Either.right(1)), 1)
918
973
  * assert.deepStrictEqual(Either.getOrUndefined(Either.left("a")), undefined)
974
+ * ```
919
975
  *
920
976
  * @category getters
921
977
  * @since 2.0.0
@@ -931,6 +987,7 @@ export const getOrUndefined: <R, L>(self: Either<R, L>) => R | undefined = getOr
931
987
  * @param onLeft - A function that will be called if the `Either` is `Left`. It returns the error to be thrown.
932
988
  *
933
989
  * @example
990
+ * ```ts
934
991
  * import { Either } from "effect"
935
992
  *
936
993
  * assert.deepStrictEqual(
@@ -938,6 +995,7 @@ export const getOrUndefined: <R, L>(self: Either<R, L>) => R | undefined = getOr
938
995
  * 1
939
996
  * )
940
997
  * assert.throws(() => Either.getOrThrowWith(Either.left("error"), () => new Error('Unexpected Left')))
998
+ * ```
941
999
  *
942
1000
  * @category getters
943
1001
  * @since 2.0.0
@@ -952,6 +1010,7 @@ export const getOrThrowWith: {
952
1010
  * @param onLeft - A function that will be called if the `Either` is `Left`. It returns the error to be thrown.
953
1011
  *
954
1012
  * @example
1013
+ * ```ts
955
1014
  * import { Either } from "effect"
956
1015
  *
957
1016
  * assert.deepStrictEqual(
@@ -959,6 +1018,7 @@ export const getOrThrowWith: {
959
1018
  * 1
960
1019
  * )
961
1020
  * assert.throws(() => Either.getOrThrowWith(Either.left("error"), () => new Error('Unexpected Left')))
1021
+ * ```
962
1022
  *
963
1023
  * @category getters
964
1024
  * @since 2.0.0
@@ -973,6 +1033,7 @@ export const getOrThrowWith: {
973
1033
  * @param onLeft - A function that will be called if the `Either` is `Left`. It returns the error to be thrown.
974
1034
  *
975
1035
  * @example
1036
+ * ```ts
976
1037
  * import { Either } from "effect"
977
1038
  *
978
1039
  * assert.deepStrictEqual(
@@ -980,6 +1041,7 @@ export const getOrThrowWith: {
980
1041
  * 1
981
1042
  * )
982
1043
  * assert.throws(() => Either.getOrThrowWith(Either.left("error"), () => new Error('Unexpected Left')))
1044
+ * ```
983
1045
  *
984
1046
  * @category getters
985
1047
  * @since 2.0.0
@@ -1001,10 +1063,12 @@ export const getOrThrowWith: {
1001
1063
  * @throws `Error("getOrThrow called on a Left")`
1002
1064
  *
1003
1065
  * @example
1066
+ * ```ts
1004
1067
  * import { Either } from "effect"
1005
1068
  *
1006
1069
  * assert.deepStrictEqual(Either.getOrThrow(Either.right(1)), 1)
1007
1070
  * assert.throws(() => Either.getOrThrow(Either.left("error")))
1071
+ * ```
1008
1072
  *
1009
1073
  * @category getters
1010
1074
  * @since 2.0.0
@@ -1194,11 +1258,13 @@ export const ap: {
1194
1258
  * @param fields - the struct of `Either`s to be sequenced.
1195
1259
  *
1196
1260
  * @example
1261
+ * ```ts
1197
1262
  * import { Either } from "effect"
1198
1263
  *
1199
1264
  * assert.deepStrictEqual(Either.all([Either.right(1), Either.right(2)]), Either.right([1, 2]))
1200
1265
  * assert.deepStrictEqual(Either.all({ right: Either.right(1), b: Either.right("hello") }), Either.right({ right: 1, b: "hello" }))
1201
1266
  * assert.deepStrictEqual(Either.all({ right: Either.right(1), b: Either.left("error") }), Either.left("error"))
1267
+ * ```
1202
1268
  *
1203
1269
  * @category combining
1204
1270
  * @since 2.0.0
@@ -1309,6 +1375,7 @@ export const gen: Gen.Gen<EitherTypeLambda, Gen.Adapter<EitherTypeLambda>> = (..
1309
1375
  * @see {@link let_ let}
1310
1376
  *
1311
1377
  * @example
1378
+ * ```ts
1312
1379
  * import { Either, pipe } from "effect"
1313
1380
  *
1314
1381
  * const result = pipe(
@@ -1318,6 +1385,7 @@ export const gen: Gen.Gen<EitherTypeLambda, Gen.Adapter<EitherTypeLambda>> = (..
1318
1385
  * Either.let("sum", ({ x, y }) => x + y)
1319
1386
  * )
1320
1387
  * assert.deepStrictEqual(result, Either.right({ x: 2, y: 3, sum: 5 }))
1388
+ * ```
1321
1389
  *
1322
1390
  * @category do notation
1323
1391
  * @since 2.0.0
@@ -1339,6 +1407,7 @@ export const Do: Either<{}> = right({})
1339
1407
  * @see {@link let_ let}
1340
1408
  *
1341
1409
  * @example
1410
+ * ```ts
1342
1411
  * import { Either, pipe } from "effect"
1343
1412
  *
1344
1413
  * const result = pipe(
@@ -1348,6 +1417,7 @@ export const Do: Either<{}> = right({})
1348
1417
  * Either.let("sum", ({ x, y }) => x + y)
1349
1418
  * )
1350
1419
  * assert.deepStrictEqual(result, Either.right({ x: 2, y: 3, sum: 5 }))
1420
+ * ```
1351
1421
  *
1352
1422
  * @category do notation
1353
1423
  * @since 2.0.0
@@ -1368,6 +1438,7 @@ export const bind: {
1368
1438
  * @see {@link let_ let}
1369
1439
  *
1370
1440
  * @example
1441
+ * ```ts
1371
1442
  * import { Either, pipe } from "effect"
1372
1443
  *
1373
1444
  * const result = pipe(
@@ -1377,6 +1448,7 @@ export const bind: {
1377
1448
  * Either.let("sum", ({ x, y }) => x + y)
1378
1449
  * )
1379
1450
  * assert.deepStrictEqual(result, Either.right({ x: 2, y: 3, sum: 5 }))
1451
+ * ```
1380
1452
  *
1381
1453
  * @category do notation
1382
1454
  * @since 2.0.0
@@ -1400,6 +1472,7 @@ export const bind: {
1400
1472
  * @see {@link let_ let}
1401
1473
  *
1402
1474
  * @example
1475
+ * ```ts
1403
1476
  * import { Either, pipe } from "effect"
1404
1477
  *
1405
1478
  * const result = pipe(
@@ -1409,6 +1482,7 @@ export const bind: {
1409
1482
  * Either.let("sum", ({ x, y }) => x + y)
1410
1483
  * )
1411
1484
  * assert.deepStrictEqual(result, Either.right({ x: 2, y: 3, sum: 5 }))
1485
+ * ```
1412
1486
  *
1413
1487
  * @category do notation
1414
1488
  * @since 2.0.0
@@ -1435,6 +1509,7 @@ export const bind: {
1435
1509
  * @see {@link let_ let}
1436
1510
  *
1437
1511
  * @example
1512
+ * ```ts
1438
1513
  * import { Either, pipe } from "effect"
1439
1514
  *
1440
1515
  * const result = pipe(
@@ -1444,6 +1519,7 @@ export const bind: {
1444
1519
  * Either.let("sum", ({ x, y }) => x + y)
1445
1520
  * )
1446
1521
  * assert.deepStrictEqual(result, Either.right({ x: 2, y: 3, sum: 5 }))
1522
+ * ```
1447
1523
  *
1448
1524
  * @category do notation
1449
1525
  * @since 2.0.0
@@ -1464,6 +1540,7 @@ export const bindTo: {
1464
1540
  * @see {@link let_ let}
1465
1541
  *
1466
1542
  * @example
1543
+ * ```ts
1467
1544
  * import { Either, pipe } from "effect"
1468
1545
  *
1469
1546
  * const result = pipe(
@@ -1473,6 +1550,7 @@ export const bindTo: {
1473
1550
  * Either.let("sum", ({ x, y }) => x + y)
1474
1551
  * )
1475
1552
  * assert.deepStrictEqual(result, Either.right({ x: 2, y: 3, sum: 5 }))
1553
+ * ```
1476
1554
  *
1477
1555
  * @category do notation
1478
1556
  * @since 2.0.0
@@ -1493,6 +1571,7 @@ export const bindTo: {
1493
1571
  * @see {@link let_ let}
1494
1572
  *
1495
1573
  * @example
1574
+ * ```ts
1496
1575
  * import { Either, pipe } from "effect"
1497
1576
  *
1498
1577
  * const result = pipe(
@@ -1502,6 +1581,7 @@ export const bindTo: {
1502
1581
  * Either.let("sum", ({ x, y }) => x + y)
1503
1582
  * )
1504
1583
  * assert.deepStrictEqual(result, Either.right({ x: 2, y: 3, sum: 5 }))
1584
+ * ```
1505
1585
  *
1506
1586
  * @category do notation
1507
1587
  * @since 2.0.0
@@ -1537,6 +1617,7 @@ export {
1537
1617
  * @see {@link bind}
1538
1618
  *
1539
1619
  * @example
1620
+ * ```ts
1540
1621
  * import { Either, pipe } from "effect"
1541
1622
  *
1542
1623
  * const result = pipe(
@@ -1547,6 +1628,7 @@ export {
1547
1628
  * )
1548
1629
  * assert.deepStrictEqual(result, Either.right({ x: 2, y: 3, sum: 5 }))
1549
1630
  *
1631
+ * ```
1550
1632
  * @category do notation
1551
1633
  * @since 2.0.0
1552
1634
  */
@@ -87,6 +87,7 @@ const unsafeMake = <A = unknown, E = unknown>(
87
87
  * be automatically removed from the FiberHandle when it completes.
88
88
  *
89
89
  * @example
90
+ * ```ts
90
91
  * import { Effect, FiberHandle } from "effect"
91
92
  *
92
93
  * Effect.gen(function*(_) {
@@ -101,6 +102,7 @@ const unsafeMake = <A = unknown, E = unknown>(
101
102
  * }).pipe(
102
103
  * Effect.scoped // The fiber will be interrupted when the scope is closed
103
104
  * )
105
+ * ```
104
106
  *
105
107
  * @since 2.0.0
106
108
  * @categories constructors
@@ -422,6 +424,7 @@ export const run: {
422
424
  * Capture a Runtime and use it to fork Effect's, adding the forked fibers to the FiberHandle.
423
425
  *
424
426
  * @example
427
+ * ```ts
425
428
  * import { Context, Effect, FiberHandle } from "effect"
426
429
  *
427
430
  * interface Users {
@@ -443,6 +446,7 @@ export const run: {
443
446
  * }).pipe(
444
447
  * Effect.scoped // The fiber will be interrupted when the scope is closed
445
448
  * )
449
+ * ```
446
450
  *
447
451
  * @since 2.0.0
448
452
  * @categories combinators
@@ -494,6 +498,7 @@ export const runtime: <A, E>(
494
498
  * @since 2.0.0
495
499
  * @categories combinators
496
500
  * @example
501
+ * ```ts
497
502
  * import { Effect, FiberHandle } from "effect";
498
503
  *
499
504
  * Effect.gen(function* (_) {
@@ -503,6 +508,7 @@ export const runtime: <A, E>(
503
508
  * // parent fiber will fail with "error"
504
509
  * yield* _(FiberHandle.join(handle));
505
510
  * });
511
+ * ```
506
512
  */
507
513
  export const join = <A, E>(self: FiberHandle<A, E>): Effect.Effect<void, E> =>
508
514
  Deferred.await(self.deferred as Deferred.Deferred<void, E>)
package/src/FiberMap.ts CHANGED
@@ -98,6 +98,7 @@ const unsafeMake = <K, A = unknown, E = unknown>(
98
98
  * be automatically removed from the FiberMap when they complete.
99
99
  *
100
100
  * @example
101
+ * ```ts
101
102
  * import { Effect, FiberMap } from "effect"
102
103
  *
103
104
  * Effect.gen(function*(_) {
@@ -111,6 +112,7 @@ const unsafeMake = <K, A = unknown, E = unknown>(
111
112
  * }).pipe(
112
113
  * Effect.scoped // The fibers will be interrupted when the scope is closed
113
114
  * )
115
+ * ```
114
116
  *
115
117
  * @since 2.0.0
116
118
  * @categories constructors
@@ -607,6 +609,7 @@ export const run: {
607
609
  * Capture a Runtime and use it to fork Effect's, adding the forked fibers to the FiberMap.
608
610
  *
609
611
  * @example
612
+ * ```ts
610
613
  * import { Context, Effect, FiberMap } from "effect"
611
614
  *
612
615
  * interface Users {
@@ -626,6 +629,7 @@ export const run: {
626
629
  * }).pipe(
627
630
  * Effect.scoped // The fibers will be interrupted when the scope is closed
628
631
  * )
632
+ * ```
629
633
  *
630
634
  * @since 2.0.0
631
635
  * @categories combinators
@@ -686,6 +690,7 @@ export const size = <K, A, E>(self: FiberMap<K, A, E>): Effect.Effect<number> =>
686
690
  * @since 2.0.0
687
691
  * @categories combinators
688
692
  * @example
693
+ * ```ts
689
694
  * import { Effect, FiberMap } from "effect";
690
695
  *
691
696
  * Effect.gen(function* (_) {
@@ -695,6 +700,7 @@ export const size = <K, A, E>(self: FiberMap<K, A, E>): Effect.Effect<number> =>
695
700
  * // parent fiber will fail with "error"
696
701
  * yield* _(FiberMap.join(map));
697
702
  * });
703
+ * ```
698
704
  */
699
705
  export const join = <K, A, E>(self: FiberMap<K, A, E>): Effect.Effect<void, E> =>
700
706
  Deferred.await(self.deferred as Deferred.Deferred<void, E>)