{"version":3,"file":"env-helper.mjs","sources":["../../../../src/lib/core/config/env-helper.ts"],"sourcesContent":["/**\n * @file Environment Helper Utilities\n * @description Centralized environment detection helpers for use throughout the library.\n *\n * IMPORTANT: Use these helpers instead of direct process.env.NODE_ENV checks.\n * This ensures consistent behavior and easier testing.\n *\n * @example\n * ```typescript\n * import { isDev, isProd, isTest } from '@/lib/core/config/env-helper';\n *\n * if (isDev()) {\n *   console.log('Development mode enabled');\n * }\n * ```\n */\n\nimport { env } from '@/config';\n\n/**\n * Check if currently in development environment\n * @returns true if NODE_ENV is 'development'\n */\nexport function isDev(): boolean {\n  return env.isDev;\n}\n\n/**\n * Check if currently in production environment\n * @returns true if NODE_ENV is 'production'\n */\nexport function isProd(): boolean {\n  return env.isProd;\n}\n\n/**\n * Check if currently in test environment\n * @returns true if NODE_ENV is 'test'\n */\nexport function isTest(): boolean {\n  return env.isTest;\n}\n\n/**\n * Check if currently in staging environment\n * @returns true if APP_ENV is 'staging'\n */\nexport function isStaging(): boolean {\n  return env.appEnv === 'staging';\n}\n\n/**\n * Get current environment name\n * @returns The current environment name\n */\nexport function getEnvironment(): string {\n  return env.appEnv;\n}\n\n/**\n * Conditional debug logging - only logs in development\n * @param message - Message to log\n * @param data - Optional data to include\n */\nexport function devLog(message: string, ...data: unknown[]): void {\n  if (isDev()) {\n    console.info(`[DEV] ${message}`, ...data);\n  }\n}\n\n/**\n * Conditional warning logging - only logs in development\n * @param message - Warning message\n * @param data - Optional data to include\n */\nexport function devWarn(message: string, ...data: unknown[]): void {\n  if (isDev()) {\n    console.warn(`[DEV] ${message}`, ...data);\n  }\n}\n\n/**\n * Conditional error logging - logs in all environments\n * but with stack traces only in development\n * @param message - Error message\n * @param error - Optional error object\n */\nexport function logError(message: string, error?: unknown): void {\n  if (isDev()) {\n    console.error(`[ERROR] ${message}`, error);\n  } else {\n    console.error(`[ERROR] ${message}`);\n  }\n}\n\n/**\n * Execute callback only in development\n * @param callback - Function to execute in development\n */\nexport function inDevelopment(callback: () => void): void {\n  if (isDev()) {\n    callback();\n  }\n}\n\n/**\n * Execute callback only in production\n * @param callback - Function to execute in production\n */\nexport function inProduction(callback: () => void): void {\n  if (isProd()) {\n    callback();\n  }\n}\n"],"names":["isDev","env","isProd","isTest","isStaging","devLog","message","data","devWarn"],"mappings":";;;AAuBO,SAASA,IAAiB;AAC/B,SAAOC,EAAI;AACb;AAMO,SAASC,IAAkB;AAChC,SAAOD,EAAI;AACb;AAMO,SAASE,IAAkB;AAChC,SAAOF,EAAI;AACb;AAMO,SAASG,IAAqB;AACnC,SAAOH,EAAI,WAAW;AACxB;AAeO,SAASI,EAAOC,MAAoBC,GAAuB;AAChE,EAAIP,OACF,QAAQ,KAAK,SAASM,CAAO,IAAI,GAAGC,CAAI;AAE5C;AAOO,SAASC,EAAQF,MAAoBC,GAAuB;AACjE,EAAIP,OACF,QAAQ,KAAK,SAASM,CAAO,IAAI,GAAGC,CAAI;AAE5C;"}