From b2ccad50919516989331ccb43cb4fd80b9ed1fee Mon Sep 17 00:00:00 2001 From: Matthias Kretschmann Date: Tue, 8 Sep 2020 19:45:24 +0200 Subject: [PATCH] simplify, only one method needed --- src/utils/ConfigHelper.ts | 34 +++++++++++++++------------- test/unit/utils/ConfigHelper.test.ts | 6 ----- 2 files changed, 18 insertions(+), 22 deletions(-) diff --git a/src/utils/ConfigHelper.ts b/src/utils/ConfigHelper.ts index ebcb0360..27a74a7d 100644 --- a/src/utils/ConfigHelper.ts +++ b/src/utils/ConfigHelper.ts @@ -1,8 +1,16 @@ import Config from '../models/Config' +export declare type ConfigHelperNetworkName = + | 'mainnet' + | 'rinkeby' + | 'development' + | string + +export declare type ConfigHelperNetworkId = 1 | 4 | number + export interface ConfigHelperConfig extends Config { - chainId: 1 | 4 | number - network: 'mainnet' | 'rinkeby' | 'development' | string + chainId: ConfigHelperNetworkId + network: ConfigHelperNetworkName } const configs: ConfigHelperConfig[] = [ @@ -41,23 +49,17 @@ const configs: ConfigHelperConfig[] = [ ] export class ConfigHelper { - private getNodeUri(config: ConfigHelperConfig, infuraProjectId?: string) { + public getConfig( + network: ConfigHelperNetworkName | ConfigHelperNetworkId, + infuraProjectId?: string + ): ConfigHelperConfig { + const filterBy = typeof network === 'string' ? 'network' : 'chainId' + const config = configs.find((c) => c[filterBy] === network) + const nodeUri = infuraProjectId ? `${config.nodeUri}/${infuraProjectId}` : config.nodeUri - return nodeUri - } - - public getConfig(network: string, infuraProjectId?: string): ConfigHelperConfig { - const knownconfig = configs.find((c) => c.network === network) - const nodeUri = this.getNodeUri(knownconfig, infuraProjectId) - return knownconfig ? { ...knownconfig, nodeUri } : null - } - - public getConfigById(chainId: number, infuraProjectId?: string): ConfigHelperConfig { - const knownconfig = configs.find((c) => c.chainId === chainId) - const nodeUri = this.getNodeUri(knownconfig, infuraProjectId) - return knownconfig ? { ...knownconfig, nodeUri } : null + return config ? { ...config, nodeUri } : null } } diff --git a/test/unit/utils/ConfigHelper.test.ts b/test/unit/utils/ConfigHelper.test.ts index a36962ac..8d504587 100644 --- a/test/unit/utils/ConfigHelper.test.ts +++ b/test/unit/utils/ConfigHelper.test.ts @@ -14,10 +14,4 @@ describe('ConfigHelper', () => { const config = new ConfigHelper().getConfig(network, infuraId) assert(config.nodeUri.includes(infuraId)) }) - - it('should get config based on chain ID', () => { - const chainId = 4 - const config = new ConfigHelper().getConfigById(chainId) - assert(config.chainId === chainId) - }) })