Actualización

This commit is contained in:
Xes
2025-04-10 12:24:57 +02:00
parent 8969cc929d
commit 45420b6f0d
39760 changed files with 4303286 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
var type = self.data.type,
bin = self.data.bin,
hashOpts = self.data.hashOpts;
self.res = {};
if (type === 'md5') {
let sp = new self.SparkMD5.ArrayBuffer();
sp.append(bin);
self.res.hash = sp.end();
} else {
let sha = new jsSHA('SHA' + (type.length === 5? type : ('-' + type)).toUpperCase(), 'ARRAYBUFFER'),
opts = {};
if (type === 'ke128') {
opts.shakeLen = hashOpts.shake128len;
} else if (type === 'ke256') {
opts.shakeLen = hashOpts.shake256len;
}
sha.update(bin);
self.res.hash = sha.getHash('HEX', opts);
}

View File

@@ -0,0 +1,10 @@
if (self.data.memory) {
Tiff.initialize({ TOTAL_MEMORY: self.data.memory });
}
var tiff = new Tiff({ buffer: self.data.data });
self.res = {
image: tiff.readRGBAImage(),
width: tiff.width(),
height: tiff.height()
};

View File

@@ -0,0 +1,65 @@
var type = self.data.type,
bin = new Uint8Array(self.data.bin),
unzipFiles = function() {
/** @type {Array.<string>} */
var filenameList = [];
/** @type {number} */
var i;
/** @type {number} */
var il;
/** @type {Array.<Zlib.Unzip.FileHeader>} */
var fileHeaderList;
// need check this.Y when update cdns.zlibUnzip
this.Y();
fileHeaderList = this.i;
for (i = 0, il = fileHeaderList.length; i < il; ++i) {
// need check fileHeaderList[i].J when update cdns.zlibUnzip
filenameList[i] = fileHeaderList[i].filename + (fileHeaderList[i].J? ' ({formatSize(' + fileHeaderList[i].J + ')})' : '');
}
return filenameList;
},
tarFiles = function(tar) {
var filenames = [],
tarlen = tar.length,
offset = 0,
toStr = function(arr) {
return String.fromCharCode.apply(null, arr).replace(/\0+$/, '');
},
h, name, prefix, size, dbs;
while (offset < tarlen && tar[offset] !== 0) {
h = tar.subarray(offset, offset + 512);
name = toStr(h.subarray(0, 100));
if (prefix = toStr(h.subarray(345, 500))) {
name = prefix + name;
}
size = parseInt(toStr(h.subarray(124, 136)), 8);
dbs = Math.ceil(size / 512) * 512;
if (name === '././@LongLink') {
name = toStr(tar.subarray(offset + 512, offset + 512 + dbs));
}
(name !== 'pax_global_header') && filenames.push(name + (size? ' ({formatSize(' + size + ')})': ''));
offset = offset + 512 + dbs;
}
return filenames;
};
self.res = {};
switch (type) {
case 'tar':
self.res.files = tarFiles(bin);
break;
case 'zip':
self.res.files = unzipFiles.call(new Zlib.Unzip(bin));
break;
case 'gzip':
self.res.files = tarFiles(new Zlib.Gunzip(bin).decompress());
break;
case 'bzip2':
self.res.files = tarFiles(self.bzip2.simple(self.bzip2.array(bin)));
break;
default:
break;
}