{"version":3,"sources":["../src/getEnvConfig.ts","../src/utils/parseNs.ts"],"sourcesContent":["import { omitNull } from '@lskjs/algos';\nimport { ObjectLike } from '@lskjs/algos/types';\nimport { getEnvVar, isClient, isDev } from '@lskjs/env';\n\nimport { parseNs } from './utils/parseNs';\n\nexport const defaultFormat = isDev || isClient ? 'pretty' : 'lsk';\n\nexport const getEnvConfig = (): ObjectLike<string | RegExp[]> => {\n  const debug = getEnvVar('DEBUG', '') || '';\n  const isSilent =\n    typeof process && (!!+process.env.LSK_SILENT! || process.argv?.includes('--silent'));\n  const isTrace = debug.startsWith('lsk') || debug.startsWith('*');\n  const format = getEnvVar('LOG_FORMAT', getEnvVar('DEBUG_FORMAT', defaultFormat));\n  const { on, off } = parseNs(debug);\n  // eslint-disable-next-line no-nested-ternary\n  const defaultLevel = isSilent ? 'error' : isTrace ? 'trace' : 'debug';\n  const level = getEnvVar('LOG_LEVEL', getEnvVar('DEBUG_LEVEL', defaultLevel));\n  const res = omitNull<string | null | RegExp[]>({\n    format,\n    level,\n    on,\n    off,\n  }) as ObjectLike<string | RegExp[]>;\n  return res;\n};\n\nexport default getEnvConfig;\n","// Base get from https://github.com/debug-js/debug/blob/master/src/common.js\n\n/**\n * Enables a debug mode by namespaces. This can include modes\n * separated by a colon and wildcards.\n *\n * @param {String} namespaces\n * @api public\n */\nexport function parseNs(raw = '') {\n  const on = [];\n  const off = [];\n  let i;\n  const items = (typeof raw === 'string' ? raw : '').split(/[\\s,]+/);\n  for (i = 0; i < items.length; i++) {\n    // eslint-disable-next-line no-continue\n    if (!items[i]) continue;\n    const item = items[i].replace(/\\*/g, '.*?');\n    if (item[0] === '-') {\n      off.push(new RegExp(`^${item.slice(1)}$`));\n    } else {\n      on.push(new RegExp(`^${item}$`));\n    }\n  }\n  return { on, off };\n}\n\nexport default parseNs;\n"],"mappings":"+EAAA,OAASA,YAAAA,MAAgB,eAEzB,OAASC,aAAAA,EAAWC,YAAAA,EAAUC,SAAAA,MAAa,aCOpC,SAASC,EAAQC,EAAM,GAAE,CAC9B,IAAMC,EAAK,CAAA,EACLC,EAAM,CAAA,EACRC,EACEC,GAAS,OAAOJ,GAAQ,SAAWA,EAAM,IAAIK,MAAM,QAAA,EACzD,IAAKF,EAAI,EAAGA,EAAIC,EAAME,OAAQH,IAAK,CAEjC,GAAI,CAACC,EAAMD,CAAAA,EAAI,SACf,IAAMI,EAAOH,EAAMD,CAAAA,EAAGK,QAAQ,MAAO,KAAA,EACjCD,EAAK,CAAA,IAAO,IACdL,EAAIO,KAAK,IAAIC,OAAO,IAAIH,EAAKI,MAAM,CAAA,CAAA,GAAK,CAAA,EAExCV,EAAGQ,KAAK,IAAIC,OAAO,IAAIH,CAAAA,GAAO,CAAA,CAElC,CACA,MAAO,CAAEN,GAAAA,EAAIC,IAAAA,CAAI,CACnB,CAhBgBH,EAAAA,EAAAA,WDHT,IAAMa,EAAgBC,GAASC,EAAW,SAAW,MAE/CC,EAAeC,EAAA,IAAA,CAC1B,IAAMC,EAAQC,EAAU,QAAS,EAAA,GAAO,GAClCC,EACe,CAAC,CAAC,CAACC,QAAQC,IAAIC,YAAeF,QAAQG,MAAMC,SAAS,UAAA,EACpEC,EAAUR,EAAMS,WAAW,KAAA,GAAUT,EAAMS,WAAW,GAAA,EACtDC,EAAST,EAAU,aAAcA,EAAU,eAAgBN,CAAAA,CAAAA,EAC3D,CAAEgB,GAAAA,EAAIC,IAAAA,CAAG,EAAKC,EAAQb,CAAAA,EAGtBc,EAAQb,EAAU,YAAaA,EAAU,cAD1BC,EAAW,QAAUM,EAAU,QAAU,OACAO,CAAAA,EAO9D,OANYC,EAAmC,CAC7CN,OAAAA,EACAI,MAAAA,EACAH,GAAAA,EACAC,IAAAA,CACF,CAAA,CAEF,EAjB4B,gBAmB5BK,EAAenB","names":["omitNull","getEnvVar","isClient","isDev","parseNs","raw","on","off","i","items","split","length","item","replace","push","RegExp","slice","defaultFormat","isDev","isClient","getEnvConfig","__name","debug","getEnvVar","isSilent","process","env","LSK_SILENT","argv","includes","isTrace","startsWith","format","on","off","parseNs","level","defaultLevel","omitNull","getEnvConfig_default"]}