effect 3.16.2 → 3.16.4

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 (46) hide show
  1. package/dist/cjs/Data.js +1 -0
  2. package/dist/cjs/Data.js.map +1 -1
  3. package/dist/cjs/Effect.js +1 -0
  4. package/dist/cjs/Effect.js.map +1 -1
  5. package/dist/cjs/Micro.js +1 -0
  6. package/dist/cjs/Micro.js.map +1 -1
  7. package/dist/cjs/internal/core-effect.js.map +1 -1
  8. package/dist/cjs/internal/core.js +1 -0
  9. package/dist/cjs/internal/core.js.map +1 -1
  10. package/dist/cjs/internal/fiberRuntime.js +1 -1
  11. package/dist/cjs/internal/fiberRuntime.js.map +1 -1
  12. package/dist/cjs/internal/stream.js +1 -0
  13. package/dist/cjs/internal/stream.js.map +1 -1
  14. package/dist/cjs/internal/version.js +1 -1
  15. package/dist/dts/Cause.d.ts +1 -1
  16. package/dist/dts/Cause.d.ts.map +1 -1
  17. package/dist/dts/Data.d.ts.map +1 -1
  18. package/dist/dts/Effect.d.ts +168 -48
  19. package/dist/dts/Effect.d.ts.map +1 -1
  20. package/dist/dts/Micro.d.ts.map +1 -1
  21. package/dist/dts/internal/core-effect.d.ts.map +1 -1
  22. package/dist/dts/internal/stream.d.ts.map +1 -1
  23. package/dist/esm/Data.js +1 -0
  24. package/dist/esm/Data.js.map +1 -1
  25. package/dist/esm/Effect.js +1 -0
  26. package/dist/esm/Effect.js.map +1 -1
  27. package/dist/esm/Micro.js +1 -0
  28. package/dist/esm/Micro.js.map +1 -1
  29. package/dist/esm/internal/core-effect.js.map +1 -1
  30. package/dist/esm/internal/core.js +1 -0
  31. package/dist/esm/internal/core.js.map +1 -1
  32. package/dist/esm/internal/fiberRuntime.js +1 -1
  33. package/dist/esm/internal/fiberRuntime.js.map +1 -1
  34. package/dist/esm/internal/stream.js +1 -0
  35. package/dist/esm/internal/stream.js.map +1 -1
  36. package/dist/esm/internal/version.js +1 -1
  37. package/package.json +1 -1
  38. package/src/Cause.ts +1 -1
  39. package/src/Data.ts +1 -0
  40. package/src/Effect.ts +191 -90
  41. package/src/Micro.ts +1 -0
  42. package/src/internal/core-effect.ts +18 -8
  43. package/src/internal/core.ts +1 -0
  44. package/src/internal/fiberRuntime.ts +1 -1
  45. package/src/internal/stream.ts +1 -0
  46. package/src/internal/version.ts +1 -1
@@ -236,19 +236,29 @@ export const catchSomeDefect = dual<
236
236
  )
237
237
 
238
238
  /* @internal */
