mindee
Version:
Mindee Client Library for Node.js
53 lines (52 loc) • 1.65 kB
JavaScript
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;
;