This repository has been archived on 2026-07-15. You can view files and clone it, but you cannot make any changes to it's state, such as pushing and creating new issues, pull requests or comments.
drive/frontend/node_modules/tus-js-client/lib/browser/sources/FileSource.js
Elijah 724d70e58b
Some checks failed
Automated Container Build / build-and-push (push) Failing after 12s
Inital build
2026-05-22 12:29:43 -07:00

27 lines
761 B
JavaScript

import isCordova from './isCordova.js'
import readAsByteArray from './readAsByteArray.js'
export default class FileSource {
// Make this.size a method
constructor(file) {
this._file = file
this.size = file.size
}
slice(start, end) {
// In Apache Cordova applications, a File must be resolved using
// FileReader instances, see
// https://cordova.apache.org/docs/en/8.x/reference/cordova-plugin-file/index.html#read-a-file
if (isCordova()) {
return readAsByteArray(this._file.slice(start, end))
}
const value = this._file.slice(start, end)
const done = end >= this.size
return Promise.resolve({ value, done })
}
close() {
// Nothing to do here since we don't need to release any resources.
}
}