Files
clawbot/skills/remotion-prompt-video/node_modules/@remotion/renderer/dist/pool.js
T

33 lines
805 B
JavaScript

"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;