@enspirit/emb
Version:
A replacement for our Makefile-for-monorepos
20 lines (19 loc) • 554 B
JavaScript
import { DateTime } from 'luxon';
const units = [
'year',
'month',
'week',
'day',
'hour',
'minute',
'second',
];
export const timeAgo = (date) => {
const dateTime = date instanceof Date ? DateTime.fromJSDate(date) : date;
const diff = dateTime.diffNow().shiftTo(...units);
const unit = units.find((unit) => diff.get(unit) !== 0) || 'second';
const relativeFormatter = new Intl.RelativeTimeFormat('en', {
numeric: 'auto',
});
return relativeFormatter.format(Math.trunc(diff.as(unit)), unit);
};