From a3328b8617a5c373c419ff9467be6849d002dc05 Mon Sep 17 00:00:00 2001 From: skycurtain Date: Sun, 8 Feb 2026 23:29:24 +0800 Subject: [PATCH] =?UTF-8?q?fix(array-tracer):=20=E4=BF=AE=E6=AD=A3?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E5=91=BD=E4=BB=A4=E4=B8=AD=E6=95=B0=E7=BB=84?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E7=9A=84=E5=BF=85=E5=A1=AB=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将 `ArrayTracerCreateCommand.params.array` 从可选参数改为必填参数,以匹配实际实现逻辑。 同时更新 `createArrayTracer` 函数,确保在未提供 `array` 时使用空数组作为默认值,保持向后兼容性。 --- tracers.ts/src/tracers/array-tracer.ts | 6 +++--- tracers.ts/src/types/array-tracer.ts | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tracers.ts/src/tracers/array-tracer.ts b/tracers.ts/src/tracers/array-tracer.ts index 253a532..1437499 100644 --- a/tracers.ts/src/tracers/array-tracer.ts +++ b/tracers.ts/src/tracers/array-tracer.ts @@ -9,7 +9,7 @@ interface ArrayTracerCreateOptions { export const createArrayTracer = ( options: ArrayTracerCreateOptions, ) => { - const { description = 'ArrayTracer', array } = options; + const { description, array } = options; const tracer = crypto.randomUUID(); // 优化:仅维护数组长度作为影子状态,这在 C++/Java 等强类型语言中也极易实现(仅需一个 int 变量) @@ -31,8 +31,8 @@ export const createArrayTracer = ( tracer: tracer, action: 'create', params: { - description: description, - array: array, + description: description ?? 'ArrayTracer', + array: array ?? [], }, }); diff --git a/tracers.ts/src/types/array-tracer.ts b/tracers.ts/src/types/array-tracer.ts index 944a693..81eb06e 100644 --- a/tracers.ts/src/types/array-tracer.ts +++ b/tracers.ts/src/types/array-tracer.ts @@ -8,7 +8,7 @@ type ArrayTracerCreateCommand = BaseArrayTracerCommand & { action: 'create'; params: { description: string; - array?: JsonValue[]; + array: JsonValue[]; }; };