Add .gitignore to exclude all node packages and lock files
This commit is contained in:
+32
@@ -0,0 +1,32 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Pool = void 0;
|
||||
class Pool {
|
||||
resources;
|
||||
waiters;
|
||||
constructor(resources) {
|
||||
this.resources = resources;
|
||||
this.waiters = [];
|
||||
}
|
||||
acquire() {
|
||||
const resource = this.resources.shift();
|
||||
if (resource !== undefined) {
|
||||
return Promise.resolve(resource);
|
||||
}
|
||||
return new Promise((resolve) => {
|
||||
this.waiters.push((freeResource) => {
|
||||
resolve(freeResource);
|
||||
});
|
||||
});
|
||||
}
|
||||
release(resource) {
|
||||
const waiter = this.waiters.shift();
|
||||
if (waiter === undefined) {
|
||||
this.resources.push(resource);
|
||||
}
|
||||
else {
|
||||
waiter(resource);
|
||||
}
|
||||
}
|
||||
}
|
||||
exports.Pool = Pool;
|
||||
Reference in New Issue
Block a user