Home / Function/ parsePickType() — supabase Function Reference

parsePickType() — supabase Function Reference

Architecture documentation for the parsePickType() function in Reference.typeSpec.ts from the supabase codebase.

Entity Profile

Dependency Diagram

graph TD
  66cf9bd2_2d9e_7ce9_7394_95c0d7b0ec67["parsePickType()"]
  fb700c5e_f2ad_0d4a_eeb3_3a30e4641ed9["parseReferenceType()"]
  fb700c5e_f2ad_0d4a_eeb3_3a30e4641ed9 -->|calls| 66cf9bd2_2d9e_7ce9_7394_95c0d7b0ec67
  ba4cce53_051e_d69f_25a4_55d567b053b3["parseType()"]
  66cf9bd2_2d9e_7ce9_7394_95c0d7b0ec67 -->|calls| ba4cce53_051e_d69f_25a4_55d567b053b3
  style 66cf9bd2_2d9e_7ce9_7394_95c0d7b0ec67 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

apps/docs/features/docs/Reference.typeSpec.ts lines 840–867

function parsePickType(type: any, map: Map<number, any>) {
  if (type.typeArguments[0].type === 'reference') {
    const dereferencedNode = map.get(type.typeArguments[0].id)
    if (!dereferencedNode) return undefined
    const dereferencedType = parseType(dereferencedNode, map)
    if (!dereferencedType?.properties) return undefined

    switch (type.typeArguments[1].type) {
      case 'literal':
        return dereferencedType.properties.find(
          (property) => property.name === type.typeArguments[1].value
        )
      case 'union':
      default:
        const subTypes = dereferencedType.properties.filter((property) =>
          type.typeArguments[1].types.some((type) => type.value === property.name)
        )
        if (subTypes.length === 0) return undefined

        return {
          type: 'union',
          subTypes,
        }
    }
  }

  return undefined
}

Subdomains

Calls

Frequently Asked Questions

What does parsePickType() do?
parsePickType() is a function in the supabase codebase.
What does parsePickType() call?
parsePickType() calls 1 function(s): parseType.
What calls parsePickType()?
parsePickType() is called by 1 function(s): parseReferenceType.

Analyze Your Own Codebase

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

Try Supermodel Free