Configuration validation should use explicit checks and clear conditional logic to improve code readability and prevent errors. When validating configuration values:
Configuration validation should use explicit checks and clear conditional logic to improve code readability and prevent errors. When validating configuration values:
Example:
// โ Avoid complex nested conditions
if (config.stsRegionalEndpoints) {
if (typeof config.stsRegionalEndpoints === 'string') {
if (['legacy', 'regional'].indexOf(config.stsRegionalEndpoints.toLowerCase()) >= 0) {
// handle valid config
} else {
throw new Error('Invalid config');
}
}
}
// โ
Use clear validation with early returns
function validateConfig(config) {
if (!config.stsRegionalEndpoints) return;
if (typeof config.stsRegionalEndpoints !== 'string') {
throw new Error('stsRegionalEndpoints must be a string');
}
const validValues = ['legacy', 'regional'];
if (!validValues.includes(config.stsRegionalEndpoints.toLowerCase())) {
throw new Error('stsRegionalEndpoints must be either "legacy" or "regional"');
}
// proceed with valid config
}
Enter the URL of a public GitHub repository