DeepReadonly
type alias in meocord/interface Since 4.1.0
type DeepReadonly<T> = T extends readonly unknown[]
? { readonly [K in keyof T]: DeepReadonly<T[K]> }
: T extends ThemeLeaf
? T
: { readonly [K in keyof T]: DeepReadonly<T[K]> }T with every property readonly, at every depth; an array becomes a readonly one of readonly elements.
It is the shape of the theme a call reads, which no handler can change.