Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | 6x 25x 25x 2x 25x 6x 9x 9x 9x 9x 6x 4x 4x 1x 3x 3x 3x | /** * Serializes a message object to a string. * @param {any} data - The message object to serialize. * @returns {string} The serialized message as a string. */ const serializeMessage = data => { let result = JSON.stringify(data); if (data === null || data === undefined) { result = ''; } return Buffer.from(encodeURIComponent(result)).toString('base64'); }; /** * Deserializes a string to a message object. * @param {string} str - The string to deserialize. * @returns {any} The deserialized message object. */ const deserializeMessage = str => { let result = decodeURIComponent(Buffer.from(str, 'base64').toString()); try { result = JSON.parse(result); } catch (e) {} return result; }; /** * Checks if the given timestamp is within the specified time buffer from the current time. * @param {string} time - The timestamp to check, either as a number or a string. * @param {number} [timeBuffer=300] - The time buffer in seconds. Default is 300 seconds. * @returns {boolean} True if the timestamp is within the time buffer, false otherwise. */ const checkTimestamp = (time, timeBuffer = 4 * 60) => { const checkTime = parseInt(time, 10); if (!checkTime) { return false; } const now = Math.ceil(new Date().getTime() / 1000); const diff = now - checkTime; return diff >= 0 && diff <= timeBuffer; }; export { serializeMessage, deserializeMessage, checkTimestamp }; |