Библиотека для расчета дат всех шведских праздников за любой год.
$ npm install swedish-holidays
import { getHolidays , getUpcomingHolidays , isHoliday , isPublicHoliday } from 'swedish-holidays' ;
// Get an array of all holidays for the current
const holidays = getHolidays ( ) ;
// Get an array of all holidays for a specific year
const holidays2019 = getHolidays ( 2019 ) ;
// Get an array of all upcoming holidays
const upcoming = getUpcomingHolidays ( ) ;
// Check if today is a holiday
const isItAHolidayToday = isHoliday ( ) ;
// Or if you want to check a specific date
const isThisAHoliday = isHoliday ( new Date ( '2019-12-24' ) ) ;
// Check if today is a public holiday in Sweden (see https://www.riksdagen.se/sv/dokument-lagar/dokument/svensk-forfattningssamling/lag-1989253-om-allmanna-helgdagar_sfs-1989-253)
const isItAPublicHolidayToday = isPublicHoliday ( ) ;
// Or if you want to check a specific date
const isThisAPublicHoliday = isPublicHoliday ( new Date ( '2021-11-01' ) ) ;
Результатом всегда будет Array
, заполненный информацией о праздниках в формате JSON, включая имя и дату.
[
{
name : 'Julafton' ,
date : '2019-12-24T00:00:00.000Z' ,
day : 24 ,
month : 12 ,
year : 2019 ,
isPublicHoliday : false ,
} ,
{
name : 'Juldagen' ,
date : '2019-12-25T00:00:00.000Z' ,
day : 25 ,
month : 12 ,
year : 2019 ,
isPublicHoliday : true ,
} ,
...
]
При использовании isHoliday
результат будет false
если указанная дата не является праздником, в противном случае это объект JSON праздника.
При использовании isPublicHoliday
результат будет false
, если указанная дата не является государственным праздником.
Каждый праздник экспортируется и может использоваться индивидуально. IHolidayOptions
используется для передачи параметров конструктору. Поддерживаются как год, так и локализация.
Для удобства праздники также можно импортировать, используя их шведские названия.
import { MidsummerEve , Midsommarafton } from 'swedish-holidays' ;
// Both will be equal instances of the same class
const midsummerA = new MidsummerEve ( { year : 2022 } ) ;
const midsummerB = new Midsommarafton ( { year : 2022 } ) ;
Если вы хотите, чтобы названия праздников возвращались на языке, отличном от языка по умолчанию (шведского), используйте language
объект JSON и измените его перед передачей в функцию getHolidays
.
const { language } = require ( 'swedish-holidays' ) ;
const translation = { ... language } ;
// This value is 'Julafton' by default.
translation . christmasEve = 'Christmas Eve' ;
const holidays2019 = getHolidays ( 2019 , translation ) ;
// or if you want the current year
// supply a year that is 'falsy' e.g. undefined / null / 0 / false
const holidays = getHolidays ( 0 , translation ) ;
Или используйте интерфейс IHolidayNames
import { getHolidays , IHolidayNames } from 'swedish-holidays' ;
const language : IHolidayNames = {
...
christmasEve : 'Christmas Eve' ,
...
}
const holidays2019 = getHolidays ( 2019 , language ) ;
Эта библиотека может возвращать действительные праздники только за годы между 1582 и 8702.
Если запрошен неверный год, будет выдана ошибка.