bitwarden-estensione-browser/apps/browser/src/auth/background/service-factories/token-service.factory.ts

29 lines
907 B
TypeScript

import { TokenService as AbstractTokenService } from "@bitwarden/common/auth/abstractions/token.service";
import { TokenService } from "@bitwarden/common/auth/services/token.service";
import {
FactoryOptions,
CachedServices,
factory,
} from "../../../platform/background/service-factories/factory-options";
import {
stateServiceFactory,
StateServiceInitOptions,
} from "../../../platform/background/service-factories/state-service.factory";
type TokenServiceFactoryOptions = FactoryOptions;
export type TokenServiceInitOptions = TokenServiceFactoryOptions & StateServiceInitOptions;
export function tokenServiceFactory(
cache: { tokenService?: AbstractTokenService } & CachedServices,
opts: TokenServiceInitOptions
): Promise<AbstractTokenService> {
return factory(
cache,
"tokenService",
opts,
async () => new TokenService(await stateServiceFactory(cache, opts))
);
}