Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork2.8k
Open
Description
Before You File a Proposal Please Confirm You Have Done The Following...
- I havesearched for related issues and found none that match my proposal.
- I have searched thecurrent rule list and found no rules that match my proposal.
- I haveread the FAQ and my problem is not listed.
My proposal is suitable for this project
- My proposal specifically checks TypeScript syntax, or it proposes a check that requires type information to be accurate.
- My proposal is not a "formatting rule"; meaning it does not just enforce how code is formatted (whitespace, brace placement, etc).
- I believe my proposal would be useful to the broader TypeScript community (meaning it is not a niche proposal).
Description
Similar torestrict-template-expressions
, the new rulerestrict-constructor-expressions
restrict the types of expressions passed to constructors such asNumber()
andString()
to a subset which result in non-surprising return values
TypeScript types for constructors have a permissiveany
type for the parameters:
Fail Cases
Number({stdout:'123'})// NaNNumber(['2'])// 2String({result:123})// '[object Object]'// I'm guessing there are many more...
Pass Cases
Number({stdout:'123'}.stdout)// 123Number(['2'][0])// 2String({result:123}.result)// '123'
Additional Info
No response