EraParser.js 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
  2. import _createClass from "@babel/runtime/helpers/esm/createClass";
  3. import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
  4. import _inherits from "@babel/runtime/helpers/esm/inherits";
  5. import _createSuper from "@babel/runtime/helpers/esm/createSuper";
  6. import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
  7. import { Parser } from "../Parser.js";
  8. export var EraParser = /*#__PURE__*/function (_Parser) {
  9. _inherits(EraParser, _Parser);
  10. var _super = _createSuper(EraParser);
  11. function EraParser() {
  12. var _this;
  13. _classCallCheck(this, EraParser);
  14. for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
  15. args[_key] = arguments[_key];
  16. }
  17. _this = _super.call.apply(_super, [this].concat(args));
  18. _defineProperty(_assertThisInitialized(_this), "priority", 140);
  19. _defineProperty(_assertThisInitialized(_this), "incompatibleTokens", ['R', 'u', 't', 'T']);
  20. return _this;
  21. }
  22. _createClass(EraParser, [{
  23. key: "parse",
  24. value: function parse(dateString, token, match) {
  25. switch (token) {
  26. // AD, BC
  27. case 'G':
  28. case 'GG':
  29. case 'GGG':
  30. return match.era(dateString, {
  31. width: 'abbreviated'
  32. }) || match.era(dateString, {
  33. width: 'narrow'
  34. });
  35. // A, B
  36. case 'GGGGG':
  37. return match.era(dateString, {
  38. width: 'narrow'
  39. });
  40. // Anno Domini, Before Christ
  41. case 'GGGG':
  42. default:
  43. return match.era(dateString, {
  44. width: 'wide'
  45. }) || match.era(dateString, {
  46. width: 'abbreviated'
  47. }) || match.era(dateString, {
  48. width: 'narrow'
  49. });
  50. }
  51. }
  52. }, {
  53. key: "set",
  54. value: function set(date, flags, value) {
  55. flags.era = value;
  56. date.setUTCFullYear(value, 0, 1);
  57. date.setUTCHours(0, 0, 0, 0);
  58. return date;
  59. }
  60. }]);
  61. return EraParser;
  62. }(Parser);