{"version":3,"file":"getEnvVariable.mjs","names":[],"sources":["../src/getEnvVariable.ts"],"sourcesContent":["type CloudflareEnv = { env: Record<string, string> };\n\nconst hasCloudflareProxyContext = (context: any): context is { cloudflare: CloudflareEnv } => {\n  return !!context?.cloudflare?.env;\n};\n\nconst hasCloudflareContext = (context: any): context is CloudflareEnv => {\n  return !!context?.env;\n};\n\n/**\n * Retrieves an environment variable across runtime environments.\n *\n * @param name - The environment variable name to retrieve.\n * @param context - Optional context object that may contain environment values.\n * @returns The environment variable value or empty string if not found.\n */\nexport const getEnvVariable = (name: string, context?: Record<string, any>): string => {\n  // Node envs\n  if (typeof process !== 'undefined' && process.env && typeof process.env[name] === 'string') {\n    return process.env[name];\n  }\n\n  // Vite specific\n  if (typeof import.meta !== 'undefined' && import.meta.env && typeof import.meta.env[name] === 'string') {\n    return import.meta.env[name];\n  }\n\n  if (hasCloudflareProxyContext(context)) {\n    return context.cloudflare.env[name] || '';\n  }\n\n  // Cloudflare\n  if (hasCloudflareContext(context)) {\n    return context.env[name] || '';\n  }\n\n  // Check whether the value exists in the context object directly\n  if (context && typeof context[name] === 'string') {\n    return context[name];\n  }\n\n  // Cloudflare workers\n  try {\n    return globalThis[name as keyof typeof globalThis] as string;\n  } catch {\n    // This will raise an error in Cloudflare Pages\n  }\n  return '';\n};\n"],"mappings":";AAEA,MAAM,6BAA6B,YAA2D;CAC5F,OAAO,CAAC,CAAC,SAAS,YAAY;AAChC;AAEA,MAAM,wBAAwB,YAA2C;CACvE,OAAO,CAAC,CAAC,SAAS;AACpB;;;;;;;;AASA,MAAa,kBAAkB,MAAc,YAA0C;CAErF,IAAI,OAAO,YAAY,eAAe,QAAQ,OAAO,OAAO,QAAQ,IAAI,UAAU,UAChF,OAAO,QAAQ,IAAI;CAIrB,IAAI,OAAO,OAAO,SAAS,eAAe,OAAO,KAAK,OAAO,OAAO,OAAO,KAAK,IAAI,UAAU,UAC5F,OAAO,OAAO,KAAK,IAAI;CAGzB,IAAI,0BAA0B,OAAO,GACnC,OAAO,QAAQ,WAAW,IAAI,SAAS;CAIzC,IAAI,qBAAqB,OAAO,GAC9B,OAAO,QAAQ,IAAI,SAAS;CAI9B,IAAI,WAAW,OAAO,QAAQ,UAAU,UACtC,OAAO,QAAQ;CAIjB,IAAI;EACF,OAAO,WAAW;CACpB,QAAQ,CAER;CACA,OAAO;AACT"}