I have defined opaque types in my application and have implemented those in the drizzle schema (awesome and easy to use!). The opaque types are defined using zods Brand feature i.e.
z.string().uuid().brand<"SomeId">();
z.string().uuid().brand<"SomeId">();
I have that defined in the drizzle schema as
someId: uuid("id").$type<SomeId>().notNull()
someId: uuid("id").$type<SomeId>().notNull()
When I use drizzle-zod to create the schema and infer the type, it's coming back as a
z.ZodString
z.ZodString
rather than
z.ZodBranded
z.ZodBranded
.
Is this a bug, a feature that is in development, or simply not supported and I need to override these types?