const s1 = Stream.make(1, 2, 3);
const program = Effect.gen(function* () {
const interrupt = yield* Deferred.make<void>();
return yield* s1.pipe(
Stream.tap(() => Deferred.succeed(interrupt, void 0)),
Stream.interruptWhenDeferred(interrupt),
Stream.runCollect,
);
});
Effect.runPromise(program).then(
(r) => console.log(r),
(e) => console.error(e),
);
const s1 = Stream.make(1, 2, 3);
const program = Effect.gen(function* () {
const interrupt = yield* Deferred.make<void>();
return yield* s1.pipe(
Stream.tap(() => Deferred.succeed(interrupt, void 0)),
Stream.interruptWhenDeferred(interrupt),
Stream.runCollect,
);
});
Effect.runPromise(program).then(
(r) => console.log(r),
(e) => console.error(e),
);