UNPKG

kysely

Version:

Type safe SQL query builder

27 lines (26 loc) 699 B
/// <reference types="./connection-mutex.d.ts" /> /** * This mutex is used to ensure that only one operation at a time can * acquire a connection from the driver. This is necessary when the * driver only has a single connection, like SQLite and PGlite. * * @internal */ export class ConnectionMutex { #promise; #resolve; async obtainLock() { while (this.#promise) { await this.#promise; } this.#promise = new Promise((resolve) => { this.#resolve = resolve; }); } releaseLock() { const resolve = this.#resolve; this.#promise = undefined; this.#resolve = undefined; resolve?.(); } }