summaryrefslogtreecommitdiffhomepage
path: root/gui/src/main
diff options
context:
space:
mode:
authorOskar Nyberg <oskar@mullvad.net>2020-02-19 15:59:50 +0100
committerOskar Nyberg <oskar@mullvad.net>2020-02-19 15:59:50 +0100
commite2eb2c6a40de00fd19d3d9a337b268580535d4c3 (patch)
treef6c09b7e2fb0349f3e91449e849eb305504b6c09 /gui/src/main
parent937cd41dc54d9426e8970f6d83ead110817c27e7 (diff)
parenta423058d74447fb9f24d12631d644b7cd597a517 (diff)
downloadmullvadvpn-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.ts2
-rw-r--r--gui/src/main/daemon-rpc.ts25
-rw-r--r--gui/src/main/jsonrpc-client.ts2
-rw-r--r--gui/src/main/window-controller.ts2
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);
}