Statistics and dashboard data
Dashboard stats
import * as AnalogWakaTime from '@analog-code-monitor/analog-wakatime-ts-sdk';
const configuration = new AnalogWakaTime.Configuration({
accessToken: process.env.ANALOG_WAKATIME_API_TOKEN,
});
const statisticsApi = new AnalogWakaTime.StatisticsApi(configuration);
const { data } = await statisticsApi.mainApiV1GetMyDashboardStatsGet();
console.log(data);
Language stats
const { data } = await statisticsApi.mainApiV1GetMyLanguageStatsGet();
for (const entry of data.languages ?? []) {
console.log(`${entry.name}: ${entry.total_seconds}s`);
}
Project stats
const { data } = await statisticsApi.mainApiV1GetMyProjectStatsGet();
console.log(data);
Activity heatmap
const { data } = await statisticsApi.mainApiV1GetMyProfileActivityHeatmapGet();
console.log(data);
Run independent reads concurrently
Statistics endpoints do not depend on each other, so Promise.all is safe:
const [dashboard, languages, projects] = await Promise.all([
statisticsApi.mainApiV1GetMyDashboardStatsGet(),
statisticsApi.mainApiV1GetMyLanguageStatsGet(),
statisticsApi.mainApiV1GetMyProjectStatsGet(),
]);