Socket
Socket
Sign inDemoInstall

@date/holidays-us

Package Overview
Dependencies
3
Maintainers
0
Versions
4
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @date/holidays-us

USA bank and (some) public holidays


Version published
Weekly downloads
1.7K
decreased by-18.7%
Maintainers
0
Install size
62.6 kB
Created
Weekly downloads
 

Changelog

Source

0.4.0 - 2018/07/20

  1. update deps
  2. switch to JS from CS (except tests)
  3. move to node 6+
  4. add testing scripts for multiple node versions
  5. add code coverage
  6. remove gemnasium badge
  7. add coveralls badge
  8. update tests for 100% code coverage
  9. have TravisCI test nodes 6, 8, and 10

Readme

Source

@date/holidays-us

Build Status npm version Coverage Status

A @date/holidays instance with USA public and bank holidays.

Also has functions to calculate dates for specific holidays.

Install

npm install @date/holidays-us --save

Usage

// get Holidays instance with both public and bank holidays
var holidays = require('@date/holidays-us')

var date = new Date(2016, 0, 1) // New Year's Day 2016
holidays.isHoliday(date) // true

date.setDate(10) // January 10th 2016
holidays.isHoliday(date) // false

date = holidays.thanksgiving(2015) // November 26th, 2015
date = holidays.thanksgiving(2016) // November 24th, 2016

date = holidays.valentinesDay(2016) // February 14th, 2016
holidays.isHoliday(date) // true, it's a holiday

// this will return false because Valentine's Day isn't a bank holiday
holidays.isHoliday(date, {
  // only consider it a holiday when the properties in this object match
  bank:true // must be a bank holiday
})

Only Bank Holidays

// this has only the bank holidays, not the 'public' ones
var holidays = require('@date/holidays-us').bank()

// returns false, Valentine's isn't a bank holiday
holidays.isHoliday(new Date(2016, 1, 14))

// returns true, New Year's is a bank holiday
holidays.isHoliday(new Date(2016, 0, 1))

Only Public Holidays

// this has only the non-bank holidays
var holidays = require('@date/holidays-us').public()

// returns true, Valentine's is a public holiday
holidays.isHoliday(new Date(2016, 1, 14))

// returns false, because New Year's is a bank holiday
holidays.isHoliday(new Date(2016, 0, 1))

// NOTE: technically, I suppose the bank holidays are also
// public holidays, but, if you want both, use the default
// instance which has both

API: Generators

Functions which generate a specific holiday based on a specified year:

  1. newYearsDay() - can calculate observed holiday as well
  2. valentinesDay()
  3. martinLutherKingDay()
  4. presidentsDay()
  5. easter()
  6. mothersDay()
  7. memorialDay()
  8. fathersDay()
  9. independenceDay() - can calculate observed holiday as well
  10. laborDay()
  11. columbusDay()
  12. halloween()
  13. veteransDay() - can calculate observed holiday as well
  14. thanksgiving()
  15. christmas() - can calculate observed holiday as well

API: Observed Holidays

Some holidays are "observed" on a different day than the holiday. The generate functions can calculate that as well.

var holidays = require('@date/holidays-us')

// Christmas in 2016 is on a Sunday so it is "observed" the next day, Monday.
// the call to the generator returns the date instance as expected
var christmasDay = holidays.christmas(2016) // same as new Date(2016, 11, 25)
// it also has an `observed` property containing the "observed" holiday date
// Note: if there is no "observed" holiday then `observed` is undefined
var observedChristmas = date.observed

// christmas         == new Date(2016, 11, 25) Sunday, December 25th 2016
// observedChristmas == new Date(2016, 11, 26) Monday, December 26th 2016

MIT License

Keywords

FAQs

Last updated on 20 Jul 2018

Did you know?

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc