recurseThroughParams() — supabase Function Reference
Architecture documentation for the recurseThroughParams() function in legacy.ts from the supabase codebase.
Entity Profile
Dependency Diagram
graph TD d5b5e20b_fb94_1a99_c31e_76fe6e3a378e["recurseThroughParams()"] 05d8312f_d822_2922_b652_a232d77d6bd8["generateParameters()"] 05d8312f_d822_2922_b652_a232d77d6bd8 -->|calls| d5b5e20b_fb94_1a99_c31e_76fe6e3a378e d1bf8fbe_732a_75ff_99ce_68a16ff3330b["isDereferenced()"] d5b5e20b_fb94_1a99_c31e_76fe6e3a378e -->|calls| d1bf8fbe_732a_75ff_99ce_68a16ff3330b bb2e938d_5d19_f784_ec33_1ad931f27295["generateLabelParam()"] d5b5e20b_fb94_1a99_c31e_76fe6e3a378e -->|calls| bb2e938d_5d19_f784_ec33_1ad931f27295 a8207671_cea6_d97a_3f79_204ffe961c1d["isUnion()"] d5b5e20b_fb94_1a99_c31e_76fe6e3a378e -->|calls| a8207671_cea6_d97a_3f79_204ffe961c1d a81fc47f_9e2a_6f40_cea0_6cbbb3437752["methodListGroup()"] d5b5e20b_fb94_1a99_c31e_76fe6e3a378e -->|calls| a81fc47f_9e2a_6f40_cea0_6cbbb3437752 66f02e18_f90c_31d9_5b47_ce91de19fd89["methodListItemLabel()"] d5b5e20b_fb94_1a99_c31e_76fe6e3a378e -->|calls| 66f02e18_f90c_31d9_5b47_ce91de19fd89 style d5b5e20b_fb94_1a99_c31e_76fe6e3a378e fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
apps/docs/generator/legacy.ts lines 105–138
function recurseThroughParams(paramDefinition: TsDoc.TypeDefinition) {
// If this is a reference to another Param, let's use the reference instead
let param = isDereferenced(paramDefinition) ? paramDefinition.type?.dereferenced : paramDefinition
const labelParams = generateLabelParam(param)
let subContent = ''
let children = param?.children
if (param.type?.declaration?.children) {
children = param.type?.declaration?.children
} else if (isUnion(param)) {
// We don't want to show the union types if it's a literal
const nonLiteralVariants = param.type.types.filter(({ type }) => type !== 'literal')
if (nonLiteralVariants.length === 0) {
children = null
} else {
children = nonLiteralVariants
}
} else if (param.type === 'reflection') {
children = param.declaration.children
}
if (!!children) {
let properties = children
.sort((a, b) => a.name?.localeCompare(b.name)) // first alphabetical
.sort((a, b) => (a.flags?.isOptional ? 1 : -1)) // required params first
.map((x) => recurseThroughParams(x))
let heading = `<h5 class="method-list-title method-list-title-isChild expanded">Properties</h5>`
subContent = methodListGroup([heading].concat(properties).join('\n'))
return methodListItemLabel(labelParams, subContent)
}
return methodListItemLabel(labelParams, subContent)
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does recurseThroughParams() do?
recurseThroughParams() is a function in the supabase codebase.
What does recurseThroughParams() call?
recurseThroughParams() calls 5 function(s): generateLabelParam, isDereferenced, isUnion, methodListGroup, methodListItemLabel.
What calls recurseThroughParams()?
recurseThroughParams() is called by 1 function(s): generateParameters.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free