effect 4.0.0-beta.83 → 4.0.0-beta.85

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 (235) hide show
  1. package/dist/Array.d.ts +64 -64
  2. package/dist/Array.js +26 -26
  3. package/dist/Cache.d.ts +1 -1
  4. package/dist/Cache.js +1 -1
  5. package/dist/Cause.d.ts +68 -68
  6. package/dist/Cause.js +47 -47
  7. package/dist/Channel.d.ts +5 -5
  8. package/dist/Channel.js +3 -3
  9. package/dist/Clock.d.ts +1 -1
  10. package/dist/Clock.js +1 -1
  11. package/dist/Combiner.d.ts +9 -9
  12. package/dist/Combiner.js +8 -8
  13. package/dist/Config.d.ts +15 -94
  14. package/dist/Config.d.ts.map +1 -1
  15. package/dist/Config.js +22 -70
  16. package/dist/Config.js.map +1 -1
  17. package/dist/ConfigProvider.d.ts +58 -74
  18. package/dist/ConfigProvider.d.ts.map +1 -1
  19. package/dist/ConfigProvider.js +66 -41
  20. package/dist/ConfigProvider.js.map +1 -1
  21. package/dist/Console.d.ts +1 -1
  22. package/dist/Console.js +1 -1
  23. package/dist/Context.d.ts.map +1 -1
  24. package/dist/Context.js +4 -3
  25. package/dist/Context.js.map +1 -1
  26. package/dist/Data.d.ts +15 -15
  27. package/dist/Data.js +3 -3
  28. package/dist/DateTime.d.ts +6 -6
  29. package/dist/DateTime.js +2 -2
  30. package/dist/Duration.d.ts +3 -3
  31. package/dist/Duration.js +3 -3
  32. package/dist/Effect.d.ts +84 -45
  33. package/dist/Effect.d.ts.map +1 -1
  34. package/dist/Effect.js +72 -33
  35. package/dist/Effect.js.map +1 -1
  36. package/dist/Equal.d.ts +7 -7
  37. package/dist/Equal.js +5 -5
  38. package/dist/Equivalence.d.ts +17 -17
  39. package/dist/Equivalence.js +13 -13
  40. package/dist/Exit.d.ts +3 -3
  41. package/dist/Exit.js +3 -3
  42. package/dist/Formatter.d.ts +5 -5
  43. package/dist/Formatter.js +4 -4
  44. package/dist/Function.d.ts +10 -10
  45. package/dist/Function.js +3 -3
  46. package/dist/HashMap.d.ts +3 -3
  47. package/dist/HashMap.js +1 -1
  48. package/dist/Iterable.d.ts +6 -6
  49. package/dist/Iterable.js +2 -2
  50. package/dist/JsonPatch.d.ts +2 -2
  51. package/dist/Layer.d.ts +1 -1
  52. package/dist/Layer.js +5 -4
  53. package/dist/Layer.js.map +1 -1
  54. package/dist/LayerMap.d.ts.map +1 -1
  55. package/dist/LayerMap.js +4 -3
  56. package/dist/LayerMap.js.map +1 -1
  57. package/dist/Logger.d.ts +1 -1
  58. package/dist/Logger.js +1 -1
  59. package/dist/Match.d.ts +8 -8
  60. package/dist/Match.js +8 -8
  61. package/dist/Metric.d.ts +3 -3
  62. package/dist/Metric.js +3 -3
  63. package/dist/Optic.d.ts +30 -30
  64. package/dist/Optic.js +12 -12
  65. package/dist/Option.d.ts +7 -7
  66. package/dist/Option.js +7 -7
  67. package/dist/Order.d.ts +23 -23
  68. package/dist/Order.js +20 -20
  69. package/dist/Pool.d.ts +1 -1
  70. package/dist/Pool.js +1 -1
  71. package/dist/Predicate.d.ts +88 -88
  72. package/dist/Predicate.js +47 -47
  73. package/dist/PubSub.d.ts +3 -3
  74. package/dist/PubSub.js +3 -3
  75. package/dist/Random.d.ts +31 -0
  76. package/dist/Random.d.ts.map +1 -1
  77. package/dist/Random.js +32 -0
  78. package/dist/Random.js.map +1 -1
  79. package/dist/Reducer.d.ts +1 -1
  80. package/dist/Reducer.js +1 -1
  81. package/dist/Result.d.ts +18 -18
  82. package/dist/Result.js +8 -8
  83. package/dist/Runtime.d.ts +1 -1
  84. package/dist/Runtime.js +1 -1
  85. package/dist/Schema.d.ts +313 -126
  86. package/dist/Schema.d.ts.map +1 -1
  87. package/dist/Schema.js +316 -127
  88. package/dist/Schema.js.map +1 -1
  89. package/dist/SchemaAST.d.ts +9 -8
  90. package/dist/SchemaAST.d.ts.map +1 -1
  91. package/dist/SchemaAST.js +203 -140
  92. package/dist/SchemaAST.js.map +1 -1
  93. package/dist/SchemaGetter.d.ts +48 -48
  94. package/dist/SchemaGetter.js +44 -44
  95. package/dist/SchemaIssue.d.ts +3 -3
  96. package/dist/SchemaIssue.js +3 -3
  97. package/dist/SchemaParser.d.ts +122 -22
  98. package/dist/SchemaParser.d.ts.map +1 -1
  99. package/dist/SchemaParser.js +186 -50
  100. package/dist/SchemaParser.js.map +1 -1
  101. package/dist/SchemaRepresentation.d.ts +1 -1
  102. package/dist/SchemaRepresentation.d.ts.map +1 -1
  103. package/dist/SchemaRepresentation.js +96 -2
  104. package/dist/SchemaRepresentation.js.map +1 -1
  105. package/dist/SchemaTransformation.d.ts +20 -20
  106. package/dist/SchemaTransformation.js +18 -18
  107. package/dist/Stream.d.ts +3 -3
  108. package/dist/Stream.js +2 -2
  109. package/dist/Stream.js.map +1 -1
  110. package/dist/String.d.ts +1 -1
  111. package/dist/String.js +1 -1
  112. package/dist/Struct.d.ts +1 -1
  113. package/dist/Struct.js +1 -1
  114. package/dist/Types.d.ts +13 -13
  115. package/dist/internal/effect.js +33 -20
  116. package/dist/internal/effect.js.map +1 -1
  117. package/dist/internal/schema/arbitrary.js +17 -1
  118. package/dist/internal/schema/arbitrary.js.map +1 -1
  119. package/dist/internal/schema/cause.d.ts +2 -0
  120. package/dist/internal/schema/cause.d.ts.map +1 -0
  121. package/dist/internal/schema/cause.js +24 -0
  122. package/dist/internal/schema/cause.js.map +1 -0
  123. package/dist/internal/schema/schema.d.ts +8 -4
  124. package/dist/internal/schema/schema.d.ts.map +1 -1
  125. package/dist/internal/schema/schema.js +21 -8
  126. package/dist/internal/schema/schema.js.map +1 -1
  127. package/dist/internal/stackTraceLimit.d.ts +2 -0
  128. package/dist/internal/stackTraceLimit.d.ts.map +1 -0
  129. package/dist/internal/stackTraceLimit.js +40 -0
  130. package/dist/internal/stackTraceLimit.js.map +1 -0
  131. package/dist/internal/tracer.d.ts.map +1 -1
  132. package/dist/internal/tracer.js +4 -3
  133. package/dist/internal/tracer.js.map +1 -1
  134. package/dist/testing/TestSchema.d.ts +3 -3
  135. package/dist/testing/TestSchema.js +1 -1
  136. package/dist/unstable/ai/AiError.d.ts +1 -1
  137. package/dist/unstable/ai/AiError.js +1 -1
  138. package/dist/unstable/ai/Chat.d.ts +1 -1
  139. package/dist/unstable/ai/Chat.js +1 -1
  140. package/dist/unstable/ai/Tool.d.ts.map +1 -1
  141. package/dist/unstable/ai/Tool.js +4 -5
  142. package/dist/unstable/ai/Tool.js.map +1 -1
  143. package/dist/unstable/cli/Prompt.js +2 -2
  144. package/dist/unstable/cli/Prompt.js.map +1 -1
  145. package/dist/unstable/httpapi/HttpApiMiddleware.d.ts.map +1 -1
  146. package/dist/unstable/httpapi/HttpApiMiddleware.js +4 -3
  147. package/dist/unstable/httpapi/HttpApiMiddleware.js.map +1 -1
  148. package/dist/unstable/httpapi/HttpApiScalar.d.ts +2 -2
  149. package/dist/unstable/persistence/PersistedQueue.js +1 -1
  150. package/dist/unstable/rpc/Rpc.d.ts +1 -1
  151. package/dist/unstable/rpc/Rpc.js +1 -1
  152. package/dist/unstable/rpc/RpcGroup.d.ts.map +1 -1
  153. package/dist/unstable/rpc/RpcGroup.js +3 -4
  154. package/dist/unstable/rpc/RpcGroup.js.map +1 -1
  155. package/dist/unstable/rpc/RpcMiddleware.d.ts.map +1 -1
  156. package/dist/unstable/rpc/RpcMiddleware.js +4 -3
  157. package/dist/unstable/rpc/RpcMiddleware.js.map +1 -1
  158. package/dist/unstable/sql/SqlResolver.d.ts.map +1 -1
  159. package/dist/unstable/sql/SqlResolver.js +15 -2
  160. package/dist/unstable/sql/SqlResolver.js.map +1 -1
  161. package/dist/unstable/workflow/Activity.d.ts +1 -0
  162. package/dist/unstable/workflow/Activity.d.ts.map +1 -1
  163. package/dist/unstable/workflow/Activity.js +1 -0
  164. package/dist/unstable/workflow/Activity.js.map +1 -1
  165. package/dist/unstable/workflow/WorkflowEngine.js +1 -1
  166. package/dist/unstable/workflow/WorkflowEngine.js.map +1 -1
  167. package/package.json +1 -1
  168. package/src/Array.ts +65 -65
  169. package/src/Cache.ts +1 -1
  170. package/src/Cause.ts +68 -68
  171. package/src/Channel.ts +5 -5
  172. package/src/Clock.ts +1 -1
  173. package/src/Combiner.ts +9 -9
  174. package/src/Config.ts +40 -108
  175. package/src/ConfigProvider.ts +139 -100
  176. package/src/Console.ts +1 -1
  177. package/src/Context.ts +4 -5
  178. package/src/Data.ts +15 -15
  179. package/src/DateTime.ts +6 -6
  180. package/src/Duration.ts +3 -3
  181. package/src/Effect.ts +89 -45
  182. package/src/Equal.ts +7 -7
  183. package/src/Equivalence.ts +17 -17
  184. package/src/Exit.ts +3 -3
  185. package/src/Formatter.ts +5 -5
  186. package/src/Function.ts +10 -10
  187. package/src/HashMap.ts +3 -3
  188. package/src/Iterable.ts +6 -6
  189. package/src/JsonPatch.ts +2 -2
  190. package/src/Layer.ts +5 -5
  191. package/src/LayerMap.ts +4 -3
  192. package/src/Logger.ts +1 -1
  193. package/src/Match.ts +8 -8
  194. package/src/Metric.ts +3 -3
  195. package/src/Optic.ts +30 -30
  196. package/src/Option.ts +7 -7
  197. package/src/Order.ts +23 -23
  198. package/src/Pool.ts +1 -1
  199. package/src/Predicate.ts +88 -88
  200. package/src/PubSub.ts +3 -3
  201. package/src/Random.ts +42 -0
  202. package/src/Reducer.ts +1 -1
  203. package/src/Result.ts +20 -20
  204. package/src/Runtime.ts +1 -1
  205. package/src/Schema.ts +389 -153
  206. package/src/SchemaAST.ts +237 -148
  207. package/src/SchemaGetter.ts +48 -48
  208. package/src/SchemaIssue.ts +3 -3
  209. package/src/SchemaParser.ts +197 -58
  210. package/src/SchemaRepresentation.ts +73 -3
  211. package/src/SchemaTransformation.ts +20 -20
  212. package/src/Stream.ts +4 -4
  213. package/src/String.ts +1 -1
  214. package/src/Struct.ts +1 -1
  215. package/src/Types.ts +13 -13
  216. package/src/internal/effect.ts +40 -21
  217. package/src/internal/schema/arbitrary.ts +23 -2
  218. package/src/internal/schema/cause.ts +26 -0
  219. package/src/internal/schema/schema.ts +36 -10
  220. package/src/internal/stackTraceLimit.ts +63 -0
  221. package/src/internal/tracer.ts +4 -3
  222. package/src/testing/TestSchema.ts +3 -3
  223. package/src/unstable/ai/AiError.ts +1 -1
  224. package/src/unstable/ai/Chat.ts +1 -1
  225. package/src/unstable/ai/Tool.ts +4 -3
  226. package/src/unstable/cli/Prompt.ts +1 -1
  227. package/src/unstable/httpapi/HttpApiMiddleware.ts +4 -3
  228. package/src/unstable/httpapi/HttpApiScalar.ts +2 -2
  229. package/src/unstable/persistence/PersistedQueue.ts +1 -1
  230. package/src/unstable/rpc/Rpc.ts +1 -1
  231. package/src/unstable/rpc/RpcGroup.ts +3 -4
  232. package/src/unstable/rpc/RpcMiddleware.ts +4 -3
  233. package/src/unstable/sql/SqlResolver.ts +15 -2
  234. package/src/unstable/workflow/Activity.ts +2 -0
  235. package/src/unstable/workflow/WorkflowEngine.ts +1 -1
