isSameISOWeekYear.cjs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. "use strict";
  2. exports.isSameISOWeekYear = isSameISOWeekYear;
  3. var _index = require("./startOfISOWeekYear.cjs");
  4. var _index2 = require("./_lib/normalizeDates.cjs");
  5. /**
  6. * The {@link isSameISOWeekYear} function options.
  7. */
  8. /**
  9. * @name isSameISOWeekYear
  10. * @category ISO Week-Numbering Year Helpers
  11. * @summary Are the given dates in the same ISO week-numbering year?
  12. *
  13. * @description
  14. * Are the given dates in the same ISO week-numbering year?
  15. *
  16. * ISO week-numbering year: http://en.wikipedia.org/wiki/ISO_week_date
  17. *
  18. * @param laterDate - The first date to check
  19. * @param earlierDate - The second date to check
  20. * @param options - An object with options
  21. *
  22. * @returns The dates are in the same ISO week-numbering year
  23. *
  24. * @example
  25. * // Are 29 December 2003 and 2 January 2005 in the same ISO week-numbering year?
  26. * const result = isSameISOWeekYear(new Date(2003, 11, 29), new Date(2005, 0, 2))
  27. * //=> true
  28. */
  29. function isSameISOWeekYear(laterDate, earlierDate, options) {
  30. const [laterDate_, earlierDate_] = (0, _index2.normalizeDates)(
  31. options?.in,
  32. laterDate,
  33. earlierDate,
  34. );
  35. return (
  36. +(0, _index.startOfISOWeekYear)(laterDate_) ===
  37. +(0, _index.startOfISOWeekYear)(earlierDate_)
  38. );
  39. }