239
- export const catchTag = dual<
239
+ export const catchTag: {
240
+ <E, const K extends Arr.NonEmptyReadonlyArray<E extends { _tag: string } ? E["_tag"] : never>>(
241
+ ...tags: K
242
+ ): <A, R>(self: Effect.Effect<A, E, R>) => never
240
243
  <E, const K extends Arr.NonEmptyReadonlyArray<E extends { _tag: string } ? E["_tag"] : never>, A1, E1, R1>(
241
- ...args: [...tags: K, f: (e: Extract<NoInfer<E>, { _tag: K[number] }>) => Effect.Effect<A1, E1, R1>]
242
- ) => <A, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A | A1, Exclude<E, { _tag: K[number] }> | E1, R | R1>,
244
+ ...args: [...tags: K, f: (e: Extract<Types.NoInfer<E>, { _tag: K[number] }>) => Effect.Effect<A1, E1, R1>]
245
+ ): <A, R>(self: Effect.Effect<A, E, R>) => Effect.Effect<A | A1, Exclude<E, { _tag: K[number] }> | E1, R | R1>
246
+ <A, E, R, const K extends Arr.NonEmptyReadonlyArray<E extends { _tag: string } ? E["_tag"] : never>>(
247
+ self: Effect.Effect<A, E, R>,
248
+ ...tags: K
249
+ ): never
243
250
  <A, E, R, const K extends Arr.NonEmptyReadonlyArray<E extends { _tag: string } ? E["_tag"] : never>, R1, E1, A1>(
244
251
  self: Effect.Effect<A, E, R>,
245
- ...args: [...tags: K, f: (e: Extract<NoInfer<E>, { _tag: K[number] }>) => Effect.Effect<A1, E1, R1>]
246
- ) => Effect.Effect<A | A1, Exclude<E, { _tag: K[number] }> | E1, R | R1>
247
- >(
252
+ ...args: [...tags: K, f: (e: Extract<Types.NoInfer<E>, { _tag: K[number] }>) => Effect.Effect<A1, E1, R1>]
253
+ ): Effect.Effect<A | A1, Exclude<E, { _tag: K[number] }> | E1, R | R1>
254
+ } = dual(
248
255
  (args: any) => core.isEffect(args[0]),
249
256
  <A, E, R, const K extends Arr.NonEmptyReadonlyArray<E extends { _tag: string } ? E["_tag"] : never>, R1, E1, A1>(
250
257
  self: Effect.Effect<A, E, R>,
251
- ...args: [...tags: K, f: (e: Extract<NoInfer<E>, { _tag: K[number] }>) => Effect.Effect<A1, E1, R1>]
258
+ ...args: [
259
+ ...tags: K & { [I in keyof K]: E extends { _tag: string } ? E["_tag"] : never },
260
+ f: (e: Extract<Types.NoInfer<E>, { _tag: K[number] }>) => Effect.Effect<A1, E1, R1>
261
+ ]
252
262
  ): Effect.Effect<A | A1, Exclude<E, { _tag: K[number] }> | E1, R | R1> => {
253
263
  const f = args[args.length - 1] as any
254
264
  let predicate: Predicate.Predicate<E>
@@ -266,7 +276,7 @@ export const catchTag = dual<
266
276
  }
267
277
  return core.catchIf(self, predicate as Predicate.Refinement<E, Extract<E, { _tag: K[number] }>>, f) as any
268
278
  }
269
- )
279
+ ) as any
270
280
 
271
281
  /** @internal */
272
282
  export const catchTags: {
@@ -2241,6 +2241,7 @@ export const YieldableError: new(message?: string, options?: ErrorOptions) => Ca
2241
2241
  return this
2242
2242
  }
2243
2243
  }
2244
+ // @effect-diagnostics-next-line floatingEffect:off
2244
2245
  Object.assign(YieldableError.prototype, StructuralCommitPrototype)
2245
2246
  return YieldableError as any
2246
2247
  })()
@@ -1693,7 +1693,7 @@ export const addFinalizer = <X, R>(
1693
1693
  core.withFiberRuntime(
1694
1694
  (runtime) => {
1695
1695
  const acquireRefs = runtime.getFiberRefs()
1696
- const acquireFlags = runtime.currentRuntimeFlags
1696
+ const acquireFlags = runtimeFlags_.disable(runtime.currentRuntimeFlags, runtimeFlags_.Interruption)
1697
1697
  return core.flatMap(scope, (scope) =>
1698
1698
  core.scopeAddFinalizerExit(scope, (exit) =>
1699
1699
  core.withFiberRuntime((runtimeFinalizer) => {
@@ -4984,6 +4984,7 @@ export const provideSomeLayer = dual<
4984
4984
  layer: Layer.Layer<ROut, E2, RIn>
4985
4985
  ): Stream.Stream<A, E2 | E, RIn | Exclude<R, ROut>> =>
4986
4986
  // @ts-expect-error
4987
+ // @effect-diagnostics-next-line missingEffectContext:off
4987
4988
  pipe(
4988
4989
  self,
4989
4990
  provideLayer(pipe(Layer.context(), Layer.merge(layer)))
@@ -1,4 +1,4 @@
1
- let moduleVersion = "3.16.2"
1
+ let moduleVersion = "3.16.4"
2
2
 
3
3
  export const getCurrentVersion = () => moduleVersion
4
4