Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
window.onload = () => {
// Because the coverage files are a) huge, and b) compress excellently, we send it as
// gzipped base64. This is faster unless your internet connection is faster than
// about 300 Mb/s.
const content = inflate(atob(COVERAGE_FILE), {to: 'string'});
const coverage = parseCoverage(content);
document.getElementById('statement-coverage')!.innerText = `${(coverage.coveredStatements / coverage.totalStatements * 100).toFixed(0)}% (${coverage.coveredStatements.toLocaleString()} of ${coverage.totalStatements.toLocaleString()} statements)`;
document.getElementById('file-coverage')!.innerText = `${(coverage.coveredFiles / coverage.totalFiles * 100).toFixed(0)}% (${coverage.coveredFiles.toLocaleString()} of ${coverage.totalFiles.toLocaleString()} files)`;
renderChildren(document.getElementById('treemap')!, coverage, true);
};
export function gzipUncompress(bytes: Uint8Array): Uint8Array {
// console.log('Gzip uncompress start')
const result = inflate(bytes)
// console.log('Gzip uncompress finish')
return result
}
export function gzipUncompress(bytes) {
// console.log('Gzip uncompress start')
const result = inflate(bytes)
// console.log('Gzip uncompress finish')
return result
}
exports.inflate = function(obj) {
let filter = obj.properties.get("Filter")
if (!filter || filter.name !== "FlateDecode") {
throw new Error("Only FlateDecode filter are supported")
}
let columns = 1
let predictor = 1
const params = obj.properties.get("DecodeParms")
if (params) {
columns = params.get("Columns")
predictor = params.get("Predictor")
}
const inflate = require('pako/lib/inflate').inflate
let res = inflate(obj.content.content)
if (predictor === 1) {
return res
}
if (predictor >= 10 && predictor <= 15) {
// PNG filter
res = pngFilter(res, columns)
} else {
throw new Error('Unsupported predictor ' + predictor)
}
return res
}
txn.executeSql(query, params, function (tx, res) {
if (res.rows.length) {
const base64Data = res.rows.item(0).base64_tile_data;
const rawData = pako.inflate(base64js.toByteArray(base64Data));
callback(undefined, base64js.fromByteArray(rawData)); // Tile contents read, callback success.
} else {
callback(new Error('tile ' + params.join(',') + ' not found'));
}
});
}, function (error) {
export function decryptData(
encryptedData: EncryptedData,
senderPublicKeyHex: string,
recipientPrivateKeyHex: string): Uint8Array {
const sharedKey =
ECKCDSA.sharedkey(
Converter.convertHexStringToByteArray(recipientPrivateKeyHex),
Converter.convertHexStringToByteArray(senderPublicKeyHex)
);
const compressedPlaintext = decrypt(encryptedData.data, encryptedData.nonce, sharedKey);
return inflate(compressedPlaintext);
}
DeflateDecoder.prototype.decodeBlock = function(buffer) {
return pakoInflate(new Uint8Array(buffer)).buffer;
};