/** * 输出限制工具 - 防止响应被截断 * 用于处理大量数据输出时的截断问题 */ /** * 截断配置选项 */ export interface TruncateOptions { /** 最大长度限制 */ maxLength?: number; /** 截断后添加的后缀 */ suffix?: string; /** 是否保留开头部分 */ preserveHead?: boolean; /** 保留开头的字符数(当 preserveHead 为 true 时有效) */ headLength?: number; /** 保留结尾的字符数(当 preserveHead 为 true 时有效) */ tailLength?: number; } /** * 智能截断字符串,避免输出过长被截断 * * @param str - 原始字符串 * @param options - 截断选项 * @returns 截断后的字符串 * * @example * ```typescript * // 简单截断 * const short = truncateString(longText, { maxLength: 1000 }); * * // 保留首尾 * const summary = truncateString(longText, { * preserveHead: true, * headLength: 500, * tailLength: 500 * }); * ``` */ export declare function truncateString(str: string, options?: TruncateOptions): string; /** * 截断对象/数组的字符串表示,用于日志输出 * * @param data - 任意数据 * @param maxLength - 最大长度 * @returns 截断后的字符串 */ export declare function truncateForLog(data: unknown, maxLength?: number): string; /** * 分批处理大量数据,避免一次性输出过多 * * @param items - 数据项数组 * @param batchSize - 每批大小 * @param processor - 处理函数 * @returns 处理结果 * * @example * ```typescript * const results = await batchProcess( * largeArray, * 100, * async (batch) => { * console.log(`Processing batch of ${batch.length} items`); * return batch.map(item => process(item)); * } * ); * ``` */ export declare function batchProcess(items: T[], batchSize: number, processor: (batch: T[], batchIndex: number) => Promise | R[]): Promise; /** * 创建受限制的日志输出函数 * * @param maxLength - 单条日志最大长度 * @returns 受限的日志函数 */ export declare function createLimitedLogger(maxLength?: number): { log: (...args: unknown[]) => void; warn: (...args: unknown[]) => void; error: (...args: unknown[]) => void; }; /** * 数据摘要生成器 - 用于生成数据的简短摘要 * * @param data - 任意数据 * @returns 数据摘要 */ export declare function generateSummary(data: unknown): string;