Home / Function/ extractIdentifiers() — vue Function Reference

extractIdentifiers() — vue Function Reference

Architecture documentation for the extractIdentifiers() function in babelUtils.ts from the vue codebase.

Entity Profile

Dependency Diagram

graph TD
  f79682b6_b16d_d6cc_fd65_15384f7cb674["extractIdentifiers()"]
  fcee39ec_18fe_7a99_fb49_d33db4d055a4["babelUtils.ts"]
  f79682b6_b16d_d6cc_fd65_15384f7cb674 -->|defined in| fcee39ec_18fe_7a99_fb49_d33db4d055a4
  4ae3486a_a2ce_f463_a063_296838aa8f21["walkFunctionParams()"]
  4ae3486a_a2ce_f463_a063_296838aa8f21 -->|calls| f79682b6_b16d_d6cc_fd65_15384f7cb674
  6f036a58_49cd_b26f_a233_d34bf76de66c["walkBlockDeclarations()"]
  6f036a58_49cd_b26f_a233_d34bf76de66c -->|calls| f79682b6_b16d_d6cc_fd65_15384f7cb674
  style f79682b6_b16d_d6cc_fd65_15384f7cb674 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/compiler-sfc/src/babelUtils.ts lines 173–216

export function extractIdentifiers(
  param: Node,
  nodes: Identifier[] = []
): Identifier[] {
  switch (param.type) {
    case 'Identifier':
      nodes.push(param)
      break

    case 'MemberExpression':
      let object: any = param
      while (object.type === 'MemberExpression') {
        object = object.object
      }
      nodes.push(object)
      break

    case 'ObjectPattern':
      for (const prop of param.properties) {
        if (prop.type === 'RestElement') {
          extractIdentifiers(prop.argument, nodes)
        } else {
          extractIdentifiers(prop.value, nodes)
        }
      }
      break

    case 'ArrayPattern':
      param.elements.forEach(element => {
        if (element) extractIdentifiers(element, nodes)
      })
      break

    case 'RestElement':
      extractIdentifiers(param.argument, nodes)
      break

    case 'AssignmentPattern':
      extractIdentifiers(param.left, nodes)
      break
  }

  return nodes
}

Domain

Subdomains

Frequently Asked Questions

What does extractIdentifiers() do?
extractIdentifiers() is a function in the vue codebase, defined in packages/compiler-sfc/src/babelUtils.ts.
Where is extractIdentifiers() defined?
extractIdentifiers() is defined in packages/compiler-sfc/src/babelUtils.ts at line 173.
What calls extractIdentifiers()?
extractIdentifiers() is called by 2 function(s): walkBlockDeclarations, walkFunctionParams.

Analyze Your Own Codebase

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

Try Supermodel Free