effect 2.4.1 → 2.4.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 (130) hide show
  1. package/ManagedRuntime/package.json +6 -0
  2. package/dist/cjs/Context.js.map +1 -1
  3. package/dist/cjs/Duration.js +9 -1
  4. package/dist/cjs/Duration.js.map +1 -1
  5. package/dist/cjs/Effect.js +51 -5
  6. package/dist/cjs/Effect.js.map +1 -1
  7. package/dist/cjs/Either.js.map +1 -1
  8. package/dist/cjs/FiberMap.js +31 -5
  9. package/dist/cjs/FiberMap.js.map +1 -1
  10. package/dist/cjs/FiberSet.js +31 -5
  11. package/dist/cjs/FiberSet.js.map +1 -1
  12. package/dist/cjs/Layer.js +9 -1
  13. package/dist/cjs/Layer.js.map +1 -1
  14. package/dist/cjs/Logger.js +50 -1
  15. package/dist/cjs/Logger.js.map +1 -1
  16. package/dist/cjs/ManagedRuntime.js +58 -0
  17. package/dist/cjs/ManagedRuntime.js.map +1 -0
  18. package/dist/cjs/Option.js.map +1 -1
  19. package/dist/cjs/Request.js +4 -4
  20. package/dist/cjs/SortedSet.js +7 -1
  21. package/dist/cjs/SortedSet.js.map +1 -1
  22. package/dist/cjs/Struct.js +7 -6
  23. package/dist/cjs/Struct.js.map +1 -1
  24. package/dist/cjs/index.js +4 -2
  25. package/dist/cjs/index.js.map +1 -1
  26. package/dist/cjs/internal/core-effect.js.map +1 -1
  27. package/dist/cjs/internal/fiberRuntime.js +26 -1
  28. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  29. package/dist/cjs/internal/layer.js +7 -4
  30. package/dist/cjs/internal/layer.js.map +1 -1
  31. package/dist/cjs/internal/logger.js +64 -2
  32. package/dist/cjs/internal/logger.js.map +1 -1
  33. package/dist/cjs/internal/managedRuntime.js +94 -0
  34. package/dist/cjs/internal/managedRuntime.js.map +1 -0
  35. package/dist/cjs/internal/version.js +1 -1
  36. package/dist/dts/Context.d.ts +10 -11
  37. package/dist/dts/Context.d.ts.map +1 -1
  38. package/dist/dts/Duration.d.ts +1 -1
  39. package/dist/dts/Duration.d.ts.map +1 -1
  40. package/dist/dts/Effect.d.ts +23 -15
  41. package/dist/dts/Effect.d.ts.map +1 -1
  42. package/dist/dts/Either.d.ts +18 -3
  43. package/dist/dts/Either.d.ts.map +1 -1
  44. package/dist/dts/FiberMap.d.ts +22 -2
  45. package/dist/dts/FiberMap.d.ts.map +1 -1
  46. package/dist/dts/FiberSet.d.ts +20 -0
  47. package/dist/dts/FiberSet.d.ts.map +1 -1
  48. package/dist/dts/Layer.d.ts +11 -0
  49. package/dist/dts/Layer.d.ts.map +1 -1
  50. package/dist/dts/Logger.d.ts +61 -0
  51. package/dist/dts/Logger.d.ts.map +1 -1
  52. package/dist/dts/ManagedRuntime.d.ts +96 -0
  53. package/dist/dts/ManagedRuntime.d.ts.map +1 -0
  54. package/dist/dts/Option.d.ts +13 -3
  55. package/dist/dts/Option.d.ts.map +1 -1
  56. package/dist/dts/Request.d.ts +7 -7
  57. package/dist/dts/Request.d.ts.map +1 -1
  58. package/dist/dts/STM.d.ts +1 -1
  59. package/dist/dts/STM.d.ts.map +1 -1
  60. package/dist/dts/SortedSet.d.ts +6 -0
  61. package/dist/dts/SortedSet.d.ts.map +1 -1
  62. package/dist/dts/Struct.d.ts +18 -2
  63. package/dist/dts/Struct.d.ts.map +1 -1
  64. package/dist/dts/Types.d.ts +4 -0
  65. package/dist/dts/Types.d.ts.map +1 -1
  66. package/dist/dts/index.d.ts +4 -0
  67. package/dist/dts/index.d.ts.map +1 -1
  68. package/dist/dts/internal/logger.d.ts +1 -0
  69. package/dist/dts/internal/logger.d.ts.map +1 -1
  70. package/dist/dts/internal/managedRuntime.d.ts +2 -0
  71. package/dist/dts/internal/managedRuntime.d.ts.map +1 -0
  72. package/dist/esm/Context.js.map +1 -1
  73. package/dist/esm/Duration.js +9 -1
  74. package/dist/esm/Duration.js.map +1 -1
  75. package/dist/esm/Effect.js +46 -1
  76. package/dist/esm/Effect.js.map +1 -1
  77. package/dist/esm/Either.js.map +1 -1
  78. package/dist/esm/FiberMap.js +29 -4
  79. package/dist/esm/FiberMap.js.map +1 -1
  80. package/dist/esm/FiberSet.js +29 -4
  81. package/dist/esm/FiberSet.js.map +1 -1
  82. package/dist/esm/Layer.js +8 -0
  83. package/dist/esm/Layer.js.map +1 -1
  84. package/dist/esm/Logger.js +49 -0
  85. package/dist/esm/Logger.js.map +1 -1
  86. package/dist/esm/ManagedRuntime.js +27 -0
  87. package/dist/esm/ManagedRuntime.js.map +1 -0
  88. package/dist/esm/Option.js.map +1 -1
  89. package/dist/esm/Request.js +4 -4
  90. package/dist/esm/SortedSet.js +5 -0
  91. package/dist/esm/SortedSet.js.map +1 -1
  92. package/dist/esm/Struct.js +7 -4
  93. package/dist/esm/Struct.js.map +1 -1
  94. package/dist/esm/index.js +4 -0
  95. package/dist/esm/index.js.map +1 -1
  96. package/dist/esm/internal/core-effect.js.map +1 -1
  97. package/dist/esm/internal/fiberRuntime.js +25 -0
  98. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  99. package/dist/esm/internal/layer.js +5 -3
  100. package/dist/esm/internal/layer.js.map +1 -1
  101. package/dist/esm/internal/logger.js +61 -1
  102. package/dist/esm/internal/logger.js.map +1 -1
  103. package/dist/esm/internal/managedRuntime.js +62 -0
  104. package/dist/esm/internal/managedRuntime.js.map +1 -0
  105. package/dist/esm/internal/version.js +1 -1
  106. package/package.json +10 -2
  107. package/src/Context.ts +10 -11
  108. package/src/Duration.ts +17 -1
  109. package/src/Effect.ts +92 -22
  110. package/src/Either.ts +19 -3
  111. package/src/FiberMap.ts +44 -6
  112. package/src/FiberSet.ts +38 -4
  113. package/src/Layer.ts +17 -0
  114. package/src/Logger.ts +77 -0
  115. package/src/ManagedRuntime.ts +115 -0
  116. package/src/Option.ts +14 -3
  117. package/src/Request.ts +7 -7
  118. package/src/STM.ts +1 -1
  119. package/src/SortedSet.ts +7 -0
  120. package/src/Struct.ts +40 -21
  121. package/src/Types.ts +5 -0
  122. package/src/index.ts +5 -0
  123. package/src/internal/core-effect.ts +9 -9
  124. package/src/internal/core.ts +5 -5
  125. package/src/internal/fiberRuntime.ts +68 -0
  126. package/src/internal/layer.ts +25 -4
  127. package/src/internal/logger.ts +76 -1
  128. package/src/internal/managedRuntime.ts +111 -0
  129. package/src/internal/request.ts +2 -2
  130. package/src/internal/version.ts +1 -1
