UNPKG

ngx-bootstrap

Version:
43 lines 1.62 kB
// moment.js // version : 2.18.1 // authors : Tim Wood, Iskren Chernev, Moment.js contributors // license : MIT // momentjs.com import { formatFunctions, makeFormatFunction } from './format-functions'; import './locale'; import './units'; import { getLocale } from './locale/locales.service'; import { isDateValid } from './utils/type-checks'; export function formatDate(date, format, locale) { if (locale === void 0) { locale = 'en'; } var _locale = getLocale(locale); if (!_locale) { throw new Error("Locale \"" + locale + "\" is not defined, please add it with \"defineLocale(...)\""); } var output = formatMoment(date, format, _locale); return _locale.postformat(output); } // format date using native date object export function formatMoment(date, format, locale) { if (!isDateValid(date)) { return locale.invalidDate; } format = expandFormat(format, locale); formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format); return formatFunctions[format](date, locale); } export function expandFormat(format, locale) { var i = 5; var localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g; var replaceLongDateFormatTokens = function (input) { return locale.longDateFormat(input) || input; }; localFormattingTokens.lastIndex = 0; while (i >= 0 && localFormattingTokens.test(format)) { format = format.replace(localFormattingTokens, replaceLongDateFormatTokens); localFormattingTokens.lastIndex = 0; i -= 1; } return format; } //# sourceMappingURL=format.js.map