UNPKG

@lakutata/core

Version:

Lakutata Framework Core

34 lines 1.31 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ProcessManager = void 0; const ProcessException_1 = require("../../exceptions/ProcessException"); const Process_1 = require("../../lib/multipleRunner/lib/Process"); class ProcessManager { constructor() { this.processMap = new Map(); } async createProcess(processConstructor) { if (this.processMap.has(processConstructor)) return false; const processProxy = await (0, Process_1.Process)(processConstructor); this.processMap.set(processConstructor, processProxy); return true; } has(processConstructor) { return this.processMap.has(processConstructor); } get(processConstructor) { if (this.processMap.has(processConstructor)) { return this.processMap.get(processConstructor); } throw new ProcessException_1.ProcessException(`Process [${processConstructor.name}] is not bound`); } async destroy(processConstructor) { if (this.processMap.has(processConstructor)) { await this.processMap.get(processConstructor)?.terminate(); this.processMap.delete(processConstructor); } } } exports.ProcessManager = ProcessManager; //# sourceMappingURL=ProcessManager.js.map