Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

holidays-calendar

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

holidays-calendar

Library for retrieving the holidays' calendar of a locale.

  • 1.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
135
decreased by-62.81%
Maintainers
1
Weekly downloads
 
Created
Source

HolidaysCalendar

This is a container library for retrieving the holidays' calendar of a locale.

You can use it as a Node.js module or in browser, but you must extend it with your "localized" calendar or use it together with an available locale-module (like holidays-calendar-brazil).

Instalation

If you use NPM, then you can install it with npm install holidays-calendar. Othewise, you can download the latest release and use it in your browser or in other Javascript-based projects.

Creating a localized calendar

In order to create custom calendars, you must have Node.js installed. Inside src directory, there's a CSV spreadsheet file called holidays.csv. Change its content accordingly to your needs, keeping the same column scheme and date formats. Then run:

gulp generate --name

... where --name is your locale identificator. This will generate a new holidays-calendar-identificator module inside dist folder. There's a sample customization for the Brazilian Holidays Calendar, which happens to be the source code of the holidays-calendar-brazil module. It would be awesome if you could your custom calendar into the NPM repository.

Usage

Node.js

var calendar = require("../dist/HolidaysCalendar-brazil");
console.log('The total number of holidays in 2020 is '+calendar.Year(2020).total);

Browser

<script src="../dist/HolidaysCalendar.js"></script>
<script src="../dist/HolidaysCalendar-brazil.js" charset="utf-8"></script>
<script>
console.log('The total number of holidays in 2020 is '+HolidaysCalendar.Year(2020).total);
</script>

API Reference

AddCalendar(locale, data)

Inserts a new calendar into the container. locale: String, required. Locale identificator. data: Object, required. Must respect the follow pattern:

{
    "YEAR": {
        "total": "TOTAL_HOLIDAYS_IN_YEAR",
        "months": {
            "MONTH": {
                "total": "TOTAL_HOLIDAYS_IN_MONTH",
                "days": {
                    "DAY": "HOLIDAY",
                    ...
                },
            },
            ...
        }
    },
    ...
}

Example:

{
    "2017": {
        "total": 1,
        "months": {
            "1": {
                "total": 1,
                "days": {
                    "1": "New Years Day"
                }
            }
        }
    }
}

Locale(locale)

Sets/Gets which calendar is being used, identified by its respective locale.

locale: String, optional. If informed, sets the library to use the locale's calendar. If omitted, retrives the locale being used.

return: Mixed: String when called with no parameters; Nothing when setting the locale.

Year(year)

Retrieves information about holidays in year.

year: integer, required. Year reference.

return: Mixed. Object with structure: {total: integer, months: array of integer} when there are holidays within that year; False when there are no holidays in the given year.

Example
 var calendar = require("holidays-calendar-brazil");
 var data = calendar.Year(2020);
 \\data equals { months: [ 1, 2, 4, 5, 6, 9, 10, 11, 12 ], total: 11 }

Month(year, month)

Retrieves information about holidays in a specific month.

year: integer, required. Year reference.

month: integer, required. Month reference (January=1).

return: Mixed. Object with structure: {total: integer, days: array of integer} when there are holidays within that year; False when there are no holidays in the given month.

Example
 var calendar = require("holidays-calendar-brazil");
 var data = calendar.Month(2020, 2);
 \\data equals { days: [ 24, 25 ], total: 2 }

Day(year, month, day)

Retrieves information about a holiday in a specific date.

year: integer, required. Year reference.

month: integer, required. Month reference (January=1).

day: integer, required. Day reference.

return: Mixed. String representing the holiday name if the given date corresponds to a holiday according to the calendar in use; False when the date isn't a holiday.

Example
 var calendar = require("holidays-calendar-brazil");
 var data = calendar.Day(2020, 2, 25);
 \\data equals 'Carnaval'

FAQs

Package last updated on 24 Jan 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc