@messari/sdk
Version:
Messari SDK provides a type-safe, intuitive interface for accessing Messari's suite of crypto data and AI APIs.
40 lines (39 loc) • 1.34 kB
TypeScript
/**
* The severity level of a log message.
*/
export declare enum LogLevel {
NONE = "none",
DEBUG = "debug",
INFO = "info",
WARN = "warn",
ERROR = "error"
}
/**
* A function that logs a message with a given severity level.
*/
export type Logger = (level: LogLevel, message: string, extraInfo?: Record<string, unknown>) => void;
/**
* Creates a logger that logs messages to the console.
* @param name - The name of the logger.
* @returns A logger function.
*/
export declare const makeConsoleLogger: (name: string) => Logger;
/**
* Transforms a log level into a comparable (numerical) value ordered by severity.
* @param level - The log level to transform.
* @returns A numerical value representing the severity of the log level.
*/
export declare function logLevelSeverity(level: LogLevel): number;
/**
* Creates a logger that only logs messages with a severity greater than or equal to the specified level.
* @param logger - The logger to filter.
* @param minLevel - The minimum log level to log.
* @returns A filtered logger.
*/
export declare const createFilteredLogger: (logger: Logger, minLevel: LogLevel) => Logger;
/**
* Returns a logger that does nothing (no-op).
* Use this when you want to completely disable logging.
* @returns A no-op logger.
*/
export declare const noOpLogger: Logger;