| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- import { getLocale } from './locales';
- import { createUTC } from '../create/utc';
- function get (format, index, field, setter) {
- var locale = getLocale();
- var utc = createUTC().set(setter, index);
- return locale[field](utc, format);
- }
- function listMonthsImpl (format, index, field) {
- if (typeof format === 'number') {
- index = format;
- format = undefined;
- }
- format = format || '';
- if (index != null) {
- return get(format, index, field, 'month');
- }
- var i;
- var out = [];
- for (i = 0; i < 12; i++) {
- out[i] = get(format, i, field, 'month');
- }
- return out;
- }
- // ()
- // (5)
- // (fmt, 5)
- // (fmt)
- // (true)
- // (true, 5)
- // (true, fmt, 5)
- // (true, fmt)
- function listWeekdaysImpl (localeSorted, format, index, field) {
- if (typeof localeSorted === 'boolean') {
- if (typeof format === 'number') {
- index = format;
- format = undefined;
- }
- format = format || '';
- } else {
- format = localeSorted;
- index = format;
- localeSorted = false;
- if (typeof format === 'number') {
- index = format;
- format = undefined;
- }
- format = format || '';
- }
- var locale = getLocale(),
- shift = localeSorted ? locale._week.dow : 0;
- if (index != null) {
- return get(format, (index + shift) % 7, field, 'day');
- }
- var i;
- var out = [];
- for (i = 0; i < 7; i++) {
- out[i] = get(format, (i + shift) % 7, field, 'day');
- }
- return out;
- }
- export function listMonths (format, index) {
- return listMonthsImpl(format, index, 'months');
- }
- export function listMonthsShort (format, index) {
- return listMonthsImpl(format, index, 'monthsShort');
- }
- export function listWeekdays (localeSorted, format, index) {
- return listWeekdaysImpl(localeSorted, format, index, 'weekdays');
- }
- export function listWeekdaysShort (localeSorted, format, index) {
- return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');
- }
- export function listWeekdaysMin (localeSorted, format, index) {
- return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');
- }
|