UNPKG

mindee

Version:

Mindee Client Library for Node.js

53 lines (52 loc) 1.65 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ExtractedImage = void 0; const node_buffer_1 = require("node:buffer"); const errors_1 = require("../../errors"); const node_fs_1 = require("node:fs"); const node_path_1 = __importDefault(require("node:path")); const logger_1 = require("../../logger"); const input_1 = require("../../input"); /** * Generic class for image extraction */ class ExtractedImage { constructor(buffer, fileName) { this.buffer = node_buffer_1.Buffer.from(buffer); this.internalFileName = fileName; } /** * Saves the document to a file. * * @param outputPath Path to save the file to. */ saveToFile(outputPath) { try { (0, node_fs_1.writeFileSync)(node_path_1.default.resolve(outputPath), this.buffer); logger_1.logger.info(`File saved successfully to ${node_path_1.default.resolve(outputPath)}.`); } catch (e) { if (e instanceof TypeError) { throw new errors_1.MindeeError("Invalid path/filename provided."); } else { throw e; } } } /** * Return the file as a Mindee-compatible BufferInput source. * * @returns A BufferInput source. */ asSource() { return new input_1.BufferInput({ buffer: this.buffer, filename: this.internalFileName, }); } } exports.ExtractedImage = ExtractedImage;