const infiniteEffect = pipe(
Effect.promise(() => new Promise(() => {})),
Effect.catchAllCause(() => {
// I expect to catch interrupt here
console.log('caught interrupt')
return Effect.void
}),
)
pipe(
Effect.gen(function* () {
const fiber = yield* Effect.fork(infiniteEffect)
yield* Fiber.interrupt(fiber)
yield* Fiber.await(fiber)
console.log('done')
}),
Effect.runPromise,
)
const infiniteEffect = pipe(
Effect.promise(() => new Promise(() => {})),
Effect.catchAllCause(() => {
// I expect to catch interrupt here
console.log('caught interrupt')
return Effect.void
}),
)
pipe(
Effect.gen(function* () {
const fiber = yield* Effect.fork(infiniteEffect)
yield* Fiber.interrupt(fiber)
yield* Fiber.await(fiber)
console.log('done')
}),
Effect.runPromise,
)