/** * 记录一个对象,根据设置处理对象,防止过大或过深 * 去除循环引用 * 返回一个新对象,这个新对象可以立即被 JSON.stringify * * ## 转换规则 * - `循环引用` → `"[Circular]"` * - `超过深度` → `"[Max Depth]"` * - `超过键数` → 截断并添加 `"... N more keys"` * - `超过字节` → `"[Truncated: bytes limit exceeded]"` * * ## 类型转换 * - `Date` → ISO 字符串 * - `RegExp` → 字符串 * - `Error` → `{ name, message, stack }` * - `Map` → 普通对象 * - `Set` → 数组 * - `Function` → `"[Function]"` * - `Symbol` → `"Symbol(...)"` * - `BigInt` → 字符串 * - `Infinity / NaN` → `null` * - `undefined` → `null` * * @param obj 要记录的对象 * @param options 配置选项 * @param options.maxDepth 最大深度,默认无限制 * @param options.maxKeys 最大键数量,默认无限制 * @param options.maxBytes 最大字节数,支持数字或字符串(如 "1KB", "1MB") * @returns 可以被 JSON.stringify 的新对象 */ export declare function objectRecord(obj: T, options?: { /** 最大深度 */ maxDepth?: number; /** 最大键数量 */ maxKeys?: number; /** 对象最大字节数 */ maxBytes?: number | string; }): T; //# sourceMappingURL=objectRecord.d.ts.map