Input:
public class OverridableDto<T>
{
public T? Value { get; set; }
public bool IsOverridden { get; set; }
}
public class ItemResponseDto
{
public Guid OriginalId { get; set; }
public OverridableDto<string> Name { get; set; }
}
Expected output:
export interface OverridableDto<T> {
value?: T;
isOverridden: boolean;
}
export const OverridableDtoSchema = z.object({
value: z.any().nullable(), // Would actually be nice to have a better type here, but any works for now
isOverridden: z.boolean(),
});
//
import { OverridableDto, OverridableDtoSchema } from './overridable-dto';
export interface ItemResponseDto {
originalId: string;
name: OverridableDto<string>;
}
Input:
Expected output: