@cmtlyt/logger
Version:
42 lines (41 loc) • 1.39 kB
TypeScript
import type { LoggerCtx, LoggerOptions } from './types';
export declare function withResolvers<T>(): {
resolve: (value: T) => void;
reject: (reason?: any) => void;
promise: Promise<T>;
};
export declare function isPromise(value: any): value is Promise<any>;
export declare function parseOutputAdapters(options: LoggerOptions<any>, resolvers: {
reject: (reason?: any) => void;
resolve: () => void;
}): any[];
/**
* 规范化Logger配置选项,将用户输入转换为内部使用的标准格式
*
* 主要功能:
* - 处理输出适配器的不同输入格式(函数、对象、数组)
* - 设置默认的最大嵌套深度
* - 提供默认的转换和报告函数
* - 过滤无效的适配器
*
* @template T 数据类型
* @param options 用户提供的Logger配置选项
* @returns 规范化后的配置选项
* @throws {TypeError} 当outputAdapters不是数组时抛出类型错误
*
* @example
* ```typescript
* const options = {
* outputAdapters: [webConsoleAdapter(), customAdapter],
* maxNestingDepth: 5,
* transform: (data) => ({ ...data, timestamp: Date.now() })
* };
*
* const normalizedOptions = normalizeOptions(options);
* // 返回标准化的配置对象
* ```
*/
export declare function normalizeOptions<T>(options: LoggerOptions<T>): {
options: LoggerCtx<T>['options'];
readyPromise: Promise<void>;
};