@uimkit/uikit-react
Version:
<img style="width:64px" src="https://mgmt.uimkit.chat/media/img/avatar.png"/>
55 lines (48 loc) • 2.3 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var TranslationContext = require('../context/TranslationContext.js');
require('../context/UIKitContext.js');
require('../context/ComponentContext.js');
require('../context/ChatActionContext.js');
require('../context/MessageInputContext.js');
require('../context/UIMessageContext.js');
require('../context/ChatStateContext.js');
var Dayjs = require('dayjs');
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
var Dayjs__default = /*#__PURE__*/_interopDefaultLegacy(Dayjs);
var notValidDateWarning = 'MessageTimestamp was called without a message, or message has invalid created_at date.';
var noParsingFunctionWarning = 'MessageTimestamp was called but there is no datetime parsing function available';
function getDateString(_a) {
var calendar = _a.calendar, format = _a.format, _b = _a.formatDate, formatDate = _b === void 0 ? function (date) { return Dayjs__default["default"](date).fromNow(); } : _b, messageCreatedAt = _a.messageCreatedAt, tDateTimeParser = _a.tDateTimeParser;
if (!messageCreatedAt ||
(typeof messageCreatedAt === 'string' && !Date.parse(messageCreatedAt))) {
console.warn(notValidDateWarning);
return null;
}
if (typeof formatDate === 'function') {
return formatDate(new Date(messageCreatedAt));
}
if (!tDateTimeParser) {
console.warn(noParsingFunctionWarning);
return null;
}
var parsedTime = tDateTimeParser(messageCreatedAt);
if (TranslationContext.isDayOrMoment(parsedTime)) {
/**
* parsedTime.calendar is guaranteed on the type but is only
* available when a user calls dayjs.extend(calendar)
*/
return calendar && parsedTime.calendar ? parsedTime.calendar() : parsedTime.format(format);
}
if (TranslationContext.isDate(parsedTime)) {
return parsedTime.toDateString();
}
if (TranslationContext.isNumberOrString(parsedTime)) {
return parsedTime.toString();
}
return null;
}
exports.getDateString = getDateString;
exports.noParsingFunctionWarning = noParsingFunctionWarning;
exports.notValidDateWarning = notValidDateWarning;
//# sourceMappingURL=utils.js.map