in packages/eui/src/services/format/format_date.ts [80:123]
export const formatDate: (
value?: moment.MomentInput,
dateFormatKeyOrConfig?: DateFormat | string | Partial<FormatDateConfig>
) => string = (value, dateFormatKeyOrConfig = 'dateTime') => {
if (isString(dateFormatKeyOrConfig)) {
if (isNil(value)) {
return '';
}
const dateFormatStrOrFunc = isStringADateFormat(dateFormatKeyOrConfig)
? dateFormatAliases[dateFormatKeyOrConfig]
: dateFormatKeyOrConfig;
if (isFunction(dateFormatStrOrFunc)) {
return dateFormatStrOrFunc(value, {});
}
if (isString(dateFormatStrOrFunc)) {
return moment(value).format(dateFormatStrOrFunc);
}
}
if (instanceOfFormatDateConfig(dateFormatKeyOrConfig)) {
const { format = 'dateTime', nil = '', options } = dateFormatKeyOrConfig;
const dateFormat = dateFormatAliases[format] || format;
if (isNil(value)) {
return nil;
}
if (isFunction(dateFormat)) {
return dateFormat(value, options);
}
if (isString(dateFormat)) {
return moment(value).format(dateFormat);
}
}
throw new Error(
`Failed to format value using dateFormatKeyOrConfig: ${dateFormatKeyOrConfig}`
);
};