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.

32 lines (31 loc) 1.13 kB
import { BgCodeThumbnailFormatExtension, BgCodeThumbnailFormats } from "./bgcode.types.js"; import { decodeQOI } from "./qoi-decoder.js"; import { encodePNG } from "./png-encoder.js"; //#region src/utils/bgcode/bgcode-thumbnail.parser.ts function convertQoiToPng(qoiBuffer) { const decoded = decodeQOI(qoiBuffer); return encodePNG(decoded.width, decoded.height, decoded.data); } function processThumbnail(data, parameters) { switch (parameters.format) { case BgCodeThumbnailFormats.PNG: return { extension: BgCodeThumbnailFormatExtension[BgCodeThumbnailFormats.PNG], data }; case BgCodeThumbnailFormats.JPG: return { extension: BgCodeThumbnailFormatExtension[BgCodeThumbnailFormats.JPG], data }; case BgCodeThumbnailFormats.QOI: const pngData = convertQoiToPng(data); return { extension: BgCodeThumbnailFormatExtension[BgCodeThumbnailFormats.PNG], data: pngData, converted: true }; default: throw new Error(`Unsupported thumbnail format: ${parameters.format}`); } } //#endregion export { convertQoiToPng, processThumbnail }; //# sourceMappingURL=bgcode-thumbnail.parser.js.map