mirror of
https://github.com/bitwarden/browser.git
synced 2024-09-24 03:32:51 +02:00
88a6541bd8
* Move vaultTimeoutAbstraction into it's own folder * Move vaultTimeout service into it's own folder * Added vaultTimeoutServiceFactory and it's missing dependencies
39 lines
1.3 KiB
TypeScript
39 lines
1.3 KiB
TypeScript
import { FolderService as AbstractFolderService } from "@bitwarden/common/abstractions/folder/folder.service.abstraction";
|
|
|
|
import { FolderService } from "../../services/folders/folder.service";
|
|
|
|
import { cipherServiceFactory, CipherServiceInitOptions } from "./cipher-service.factory";
|
|
import { cryptoServiceFactory, CryptoServiceInitOptions } from "./crypto-service.factory";
|
|
import { CachedServices, factory, FactoryOptions } from "./factory-options";
|
|
import { i18nServiceFactory, I18nServiceInitOptions } from "./i18n-service.factory";
|
|
import {
|
|
stateServiceFactory as stateServiceFactory,
|
|
StateServiceInitOptions,
|
|
} from "./state-service.factory";
|
|
|
|
type FolderServiceFactoryOptions = FactoryOptions;
|
|
|
|
export type FolderServiceInitOptions = FolderServiceFactoryOptions &
|
|
CryptoServiceInitOptions &
|
|
CipherServiceInitOptions &
|
|
I18nServiceInitOptions &
|
|
StateServiceInitOptions;
|
|
|
|
export function folderServiceFactory(
|
|
cache: { folderService?: AbstractFolderService } & CachedServices,
|
|
opts: FolderServiceInitOptions
|
|
): Promise<AbstractFolderService> {
|
|
return factory(
|
|
cache,
|
|
"folderService",
|
|
opts,
|
|
async () =>
|
|
new FolderService(
|
|
await cryptoServiceFactory(cache, opts),
|
|
await i18nServiceFactory(cache, opts),
|
|
await cipherServiceFactory(cache, opts),
|
|
await stateServiceFactory(cache, opts)
|
|
)
|
|
);
|
|
}
|