MCPcopy Create free account
hub / github.com/TruthHun/BookStack / generateCompressedObjectFrom

Function generateCompressedObjectFrom

static/word2md/mammoth.browser.js:12995–13034  ·  view source on GitHub ↗
(file, compression, compressionOptions)

Source from the content-addressed store, hash-verified

12993 * @return {JSZip.CompressedObject} the compressed result.
12994 */
12995var generateCompressedObjectFrom = function(file, compression, compressionOptions) {
12996 var result = new CompressedObject(),
12997 content;
12998
12999 // the data has not been decompressed, we might reuse things !
13000 if (file._data instanceof CompressedObject) {
13001 result.uncompressedSize = file._data.uncompressedSize;
13002 result.crc32 = file._data.crc32;
13003
13004 if (result.uncompressedSize === 0 || file.dir) {
13005 compression = compressions['STORE'];
13006 result.compressedContent = "";
13007 result.crc32 = 0;
13008 }
13009 else if (file._data.compressionMethod === compression.magic) {
13010 result.compressedContent = file._data.getCompressedContent();
13011 }
13012 else {
13013 content = file._data.getContent();
13014 // need to decompress / recompress
13015 result.compressedContent = compression.compress(utils.transformTo(compression.compressInputType, content), compressionOptions);
13016 }
13017 }
13018 else {
13019 // have uncompressed data
13020 content = getBinaryData(file);
13021 if (!content || content.length === 0 || file.dir) {
13022 compression = compressions['STORE'];
13023 content = "";
13024 }
13025 result.uncompressedSize = content.length;
13026 result.crc32 = crc32(content);
13027 result.compressedContent = compression.compress(utils.transformTo(compression.compressInputType, content), compressionOptions);
13028 }
13029
13030 result.compressedSize = result.compressedContent.length;
13031 result.compressionMethod = compression.magic;
13032
13033 return result;
13034};
13035
13036
13037

Callers

nothing calls this directly

Calls 2

getBinaryDataFunction · 0.70
crc32Function · 0.70

Tested by

no test coverage detected