Biblioteca para calcular a data de todos os feriados suecos de um determinado ano.
$ 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' ) ) ;
O resultado será sempre um Array
preenchido com informações de feriados formatadas em JSON, incluindo nome e data.
[
{
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 ,
} ,
...
]
Ao usar isHoliday
o resultado será false
se a data fornecida não for feriado, caso contrário, será o objeto JSON de feriado.
Ao usar isPublicHoliday
o resultado será false
se a data fornecida não for feriado.
Cada feriado é exportado e pode ser usado individualmente. IHolidayOptions
é usado para passar parâmetros para o construtor. O ano e a localização são suportados.
Por conveniência, os feriados também podem ser importados usando seus nomes suecos.
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 } ) ;
Se você quiser que os nomes dos feriados sejam retornados usando um idioma diferente do padrão (sueco), use o objeto JSON language
e modifique-o antes de passá-lo para a função 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 ) ;
Ou use a interface IHolidayNames
import { getHolidays , IHolidayNames } from 'swedish-holidays' ;
const language : IHolidayNames = {
...
christmasEve : 'Christmas Eve' ,
...
}
const holidays2019 = getHolidays ( 2019 , language ) ;
Esta biblioteca só pode devolver feriados válidos para os anos entre 1582 e 8702.
Se um ano inválido for solicitado, um erro será gerado.