mirror of
https://github.com/hansjone/oclaw.git
synced 2026-10-12 17:43:17 +08:00
同时收敛启动与运维脚本默认行为(含 wiki worker)、更新 Admin 可观测性与相关测试,降低首轮时延并提高运行稳定性。 Made-with: Cursor
17 lines
591 B
TypeScript
17 lines
591 B
TypeScript
import { setTimeout as nativeSetTimeout } from "node:timers";
|
|
import { vi } from "vitest";
|
|
|
|
export function useFastShortTimeouts(maxDelayMs = 2000): () => void {
|
|
const spy = vi.spyOn(global, "setTimeout").mockImplementation(((
|
|
handler: TimerHandler,
|
|
timeout?: number,
|
|
...args: unknown[]
|
|
) => {
|
|
const delay = typeof timeout === "number" ? timeout : 0;
|
|
if (delay > 0 && delay <= maxDelayMs) {
|
|
return nativeSetTimeout(handler, 0, ...args);
|
|
}
|
|
return nativeSetTimeout(handler, delay, ...args);
|
|
}) as typeof setTimeout);
|
|
return () => spy.mockRestore();
|
|
}
|