diff options
| author | Oskar Nyberg <oskar@mullvad.net> | 2020-02-19 15:59:50 +0100 |
|---|---|---|
| committer | Oskar Nyberg <oskar@mullvad.net> | 2020-02-19 15:59:50 +0100 |
| commit | e2eb2c6a40de00fd19d3d9a337b268580535d4c3 (patch) | |
| tree | f6c09b7e2fb0349f3e91449e849eb305504b6c09 /gui/src/main | |
| parent | 937cd41dc54d9426e8970f6d83ead110817c27e7 (diff) | |
| parent | a423058d74447fb9f24d12631d644b7cd597a517 (diff) | |
| download | mullvadvpn-e2eb2c6a40de00fd19d3d9a337b268580535d4c3.tar.xz mullvadvpn-e2eb2c6a40de00fd19d3d9a337b268580535d4c3.zip | |
Merge branch 'fix-lint-no-explicit-any'
Diffstat (limited to 'gui/src/main')
| -rw-r--r-- | gui/src/main/account-data-cache.ts | 2 | ||||
| -rw-r--r-- | gui/src/main/daemon-rpc.ts | 25 | ||||
| -rw-r--r-- | gui/src/main/jsonrpc-client.ts | 2 | ||||
| -rw-r--r-- | gui/src/main/window-controller.ts | 2 |
4 files changed, 18 insertions, 13 deletions
diff --git a/gui/src/main/account-data-cache.ts b/gui/src/main/account-data-cache.ts index 7ef103fe92..0c68f38729 100644 --- a/gui/src/main/account-data-cache.ts +++ b/gui/src/main/account-data-cache.ts @@ -84,7 +84,7 @@ export default class AccountDataCache { } } - private handleFetchError(accountToken: AccountToken, error: any) { + private handleFetchError(accountToken: AccountToken, error: Error) { let shouldRetry = true; this.notifyWatchers((watcher) => { diff --git a/gui/src/main/daemon-rpc.ts b/gui/src/main/daemon-rpc.ts index 7491b20901..31ac80f7e7 100644 --- a/gui/src/main/daemon-rpc.ts +++ b/gui/src/main/daemon-rpc.ts @@ -446,7 +446,7 @@ export class DaemonRpc { public async getRelayLocations(): Promise<IRelayList> { const response = await this.transport.send('get_relay_locations'); try { - return camelCaseObjectKeys(validate(relayListSchema, response)) as IRelayList; + return camelCaseObjectKeys(validate(relayListSchema, response)); } catch (error) { throw new ResponseParseError(`Invalid response from get_relay_locations: ${error}`, error); } @@ -505,7 +505,7 @@ export class DaemonRpc { try { const validatedObject = validate(locationSchema, response); if (validatedObject) { - return camelCaseObjectKeys(validatedObject) as ILocation; + return camelCaseObjectKeys(validatedObject); } else { return undefined; } @@ -517,7 +517,7 @@ export class DaemonRpc { public async getState(): Promise<TunnelState> { const response = await this.transport.send('get_state'); try { - return camelCaseObjectKeys(validate(tunnelStateSchema, response)) as TunnelState; + return camelCaseObjectKeys(validate(tunnelStateSchema, response)); } catch (error) { throw new ResponseParseError('Invalid response from get_state', error); } @@ -526,7 +526,7 @@ export class DaemonRpc { public async getSettings(): Promise<ISettings> { const response = await this.transport.send('get_settings'); try { - return camelCaseObjectKeys(validate(settingsSchema, response)) as ISettings; + return camelCaseObjectKeys(validate(settingsSchema, response)); } catch (error) { throw new ResponseParseError('Invalid response from get_settings', error); } @@ -539,7 +539,7 @@ export class DaemonRpc { let daemonEvent: DaemonEvent; try { - daemonEvent = camelCaseObjectKeys(validate(daemonEventSchema, payload)) as DaemonEvent; + daemonEvent = camelCaseObjectKeys(validate(daemonEventSchema, payload)); } catch (error) { listener.onError(new ResponseParseError('Invalid payload from daemon_event', error)); return; @@ -584,13 +584,13 @@ export class DaemonRpc { public async generateWireguardKey(): Promise<KeygenEvent> { const response = await this.transport.send('generate_wireguard_key'); try { - const validatedResponse: any = validate(keygenEventSchema, response); + const validatedResponse = validate(keygenEventSchema, response); switch (validatedResponse) { case 'too_many_keys': case 'generation_failure': return validatedResponse; default: - return camelCaseObjectKeys(validatedResponse as object) as KeygenEvent; + return camelCaseObjectKeys(validatedResponse as object); } } catch (error) { throw new ResponseParseError(`Invalid response from generate_wireguard_key ${error}`); @@ -618,7 +618,7 @@ export class DaemonRpc { public async getVersionInfo(): Promise<IAppVersionInfo> { const response = await this.transport.send('get_version_info', [], NETWORK_CALL_TIMEOUT); try { - return camelCaseObjectKeys(validate(appVersionInfoSchema, response)) as IAppVersionInfo; + return camelCaseObjectKeys(validate(appVersionInfoSchema, response)); } catch (error) { throw new ResponseParseError('Invalid response from get_version_info'); } @@ -635,16 +635,17 @@ function camelCaseToUnderscore(str: string): string { .toLowerCase(); } -function camelCaseObjectKeys(anObject: { [key: string]: any }) { - return transformObjectKeys(anObject, underscoreToCamelCase); +// eslint-disable-next-line @typescript-eslint/no-explicit-any +function camelCaseObjectKeys<T>(anObject: { [key: string]: any }): T { + return transformObjectKeys(anObject, underscoreToCamelCase) as T; } -function underscoreObjectKeys(anObject: { [key: string]: any }) { +function underscoreObjectKeys<T>(anObject: T): Record<string, unknown> { return transformObjectKeys(anObject, camelCaseToUnderscore); } function transformObjectKeys( - anObject: { [key: string]: any }, + anObject: { [key: string]: any }, // eslint-disable-line @typescript-eslint/no-explicit-any keyTransformer: (key: string) => string, ) { for (const sourceKey of Object.keys(anObject)) { diff --git a/gui/src/main/jsonrpc-client.ts b/gui/src/main/jsonrpc-client.ts index 3b33f8f566..e7e8721804 100644 --- a/gui/src/main/jsonrpc-client.ts +++ b/gui/src/main/jsonrpc-client.ts @@ -6,6 +6,8 @@ import * as net from 'net'; import StreamValues from 'stream-json/streamers/StreamValues'; import * as uuid from 'uuid'; +/* eslint-disable @typescript-eslint/no-explicit-any */ + export interface IUnansweredRequest { resolve: (value: any) => void; reject: (value: any) => void; diff --git a/gui/src/main/window-controller.ts b/gui/src/main/window-controller.ts index bed0774b5e..9fb00becf5 100644 --- a/gui/src/main/window-controller.ts +++ b/gui/src/main/window-controller.ts @@ -181,6 +181,8 @@ export default class WindowController { return this.windowValue.isVisible(); } + // Electron uses the `any` type. + // eslint-disable-next-line @typescript-eslint/no-explicit-any public send(event: string, ...data: any[]): void { this.windowValue.webContents.send(event, ...data); } |
