tweb-i2p/src/lib/appManagers/appStoragesManager.ts
Eduard Kuzmenko bc773884f3 Multitabs
Floating avatars
Dialogs placeholder
Bubble grouping fixes
Layer 143
Improve profile change performance
Webpack 5
Message reading fixes
2022-06-17 20:01:43 +04:00

49 lines
1.3 KiB
TypeScript

/*
* 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<typeof createStorages>;
// private loadPromise: CancellablePromise<StoragesResults>;
private log: ReturnType<typeof logger>;
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<T extends keyof AppStoragesManager['storages']>(name: T) {
return this.loadStorages().then((storagesResults) => {
return {
storage: this.storages[name],
results: storagesResults[name]
};
});
}
}