{"version":3,"file":"envJson.mjs","sources":["../lib/index.js"],"sourcesContent":["/**\n * Get a env var, either by passing a key val form the env.json or the actual name\n * @param options\n * @returns {*}\n */\nexport const envSetup = (options = {}) => {\n  process.env.envjsonOptions = process.env.envjsonOptions || {}\n  process.env.envJson = process.env.envJson || {}\n\n  let path = options.path || process.env.envjsonOptions.path || 'env.json'\n  let encoding = options.encoding || process.env.envjsonOptions.encoding || 'utf8'\n\n  if (typeof process.env.envjsonOptions === 'undefined') {\n    process.env.envjsonOptions = options\n  }\n\n  try {\n    process.env.envJson = require('fs').readFileSync(path, encoding)\n  } catch (e) {\n    return console.error(e)\n  }\n  let envJson = JSON.parse(process.env.envJson)\n  for (let key in envJson) {\n    if (typeof envJson[key]['key'] !== 'undefined'\n      && typeof envJson[key]['default'] !== 'undefined'\n      && !process.env[envJson[key]['key']]\n    ) {\n      process.env[envJson[key]['key']] = envJson[key]['default']\n    }\n    else if (typeof envJson[key]['default'] === 'undefined' && typeof process.env[envJson[key]['key']] === 'undefined') {\n      console.error('Environment variable by key \"' + envJson[key]['key'] + '\" has no default and no value set in the process.env.')\n      console.error('Please either add a default to the env.json file or set the environment variable.')\n      throw 'Environment variable by key \"' + envJson[key]['key'] + '\" has no default and no value set in the process.env.'\n    }\n  }\n}\n/**\n * Sets env variables if not already set to the default found in the env.json\n * @param getKey\n */\nexport const envGet = (getKey) => {\n  let envJson = JSON.parse(process.env.envJson)\n  if (typeof envJson[getKey] !== 'undefined') {\n    try {\n      return process.env[envJson[getKey]['key']]\n    }\n    catch (e) {\n      console.error('Error fetch env variable: ' + getKey)\n      throw e\n    }\n  }\n  else {\n    try {\n      return process.env[getKey]\n    }\n    catch (e) {\n      console.error('Error fetching unknown environment variable: ' + getKey)\n      throw e\n    }\n  }\n}\n"],"names":["envSetup","options","env","envjsonOptions","process","envJson","path","encoding","require","readFileSync","e","console","error","JSON","parse","key","envGet","getKey"],"mappings":"AAKA,IAAaA,SAAW,eAACC,oEACfC,IAAIC,eAAiBC,QAAQF,IAAIC,2BACjCD,IAAIG,QAAUD,QAAQF,IAAIG,gBAE9BC,EAAOL,EAAQK,MAAQF,QAAQF,IAAIC,eAAeG,MAAQ,WAC1DC,EAAWN,EAAQM,UAAYH,QAAQF,IAAIC,eAAeI,UAAY,YAEhC,IAA/BH,QAAQF,IAAIC,yBACbD,IAAIC,eAAiBF,eAIrBC,IAAIG,QAAUG,QAAQ,MAAMC,aAAaH,EAAMC,GACvD,MAAOG,UACAC,QAAQC,MAAMF,OAEnBL,EAAUQ,KAAKC,MAAMV,QAAQF,IAAIG,aAChC,IAAIU,KAAOV,UACqB,IAAxBA,EAAQU,GAAR,UAC6B,IAA5BV,EAAQU,GAAR,SACNX,QAAQF,IAAIG,EAAQU,GAAR,MAIb,QAAuC,IAA5BV,EAAQU,GAAR,cAAuF,IAArCX,QAAQF,IAAIG,EAAQU,GAAR,mBACpEH,MAAM,gCAAkCP,EAAQU,GAAR,IAAsB,iEAC9DH,MAAM,qFACR,gCAAkCP,EAAQU,GAAR,IAAsB,qEALtDb,IAAIG,EAAQU,GAAR,KAAuBV,EAAQU,GAAR,SAa5BC,OAAS,SAACC,OACjBZ,EAAUQ,KAAKC,MAAMV,QAAQF,IAAIG,iBACN,IAApBA,EAAQY,cAERb,QAAQF,IAAIG,EAAQY,GAAR,KAErB,MAAOP,iBACGE,MAAM,6BAA+BK,GACvCP,kBAKCN,QAAQF,IAAIe,GAErB,MAAOP,iBACGE,MAAM,gDAAkDK,GAC1DP"}