0.1.1-beta.2 • Published 6 months ago

@kiwicredito/banking-holidays v0.1.1-beta.2

Weekly downloads
-
License
ISC
Repository
github
Last release
6 months ago

Banking Holiday Detection

A TypeScript package for detecting banking holidays in USA, Puerto Rico (PR), and Dominican Republic (RD).

Installation

npm i kiwi-banking-holidays

Usage

import { getDateStatus, isHoliday, isWorkingDay, getHolidays } from 'kiwi-banking-holidays';

// Check if a date is a holiday and get its status
const status = getDateStatus('2024-01-01', 'USA');
console.log(status);
// {
//   isHoliday: true,
//   holiday: { name: "New Year's Day", date: "2024-01-01", ... },
//   isWorkingDay: false,
//   isWeekend: false
// }

// Check if a date is a working day
const isWorking = isWorkingDay('2024-01-02', 'USA');
console.log(isWorking); // true

// Check if a date is a holiday
const isHoliday = isHoliday('2024-07-04', 'USA');
console.log(isHoliday); // { isHoliday: true, holiday: { name: "Independence Day", ... } }

// Get all holidays for a country
const holidays = getHolidays({ country: 'USA' });
console.log(holidays.map(h => h.name));
// ["New Year's Day", "Martin Luther King Jr. Day", ...]

Features

  • Check if a specific date is a banking holiday
  • Check if a date is a working day (not weekend and not holiday)
  • Check if a date is a weekend
  • Get all holidays for a specific country
  • Filter holidays by date range
  • Supports USA, Puerto Rico (PR), and Dominican Republic (RD)
  • Proper timezone handling for each country

API

getDateStatus(date: string | Date, country: Country): DateStatus

Returns complete status of a date including holiday and working day information.

isHoliday(date: string | Date, country: Country): HolidayResponse

Returns whether a date is a holiday and the holiday details if it is.

isWorkingDay(date: string | Date, country: Country): boolean

Returns whether a date is a working day (not weekend and not holiday).

getHolidays(options?: HolidayOptions): Holiday[]

Returns holidays based on the provided options.

Development

  1. Clone the repository
  2. Install dependencies:
    npm install
  3. Build the package:
    npm run build
  4. Run tests:
    npm test

Scripts

  • npm run build - Build the package
  • npm test - Run tests
  • npm run dev - Watch mode for development

License

ISC