Home / Function/ generateComponentTrace() — vue Function Reference

generateComponentTrace() — vue Function Reference

Architecture documentation for the generateComponentTrace() function in debug.ts from the vue codebase.

Entity Profile

Dependency Diagram

graph TD
  7536cd2f_8916_5580_2b8c_ac504f1598e9["generateComponentTrace()"]
  c11cafd0_9de7_a29e_a7df_dc098f20ea24["debug.ts"]
  7536cd2f_8916_5580_2b8c_ac504f1598e9 -->|defined in| c11cafd0_9de7_a29e_a7df_dc098f20ea24
  e8b22500_20a5_2e19_4c79_386004841499["warn()"]
  e8b22500_20a5_2e19_4c79_386004841499 -->|calls| 7536cd2f_8916_5580_2b8c_ac504f1598e9
  3d98cb14_b2f2_58e9_8b16_749646a0d932["tip()"]
  3d98cb14_b2f2_58e9_8b16_749646a0d932 -->|calls| 7536cd2f_8916_5580_2b8c_ac504f1598e9
  32100166_ff86_75a9_1b95_b399a2409c7d["repeat()"]
  7536cd2f_8916_5580_2b8c_ac504f1598e9 -->|calls| 32100166_ff86_75a9_1b95_b399a2409c7d
  7f3d1638_c54f_1ec3_6cde_bbd758e2eae6["formatComponentName()"]
  7536cd2f_8916_5580_2b8c_ac504f1598e9 -->|calls| 7f3d1638_c54f_1ec3_6cde_bbd758e2eae6
  style 7536cd2f_8916_5580_2b8c_ac504f1598e9 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

src/core/util/debug.ts lines 67–104

  generateComponentTrace = (vm: Component | undefined) => {
    if ((vm as any)._isVue && vm!.$parent) {
      const tree: any[] = []
      let currentRecursiveSequence = 0
      while (vm) {
        if (tree.length > 0) {
          const last = tree[tree.length - 1]
          if (last.constructor === vm.constructor) {
            currentRecursiveSequence++
            vm = vm.$parent!
            continue
          } else if (currentRecursiveSequence > 0) {
            tree[tree.length - 1] = [last, currentRecursiveSequence]
            currentRecursiveSequence = 0
          }
        }
        tree.push(vm)
        vm = vm.$parent!
      }
      return (
        '\n\nfound in\n\n' +
        tree
          .map(
            (vm, i) =>
              `${i === 0 ? '---> ' : repeat(' ', 5 + i * 2)}${
                isArray(vm)
                  ? `${formatComponentName(vm[0])}... (${
                      vm[1]
                    } recursive calls)`
                  : formatComponentName(vm)
              }`
          )
          .join('\n')
      )
    } else {
      return `\n\n(found in ${formatComponentName(vm!)})`
    }
  }

Domain

Subdomains

Called By

Frequently Asked Questions

What does generateComponentTrace() do?
generateComponentTrace() is a function in the vue codebase, defined in src/core/util/debug.ts.
Where is generateComponentTrace() defined?
generateComponentTrace() is defined in src/core/util/debug.ts at line 67.
What does generateComponentTrace() call?
generateComponentTrace() calls 2 function(s): formatComponentName, repeat.
What calls generateComponentTrace()?
generateComponentTrace() is called by 2 function(s): tip, warn.

Analyze Your Own Codebase

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

Try Supermodel Free