EraParser.js 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.EraParser = 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 EraParser = /*#__PURE__*/function (_Parser) {
  15. (0, _inherits2.default)(EraParser, _Parser);
  16. var _super = (0, _createSuper2.default)(EraParser);
  17. function EraParser() {
  18. var _this;
  19. (0, _classCallCheck2.default)(this, EraParser);
  20. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  21. args[_key] = arguments[_key];
  22. }
  23. _this = _super.call.apply(_super, [this].concat(args));
  24. (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "priority", 140);
  25. (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "incompatibleTokens", ['R', 'u', 't', 'T']);
  26. return _this;
  27. }
  28. (0, _createClass2.default)(EraParser, [{
  29. key: "parse",
  30. value: function parse(dateString, token, match) {
  31. switch (token) {
  32. // AD, BC
  33. case 'G':
  34. case 'GG':
  35. case 'GGG':
  36. return match.era(dateString, {
  37. width: 'abbreviated'
  38. }) || match.era(dateString, {
  39. width: 'narrow'
  40. });
  41. // A, B
  42. case 'GGGGG':
  43. return match.era(dateString, {
  44. width: 'narrow'
  45. });
  46. // Anno Domini, Before Christ
  47. case 'GGGG':
  48. default:
  49. return match.era(dateString, {
  50. width: 'wide'
  51. }) || match.era(dateString, {
  52. width: 'abbreviated'
  53. }) || match.era(dateString, {
  54. width: 'narrow'
  55. });
  56. }
  57. }
  58. }, {
  59. key: "set",
  60. value: function set(date, flags, value) {
  61. flags.era = value;
  62. date.setUTCFullYear(value, 0, 1);
  63. date.setUTCHours(0, 0, 0, 0);
  64. return date;
  65. }
  66. }]);
  67. return EraParser;
  68. }(_Parser2.Parser);
  69. exports.EraParser = EraParser;