Back to all reviewers

validate before accessing

TanStack/router
Based on 5 comments
TypeScript

Always validate that values exist and have expected properties before accessing them, especially when removing non-null assertions or performing type casting. Avoid making assumptions about value presence or type safety without explicit checks.

Null Handling TypeScript

Reviewer Prompt

Always validate that values exist and have expected properties before accessing them, especially when removing non-null assertions or performing type casting. Avoid making assumptions about value presence or type safety without explicit checks.

Key practices:

  • When removing non-null assertion operators (!), add explicit null/undefined checks
  • Validate input types before casting, especially with schema validation libraries
  • Use specific filtering logic instead of generic Boolean filtering that may exclude valid falsy values
  • Consider whether to pass empty objects vs undefined parameters based on actual usage

Example from the discussions:

// Risky - assumes route exists after removing non-null assertion
const route = this.looseRoutesById[d.routeId]

// Better - validate before use
const route = this.looseRoutesById[d.routeId]
if (!route) return

// Risky - Boolean filter excludes valid falsy numbers like 0, -1
paths.filter(Boolean).join('/')

// Better - explicit check for meaningful values
paths.filter((val) => val !== undefined && val !== null).join('/')

This prevents runtime errors from null reference exceptions and ensures code behaves correctly with edge case values.

5
Comments Analyzed
TypeScript
Primary Language
Null Handling
Category

Source Discussions