effect 2.3.1 → 2.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/cjs/Effect.js.map +1 -1
  2. package/dist/cjs/Either.js +4 -1
  3. package/dist/cjs/Either.js.map +1 -1
  4. package/dist/cjs/Option.js +4 -1
  5. package/dist/cjs/Option.js.map +1 -1
  6. package/dist/cjs/RateLimiter.js +67 -1
  7. package/dist/cjs/RateLimiter.js.map +1 -1
  8. package/dist/cjs/Scheduler.js +3 -4
  9. package/dist/cjs/Scheduler.js.map +1 -1
  10. package/dist/cjs/internal/clock.js +2 -3
  11. package/dist/cjs/internal/clock.js.map +1 -1
  12. package/dist/cjs/internal/effect/circular.js +10 -8
  13. package/dist/cjs/internal/effect/circular.js.map +1 -1
  14. package/dist/cjs/internal/fiberRuntime.js +12 -2
  15. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  16. package/dist/cjs/internal/rateLimiter.js +39 -8
  17. package/dist/cjs/internal/rateLimiter.js.map +1 -1
  18. package/dist/cjs/internal/version.js +1 -1
  19. package/dist/dts/Effect.d.ts +7 -3
  20. package/dist/dts/Effect.d.ts.map +1 -1
  21. package/dist/dts/Either.d.ts +4 -0
  22. package/dist/dts/Either.d.ts.map +1 -1
  23. package/dist/dts/FiberSet.d.ts +4 -4
  24. package/dist/dts/FiberSet.d.ts.map +1 -1
  25. package/dist/dts/Option.d.ts +4 -0
  26. package/dist/dts/Option.d.ts.map +1 -1
  27. package/dist/dts/RateLimiter.d.ts +109 -10
  28. package/dist/dts/RateLimiter.d.ts.map +1 -1
  29. package/dist/dts/Scheduler.d.ts.map +1 -1
  30. package/dist/dts/index.d.ts +1 -5
  31. package/dist/dts/index.d.ts.map +1 -1
  32. package/dist/dts/internal/version.d.ts +1 -1
  33. package/dist/esm/Effect.js.map +1 -1
  34. package/dist/esm/Either.js +4 -1
  35. package/dist/esm/Either.js.map +1 -1
  36. package/dist/esm/Option.js +4 -1
  37. package/dist/esm/Option.js.map +1 -1
  38. package/dist/esm/RateLimiter.js +66 -0
  39. package/dist/esm/RateLimiter.js.map +1 -1
  40. package/dist/esm/Scheduler.js +3 -4
  41. package/dist/esm/Scheduler.js.map +1 -1
  42. package/dist/esm/index.js +1 -5
  43. package/dist/esm/index.js.map +1 -1
  44. package/dist/esm/internal/clock.js +2 -3
  45. package/dist/esm/internal/clock.js.map +1 -1
  46. package/dist/esm/internal/effect/circular.js +10 -8
  47. package/dist/esm/internal/effect/circular.js.map +1 -1
  48. package/dist/esm/internal/fiberRuntime.js +12 -2
  49. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  50. package/dist/esm/internal/rateLimiter.js +36 -6
  51. package/dist/esm/internal/rateLimiter.js.map +1 -1
  52. package/dist/esm/internal/version.js +1 -1
  53. package/package.json +1 -1
  54. package/src/Effect.ts +7 -3
  55. package/src/Either.ts +8 -1
  56. package/src/FiberSet.ts +4 -4
  57. package/src/Option.ts +8 -1
  58. package/src/RateLimiter.ts +111 -14
  59. package/src/Scheduler.ts +3 -4
  60. package/src/index.ts +1 -5
  61. package/src/internal/clock.ts +2 -3
  62. package/src/internal/effect/circular.ts +13 -11
  63. package/src/internal/fiberRuntime.ts +13 -3
  64. package/src/internal/rateLimiter.ts +81 -19
  65. package/src/internal/version.ts +1 -1
  66. package/dist/cjs/internal/timeout.js +0 -24
  67. package/dist/cjs/internal/timeout.js.map +0 -1
  68. package/dist/dts/internal/timeout.d.ts +0 -7
  69. package/dist/dts/internal/timeout.d.ts.map +0 -1
  70. package/dist/esm/internal/timeout.js +0 -18
  71. package/dist/esm/internal/timeout.js.map +0 -1
  72. package/src/internal/timeout.ts +0 -23
@@ -3319,7 +3319,7 @@ export declare const randomWith: <A, E, R>(f: (random: Random.Random) => Effect<
3319
3319
  * @since 2.0.0
3320
3320
  * @category runtime
3321
3321
  */
3322
- export declare const runtime: <R>() => Effect<Runtime.Runtime<R>, never, R>;
3322
+ export declare const runtime: <R = never>() => Effect<Runtime.Runtime<R>, never, R>;
3323
3323
  /**
3324
3324
  * Retrieves an effect that succeeds with the current runtime flags, which
3325
3325
  * govern behavior and features of the runtime system.
@@ -3423,10 +3423,14 @@ export interface Permit {
3423
3423
  * @since 2.0.0
3424
3424
  */
3425
3425
  export interface Semaphore {
3426
+ /** when the given amount of permits are available, run the effect and release the permits when finished */
3426
3427
  withPermits(permits: number): <A, E, R>(self: Effect<A, E, R>) => Effect<A, E, R>;
3428
+ /** take the given amount of permits, suspending if they are not yet available */
3427
3429
  take(permits: number): Effect<number>;
3428
- release(permits: number): Effect<void>;
3429
- releaseAll: Effect<void>;
3430
+ /** release the given amount of permits, and return the resulting available permits */
3431
+ release(permits: number): Effect<number>;
3432
+ /** release all the taken permits, and return the resulting available permits */
3433
+ releaseAll: Effect<number>;
3430
3434
  }
3431
3435
  /**
3432
3436
  * Unsafely creates a new Semaphore