import type { DownloaderClient, SiteRelease } from "@umt/adapters"; import type { DomainDownloadStatus, SiteReleaseLike } from "@umt/mapping"; import { toDomainDownloadStatus } from "@umt/mapping"; import { describe, expect, it } from "vitest"; // @umt/mapping 不依赖 adapters;server 同时依赖两者,在这里做类型层兼容校验。 type Assert = T; export type _SiteReleaseCompatible = Assert; // 删数据接口必须带安全检查输入(B7) export type _DeleteRequiresSafety = Assert< { deleteFiles: true } extends Parameters[1] ? false : true >; describe("mapping ↔ adapters 兼容", () => { it("adapters 的 SiteRelease 可直接交给 mapping", () => { const status: DomainDownloadStatus = toDomainDownloadStatus("paused", "threshold"); expect(status).toBe("paused_by_threshold"); }); });