@@ -31,7 +31,7 @@ import type { Pipeable } from "./Pipeable.js";
31
31
  import type { Predicate, Refinement } from "./Predicate.js";
32
32
  import type * as Random from "./Random.js";
33
33
  import type * as Ref from "./Ref.js";
34
- import type * as Request from "./Request.js";
34
+ import * as Request from "./Request.js";
35
35
  import type { RequestBlock } from "./RequestBlock.js";
36
36
  import type { RequestResolver } from "./RequestResolver.js";
37
37
  import type * as Runtime from "./Runtime.js";
@@ -42,7 +42,7 @@ import * as Scheduler from "./Scheduler.js";
42
42
  import type * as Scope from "./Scope.js";
43
43
  import type * as Supervisor from "./Supervisor.js";
44
44
  import type * as Tracer from "./Tracer.js";
45
- import type { Concurrency, Covariant, MergeRecord, NoInfer } from "./Types.js";
45
+ import type { Concurrency, Covariant, MergeRecord, NoInfer, NotFunction } from "./Types.js";
46
46
  import type * as Unify from "./Unify.js";
47
47
  /**
48
48
  * @since 2.0.0
@@ -114,7 +114,7 @@ export interface Blocked<out A, out E> extends Effect<A, E> {
114
114
  * @category models
115
115
  */
