@@ -6,7 +6,7 @@ import { Environment, LogLevel, LogFormat } from './interfaces';
6
6
const toNumber =
7
7
( { defaultValue } ) =>
8
8
( { value } ) => {
9
- if ( value === '' || value == null ) return defaultValue ;
9
+ if ( value === '' || value == null || value === undefined ) return defaultValue ;
10
10
return Number ( value ) ;
11
11
} ;
12
12
@@ -18,7 +18,7 @@ export class EnvironmentVariables {
18
18
@IsNumber ( )
19
19
@Min ( 1 )
20
20
@Transform ( toNumber ( { defaultValue : 3000 } ) )
21
- PORT : number ;
21
+ PORT : number = undefined ;
22
22
23
23
@IsOptional ( )
24
24
@IsString ( )
@@ -49,16 +49,16 @@ export class EnvironmentVariables {
49
49
@IsOptional ( )
50
50
@IsEnum ( LogLevel )
51
51
@Transform ( ( { value } ) => value || LogLevel . info )
52
- LOG_LEVEL : LogLevel ;
52
+ LOG_LEVEL : LogLevel = undefined ;
53
53
54
54
@IsOptional ( )
55
55
@IsEnum ( LogFormat )
56
56
@Transform ( ( { value } ) => value || LogFormat . json )
57
- LOG_FORMAT : LogFormat ;
57
+ LOG_FORMAT : LogFormat = undefined ;
58
58
59
59
@IsOptional ( )
60
60
@IsString ( )
61
- JOB_INTERVAL_VALIDATORS ;
61
+ JOB_INTERVAL_VALIDATORS = undefined ;
62
62
63
63
@IsOptional ( )
64
64
@IsString ( )
@@ -71,17 +71,18 @@ export class EnvironmentVariables {
71
71
@IsArray ( )
72
72
@ArrayMinSize ( 1 )
73
73
@Transform ( ( { value } ) => value . split ( ',' ) )
74
- CL_API_URLS ! : string [ ] ;
74
+ CL_API_URLS : string [ ] = undefined ;
75
75
76
76
@IsArray ( )
77
77
@ArrayMinSize ( 1 )
78
78
@Transform ( ( { value } ) => value . split ( ',' ) )
79
- EL_RPC_URLS ! : string [ ] ;
79
+ EL_RPC_URLS : string [ ] = undefined ;
80
80
81
81
@IsNumber ( )
82
82
@Transform ( ( { value } ) => Number ( value ) )
83
- CHAIN_ID ! : number ;
83
+ CHAIN_ID : number = undefined ;
84
84
}
85
+ export const ENV_KEYS = Object . keys ( new EnvironmentVariables ( ) ) ;
85
86
86
87
export function validate ( config : Record < string , unknown > ) {
87
88
const validatedConfig = plainToClass ( EnvironmentVariables , config ) ;
@@ -96,21 +97,3 @@ export function validate(config: Record<string, unknown>) {
96
97
97
98
return validatedConfig ;
98
99
}
99
-
100
- export const ENV_KEYS = [
101
- 'NODE_ENV' ,
102
- 'PORT' ,
103
- 'CORS_WHITELIST_REGEXP' ,
104
- 'GLOBAL_THROTTLE_TTL' ,
105
- 'GLOBAL_THROTTLE_LIMIT' ,
106
- 'GLOBAL_CACHE_TTL' ,
107
- 'SENTRY_DSN' ,
108
- 'LOG_LEVEL' ,
109
- 'LOG_FORMAT' ,
110
- 'JOB_INTERVAL_VALIDATORS' ,
111
- 'JOB_INTERVAL_QUEUE_INFO' ,
112
- 'JOB_INTERVAL_CONTRACT_CONFIG' ,
113
- 'CL_API_URLS' ,
114
- 'EL_RPC_URLS' ,
115
- 'CHAIN_ID' ,
116
- ] ;
0 commit comments