@5minds/processcube_engine
Version:
The ProcessCube Engine. Stores and executes BPMNs.
39 lines • 1.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.compressToken = compressToken;
exports.decompressToken = decompressToken;
const zlib_1 = require("zlib");
const processcube_engine_sdk_1 = require("@5minds/processcube_engine_sdk");
async function compressToken(token) {
const asSerializedJson = (0, processcube_engine_sdk_1.serializeJson)(token);
return compress(asSerializedJson);
}
async function decompressToken(data, reviverFunc) {
const decompressed = await decompress(data);
return (0, processcube_engine_sdk_1.deserializeJson)(decompressed, reviverFunc);
}
async function compress(data) {
return new Promise((resolve, reject) => {
(0, zlib_1.gzip)(Buffer.from(data, 'ucs2'), (error, result) => {
if (error) {
reject(error);
}
else {
resolve(result);
}
});
});
}
async function decompress(data) {
return new Promise((resolve, reject) => {
(0, zlib_1.gunzip)(data, (error, result) => {
if (error) {
reject(error);
}
else {
resolve(result.toString('ucs2'));
}
});
});
}
//# sourceMappingURL=Compression.js.map