Blame view

node_modules/moment/src/lib/locale/lists.js 2.14 KB
ce4c83ff   wxy   初始提交
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
  import isNumber from '../utils/is-number';
  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 (isNumber(format)) {
          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 (isNumber(format)) {
              index = format;
              format = undefined;
          }
  
          format = format || '';
      } else {
          format = localeSorted;
          index = format;
          localeSorted = false;
  
          if (isNumber(format)) {
              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');
  }