Resolves when every bundle posted before this call has been applied.
()
| 163 | |
| 164 | /** Resolves when every bundle posted before this call has been applied. */ |
| 165 | drain(): Promise<void> { |
| 166 | if (this.firstError) return Promise.reject(this.firstError); |
| 167 | if (this.exited) return Promise.reject(new Error('store worker already exited')); |
| 168 | const id = this.nextDrainId++; |
| 169 | const p = new Promise<void>((resolve, reject) => { |
| 170 | this.drainWaiters.set(id, { resolve, reject }); |
| 171 | }); |
| 172 | this.worker.postMessage({ type: 'drain', id }); |
| 173 | return p; |
| 174 | } |
| 175 | |
| 176 | /** Close the worker's DB connection and join the thread. */ |
| 177 | async close(): Promise<void> { |
no test coverage detected