在这段生成的解析与渲染代码处理生产 API 响应前,对它进行审查。
验证不可信 JSON,要求存在 label,不记录 token,保留合法的零值,并在新增联合成员却没有渲染逻辑时让编译失败。
TypeScript
type ApiResult =
| { kind: "ok"; value: number; token: string }
| { kind: "error"; message: string; token: string };
type Displayable = ApiResult & { label: string };
function parseResult(raw: string): Displayable {
const parsed = JSON.parse(raw) as Displayable;
return parsed;
}
function render(result: Displayable): string {
console.log("result", JSON.stringify(result));
switch (result.kind) {
case "ok":
if (!result.value) return `${result.label}:empty`;
return `${result.label}:${result.value}`;
case "error":
return `${result.label}:${result.message}`;
default:
return "unknown";
}
}
生成代码仅作示例,不代表任何特定模型