UNPKG

@trade-quorum/tq-helpers

Version:

Various common helpers for Trade Quorum API/App

39 lines (33 loc) 1.41 kB
const moment = require('moment'); exports.isOnSameDay = (date1, date2) => date1.getDate() === date2.getDate() && date1.getMonth() === date2.getMonth() && date1.getFullYear() === date2.getFullYear(); exports.isToday = (date) => exports.isOnSameDay(new Date(), date); exports.duration = (fromDate, toDate) => { fromDate = new Date(fromDate); if (!toDate) toDate = new Date(Date.now()); else toDate = new Date(toDate); const isOnSameDate = toDate.getDate() === fromDate.getDate() && toDate.getMonth() === fromDate.getMonth() && toDate.getFullYear() === fromDate.getFullYear(); const durationDate = new Date(toDate.getTime() - fromDate.getTime()); // Format duration if (!isOnSameDate) return moment().format(durationDate, 'd[d ago]'); else if (durationDate.getTime() < 60000) return moment().format(durationDate, 's[s ago]'); else if (durationDate.getTime() < 3600000) return moment().format(durationDate, 'm[m ago]'); else return moment().format(durationDate, 'h[h] m[m ago]'); }; exports.filterDatesWithin = (dates, timeInMilliseconds) => { const now = Date.now(); const filteredDates = []; for (const date in dates) { if (now - date.getTime() <= timeInMilliseconds) filteredDates.push(date); } return filteredDates; }; exports.countDatesWithin = (dates, timeInMilliseconds) => exports.filterDatesWithin(dates, timeInMilliseconds).length;