Type Alias: DeepReadonly<T>
DeepReadonly<
T
>:T
extendsBuiltin
?T
:T
extendsAbstractConstructor
<unknown
> | (...args
:any
[]) =>unknown
?T
:T
extendsReadonlyMap
<infer K, infer V> ?ReadonlyMap
<DeepReadonly
<K
>,DeepReadonly
<V
>> :T
extendsReadonlySet
<infer U> ?ReadonlySet
<DeepReadonly
<U
>> :T
extends readonly [] | readonly [...never[]
] ? readonly [] :T
extends readonly [infer U,...(infer V)
] ? readonly [DeepReadonly
<U
>,...DeepReadonly<V>
] :T
extends readonly [...(infer U)
, infer V] ? readonly [...DeepReadonly<(...)>
,DeepReadonly
<V
>] :T
extendsReadonlyArray
<infer U> ?ReadonlyArray
<DeepReadonly
<U
>> :T
extendsobject
?{ readonly [K in keyof (...)]: DeepReadonly<(...)> }
:unknown
Type Parameters
Type Parameter |
---|
T |