UNPKG

@atlaskit/editor-plugin-synced-block

Version:

SyncedBlock plugin for @atlaskit/editor-core

63 lines (61 loc) 2.29 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.formatElapsedTime = void 0; var _isYesterday = _interopRequireDefault(require("date-fns/isYesterday")); var SECONDS_IN_MINUTE = 60; var SECONDS_IN_HOUR = SECONDS_IN_MINUTE * 60; var SECONDS_IN_DAY = SECONDS_IN_HOUR * 24; var SECONDS_IN_WEEK = SECONDS_IN_DAY * 7; var SECONDS_IN_MONTH = SECONDS_IN_DAY * 30; var SECONDS_IN_YEAR = SECONDS_IN_DAY * 365; var formatElapsedTime = exports.formatElapsedTime = function formatElapsedTime(isoDate, intl) { var now = Date.now(); var date = new Date(isoDate).getTime(); var diffInSeconds = Math.floor((now - date) / 1000); var dateObj = new Date(isoDate); // Show "yesterday" when timestamp is from the previous calendar day if ((0, _isYesterday.default)(dateObj) && diffInSeconds >= SECONDS_IN_DAY) { return intl.formatRelativeTime(-1, 'day', { numeric: 'auto', style: 'long' }); } if (diffInSeconds < SECONDS_IN_MINUTE) { return intl.formatRelativeTime(-Math.max(diffInSeconds, 1), 'second', { style: 'long' }); } else if (diffInSeconds < SECONDS_IN_HOUR) { var minutes = Math.floor(diffInSeconds / SECONDS_IN_MINUTE); return intl.formatRelativeTime(-minutes, 'minute', { style: 'long' }); } else if (diffInSeconds < SECONDS_IN_DAY) { var hours = Math.floor(diffInSeconds / SECONDS_IN_HOUR); return intl.formatRelativeTime(-hours, 'hour', { style: 'long' }); } else if (diffInSeconds < SECONDS_IN_WEEK) { var days = Math.floor(diffInSeconds / SECONDS_IN_DAY); return intl.formatRelativeTime(-days, 'day', { style: 'long' }); } else if (diffInSeconds < SECONDS_IN_MONTH) { var weeks = Math.floor(diffInSeconds / SECONDS_IN_WEEK); return intl.formatRelativeTime(-weeks, 'week', { style: 'long' }); } else if (diffInSeconds < SECONDS_IN_YEAR) { var months = Math.floor(diffInSeconds / SECONDS_IN_MONTH); return intl.formatRelativeTime(-months, 'month', { style: 'long' }); } else { var years = Math.floor(diffInSeconds / SECONDS_IN_YEAR); return intl.formatRelativeTime(-years, 'year', { style: 'long' }); } };