UNPKG

js-uploader

Version:
49 lines 1.46 kB
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