wix-style-react
Version:
wix-style-react
79 lines (70 loc) • 1.98 kB
JavaScript
import setDay from 'date-fns/set_day';
import format from 'date-fns/format';
import en from 'date-fns/locale/en';
import es from 'date-fns/locale/es';
import pt from 'date-fns/locale/pt';
import fr from 'date-fns/locale/fr';
import de from 'date-fns/locale/de';
import pl from 'date-fns/locale/pl';
import it from 'date-fns/locale/it';
import ru from 'date-fns/locale/ru';
import ja from 'date-fns/locale/ja';
import ko from 'date-fns/locale/ko';
import tr from 'date-fns/locale/tr';
import sv from 'date-fns/locale/sv';
import nl from 'date-fns/locale/nl';
import da from 'date-fns/locale/da';
import * as no from 'date-fns/locale/nb';
var MONTHS_INDICE = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
var locales = {
en: en,
es: es,
pt: pt,
fr: fr,
de: de,
pl: pl,
it: it,
ru: ru,
ja: ja,
ko: ko,
tr: tr,
sv: sv,
no: no,
nl: nl,
da: da
};
var getLocale = function getLocale(locale) {
return typeof locale === 'string' ? locales[locale] : locale;
};
export var formatDate = function formatDate(date, dateFormat, locale) {
return format(date, dateFormat, { locale: getLocale(locale) });
};
export default (function (locale) {
return {
formatMonthTitle: function formatMonthTitle(date) {
return format(date, 'MMMM YYYY', {
locale: getLocale(locale)
});
},
formatWeekdayShort: function formatWeekdayShort(index) {
return format(setDay(new Date(), index), 'dd', {
locale: getLocale(locale)
});
},
formatWeekdayLong: function formatWeekdayLong(index) {
return format(setDay(new Date(), index), 'dddd', {
locale: getLocale(locale)
});
},
formatDay: function formatDay(date) {
return format(date, 'ddd ll', {
locale: getLocale(locale)
});
},
getMonths: function getMonths() {
return MONTHS_INDICE.map(function (i) {
return format(new Date(2018, i), 'MMMM', { locale: getLocale(locale) });
});
}
};
});