Skip to content

Commit 11e507c

Browse files
authored
docs: add ts as const example in zod enums (#2412)
* docs: sync zh docs translation * fix: remove extra change
1 parent e06321c commit 11e507c

File tree

1 file changed

+12
-5
lines changed

1 file changed

+12
-5
lines changed

README_ZH.md

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,6 @@ Zod 被设计成对开发者尽可能友好。其目的是消除重复的类型
280280

281281
_要在这里看到你的名字 + Twitter + 網站 , 请在[Freelancer](https://github.com/sponsors/colinhacks)[Consultancy](https://github.com/sponsors/colinhacks)赞助 Zod ._
282282

283-
284283
# 生态系统
285284

286285
有越来越多的工具是建立在 Zod 之上或原生支持 Zod 的! 如果你在 Zod 的基础上建立了一个工具或库,请在[Twitter](https://twitter.com/colinhacks) 或者 [Discussion](https://github.com/colinhacks/zod/discussions)上告诉我。我会在下面添加,并在推特上发布。
@@ -292,7 +291,7 @@ _要在这里看到你的名字 + Twitter + 網站 , 请在[Freelancer](https://
292291
- [`zod-fast-check`](https://github.com/DavidTimms/zod-fast-check): 从 Zod 模式中生成 `fast-check` 的任意数据。
293292
- [`zod-endpoints`](https://github.com/flock-community/zod-endpoints): 约定优先的严格类型的端点与 Zod。兼容 OpenAPI。
294293
- [`express-zod-api`](https://github.com/RobinTail/express-zod-api): 用 I/O 模式验证和自定义中间件构建基于 Express 的 API 服务
295-
- [`zod-i18n-map`](https://github.com/aiji42/zod-i18n): 有助于翻译zod错误信息
294+
- [`zod-i18n-map`](https://github.com/aiji42/zod-i18n): 有助于翻译 zod 错误信息
296295
- [`mobx-zod-form`](https://github.com/MonoidDev/mobx-zod-form): 以数据为中心的表格构建工具,基于 MobX 和 Zod。
297296

298297
# 安装
@@ -314,6 +313,7 @@ _要在这里看到你的名字 + Twitter + 網站 , 请在[Freelancer](https://
314313
```
315314

316315
### `npm`(Node/Bun)安装
316+
317317
```sh
318318
npm install zod
319319
yarn add zod # yarn
@@ -323,7 +323,8 @@ pnpm add zod # pnpm
323323

324324
### `deno.land/x` (Deno)安装
325325

326-
和Node不同,Demo依靠一个直接的URL导入而非像npm这样的包管理器。可以这样导入最新版本的Zod:
326+
和 Node 不同,Demo 依靠一个直接的 URL 导入而非像 npm 这样的包管理器。可以这样导入最新版本的 Zod:
327+
327328
```ts
328329
import { z } from "https://deno.land/x/zod/mod.ts";
329330
```
@@ -334,8 +335,7 @@ import { z } from "https://deno.land/x/zod/mod.ts";
334335
import { z } from "https://deno.land/x/[email protected]/mod.ts";
335336
```
336337

337-
> README的剩余部分假定你是直接通过npm安装的`zod`包。
338-
338+
> README 的剩余部分假定你是直接通过 npm 安装的`zod`包。
339339
340340
# 基本用法
341341

@@ -929,6 +929,13 @@ const FishEnum = z.enum(fish);
929929

930930
在这种情况下,Zod 无法推断出各个枚举元素;相反,推断出的类型将是 `string` 而不是`'Salmon'|'Tuna'|'Trout'`
931931

932+
另一种可行的方式是使用`as const`,这样 Zod 就可以推断出正确的类型。
933+
934+
```ts
935+
const VALUES = ["Salmon", "Tuna", "Trout"] as const;
936+
const FishEnum = z.enum(VALUES);
937+
```
938+
932939
**自动补全**
933940

934941
为了获得 Zod 枚举的自动完成,请使用你的模式的`.enum`属性:

0 commit comments

Comments
 (0)