style: improve code formatting and consistency

This commit is contained in:
Gauthier Daniels 2025-04-20 03:31:12 +02:00
parent 4d6da5e404
commit 66bd48e55e

View File

@ -1,27 +1,42 @@
function getEnvironmentVariable<T = undefined>(key: string, defaultValue: T, formatter?: (data: string) => T): T { function getEnvironmentVariable<T = undefined>(
const value = process.env[key]; key: string,
defaultValue: T,
formatter?: (data: string) => T,
): T {
const value = process.env[key];
if (value === undefined) return defaultValue; if (value === undefined) return defaultValue;
if (formatter) return formatter(value); if (formatter) return formatter(value);
return value as T; return value as T;
} }
function getEnvironmentVariableOrThrow<T = undefined>(key: string, formatter?: (data: string) => T): T { function getEnvironmentVariableOrThrow<T = undefined>(
const value = process.env[key]; key: string,
formatter?: (data: string) => T,
): T {
const value = process.env[key];
if (value === undefined) throw new Error(`Missing environment variable: ${key}`); if (value === undefined)
if (formatter) return formatter(value); throw new Error(`Missing environment variable: ${key}`);
return value as T; if (formatter) return formatter(value);
return value as T;
} }
const PORT = getEnvironmentVariableOrThrow<number>('PORT', (data) => parseInt(data, 10)); const PORT = getEnvironmentVariableOrThrow<number>("PORT", (data) =>
const HMR_PORT = getEnvironmentVariableOrThrow<number>('HMR_PORT', (data) => parseInt(data, 10)); Number.parseInt(data, 10),
const BASE_URL = getEnvironmentVariable<string>('BASE_URL', `http://localhost:${PORT}`); );
const NODE_ENV = getEnvironmentVariable<string>('NODE_ENV', 'development'); const HMR_PORT = getEnvironmentVariableOrThrow<number>("HMR_PORT", (data) =>
Number.parseInt(data, 10),
);
const BASE_URL = getEnvironmentVariable<string>(
"BASE_URL",
`http://localhost:${PORT}`,
);
const NODE_ENV = getEnvironmentVariable<string>("NODE_ENV", "development");
export const config = { export const config = {
PORT, PORT,
HMR_PORT, HMR_PORT,
BASE_URL, BASE_URL,
NODE_ENV, NODE_ENV,
}; };