installed pty
[VSoRC/.git] / node_modules / node-pty / src / testUtils.test.ts
1 /**
2  * Copyright (c) 2019, Microsoft Corporation (MIT License).
3  */
4
5 export function pollUntil(cb: () => boolean, timeout: number, interval: number): Promise<void> {
6   return new Promise<void>((resolve, reject) => {
7     const intervalId = setInterval(() => {
8       if (cb()) {
9         clearInterval(intervalId);
10         clearTimeout(timeoutId);
11         resolve();
12       }
13     }, interval);
14     const timeoutId = setTimeout(() => {
15       clearInterval(intervalId);
16       if (cb()) {
17         resolve();
18       } else {
19         reject();
20       }
21     }, timeout);
22   });
23 }