// lib/ipconfig.ts
// export function getRuntimeEnv(key: string): string | undefined {
//   if (typeof window !== "undefined" && typeof window.RUNTIME_ENV !== "undefined") {
//     return window.RUNTIME_ENV[key];
//   }
//   return process.env[key];
// }


let _env: Record<string, string> | null = null

export function getRuntimeEnv(key: string): string | undefined {
  // 打印缓存的 _env 变量和每次调用时的 key
  console.log("Checking env for key:", key);
  
  // 如果 _env 存在，打印出缓存的 _env 并返回对应的值
  if (_env) {
    console.log("Returning cached _env:", _env);
    return _env[key]
  }

  // 如果 window.RUNTIME_ENV 存在，打印出从 window.RUNTIME_ENV 获取的值
  if (typeof window !== "undefined" && typeof window.RUNTIME_ENV !== "undefined") {
    _env = window.RUNTIME_ENV  // 更新 _env 为最新的环境变量
    console.log("Updated _env from window.RUNTIME_ENV:", _env);
    return _env[key]
  }

  // 如果没有 window.RUNTIME_ENV，回退到 process.env，打印出 process.env 和当前 key
  console.log("Falling back to process.env for key:", key);
  return process.env[key]
}
