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
  6c43050a_c466_5002_9f37_18f1d5f11833["generateComponentTrace()"]
  b46508de_73c3_6ec9_1c0c_c6c525b0a7ce["onCompilationError()"]
  b46508de_73c3_6ec9_1c0c_c6c525b0a7ce -->|calls| 6c43050a_c466_5002_9f37_18f1d5f11833
  a8c8f192_fd2d_dbe3_46ed_dd8fabebc429["warn()"]
  a8c8f192_fd2d_dbe3_46ed_dd8fabebc429 -->|calls| 6c43050a_c466_5002_9f37_18f1d5f11833
  1a4ad478_cd48_ed8b_e68e_03c90d305dcc["tip()"]
  1a4ad478_cd48_ed8b_e68e_03c90d305dcc -->|calls| 6c43050a_c466_5002_9f37_18f1d5f11833
  f377a2bb_d277_ed1e_1991_9a9950fa2843["repeat()"]
  6c43050a_c466_5002_9f37_18f1d5f11833 -->|calls| f377a2bb_d277_ed1e_1991_9a9950fa2843
  02cfb8c5_645e_6e81_4566_3bd5205dbeee["formatComponentName()"]
  6c43050a_c466_5002_9f37_18f1d5f11833 -->|calls| 02cfb8c5_645e_6e81_4566_3bd5205dbeee
  style 6c43050a_c466_5002_9f37_18f1d5f11833 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!)})`
    }
  }

Subdomains

Frequently Asked Questions

What does generateComponentTrace() do?
generateComponentTrace() is a function in the vue codebase.
What does generateComponentTrace() call?
generateComponentTrace() calls 2 function(s): formatComponentName, repeat.
What calls generateComponentTrace()?
generateComponentTrace() is called by 3 function(s): onCompilationError, tip, warn.

Analyze Your Own Codebase

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

Try Supermodel Free