BHARAT GENIUS SEARCH

Ts Playground 35 Upd May 2026

type DeepReadonly<T> = { readonly [P in keyof T]: DeepReadonly<T[P]>; }; interface ApiResponse { user: { name: string; settings: { theme: string } }; }

Happy typing. — The TypeScript Playground Team ts playground 35

Date: April 14, 2026 Author: TypeScript Team / Community Spotlight type DeepReadonly&lt;T&gt; = { readonly [P in keyof

👉

let data: DeepReadonly<ApiResponse>; data.user.settings.theme = "dark"; // Error: Cannot assign to 'theme' settings: { theme: string } }

Paste your favorite type puzzle. See what breaks — or beautifully, finally, works.

There's a special kind of magic when a tool becomes so intuitive that you stop noticing it's there. The has always been that magic — a blank canvas where ideas turn into compiled JavaScript before you even finish typing.

Scroll to Top
× Chat on whatsapp