/* * https://github.com/morethanwords/tweb * Copyright (C) 2019-2021 Eduard Kuzmenko * https://github.com/morethanwords/tweb/blob/master/LICENSE */ import {logger} from '../logger'; import {AppManager} from './manager'; import createStorages from './utils/storages/createStorages'; import loadStorages from './utils/storages/loadStorages'; export class AppStoragesManager extends AppManager { private storages: ReturnType; // private loadPromise: CancellablePromise; private log: ReturnType; constructor() { super(); this.log = logger('STORAGES'); this.storages = createStorages(); // this.loadPromise = deferredPromise(); } public loadStorages() { return loadStorages(this.storages); // loadStorages(this.storages).then((storagesResults) => { // this.loadPromise.resolve(storagesResults); // }); // return this.loadPromise; } // public setStoragesResults(storagesResults: StoragesResults) { // this.loadPromise.resolve(storagesResults); // } public async loadStorage(name: T) { return this.loadStorages().then((storagesResults) => { return { storage: this.storages[name], results: storagesResults[name] }; }); } }