const MetadataExtractor = class { /* * MetadataExtractor class * This class is used to extract metadata from a BLOB object. */ constructor(BLOB) { this.blob = BLOB; this.extract([`fieldname`, `encoding`, `originalname`, `mimetype`, `size`]); } /* * Extract data from the blob. */ extract(FIELDS) { // Verify the validity of the blob. if (!this.blob) { throw new Error("Invalid BLOB object"); }; // Extract the relevant fields. let RESPONSE = {}; FIELDS.forEach((FIELD) => { if (!(this.blob[FIELD] === undefined)) { this[FIELD] = this.blob[FIELD]; RESPONSE[FIELD] = this.blob[FIELD]; } }); // Return the response. return (RESPONSE); } } module.exports = MetadataExtractor;