1.0.5 • Published 12 months ago

typescript-holiday-csv v1.0.5

Weekly downloads
-
License
ISC
Repository
-
Last release
12 months ago

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

  • Use only typescript and @types/node.
  • Use Git.
  • Use API at https://date.nager.at/.
  • The script generates a CSV file listing public holidays of a country.
  • The CSV file includes 4 columns:
    • Name: - name of holiday
    • Date: - date of holiday
    • Days until: - number of days for future holiday, blank if passed.
    • Weekend: - "Yes" of "No" if holidays is on a weekend.
  • Code delivered as an npm project that runs with npm run main.

Extra Points

  • 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)
1.0.5

12 months ago

1.0.4

12 months ago

1.0.2

12 months ago

1.0.0

12 months ago