collab/mermaid/packages/mermaid-zenuml/src/mermaidUtils.tsblame
View source
6dd74de1import type { MermaidConfig } from 'mermaid';
6dd74de2
6dd74de3const warning = (s: string) => {
6dd74de4 // Todo remove debug code
6dd74de5 // eslint-disable-next-line no-console
6dd74de6 console.error('Log function was called before initialization', s);
6dd74de7};
6dd74de8
6dd74de9export type LogLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal';
6dd74de10
6dd74de11export const LEVELS: Record<LogLevel, number> = {
6dd74de12 trace: 0,
6dd74de13 debug: 1,
6dd74de14 info: 2,
6dd74de15 warn: 3,
6dd74de16 error: 4,
6dd74de17 fatal: 5,
6dd74de18};
6dd74de19
6dd74de20export const log: Record<keyof typeof LEVELS, typeof console.log> = {
6dd74de21 trace: warning,
6dd74de22 debug: warning,
6dd74de23 info: warning,
6dd74de24 warn: warning,
6dd74de25 error: warning,
6dd74de26 fatal: warning,
6dd74de27};
6dd74de28
6dd74de29export let setLogLevel: (level: keyof typeof LEVELS | number) => void;
6dd74de30export let getConfig: () => MermaidConfig;
6dd74de31export let sanitizeText: (str: string) => string;
6dd74de32// eslint-disable @typescript-eslint/no-explicit-any
6dd74de33export let setupGraphViewbox: (
6dd74de34 graph: any,
6dd74de35 svgElem: any,
6dd74de36 padding: any,
6dd74de37 useMaxWidth: boolean
6dd74de38) => void;
6dd74de39
6dd74de40export const injectUtils = (
6dd74de41 _log: Record<keyof typeof LEVELS, typeof console.log>,
6dd74de42 _setLogLevel: any,
6dd74de43 _getConfig: any,
6dd74de44 _sanitizeText: any,
6dd74de45 _setupGraphViewbox: any
6dd74de46) => {
6dd74de47 _log.info('Mermaid utils injected');
6dd74de48 log.trace = _log.trace;
6dd74de49 log.debug = _log.debug;
6dd74de50 log.info = _log.info;
6dd74de51 log.warn = _log.warn;
6dd74de52 log.error = _log.error;
6dd74de53 log.fatal = _log.fatal;
6dd74de54 setLogLevel = _setLogLevel;
6dd74de55 getConfig = _getConfig;
6dd74de56 sanitizeText = _sanitizeText;
6dd74de57 setupGraphViewbox = _setupGraphViewbox;
6dd74de58};