Skip to content

πŸ’… lint/nursery/useExhaustiveSwitchCases doesn't recognize method params with default valuesΒ #7525

@DayKev

Description

@DayKev

Environment information

CLI:
  Version:                      2.2.4
  Color support:                true

Platform:
  CPU Architecture:             x86_64
  OS:                           windows

Environment:
  BIOME_LOG_PATH:               unset
  BIOME_LOG_PREFIX_NAME:        unset
  BIOME_CONFIG_PATH:            unset
  BIOME_THREADS:                unset
  NO_COLOR:                     unset
  TERM:                         unset
  JS_RUNTIME_VERSION:           v22.16.0
  JS_RUNTIME_NAME:              node
  NODE_PACKAGE_MANAGER:         pnpm/10.15.1

Biome Configuration:
  Status:                       Loaded successfully
  Path:                         biome.jsonc
  Formatter enabled:            true
  Linter enabled:               true
  Assist enabled:               true
  VCS enabled:                  false

Workspace:
  Open Documents:               0

Rule name

lint/nursery/useExhaustiveSwitchCases

Playground link

https://biomejs.dev/playground/?lineWidth=120&indentStyle=space&lintRules=useExhaustiveSwitchCases&code=aQBuAHQAZQByAGYAYQBjAGUAIAB0AGUAcwB0ACAAewAKACAAIABhAD8AOgAgAG4AdQBtAGIAZQByADsACgAgACAAYgA%2FADoAIAAiAHQAaABpAG4AZwAiACAAfAAgACIAbwB0AGgAZQByACIAIAB8ACAAIgBtAG8AcgBlACIAOwAKAH0ACgAKAGYAdQBuAGMAdABpAG8AbgAgAGYAbgAoAHAAYQByAGEAbQA6ACAAbgB1AG0AYgBlAHIALAAgAHsAIABhACAAPQAgADEALAAgAGIAIAA9ACAAIgB0AGgAaQBuAGcAIgAgAH0AOgAgAHQAZQBzAHQAIAA9ACAAewB9ACkAIAB7AAoAIAAgAC8ALwAgAGkAbgBjAG8AcgByAGUAYwB0AGwAeQAgAGYAbABhAGcAZwBlAGQAIABhAHMAIABuAG8AdAAgAGUAeABoAGEAdQBzAHQAaQB2AGUACgAgACAALwAvACAAZQB2AGUAbgAgAHQAaABvAHUAZwBoACAAYABiAGAAIABpAHMAIABuAGUAdgBlAHIAIABgAHUAbgBkAGUAZgBpAG4AZQBkAGAACgAgACAALwAvACAAZAB1AGUAIAB0AG8AIABoAGEAdgBpAG4AZwAgAGEAIABkAGUAZgBhAHUAbAB0ACAAdgBhAGwAdQBlAAoAIAAgAHMAdwBpAHQAYwBoACAAKABiACkAIAB7AAoAIAAgACAAIABjAGEAcwBlACAAIgB0AGgAaQBuAGcAIgA6AAoAIAAgACAAIAAgACAAcgBlAHQAdQByAG4AIAAxADsACgAgACAAIAAgAGMAYQBzAGUAIAAiAG8AdABoAGUAcgAiADoACgAgACAAIAAgACAAIAByAGUAdAB1AHIAbgAgADIAOwAKACAAIAAgACAAYwBhAHMAZQAgACIAbQBvAHIAZQAiADoACgAgACAAIAAgACAAIAByAGUAdAB1AHIAbgAgADMAOwAKACAAIAB9AAoACgAgACAAcwB3AGkAdABjAGgAIAAoAGIAKQAgAHsACgAgACAAIAAgAGMAYQBzAGUAIAAiAHQAaABpAG4AZwAiADoACgAgACAAIAAgACAAIAByAGUAdAB1AHIAbgAgADEAOwAKACAAIAAgACAAYwBhAHMAZQAgACIAbwB0AGgAZQByACIAOgAKACAAIAAgACAAIAAgAHIAZQB0AHUAcgBuACAAMgA7AAoAIAAgACAAIABjAGEAcwBlACAAIgBtAG8AcgBlACIAOgAKACAAIAAgACAAIAAgAHIAZQB0AHUAcgBuACAAMwA7AAoAIAAgACAAIABjAGEAcwBlACAAdQBuAGQAZQBmAGkAbgBlAGQAOgAKACAAIAAgACAAIAAgAC8ALwAgAHQAaABpAHMAIABwAHIAZQB2AGUAbgB0AHMAIAB0AGgAZQAgAGYAYQBsAHMAZQAgAHAAbwBzAGkAdABpAHYAZQAKACAAIAAgACAAIAAgAGIAcgBlAGEAawA7AAoAIAAgAH0ACgAKACAAIAAvAC8AIABhAGQAZABpAG4AZwAgAGAAIQBgACAAYQBsAHMAbwAgAHAAcgBlAHYAZQBuAHQAcwAgAHQAaABlACAAZgBhAGwAcwBlACAAcABvAHMAaQB0AGkAdgBlAAoAIAAgAHMAdwBpAHQAYwBoACAAKABiACEAKQAgAHsACgAgACAAIAAgAGMAYQBzAGUAIAAiAHQAaABpAG4AZwAiADoACgAgACAAIAAgACAAIAByAGUAdAB1AHIAbgAgADEAOwAKACAAIAAgACAAYwBhAHMAZQAgACIAbwB0AGgAZQByACIAOgAKACAAIAAgACAAIAAgAHIAZQB0AHUAcgBuACAAMgA7AAoAIAAgACAAIABjAGEAcwBlACAAIgBtAG8AcgBlACIAOgAKACAAIAAgACAAIAAgAHIAZQB0AHUAcgBuACAAMwA7AAoAIAAgAH0ACgB9AA%3D%3D

Expected result

Biome should recognize that the function parameter has a default value and can never be undefined, thus not issuing a diagnostic on a switch block that doesn't have the undefined case handled.

Code of Conduct

  • I agree to follow Biome's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-LinterArea: linterA-Type-InferenceArea: type inferenceL-JavaScriptLanguage: JavaScript and super languagesS-Bug-confirmedStatus: report has been confirmed as a valid bug

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions