type getAccessTokenResponse = {
access_token: string;
token_type: string;
expires_in: number;
scope: string;
};
type getTopTracksResponse = {
tracks: Track[];
};
type Track = {
artist: string;
title: string;
};
const getTopTracks = async () => {
const { access_token } = await getAccessToken(); //Property 'access_token' does not exist on type 'string | getAccessTokenResponse'.
try {
const { data, status } = await axios.get<getTopTracksResponse>(
TOP_TRACKS_ENDPOINT,
{
headers: {
Authorization: `Bearer ${access_token as string}`,
},
}
);
console.log(data);
return data;
} catch (error) {
if (axios.isAxiosError(error)) {
console.log("error message: ", error.message);
return error.message;
} else {
console.log("unexpected error: ", error);
return "An unexpected error occurred";
}
}
};
I'm new to typescript. using access_token: any worked in dev but I don't want to use that in production for obvious reasons. Any knows how to solve this?