DayPeriodParser.js 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.DayPeriodParser = void 0;
  7. var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
  8. var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
  9. var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
  10. var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
  11. var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
  12. var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
  13. var _Parser2 = require("../Parser.js");
  14. var _utils = require("../utils.js");
  15. // in the morning, in the afternoon, in the evening, at night
  16. var DayPeriodParser = /*#__PURE__*/function (_Parser) {
  17. (0, _inherits2.default)(DayPeriodParser, _Parser);
  18. var _super = (0, _createSuper2.default)(DayPeriodParser);
  19. function DayPeriodParser() {
  20. var _this;
  21. (0, _classCallCheck2.default)(this, DayPeriodParser);
  22. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  23. args[_key] = arguments[_key];
  24. }
  25. _this = _super.call.apply(_super, [this].concat(args));
  26. (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "priority", 80);
  27. (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "incompatibleTokens", ['a', 'b', 't', 'T']);
  28. return _this;
  29. }
  30. (0, _createClass2.default)(DayPeriodParser, [{
  31. key: "parse",
  32. value: function parse(dateString, token, match) {
  33. switch (token) {
  34. case 'B':
  35. case 'BB':
  36. case 'BBB':
  37. return match.dayPeriod(dateString, {
  38. width: 'abbreviated',
  39. context: 'formatting'
  40. }) || match.dayPeriod(dateString, {
  41. width: 'narrow',
  42. context: 'formatting'
  43. });
  44. case 'BBBBB':
  45. return match.dayPeriod(dateString, {
  46. width: 'narrow',
  47. context: 'formatting'
  48. });
  49. case 'BBBB':
  50. default:
  51. return match.dayPeriod(dateString, {
  52. width: 'wide',
  53. context: 'formatting'
  54. }) || match.dayPeriod(dateString, {
  55. width: 'abbreviated',
  56. context: 'formatting'
  57. }) || match.dayPeriod(dateString, {
  58. width: 'narrow',
  59. context: 'formatting'
  60. });
  61. }
  62. }
  63. }, {
  64. key: "set",
  65. value: function set(date, _flags, value) {
  66. date.setUTCHours((0, _utils.dayPeriodEnumToHours)(value), 0, 0, 0);
  67. return date;
  68. }
  69. }]);
  70. return DayPeriodParser;
  71. }(_Parser2.Parser);
  72. exports.DayPeriodParser = DayPeriodParser;