jasonraimondi/traverse

View on GitHub
src/renderer/store/Trending/LastUpdated.ts

Summary

Maintainability
A
0 mins
Test Coverage
import { store } from '@/renderer';
import { ILanguage } from '@/renderer/app/TrendingRepos/components/LanguageList';
import { FrequencyType } from '@/renderer/infrastructure/model/Frequency.type';

const updateCheck = 1000 * 60 * 5; // five minutes

export function TrendingLastUpdated(language: ILanguage, frequency: FrequencyType) {
  const trending = store.getState().trending;
  const lastUpdated = trending.repositoryList
    && trending.repositoryList[language.value]
    && trending.repositoryList[language.value][frequency]
    && Date.now() - trending.repositoryList[language.value][frequency].lastUpdated;
  const hasBeenUpdatedRecently = lastUpdated < updateCheck;
  return {
    updateCheck,
    lastUpdated,
    hasBeenUpdatedRecently,
  };
}