Microsoft/TypeScript

`satisfies` does not work on a variable called `type`

Open

#58,248 opened on Apr 19, 2024

View on GitHub
 (0 comments) (1 reaction) (0 assignees)TypeScript (6,726 forks)batch import
BugDomain: ParserHelp Wanted

Repository metrics

Stars
 (48,455 stars)
PR merge metrics
 (Avg merge 6d 17h) (9 merged PRs in 30d)

Description

🔎 Search Terms

satisfies, type, ts1005

🕗 Version & Regression Information

This happens from 3.3.3333 to nightly.

satisfies was introduced in 4.9.

⏯ Playground Link

https://www.typescriptlang.org/play?#code/MYewdgzgLgBFCeAHApjAvDA5AD0wKDwRRggEMoBLCAMwuQhKgCcKwBzPIA

💻 Code

const type = 'x'

type satisfies string // '=' expected.(1005)

🙁 Actual behavior

Gives an '=' expected.(1005) error.

🙂 Expected behavior

For it to work like with any other variable of any other name, specially since it's a common variable name.

Additional information about the issue

This also happens with other TypeScript keywords like interface.

If I wrap type in parenthesis it works, is this expected behaviour? The Deno formatter removes it (prettier handles it correctly), should I report this to them.

Contributor guide