{"version":3,"file":"logger.mjs","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,GAAe,QAAS,CAAA,CAAA,GAAI,CAAY,KAAA;AAC5C,EAAQ,OAAA,CAAA,GAAA,CAAI,GAAG,CAAC,CAAA;AAClB,CAAA,EAAG,GAAG,CAAA;AAaO,MAAA,YAAA,GAAe,CAAC,IAAyB,KAAA;AACpD,EAAA,IAAI,cAAiB,GAAA,KAAA;AAErB,EAAI,IAAA,OAAO,WAAW,WAAa,EAAA;AACjC,IAAA,cAAA,GAAiB,MAAO,CAAA,YAAA,CAAa,OAAQ,CAAA,eAAe,CAAM,KAAA,MAAA;AAAA;AAGpE,EAAO,OAAA;AAAA,IACL,MAAQ,EAAA,CAAC,EAAYA,EAAAA,SAAAA,GAAW,UAAU,CAAY,KAAA;AACpD,MAAI,IAAA,OAAA,CAAQ,IAAI,QAAa,KAAA,YAAA,IAAgB,QAAQ,GAAI,CAAA,QAAA,KAAa,MAAU,IAAA,CAAC,cAAgB,EAAA;AAC/F,QAAA;AAAA;AAEF,MAAM,MAAA,EAAA,GAAKA,SAAW,GAAA,YAAA,GAAe,OAAQ,CAAA,GAAA;AAC7C,MAAA,EAAA,CAAG,IAAI,IAAI,CAAA,EAAA,EAAK,EAAE,CAAA,EAAA,CAAA,EAAM,GAAG,CAAC,CAAA;AAAA,KAC9B;AAAA,IACA,MAAA,EAAQ,MAAO,cAAiB,GAAA,IAAA;AAAA,IAChC,OAAA,EAAS,MAAO,cAAiB,GAAA,KAAA;AAAA,IACjC,WAAW,MAAM;AAAA,GACnB;AACF;;;;"}