Skip to content

Commit 87e080b

Browse files
Update apps/web/src/features/upload/utils.ts
refactor: make errors more descriptive for zodSet interpretation Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
1 parent 8aaefd4 commit 87e080b

1 file changed

Lines changed: 16 additions & 9 deletions

File tree

apps/web/src/features/upload/utils.ts

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -141,21 +141,28 @@ export function getZodTypeName(schema: z.ZodTypeAny, isOptional?: boolean): ZodT
141141
} else if (isZodArrayDef(def)) {
142142
return interpretZodArray(schema, def.typeName, isOptional);
143143
} else if (isZodSetDef(def)) {
144-
const innerDef: unknown = def.valueType._def;
145-
146-
if (isZodTypeDef(innerDef) && isZodEnumDef(innerDef)) {
144+
const innerDef = def.valueType._def as AnyZodTypeDef;
145+
146+
if (!isZodTypeDef(innerDef)) {
147147
return {
148-
enumValues: innerDef.values,
149-
isOptional: Boolean(isOptional),
150-
success: true,
151-
typeName: def.typeName
148+
message: 'Invalid inner type: ZodSet value type must have a valid type definition',
149+
success: false
152150
};
153-
} else {
151+
}
152+
153+
if (!isZodEnumDef(innerDef)) {
154154
return {
155-
message: 'Invalid types with set definition',
155+
message: 'Invalid inner type: ZodSet value type must be a ZodEnum',
156156
success: false
157157
};
158158
}
159+
160+
return {
161+
enumValues: innerDef.values,
162+
isOptional: Boolean(isOptional),
163+
success: true,
164+
typeName: def.typeName
165+
};
159166
}
160167

161168
return {

0 commit comments

Comments
 (0)