1
0

refactor: 消除 es-toolkit/compat 依赖,isArray/isObject 替换为原生实现

This commit is contained in:
2026-05-19 14:57:56 +08:00
parent 7a635a0a9f
commit 8d8549d07f
14 changed files with 62 additions and 38 deletions

View File

@@ -1,6 +1,5 @@
import { SQL } from "bun";
import { isError } from "es-toolkit";
import { isArray } from "es-toolkit/compat";
import type { CheckResult, RawTargetConfig } from "../../types";
import type { CheckerContext, CheckerDefinition, CheckerValidationInput, ResolveContext } from "../types";
@@ -126,7 +125,7 @@ export class DbChecker implements CheckerDefinition<ResolvedDbTarget> {
durationMs,
failure: durationResult.failure,
matched: false,
statusDetail: `${isArray(rows) ? rows.length : 0} rows`,
statusDetail: `${Array.isArray(rows) ? rows.length : 0} rows`,
targetId: t.id,
timestamp,
};
@@ -134,13 +133,13 @@ export class DbChecker implements CheckerDefinition<ResolvedDbTarget> {
// rowCount 断言
if (t.expect?.rowCount) {
const rowCountResult = checkRowCount(isArray(rows) ? rows.length : 0, t.expect.rowCount);
const rowCountResult = checkRowCount(Array.isArray(rows) ? rows.length : 0, t.expect.rowCount);
if (!rowCountResult.matched) {
return {
durationMs,
failure: rowCountResult.failure,
matched: false,
statusDetail: `${isArray(rows) ? rows.length : 0} rows`,
statusDetail: `${Array.isArray(rows) ? rows.length : 0} rows`,
targetId: t.id,
timestamp,
};
@@ -155,7 +154,7 @@ export class DbChecker implements CheckerDefinition<ResolvedDbTarget> {
durationMs,
failure: rowsResult.failure,
matched: false,
statusDetail: `${isArray(rows) ? rows.length : 0} rows`,
statusDetail: `${Array.isArray(rows) ? rows.length : 0} rows`,
targetId: t.id,
timestamp,
};
@@ -163,7 +162,7 @@ export class DbChecker implements CheckerDefinition<ResolvedDbTarget> {
}
if (t.expect?.result && t.expect.result.length > 0) {
const rowCount = isArray(rows) ? rows.length : 0;
const rowCount = Array.isArray(rows) ? rows.length : 0;
const resultCheck = checkContentRules({ rowCount, rows }, t.expect.result, { path: "result", phase: "result" });
if (!resultCheck.matched) {
return {
@@ -181,7 +180,7 @@ export class DbChecker implements CheckerDefinition<ResolvedDbTarget> {
durationMs,
failure: null,
matched: true,
statusDetail: `${isArray(rows) ? rows.length : 0} rows`,
statusDetail: `${Array.isArray(rows) ? rows.length : 0} rows`,
targetId: t.id,
timestamp,
};

View File

@@ -1,5 +1,4 @@
import { isPlainObject } from "es-toolkit";
import { isArray } from "es-toolkit/compat";
import type { ExpectResult, KeyValueExpect, ValueMatcher } from "../../expect/types";
@@ -16,7 +15,7 @@ export function checkRowCount(actual: number, matcher: ValueMatcher): ExpectResu
}
export function checkRows(rows: unknown, rules: KeyValueExpect[]): ExpectResult {
if (!isArray(rows)) {
if (!Array.isArray(rows)) {
return {
failure: mismatchFailure("row", "rows", rules, rows, "查询结果不是数组"),
matched: false,

View File

@@ -1,5 +1,4 @@
import { isPlainObject, isString } from "es-toolkit";
import { isArray } from "es-toolkit/compat";
import type { ConfigValidationIssue } from "../../schema/issues";
import type { CheckerValidationInput } from "../types";
@@ -54,7 +53,7 @@ function validateDbExpect(target: Record<string, unknown>, path: string): Config
}
if (expect["rows"] !== undefined) {
if (!isArray(expect["rows"])) {
if (!Array.isArray(expect["rows"])) {
issues.push(issue("invalid-type", joinPath(expectPath, "rows"), "必须为数组", targetName));
} else {
issues.push(...collectRowExpects(expect["rows"], joinPath(expectPath, "rows"), targetName));