3 unstable releases
0.2.0 | Jan 29, 2024 |
---|---|
0.1.1 | Jan 27, 2024 |
0.1.0 | Jan 26, 2024 |
#125 in Internationalization (i18n)
50KB
930 lines
GOV.UK Bank Holidays
This rust library loads the official list of bank holidays in the United Kingdom as supplied by GOV.UK, which tends to provide this list for only a year or two into the future.
A cached backup list of known bank holidays is stored in this package, though it is not updated often. GOV.UK no longer provide bank holidays for some of the older years still part of this backup list.
Bank holidays differ around the UK. The GOV.UK source currently lists these for 3 “divisions”:
- England and Wales
- Scotland
- Northern Ireland
Methods on BankHolidayCalendar
that take a division
parameter will consider bank holidays only for the provided
division (Some(Division)
) or only those that are common to all divisions for None
.
Using the library
Add to your project with:
cargo add govuk-bank-holidays
See docs.rs for API information, usage samples and feature flags.
Developing library
Requirements
Releasing a new version
- Update version in
Cargo.toml
- Add to History with changes since last release
- Tag and publish a release on GitHub which triggers publishing to crates.io
TODO
- Better tests, coverage
- Optionally merge in older known bank holidays into newly-downloaded GOV.UK data? Cached data starts in 2012, but currently GOV.UK provides nothing before 2018.
- Performance improvements (particularly around memory and iterators)
- Can
DataSource
be made private, exposing methods onLoadDataSource
trait or elsewhere? - Allow for unknown “divisions”? Make enum non-exhaustive?
References
See also:
History
0.2.0
Allow for custom sources of bank holidays using LoadDataSource
trait.
0.1.1
Very minor changes – tidier code and improved documentation.
0.1.0
Initial release with API likely to be unstable.
Dependencies
~5–17MB
~244K SLoC