* Get enum values from a Zod enum type.
(t: z.ZodType)
| 128 | * Get enum values from a Zod enum type. |
| 129 | */ |
| 130 | function getEnumValues(t: z.ZodType): string[] | undefined { |
| 131 | const def = (t as { _zod?: { def?: { entries?: Record<string, string>; values?: string[] } } }) |
| 132 | ._zod?.def; |
| 133 | if (def?.entries) return Object.values(def.entries); |
| 134 | if (def?.values) return def.values; |
| 135 | |
| 136 | // Zod 3 fallback |
| 137 | const legacyDef = (t as { _def?: { values?: string[] } })._def; |
| 138 | return legacyDef?.values; |
| 139 | } |
| 140 | |
| 141 | /** |
| 142 | * Get the element type from an array type. |