@@ -32,49 +32,24 @@ import { FcmListenerManager } from './src/managers/fcmListenerManager';
3232
3333dotenv . config ( ) ;
3434
35- /* Function to get a required string value (throws an error if missing) */
36- function getStringEnv ( key : string , defaultValue ?: string ) : string {
37- const value = process . env [ key ] ;
38- if ( value === undefined ) {
39- if ( defaultValue !== undefined ) {
40- return defaultValue ;
41- }
42- throw new Error ( `[index.ts] Missing required environment variable '${ key } '` ) ;
43- }
44- return value ;
45- }
46-
47- /* Function to get an optional number value (uses default if missing or invalid) */
48- function getNumberEnv ( key : string , defaultValue : number ) : number {
49- const value = Number ( process . env [ key ] ) ;
50- return Number . isNaN ( value ) ? defaultValue : value ;
51- } ;
52-
53- /* Function to get a boolean value (treats 'true' as true, everything else as false) */
54- function getBooleanEnv ( key : string , defaultValue : boolean = false ) : boolean {
55- const value = process . env [ key ] ;
56- return value === 'true' ? true : defaultValue ;
57- } ;
58-
5935export const config = {
6036 general : {
61- debug : getBooleanEnv ( 'RPP_DEBUG' , false ) ,
62- language : ( ( ) => {
63- const lang = getStringEnv ( 'RPP_LANGUAGE' , 'en' ) ;
64- return isValidLanguage ( lang ) ? lang as Languages : Languages . ENGLISH ;
65- } ) ( ) ,
66- serverPollingHandlerIntervalMs : getNumberEnv ( 'RPP_SERVER_POLLING_HANDLER_INTERVAL_MS' , 10_000 ) ,
67- showCallStackOnError : getBooleanEnv ( 'RPP_SHOW_CALL_STACK_ON_ERROR' , false ) ,
68- reconnectIntervalMs : getNumberEnv ( 'RPP_RECONNECT_INTERVAL_MS' , 15_000 )
37+ debug : process . env . RPP_DEBUG === 'true' ,
38+ language : isValidLanguage ( process . env . RPP_LANGUAGE ) ? process . env . RPP_LANGUAGE as Languages : Languages . ENGLISH ,
39+ serverPollingHandlerIntervalMs : Number ( process . env . RPP_SERVER_POLLING_HANDLER_INTERVAL_MS ?? '' ) || 10_000 ,
40+ showCallStackOnError : ( process . env . RPP_SHOW_CALL_STACK_ON_ERROR === 'true' ) || false ,
41+ reconnectIntervalMs : Number ( process . env . RPP_RECONNECT_INTERVAL_MS ?? '' ) || 15_000
6942 } ,
7043 discord : {
71- username : getStringEnv ( 'RPP_DISCORD_USERNAME' , 'rustplusplus' ) ,
72- clientId : getStringEnv ( 'RPP_DISCORD_CLIENT_ID' ) ,
73- token : getStringEnv ( 'RPP_DISCORD_TOKEN' ) ,
74- useCache : getBooleanEnv ( 'RPP_USE_CACHE' , true ) ,
75- enforceNameChange : getBooleanEnv ( 'RPP_ENFORCE_NAME_CHANGE' , true ) ,
76- enforceAvatarChange : getBooleanEnv ( 'RPP_ENFORCE_AVATAR_CHANGE' , true ) ,
77- enforceChannelPermissions : getBooleanEnv ( 'RPP_ENFORCE_CHANNEL_PERMISSIONS' , true )
44+ username : process . env . RPP_DISCORD_USERNAME || 'rustplusplus' ,
45+ clientId : process . env . RPP_DISCORD_CLIENT_ID ||
46+ ( ( ) => { throw new Error ( 'RPP_DISCORD_CLIENT_ID is required.' ) ; } ) ( ) ,
47+ token : process . env . RPP_DISCORD_TOKEN ||
48+ ( ( ) => { throw new Error ( 'RPP_DISCORD_TOKEN is required.' ) ; } ) ( ) ,
49+ useCache : process . env . RPP_USE_CACHE === 'true' ,
50+ enforceNameChange : process . env . RPP_ENFORCE_NAME_CHANGE === 'true' ,
51+ enforceAvatarChange : process . env . RPP_ENFORCE_AVATAR_CHANGE === 'true' ,
52+ enforceChannelPermissions : process . env . RPP_ENFORCE_CHANNEL_PERMISSIONS === 'true'
7853 }
7954}
8055
0 commit comments