UNPKG

retail-calendar

Version:
20 lines (19 loc) 1.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var date_utils_1 = require("./date_utils"); var last_day_before_eom_1 = require("./last_day_before_eom"); var LastDayBeforeEOMExceptLeapYearStrategy = /** @class */ (function () { function LastDayBeforeEOMExceptLeapYearStrategy() { } LastDayBeforeEOMExceptLeapYearStrategy.prototype.getLastDayForGregorianLastDay = function (lastDayOfGregorianYear, lastDayOfIsoWeek, retailCalendarYear) { var lastDayOfNextGregorianYear = date_utils_1.endOfYear(date_utils_1.addDaysToDate(lastDayOfGregorianYear, 1)); var lastDayOfThisYear = new last_day_before_eom_1.LastDayBeforeEOMStrategy().getLastDayForGregorianLastDay(lastDayOfGregorianYear, lastDayOfIsoWeek, retailCalendarYear); var lastDayOfNextYear = new last_day_before_eom_1.LastDayBeforeEOMStrategy().getLastDayForGregorianLastDay(lastDayOfNextGregorianYear, lastDayOfIsoWeek, retailCalendarYear + 1); if (date_utils_1.getWeekDifference(lastDayOfNextYear, lastDayOfThisYear) === 53) { return date_utils_1.addWeeksToDate(lastDayOfThisYear, 1); } return lastDayOfThisYear; }; return LastDayBeforeEOMExceptLeapYearStrategy; }()); exports.LastDayBeforeEOMExceptLeapYearStrategy = LastDayBeforeEOMExceptLeapYearStrategy;