Buckets:
ktongue/docker_container / CAD_kevin /frontend /node_modules /workbox-range-requests /utils /calculateEffectiveBoundaries.js
| /* | |
| Copyright 2018 Google LLC | |
| Use of this source code is governed by an MIT-style | |
| license that can be found in the LICENSE file or at | |
| https://opensource.org/licenses/MIT. | |
| */ | |
| import { WorkboxError } from 'workbox-core/_private/WorkboxError.js'; | |
| import { assert } from 'workbox-core/_private/assert.js'; | |
| import '../_version.js'; | |
| /** | |
| * @param {Blob} blob A source blob. | |
| * @param {number} [start] The offset to use as the start of the | |
| * slice. | |
| * @param {number} [end] The offset to use as the end of the slice. | |
| * @return {Object} An object with `start` and `end` properties, reflecting | |
| * the effective boundaries to use given the size of the blob. | |
| * | |
| * @private | |
| */ | |
| function calculateEffectiveBoundaries(blob, start, end) { | |
| if (process.env.NODE_ENV !== 'production') { | |
| assert.isInstance(blob, Blob, { | |
| moduleName: 'workbox-range-requests', | |
| funcName: 'calculateEffectiveBoundaries', | |
| paramName: 'blob', | |
| }); | |
| } | |
| const blobSize = blob.size; | |
| if ((end && end > blobSize) || (start && start < 0)) { | |
| throw new WorkboxError('range-not-satisfiable', { | |
| size: blobSize, | |
| end, | |
| start, | |
| }); | |
| } | |
| let effectiveStart; | |
| let effectiveEnd; | |
| if (start !== undefined && end !== undefined) { | |
| effectiveStart = start; | |
| // Range values are inclusive, so add 1 to the value. | |
| effectiveEnd = end + 1; | |
| } | |
| else if (start !== undefined && end === undefined) { | |
| effectiveStart = start; | |
| effectiveEnd = blobSize; | |
| } | |
| else if (end !== undefined && start === undefined) { | |
| effectiveStart = blobSize - end; | |
| effectiveEnd = blobSize; | |
| } | |
| return { | |
| start: effectiveStart, | |
| end: effectiveEnd, | |
| }; | |
| } | |
| export { calculateEffectiveBoundaries }; | |
Xet Storage Details
- Size:
- 1.82 kB
- Xet hash:
- 15074d9ed8ba5ccd6d4e078dcd879db35bca9d119be6c26b96a1aa71d483e636
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.