Home / Function/ unsetSpreadElements() — ui Function Reference

unsetSpreadElements() — ui Function Reference

Architecture documentation for the unsetSpreadElements() function in update-tailwind-config.ts from the ui codebase.

Entity Profile

Dependency Diagram

graph TD
  74b0c141_8b3d_9ed6_f729_6f00da6d91ac["unsetSpreadElements()"]
  ef3e192c_eced_bc46_1021_689faf6b7065["update-tailwind-config.ts"]
  74b0c141_8b3d_9ed6_f729_6f00da6d91ac -->|defined in| ef3e192c_eced_bc46_1021_689faf6b7065
  d2e241ac_3cd3_c229_69bf_7b66b84a8b58["unnestSpreadProperties()"]
  d2e241ac_3cd3_c229_69bf_7b66b84a8b58 -->|calls| 74b0c141_8b3d_9ed6_f729_6f00da6d91ac
  d2e241ac_3cd3_c229_69bf_7b66b84a8b58["unnestSpreadProperties()"]
  74b0c141_8b3d_9ed6_f729_6f00da6d91ac -->|calls| d2e241ac_3cd3_c229_69bf_7b66b84a8b58
  style 74b0c141_8b3d_9ed6_f729_6f00da6d91ac fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/shadcn/src/utils/updaters/update-tailwind-config.ts lines 390–414

export function unsetSpreadElements(arr: ArrayLiteralExpression) {
  const elements = arr.getElements()
  for (let j = 0; j < elements.length; j++) {
    const element = elements[j]
    if (element.isKind(SyntaxKind.ObjectLiteralExpression)) {
      // Recursive check on objects within arrays
      unnestSpreadProperties(
        element.asKindOrThrow(SyntaxKind.ObjectLiteralExpression)
      )
    } else if (element.isKind(SyntaxKind.ArrayLiteralExpression)) {
      // Recursive check on nested arrays
      unsetSpreadElements(
        element.asKindOrThrow(SyntaxKind.ArrayLiteralExpression)
      )
    } else if (element.isKind(SyntaxKind.StringLiteral)) {
      const spreadText = element.getText()
      // check if spread element
      const spreadTest = /(?:^['"])(\.\.\..*)(?:['"]$)/g
      if (spreadTest.test(spreadText)) {
        arr.removeElement(j)
        arr.insertElement(j, spreadText.replace(spreadTest, "$1"))
      }
    }
  }
}

Subdomains

Frequently Asked Questions

What does unsetSpreadElements() do?
unsetSpreadElements() is a function in the ui codebase, defined in packages/shadcn/src/utils/updaters/update-tailwind-config.ts.
Where is unsetSpreadElements() defined?
unsetSpreadElements() is defined in packages/shadcn/src/utils/updaters/update-tailwind-config.ts at line 390.
What does unsetSpreadElements() call?
unsetSpreadElements() calls 1 function(s): unnestSpreadProperties.
What calls unsetSpreadElements()?
unsetSpreadElements() is called by 1 function(s): unnestSpreadProperties.

Analyze Your Own Codebase

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

Try Supermodel Free