{"version":3,"file":"debug-logger.mjs","names":[],"sources":["../../src/utils/debug-logger.ts"],"sourcesContent":["export function isFlagEnabled(\n  flag: string,\n  scopes = process.env.DEBUG,\n): boolean {\n  for (const variable of scopes?.split(/[\\s,]+/) ?? []) {\n    const pattern = variable.replace(\"*\", \".*?\");\n\n    if (variable.startsWith(\"-\")) {\n      if (new RegExp(`^${pattern.slice(1)}$`).test(flag)) {\n        return false;\n      }\n      continue;\n    }\n\n    if (new RegExp(`^${pattern}$`).test(flag)) {\n      return true;\n    }\n  }\n\n  return false;\n}\n\nconst levels = [\"debug\", \"info\", \"warn\", \"error\"] as const;\n\nexport function debugLogger(scope: string) {\n  return Object.fromEntries(\n    levels.map((level) => {\n      return [\n        level,\n        (...args: unknown[]) => {\n          if (!isFlagEnabled(scope)) return;\n          // eslint-disable-next-line no-console\n          console[level](scope, ...args);\n        },\n      ];\n    }),\n  ) as Record<(typeof levels)[number], (...args: unknown[]) => void>;\n}\n"],"mappings":";AAAA,SAAgB,cACd,MACA,SAAS,QAAQ,IAAI,OACZ;AACT,MAAK,MAAM,YAAY,QAAQ,MAAM,SAAS,IAAI,EAAE,EAAE;EACpD,MAAM,UAAU,SAAS,QAAQ,KAAK,MAAM;AAE5C,MAAI,SAAS,WAAW,IAAI,EAAE;AAC5B,OAAI,IAAI,OAAO,IAAI,QAAQ,MAAM,EAAE,CAAC,GAAG,CAAC,KAAK,KAAK,CAChD,QAAO;AAET;;AAGF,MAAI,IAAI,OAAO,IAAI,QAAQ,GAAG,CAAC,KAAK,KAAK,CACvC,QAAO;;AAIX,QAAO;;AAGT,MAAM,SAAS;CAAC;CAAS;CAAQ;CAAQ;CAAQ;AAEjD,SAAgB,YAAY,OAAe;AACzC,QAAO,OAAO,YACZ,OAAO,KAAK,UAAU;AACpB,SAAO,CACL,QACC,GAAG,SAAoB;AACtB,OAAI,CAAC,cAAc,MAAM,CAAE;AAE3B,WAAQ,OAAO,OAAO,GAAG,KAAK;IAEjC;GACD,CACH"}