TypeScript Version: 3.7.0-dev.20191017
Search Terms:
No overload matches this call.
Code
class Repo {
async getLastFetched(): Promise<number> {
try {
return await new Date().getTime();
}
catch {
return 0;
}
}
async getStatus(): Promise<{ status: number } | undefined> {
return await { status: 0 };
}
}
class Foo {
private async getSingleRepoConfirmStep(repos: Repo[]) {
const repo = repos[0];
const [status, lastFetched] = await Promise.all([repo.getStatus(), repo.getLastFetched()]);
let fetchedOn = ''
if (lastFetched !== 0 && status !== undefined) {
const goo = `${status.status}`;
fetchedOn = `Last fetched ${new Date(lastFetched)}`;
}
}
}
Expected behavior:
lastFetched is of type number
Actual behavior:
lastFetched is of type number | undefined
Playground Link:
https://www.typescriptlang.org/play/index.html?ts=Nightly#code/MYGwhgzhAEBKCmAHA9tA3gKGt6kCeAdsNAObwAuAMpOQGIXAAW8AJgBQCUAXNAAoBOyALYBLCPAA8BAK5CARvH4A+dFhzry-PKvW6c-CtP4FcAdzAjy0AvFPQAImHLxOAOjLkAKiKEuOAbjU9AF8g3WAnJh09XQNyIxMABkCY6FD1ULD8IlIKAGVyJ2kITh4BYTFJNGgIQviIHhl5RTToAB9oaQIWeAAzERsWFUxUuISzCytq2qKG6ES0lJxQzNBIGFpkVBGcRH4RADcneFwIQmIPPIGSEHgEFABhZAJ+-iECpDYDFDn75ABtAC6HGiemAz1q0G+qAAvFCkMgIP9EoClmCIVZ-jN6gAaaDgWr0chMViA6BwsDmSx8QSicSuMAgEBsf7Q9z5OrFTh4tkeaiEhjMdgcYGBMLqW5WXqC1gAeRMcIA5IrxTgRL1oGwCXQZSxoABCGFwhYAMhNNU5MENcK6PX6gxBO1S2HBBEhJC25OgAAMACRobHFVyBiDBb1o53S4lC+Ve738qW66D+mx2RzOLU0IkklgcMMRjJhFZAA
Related Issues: