(check: (event: WatcherEvent) => boolean, trigger: Effect.Effect<void, E>, timeout = 500)
| 120 | } |
| 121 | |
| 122 | function noUpdate<E>(check: (event: WatcherEvent) => boolean, trigger: Effect.Effect<void, E>, timeout = 500) { |
| 123 | return Effect.acquireUseRelease( |
| 124 | wait(check), |
| 125 | ({ deferred }) => |
| 126 | trigger.pipe( |
| 127 | Effect.andThen(Deferred.await(deferred)), |
| 128 | Effect.timeoutOption(`${timeout} millis`), |
| 129 | Effect.tap((result) => Effect.sync(() => expect(result).toEqual(Option.none()))), |
| 130 | ), |
| 131 | ({ fiber }) => Fiber.interrupt(fiber), |
| 132 | ) |
| 133 | } |
| 134 | |
| 135 | function ready(directory: string) { |
| 136 | const file = path.join(directory, `.watcher-${Math.random().toString(36).slice(2)}`) |
no test coverage detected