37 lines
1.1 KiB
JavaScript
37 lines
1.1 KiB
JavaScript
/**
|
|
* 서버 런타임 환경 변수 값을 조회한다.
|
|
* @param {string} envName - process.env 변수명
|
|
* @param {string} configName - Nuxt runtimeConfig 키
|
|
* @param {string} fallback - 기본값
|
|
* @returns {string} 환경 변수 값
|
|
*/
|
|
export const getRuntimeEnvValue = (envName, configName, fallback = '') => {
|
|
const directValue = process.env[envName]
|
|
if (typeof directValue === 'string' && directValue.length > 0) {
|
|
return directValue
|
|
}
|
|
|
|
const config = useRuntimeConfig()
|
|
const configValue = config?.[configName]
|
|
|
|
return typeof configValue === 'string' && configValue.length > 0
|
|
? configValue
|
|
: fallback
|
|
}
|
|
|
|
/**
|
|
* 숫자형 서버 런타임 환경 변수 값을 조회한다.
|
|
* @param {string} envName - process.env 변수명
|
|
* @param {string} configName - Nuxt runtimeConfig 키
|
|
* @param {number} fallback - 기본값
|
|
* @returns {number} 환경 변수 숫자 값
|
|
*/
|
|
export const getRuntimeEnvNumber = (envName, configName, fallback) => {
|
|
const value = getRuntimeEnvValue(envName, configName, '')
|
|
const parsed = Number(value)
|
|
|
|
return Number.isFinite(parsed) && parsed > 0
|
|
? parsed
|
|
: fallback
|
|
}
|