- 引入 typed target 判别联合,支持 http 与 command 两种 checker - expect 重构为有序规则数组,按配置顺序快速失败并生成结构化 failure - 新增 command runner,支持 exec + args 本地命令执行 - 引入全局并发限制 maxConcurrentChecks 和 size 解析 (KB/MB/GB) - HTTP/command 各自独立 expect pipeline,应用领域默认成功语义 - SQLite schema、API、Dashboard 全链路调整为 checker 通用契约 - 补充完整测试覆盖(192 tests),更新 README 与示例配置
35 lines
751 B
TypeScript
35 lines
751 B
TypeScript
import type { CheckFailure } from "../types";
|
|
|
|
export function truncateActual(value: unknown, maxLen = 200): unknown {
|
|
if (value === undefined || value === null) return value;
|
|
const str = String(value);
|
|
if (str.length <= maxLen) return value;
|
|
return str.slice(0, maxLen) + "...";
|
|
}
|
|
|
|
export function mismatchFailure(
|
|
phase: CheckFailure["phase"],
|
|
path: string,
|
|
expected: unknown,
|
|
actual: unknown,
|
|
message: string,
|
|
): CheckFailure {
|
|
return {
|
|
kind: "mismatch",
|
|
phase,
|
|
path,
|
|
expected,
|
|
actual: truncateActual(actual),
|
|
message,
|
|
};
|
|
}
|
|
|
|
export function errorFailure(phase: CheckFailure["phase"], path: string, message: string): CheckFailure {
|
|
return {
|
|
kind: "error",
|
|
phase,
|
|
path,
|
|
message,
|
|
};
|
|
}
|