116
116
  declare module "./Context.js" {
117
- interface Tag<Identifier, Service> extends Effect<Service, never, Identifier> {
117
+ interface Tag<Id, Value> extends Effect<Value, never, Id> {
118
118
  }
119
119
  interface TagUnifyIgnore {
120
120
  Effect?: true;
@@ -2260,9 +2260,7 @@ export declare const serviceFunctionEffect: <T extends Effect<any, any, any>, Ar
2260
2260
  * @category context
2261
2261
  */
2262
2262
  export declare const serviceFunctions: <S, SE, SR>(getService: Effect<S, SE, SR>) => {
2263
- [k in {
2264
- [k in keyof S]: S[k] extends (...args: Array<any>) => Effect<any, any, any> ? k : never;
2265
- }[keyof S]]: S[k] extends (...args: infer Args) => Effect<infer A, infer E, infer R> ? (...args: Args) => Effect<A, SE | E, SR | R> : never;
2263
+ [k in keyof S as S[k] extends (...args: Array<any>) => Effect<any, any, any> ? k : never]: S[k] extends (...args: infer Args) => Effect<infer A, infer E, infer R> ? (...args: Args) => Effect<A, SE | E, SR | R> : never;
2266
2264
  };
2267
2265
  /**
2268
2266
  * @since 2.0.0
@@ -2277,11 +2275,9 @@ export declare const serviceConstants: <S, SE, SR>(getService: Effect<S, SE, SR>
2277
2275
  * @since 2.0.0
2278
2276
  * @category context
2279
2277
  */
2280
- export declare const serviceMembers: <SR, SE, S>(getService: Effect<S, SE, SR>) => {
2278
+ export declare const serviceMembers: <S, SE, SR>(getService: Effect<S, SE, SR>) => {
2281
2279
  functions: {
2282
- [k in {
2283
- [k in keyof S]: S[k] extends (...args: Array<any>) => Effect<any, any, any> ? k : never;
2284
- }[keyof S]]: S[k] extends (...args: infer Args) => Effect<infer A, infer E, infer R> ? (...args: Args) => Effect<A, SE | E, SR | R> : never;
2280
+ [k in keyof S as S[k] extends (...args: Array<any>) => Effect<any, any, any> ? k : never]: S[k] extends (...args: infer Args) => Effect<infer A, infer E, infer R> ? (...args: Args) => Effect<A, SE | E, SR | R> : never;
2285
2281
  };
2286
2282
  constants: {
2287
2283
  [k in {
@@ -2597,9 +2593,9 @@ export declare const flatMap: {
2597
2593
  */
2598
2594
  export declare const andThen: {
2599
2595
  <A, X>(f: (a: NoInfer<A>) => X): <E, R>(self: Effect<A, E, R>) => [X] extends [Effect<infer A1, infer E1, infer R1>] ? Effect<A1, E | E1, R | R1> : [X] extends [Promise<infer A1>] ? Effect<A1, E | Cause.UnknownException, R> : Effect<X, E, R>;
2600
- <X>(f: X): <A, E, R>(self: Effect<A, E, R>) => [X] extends [Effect<infer A1, infer E1, infer R1>] ? Effect<A1, E | E1, R | R1> : [X] extends [Promise<infer A1>] ? Effect<A1, E | Cause.UnknownException, R> : Effect<X, E, R>;
2596
+ <X>(f: NotFunction<X>): <A, E, R>(self: Effect<A, E, R>) => [X] extends [Effect<infer A1, infer E1, infer R1>] ? Effect<A1, E | E1, R | R1> : [X] extends [Promise<infer A1>] ? Effect<A1, E | Cause.UnknownException, R> : Effect<X, E, R>;
2601
2597
  <A, E, R, X>(self: Effect<A, E, R>, f: (a: NoInfer<A>) => X): [X] extends [Effect<infer A1, infer E1, infer R1>] ? Effect<A1, E | E1, R | R1> : [X] extends [Promise<infer A1>] ? Effect<A1, E | Cause.UnknownException, R> : Effect<X, E, R>;
2602
- <A, E, R, X>(self: Effect<A, E, R>, f: X): [X] extends [Effect<infer A1, infer E1, infer R1>] ? Effect<A1, E | E1, R | R1> : [X] extends [Promise<infer A1>] ? Effect<A1, E | Cause.UnknownException, R> : Effect<X, E, R>;
2598
+ <A, E, R, X>(self: Effect<A, E, R>, f: NotFunction<X>): [X] extends [Effect<infer A1, infer E1, infer R1>] ? Effect<A1, E | E1, R | R1> : [X] extends [Promise<infer A1>] ? Effect<A1, E | Cause.UnknownException, R> : Effect<X, E, R>;
2603
2599
  };
2604
2600
  /**
2605
2601
  * @since 2.0.0
@@ -2682,9 +2678,9 @@ export declare const summarized: {
2682
2678
  */
2683
2679
  export declare const tap: {
2684
2680
  <A, X>(f: (a: NoInfer<A>) => X): <E, R>(self: Effect<A, E, R>) => [X] extends [Effect<infer _A1, infer E1, infer R1>] ? Effect<A, E | E1, R | R1> : [X] extends [Promise<infer _A1>] ? Effect<A, E | Cause.UnknownException, R> : Effect<A, E, R>;
2685
- <X>(f: X): <A, E, R>(self: Effect<A, E, R>) => [X] extends [Effect<infer _A1, infer E1, infer R1>] ? Effect<A, E | E1, R | R1> : [X] extends [Promise<infer _A1>] ? Effect<A, E | Cause.UnknownException, R> : Effect<A, E, R>;
2681
+ <X>(f: NotFunction<X>): <A, E, R>(self: Effect<A, E, R>) => [X] extends [Effect<infer _A1, infer E1, infer R1>] ? Effect<A, E | E1, R | R1> : [X] extends [Promise<infer _A1>] ? Effect<A, E | Cause.UnknownException, R> : Effect<A, E, R>;
2686
2682
  <A, E, R, X>(self: Effect<A, E, R>, f: (a: NoInfer<A>) => X): [X] extends [Effect<infer _A1, infer E1, infer R1>] ? Effect<A, E | E1, R | R1> : [X] extends [Promise<infer _A1>] ? Effect<A, E | Cause.UnknownException, R> : Effect<A, E, R>;
2687
- <A, E, R, X>(self: Effect<A, E, R>, f: X): [X] extends [Effect<infer _A1, infer E1, infer R1>] ? Effect<A, E | E1, R | R1> : [X] extends [Promise<infer _A1>] ? Effect<A, E | Cause.UnknownException, R> : Effect<A, E, R>;
2683
+ <A, E, R, X>(self: Effect<A, E, R>, f: NotFunction<X>): [X] extends [Effect<infer _A1, infer E1, infer R1>] ? Effect<A, E | E1, R | R1> : [X] extends [Promise<infer _A1>] ? Effect<A, E | Cause.UnknownException, R> : Effect<A, E, R>;
2688
2684
  };
2689
2685
  /**
2690
2686
  * Returns an effect that effectfully "peeks" at the failure or success of
@@ -3599,7 +3595,10 @@ export declare const step: <A, E, R>(self: Effect<A, E, R>) => Effect<Exit.Exit<
3599
3595
  * @category requests & batching
3600
3596
  */
3601
3597
  export declare const request: {
3602
- <A extends Request.Request<any, any>, Ds extends RequestResolver<A> | Effect<RequestResolver<A>, any, any>>(request: A, dataSource: Ds): Effect<Request.Request.Success<A>, Request.Request.Error<A>, [
3598
+ <A extends Request.Request<any, any>, Ds extends RequestResolver<A> | Effect<RequestResolver<A>, any, any>>(dataSource: Ds): (self: A) => Effect<Request.Request.Success<A>, Request.Request.Error<A>, [
3599
+ Ds
3600
+ ] extends [Effect<any, any, any>] ? Effect.Context<Ds> : never>;
3601
+ <Ds extends RequestResolver<A> | Effect<RequestResolver<A>, any, any>, A extends Request.Request<any, any>>(self: A, dataSource: Ds): Effect<Request.Request.Success<A>, Request.Request.Error<A>, [
3603
3602
  Ds
3604
3603
  ] extends [Effect<any, any, any>] ? Effect.Context<Ds> : never>;
3605
3604
  };
@@ -3837,4 +3836,13 @@ export declare const fromNullable: <A>(value: A) => Effect<NonNullable<A>, Cause
3837
3836
  * @category optionality
3838
3837
  */
3839
3838
  export declare const optionFromOptional: <A, E, R>(self: Effect<A, E, R>) => Effect<Option.Option<A>, Exclude<E, Cause.NoSuchElementException>, R>;
3839
+ /**
3840
+ * @since 2.0.0
3841
+ * @category constructors
3842
+ */
3843
+ export declare const Tag: <const Id extends string>(id: Id) => <Self, Type>() => Context.TagClass<Self, Id, Type> & (Type extends Record<PropertyKey, any> ? {
3844
+ [k in keyof Type as Type[k] extends ((...args: [...infer Args]) => infer Ret) ? ((...args: Readonly<Args>) => Ret) extends Type[k] ? k : never : k]: Type[k] extends (...args: [...infer Args]) => Effect<infer A, infer E, infer R> ? (...args: Readonly<Args>) => Effect<A, E, Self | R> : Type[k] extends (...args: [...infer Args]) => infer A ? (...args: Readonly<Args>) => Effect<A, never, Self> : Type[k] extends Effect<infer A, infer E, infer R> ? Effect<A, E, Self | R> : Effect<Type[k], never, Self>;
3845
+ } : {}) & {
3846
+ use: <X>(body: (_: Type) => X) => X extends Effect<infer A, infer E, infer R> ? Effect<A, E, R | Self> : Effect<X, never, Self>;
3847
+ };
3840
3848
  //# sourceMappingURL=Effect.d.ts.map