我想使用Vitepress(或类似)创建一个文档。这个应用程序使用了一个包含类型和模式的包。根库索引。t可以是
import { z } from 'zod';
const userSchema = z
.object({
username: z.string().min(1),
})
.strict();
type User = z.infer<typeof userSchema>;
export { userSchema, type User }
是否有一种方法可以在markdown文件中呈现模式或类型?
可能在Vue文件(VitePress)的帮助下
我只是想描述模式或类型,但不想从中复制粘贴所有字段,因为这样我必须注意所有内容都是同步的。
- 使用https://www.npmjs.com/package/zod-to-ts将模式转换为运行时typescript-lang string
- 使用
ts-vue Code Blocks
来渲染
<script setup lang="ts">
import { printNode, zodToTs } from 'zod-to-ts'
import { UserSchema } from './schemas'
const identifier = 'User'
const { node } = zodToTs(UserSchema, identifier)
const nodeString = printNode(node)
</script>
```ts-vue
// {{ identifier }} Schema
{{ nodeString }}
```