mirror of
https://github.com/hamster1963/nezha-dash.git
synced 2025-04-24 21:10:45 +08:00
refactor: improve environment variable retrieval with optional return type
This commit is contained in:
parent
c59b381a35
commit
d775cde3ca
26
lib/env.ts
26
lib/env.ts
@ -70,12 +70,13 @@ export type ClientEnvKey = `NEXT_PUBLIC_${keyof ClientEnvConfig}`
|
|||||||
* @param key - Environment variable key
|
* @param key - Environment variable key
|
||||||
* @returns Environment variable value
|
* @returns Environment variable value
|
||||||
*/
|
*/
|
||||||
export function getServerEnv<K extends keyof ServerEnvConfig>(key: K): string {
|
export function getServerEnv<K extends keyof ServerEnvConfig>(key: K): string | undefined {
|
||||||
const value = process.env[key]
|
const value = process.env[key]
|
||||||
if (!value) {
|
if (!value) {
|
||||||
console.warn(`Environment variable ${key} is not set`)
|
console.warn(`Environment variable ${key} is not set`)
|
||||||
|
return undefined
|
||||||
}
|
}
|
||||||
return value || ""
|
return value
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -83,13 +84,14 @@ export function getServerEnv<K extends keyof ServerEnvConfig>(key: K): string {
|
|||||||
* @param key - Environment variable key
|
* @param key - Environment variable key
|
||||||
* @returns Environment variable value
|
* @returns Environment variable value
|
||||||
*/
|
*/
|
||||||
export function getClientEnv<K extends keyof ClientEnvConfig>(key: K): string {
|
export function getClientEnv<K extends keyof ClientEnvConfig>(key: K): string | undefined {
|
||||||
const envKey = `NEXT_PUBLIC_${key}`
|
const envKey = `NEXT_PUBLIC_${key}`
|
||||||
const value = env(envKey)
|
const value = env(envKey)
|
||||||
if (!value) {
|
if (!value) {
|
||||||
console.warn(`Environment variable ${envKey} is not set`)
|
console.warn(`Environment variable ${envKey} is not set`)
|
||||||
|
return undefined
|
||||||
}
|
}
|
||||||
return value || ""
|
return value
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -119,11 +121,11 @@ export function parseNumber(value: string | undefined, defaultValue: number): nu
|
|||||||
export function getAllEnvConfig(): { server: ServerEnvConfig; client: ClientEnvConfig } {
|
export function getAllEnvConfig(): { server: ServerEnvConfig; client: ClientEnvConfig } {
|
||||||
return {
|
return {
|
||||||
server: {
|
server: {
|
||||||
NezhaBaseUrl: getServerEnv("NezhaBaseUrl"),
|
NezhaBaseUrl: getServerEnv("NezhaBaseUrl") || "",
|
||||||
NezhaAuth: getServerEnv("NezhaAuth"),
|
NezhaAuth: getServerEnv("NezhaAuth") || "",
|
||||||
DefaultLocale: getServerEnv("DefaultLocale"),
|
DefaultLocale: getServerEnv("DefaultLocale") || "",
|
||||||
ForceShowAllServers: parseBoolean(getServerEnv("ForceShowAllServers")),
|
ForceShowAllServers: parseBoolean(getServerEnv("ForceShowAllServers")),
|
||||||
SitePassword: getServerEnv("SitePassword"),
|
SitePassword: getServerEnv("SitePassword") || "",
|
||||||
},
|
},
|
||||||
client: {
|
client: {
|
||||||
NezhaFetchInterval: parseNumber(getClientEnv("NezhaFetchInterval"), 5000),
|
NezhaFetchInterval: parseNumber(getClientEnv("NezhaFetchInterval"), 5000),
|
||||||
@ -133,10 +135,10 @@ export function getAllEnvConfig(): { server: ServerEnvConfig; client: ClientEnvC
|
|||||||
ShowNetTransfer: parseBoolean(getClientEnv("ShowNetTransfer")),
|
ShowNetTransfer: parseBoolean(getClientEnv("ShowNetTransfer")),
|
||||||
ForceUseSvgFlag: parseBoolean(getClientEnv("ForceUseSvgFlag")),
|
ForceUseSvgFlag: parseBoolean(getClientEnv("ForceUseSvgFlag")),
|
||||||
FixedTopServerName: parseBoolean(getClientEnv("FixedTopServerName")),
|
FixedTopServerName: parseBoolean(getClientEnv("FixedTopServerName")),
|
||||||
CustomLogo: getClientEnv("CustomLogo"),
|
CustomLogo: getClientEnv("CustomLogo") || "",
|
||||||
CustomTitle: getClientEnv("CustomTitle"),
|
CustomTitle: getClientEnv("CustomTitle") || "",
|
||||||
CustomDescription: getClientEnv("CustomDescription"),
|
CustomDescription: getClientEnv("CustomDescription") || "",
|
||||||
Links: getClientEnv("Links"),
|
Links: getClientEnv("Links") || "",
|
||||||
DisableIndex: parseBoolean(getClientEnv("DisableIndex")),
|
DisableIndex: parseBoolean(getClientEnv("DisableIndex")),
|
||||||
ShowTagCount: parseBoolean(getClientEnv("ShowTagCount")),
|
ShowTagCount: parseBoolean(getClientEnv("ShowTagCount")),
|
||||||
ShowIpInfo: parseBoolean(getClientEnv("ShowIpInfo")),
|
ShowIpInfo: parseBoolean(getClientEnv("ShowIpInfo")),
|
||||||
|
Loading…
Reference in New Issue
Block a user