UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

50 lines (49 loc) 1.52 kB
/** * DevExtreme (cjs/__internal/ui/file_uploader/file_blob_reader.js) * Version: 25.2.3 * Build date: Fri Dec 12 2025 * * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.FileBlobReader = void 0; class FileBlobReader { constructor(file, chunkSize) { this.file = file; this.chunkSize = chunkSize; this.index = 0 } read() { if (!this.file) { return null } const result = this.createBlobResult(this.file, this.index, this.chunkSize); if (result.isCompleted) { this.file = null } this.index += 1; return result } createBlobResult(file, index, chunkSize) { const currentPosition = index * chunkSize; return { blob: this.sliceFile(file, currentPosition, chunkSize), index: index, isCompleted: currentPosition + chunkSize >= file.size } } sliceFile(file, startPos, length) { if (file.slice) { return file.slice(startPos, startPos + length) } if ("webkitSlice" in file && "function" === typeof file.webkitSlice) { return file.webkitSlice(startPos, startPos + length) } return null } } exports.FileBlobReader = FileBlobReader;