import dayjs from 'dayjs'; import { find, propEq } from 'ramda'; import { type CustomTimePeriod, lastDayPeriod, type TimePeriod, type TimePeriodById } from '../models'; export const defaultTimePeriod = lastDayPeriod; export const getTimePeriodFromNow = ( timePeriod: TimePeriod | null ): CustomTimePeriod => { return { end: new Date(Date.now()), start: new Date(timePeriod?.getStart() || 0), timelineEventsLimit: timePeriod?.timelineEventsLimit as number }; }; export const getTimePeriodById = ({ id, timePeriods }: TimePeriodById): TimePeriod => find(propEq(id, 'id'))(timePeriods) as TimePeriod; export const isInvalidDate = ({ startDate, endDate }: { startDate: Date | null; endDate: Date | null; }): boolean => dayjs(startDate).isSameOrAfter(dayjs(endDate), 'minute');