【发布时间】:2022-10-08 12:42:26
【问题描述】:
我已经搜索了文档,但没有找到适合这种情况的解决方案。我有以下模式。
const RelationSchema = z.object({
guid: z.string(),
createdDate: z.preprocess(castToDate, z.date()),
modifiedDate: z.preprocess(castToDate, z.date()).nullable(),
name: z.string(),
publicationtype: z.string(),
contentType: z.string(),
});
export const NobbRelationsSchema = z.array(NobbRelationSchema);
使用NobbRelationsSchema.parse() 解析数组时,有时我会以未定义的形式返回name。在这些情况下,我希望 Zod 不要抛出错误,而是删除该元素并继续其余部分。一种过滤。
我看到的选项是使用safeParse 并将name 设置为可选,然后过滤掉这些。但是,它会在后面的代码中搞乱 TypeScript 类型检查,因为应该始终为有效元素设置 name。
【问题讨论】:
标签: typescript zod