UNPKG

@grafana/ui

Version:
1 lines 1.96 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,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;;;;"}