From 64145422ebdc2cbe6adb53376b003f6d42050899 Mon Sep 17 00:00:00 2001 From: Yaojia Wang Date: Wed, 8 Jul 2026 13:27:45 +0200 Subject: [PATCH] =?UTF-8?q?refactor(web):=20=E5=8E=BB=E5=86=97=E4=BD=99=20?= =?UTF-8?q?cast=EF=BC=88idx.valueOf=20/=20dict[error]=20as=20string?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit stream/sse.ts SseFrameBuffer 去 idx.valueOf()(idx 本就是 number);jobs/job.ts 去 dict["error"] as string(typeof 守卫后 TS 自动收窄)。typecheck 绿。 --- apps/web/lib/jobs/job.ts | 2 +- apps/web/lib/stream/sse.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/web/lib/jobs/job.ts b/apps/web/lib/jobs/job.ts index 6010f2e..fb164d7 100644 --- a/apps/web/lib/jobs/job.ts +++ b/apps/web/lib/jobs/job.ts @@ -45,7 +45,7 @@ export function narrowJob(raw: unknown): JobView { status: asStatus(dict["status"]), progress: asProgress(dict["progress"]), result: asResult(dict["result"]), - error: typeof dict["error"] === "string" ? (dict["error"] as string) : null, + error: typeof dict["error"] === "string" ? dict["error"] : null, }; } diff --git a/apps/web/lib/stream/sse.ts b/apps/web/lib/stream/sse.ts index 4c2f7a7..1ac9c21 100644 --- a/apps/web/lib/stream/sse.ts +++ b/apps/web/lib/stream/sse.ts @@ -85,7 +85,7 @@ export class SseFrameBuffer { let idx: number; // 块之间以空行(\n\n,兼容 \r\n\r\n)分隔。 while ((idx = this.findBoundary(this.buf)) !== -1) { - const block = this.buf.slice(0, idx.valueOf()); + const block = this.buf.slice(0, idx); this.buf = this.buf.slice(this.boundaryEnd(this.buf, idx)); const evt = parseSseBlock(block); if (evt) events.push(evt);