UNPKG

@samepage/internal

Version:

Utilities used across modules - not meant for use by users directly

24 lines 885 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const uuid_1 = require("uuid"); const MESSAGE_LIMIT = 15750; // 16KB minus 250b buffer for metadata const sendChunkedMessage = ({ data, sender, }) => { const fullMessage = JSON.stringify(data); const uuid = (0, uuid_1.v4)(); const size = typeof Blob !== "undefined" ? new Blob([fullMessage]).size : Buffer.from(fullMessage).length; const total = Math.ceil(size / MESSAGE_LIMIT); const chunkSize = Math.ceil(fullMessage.length / total); for (let chunk = 0; chunk < total; chunk++) { const message = fullMessage.slice(chunkSize * chunk, chunkSize * (chunk + 1)); sender({ message, uuid, chunk, total, }); } }; exports.default = sendChunkedMessage; //# sourceMappingURL=sendChunkedMessage.js.map