package/dist/Predicate.js CHANGED
@@ -23,7 +23,7 @@ import { dual } from "./Function.js";
23
23
  * Returns a new predicate that applies `f` before `self`. There is no
24
24
  * additional short-circuiting beyond what `self` does.
25
25
  *
26
- * **Example** (Check string length)
26
+ * **Example** (Checking string length)
27
27
  *
28
28
  * ```ts
29
29
  * import { Predicate } from "effect"
@@ -55,7 +55,7 @@ export const mapInput = /*#__PURE__*/dual(2, (self, f) => b => self(f(b)));
55
55
  * This only checks length, not element types, and returns a refinement on the
56
56
  * array type.
57
57
  *
58
- * **Example** (Exact length)
58
+ * **Example** (Checking exact length)
59
59
  *
60
60
  * ```ts
61
61
  * import { Predicate } from "effect"
@@ -84,7 +84,7 @@ export const isTupleOf = /*#__PURE__*/dual(2, (self, n) => self.length === n);
84
84
  * This only checks length, not element types, and returns a refinement on the
85
85
  * array type.
86
86
  *
87
- * **Example** (Minimum length)
87
+ * **Example** (Checking minimum length)
88
88
  *
89
89
  * ```ts
90
90
  * import { Predicate } from "effect"
@@ -113,7 +113,7 @@ export const isTupleOfAtLeast = /*#__PURE__*/dual(2, (self, n) => self.length >=
113
113
  * This uses `!!input` and treats `0`, `""`, `false`, `null`, and `undefined`
114
114
  * as false.
115
115
  *
116
- * **Example** (Filter truthy)
116
+ * **Example** (Filtering truthy values)
117
117
  *
118
118
  * ```ts
