{"version":3,"sources":["../../../src/envVariables/utils.ts"],"sourcesContent":["import { logger } from '../logger';\n\nfunction getEnvValue(\n  value: unknown,\n  type: 'boolean',\n  verbose?: boolean\n): boolean | undefined;\nfunction getEnvValue(\n  value: unknown,\n  type: 'number',\n  verbose?: boolean\n): number | undefined;\nfunction getEnvValue<T extends string>(\n  value: unknown,\n  type: 'string',\n  verbose?: boolean\n): T | undefined;\nfunction getEnvValue<T>(\n  value: unknown,\n  type: 'object',\n  verbose?: boolean\n): T | undefined;\nfunction getEnvValue<T>(\n  value: unknown,\n  type: 'array',\n  verbose?: boolean\n): T[] | undefined;\nfunction getEnvValue(\n  value: unknown,\n  type: 'string' | 'boolean' | 'number' | 'object' | 'array',\n  verbose = false\n) {\n  try {\n    switch (type) {\n      case 'boolean':\n        // Convert string to boolean explicitly\n        return value === 'true' || value === '1';\n\n      case 'number':\n        // Convert string to number, return undefined if conversion fails\n        return Number(value);\n\n      case 'string':\n        // Return the string directly\n        return value ?? '';\n\n      case 'object':\n      case 'array':\n        // Attempt to parse the value as JSON\n        return JSON.parse(value as string);\n\n      default:\n        return undefined;\n    }\n  } catch (error) {\n    // Log error and return undefined if any error occurs during parsing\n    if (verbose) {\n      logger(\n        `Error parsing environment variable, parsing : ${((value ?? '') as string).toString()}`,\n        { level: 'error' }\n      );\n    }\n    return undefined;\n  }\n}\n\nexport { getEnvValue };\n"],"mappings":"AAAA,SAAS,cAAc;AA2BvB,SAAS,YACP,OACA,MACA,UAAU,OACV;AACA,MAAI;AACF,YAAQ,MAAM;AAAA,MACZ,KAAK;AAEH,eAAO,UAAU,UAAU,UAAU;AAAA,MAEvC,KAAK;AAEH,eAAO,OAAO,KAAK;AAAA,MAErB,KAAK;AAEH,eAAO,SAAS;AAAA,MAElB,KAAK;AAAA,MACL,KAAK;AAEH,eAAO,KAAK,MAAM,KAAe;AAAA,MAEnC;AACE,eAAO;AAAA,IACX;AAAA,EACF,SAAS,OAAO;AAEd,QAAI,SAAS;AACX;AAAA,QACE,kDAAmD,SAAS,IAAe,SAAS,CAAC;AAAA,QACrF,EAAE,OAAO,QAAQ;AAAA,MACnB;AAAA,IACF;AACA,WAAO;AAAA,EACT;AACF;","names":[]}