diff --git a/packages/core/package-lock.json b/packages/core/package-lock.json index 16fb6c220..04a7cf530 100644 --- a/packages/core/package-lock.json +++ b/packages/core/package-lock.json @@ -10,8 +10,10 @@ "dependencies": { "@stablelib/blake2s": "^1.0.1", "async-mutex": "^0.3.2", + "base64-arraybuffer": "^1.0.1", "dayjs": "^1.10.6", "fast-sort": "^2.0.1", + "fflate": "^0.7.1", "liqe": "^1.13.0", "node-html-parser": "github:thecodrr/node-html-parser", "qclone": "^1.0.4", @@ -3068,6 +3070,14 @@ "node": ">=0.10.0" } }, + "node_modules/base64-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.1.tgz", + "integrity": "sha512-vFIUq7FdLtjZMhATwDul5RZWv2jpXQ09Pd6jcVEOvIsqCWTRFD/ONHNfyOS8dA/Ippi5dsIgpyKWKZaAKZltbA==", + "engines": { + "node": ">= 0.6.0" + } + }, "node_modules/bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", @@ -4103,6 +4113,11 @@ "bser": "2.1.1" } }, + "node_modules/fflate": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.7.2.tgz", + "integrity": "sha512-h/YiXnc37yYaGe61h3A4ZdsBzBqKG5hhrmopFizTru8xrfOiJuYX5oLnatBwNEpf9biOJrZVscuEQsUzIUAhpQ==" + }, "node_modules/fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", @@ -10957,6 +10972,11 @@ } } }, + "base64-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-1.0.1.tgz", + "integrity": "sha512-vFIUq7FdLtjZMhATwDul5RZWv2jpXQ09Pd6jcVEOvIsqCWTRFD/ONHNfyOS8dA/Ippi5dsIgpyKWKZaAKZltbA==" + }, "bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", @@ -11801,6 +11821,11 @@ "bser": "2.1.1" } }, + "fflate": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.7.2.tgz", + "integrity": "sha512-h/YiXnc37yYaGe61h3A4ZdsBzBqKG5hhrmopFizTru8xrfOiJuYX5oLnatBwNEpf9biOJrZVscuEQsUzIUAhpQ==" + }, "fill-range": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", diff --git a/packages/core/utils/compression.js b/packages/core/utils/compression.js index 8d7c6ec92..55611a730 100644 --- a/packages/core/utils/compression.js +++ b/packages/core/utils/compression.js @@ -1,27 +1,24 @@ import { decode, encode } from "base64-arraybuffer"; -import fflate from "fflate"; - +import { compressSync, strToU8, strFromU8 } from "fflate"; /** - * + * * @param {string} data * @returns {string | null} An object containing compressed data */ export const compress = (data) => { try { - return encode(fflate.compressSync(fflate.strToU8(data)).buffer) + return encode(compressSync(strToU8(data)).buffer); } catch (e) { return null; } }; /** - * - * @param {string} compressed + * + * @param {string} compressed * @returns {string} decompressed string */ export const decompress = (compressed) => { - return fflate.strFromU8( - fflate.decompressSync(new Uint8Array(decode(compressed))) - ); + return strFromU8(decompressSync(new Uint8Array(decode(compressed)))); };