DeepReadonly

Сложная

Реализуйте тип DeepReadonly<T>, который делает все свойства объекта (включая вложенные) readonly. Используйте generics и conditional types.

Примеры:

Input 1: type Result = DeepReadonly<{ nested: { value: number } }>
Output 1: { readonly nested: { readonly value: number } }
Output
Run your code to see results.