index.js 930 B

1234567891011121314151617181920212223242526
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
  3. Object.defineProperty(exports, "__esModule", {
  4. value: true
  5. });
  6. exports.default = setUTCISODay;
  7. var _index = _interopRequireDefault(require("../../toDate/index.js"));
  8. var _index2 = _interopRequireDefault(require("../requiredArgs/index.js"));
  9. var _index3 = _interopRequireDefault(require("../toInteger/index.js"));
  10. function setUTCISODay(dirtyDate, dirtyDay) {
  11. (0, _index2.default)(2, arguments);
  12. var day = (0, _index3.default)(dirtyDay);
  13. if (day % 7 === 0) {
  14. day = day - 7;
  15. }
  16. var weekStartsOn = 1;
  17. var date = (0, _index.default)(dirtyDate);
  18. var currentDay = date.getUTCDay();
  19. var remainder = day % 7;
  20. var dayIndex = (remainder + 7) % 7;
  21. var diff = (dayIndex < weekStartsOn ? 7 : 0) + day - currentDay;
  22. date.setUTCDate(date.getUTCDate() + diff);
  23. return date;
  24. }
  25. module.exports = exports.default;