effect 3.4.9 → 3.5.1

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 (166) hide show
  1. package/RcMap/package.json +6 -0
  2. package/RcRef/package.json +6 -0
  3. package/dist/cjs/Cause.js +22 -1
  4. package/dist/cjs/Cause.js.map +1 -1
  5. package/dist/cjs/Channel.js.map +1 -1
  6. package/dist/cjs/Config.js.map +1 -1
  7. package/dist/cjs/Console.js.map +1 -1
  8. package/dist/cjs/Data.js +3 -1
  9. package/dist/cjs/Data.js.map +1 -1
  10. package/dist/cjs/Duration.js +23 -2
  11. package/dist/cjs/Duration.js.map +1 -1
  12. package/dist/cjs/Effect.js +78 -15
  13. package/dist/cjs/Effect.js.map +1 -1
  14. package/dist/cjs/Logger.js +234 -13
  15. package/dist/cjs/Logger.js.map +1 -1
  16. package/dist/cjs/PubSub.js.map +1 -1
  17. package/dist/cjs/Random.js +24 -1
  18. package/dist/cjs/Random.js.map +1 -1
  19. package/dist/cjs/RcMap.js +52 -0
  20. package/dist/cjs/RcMap.js.map +1 -0
  21. package/dist/cjs/RcRef.js +51 -0
  22. package/dist/cjs/RcRef.js.map +1 -0
  23. package/dist/cjs/Stream.js +29 -2
  24. package/dist/cjs/Stream.js.map +1 -1
  25. package/dist/cjs/index.js +6 -2
  26. package/dist/cjs/index.js.map +1 -1
  27. package/dist/cjs/internal/cause.js +21 -5
  28. package/dist/cjs/internal/cause.js.map +1 -1
  29. package/dist/cjs/internal/channel/channelExecutor.js.map +1 -1
  30. package/dist/cjs/internal/channel.js.map +1 -1
  31. package/dist/cjs/internal/core-effect.js +0 -5
  32. package/dist/cjs/internal/core-effect.js.map +1 -1
  33. package/dist/cjs/internal/core.js +15 -10
  34. package/dist/cjs/internal/core.js.map +1 -1
  35. package/dist/cjs/internal/defaultServices.js +1 -1
  36. package/dist/cjs/internal/defaultServices.js.map +1 -1
  37. package/dist/cjs/internal/fiberRuntime.js +3 -1
  38. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  39. package/dist/cjs/internal/logger.js +129 -27
  40. package/dist/cjs/internal/logger.js.map +1 -1
  41. package/dist/cjs/internal/pubsub.js +216 -36
  42. package/dist/cjs/internal/pubsub.js.map +1 -1
  43. package/dist/cjs/internal/random.js +2 -1
  44. package/dist/cjs/internal/random.js.map +1 -1
  45. package/dist/cjs/internal/rcMap.js +129 -0
  46. package/dist/cjs/internal/rcMap.js.map +1 -0
  47. package/dist/cjs/internal/rcRef.js +122 -0
  48. package/dist/cjs/internal/rcRef.js.map +1 -0
  49. package/dist/cjs/internal/stream.js +57 -11
  50. package/dist/cjs/internal/stream.js.map +1 -1
  51. package/dist/cjs/internal/version.js +1 -1
  52. package/dist/dts/Cause.d.ts +40 -1
  53. package/dist/dts/Cause.d.ts.map +1 -1
  54. package/dist/dts/Channel.d.ts +3 -3
  55. package/dist/dts/Channel.d.ts.map +1 -1
  56. package/dist/dts/Config.d.ts +5 -0
  57. package/dist/dts/Config.d.ts.map +1 -1
  58. package/dist/dts/Console.d.ts +2 -4
  59. package/dist/dts/Console.d.ts.map +1 -1
  60. package/dist/dts/Duration.d.ts +5 -0
  61. package/dist/dts/Duration.d.ts.map +1 -1
  62. package/dist/dts/Effect.d.ts +78 -15
  63. package/dist/dts/Effect.d.ts.map +1 -1
  64. package/dist/dts/Logger.d.ts +238 -12
  65. package/dist/dts/Logger.d.ts.map +1 -1
  66. package/dist/dts/PubSub.d.ts +15 -4
  67. package/dist/dts/PubSub.d.ts.map +1 -1
  68. package/dist/dts/Random.d.ts +23 -0
  69. package/dist/dts/Random.d.ts.map +1 -1
  70. package/dist/dts/RcMap.d.ts +93 -0
  71. package/dist/dts/RcMap.d.ts.map +1 -0
  72. package/dist/dts/RcRef.d.ts +83 -0
  73. package/dist/dts/RcRef.d.ts.map +1 -0
  74. package/dist/dts/Stream.d.ts +64 -26
  75. package/dist/dts/Stream.d.ts.map +1 -1
  76. package/dist/dts/index.d.ts +8 -0
  77. package/dist/dts/index.d.ts.map +1 -1
  78. package/dist/dts/internal/core-effect.d.ts.map +1 -1
  79. package/dist/dts/internal/fiberRuntime.d.ts.map +1 -1
  80. package/dist/dts/internal/logger.d.ts.map +1 -1
  81. package/dist/dts/internal/random.d.ts +1 -1
  82. package/dist/dts/internal/random.d.ts.map +1 -1
  83. package/dist/dts/internal/rcMap.d.ts +2 -0
  84. package/dist/dts/internal/rcMap.d.ts.map +1 -0
  85. package/dist/dts/internal/rcRef.d.ts +2 -0
  86. package/dist/dts/internal/rcRef.d.ts.map +1 -0
  87. package/dist/dts/internal/stream.d.ts +1 -0
  88. package/dist/dts/internal/stream.d.ts.map +1 -1
  89. package/dist/esm/Cause.js +21 -0
  90. package/dist/esm/Cause.js.map +1 -1
  91. package/dist/esm/Channel.js.map +1 -1
  92. package/dist/esm/Config.js.map +1 -1
  93. package/dist/esm/Console.js.map +1 -1
  94. package/dist/esm/Data.js +3 -1
  95. package/dist/esm/Data.js.map +1 -1
  96. package/dist/esm/Duration.js +20 -0
  97. package/dist/esm/Duration.js.map +1 -1
  98. package/dist/esm/Effect.js +78 -15
  99. package/dist/esm/Effect.js.map +1 -1
  100. package/dist/esm/Logger.js +233 -12
  101. package/dist/esm/Logger.js.map +1 -1
  102. package/dist/esm/PubSub.js.map +1 -1
  103. package/dist/esm/Random.js +23 -0
  104. package/dist/esm/Random.js.map +1 -1
  105. package/dist/esm/RcMap.js +44 -0
  106. package/dist/esm/RcMap.js.map +1 -0
  107. package/dist/esm/RcRef.js +43 -0
  108. package/dist/esm/RcRef.js.map +1 -0
  109. package/dist/esm/Stream.js +27 -0
  110. package/dist/esm/Stream.js.map +1 -1
  111. package/dist/esm/index.js +8 -0
  112. package/dist/esm/index.js.map +1 -1
  113. package/dist/esm/internal/cause.js +21 -5
  114. package/dist/esm/internal/cause.js.map +1 -1
  115. package/dist/esm/internal/channel/channelExecutor.js.map +1 -1
  116. package/dist/esm/internal/channel.js.map +1 -1
  117. package/dist/esm/internal/core-effect.js +0 -5
  118. package/dist/esm/internal/core-effect.js.map +1 -1
  119. package/dist/esm/internal/core.js +11 -7
  120. package/dist/esm/internal/core.js.map +1 -1
  121. package/dist/esm/internal/defaultServices.js +1 -1
  122. package/dist/esm/internal/defaultServices.js.map +1 -1
  123. package/dist/esm/internal/fiberRuntime.js +2 -0
  124. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  125. package/dist/esm/internal/logger.js +127 -26
  126. package/dist/esm/internal/logger.js.map +1 -1
  127. package/dist/esm/internal/pubsub.js +216 -36
  128. package/dist/esm/internal/pubsub.js.map +1 -1
  129. package/dist/esm/internal/random.js +2 -1
  130. package/dist/esm/internal/random.js.map +1 -1
  131. package/dist/esm/internal/rcMap.js +120 -0
  132. package/dist/esm/internal/rcMap.js.map +1 -0
  133. package/dist/esm/internal/rcRef.js +112 -0
  134. package/dist/esm/internal/rcRef.js.map +1 -0
  135. package/dist/esm/internal/stream.js +53 -8
  136. package/dist/esm/internal/stream.js.map +1 -1
  137. package/dist/esm/internal/version.js +1 -1
  138. package/package.json +17 -1
  139. package/src/Cause.ts +47 -1
  140. package/src/Channel.ts +3 -3
  141. package/src/Config.ts +6 -0
  142. package/src/Console.ts +2 -4
  143. package/src/Data.ts +1 -1
  144. package/src/Duration.ts +18 -0
  145. package/src/Effect.ts +78 -15
  146. package/src/Logger.ts +242 -12
  147. package/src/PubSub.ts +11 -4
  148. package/src/Random.ts +24 -0
  149. package/src/RcMap.ts +103 -0
  150. package/src/RcRef.ts +91 -0
  151. package/src/Stream.ts +83 -26
  152. package/src/index.ts +10 -0
  153. package/src/internal/cause.ts +26 -5
  154. package/src/internal/channel/channelExecutor.ts +1 -1
  155. package/src/internal/channel.ts +4 -3
  156. package/src/internal/core-effect.ts +0 -5
  157. package/src/internal/core.ts +19 -9
  158. package/src/internal/defaultServices.ts +1 -1
  159. package/src/internal/fiberRuntime.ts +6 -0
  160. package/src/internal/logger.ts +135 -27
  161. package/src/internal/pubsub.ts +249 -58
  162. package/src/internal/random.ts +2 -1
  163. package/src/internal/rcMap.ts +213 -0
  164. package/src/internal/rcRef.ts +172 -0
  165. package/src/internal/stream.ts +325 -111
  166. package/src/internal/version.ts +1 -1
