angular/packages/compiler-cli/src
Matthieu Riegler 8bc31a515f feat(core): Allow other expression for exhaustive typechecking
When the switched expression is nested within a union, exhaustive typechecking needs to know which expression to check.
This change adds the possibility of specifying the expression to check:

```
@Component({
  selector: 'app-root',
  imports: [],
  template: `
    @switch (state.mode) {
      @case ('show') { {{ state.menu }}; }
      @case ('hide') {}
      @default never(state);
    }
  `,
  changeDetection: ChangeDetectionStrategy.OnPush,
})
export class App {
  state!: { mode: 'hide' } | { mode: 'show'; menu: number };;
}
```

fixes #67406
2026-03-24 14:42:28 -07:00
..
bin refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
ngtsc feat(core): Allow other expression for exhaustive typechecking 2026-03-24 14:42:28 -07:00
transformers refactor(compiler): remove preservePlaceholders (#58176) 2024-10-16 06:42:37 +00:00
extract_i18n.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
main.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
perform_compile.ts build: initial test of TypeScript 6 2026-01-15 13:41:01 -08:00
perform_watch.ts refactor(common): Removes unused imports to clean up dependencies 2025-11-06 08:35:28 -08:00
typescript_support.ts feat(core): add support for TypeScript 6 2026-02-17 08:40:38 -08:00
version.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00
version_helpers.ts refactor: update license text to point to angular.dev (#57901) 2024-09-24 15:33:00 +02:00