@ compas/ code- gen
代码生成器用于路由器,验证器,SQL查询,API客户端等. 拿着 看着 文档。 。 。 .
维护模式
Compas处于维护状态. 软件包将保留给 可预见的未来。 可能增加一些新功能,但有些功能也将删除 有利于其他生态系统可用的图书馆。 请不要开始新的项目 使用Compas.
作为服务器
mainFn(import.meta, main);
async function main() {
const app = new App();
const T = new TypeCreator("post");
const R = T.router("/post");
app.add(
new TypeCreator("database")
.object("post")
.keys({
title: T.string().searchable(),
body: T.string(),
})
.enableQueries({ withDates: true }),
T.crud("/post").entity(T.reference("database", "post")).routes({
listRoute: true,
singleRoute: true,
createRoute: true,
updateRoute: true,
deleteRoute: true,
}),
);
await app.generate({
outputDirectory: "./src/generated/application",
dumpStructure: true,
dumpApiStructure: true,
dumpPostgres: true,
enabledGenerators: ["validator", "router", "sql", "apiClient"],
});
}
作为客户
mainFn(import.meta, main);
async function main() {
const app = new App({ verbose: true });
const fromRemote = await loadApiStructureFromRemote(
Axios,
"https://some.compas.powered.backend",
);
app.extend(fromRemote);
await app.generate({
outputDirectory: "./src/generated",
isBrowser: true,
enabledGenerators: ["type", "apiClient", "reactQuery"],
});
await spawn("yarn", ["format"]);
}