UNPKG

wix-style-react

Version:
79 lines (70 loc) 1.98 kB
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) }); }); } }; });