{"version":3,"file":"logger.cjs","sources":["../../../src/utils/logger.ts"],"sourcesContent":["import { throttle } from 'lodash';\n\ntype Args = Parameters<typeof console.log>;\n\n/**\n * @internal\n * */\nconst throttledLog = throttle((...t: Args) => {\n  console.log(...t);\n}, 500);\n\n/**\n * @internal\n */\nexport interface Logger {\n  logger: (...t: Args) => void;\n  enable: () => void;\n  disable: () => void;\n  isEnabled: () => boolean;\n}\n\n/** @internal */\nexport const createLogger = (name: string): Logger => {\n  let loggingEnabled = false;\n\n  if (typeof window !== 'undefined') {\n    loggingEnabled = window.localStorage.getItem('grafana.debug') === 'true';\n  }\n\n  return {\n    logger: (id: string, throttle = false, ...t: Args) => {\n      if (process.env.NODE_ENV === 'production' || process.env.NODE_ENV === 'test' || !loggingEnabled) {\n        return;\n      }\n      const fn = throttle ? throttledLog : console.log;\n      fn(`[${name}: ${id}]:`, ...t);\n    },\n    enable: () => (loggingEnabled = true),\n    disable: () => (loggingEnabled = false),\n    isEnabled: () => loggingEnabled,\n  };\n};\n"],"names":["throttle"],"mappings":";;;;;;;AAOA,MAAM,YAAA,GAAeA,eAAA,CAAS,CAAA,GAAI,CAAA,KAAY;AAC5C,EAAA,OAAA,CAAQ,GAAA,CAAI,GAAG,CAAC,CAAA;AAClB,CAAA,EAAG,GAAG,CAAA;AAaC,MAAM,YAAA,GAAe,CAAC,IAAA,KAAyB;AACpD,EAAA,IAAI,cAAA,GAAiB,KAAA;AAErB,EAAA,IAAI,OAAO,WAAW,WAAA,EAAa;AACjC,IAAA,cAAA,GAAiB,MAAA,CAAO,YAAA,CAAa,OAAA,CAAQ,eAAe,CAAA,KAAM,MAAA;AAAA,EACpE;AAEA,EAAA,OAAO;AAAA,IACL,MAAA,EAAQ,CAAC,EAAA,EAAYA,SAAAA,GAAW,UAAU,CAAA,KAAY;AACpD,MAAA,IAAI,OAAA,CAAQ,IAAI,QAAA,KAAa,YAAA,IAAgB,QAAQ,GAAA,CAAI,QAAA,KAAa,MAAA,IAAU,CAAC,cAAA,EAAgB;AAC/F,QAAA;AAAA,MACF;AACA,MAAA,MAAM,EAAA,GAAKA,SAAAA,GAAW,YAAA,GAAe,OAAA,CAAQ,GAAA;AAC7C,MAAA,EAAA,CAAG,IAAI,IAAI,CAAA,EAAA,EAAK,EAAE,CAAA,EAAA,CAAA,EAAM,GAAG,CAAC,CAAA;AAAA,IAC9B,CAAA;AAAA,IACA,MAAA,EAAQ,MAAO,cAAA,GAAiB,IAAA;AAAA,IAChC,OAAA,EAAS,MAAO,cAAA,GAAiB,KAAA;AAAA,IACjC,WAAW,MAAM;AAAA,GACnB;AACF;;;;"}