mirror of
https://github.com/streetwriters/notesnook.git
synced 2025-12-22 06:29:29 +01:00
* feat: note version history * fix bugs * add tests for session history * update tests * add tests for restoring content * add more tests * update jsdoc * return empty array if no session history present for a note * init note history with await * add note history versions limit * cleanup note history after adding a new session * fix tests * add test for session cleanup * test: add collector tests * feat: dateEdited -> dateModified * feat: migrate to liqe for searching * chore: forceExit jest after test run * feat: note version history * fix bugs * add tests for session history * update tests * add tests for restoring content * add more tests * update jsdoc * return empty array if no session history present for a note * init note history with await * add note history versions limit * cleanup note history after adding a new session * fix tests * add test for session cleanup * init ContentHistory with await * fix reference to db in init * make sessionId in db * check if note is locked through note metadata * make cleanup method private * use remove methods in notehistory and contenthistory * restore note content via notes.add method if note is not locked * move getting all items to seperate functions * check if parsed json is valid * deserialize a session only if it's sessionContent exists * add locked property to sessionContent * remove makeSessionId function * update tests * remove yarn.lock file * update tests Co-authored-by: ammarahm-ed <ammarahmed6506@gmail.com>
28 lines
563 B
JavaScript
28 lines
563 B
JavaScript
import { decode, encode } from "base64-arraybuffer";
|
|
import fflate 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)
|
|
} catch (e) {
|
|
return null;
|
|
}
|
|
};
|
|
|
|
/**
|
|
*
|
|
* @param {string} compressed
|
|
* @returns {string} decompressed string
|
|
*/
|
|
export const decompress = (compressed) => {
|
|
return fflate.strFromU8(
|
|
fflate.decompressSync(new Uint8Array(decode(compressed)))
|
|
);
|
|
};
|