@pengzhanbo/utils - v3.5.0
    Preparing search index...

    Type Alias DeepReadonly<T>

    DeepReadonly: T extends (infer U)[]
        ? ReadonlyArray<DeepReadonly<U>>
        : T extends object ? { readonly [K in keyof T]: DeepReadonly<T[K]> } : T

    Makes all nested properties readonly recursively

    递归地将所有嵌套属性设为只读

    Type Parameters

    • T
    interface Person {
    name: string
    address: { city: string }
    }
    type ReadonlyPerson = DeepReadonly<Person>
    // { readonly name: string; readonly address: { readonly city: string } }