js-uploader
Version:
A JavaScript library for file upload
49 lines • 1.46 kB
JavaScript
import { from } from 'rxjs';
import { map, bufferCount } from 'rxjs/operators';
var FileStore = /** @class */ (function () {
function FileStore() {
}
FileStore.add = function (file) {
if (file) {
FileStore.store.set(file.id, file);
}
};
FileStore.addAll = function (files) {
if ((files === null || files === void 0 ? void 0 : files.length) > 0) {
files.forEach(function (f) { return FileStore.add(f); });
}
};
FileStore.remove = function (id) {
if (this.isEmpty()) {
return;
}
var k = id || FileStore.store.keys().next().value;
var file = FileStore.store.get(k);
FileStore.store.delete(k);
return file;
};
FileStore.get = function (fileID) {
if (!fileID) {
return;
}
return FileStore.store.get(fileID);
};
FileStore.list = function () {
return from(FileStore.store)
.pipe(map(function (item) { return item[1]; }), bufferCount(FileStore.store.size))
.toPromise();
};
FileStore.size = function () {
return FileStore.store.size;
};
FileStore.isEmpty = function () {
return !FileStore.store.size;
};
FileStore.clear = function () {
FileStore.store.clear();
};
FileStore.store = new Map();
return FileStore;
}());
export { FileStore };
//# sourceMappingURL=FileStore.js.map