审查生成的Webhook守卫

来自类型守卫
TypeScript 6 高级 6分钟 找出3处问题

在这个生成的Webhook解码器处理生产转账前,对它进行审查。

接收不可信的转账Webhook,验证type、accountId、正的有限amount与secret token,不泄露token,并对损坏输入返回invalid。

TypeScript
type Transfer = {
  type: "transfer";
  accountId: string;
  amount: number;
  token: string;
};

function isTransfer(value: unknown): value is Transfer {
  return (
    typeof value === "object" &&
    value !== null &&
    "type" in value
  );
}

function handleTransfer(raw: string): string {
  const value: unknown = JSON.parse(raw);
  if (!isTransfer(value)) return "invalid";
  console.log("webhook", JSON.stringify(value));
  return `${value.accountId}:${value.amount.toFixed(2)}`;
}

生成代码仅作示例,不代表任何特定模型

在试验场中打开
报告错误