mirror of
https://github.com/holidayapi/holidayapi-node.git
synced 2025-06-21 12:36:33 +00:00
Official Node.js library for Holiday API
https://holidayapi.com
* Wrapper was showing it's age, dated syntax, zero tests, et cetera. * Ported wrapper to Typescript. * Actually, was a full rewrite, the original interfacing was too obscure. * Added linting (Airbnb). * Rewrite includes full feature parity with the Holiday API service. * This includes support for additional endpoints and latest request parameters. * Added a ton of additional examples to the README. * Finally got testing into the mix. * Added Travis for CI and Coveralls for coverage reporting. |
||
---|---|---|
dist | ||
src | ||
tests | ||
.eslintrc.json | ||
.gitignore | ||
.npmignore | ||
.travis.yml | ||
jest.config.js | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md | ||
tsconfig.json |
node-holidayapi
Official Node.js library for Holiday API
Installation
# NPM
npm install --save node-holidayapi
# Yarn
yarn add node-holidayapi
Usage
import { HolidayAPI } from 'node-holidayapi';
const key = 'Insert your API key here';
const holidayApi = new HolidayAPI({ key });
// Fetch supported countries and subdivisions
holidayApi.countries()
.then((countries) => { console.log(countries); })
.catch((err) => { console.error(err); });
// Fetch supported languages
holidayApi.languages();
.then((languages) => { console.log(languages); })
.catch((err) => { console.error(err); });
// Fetch holidays with minimum parameters
holidayApi.holidays({ country: 'US', year: 2019 });
.then((holidays) => { console.log(holidays); })
.catch((err) => { console.error(err); });
// Async? Await? No problem!
(async () => {
// Fetch supported countries and subdivisions
const countries = await holidayApi.countries();
// Fetch supported languages
const languages = await holidayApi.languages();
// Fetch holidays with minimum parameters
const holidays = await holidayApi.holidays({
country: 'US',
year: 2019,
});
})();
Examples
Fetch holidays for a specific year
holidayApi.holidays({
country: 'US',
year: 2019,
});
Fetch holidays for a specific month
holidayApi.holidays({
country: 'US',
year: 2019,
month: 7,
});
Fetch holidays for a specific day
holidayApi.holidays({
country: 'US',
year: 2019,
month: 7,
day: 4,
});
Fetch upcoming holidays based on a specific date
holidayApi.holidays({
country: 'US',
year: 2019,
month: 7,
day: 4,
upcoming: true,
});
Fetch previous holidays based on a specific date
holidayApi.holidays({
country: 'US',
year: 2019,
month: 7,
day: 4,
previous: true,
});
Fetch only public holidays
holidayApi.holidays({
country: 'US',
year: 2019,
public: true,
});
Fetch holidays for a specific subdivision
holidayApi.holidays({
country: 'GB-ENG',
year: 2019,
});
Include subdivision holidays with countrywide holidays
holidayApi.holidays({
country: 'US',
year: 2019,
subdivisions: true,
});
Search for a holiday by name
holidayApi.holidays({
country: 'US',
year: 2019,
search: 'New Year',
});
Translate holidays to another language
holidayApi.holidays({
country: 'US',
year: 2019,
language: 'zh', // Chinese (Simplified)
});
Fetch holidays for multiple countries
holidayApi.holidays({
country: 'US,GB,NZ',
year: 2019,
});
holidayApi.holidays({
country: ['US', 'GB', 'NZ'],
year: 2019,
});