UNPKG

@rpldy/chunked-sender

Version:

adds chunked upload capabilities on top of the regular XHR uploads

26 lines (25 loc) 894 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 getChunksToSend = chunkedState => { const state = chunkedState.getState(); const chunks = [], inProgressIds = Object.keys(state.requests), parallel = state.parallel || 1; for (let i = 0; i < state.chunks.length && inProgressIds.length + chunks.length < parallel; i++) { const chunk = state.chunks[i]; if (!inProgressIds.includes(chunk.id)) { if (!chunk.attempt || chunk.attempt < state.retries) { chunks.push(chunk); } else { throw new _ChunkedSendError.default("chunk failure"); } } } return chunks; }; var _default = exports.default = getChunksToSend;