@@ -63,6 +63,35 @@ export declare namespace Logger {
63
63
  }
64
64
  }
65
65
  /**
66
+ * Creates a custom logger that formats log messages according to the provided
67
+ * function.
68
+ *
69
+ * @example
70
+ * import { Effect, Logger, LogLevel } from "effect"
71
+ *
72
+ * const logger = Logger.make(({ logLevel, message }) => {
73
+ * globalThis.console.log(`[${logLevel.label}] ${message}`)
74
+ * })
75
+ *
76
+ * const task1 = Effect.logDebug("task1 done")
77
+ * const task2 = Effect.logDebug("task2 done")
78
+ *
79
+ * const program = Effect.gen(function*() {
80
+ * yield* Effect.log("start")
81
+ * yield* task1
82
+ * yield* task2
83
+ * yield* Effect.log("done")
84
+ * }).pipe(
85
+ * Logger.withMinimumLogLevel(LogLevel.Debug),
86
+ * Effect.provide(Logger.replace(Logger.defaultLogger, logger))
87
+ * )
88
+ *
89
+ * // Effect.runFork(program)
90
+ * // [INFO] start
91
+ * // [DEBUG] task1 done
92
+ * // [DEBUG] task2 done
93
+ * // [INFO] done
94
+ *
66
95
  * @category constructors
67
96
  * @since 2.0.0
68
97
  */
