js-uploader
Version:
A JavaScript library for file upload
52 lines • 1.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.FileStore = void 0;
var rxjs_1 = require("rxjs");
var operators_1 = require("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 rxjs_1.from(FileStore.store)
.pipe(operators_1.map(function (item) { return item[1]; }), operators_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;
}());
exports.FileStore = FileStore;
//# sourceMappingURL=FileStore.js.map