(fn)
| 165 | |
| 166 | let runLock = Promise.resolve() |
| 167 | async function withLock(fn) { |
| 168 | const prev = runLock |
| 169 | let release |
| 170 | runLock = new Promise(r => (release = r)) |
| 171 | await prev |
| 172 | try { return await fn() } |
| 173 | finally { release() } |
| 174 | } |
| 175 | |
| 176 | async function withSilencedIO(fn) { |
| 177 | const origOut = process.stdout.write.bind(process.stdout) |
no test coverage detected