Home / Function/ deepClone() — vite Function Reference

deepClone() — vite Function Reference

Architecture documentation for the deepClone() function in utils.ts from the vite codebase.

Entity Profile

Dependency Diagram

graph TD
  b6280368_17dd_ad13_70a4_cedf3c942394["deepClone()"]
  031bc221_67a8_c579_f2bf_bb30a08beeb2["utils.ts"]
  b6280368_17dd_ad13_70a4_cedf3c942394 -->|defined in| 031bc221_67a8_c579_f2bf_bb30a08beeb2
  24024bc8_5434_bc2f_7acb_d02914457eae["prepareRolldownScanner()"]
  24024bc8_5434_bc2f_7acb_d02914457eae -->|calls| b6280368_17dd_ad13_70a4_cedf3c942394
  50c942bf_5ddd_ac2c_f4f6_571d569b7215["mergeWithDefaults()"]
  50c942bf_5ddd_ac2c_f4f6_571d569b7215 -->|calls| b6280368_17dd_ad13_70a4_cedf3c942394
  2aff86e8_0c9d_22cb_6536_c1321e1aaa1d["isObject()"]
  b6280368_17dd_ad13_70a4_cedf3c942394 -->|calls| 2aff86e8_0c9d_22cb_6536_c1321e1aaa1d
  style b6280368_17dd_ad13_70a4_cedf3c942394 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/vite/src/node/utils.ts lines 1151–1172

export function deepClone<T>(value: T): DeepWritable<T> {
  if (Array.isArray(value)) {
    return value.map((v) => deepClone(v)) as DeepWritable<T>
  }
  if (isObject(value)) {
    const cloned: Record<string, any> = {}
    for (const key in value) {
      cloned[key] = deepClone(value[key])
    }
    return cloned as DeepWritable<T>
  }
  if (typeof value === 'function') {
    return value as DeepWritable<T>
  }
  if (value instanceof RegExp) {
    return new RegExp(value) as DeepWritable<T>
  }
  if (typeof value === 'object' && value != null) {
    throw new Error('Cannot deep clone non-plain object')
  }
  return value as DeepWritable<T>
}

Domain

Subdomains

Calls

Frequently Asked Questions

What does deepClone() do?
deepClone() is a function in the vite codebase, defined in packages/vite/src/node/utils.ts.
Where is deepClone() defined?
deepClone() is defined in packages/vite/src/node/utils.ts at line 1151.
What does deepClone() call?
deepClone() calls 1 function(s): isObject.
What calls deepClone()?
deepClone() is called by 2 function(s): mergeWithDefaults, prepareRolldownScanner.

Analyze Your Own Codebase

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

Try Supermodel Free