UNPKG

@atlaskit/profilecard

Version:

A React component to display a card with user information.

39 lines (38 loc) 1.43 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = getRelativeDateKey; exports.isValidDate = isValidDate; var _differenceInMonths = _interopRequireDefault(require("date-fns/differenceInMonths")); var _isThisMonth = _interopRequireDefault(require("date-fns/isThisMonth")); var _isThisWeek = _interopRequireDefault(require("date-fns/isThisWeek")); var _isValid = _interopRequireDefault(require("date-fns/isValid")); function isValidDate(date) { var today = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Date(); return !!date.getTime && (0, _isValid.default)(date) && date.getTime() <= today.getTime(); } function getRelativeDateKey(date) { var today = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new Date(); if (!date || !isValidDate(date, today)) { return null; } if ((0, _isThisWeek.default)(date)) { return 'ThisWeek'; } if ((0, _isThisMonth.default)(date)) { return 'ThisMonth'; } if (date.getFullYear() === today.getFullYear() && date.getMonth() === today.getMonth() - 1) { return 'LastMonth'; } var diffInMonths = (0, _differenceInMonths.default)(today, date); if (diffInMonths < 6) { return 'AFewMonths'; } if (diffInMonths <= 12) { return 'SeveralMonths'; } return 'MoreThanAYear'; }