@@ -118,25 +147,36 @@ export declare const map: {
118
147
  <Message, Output, Output2>(self: Logger<Message, Output>, f: (output: Output) => Output2): Logger<Message, Output2>;
119
148
  };
120
149
  /**
121
- * @since 2.0.0
122
- * @category mapping
150
+ * Creates a batched logger that groups log messages together and processes them
151
+ * in intervals.
152
+ *
153
+ * @param window - The time window in which to batch log messages.
154
+ *
123
155
  * @example
124
- * import { Console, Effect, Logger } from "effect";
156
+ * import { Console, Effect, Logger } from "effect"
125
157
  *
126
158
  * const LoggerLive = Logger.replaceScoped(
127
159
  * Logger.defaultLogger,
128
160
  * Logger.logfmtLogger.pipe(
129
- * Logger.batched("500 millis", (messages) =>
130
- * Console.log("BATCH", messages.join("\n"))
131
- * )
161
+ * Logger.batched("500 millis", (messages) => Console.log("BATCH", `[\n${messages.join("\n")}\n]`))
132
162
  * )
133
- * );
163
+ * )
164
+ *
165
+ * const program = Effect.gen(function*() {
166
+ * yield* Effect.log("one")
167
+ * yield* Effect.log("two")
168
+ * yield* Effect.log("three")
169
+ * }).pipe(Effect.provide(LoggerLive))
134
170
  *
135
- * Effect.gen(function* (_) {
136
- * yield* _(Effect.log("one"));
137
- * yield* _(Effect.log("two"));
138
- * yield* _(Effect.log("three"));
139
- * }).pipe(Effect.provide(LoggerLive), Effect.runFork);
171
+ * // Effect.runFork(program)
172
+ * // BATCH [
173
+ * // timestamp=... level=INFO fiber=#0 message=one
174
+ * // timestamp=... level=INFO fiber=#0 message=two
175
+ * // timestamp=... level=INFO fiber=#0 message=three
176
+ * // ]
177
+ *
178
+ * @since 2.0.0
179
+ * @category mapping
140
180
  */
