fix(array-tracer): 修正创建命令中数组参数的必填性

将 `ArrayTracerCreateCommand.params.array` 从可选参数改为必填参数,以匹配实际实现逻辑。
同时更新 `createArrayTracer` 函数,确保在未提供 `array` 时使用空数组作为默认值,保持向后兼容性。
This commit is contained in:
2026-02-08 23:29:24 +08:00
parent 5cc4f96b46
commit a3328b8617
2 changed files with 4 additions and 4 deletions

View File

@@ -9,7 +9,7 @@ interface ArrayTracerCreateOptions<T extends JsonValue[]> {
export const createArrayTracer = <T extends JsonValue[]>( export const createArrayTracer = <T extends JsonValue[]>(
options: ArrayTracerCreateOptions<T>, options: ArrayTracerCreateOptions<T>,
) => { ) => {
const { description = 'ArrayTracer', array } = options; const { description, array } = options;
const tracer = crypto.randomUUID(); const tracer = crypto.randomUUID();
// 优化:仅维护数组长度作为影子状态,这在 C++/Java 等强类型语言中也极易实现(仅需一个 int 变量) // 优化:仅维护数组长度作为影子状态,这在 C++/Java 等强类型语言中也极易实现(仅需一个 int 变量)
@@ -31,8 +31,8 @@ export const createArrayTracer = <T extends JsonValue[]>(
tracer: tracer, tracer: tracer,
action: 'create', action: 'create',
params: { params: {
description: description, description: description ?? 'ArrayTracer',
array: array, array: array ?? [],
}, },
}); });

View File

@@ -8,7 +8,7 @@ type ArrayTracerCreateCommand = BaseArrayTracerCommand & {
action: 'create'; action: 'create';
params: { params: {
description: string; description: string;
array?: JsonValue[]; array: JsonValue[];
}; };
}; };