fd470b6037820a8d4b45fe40cad4b532a0c29e4ea860f60bebe847bc659eee1d236c32becf1b555e6c9a62ca0dd2f85055d8df0eacc401e17f0b423ce5fc2b 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. import hasOwnProp from '../utils/has-own-prop';
  2. var aliases = {
  3. D: 'date',
  4. dates: 'date',
  5. date: 'date',
  6. d: 'day',
  7. days: 'day',
  8. day: 'day',
  9. e: 'weekday',
  10. weekdays: 'weekday',
  11. weekday: 'weekday',
  12. E: 'isoWeekday',
  13. isoweekdays: 'isoWeekday',
  14. isoweekday: 'isoWeekday',
  15. DDD: 'dayOfYear',
  16. dayofyears: 'dayOfYear',
  17. dayofyear: 'dayOfYear',
  18. h: 'hour',
  19. hours: 'hour',
  20. hour: 'hour',
  21. ms: 'millisecond',
  22. milliseconds: 'millisecond',
  23. millisecond: 'millisecond',
  24. m: 'minute',
  25. minutes: 'minute',
  26. minute: 'minute',
  27. M: 'month',
  28. months: 'month',
  29. month: 'month',
  30. Q: 'quarter',
  31. quarters: 'quarter',
  32. quarter: 'quarter',
  33. s: 'second',
  34. seconds: 'second',
  35. second: 'second',
  36. gg: 'weekYear',
  37. weekyears: 'weekYear',
  38. weekyear: 'weekYear',
  39. GG: 'isoWeekYear',
  40. isoweekyears: 'isoWeekYear',
  41. isoweekyear: 'isoWeekYear',
  42. w: 'week',
  43. weeks: 'week',
  44. week: 'week',
  45. W: 'isoWeek',
  46. isoweeks: 'isoWeek',
  47. isoweek: 'isoWeek',
  48. y: 'year',
  49. years: 'year',
  50. year: 'year',
  51. };
  52. export function normalizeUnits(units) {
  53. return typeof units === 'string'
  54. ? aliases[units] || aliases[units.toLowerCase()]
  55. : undefined;
  56. }
  57. export function normalizeObjectUnits(inputObject) {
  58. var normalizedInput = {},
  59. normalizedProp,
  60. prop;
  61. for (prop in inputObject) {
  62. if (hasOwnProp(inputObject, prop)) {
  63. normalizedProp = normalizeUnits(prop);
  64. if (normalizedProp) {
  65. normalizedInput[normalizedProp] = inputObject[prop];
  66. }
  67. }
  68. }
  69. return normalizedInput;
  70. }