UNPKG

@grafana/ui

Version:
1 lines 1.97 kB
{"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,QAAA,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;;;;"}