(check: (event: WatcherEvent) => boolean)
| 70 | } |
| 71 | |
| 72 | function wait(check: (event: WatcherEvent) => boolean) { |
| 73 | return Effect.gen(function* () { |
| 74 | const events = yield* EventV2.Service |
| 75 | const deferred = yield* Deferred.make<WatcherEvent>() |
| 76 | const fiber = yield* events.subscribe(Watcher.Event.Updated).pipe( |
| 77 | Stream.runForEach((event) => { |
| 78 | if (!check(event.data)) return Effect.void |
| 79 | return Deferred.succeed(deferred, event.data).pipe(Effect.asVoid) |
| 80 | }), |
| 81 | Effect.forkScoped, |
| 82 | ) |
| 83 | yield* Effect.yieldNow |
| 84 | return { deferred, fiber } |
| 85 | }) |
| 86 | } |
| 87 | |
| 88 | function maybeNextUpdate<E>( |
| 89 | check: (event: WatcherEvent) => boolean, |
no test coverage detected