Home / Function/ replaceCodeTabs() — supabase Function Reference

replaceCodeTabs() — supabase Function Reference

Architecture documentation for the replaceCodeTabs() function in CodeTabs.ts from the supabase codebase.

Entity Profile

Dependency Diagram

graph TD
  fdae4bbb_3776_b33c_7f46_40fd03b9ce28["replaceCodeTabs()"]
  5ff6f4ae_9c54_d590_6f0e_af17d0a33505["rewriteNodes()"]
  5ff6f4ae_9c54_d590_6f0e_af17d0a33505 -->|calls| fdae4bbb_3776_b33c_7f46_40fd03b9ce28
  51dea85c_955d_bb72_d6c7_c9d24c8b0ecd["isCodeSampleWrapper()"]
  fdae4bbb_3776_b33c_7f46_40fd03b9ce28 -->|calls| 51dea85c_955d_bb72_d6c7_c9d24c8b0ecd
  201adfd7_6e0b_66d0_7333_d08bbd028a7c["getFileName()"]
  fdae4bbb_3776_b33c_7f46_40fd03b9ce28 -->|calls| 201adfd7_6e0b_66d0_7333_d08bbd028a7c
  style fdae4bbb_3776_b33c_7f46_40fd03b9ce28 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

apps/docs/features/directives/CodeTabs.ts lines 56–100

function replaceCodeTabs(node: MdxJsxFlowElement, ancestors: Array<Parent>) {
  if (node.children.some((child) => child.type !== 'code' && !isCodeSampleWrapper(child))) {
    throw new Error(
      `CodeTabs must contain only code blocks and code sample wrappers, found:\n\n${JSON.stringify(node.children, null, 2)}`
    )
  }

  const parent = ancestors[ancestors.length - 1]
  const remappedChildren = node.children.map(
    (code: Code | MdxJsxFlowElement, idx): MdxJsxFlowElement => {
      const file = getFileName(code)
      return {
        type: 'mdxJsxFlowElement',
        name: 'TabPanel',
        attributes: [
          {
            type: 'mdxJsxAttribute',
            name: 'id',
            value: file || `File ${idx + 1}`,
          },
          {
            type: 'mdxJsxAttribute',
            name: 'label',
            value: file || `File ${idx + 1}`,
          },
        ],
        children: [code],
      }
    }
  )
  const tabsWrapper: MdxJsxFlowElement = {
    type: 'mdxJsxFlowElement',
    name: 'Tabs',
    attributes: [
      {
        type: 'mdxJsxAttribute',
        name: 'listClassNames',
        value: 'flex-nowrap overflow-x-auto -mb-6',
      },
    ],
    children: remappedChildren,
  }

  parent.children.splice(parent.children.indexOf(node), 1, tabsWrapper)
}

Subdomains

Called By

Frequently Asked Questions

What does replaceCodeTabs() do?
replaceCodeTabs() is a function in the supabase codebase.
What does replaceCodeTabs() call?
replaceCodeTabs() calls 2 function(s): getFileName, isCodeSampleWrapper.
What calls replaceCodeTabs()?
replaceCodeTabs() is called by 1 function(s): rewriteNodes.

Analyze Your Own Codebase

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

Try Supermodel Free