makeValidateRequired() — supabase Function Reference
Architecture documentation for the makeValidateRequired() function in Wrappers.utils.ts from the supabase codebase.
Entity Profile
Dependency Diagram
graph TD f17778f0_0474_c6f9_6004_6763d2604934["makeValidateRequired()"] 8da2fdba_0ae6_da34_b6db_e886f1354db0["CreateIcebergWrapperSheet()"] 8da2fdba_0ae6_da34_b6db_e886f1354db0 -->|calls| f17778f0_0474_c6f9_6004_6763d2604934 a07b5e79_2b1c_182b_80b9_d4e85041defc["CreateWrapperSheet()"] a07b5e79_2b1c_182b_80b9_d4e85041defc -->|calls| f17778f0_0474_c6f9_6004_6763d2604934 2d7aff71_ad70_13c1_d314_aaa9543be33f["EditWrapperSheet()"] 2d7aff71_ad70_13c1_d314_aaa9543be33f -->|calls| f17778f0_0474_c6f9_6004_6763d2604934 9e17af0f_33f2_6fc7_10c9_4e2f9fef4699["TableForm()"] 9e17af0f_33f2_6fc7_10c9_4e2f9fef4699 -->|calls| f17778f0_0474_c6f9_6004_6763d2604934 style f17778f0_0474_c6f9_6004_6763d2604934 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
apps/studio/components/interfaces/Integrations/Wrappers/Wrappers.utils.ts lines 5–51
export const makeValidateRequired = (options: { name: string; required: boolean }[]) => {
const requiredOptionsSet = new Set(
options.filter((option) => option.required).map((option) => option.name)
)
const requiredArrayOptionsSet = new Set(
Array.from(requiredOptionsSet).filter((option) => option.includes('.'))
)
const requiredArrayOptions = Array.from(requiredArrayOptionsSet)
return (values: Record<string, any>) => {
const errors = Object.fromEntries(
Object.entries(values)
.flatMap(([key, value]) =>
Array.isArray(value)
? [[key, value], ...value.map((v, i) => [`${key}.${i}`, v])]
: [[key, value]]
)
.filter(([_key, value]) => {
const [key, idx] = _key.split('.')
if (
idx !== undefined &&
requiredOptionsSet.has(key) &&
Object.keys(value).some((subKey) => requiredArrayOptionsSet.has(`${key}.${subKey}`))
) {
const arrayOption = requiredArrayOptions.find((option) => option.startsWith(`${key}.`))
if (arrayOption) {
const subKey = arrayOption.split('.')[1]
return !value[subKey]
}
return false
}
return requiredOptionsSet.has(key) && (Array.isArray(value) ? value.length < 1 : !value)
})
.map(([key]) => {
if (key === 'table_name') return [key, 'Please provide a name for your table']
else if (key === 'columns') return [key, 'Please select at least one column']
else return [key, 'This field is required']
})
)
return errors
}
}
Domain
Subdomains
Source
Frequently Asked Questions
What does makeValidateRequired() do?
makeValidateRequired() is a function in the supabase codebase.
What calls makeValidateRequired()?
makeValidateRequired() is called by 4 function(s): CreateIcebergWrapperSheet, CreateWrapperSheet, EditWrapperSheet, TableForm.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free