@lobehub/editor
Version:
A powerful and extensible rich text editor built on Meta's Lexical framework, providing a modern editing experience with React integration.
430 lines (429 loc) • 12.4 kB
TypeScript
import createDebug from 'debug';
/**
* Development mode check
*/
declare const isDev: boolean;
/**
* Debug utility factory for LobeHub Editor
* Creates namespaced debug functions following the pattern: lobe-editor:category
*/
export declare class DebugLogger {
private debuggers;
/**
* Get or create a debug function for a specific namespace
* @param category - The debug category (e.g., 'kernel', 'plugin', 'upload')
* @param subcategory - Optional subcategory for more specific debugging
* @returns Debug function
*/
getDebugger(category: string, subcategory?: string): createDebug.Debugger;
/**
* Create a scoped debug logger for a specific component/service
* @param category - Main category
* @param subcategory - Optional subcategory
* @returns Object with debug methods
*/
createLogger(category: string, subcategory?: string): {
/**
* General debug logging
*/
debug: createDebug.Debugger;
/**
* Error level logging - uses console.error for proper browser dev tool support
*/
error: (...args: any[]) => void;
/**
* Info level logging
*/
info: createDebug.Debugger;
/**
* Log function - alias for debug for compatibility
*/
log: createDebug.Debugger;
/**
* Warning level logging - uses console.warn for proper browser dev tool support
*/
warn: (...args: any[]) => void;
};
/**
* Enable debug for specific namespaces
* @param namespaces - Comma-separated list of namespaces to enable
*/
enable(namespaces: string): void;
/**
* Disable all debug output
*/
disable(): void;
/**
* Check if a namespace is enabled
* @param namespace - The namespace to check
* @returns Whether the namespace is enabled
*/
enabled(namespace: string): boolean;
}
/**
* Global debug logger instance
*/
export declare const debugLogger: DebugLogger;
/**
* Convenience function to create a debug logger for a specific category
* @param category - Main category (e.g., 'kernel', 'plugin', 'upload')
* @param subcategory - Optional subcategory
* @returns Logger object with debug methods
*/
export declare function createDebugLogger(category: string, subcategory?: string): {
/**
* General debug logging
*/
debug: createDebug.Debugger;
/**
* Error level logging - uses console.error for proper browser dev tool support
*/
error: (...args: any[]) => void;
/**
* Info level logging
*/
info: createDebug.Debugger;
/**
* Log function - alias for debug for compatibility
*/
log: createDebug.Debugger;
/**
* Warning level logging - uses console.warn for proper browser dev tool support
*/
warn: (...args: any[]) => void;
};
/**
* Pre-configured debug loggers for common categories
*/
export declare const debugLoggers: {
demo: {
/**
* General debug logging
*/
debug: createDebug.Debugger;
/**
* Error level logging - uses console.error for proper browser dev tool support
*/
error: (...args: any[]) => void;
/**
* Info level logging
*/
info: createDebug.Debugger;
/**
* Log function - alias for debug for compatibility
*/
log: createDebug.Debugger;
/**
* Warning level logging - uses console.warn for proper browser dev tool support
*/
warn: (...args: any[]) => void;
};
file: {
/**
* General debug logging
*/
debug: createDebug.Debugger;
/**
* Error level logging - uses console.error for proper browser dev tool support
*/
error: (...args: any[]) => void;
/**
* Info level logging
*/
info: createDebug.Debugger;
/**
* Log function - alias for debug for compatibility
*/
log: createDebug.Debugger;
/**
* Warning level logging - uses console.warn for proper browser dev tool support
*/
warn: (...args: any[]) => void;
};
image: {
/**
* General debug logging
*/
debug: createDebug.Debugger;
/**
* Error level logging - uses console.error for proper browser dev tool support
*/
error: (...args: any[]) => void;
/**
* Info level logging
*/
info: createDebug.Debugger;
/**
* Log function - alias for debug for compatibility
*/
log: createDebug.Debugger;
/**
* Warning level logging - uses console.warn for proper browser dev tool support
*/
warn: (...args: any[]) => void;
};
kernel: {
/**
* General debug logging
*/
debug: createDebug.Debugger;
/**
* Error level logging - uses console.error for proper browser dev tool support
*/
error: (...args: any[]) => void;
/**
* Info level logging
*/
info: createDebug.Debugger;
/**
* Log function - alias for debug for compatibility
*/
log: createDebug.Debugger;
/**
* Warning level logging - uses console.warn for proper browser dev tool support
*/
warn: (...args: any[]) => void;
};
markdown: {
/**
* General debug logging
*/
debug: createDebug.Debugger;
/**
* Error level logging - uses console.error for proper browser dev tool support
*/
error: (...args: any[]) => void;
/**
* Info level logging
*/
info: createDebug.Debugger;
/**
* Log function - alias for debug for compatibility
*/
log: createDebug.Debugger;
/**
* Warning level logging - uses console.warn for proper browser dev tool support
*/
warn: (...args: any[]) => void;
};
math: {
/**
* General debug logging
*/
debug: createDebug.Debugger;
/**
* Error level logging - uses console.error for proper browser dev tool support
*/
error: (...args: any[]) => void;
/**
* Info level logging
*/
info: createDebug.Debugger;
/**
* Log function - alias for debug for compatibility
*/
log: createDebug.Debugger;
/**
* Warning level logging - uses console.warn for proper browser dev tool support
*/
warn: (...args: any[]) => void;
};
mention: {
/**
* General debug logging
*/
debug: createDebug.Debugger;
/**
* Error level logging - uses console.error for proper browser dev tool support
*/
error: (...args: any[]) => void;
/**
* Info level logging
*/
info: createDebug.Debugger;
/**
* Log function - alias for debug for compatibility
*/
log: createDebug.Debugger;
/**
* Warning level logging - uses console.warn for proper browser dev tool support
*/
warn: (...args: any[]) => void;
};
plugin: {
/**
* General debug logging
*/
debug: createDebug.Debugger;
/**
* Error level logging - uses console.error for proper browser dev tool support
*/
error: (...args: any[]) => void;
/**
* Info level logging
*/
info: createDebug.Debugger;
/**
* Log function - alias for debug for compatibility
*/
log: createDebug.Debugger;
/**
* Warning level logging - uses console.warn for proper browser dev tool support
*/
warn: (...args: any[]) => void;
};
react: {
/**
* General debug logging
*/
debug: createDebug.Debugger;
/**
* Error level logging - uses console.error for proper browser dev tool support
*/
error: (...args: any[]) => void;
/**
* Info level logging
*/
info: createDebug.Debugger;
/**
* Log function - alias for debug for compatibility
*/
log: createDebug.Debugger;
/**
* Warning level logging - uses console.warn for proper browser dev tool support
*/
warn: (...args: any[]) => void;
};
service: {
/**
* General debug logging
*/
debug: createDebug.Debugger;
/**
* Error level logging - uses console.error for proper browser dev tool support
*/
error: (...args: any[]) => void;
/**
* Info level logging
*/
info: createDebug.Debugger;
/**
* Log function - alias for debug for compatibility
*/
log: createDebug.Debugger;
/**
* Warning level logging - uses console.warn for proper browser dev tool support
*/
warn: (...args: any[]) => void;
};
slash: {
/**
* General debug logging
*/
debug: createDebug.Debugger;
/**
* Error level logging - uses console.error for proper browser dev tool support
*/
error: (...args: any[]) => void;
/**
* Info level logging
*/
info: createDebug.Debugger;
/**
* Log function - alias for debug for compatibility
*/
log: createDebug.Debugger;
/**
* Warning level logging - uses console.warn for proper browser dev tool support
*/
warn: (...args: any[]) => void;
};
upload: {
/**
* General debug logging
*/
debug: createDebug.Debugger;
/**
* Error level logging - uses console.error for proper browser dev tool support
*/
error: (...args: any[]) => void;
/**
* Info level logging
*/
info: createDebug.Debugger;
/**
* Log function - alias for debug for compatibility
*/
log: createDebug.Debugger;
/**
* Warning level logging - uses console.warn for proper browser dev tool support
*/
warn: (...args: any[]) => void;
};
};
/**
* Development mode utilities
*/
export { isDev };
/**
* Conditional console logging - only logs in development mode
* Use this for demo files and development-only logging
*/
export declare const devConsole: {
error: (...args: any[]) => void;
info: (...args: any[]) => void;
log: (...args: any[]) => void;
warn: (...args: any[]) => void;
};
/**
* Production-safe error logging
* Always logs errors and warnings regardless of environment using native console methods
* for proper browser dev tool support. Debug/info uses debug package.
*/
export declare const prodSafeLogger: {
/**
* Debug info - only shown when debug is enabled
*/
debug: createDebug.Debugger;
/**
* Log critical errors that should always be visible (uses console.error)
*/
error: (...args: any[]) => void;
/**
* Info logging - only shown when debug is enabled
*/
info: createDebug.Debugger;
/**
* Log warnings that should always be visible (uses console.warn)
*/
warn: (...args: any[]) => void;
};
/**
* Browser debug utilities for Next.js and other client-side frameworks
*/
export declare const browserDebug: {
/**
* Disable debug logging in browser environment
*/
disable: () => void;
/**
* Enable debug logging in browser environment
* @param namespaces - Debug namespaces to enable (e.g., 'lobe-editor:*')
*/
enable: (namespaces?: string) => void;
/**
* Get current debug configuration
*/
getConfig: () => {
enabled: string | boolean;
source: string;
};
/**
* Show available debug categories
*/
showCategories: () => void;
/**
* Show current debug status and configuration
*/
showStatus: () => void;
};