141
181
  export declare const batched: {
142
182
  <Output, R>(window: DurationInput, f: (messages: Array<Types.NoInfer<Output>>) => Effect<void, never, R>): <Message>(self: Logger<Message, Output>) => Effect<Logger<Message, void>, never, R | Scope>;
@@ -212,6 +252,17 @@ export declare const test: {
212
252
  <Message, Output>(self: Logger<Message, Output>, input: Message): Output;
213
253
  };
214
254
  /**
255
+ * Sets the minimum log level for subsequent logging operations, allowing
256
+ * control over which log messages are displayed based on their severity.
257
+ *
258
+ * @example
259
+ * import { Effect, Logger, LogLevel } from "effect"
260
+ *
261
+ * const program = Effect.logDebug("message1").pipe(Logger.withMinimumLogLevel(LogLevel.Debug))
262
+ *
263
+ * // Effect.runFork(program)
264
+ * // timestamp=... level=DEBUG fiber=#0 message=message1
265
+ *
215
266
  * @since 2.0.0
216
267
  * @category context
217
268
  */
@@ -257,11 +308,39 @@ export declare const zipRight: {
257
308
  */
258
309
  export declare const defaultLogger: Logger<unknown, void>;
259
310
  /**
311
+ * The `jsonLogger` logger formats log entries as JSON objects, making them easy to
312
+ * integrate with logging systems that consume JSON data.
313
+ *
314
+ * @example
315
+ * import { Effect, Logger } from "effect"
316
+ *
317
+ * const program = Effect.log("message1", "message2").pipe(
318
+ * Effect.annotateLogs({ key1: "value1", key2: "value2" }),
319
+ * Effect.withLogSpan("myspan")
320
+ * )
321
+ *
322
+ * // Effect.runFork(program.pipe(Effect.provide(Logger.json)))
323
+ * // {"message":["message1","message2"],"logLevel":"INFO","timestamp":"...","annotations":{"key2":"value2","key1":"value1"},"spans":{"myspan":0},"fiberId":"#0"}
324
+ *
260
325
  * @since 2.0.0
261
326
  * @category constructors
262
327
  */
263
328
  export declare const jsonLogger: Logger<unknown, string>;
264
329
  /**
330
+ * This logger outputs logs in a human-readable format that is easy to read
331
+ * during development or in a production console.
332
+ *
333
+ * @example
334
+ * import { Effect, Logger } from "effect"
335
+ *
336
+ * const program = Effect.log("message1", "message2").pipe(
337
+ * Effect.annotateLogs({ key1: "value1", key2: "value2" }),
338
+ * Effect.withLogSpan("myspan")
339
+ * )
340
+ *
341
+ * // Effect.runFork(program.pipe(Effect.provide(Logger.logFmt)))
342
+ * // timestamp=... level=INFO fiber=#0 message=message1 message=message2 myspan=0ms key2=value2 key1=value1
343
+ *
265
344
  * @since 2.0.0
266
345
  * @category constructors
267
346
  */
@@ -272,6 +351,60 @@ export declare const logfmtLogger: Logger<unknown, string>;
272
351
  */
273
352
  export declare const stringLogger: Logger<unknown, string>;
274
353
  /**
354
+ * The pretty logger utilizes the capabilities of the console API to generate
355
+ * visually engaging and color-enhanced log outputs. This feature is
356
+ * particularly useful for improving the readability of log messages during
357
+ * development and debugging processes.
358
+ *
359
+ * @example
360
+ * import { Effect, Logger } from "effect"
361
+ *
362
+ * const program = Effect.log("message1", "message2").pipe(
363
+ * Effect.annotateLogs({ key1: "value1", key2: "value2" }),
364
+ * Effect.withLogSpan("myspan")
365
+ * )
366
+ *
367
+ * // Effect.runFork(program.pipe(Effect.provide(Logger.pretty)))
368
+ * // green --v v-- bold and cyan
369
+ * // [07:51:54.434] INFO (#0) myspan=1ms: message1
370
+ * // message2
371
+ * // v-- bold
372
+ * // key2: value2
373
+ * // key1: value1
374
+ *
375
+ * @since 3.5.0
376
+ * @category constructors
377
+ */
378
+ export declare const prettyLogger: (options?: {
379
+ readonly colors?: "auto" | boolean | undefined;
380
+ readonly stderr?: boolean | undefined;
381
+ readonly formatDate?: ((date: Date) => string) | undefined;
382
+ readonly mode?: "browser" | "tty" | "auto" | undefined;
383
+ }) => Logger<unknown, void>;
384
+ /**
385
+ * The structured logger provides detailed log outputs, structured in a way that
386
+ * retains comprehensive traceability of the events, suitable for deeper
387
+ * analysis and troubleshooting.
388
+ *
389
+ * @example
390
+ * import { Effect, Logger } from "effect"
391
+ *
392
+ * const program = Effect.log("message1", "message2").pipe(
393
+ * Effect.annotateLogs({ key1: "value1", key2: "value2" }),
394
+ * Effect.withLogSpan("myspan")
395
+ * )
396
+ *
397
+ * // Effect.runFork(program.pipe(Effect.provide(Logger.structured)))
398
+ * // {
399
+ * // message: [ 'message1', 'message2' ],
400
+ * // logLevel: 'INFO',
401
+ * // timestamp: '2024-07-09T14:05:41.623Z',
402
+ * // cause: undefined,
403
+ * // annotations: { key2: 'value2', key1: 'value1' },
404
+ * // spans: { myspan: 0 },
405
+ * // fiberId: '#0'
406
+ * // }
407
+ *
275
408
  * @since 2.0.0
276
409
  * @category constructors
277
410
  */
@@ -290,21 +423,114 @@ export declare const structuredLogger: Logger<unknown, {
290
423
  */
291
424
  export declare const tracerLogger: Logger<unknown, void>;
292
425
  /**
426
+ * The `json` logger formats log entries as JSON objects, making them easy to
427
+ * integrate with logging systems that consume JSON data.
428
+ *
429
+ * @example
430
+ * import { Effect, Logger } from "effect"
431
+ *
432
+ * const program = Effect.log("message1", "message2").pipe(
433
+ * Effect.annotateLogs({ key1: "value1", key2: "value2" }),
434
+ * Effect.withLogSpan("myspan")
435
+ * )
436
+ *
437
+ * // Effect.runFork(program.pipe(Effect.provide(Logger.json)))
438
+ * // {"message":["message1","message2"],"logLevel":"INFO","timestamp":"...","annotations":{"key2":"value2","key1":"value1"},"spans":{"myspan":0},"fiberId":"#0"}
439
+ *
293
440
  * @since 2.0.0
294
441
  * @category constructors
295
442
  */
296
443
  export declare const json: Layer.Layer<never>;
297
444
  /**
445
+ * This logger outputs logs in a human-readable format that is easy to read
446
+ * during development or in a production console.
447
+ *
448
+ * @example
449
+ * import { Effect, Logger } from "effect"
450
+ *
451
+ * const program = Effect.log("message1", "message2").pipe(
452
+ * Effect.annotateLogs({ key1: "value1", key2: "value2" }),
453
+ * Effect.withLogSpan("myspan")
454
+ * )
455
+ *
456
+ * // Effect.runFork(program.pipe(Effect.provide(Logger.logFmt)))
457
+ * // timestamp=... level=INFO fiber=#0 message=message1 message=message2 myspan=0ms key2=value2 key1=value1
458
+ *
298
459
  * @since 2.0.0
299
460
  * @category constructors
300
461
  */
301
462
  export declare const logFmt: Layer.Layer<never>;
302
463
  /**
464
+ * The pretty logger utilizes the capabilities of the console API to generate
465
+ * visually engaging and color-enhanced log outputs. This feature is
466
+ * particularly useful for improving the readability of log messages during
467
+ * development and debugging processes.
468
+ *
469
+ * @example
470
+ * import { Effect, Logger } from "effect"
471
+ *
472
+ * const program = Effect.log("message1", "message2").pipe(
473
+ * Effect.annotateLogs({ key1: "value1", key2: "value2" }),
474
+ * Effect.withLogSpan("myspan")
475
+ * )
476
+ *
477
+ * // Effect.runFork(program.pipe(Effect.provide(Logger.pretty)))
478
+ * // green --v v-- bold and cyan
479
+ * // [07:51:54.434] INFO (#0) myspan=1ms: message1
480
+ * // message2
481
+ * // v-- bold
482
+ * // key2: value2
483
+ * // key1: value1
484
+ *
485
+ * @since 3.5.0
486
+ * @category constructors
487
+ */
488
+ export declare const pretty: Layer.Layer<never>;
489
+ /**
490
+ * The structured logger provides detailed log outputs, structured in a way that
491
+ * retains comprehensive traceability of the events, suitable for deeper
492
+ * analysis and troubleshooting.
493
+ *
494
+ * @example
495
+ * import { Effect, Logger } from "effect"
496
+ *
497
+ * const program = Effect.log("message1", "message2").pipe(
498
+ * Effect.annotateLogs({ key1: "value1", key2: "value2" }),
499
+ * Effect.withLogSpan("myspan")
500
+ * )
501
+ *
502
+ * // Effect.runFork(program.pipe(Effect.provide(Logger.structured)))
503
+ * // {
504
+ * // message: [ 'message1', 'message2' ],
505
+ * // logLevel: 'INFO',
506
+ * // timestamp: '2024-07-09T14:05:41.623Z',
507
+ * // cause: undefined,
508
+ * // annotations: { key2: 'value2', key1: 'value1' },
509
+ * // spans: { myspan: 0 },
510
+ * // fiberId: '#0'
511
+ * // }
512
+ *
303
513
  * @since 2.0.0
304
514
  * @category constructors
305
515
  */
306
516
  export declare const structured: Layer.Layer<never>;
307
517
  /**
518
+ * Sets the minimum log level for logging operations, allowing control over
519
+ * which log messages are displayed based on their severity.
520
+ *
521
+ * @example
522
+ * import { Effect, Logger, LogLevel } from "effect"
523
+ *
524
+ * const program = Effect.gen(function*() {
525
+ * yield* Effect.log("Executing task...")
526
+ * yield* Effect.sleep("100 millis")
527
+ * console.log("task done")
528
+ * })
529
+ *
530
+ * // Logging disabled using a layer
531
+ * // Effect.runFork(program.pipe(Effect.provide(Logger.minimumLogLevel(LogLevel.None))))
532
+ * // task done
533
+ *
308
534
  * @since 2.0.0
309
535
  * @category context
310
536
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/Logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Logger.d.ts","sourceRoot":"","sources":["../../src/Logger.ts"],"names":[],"mappings":"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"}
@@ -41,7 +41,10 @@ export interface PubSub<in out A> extends Queue.Enqueue<A>, Pipeable {
41
41
  * @since 2.0.0
42
42
  * @category constructors
43
43
  */
44
- export declare const bounded: <A>(requestedCapacity: number) => Effect.Effect<PubSub<A>>;
44
+ export declare const bounded: <A>(capacity: number | {
45
+ readonly capacity: number;
46
+ readonly replay?: number | undefined;
47
+ }) => Effect.Effect<PubSub<A>>;
45
48
  /**
46
49
  * Creates a bounded `PubSub` with the dropping strategy. The `PubSub` will drop new
47
50
  * messages if the `PubSub` is at capacity.
@@ -51,7 +54,10 @@ export declare const bounded: <A>(requestedCapacity: number) => Effect.Effect<Pu
51
54
  * @since 2.0.0
52
55
  * @category constructors
53
56
  */
54
- export declare const dropping: <A>(requestedCapacity: number) => Effect.Effect<PubSub<A>>;
57
+ export declare const dropping: <A>(capacity: number | {
58
+ readonly capacity: number;
59
+ readonly replay?: number | undefined;
60
+ }) => Effect.Effect<PubSub<A>>;
55
61
  /**
56
62
  * Creates a bounded `PubSub` with the sliding strategy. The `PubSub` will add new
57
63
  * messages and drop old messages if the `PubSub` is at capacity.
@@ -61,14 +67,19 @@ export declare const dropping: <A>(requestedCapacity: number) => Effect.Effect<P
61
67
  * @since 2.0.0
62
68
  * @category constructors
63
69
  */
64
- export declare const sliding: <A>(requestedCapacity: number) => Effect.Effect<PubSub<A>>;
70
+ export declare const sliding: <A>(capacity: number | {
71
+ readonly capacity: number;
72
+ readonly replay?: number | undefined;
73
+ }) => Effect.Effect<PubSub<A>>;
65
74
  /**
66
75
  * Creates an unbounded `PubSub`.
67
76
  *
68
77
  * @since 2.0.0
69
78
  * @category constructors
70
79
  */
71
- export declare const unbounded: <A>() => Effect.Effect<PubSub<A>>;
80
+ export declare const unbounded: <A>(options?: {
81
+ readonly replay?: number | undefined;
82
+ }) => Effect.Effect<PubSub<A>>;
72
83
  /**
73
84
  * Returns the number of elements the queue can hold.
74
85
  *
@@ -1 +1 @@
1
- {"version":3,"file":"PubSub.d.ts","sourceRoot":"","sources":["../../src/PubSub.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PubSub.d.ts","sourceRoot":"","sources":["../../src/PubSub.ts"],"names":[],"mappings":"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"}
@@ -104,4 +104,27 @@ export declare const randomWith: <A, E, R>(f: (random: Random) => Effect.Effect<
104
104
  * @category context
105
105
  */
106
106
  export declare const Random: Context.Tag<Random, Random>;
107
+ /**
108
+ * Constructs the `Random` service, seeding the pseudo-random number generator
109
+ * with an hash of the specified seed.
110
+ * This constructor is useful for generating predictable sequences of random values for specific use cases.
111
+ *
112
+ * Example uses:
113
+ * - Generating random UI data for visual tests.
114
+ * - Creating data that needs to change daily but remain the same throughout a single day, such as using a date as the seed.
115
+ *
116
+ * @param seed - The seed value used to initialize the generator.
117
+ *
118
+ * @example
119
+ * import { Effect, Random } from "effect"
120
+ *
121
+ * const random1 = Random.make("myseed")
122
+ * const random2 = Random.make("myseed")
123
+ *
124
+ * assert.equal(Effect.runSync(random1.next), Effect.runSync(random2.next))
125
+ *
126
+ * @since 3.5.0
127
+ * @category constructors
128
+ */
129
+ export declare const make: <A>(seed: A) => Random;
107
130
  //# sourceMappingURL=Random.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Random.d.ts","sourceRoot":"","sources":["../../src/Random.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,KAAK,OAAO,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAA;AAI1C;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,OAAO,MAA8B,CAAA;AAEhE;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAA;AAE9C;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,CAAA;IACrC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACpC;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC5C;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACvC;;;OAGG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC1D;;;OAGG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC/D;;OAEG;IACH,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;CACjE;AAED;;;;;GAKG;AACH,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAwB,CAAA;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAA2B,CAAA;AAErE;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAA+B,CAAA;AAE9E;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAA6B,CAAA;AAEvG;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAkC,CAAA;AAEjH;;;;;GAKG;AACH,eAAO,MAAM,OAAO,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAA2B,CAAA;AAE3G;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAC9E,CAAA;AAE5B;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAsB,CAAA"}
1
+ {"version":3,"file":"Random.d.ts","sourceRoot":"","sources":["../../src/Random.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,KAAK,OAAO,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAA;AAI1C;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,OAAO,MAA8B,CAAA;AAEhE;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAA;AAE9C;;;GAGG;AACH,MAAM,WAAW,MAAM;IACrB,QAAQ,CAAC,CAAC,YAAY,CAAC,EAAE,YAAY,CAAA;IACrC;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACpC;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC5C;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IACvC;;;OAGG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC1D;;;OAGG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAC/D;;OAEG;IACH,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;CACjE;AAED;;;;;GAKG;AACH,eAAO,MAAM,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAwB,CAAA;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAA2B,CAAA;AAErE;;;;;GAKG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAA+B,CAAA;AAE9E;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAA6B,CAAA;AAEvG;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,MAAM,CAAkC,CAAA;AAEjH;;;;;GAKG;AACH,eAAO,MAAM,OAAO,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAA2B,CAAA;AAE3G;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAC9E,CAAA;AAE5B;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAsB,CAAA;AAErE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,IAAI,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,MAAsB,CAAA"}
@@ -0,0 +1,93 @@
1
+ /**
2
+ * @since 3.5.0
3
+ */
4
+ import type * as Cause from "./Cause.js";
5
+ import type * as Duration from "./Duration.js";
6
+ import type * as Effect from "./Effect.js";
7
+ import { type Pipeable } from "./Pipeable.js";
8
+ import type * as Scope from "./Scope.js";
9
+ import type * as Types from "./Types.js";
10
+ /**
11
+ * @since 3.5.0
12
+ * @category type ids
13
+ */
14
+ export declare const TypeId: unique symbol;
15
+ /**
16
+ * @since 3.5.0
17
+ * @category type ids
18
+ */
19
+ export type TypeId = typeof TypeId;
20
+ /**
21
+ * @since 3.5.0
22
+ * @category models
23
+ */
24
+ export interface RcMap<in K, out A, out E = never> extends Pipeable {
25
+ readonly [TypeId]: RcMap.Variance<K, A, E>;
26
+ }
27
+ /**
28
+ * @since 3.5.0
29
+ * @category models
30
+ */
31
+ export declare namespace RcMap {
32
+ /**
33
+ * @since 3.5.0
34
+ * @category models
35
+ */
36
+ interface Variance<K, A, E> {
37
+ readonly _K: Types.Contravariant<K>;
38
+ readonly _A: Types.Covariant<A>;
39
+ readonly _E: Types.Covariant<E>;
40
+ }
41
+ }
42
+ /**
43
+ * An `RcMap` can contain multiple reference counted resources that can be indexed
44
+ * by a key. The resources are lazily acquired on the first call to `get` and
45
+ * released when the last reference is released.
46
+ *
47
+ * Complex keys can extend `Equal` and `Hash` to allow lookups by value.
48
+ *
49
+ * @since 3.5.0
50
+ * @category models
51
+ * @param capacity The maximum number of resources that can be held in the map.
52
+ * @param idleTimeToLive When the reference count reaches zero, the resource will be released after this duration.
53
+ * @example
54
+ * import { Effect, RcMap } from "effect"
55
+ *
56
+ * Effect.gen(function*() {
57
+ * const map = yield* RcMap.make({
58
+ * lookup: (key: string) =>
59
+ * Effect.acquireRelease(
60
+ * Effect.succeed(`acquired ${key}`),
61
+ * () => Effect.log(`releasing ${key}`)
62
+ * )
63
+ * })
64
+ *
65
+ * // Get "foo" from the map twice, which will only acquire it once.
66
+ * // It will then be released once the scope closes.
67
+ * yield* RcMap.get(map, "foo").pipe(
68
+ * Effect.andThen(RcMap.get(map, "foo")),
69
+ * Effect.scoped
70
+ * )
71
+ * })
72
+ */
73
+ export declare const make: {
74
+ <K, A, E, R>(options: {
75
+ readonly lookup: (key: K) => Effect.Effect<A, E, R>;
76
+ readonly idleTimeToLive?: Duration.DurationInput | undefined;
77
+ readonly capacity?: undefined;
78
+ }): Effect.Effect<RcMap<K, A, E>, never, Scope.Scope | R>;
79
+ <K, A, E, R>(options: {
80
+ readonly lookup: (key: K) => Effect.Effect<A, E, R>;
81
+ readonly idleTimeToLive?: Duration.DurationInput | undefined;
82
+ readonly capacity: number;
83
+ }): Effect.Effect<RcMap<K, A, E | Cause.ExceededCapacityException>, never, Scope.Scope | R>;
84
+ };
85
+ /**
86
+ * @since 3.5.0
87
+ * @category combinators
88
+ */
89
+ export declare const get: {
90
+ <K>(key: K): <A, E>(self: RcMap<K, A, E>) => Effect.Effect<A, E, Scope.Scope>;
91
+ <K, A, E>(self: RcMap<K, A, E>, key: K): Effect.Effect<A, E, Scope.Scope>;
92
+ };
93
+ //# sourceMappingURL=RcMap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RcMap.d.ts","sourceRoot":"","sources":["../../src/RcMap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * @since 3.5.0
3
+ */
4
+ import type * as Duration from "./Duration.js";
5
+ import type * as Effect from "./Effect.js";
6
+ import { type Pipeable } from "./Pipeable.js";
7
+ import type * as Scope from "./Scope.js";
8
+ import type * as Types from "./Types.js";
9
+ /**
10
+ * @since 3.5.0
11
+ * @category type ids
12
+ */
13
+ export declare const TypeId: unique symbol;
14
+ /**
15
+ * @since 3.5.0
16
+ * @category type ids
17
+ */
18
+ export type TypeId = typeof TypeId;
19
+ /**
20
+ * @since 3.5.0
21
+ * @category models
22
+ */
23
+ export interface RcRef<out A, out E = never> extends Pipeable {
24
+ readonly [TypeId]: RcRef.Variance<A, E>;
25
+ }
26
+ /**
27
+ * @since 3.5.0
28
+ * @category models
29
+ */
30
+ export declare namespace RcRef {
31
+ /**
32
+ * @since 3.5.0
33
+ * @category models
34
+ */
35
+ interface Variance<A, E> {
36
+ readonly _A: Types.Covariant<A>;
37
+ readonly _E: Types.Covariant<E>;
38
+ }
39
+ }
40
+ /**
41
+ * Create an `RcRef` from an acquire `Effect`.
42
+ *
43
+ * An RcRef wraps a reference counted resource that can be acquired and released
44
+ * multiple times.
45
+ *
46
+ * The resource is lazily acquired on the first call to `get` and released when
47
+ * the last reference is released.
48
+ *
49
+ * @since 3.5.0
50
+ * @category constructors
51
+ * @example
52
+ * import { Effect, RcRef } from "effect"
53
+ *
54
+ * Effect.gen(function*() {
55
+ * const ref = yield* RcRef.make({
56
+ * acquire: Effect.acquireRelease(
57
+ * Effect.succeed("foo"),
58
+ * () => Effect.log("release foo")
59
+ * )
60
+ * })
61
+ *
62
+ * // will only acquire the resource once, and release it
63
+ * // when the scope is closed
64
+ * yield* RcRef.get(ref).pipe(
65
+ * Effect.andThen(RcRef.get(ref)),
66
+ * Effect.scoped
67
+ * )
68
+ * })
69
+ */
70
+ export declare const make: <A, E, R>(options: {
71
+ readonly acquire: Effect.Effect<A, E, R>;
72
+ /**
73
+ * When the reference count reaches zero, the resource will be released
74
+ * after this duration.
75
+ */
76
+ readonly idleTimeToLive?: Duration.DurationInput | undefined;
77
+ }) => Effect.Effect<RcRef<A, E>, never, R | Scope.Scope>;
78
+ /**
79
+ * @since 3.5.0
80
+ * @category combinators
81
+ */
82
+ export declare const get: <A, E>(self: RcRef<A, E>) => Effect.Effect<A, E, Scope.Scope>;
83
+ //# sourceMappingURL=RcRef.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RcRef.d.ts","sourceRoot":"","sources":["../../src/RcRef.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,KAAK,QAAQ,MAAM,eAAe,CAAA;AAC9C,OAAO,KAAK,KAAK,MAAM,MAAM,aAAa,CAAA;AAE1C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAA;AAC7C,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AACxC,OAAO,KAAK,KAAK,KAAK,MAAM,YAAY,CAAA;AAExC;;;GAGG;AACH,eAAO,MAAM,MAAM,EAAE,OAAO,MAAwB,CAAA;AAEpD;;;GAGG;AACH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA;AAElC;;;GAGG;AACH,MAAM,WAAW,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,KAAK,CAAE,SAAQ,QAAQ;IAC3D,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;CACxC;AAED;;;GAGG;AACH,MAAM,CAAC,OAAO,WAAW,KAAK,CAAC;IAC7B;;;OAGG;IACH,UAAiB,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC5B,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC/B,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;KAChC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,eAAO,MAAM,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EACzB,OAAO,EAAE;IACP,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACxC;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,CAAC,aAAa,GAAG,SAAS,CAAA;CAC7D,KACE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAiB,CAAA;AAEvE;;;GAGG;AACH,eAAO,MAAM,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,KAAK,CAAgB,CAAA"}