UNPKG

js-uploader

Version:
52 lines 1.6 kB
"use strict"; 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