UNPKG

@rpldy/chunked-sender

Version:

adds chunked upload capabilities on top of the regular XHR uploads

19 lines 647 B
import ChunkedSendError from "./ChunkedSendError"; 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("chunk failure"); } } } return chunks; }; export default getChunksToSend;