Holiday API Rust Library

License Test Status Crates.io wakatime

Unofficial library for Holiday API written in Rust. This repo implements interface for original HolidayAPI endpoints seen here.

Acknowledgments

This project is heavily inspired by holidayapi-node and holiday-api-rust repositories.

Installation

Add the following to your Cargo.toml

toml [dependencies] holidayapi_rust = "0.1.5"

Usage

Basic

```rust use holidayapi_rust::HolidayAPI;

let holiday_api = HolidayAPI::new("00000000-0000-0000-0000-000000000000").unwrap();

async fn main() { // Fetch supported countries and subdivisions let countries: Vec = holiday_api.countries().get().await.unwrap();

// Fetch supported languages
let languages: Vec<Language> = holiday_api.languages().get().await.unwrap();

// Fetch holidays with minimum parameters
let holidays: Vec<Holiday> = holiday_api.holidays("US", 2020).get().await.unwrap();

} ```

Builder pattern

```rust let holidayapi = HolidayAPI::new(VALIDKEY).unwrap();

// Holidays let specificrequest: Vec = holidayapi .holidays("jp", 2021) .pretty(true) .language("cn") .public(true) .get() .await;

// Countries let specificrequest: Vec = holidayapi .countries() .search("hello world") .country("US") .public(true) .get() .await .unwrap();

// Languages let specificrequest: Vec = holidayapi .languages() .search("chinese") .pretty(true) .get() .await .unwrap(); ```

Future ideas