2
0
Просмотр исходного кода

📝 docs(zod): 更新zod类型转换语法规范

- 将 `z.coerce.number()` 更新为 `z.coerce.number<number>()` 明确泛型类型
- 将 `z.coerce.date()` 更新为 `z.coerce.date<Date>()` 明确日期类型
- 将 `z.coerce.boolean()` 更新为 `z.coerce.boolean<boolean>()` 明确布尔类型
- 同步更新代码标准和通用CRUD后端的文档示例
- 确保类型转换语法的一致性和类型安全性
D8D Developer 6 месяцев назад
Родитель
Сommit
f2353f2d13
2 измененных файлов с 17 добавлено и 17 удалено
  1. 5 5
      .claude/agents/code-standards-checker.md
  2. 12 12
      .claude/agents/generic-crud-backend.md

+ 5 - 5
.claude/agents/code-standards-checker.md

@@ -77,7 +77,7 @@ c.req.param()
 ✅ **数字参数处理**:
 ```typescript
 // 正确 - 使用 coerce
-z.coerce.number().int().positive()
+z.coerce.number<number>().int().positive()
 // 错误 - 直接使用 number
 z.number().int().positive()
 ```
@@ -85,7 +85,7 @@ z.number().int().positive()
 ✅ **布尔参数处理**:
 ```typescript
 // 正确
-z.coerce.boolean()
+z.coerce.boolean<boolean>()
 // 错误  
 z.boolean()
 ```
@@ -173,17 +173,17 @@ description?: string; // 错误
 #### Zod Schema规范
 ✅ **数字类型转换**:
 ```typescript
-z.coerce.number().int('必须是整数').positive('必须是正整数')
+z.coerce.number<number>().int('必须是整数').positive('必须是正整数')
 ```
 
 ✅ **日期类型转换**:
 ```typescript
-z.coerce.date('日期格式不正确')
+z.coerce.date<Date>('日期格式不正确')
 ```
 
 ✅ **布尔类型转换**:
 ```typescript
-z.coerce.boolean('必须是布尔值')
+z.coerce.boolean<boolean>('必须是布尔值')
 ```
 
 ### 5. 实体创建流程规范(基于 .roo/rules/11-entity-creation.md)

+ 12 - 12
.claude/agents/generic-crud-backend.md

@@ -79,7 +79,7 @@ import { z } from '@hono/zod-openapi';
 
 // 实体完整Schema(用于响应)
 export const YourEntitySchema = z.object({
-  id: z.coerce.number().int('必须是整数').positive('必须是正整数').openapi({
+  id: z.coerce.number<number>().int('必须是整数').positive('必须是正整数').openapi({
     description: '实体ID',
     example: 1
   }),
@@ -91,15 +91,15 @@ export const YourEntitySchema = z.object({
     description: '实体描述',
     example: '这是一个示例描述'
   }),
-  isDisabled: z.coerce.number().int('必须是整数').min(0, '最小值为0').max(1, '最大值为1').openapi({
+  isDisabled: z.coerce.number<number>().int('必须是整数').min(0, '最小值为0').max(1, '最大值为1').openapi({
     description: '禁用状态 (0启用 1禁用)',
     example: 0
   }),
-  createdAt: z.coerce.date('创建时间格式不正确').openapi({
+  createdAt: z.coerce.date<Date>('创建时间格式不正确').openapi({
     description: '创建时间',
     example: '2023-10-01T12:00:00Z'
   }),
-  updatedAt: z.coerce.date('更新时间格式不正确').openapi({
+  updatedAt: z.coerce.date<Date>('更新时间格式不正确').openapi({
     description: '更新时间',
     example: '2023-10-01T12:00:00Z'
   })
@@ -115,7 +115,7 @@ export const CreateYourEntityDto = z.object({
     description: '实体描述(选填)',
     example: '这是一个示例描述'
   }),
-  isDisabled: z.coerce.number().int('必须是整数').min(0, '最小值为0').max(1, '最大值为1').default(0).openapi({
+  isDisabled: z.coerce.number<number>().int('必须是整数').min(0, '最小值为0').max(1, '最大值为1').default(0).openapi({
     description: '禁用状态 (0启用 1禁用)',
     example: 0
   })
@@ -131,7 +131,7 @@ export const UpdateYourEntityDto = z.object({
     description: '实体描述',
     example: '更新后的描述'
   }),
-  isDisabled: z.coerce.number().int('必须是整数').min(0, '最小值为0').max(1, '最大值为1').optional().openapi({
+  isDisabled: z.coerce.number<number>().int('必须是整数').min(0, '最小值为0').max(1, '最大值为1').optional().openapi({
     description: '禁用状态 (0启用 1禁用)',
     example: 1
   })
@@ -310,9 +310,9 @@ description?: string;
 ✅ **状态字段**: 使用tinyint类型,明确取值含义
 
 ### 2. Zod Schema规范(基于 .roo/rules/10-entity.md)
-✅ **数字类型转换**: 必须使用 `z.coerce.number()`
-✅ **日期类型转换**: 必须使用 `z.coerce.date()`
-✅ **布尔类型转换**: 必须使用 `z.coerce.boolean()`
+✅ **数字类型转换**: 必须使用 `z.coerce.number<number>()`
+✅ **日期类型转换**: 必须使用 `z.coerce.date<Date>()`
+✅ **布尔类型转换**: 必须使用 `z.coerce.boolean<boolean>()`
 ✅ **OpenAPI元数据**: 必须包含description和example
 
 ### 3. RPC调用规范(基于 .roo/rules/08-rpc.md)
@@ -370,9 +370,9 @@ InferResponseType<typeof client[':id'].$get, 200>
 
 ### Zod Schema检查
 ✅ Schema验证规则完善
-✅ 数字类型使用 `z.coerce.number()`
-✅ 日期类型使用 `z.coerce.date()`
-✅ 布尔类型使用 `z.coerce.boolean()`
+✅ 数字类型使用 `z.coerce.number<number>()`
+✅ 日期类型使用 `z.coerce.date<Date>()`
+✅ 布尔类型使用 `z.coerce.boolean<boolean>()`
 ✅ 所有Schema包含OpenAPI元数据(description/example)
 
 ### 项目规范合规性