testplane
Version:
Tests framework based on mocha and wdio
79 lines • 2.99 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getCompressed = exports.getDecompressed = void 0;
const node_zlib_1 = __importDefault(require("node:zlib"));
const types_1 = require("./types");
const getDecompressed = async (compressedPayload, compressionType) => {
if (compressionType === types_1.WsDriverCompression.None) {
return compressedPayload;
}
if (compressionType === types_1.WsDriverCompression.GZIP) {
return new Promise((resolve, reject) => {
node_zlib_1.default.gunzip(compressedPayload, (err, result) => {
if (err) {
reject(err);
}
else {
resolve(result);
}
});
});
}
if (compressionType === types_1.WsDriverCompression.ZSTD) {
if (!("zstd" in process.versions) || !("zstdDecompress" in node_zlib_1.default)) {
throw new Error("Can't decompress zstd compressed message");
}
const typedZstdDecompress = node_zlib_1.default.zstdDecompress;
return new Promise((resolve, reject) => {
typedZstdDecompress(compressedPayload, (err, result) => {
if (err) {
reject(err);
}
else {
resolve(result);
}
});
});
}
throw new Error(`Unknown compression type: "${compressionType}"`);
};
exports.getDecompressed = getDecompressed;
const getCompressed = async (decompressedPayload, compressionType) => {
if (compressionType === types_1.WsDriverCompression.None) {
return decompressedPayload;
}
if (compressionType === types_1.WsDriverCompression.GZIP) {
return new Promise((resolve, reject) => {
node_zlib_1.default.gzip(decompressedPayload, { level: 4 }, (err, result) => {
if (err) {
reject(err);
}
else {
resolve(result);
}
});
});
}
if (compressionType === types_1.WsDriverCompression.ZSTD) {
if (!("zstd" in process.versions) || !("zstdCompress" in node_zlib_1.default)) {
throw new Error("Can't compress payload with zstd");
}
const typedZstdCompress = node_zlib_1.default.zstdCompress;
return new Promise((resolve, reject) => {
typedZstdCompress(decompressedPayload, (err, result) => {
if (err) {
reject(err);
}
else {
resolve(result);
}
});
});
}
throw new Error(`Unknown compression type: "${compressionType}"`);
};
exports.getCompressed = getCompressed;
//# sourceMappingURL=compression.js.map