UNPKG

@fdm-monster/server

Version:

FDM Monster is a bulk OctoPrint, Klipper, PrusaLink and BambuLab manager to set up, configure and monitor 3D printers. Our aim is to provide neat overview over your farm.

23 lines (22 loc) 1.18 kB
import { DITokens } from "../container.tokens.js"; import "./printer-api.interface.js"; //#region src/services/socket.factory.ts var SocketFactory = class { constructor(cradleService) { this.cradleService = cradleService; } createInstance(printerType) { const serverSettings = this.cradleService.resolve(DITokens.settingsStore).getServerSettings(); const moonrakerSupport = serverSettings.experimentalMoonrakerSupport; const prusaLinkSupport = serverSettings.experimentalPrusaLinkSupport; const bambuSupport = serverSettings.experimentalBambuSupport; if (printerType === 0) return this.cradleService.resolve(DITokens.octoPrintSockIoAdapter); else if (moonrakerSupport && printerType === 1) return this.cradleService.resolve(DITokens.moonrakerWebsocketAdapter); else if (prusaLinkSupport && printerType === 2) return this.cradleService.resolve(DITokens.prusaLinkPollingAdapter); else if (bambuSupport && printerType === 3) return this.cradleService.resolve(DITokens.bambuMqttAdapter); else throw new Error("PrinterType is unknown, cant pick the right socket adapter"); } }; //#endregion export { SocketFactory }; //# sourceMappingURL=socket.factory.js.map