Type Alias DeepReadonly<T>

DeepReadonly<T>: T extends any[]
    ? DeepReadonlyTupleOrArray<T>
    : T extends Fun
        ? T
        : T extends Date
            ? ReadonlyDate
            : T extends Map<infer K, infer V>
                ? DeepReadonlyMap<K, V>
                : T extends Set<infer V>
                    ? DeepReadonlySet<DeepReadonly<V>>
                    : T extends object
                        ? DeepReadonlyObject<T>
                        : T

Recursively marks Objects, Arrays, Maps, Sets, or Dates as read only. Other non-primitive types will retain their method signatures, potentially exposing mutation methods. This type does not represent an immutable value, merely a readonly variant of T.

Type Parameters

  • T