UNPKG

@rpldy/chunked-sender

Version:

adds chunked upload capabilities on top of the regular XHR uploads

31 lines (30 loc) 997 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _ChunkedSendError = _interopRequireDefault(require("./ChunkedSendError")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const getChunks = (item, options, startByte = 0) => { const { chunkSize } = options; const size = startByte ? item.file.size - startByte : item.file.size; if (size <= 0) { throw new _ChunkedSendError.default(`start byte ${startByte} is invalid. File size: ${item.file.size}`); } const count = size <= chunkSize ? 1 : Math.ceil(size / chunkSize); return new Array(count).fill(null).map((n, index) => { const start = chunkSize * index + (startByte || 0); return { id: `${item.id}_chunk-${index}`, start, end: Math.min(start + chunkSize, item.file.size), data: null, attempt: 0, uploaded: 0, index }; }); }; var _default = exports.default = getChunks;