1234567891011121314151617181920212223242526272829303132333435363738 |
- // Objects with this prototype are used as the public representation of a file
- var path = require('path');
- var FileDetails = function (directoryEntry) {
- // TODO: Add 'extra field' support
- this._offset = 0;
- this._maxSize = 0;
- this.parent = path.dirname(directoryEntry.fileName);
- this.filename = path.basename(directoryEntry.fileName);
- this.path = path.normalize(directoryEntry.fileName);
- this.type = directoryEntry.fileAttributes.type;
- this.mode = directoryEntry.fileAttributes.mode;
- this.compressionMethod = directoryEntry.compressionMethod;
- this.modified = directoryEntry.modifiedTime;
- this.crc32 = directoryEntry.crc32;
- this.compressedSize = directoryEntry.compressedSize;
- this.uncompressedSize = directoryEntry.uncompressedSize;
- this.comment = directoryEntry.fileComment;
- this.flags = {
- encrypted: directoryEntry.generalPurposeFlags.encrypted,
- compressionFlag1: directoryEntry.generalPurposeFlags.compressionFlag1,
- compressionFlag2: directoryEntry.generalPurposeFlags.compressionFlag2,
- useDataDescriptor: directoryEntry.generalPurposeFlags.useDataDescriptor,
- enhancedDeflating: directoryEntry.generalPurposeFlags.enhancedDeflating,
- compressedPatched: directoryEntry.generalPurposeFlags.compressedPatched,
- strongEncryption: directoryEntry.generalPurposeFlags.strongEncryption,
- utf8: directoryEntry.generalPurposeFlags.utf8,
- encryptedCD: directoryEntry.generalPurposeFlags.encryptedCD
- };
- };
- module.exports = FileDetails;
|