Home / Function/ flattenSegments() — vue Function Reference

flattenSegments() — vue Function Reference

Architecture documentation for the flattenSegments() function in codegen.ts from the vue codebase.

Entity Profile

Dependency Diagram

graph TD
  4b4d624e_1347_0fd1_7de4_c427685d01b5["flattenSegments()"]
  4aaa14b9_d580_5a66_5221_1be3a11a7eed["codegen.ts"]
  4b4d624e_1347_0fd1_7de4_c427685d01b5 -->|defined in| 4aaa14b9_d580_5a66_5221_1be3a11a7eed
  c9f5cd05_4bd2_e40a_83fa_edb34d6fd988["genChildrenAsStringNode()"]
  c9f5cd05_4bd2_e40a_83fa_edb34d6fd988 -->|calls| 4b4d624e_1347_0fd1_7de4_c427685d01b5
  b16796bd_68b9_6a04_0a88_db0f3e9e23a9["genStringElementWithChildren()"]
  b16796bd_68b9_6a04_0a88_db0f3e9e23a9 -->|calls| 4b4d624e_1347_0fd1_7de4_c427685d01b5
  d0dcabcf_7ec5_f5a5_9987_abfd69d3ab1f["elementToString()"]
  d0dcabcf_7ec5_f5a5_9987_abfd69d3ab1f -->|calls| 4b4d624e_1347_0fd1_7de4_c427685d01b5
  style 4b4d624e_1347_0fd1_7de4_c427685d01b5 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/server-renderer/src/optimizing-compiler/codegen.ts lines 234–260

function flattenSegments(segments: Array<StringSegment>): string {
  const mergedSegments: string[] = []
  let textBuffer = ''

  const pushBuffer = () => {
    if (textBuffer) {
      mergedSegments.push(JSON.stringify(textBuffer))
      textBuffer = ''
    }
  }

  for (let i = 0; i < segments.length; i++) {
    const s = segments[i]
    if (s.type === RAW) {
      textBuffer += s.value
    } else if (s.type === INTERPOLATION) {
      pushBuffer()
      mergedSegments.push(`_ssrEscape(${s.value})`)
    } else if (s.type === EXPRESSION) {
      pushBuffer()
      mergedSegments.push(`(${s.value})`)
    }
  }
  pushBuffer()

  return mergedSegments.join('+')
}

Subdomains

Frequently Asked Questions

What does flattenSegments() do?
flattenSegments() is a function in the vue codebase, defined in packages/server-renderer/src/optimizing-compiler/codegen.ts.
Where is flattenSegments() defined?
flattenSegments() is defined in packages/server-renderer/src/optimizing-compiler/codegen.ts at line 234.
What calls flattenSegments()?
flattenSegments() is called by 3 function(s): elementToString, genChildrenAsStringNode, genStringElementWithChildren.

Analyze Your Own Codebase

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

Try Supermodel Free