15c1fa72501200ebb3e671009235e095625cc3c4c0e00f8879ac52deb4ceaa57b0d70e4a8ad9d88c33a8fa23df25be2ccdb4d1a78e69169a72487b4b38a167 959 B

1234567891011121314151617181920212223242526272829303132333435
  1. import { makeGetSet } from '../moment/get-set';
  2. import { addFormatToken } from '../format/format';
  3. import {
  4. addRegexToken,
  5. match1to2,
  6. match2,
  7. match1to2NoLeadingZero,
  8. } from '../parse/regex';
  9. import { addParseToken } from '../parse/token';
  10. import { DATE } from './constants';
  11. import toInt from '../utils/to-int';
  12. // FORMATTING
  13. addFormatToken('D', ['DD', 2], 'Do', 'date');
  14. // PARSING
  15. addRegexToken('D', match1to2, match1to2NoLeadingZero);
  16. addRegexToken('DD', match1to2, match2);
  17. addRegexToken('Do', function (isStrict, locale) {
  18. // TODO: Remove "ordinalParse" fallback in next major release.
  19. return isStrict
  20. ? locale._dayOfMonthOrdinalParse || locale._ordinalParse
  21. : locale._dayOfMonthOrdinalParseLenient;
  22. });
  23. addParseToken(['D', 'DD'], DATE);
  24. addParseToken('Do', function (input, array) {
  25. array[DATE] = toInt(input.match(match1to2)[0]);
  26. });
  27. // MOMENTS
  28. export var getSetDayOfMonth = makeGetSet('Date', true);