Home / Type/ DeepReadonly Type — vue Architecture

DeepReadonly Type — vue Architecture

Architecture documentation for the DeepReadonly type/interface in readonly.ts from the vue codebase.

Entity Profile

Dependency Diagram

graph TD
  8adbb61e_35fa_0e53_71e9_d31d7888b003["DeepReadonly"]
  8420591a_8fdc_59a9_134d_e2c52487724c["readonly.ts"]
  8adbb61e_35fa_0e53_71e9_d31d7888b003 -->|defined in| 8420591a_8fdc_59a9_134d_e2c52487724c
  style 8adbb61e_35fa_0e53_71e9_d31d7888b003 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

src/v3/reactivity/readonly.ts lines 13–33

export type DeepReadonly<T> = T extends Builtin
  ? T
  : T extends Map<infer K, infer V>
  ? ReadonlyMap<DeepReadonly<K>, DeepReadonly<V>>
  : T extends ReadonlyMap<infer K, infer V>
  ? ReadonlyMap<DeepReadonly<K>, DeepReadonly<V>>
  : T extends WeakMap<infer K, infer V>
  ? WeakMap<DeepReadonly<K>, DeepReadonly<V>>
  : T extends Set<infer U>
  ? ReadonlySet<DeepReadonly<U>>
  : T extends ReadonlySet<infer U>
  ? ReadonlySet<DeepReadonly<U>>
  : T extends WeakSet<infer U>
  ? WeakSet<DeepReadonly<U>>
  : T extends Promise<infer U>
  ? Promise<DeepReadonly<U>>
  : T extends Ref<infer U>
  ? Readonly<Ref<DeepReadonly<U>>>
  : T extends {}
  ? { readonly [K in keyof T]: DeepReadonly<T[K]> }
  : Readonly<T>

Frequently Asked Questions

What is the DeepReadonly type?
DeepReadonly is a type/interface in the vue codebase, defined in src/v3/reactivity/readonly.ts.
Where is DeepReadonly defined?
DeepReadonly is defined in src/v3/reactivity/readonly.ts at line 13.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free