>>107602646
Typescript does not have runtime type information (RTTI). You cannot declare a class in typescript like this:
class Foo {
bar: string;
}
and interrogate that type later. i.e, you cannot get a list of fields and their types without a 3rd party tool like zod or class validators. This means you either have to
>a) Write your type information twice (class-validators) risking human error
>b) Write your types using runtime code and infer the types from there, not using any of the native tools for declaring types (classes, types, interfaces) which is a very code-smelly solution and also looks like shit