
Floating avatars Dialogs placeholder Bubble grouping fixes Layer 143 Improve profile change performance Webpack 5 Message reading fixes
49 lines
1.3 KiB
TypeScript
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]
|
|
};
|
|
});
|
|
}
|
|
}
|