typescript-holiday-csv
v1.0.5
Published
This is a Typescript script that generates a CSV file listing all the public holidays in a country, using data from the public API at https://date.nager.at/.
Downloads
2
Readme
Public Holidays CSV Generator
This is a Typescript script that generates a CSV file listing all the public holidays in a country, using data from the public API at https://date.nager.at/.
This project can be installed as a third party dependency via npm
https://www.npmjs.com/package/typescript-holiday-csv
npm i typescript-holiday-csv
All named functions and type interfaces can be imported:
import { createCSVFile, getPublicHolidays } from "typescript-holiday-csv"; // create CSV file of holidays in United States createCSVFile("US");
Requirements
- [x] Use only
typescript
and@types/node
. - [x] Use Git.
- [x] Use API at https://date.nager.at/.
- [x] The script generates a CSV file listing public holidays of a country.
- [x] The CSV file includes 4 columns:
- [x]
Name:
- name of holiday - [x]
Date:
- date of holiday - [x]
Days until:
- number of days for future holiday, blank if passed. - [x]
Weekend:
- "Yes" of "No" if holidays is on a weekend.
- [x]
- [x] Code delivered as an npm project that runs with
npm run main
.
Extra Points
- [x] Allow users to choose a country for public holiday listings. (WIP)
- [ ] Consider how to run the script behind a corporate proxy server.
- [ ] Include additional unit tests
- [ ] Include more extensive error handling
Running the Script
To run the script, clone the repository and install the dependencies:
git clone https://github.com/danneekim/typescript-holiday-csv.git
cd typescript-holiday-csv
npm install
npm run main
:
will create a
csv/
folder at the project's root directory. by default, generate a CSV file with information related to Austria's (AT) public holidays.
API Reference
Nager.Date API - V3
Documentation: https://date.nager.at/Api Swagger: https://date.nager.at/swagger/index.html
- GET /api/v3/PublicHolidays/{year}/{countryCode}
- GET /api/v3/AvailableCountries (pending)