mirror of
https://github.com/bitwarden/jslib
synced 2025-12-23 11:43:51 +00:00
Use InjectionToken for Window
This commit is contained in:
@@ -15,7 +15,7 @@ import { ExportService as ExportServiceAbstraction } from "jslib-common/abstract
|
||||
import { FileUploadService as FileUploadServiceAbstraction } from "jslib-common/abstractions/fileUpload.service";
|
||||
import { FolderService as FolderServiceAbstraction } from "jslib-common/abstractions/folder.service";
|
||||
import { I18nService as I18nServiceAbstraction } from "jslib-common/abstractions/i18n.service";
|
||||
import { STATE_FACTORY, STATE_SERVICE_USE_CACHE } from 'jslib-common/abstractions/injectionTokens';
|
||||
import { STATE_FACTORY, STATE_SERVICE_USE_CACHE, WINDOW_TOKEN } from 'jslib-common/abstractions/injectionTokens';
|
||||
import { KeyConnectorService as KeyConnectorServiceAbstraction } from "jslib-common/abstractions/keyConnector.service";
|
||||
import { LogService } from "jslib-common/abstractions/log.service";
|
||||
import { MessagingService as MessagingServiceAbstraction } from "jslib-common/abstractions/messaging.service";
|
||||
@@ -84,7 +84,7 @@ import { ValidationService } from "./validation.service";
|
||||
@NgModule({
|
||||
declarations: [],
|
||||
providers: [
|
||||
{ provide: "WINDOW", useValue: window },
|
||||
{ provide: WINDOW_TOKEN, useValue: window },
|
||||
{
|
||||
provide: LOCALE_ID,
|
||||
useFactory: (i18nService: I18nServiceAbstraction) => i18nService.translationLocale,
|
||||
@@ -354,7 +354,6 @@ import { ValidationService } from "./validation.service";
|
||||
{
|
||||
provide: CryptoFunctionServiceAbstraction,
|
||||
useClass: WebCryptoFunctionService,
|
||||
deps: ["WINDOW"],
|
||||
},
|
||||
{
|
||||
provide: EventServiceAbstraction,
|
||||
|
||||
@@ -5,3 +5,4 @@ import { StorageService } from './storage.service';
|
||||
export const STATE_SERVICE_USE_CACHE = new InjectionToken<boolean>('STATE_SERVICE_USE_CACHE');
|
||||
export const STATE_FACTORY = new InjectionToken<StateFactory>('STATE_FACTORY');
|
||||
export const SECURE_STORAGE = new InjectionToken<StorageService>('SECURE_STORAGE');
|
||||
export const WINDOW_TOKEN = new InjectionToken<Window>('WINDOW');
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { Inject, Injectable } from '@angular/core';
|
||||
|
||||
import * as forge from "node-forge";
|
||||
|
||||
import { CryptoFunctionService } from "../abstractions/cryptoFunction.service";
|
||||
import { WINDOW_TOKEN } from '../abstractions/injectionTokens';
|
||||
import { Utils } from "../misc/utils";
|
||||
import { DecryptParameters } from "../models/domain/decryptParameters";
|
||||
import { SymmetricCryptoKey } from "../models/domain/symmetricCryptoKey";
|
||||
@@ -12,7 +13,7 @@ export class WebCryptoFunctionService implements CryptoFunctionService {
|
||||
private crypto: Crypto;
|
||||
private subtle: SubtleCrypto;
|
||||
|
||||
constructor(win: Window) {
|
||||
constructor(@Inject(WINDOW_TOKEN) win: Window) {
|
||||
this.crypto = typeof win.crypto !== "undefined" ? win.crypto : null;
|
||||
this.subtle =
|
||||
!!this.crypto && typeof win.crypto.subtle !== "undefined" ? win.crypto.subtle : null;
|
||||
|
||||
Reference in New Issue
Block a user