@ acid- cat/ catalog
TypeScript 的 AcidCat 目录库 。 npm 软件包 : @acid-cat/catalog。 。 。 .
在 TypeScript 中写出目录,并以条形写出. 图书馆没有附属性. 在构建时使用它来写入 acidcat.catalog.json。 。 。 .
pnpm add -D @acid-cat/catalog
import { Catalog } from "@acid-cat/catalog";
const catalog = new Catalog({ title: "Neighbourhood lending library" });
catalog.target("desk", { bindings: ["cli"] });
const notFound = catalog.type("NotFound", { type: "object" });
catalog.capability("library.loan.return", {
description: "Take a book back from a member.",
audience: ["desk"],
input: { type: "object", required: ["loan"], properties: { loan: { type: "string" } } },
failures: { NotFound: notFound },
});
await writeFile("acidcat.catalog.json", catalog.render());
validate() 列出规则目录分解,以及 render() 拒绝让一个打破任何。 完整的例子是 examples/library.ts借书室.
测试将库的输出与此目录中的文件进行比较: 出借- 图书馆目录 examples/library.acidcat.json,以及语言写法不同的价值观目录, test/fixtures/edge.acidcat.json。测试也比较 examples/aircon.ts 与寄存器的空调目录。 每个已承诺的目录文件都在 犬类形态词根 moon run check 检查这个。 因此,所有目录库都同意犬科的形式,它们并不共享测试文件. 测试 moon run catalog-typescript:test。 。 。 .