UNPKG

node-hk-zip

Version:
47 lines 2.77 kB
"use strict"; /** * @fileOverview Definition of DataDescriptor class */ Object.defineProperty(exports, "__esModule", { value: true }); const InvalidDataDescriptorHeaderError_1 = require("../errors/InvalidDataDescriptorHeaderError"); const ZipByteMap_1 = require("../ZipByteMap"); const HeaderMap_1 = require("./HeaderMap"); /** * Class representing a DataDescriptor * @extends HeaderMap<IDataDescriptorByteMap> */ class DataDescriptor extends HeaderMap_1.HeaderMap { /** * Creates a DataDescriptor object * @param {Buffer} input - ZipFile data in binary * @param {number} offset - Offset of the header * @return {DataDescriptor} - DataDescriptor header object */ constructor(input, offset) { super(ZipByteMap_1.DATA_DESCRIPTOR_MAP, input, offset); this.parsed = this.loadBinaryHeader(); } /** * Getter method for CRC-32 * @return {number} num - CRC value */ getCRC32() { return this.parsed.CRC; } /** * Parses data descriptor header using ByteMap * @return {IParsedDataDescriptor} - IParsedDataDescriptor object */ loadBinaryHeader() { if (!this.isValidHeaderData()) { throw new InvalidDataDescriptorHeaderError_1.InvalidDataDescriptorHeaderError(); } return { CRC: this.data.readUInt32LE(this.map.CRC), COMPRESSED_SIZE: this.data.readUInt32LE(this.map.COMPRESSED_SIZE), UNCOMPRESSED_SIZE: this.data.readUInt32LE(this.map.UNCOMPRESSED_SIZE) }; } } exports.DataDescriptor = DataDescriptor; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRGF0YURlc2NyaXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2hlYWRlcnMvRGF0YURlc2NyaXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOztBQUVILGlHQUE4RjtBQUs5Riw4Q0FBb0Q7QUFDcEQsMkNBQXdDO0FBRXhDOzs7R0FHRztBQUNILE1BQWEsY0FBZSxTQUFRLHFCQUFpQztJQUduRTs7Ozs7T0FLRztJQUNILFlBQVksS0FBYSxFQUFFLE1BQWM7UUFDdkMsS0FBSyxDQUFDLGdDQUFtQixFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7O09BR0c7SUFDSSxRQUFRO1FBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQztJQUN6QixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssZ0JBQWdCO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsRUFBRTtZQUM3QixNQUFNLElBQUksbUVBQWdDLEVBQUUsQ0FBQztTQUM5QztRQUNELE9BQU87WUFDTCxHQUFHLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFDekMsZUFBZSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDO1lBQ2pFLGlCQUFpQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUM7U0FDdEUsQ0FBQztJQUNKLENBQUM7Q0FDRjtBQXBDRCx3Q0FvQ0MifQ==