Home / Function/ ParamOrTypeDetails() — supabase Function Reference

ParamOrTypeDetails() — supabase Function Reference

Architecture documentation for the ParamOrTypeDetails() function in Reference.ui.tsx from the supabase codebase.

Entity Profile

Dependency Diagram

graph TD
  7b65e0e2_6465_ff88_8734_fd54e97395dc["ParamOrTypeDetails()"]
  22b21a01_80cf_280e_2f86_101c0b9c05c0["isFromTypespec()"]
  7b65e0e2_6465_ff88_8734_fd54e97395dc -->|calls| 22b21a01_80cf_280e_2f86_101c0b9c05c0
  a3204ff1_abba_1b91_1937_bd7abd67ba1e["getSubDetails()"]
  7b65e0e2_6465_ff88_8734_fd54e97395dc -->|calls| a3204ff1_abba_1b91_1937_bd7abd67ba1e
  4267199c_f8e4_643f_9d72_4920dfacfd84["isDefaultExpanded()"]
  7b65e0e2_6465_ff88_8734_fd54e97395dc -->|calls| 4267199c_f8e4_643f_9d72_4920dfacfd84
  bc75db67_fb40_f66d_14fc_535987ab4dbf["getTypeName()"]
  7b65e0e2_6465_ff88_8734_fd54e97395dc -->|calls| bc75db67_fb40_f66d_14fc_535987ab4dbf
  style 7b65e0e2_6465_ff88_8734_fd54e97395dc fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

apps/docs/features/docs/Reference.ui.tsx lines 196–244

function ParamOrTypeDetails({ paramOrType }: { paramOrType: object }) {
  if (!('name' in paramOrType)) return

  const description: string =
    'description' in paramOrType
      ? (paramOrType.description as string)
      : isFromTypespec(paramOrType)
        ? paramOrType.comment?.shortText ?? ''
        : ''

  const subContent =
    'subContent' in paramOrType
      ? (paramOrType.subContent as Array<SubContent>)
      : isFromTypespec(paramOrType)
        ? getSubDetails(paramOrType)
        : undefined

  const defaultOpen = isDefaultExpanded(paramOrType)

  return (
    <>
      <div className="flex flex-wrap items-baseline gap-3">
        <span className="font-mono text-sm font-medium text-foreground">
          {paramOrType.name === TYPESPEC_NODE_ANONYMOUS
            ? '[Anonymous]'
            : (paramOrType.name as string)}
        </span>
        {'isOptional' in paramOrType && paramOrType.isOptional === true ? (
          <Badge variant="default">Optional</Badge>
        ) : 'isOptional' in paramOrType && paramOrType.isOptional === false ? (
          <Badge variant="warning">Required</Badge>
        ) : null}
        {/* @ts-ignore */}
        {paramOrType?.comment?.tags?.some((tag) => tag.tag === 'deprecated') && (
          <span className="text-xs text-warning">Deprecated</span>
        )}
        <span className="text-xs text-foreground-muted">{getTypeName(paramOrType)}</span>
      </div>
      {description && (
        <div className="prose text-sm">
          <MDXRemoteBase source={description} customPreprocess={normalizeMarkdown} />
        </div>
      )}
      {subContent && subContent.length > 0 && (
        <TypeSubDetails details={subContent} defaultOpen={defaultOpen || false} />
      )}
    </>
  )
}

Subdomains

Frequently Asked Questions

What does ParamOrTypeDetails() do?
ParamOrTypeDetails() is a function in the supabase codebase.
What does ParamOrTypeDetails() call?
ParamOrTypeDetails() calls 4 function(s): getSubDetails, getTypeName, isDefaultExpanded, isFromTypespec.

Analyze Your Own Codebase

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

Try Supermodel Free