-
Notifications
You must be signed in to change notification settings - Fork 12.9k
Closed
Labels
DuplicateAn existing issue was already createdAn existing issue was already createdFix AvailableA PR has been opened for this issueA PR has been opened for this issue
Description
TypeScript Version: 3.9.2 (doesn't work in any version I tested, including 4)
Search Terms:
higher order function return value object excess property check
Code
interface Foo {
foo: {
bar: number
}
}
// Error for unknown property buz
const getFoo = (): Foo => ({
foo: {
bar: 1,
buz: 2,
}
})
// Typeing should be the same. Autocomplete works, but no error is shown for the excessive property buz
const getFoo3 = (): () => Foo => () => ({
foo: {
bar: 1,
buz: 2
}
})
// Same problem as above. The issue doesn't seem to be directly related to higher order functions
const getFoo2: () => Foo = () => ({
foo: {
bar: 1,
buz: 2,
}
})
Expected behavior:
Error should be thrown for the excess property in all cases.
Actual behavior:
Error for excess properties is only thrown, when the return value of the function is directly typed.
Related Issues: -
Metadata
Metadata
Assignees
Labels
DuplicateAn existing issue was already createdAn existing issue was already createdFix AvailableA PR has been opened for this issueA PR has been opened for this issue