审查生成的任务注册表

来自 satisfies 操作符
TypeScript 6 高级 6分钟 找出 4处问题

审查这个由环境变量驱动的生成任务注册表。

从环境 JSON 加载且仅加载 cleanup 与 invoice 任务,拒绝格式错误的配置,并在不静默改变行为的前提下执行指定任务。

TypeScript
type JobName = "cleanup" | "invoice";
type Job = {
  schedule: "hourly" | "daily";
  retries: number;
  run(input: unknown): void;
};

declare const env: { JOBS?: string };
const rawJobs = JSON.parse(env.JOBS ?? "{}");
const jobs = rawJobs satisfies Record<string, Job>;

const fallback = {
  schedule: "daily",
  retries: 0,
  run: (_input: unknown) => undefined,
} as const satisfies Job;

function execute(name: JobName, input: unknown): void {
  const job = jobs[name] ?? fallback;
  job.run(input);
}

execute("cleanup", { tenantId: "acme" });

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

在试验场中打开
报告错误