1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
import { DateComponent, DateType, formatRelativeDate, dateByAddingComponent } from './date-helper';
import { capitalize } from './string-helpers';
export function hasExpired(expiry: DateType): boolean {
return new Date(expiry).getTime() < Date.now();
}
export function closeToExpiry(expiry: DateType, days = 3): boolean {
return (
!hasExpired(expiry) &&
new Date(expiry) <= dateByAddingComponent(new Date(), DateComponent.day, days)
);
}
export function formatDate(date: DateType, locale: string): string {
return new Intl.DateTimeFormat(locale, { dateStyle: 'medium', timeStyle: 'short' }).format(
new Date(date),
);
}
export function formatRemainingTime(
expiry: DateType,
shouldCapitalizeFirstLetter?: boolean,
): string {
const remaining = formatRelativeDate(new Date(), expiry, true);
return shouldCapitalizeFirstLetter ? capitalize(remaining) : remaining;
}
|