@nesto-software/moment-holiday-germany
Version:
The german locale for moment-holiday.
58 lines • 3 kB
JavaScript
;
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
}
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
var moment_holiday_core_1 = require("@nesto-software/moment-holiday-core");
var moment = require("moment");
var url = require("url");
var common_state_holiday_definitions_1 = require("./common-state-holiday-definitions");
var holiday_names_1 = require("./holiday-names");
var SNStateLocale = /** @class */ (function (_super) {
__extends(SNStateLocale, _super);
function SNStateLocale() {
var _this = _super !== null && _super.apply(this, arguments) || this;
_this.legislation = new moment_holiday_core_1.Legislation("Gesetz über Sonn- und Feiertage im Freistaat Sachsen",
// tslint:disable-next-line:max-line-length
url.parse("https://www.revosax.sachsen.de/vorschrift/3997-SaechsSFG"), "§1 Abs. 1");
return _this;
}
SNStateLocale.prototype.getHolidayDefinitions = function () {
return common_state_holiday_definitions_1.COMMON_STATE_HOLIDAY_DEFINITIONS(this.legislation).concat([
{
name: holiday_names_1.HolidayName.REFORMATIONSTAG,
date: new moment_holiday_core_1.RecurringDate(31, 9),
tags: [
new moment_holiday_core_1.TypeTag(moment_holiday_core_1.TypeTagValue.PUBLIC),
new moment_holiday_core_1.LegislationTag(this.legislation),
],
},
{
name: holiday_names_1.HolidayName.BUSS_UND_BETTAG,
date: moment_holiday_core_1.PeriodicInYearDate.withResolver(function (year) {
var christmasDay = moment(new Date(year, 11, 25));
var adjustment = christmasDay.day() == 0 ? -7 : 0; // if Christmas is a Sunday, we need to go back one week further
var adventSunday = christmasDay.day(-21 + adjustment);
return adventSunday.subtract(11, "days"); // Buß und Bettag is 11 days before first advent sunday
}),
tags: [
new moment_holiday_core_1.TypeTag(moment_holiday_core_1.TypeTagValue.PUBLIC),
new moment_holiday_core_1.LegislationTag(this.legislation),
],
},
]);
};
return SNStateLocale;
}(moment_holiday_core_1.AbstractLocale));
exports.SNStateLocale = SNStateLocale;
//# sourceMappingURL=sn.state-locale.js.map