Microsoft/TypeScript
View on GitHub【bug】ThisType is invalid when using param on generic object
Open
#52,969 opened on Feb 25, 2023
BugDomain: This-TypingHelp Wanted
Repository metrics
- Stars
- (48,455 stars)
- PR merge metrics
- (Avg merge 6d 17h) (9 merged PRs in 30d)
Description
Bug Report
🔎 Search Terms
ThisType Object Generic
🕗 Version & Regression Information
I was unable to test this on prior versions because I was not using this feature previously
⏯ Playground Link
Playground link with relevant code
💻 Code
type ILifetime = {
onShareTimeline: () => string
}
function createObject<D>(obj: D & ILifetime & ThisType<D>) {
console.warn(obj)
}
// working
createObject({
title: 'demo',
onShareTimeline() {
return ''
}
})
// not working
createObject({
title: 'demo',
onShareTimeline() {
return this.title
}
})
🙁 Actual behavior
The generic type is broken
🙂 Expected behavior
The generic type should contain the object properties as those are finally included into the result