119
119
  * import { Predicate } from "effect"
@@ -143,7 +143,7 @@ export function isTruthy(input) {
143
143
  *
144
144
  * Uses `instanceof Set`.
145
145
  *
146
- * **Example** (Guard a Set)
146
+ * **Example** (Guarding a Set)
147
147
  *
148
148
  * ```ts
149
149
  * import { Predicate } from "effect"
@@ -174,7 +174,7 @@ export function isSet(input) {
174
174
  *
175
175
  * Uses `instanceof Map`.
176
176
  *
177
- * **Example** (Guard a Map)
177
+ * **Example** (Guarding a Map)
178
178
  *
179
179
  * ```ts
180
180
  * import { Predicate } from "effect"
@@ -206,7 +206,7 @@ export function isMap(input) {
206
206
  *
207
207
  * Uses `typeof input === "string"`.
208
208
  *
209
- * **Example** (Guard string)
209
+ * **Example** (Guarding strings)
210
210
  *
211
211
  * ```ts
212
212
  * import { Predicate } from "effect"
@@ -239,7 +239,7 @@ export function isString(input) {
239
239
  *
240
240
  * Uses `typeof input === "number"` and does not exclude `NaN` or `Infinity`.
241
241
  *
242
- * **Example** (Guard number)
242
+ * **Example** (Guarding numbers)
243
243
  *
244
244
  * ```ts
245
245
  * import { Predicate } from "effect"
@@ -271,7 +271,7 @@ export function isNumber(input) {
271
271
  *
272
272
  * Uses `typeof input === "boolean"`.
273
273
  *
274
- * **Example** (Guard boolean)
274
+ * **Example** (Guarding booleans)
275
275
  *
276
276
  * ```ts
277
277
  * import { Predicate } from "effect"
@@ -303,7 +303,7 @@ export function isBoolean(input) {
303
303
  *
304
304
  * Uses `typeof input === "bigint"`.
305
305
  *
306
- * **Example** (Guard bigint)
306
+ * **Example** (Guarding bigints)
307
307
  *
308
308
  * ```ts
309
309
  * import { Predicate } from "effect"
@@ -334,7 +334,7 @@ export function isBigInt(input) {
334
334
  *
335
335
  * Uses `typeof input === "symbol"`.
336
336
  *
337
- * **Example** (Guard symbol)
337
+ * **Example** (Guarding symbols)
338
338
  *
339
339
  * ```ts
340
340
  * import { Predicate } from "effect"
@@ -365,7 +365,7 @@ export function isSymbol(input) {
365
365
  *
366
366
  * Uses `isString`, `isNumber`, and `isSymbol`.
367
367
  *
368
- * **Example** (Guard property key)
368
+ * **Example** (Guarding property keys)
369
369
  *
370
370
  * ```ts
371
371
  * import { Predicate } from "effect"
@@ -399,7 +399,7 @@ export function isPropertyKey(u) {
399
399
  *
400
400
  * Uses `typeof input === "function"`.
401
401
  *
402
- * **Example** (Guard function)
402
+ * **Example** (Guarding functions)
403
403
  *
404
404
  * ```ts
405
405
  * import { Predicate } from "effect"
@@ -430,7 +430,7 @@ export function isFunction(input) {
430
430
  *
431
431
  * Uses `input === undefined`.
432
432
  *
433
- * **Example** (Guard undefined)
433
+ * **Example** (Guarding undefined values)
434
434
  *
435
435
  * ```ts
436
436
  * import { Predicate } from "effect"
@@ -460,7 +460,7 @@ export function isUndefined(input) {
460
460
  *
461
461
  * Returns a refinement that excludes `undefined`.
462
462
  *
463
- * **Example** (Filter undefined)
463
+ * **Example** (Filtering undefined values)
464
464
  *
465
465
  * ```ts
466
466
  * import { Predicate } from "effect"
@@ -490,7 +490,7 @@ export function isNotUndefined(input) {
490
490
  *
491
491
  * Uses `input === null`.
492
492
  *
493
- * **Example** (Guard null)
493
+ * **Example** (Guarding null values)
494
494
  *
495
495
  * ```ts
496
496
  * import { Predicate } from "effect"
@@ -520,7 +520,7 @@ export function isNull(input) {
520
520
  *
521
521
  * Returns a refinement that excludes `null`.
522
522
  *
523
- * **Example** (Filter null)
523
+ * **Example** (Filtering null values)
524
524
  *
525
525
  * ```ts
526
526
  * import { Predicate } from "effect"
@@ -550,7 +550,7 @@ export function isNotNull(input) {
550
550
  *
551
551
  * Uses `input === null || input === undefined`.
552
552
  *
553
- * **Example** (Guard nullish)
553
+ * **Example** (Guarding nullish values)
554
554
  *
555
555
  * ```ts
556
556
  * import { Predicate } from "effect"
@@ -582,7 +582,7 @@ export function isNullish(input) {
582
582
  *
583
583
  * Uses `input != null`.
584
584
  *
585
- * **Example** (Filter non-nullish)
585
+ * **Example** (Filtering non-nullish values)
586
586
  *
587
587
  * ```ts
588
588
  * import { Predicate } from "effect"
@@ -609,7 +609,7 @@ export function isNotNullish(input) {
609
609
  *
610
610
  * Use when you need a `Predicate` that never accepts, e.g. in default branches.
611
611
  *
612
- * **Example** (Never matches)
612
+ * **Example** (Matching no values)
613
613
  *
614
614
  * ```ts
615
615
  * import { Predicate } from "effect"
@@ -631,7 +631,7 @@ export function isNever(_) {
631
631
  *
632
632
  * Use when you need a `Predicate` that always accepts, e.g. as a placeholder.
633
633
  *
634
- * **Example** (Always matches)
634
+ * **Example** (Matching every value)
635
635
  *
636
636
  * ```ts
637
637
  * import { Predicate } from "effect"
@@ -658,7 +658,7 @@ export function isUnknown(_) {
658
658
  *
659
659
  * Uses `typeof input === "object" && input !== null` and includes arrays.
660
660
  *
661
- * **Example** (Object or array)
661
+ * **Example** (Checking objects or arrays)
662
662
  *
663
663
  * ```ts
664
664
  * import { Predicate } from "effect"
@@ -688,7 +688,7 @@ export function isObjectOrArray(input) {
688
688
  * also accepts object instances such as `Date`, `Map`, class instances, and
689
689
  * typed arrays. It excludes `null` and arrays.
690
690
  *
691
- * **Example** (Guard object)
691
+ * **Example** (Guarding objects)
692
692
  *
693
693
  * ```ts
694
694
  * import { Predicate } from "effect"
@@ -720,7 +720,7 @@ export function isObject(input) {
720
720
  * runtime. This delegates to `isObject`, so class instances and built-in object
721
721
  * instances are accepted.
722
722
  *
723
- * **Example** (Readonly object)
723
+ * **Example** (Checking readonly objects)
724
724
  *
725
725
  * ```ts
726
726
  * import { Predicate } from "effect"
@@ -749,7 +749,7 @@ export function isReadonlyObject(input) {
749
749
  *
750
750
  * Returns `true` for arrays and functions, and `false` for `null`.
751
751
  *
752
- * **Example** (Object keyword)
752
+ * **Example** (Checking object keywords)
753
753
  *
754
754
  * ```ts
755
755
  * import { Predicate } from "effect"
@@ -779,7 +779,7 @@ export function isObjectKeyword(input) {
779
779
  * Uses the `in` operator and `isObjectKeyword`. This does not check property
780
780
  * value types.
781
781
  *
782
- * **Example** (Guard property)
782
+ * **Example** (Guarding object properties)
783
783
  *
784
784
  * ```ts
785
785
  * import { Predicate } from "effect"
@@ -810,7 +810,7 @@ export const hasProperty = /*#__PURE__*/dual(2, (self, property) => isObjectKeyw
810
810
  *
811
811
  * Uses `hasProperty` and strict equality on `_tag`.
812
812
  *
813
- * **Example** (Guard tagged)
813
+ * **Example** (Guarding tagged values)
814
814
  *
815
815
  * ```ts
816
816
  * import { Predicate } from "effect"
@@ -836,7 +836,7 @@ export const isTagged = /*#__PURE__*/dual(2, (self, tag) => hasProperty(self, "_
836
836
  *
837
837
  * Uses `instanceof Error`.
838
838
  *
839
- * **Example** (Guard error)
839
+ * **Example** (Guarding errors)
840
840
  *
841
841
  * ```ts
842
842
  * import { Predicate } from "effect"
@@ -864,7 +864,7 @@ export function isError(input) {
864
864
  *
865
865
  * Uses `instanceof Uint8Array`.
866
866
  *
867
- * **Example** (Guard Uint8Array)
867
+ * **Example** (Guarding Uint8Array values)
868
868
  *
869
869
  * ```ts
870
870
  * import { Predicate } from "effect"
@@ -893,7 +893,7 @@ export function isUint8Array(input) {
893
893
  *
894
894
  * Uses `instanceof Date`.
895
895
  *
896
- * **Example** (Guard Date)
896
+ * **Example** (Guarding Date values)
897
897
  *
898
898
  * ```ts
899
899
  * import { Predicate } from "effect"
@@ -921,7 +921,7 @@ export function isDate(input) {
921
921
  *
922
922
  * Accepts strings as iterable and uses `hasProperty` for `Symbol.iterator`.
923
923
  *
924
- * **Example** (Guard iterable)
924
+ * **Example** (Guarding iterables)
925
925
  *
926
926
  * ```ts
927
927
  * import { Predicate } from "effect"
@@ -950,7 +950,7 @@ export function isIterable(input) {
950
950
  *
951
951
  * Performs a structural check for `then` and `catch` functions.
952
952
  *
953
- * **Example** (Guard promise)
953
+ * **Example** (Guarding promises)
954
954
  *
955
955
  * ```ts
956
956
  * import { Predicate } from "effect"
@@ -979,7 +979,7 @@ export function isPromise(input) {
979
979
  *
980
980
  * Performs a structural check for a callable `then`.
981
981
  *
982
- * **Example** (Guard promise-like)
982
+ * **Example** (Guarding promise-like values)
983
983
  *
984
984
  * ```ts
985
985
  * import { Predicate } from "effect"
@@ -1007,7 +1007,7 @@ export function isPromiseLike(input) {
1007
1007
  *
1008
1008
  * Uses `instanceof RegExp`.
1009
1009
  *
1010
- * **Example** (Guard RegExp)
1010
+ * **Example** (Guarding RegExp values)
1011
1011
  *
1012
1012
  * ```ts
1013
1013
  * import { Predicate } from "effect"
@@ -1037,7 +1037,7 @@ export function isRegExp(input) {
1037
1037
  * For refinements, the output type is narrowed by both checks. Evaluation
1038
1038
  * short-circuits on the first `false`.
1039
1039
  *
1040
- * **Example** (Compose refinements)
1040
+ * **Example** (Composing refinements)
1041
1041
  *
1042
1042
  * ```ts
1043
1043
  * import { Predicate } from "effect"
@@ -1069,7 +1069,7 @@ export const compose = /*#__PURE__*/dual(2, (ab, bc) => a => ab(a) && bc(a));
1069
1069
  * Returns a refinement if any element predicate is a refinement. Evaluation
1070
1070
  * stops at the first failing element.
1071
1071
  *
1072
- * **Example** (Tuple predicate)
1072
+ * **Example** (Checking tuples)
1073
1073
  *
1074
1074
  * ```ts
1075
1075
  * import { Predicate } from "effect"
@@ -1107,7 +1107,7 @@ export function Tuple(elements) {
1107
1107
  * Returns a refinement if any field predicate is a refinement. Only the
1108
1108
  * specified keys are checked, and extra keys are ignored.
1109
1109
  *
1110
- * **Example** (Struct predicate)
1110
+ * **Example** (Checking structs)
1111
1111
  *
1112
1112
  * ```ts
1113
1113
  * import { Predicate } from "effect"
@@ -1147,7 +1147,7 @@ export function Struct(fields) {
1147
1147
  *
1148
1148
  * Returns a new predicate that flips the boolean result.
1149
1149
  *
1150
- * **Example** (Negate)
1150
+ * **Example** (Negating a predicate)
1151
1151
  *
1152
1152
  * ```ts
1153
1153
  * import { Predicate } from "effect"
@@ -1179,7 +1179,7 @@ export function not(self) {
1179
1179
  * Evaluation short-circuits on the first `true`. For refinements, the output
1180
1180
  * type is a union.
1181
1181
  *
1182
- * **Example** (Either condition)
1182
+ * **Example** (Checking either condition)
1183
1183
  *
1184
1184
  * ```ts
1185
1185
  * import { Predicate } from "effect"
@@ -1209,7 +1209,7 @@ export const or = /*#__PURE__*/dual(2, (self, that) => a => self(a) || that(a));
1209
1209
  * Evaluation short-circuits on the first `false`. For refinements, the output
1210
1210
  * type is an intersection.
1211
1211
  *
1212
- * **Example** (Both conditions)
1212
+ * **Example** (Checking both conditions)
1213
1213
  *
1214
1214
  * ```ts
1215
1215
  * import { Predicate } from "effect"
@@ -1244,7 +1244,7 @@ export const and = /*#__PURE__*/dual(2, (self, that) => a => self(a) && that(a))
1244
1244
  *
1245
1245
  * Returns `true` when results differ.
1246
1246
  *
1247
- * **Example** (Exclusive or)
1247
+ * **Example** (Checking exclusive-or conditions)
1248
1248
  *
1249
1249
  * ```ts
1250
1250
  * import { Predicate } from "effect"
@@ -1273,7 +1273,7 @@ export const xor = /*#__PURE__*/dual(2, (self, that) => a => self(a) !== that(a)
1273
1273
  *
1274
1274
  * Returns `true` when both results are equal.
1275
1275
  *
1276
- * **Example** (Equivalence)
1276
+ * **Example** (Defining equivalence)
1277
1277
  *
1278
1278
  * ```ts
1279
1279
  * import { Predicate } from "effect"
@@ -1302,7 +1302,7 @@ export const eqv = /*#__PURE__*/dual(2, (self, that) => a => self(a) === that(a)
1302
1302
  * Models constraints like "if A then B" and returns `true` when the antecedent
1303
1303
  * is `false`.
1304
1304
  *
1305
- * **Example** (Implication)
1305
+ * **Example** (Checking implication)
1306
1306
  *
1307
1307
  * ```ts
1308
1308
  * import { Predicate } from "effect"
@@ -1331,7 +1331,7 @@ export const implies = /*#__PURE__*/dual(2, (antecedent, consequent) => a => ant
1331
1331
  *
1332
1332
  * Returns the negation of `or`.
1333
1333
  *
1334
- * **Example** (NOR)
1334
+ * **Example** (Checking NOR conditions)
1335
1335
  *
1336
1336
  * ```ts
1337
1337
  * import { Predicate } from "effect"
@@ -1358,7 +1358,7 @@ export const nor = /*#__PURE__*/dual(2, (self, that) => a => !(self(a) || that(a
1358
1358
  *
1359
1359
  * Returns the negation of `and`.
1360
1360
  *
1361
- * **Example** (NAND)
1361
+ * **Example** (Checking NAND conditions)
1362
1362
  *
1363
1363
  * ```ts
1364
1364
  * import { Predicate } from "effect"
@@ -1386,7 +1386,7 @@ export const nand = /*#__PURE__*/dual(2, (self, that) => a => !(self(a) && that(
1386
1386
  * Evaluation short-circuits on the first `false`. The collection is iterated
1387
1387
  * each time the predicate is called.
1388
1388
  *
1389
- * **Example** (All checks)
1389
+ * **Example** (Checking all predicates)
1390
1390
  *
1391
1391
  * ```ts
1392
1392
  * import { Predicate } from "effect"
@@ -1423,7 +1423,7 @@ export function every(collection) {
1423
1423
  * Evaluation short-circuits on the first `true`. The collection is iterated
1424
1424
  * each time the predicate is called.
1425
1425
  *
1426
- * **Example** (Any check)
1426
+ * **Example** (Checking any predicate)
1427
1427
  *
1428
1428
  * ```ts
1429
1429
  * import { Predicate } from "effect"
package/dist/PubSub.d.ts CHANGED
@@ -658,7 +658,7 @@ export declare const shutdown: <A>(self: PubSub<A>) => Effect.Effect<void>;
658
658
  * Checks effectfully whether `shutdown` has been called, returning `true`
659
659
  * after shutdown and `false` otherwise.
660
660
  *
661
- * **Example** (Checking whether a PubSub is shutdown)
661
+ * **Example** (Checking whether a PubSub is shut down)
662
662
  *
663
663
  * ```ts
664
664
  * import { Effect, PubSub } from "effect"
@@ -1596,7 +1596,7 @@ export declare class BackPressureStrategy<in out A> implements PubSub.Strategy<A
1596
1596
  *
1597
1597
  * Subscribers may miss messages published while they are subscribed.
1598
1598
  *
1599
- * **Example** (Using a dropping strategy)
1599
+ * **Example** (Applying a dropping strategy)
1600
1600
  *
1601
1601
  * ```ts
1602
1602
  * import { Effect, PubSub } from "effect"
@@ -1655,7 +1655,7 @@ export declare class DroppingStrategy<in out A> implements PubSub.Strategy<A> {
1655
1655
  * Slow subscribers may miss older messages that are evicted before they are
1656
1656
  * consumed.
1657
1657
  *
1658
- * **Example** (Using a sliding strategy)
1658
+ * **Example** (Applying a sliding strategy)
1659
1659
  *
1660
1660
  * ```ts
1661
1661
  * import { Effect, PubSub } from "effect"
package/dist/PubSub.js CHANGED
@@ -486,7 +486,7 @@ export const shutdown = self => Effect.uninterruptible(Effect.withFiber(fiber =>
486
486
  * Checks effectfully whether `shutdown` has been called, returning `true`
487
487
  * after shutdown and `false` otherwise.
488
488
  *
489
- * **Example** (Checking whether a PubSub is shutdown)
489
+ * **Example** (Checking whether a PubSub is shut down)
490
490
  *
491
491
  * ```ts
492
492
  * import { Effect, PubSub } from "effect"
@@ -1904,7 +1904,7 @@ export class BackPressureStrategy {
1904
1904
  *
1905
1905
  * Subscribers may miss messages published while they are subscribed.
1906
1906
  *
1907
- * **Example** (Using a dropping strategy)
1907
+ * **Example** (Applying a dropping strategy)
1908
1908
  *
1909
1909
  * ```ts
1910
1910
  * import { Effect, PubSub } from "effect"
@@ -1973,7 +1973,7 @@ export class DroppingStrategy {
1973
1973
  * Slow subscribers may miss older messages that are evicted before they are
1974
1974
  * consumed.
1975
1975
  *
1976
- * **Example** (Using a sliding strategy)
1976
+ * **Example** (Applying a sliding strategy)
1977
1977
  *
1978
1978
  * ```ts
1979
1979
  * import { Effect, PubSub } from "effect"
package/dist/Random.d.ts CHANGED
@@ -8,8 +8,11 @@
8
8
  *
9
9
  * @since 4.0.0
10
10
  */
11
+ import type * as Arr from "./Array.ts";
12
+ import * as Cause from "./Cause.ts";
11
13
  import type * as Context from "./Context.ts";
12
14
  import * as Effect from "./Effect.ts";
15
+ import type * as NonEmptyIterable from "./NonEmptyIterable.ts";
13
16
  /**
14
17
  * Represents a service for generating pseudo-random numbers.
15
18
  *
@@ -193,6 +196,34 @@ export declare const nextIntBetween: (min: number, max: number, options?: {
193
196
  * @since 2.0.0
194
197
  */
195
198
  export declare const shuffle: <A>(elements: Iterable<A>) => Effect.Effect<Array<A>>;
199
+ /**
200
+ * Gets a random element from an iterable.
201
+ *
202
+ * **When to use**
203
+ *
204
+ * Use to select one value uniformly from a collection using the active `Random`
205
+ * service.
206
+ *
207
+ * **Details**
208
+ *
209
+ * If the input type is known to be non-empty, the returned effect cannot fail.
210
+ * Otherwise, empty iterables fail with `Cause.NoSuchElementError`.
211
+ *
212
+ * **Example** (Choosing a random value)
213
+ *
214
+ * ```ts
215
+ * import { Effect, Random } from "effect"
216
+ *
217
+ * const program = Effect.gen(function*() {
218
+ * const value = yield* Random.choice(["red", "green", "blue"] as const)
219
+ * console.log(value)
220
+ * })
221
+ * ```
222
+ *
223
+ * @category Random Number Generators
224
+ * @since 3.6.0
225
+ */
226
+ export declare const choice: <Self extends Iterable<unknown>>(elements: Self) => Self extends NonEmptyIterable.NonEmptyIterable<infer A> ? Effect.Effect<A> : Self extends Arr.NonEmptyReadonlyArray<infer A> ? Effect.Effect<A> : Self extends Iterable<infer A> ? Effect.Effect<A, Cause.NoSuchElementError> : never;
196
227
  /**
197
228
  * Seeds the pseudo-random number generator with the specified value.
198
229
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Random.d.ts","sourceRoot":"","sources":["../src/Random.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,KAAK,OAAO,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAKrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC;IACrC,aAAa,IAAI,MAAM,CAAA;IACvB,gBAAgB,IAAI,MAAM,CAAA;CAC3B,CAAiB,CAAA;AAKlB;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAA2C,CAAA;AAElF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAiD,CAAA;AAEhG;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAwC,CAAA;AAElF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CACd,CAAA;AAE7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,MAAM,EAAE,KAAK,MAAM,EAAE,UAAU;IACjE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAC5B,KAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAOvB,CAAA;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,OAAO,GAAI,CAAC,EAAE,UAAU,QAAQ,CAAC,CAAC,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAUrE,CAAA;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,eAAO,MAAM,QAAQ,EAAE;IACrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACH,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC1F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACH,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;CAI3B,CAAA"}
1
+ {"version":3,"file":"Random.d.ts","sourceRoot":"","sources":["../src/Random.ts"],"names":[],"mappings":"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"}
package/dist/Random.js CHANGED
@@ -1,3 +1,4 @@
1
+ import * as Cause from "./Cause.js";
1
2
  import * as Effect from "./Effect.js";
2
3
  import { dual } from "./Function.js";
3
4
  import * as random from "./internal/random.js";
@@ -197,6 +198,37 @@ export const shuffle = elements => randomWith(r => {
197
198
  }
198
199
  return buffer;
199
200
  });
201
+ /**
202
+ * Gets a random element from an iterable.
203
+ *
204
+ * **When to use**
205
+ *
206
+ * Use to select one value uniformly from a collection using the active `Random`
207
+ * service.
208
+ *
209
+ * **Details**
210
+ *
211
+ * If the input type is known to be non-empty, the returned effect cannot fail.
212
+ * Otherwise, empty iterables fail with `Cause.NoSuchElementError`.
213
+ *
214
+ * **Example** (Choosing a random value)
215
+ *
216
+ * ```ts
217
+ * import { Effect, Random } from "effect"
218
+ *
219
+ * const program = Effect.gen(function*() {
220
+ * const value = yield* Random.choice(["red", "green", "blue"] as const)
221
+ * console.log(value)
222
+ * })
223
+ * ```
224
+ *
225
+ * @category Random Number Generators
226
+ * @since 3.6.0
227
+ */
228
+ export const choice = elements => {
229
+ const buffer = Array.from(elements);
230
+ return buffer.length === 0 ? Effect.fail(new Cause.NoSuchElementError("Cannot select a random element from an empty array")) : randomWith(r => buffer[Math.min(buffer.length - 1, Math.floor(r.nextDoubleUnsafe() * buffer.length))]);
231
+ };
200
232
  /**
201
233
  * Seeds the pseudo-random number generator with the specified value.
202
234
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Random.js","names":["Effect","dual","random","Predicate","Random","randomWith","f","withFiber","fiber","succeed","getRef","next","r","nextDoubleUnsafe","nextBoolean","nextInt","nextIntUnsafe","nextBetween","min","max","nextIntBetween","options","extra","halfOpen","minInt","Math","ceil","maxInt","floor","shuffle","elements","buffer","Array","from","i","length","index","value","withSeed","self","seed","provideService","ISAAC_CSPRNG","userSeed","memory","result","accumulator","lastResult","generation","counter","internalSeed","isUndefined","getInitialSeed","uint32a","Uint32Array","crypto","getRandomValues","reset","magicNumber","a","b","c","d","e","g","h","isString","toIntArray","mix","add32","pnrg","n","x","y","abs","nextInt32","Number","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","hi","lo","combined","lsb","msb","seedEncoder","TextEncoder","bytes","encode","push"],"sources":["../src/Random.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Random.js","names":["Cause","Effect","dual","random","Predicate","Random","randomWith","f","withFiber","fiber","succeed","getRef","next","r","nextDoubleUnsafe","nextBoolean","nextInt","nextIntUnsafe","nextBetween","min","max","nextIntBetween","options","extra","halfOpen","minInt","Math","ceil","maxInt","floor","shuffle","elements","buffer","Array","from","i","length","index","value","choice","fail","NoSuchElementError","withSeed","self","seed","provideService","ISAAC_CSPRNG","userSeed","memory","result","accumulator","lastResult","generation","counter","internalSeed","isUndefined","getInitialSeed","uint32a","Uint32Array","crypto","getRandomValues","reset","magicNumber","a","b","c","d","e","g","h","isString","toIntArray","mix","add32","pnrg","n","x","y","abs","nextInt32","Number","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","hi","lo","combined","lsb","msb","seedEncoder","TextEncoder","bytes","encode","push"],"sources":["../src/Random.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/dist/Reducer.d.ts CHANGED
@@ -83,7 +83,7 @@ export interface Reducer<A> extends Combiner.Combiner<A> {
83
83
  * `initialValue` is used.
84
84
  * - If `combineAll` is provided, it completely replaces the default fold.
85
85
  *
86
- * **Example** (Multiplication with short-circuit)
86
+ * **Example** (Multiplying with short-circuit)
87
87
  *
88
88
  * ```ts
89
89
  * import { Reducer } from "effect"
package/dist/Reducer.js CHANGED
@@ -22,7 +22,7 @@
22
22
  * `initialValue` is used.
23
23
  * - If `combineAll` is provided, it completely replaces the default fold.
24
24
  *
25
- * **Example** (Multiplication with short-circuit)
25
+ * **Example** (Multiplying with short-circuit)
26
26
  *
27
27
  * ```ts
28
28
  * import { Reducer } from "effect"