effect 3.13.0 → 3.13.2

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 (217) 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/Function.js.map +1 -1
  12. package/dist/cjs/HashSet.js.map +1 -1
  13. package/dist/cjs/Iterable.js.map +1 -1
  14. package/dist/cjs/Layer.js.map +1 -1
  15. package/dist/cjs/List.js.map +1 -1
  16. package/dist/cjs/Logger.js.map +1 -1
  17. package/dist/cjs/Metric.js.map +1 -1
  18. package/dist/cjs/MetricKey.js.map +1 -1
  19. package/dist/cjs/MetricPolling.js.map +1 -1
  20. package/dist/cjs/Micro.js.map +1 -1
  21. package/dist/cjs/MutableHashMap.js.map +1 -1
  22. package/dist/cjs/Option.js +1 -1
  23. package/dist/cjs/Option.js.map +1 -1
  24. package/dist/cjs/ParseResult.js.map +1 -1
  25. package/dist/cjs/Predicate.js.map +1 -1
  26. package/dist/cjs/Record.js.map +1 -1
  27. package/dist/cjs/Request.js.map +1 -1
  28. package/dist/cjs/RequestResolver.js.map +1 -1
  29. package/dist/cjs/STM.js.map +1 -1
  30. package/dist/cjs/Schedule.js.map +1 -1
  31. package/dist/cjs/Schema.js.map +1 -1
  32. package/dist/cjs/SchemaAST.js +1 -1
  33. package/dist/cjs/SchemaAST.js.map +1 -1
  34. package/dist/cjs/Sink.js.map +1 -1
  35. package/dist/cjs/SortedMap.js.map +1 -1
  36. package/dist/cjs/Stream.js.map +1 -1
  37. package/dist/cjs/Struct.js.map +1 -1
  38. package/dist/cjs/Subscribable.js.map +1 -1
  39. package/dist/cjs/SubscriptionRef.js.map +1 -1
  40. package/dist/cjs/SynchronizedRef.js.map +1 -1
  41. package/dist/cjs/TArray.js.map +1 -1
  42. package/dist/cjs/TMap.js.map +1 -1
  43. package/dist/cjs/Take.js.map +1 -1
  44. package/dist/cjs/TestServices.js.map +1 -1
  45. package/dist/cjs/Unify.js.map +1 -1
  46. package/dist/cjs/internal/version.js +1 -1
  47. package/dist/dts/Array.d.ts.map +1 -1
  48. package/dist/dts/Cause.d.ts.map +1 -1
  49. package/dist/dts/Channel.d.ts.map +1 -1
  50. package/dist/dts/ChildExecutorDecision.d.ts.map +1 -1
  51. package/dist/dts/Chunk.d.ts.map +1 -1
  52. package/dist/dts/Config.d.ts.map +1 -1
  53. package/dist/dts/ConfigProvider.d.ts.map +1 -1
  54. package/dist/dts/Console.d.ts.map +1 -1
  55. package/dist/dts/Context.d.ts.map +1 -1
  56. package/dist/dts/DateTime.d.ts.map +1 -1
  57. package/dist/dts/Duration.d.ts +1 -3
  58. package/dist/dts/Duration.d.ts.map +1 -1
  59. package/dist/dts/Effect.d.ts.map +1 -1
  60. package/dist/dts/Either.d.ts.map +1 -1
  61. package/dist/dts/ExecutionStrategy.d.ts.map +1 -1
  62. package/dist/dts/Exit.d.ts.map +1 -1
  63. package/dist/dts/Fiber.d.ts.map +1 -1
  64. package/dist/dts/FiberRefsPatch.d.ts.map +1 -1
  65. package/dist/dts/Function.d.ts.map +1 -1
  66. package/dist/dts/GroupBy.d.ts.map +1 -1
  67. package/dist/dts/HashSet.d.ts.map +1 -1
  68. package/dist/dts/Iterable.d.ts.map +1 -1
  69. package/dist/dts/Layer.d.ts.map +1 -1
  70. package/dist/dts/List.d.ts.map +1 -1
  71. package/dist/dts/Logger.d.ts.map +1 -1
  72. package/dist/dts/Mailbox.d.ts.map +1 -1
  73. package/dist/dts/MergeDecision.d.ts.map +1 -1
  74. package/dist/dts/MergeStrategy.d.ts.map +1 -1
  75. package/dist/dts/Metric.d.ts.map +1 -1
  76. package/dist/dts/MetricKey.d.ts.map +1 -1
  77. package/dist/dts/MetricPolling.d.ts.map +1 -1
  78. package/dist/dts/Micro.d.ts.map +1 -1
  79. package/dist/dts/MutableHashMap.d.ts.map +1 -1
  80. package/dist/dts/Option.d.ts +3 -3
  81. package/dist/dts/Option.d.ts.map +1 -1
  82. package/dist/dts/ParseResult.d.ts.map +1 -1
  83. package/dist/dts/Predicate.d.ts.map +1 -1
  84. package/dist/dts/RcMap.d.ts.map +1 -1
  85. package/dist/dts/Record.d.ts.map +1 -1
  86. package/dist/dts/RedBlackTree.d.ts.map +1 -1
  87. package/dist/dts/Request.d.ts.map +1 -1
  88. package/dist/dts/RequestResolver.d.ts.map +1 -1
  89. package/dist/dts/Runtime.d.ts.map +1 -1
  90. package/dist/dts/STM.d.ts.map +1 -1
  91. package/dist/dts/Schedule.d.ts.map +1 -1
  92. package/dist/dts/Schema.d.ts.map +1 -1
  93. package/dist/dts/Sink.d.ts.map +1 -1
  94. package/dist/dts/SortedMap.d.ts.map +1 -1
  95. package/dist/dts/Stream.d.ts.map +1 -1
  96. package/dist/dts/StreamHaltStrategy.d.ts.map +1 -1
  97. package/dist/dts/Struct.d.ts.map +1 -1
  98. package/dist/dts/Subscribable.d.ts.map +1 -1
  99. package/dist/dts/SubscriptionRef.d.ts.map +1 -1
  100. package/dist/dts/SynchronizedRef.d.ts.map +1 -1
  101. package/dist/dts/TArray.d.ts.map +1 -1
  102. package/dist/dts/TMap.d.ts.map +1 -1
  103. package/dist/dts/TSubscriptionRef.d.ts.map +1 -1
  104. package/dist/dts/Take.d.ts.map +1 -1
  105. package/dist/dts/TestServices.d.ts.map +1 -1
  106. package/dist/dts/Unify.d.ts.map +1 -1
  107. package/dist/dts/UpstreamPullRequest.d.ts.map +1 -1
  108. package/dist/dts/UpstreamPullStrategy.d.ts.map +1 -1
  109. package/dist/esm/Array.js.map +1 -1
  110. package/dist/esm/Channel.js.map +1 -1
  111. package/dist/esm/Chunk.js.map +1 -1
  112. package/dist/esm/Context.js.map +1 -1
  113. package/dist/esm/DateTime.js.map +1 -1
  114. package/dist/esm/Duration.js +1 -3
  115. package/dist/esm/Duration.js.map +1 -1
  116. package/dist/esm/Effect.js.map +1 -1
  117. package/dist/esm/Either.js.map +1 -1
  118. package/dist/esm/Exit.js.map +1 -1
  119. package/dist/esm/Function.js.map +1 -1
  120. package/dist/esm/HashSet.js.map +1 -1
  121. package/dist/esm/Iterable.js.map +1 -1
  122. package/dist/esm/Layer.js.map +1 -1
  123. package/dist/esm/List.js.map +1 -1
  124. package/dist/esm/Logger.js.map +1 -1
  125. package/dist/esm/Metric.js.map +1 -1
  126. package/dist/esm/MetricKey.js.map +1 -1
  127. package/dist/esm/MetricPolling.js.map +1 -1
  128. package/dist/esm/Micro.js.map +1 -1
  129. package/dist/esm/MutableHashMap.js.map +1 -1
  130. package/dist/esm/Option.js +1 -1
  131. package/dist/esm/Option.js.map +1 -1
  132. package/dist/esm/ParseResult.js.map +1 -1
  133. package/dist/esm/Predicate.js.map +1 -1
  134. package/dist/esm/Record.js.map +1 -1
  135. package/dist/esm/Request.js.map +1 -1
  136. package/dist/esm/RequestResolver.js.map +1 -1
  137. package/dist/esm/STM.js.map +1 -1
  138. package/dist/esm/Schedule.js.map +1 -1
  139. package/dist/esm/Schema.js.map +1 -1
  140. package/dist/esm/SchemaAST.js +1 -1
  141. package/dist/esm/SchemaAST.js.map +1 -1
  142. package/dist/esm/Sink.js.map +1 -1
  143. package/dist/esm/SortedMap.js.map +1 -1
  144. package/dist/esm/Stream.js.map +1 -1
  145. package/dist/esm/Struct.js.map +1 -1
  146. package/dist/esm/Subscribable.js.map +1 -1
  147. package/dist/esm/SubscriptionRef.js.map +1 -1
  148. package/dist/esm/SynchronizedRef.js.map +1 -1
  149. package/dist/esm/TArray.js.map +1 -1
  150. package/dist/esm/TMap.js.map +1 -1
  151. package/dist/esm/Take.js.map +1 -1
  152. package/dist/esm/TestServices.js.map +1 -1
  153. package/dist/esm/Unify.js.map +1 -1
  154. package/dist/esm/internal/version.js +1 -1
  155. package/package.json +1 -1
  156. package/src/Array.ts +22 -82
  157. package/src/Cause.ts +20 -20
  158. package/src/Channel.ts +14 -44
  159. package/src/ChildExecutorDecision.ts +11 -11
  160. package/src/Chunk.ts +23 -36
  161. package/src/Config.ts +27 -27
  162. package/src/ConfigProvider.ts +3 -3
  163. package/src/Console.ts +9 -9
  164. package/src/Context.ts +2 -9
  165. package/src/DateTime.ts +96 -104
  166. package/src/Duration.ts +1 -3
  167. package/src/Effect.ts +64 -229
  168. package/src/Either.ts +2 -8
  169. package/src/ExecutionStrategy.ts +11 -11
  170. package/src/Exit.ts +27 -29
  171. package/src/Fiber.ts +9 -9
  172. package/src/FiberRefsPatch.ts +3 -3
  173. package/src/Function.ts +2 -8
  174. package/src/GroupBy.ts +5 -5
  175. package/src/HashSet.ts +2 -7
  176. package/src/Iterable.ts +2 -7
  177. package/src/Layer.ts +22 -77
  178. package/src/List.ts +32 -43
  179. package/src/Logger.ts +21 -55
  180. package/src/Mailbox.ts +9 -9
  181. package/src/MergeDecision.ts +9 -9
  182. package/src/MergeStrategy.ts +9 -9
  183. package/src/Metric.ts +13 -47
  184. package/src/MetricKey.ts +4 -16
  185. package/src/MetricPolling.ts +1 -3
  186. package/src/Micro.ts +43 -104
  187. package/src/MutableHashMap.ts +1 -4
  188. package/src/Option.ts +4 -7
  189. package/src/ParseResult.ts +4 -14
  190. package/src/Predicate.ts +2 -6
  191. package/src/RcMap.ts +10 -10
  192. package/src/Record.ts +24 -90
  193. package/src/RedBlackTree.ts +14 -14
  194. package/src/Request.ts +2 -7
  195. package/src/RequestResolver.ts +6 -22
  196. package/src/Runtime.ts +4 -4
  197. package/src/STM.ts +17 -67
  198. package/src/Schedule.ts +37 -126
  199. package/src/Schema.ts +99 -123
  200. package/src/SchemaAST.ts +1 -1
  201. package/src/Sink.ts +20 -68
  202. package/src/SortedMap.ts +1 -3
  203. package/src/Stream.ts +86 -311
  204. package/src/StreamHaltStrategy.ts +13 -13
  205. package/src/Struct.ts +2 -7
  206. package/src/Subscribable.ts +1 -3
  207. package/src/SubscriptionRef.ts +1 -3
  208. package/src/SynchronizedRef.ts +17 -19
  209. package/src/TArray.ts +7 -10
  210. package/src/TMap.ts +4 -13
  211. package/src/TSubscriptionRef.ts +3 -3
  212. package/src/Take.ts +24 -29
  213. package/src/TestServices.ts +1 -3
  214. package/src/Unify.ts +1 -3
  215. package/src/UpstreamPullRequest.ts +9 -9
  216. package/src/UpstreamPullStrategy.ts +9 -9
  217. package/src/internal/version.ts +1 -1
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
@@ -2889,7 +2889,7 @@ export const partitionMap: {
2889
2889
  *
2890
2890
  * // Transform and filter numbers
2891
2891
  * const transformEven = (n: Option.Option<number>): Option.Option<string> =>
2892
- * Option.flatMap(n, (n) => (n % 2 === 0 ? Option.some(`Even: ${n}`) : Option.none()))
2892
+ * Option.filterMap(n, (n) => (n % 2 === 0 ? Option.some(`Even: ${n}`) : Option.none()))
2893
2893
  *
2894
2894
  * console.log(transformEven(Option.none()))
2895
2895
  * // Output: { _id: 'Option', _tag: 'None' }
@@ -2927,7 +2927,7 @@ export const filterMap: {
2927
2927
  *
2928
2928
  * // Transform and filter numbers
2929
2929
  * const transformEven = (n: Option.Option<number>): Option.Option<string> =>
2930
- * Option.flatMap(n, (n) => (n % 2 === 0 ? Option.some(`Even: ${n}`) : Option.none()))
2930
+ * Option.filterMap(n, (n) => (n % 2 === 0 ? Option.some(`Even: ${n}`) : Option.none()))
2931
2931
  *
2932
2932
  * console.log(transformEven(Option.none()))
2933
2933
  * // Output: { _id: 'Option', _tag: 'None' }
@@ -2965,7 +2965,7 @@ export const filterMap: {
2965
2965
  *
2966
2966
  * // Transform and filter numbers
2967
2967
  * const transformEven = (n: Option.Option<number>): Option.Option<string> =>
2968
- * Option.flatMap(n, (n) => (n % 2 === 0 ? Option.some(`Even: ${n}`) : Option.none()))
2968
+ * Option.filterMap(n, (n) => (n % 2 === 0 ? Option.some(`Even: ${n}`) : Option.none()))
2969
2969
  *
2970
2970
  * console.log(transformEven(Option.none()))
2971
2971
  * // Output: { _id: 'Option', _tag: 'None' }
@@ -3919,10 +3919,7 @@ export const bind: {
3919
3919
  * @category Do notation
3920
3920
  * @since 2.0.0
3921
3921
  */
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 }>
3922
+ <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
3923
  /**
3927
3924
  * 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
3925
  *
@@ -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>
package/src/Predicate.ts CHANGED
@@ -1040,9 +1040,7 @@ export const tuple: {
1040
1040
  *
1041
1041
  * @since 2.0.0
1042
1042
  */
1043
- <T extends ReadonlyArray<Predicate.Any>>(
1044
- ...elements: T
1045
- ): [Extract<T[number], Refinement.Any>] extends [never] ? Predicate<{ readonly [I in keyof T]: Predicate.In<T[I]> }>
1043
+ <T extends ReadonlyArray<Predicate.Any>>(...elements: T): [Extract<T[number], Refinement.Any>] extends [never] ? Predicate<{ readonly [I in keyof T]: Predicate.In<T[I]> }>
1046
1044
  : Refinement<
1047
1045
  { readonly [I in keyof T]: T[I] extends Refinement.Any ? Refinement.In<T[I]> : Predicate.In<T[I]> },
1048
1046
  { readonly [I in keyof T]: T[I] extends Refinement.Any ? Refinement.Out<T[I]> : Predicate.In<T[I]> }
@@ -1068,9 +1066,7 @@ export const struct: {
1068
1066
  *
1069
1067
  * @since 2.0.0
1070
1068
  */
1071
- <R extends Record<string, Predicate.Any>>(
1072
- fields: R
1073
- ): [Extract<R[keyof R], Refinement.Any>] extends [never] ?
1069
+ <R extends Record<string, Predicate.Any>>(fields: R): [Extract<R[keyof R], Refinement.Any>] extends [never] ?
1074
1070
  Predicate<{ readonly [K in keyof R]: Predicate.In<R[K]> }> :
1075
1071
  Refinement<
1076
1072
  { readonly [K in keyof R]: R[K] extends Refinement.Any ? Refinement.In<R[K]> : Predicate.In<R[K]> },
package/src/RcMap.ts CHANGED
@@ -113,11 +113,11 @@ export const make: {
113
113
  * ```
114
114
  */
115
115
  <K, A, E, R>(
116
- options: {
117
- readonly lookup: (key: K) => Effect.Effect<A, E, R>
118
- readonly idleTimeToLive?: Duration.DurationInput | undefined
119
- readonly capacity?: undefined
120
- }
116
+ options: {
117
+ readonly lookup: (key: K) => Effect.Effect<A, E, R>
118
+ readonly idleTimeToLive?: Duration.DurationInput | undefined
119
+ readonly capacity?: undefined
120
+ }
121
121
  ): Effect.Effect<RcMap<K, A, E>, never, Scope.Scope | R>
122
122
  /**
123
123
  * An `RcMap` can contain multiple reference counted resources that can be indexed
@@ -153,11 +153,11 @@ export const make: {
153
153
  * ```
154
154
  */
155
155
  <K, A, E, R>(
156
- options: {
157
- readonly lookup: (key: K) => Effect.Effect<A, E, R>
158
- readonly idleTimeToLive?: Duration.DurationInput | undefined
159
- readonly capacity: number
160
- }
156
+ options: {
157
+ readonly lookup: (key: K) => Effect.Effect<A, E, R>
158
+ readonly idleTimeToLive?: Duration.DurationInput | undefined
159
+ readonly capacity: number
160
+ }
161
161
  ): Effect.Effect<RcMap<K, A, E | Cause.ExceededCapacityException>, never, Scope.Scope | R>
162
162
  } = internal.make
163
163