#![cfg_attr(docsrs, feature(doc_cfg))]
#![forbid(unsafe_code)]
#![warn(missing_docs)]
#[cfg(all(feature = "rustls-tls", feature = "native-tls"))]
compile_error!("features `rustls-tls` and `native-tls` are mutually exclusive");
#[cfg(not(feature = "time"))]
compile_error!("feature `time` must be enabled");
mod client;
mod error;
mod json_sanitize;
mod query;
mod endpoints;
pub mod response;
pub mod units;
pub mod variables;
pub mod weather_code;
pub use client::{Client, ClientBuilder};
pub use endpoints::air_quality::AirQualityBuilder;
pub use endpoints::archive::ArchiveBuilder;
pub use endpoints::climate::ClimateBuilder;
pub use endpoints::ensemble::EnsembleBuilder;
pub use endpoints::flood::FloodBuilder;
pub use endpoints::forecast::{ForecastBatchBuilder, ForecastBuilder};
pub use endpoints::geocoding::{GeocodedLocation, GeocodingBuilder};
pub use endpoints::historical_forecast::HistoricalForecastBuilder;
pub use endpoints::marine::MarineBuilder;
pub use endpoints::previous_runs::PreviousRunsBuilder;
pub use endpoints::satellite_radiation::SatelliteRadiationBuilder;
pub use endpoints::seasonal::SeasonalBuilder;
pub use error::{Error, HttpError, Result};
pub use response::{
CurrentData, DailyData, ForecastResponse, HourlyData, Minutely15Data, MonthlyData,
SeriesValues, Variable, VariableDescriptor, VariableSeries,
};
pub use units::{
CellSelection, LengthUnit, PrecipitationUnit, TemperatureUnit, TimeFormat, Timezone,
WindSpeedUnit,
};
pub use variables::{
Aggregation, AirQualityCurrentVar, AirQualityDomain, AirQualityHourlyVar, ArchiveModel,
ClimateDailyVar, ClimateModel, CurrentVar, DailyVar, EnsembleModel, FloodDailyVar, FloodModel,
HourlyVar, MarineCurrentVar, MarineDailyVar, MarineHourlyVar, MarineMinutely15Var, MarineModel,
Minutely15Var, PressureLevel, SatelliteRadiationHourlyVar, SatelliteRadiationModel,
SatelliteRadiationTemporalResolution, SeasonalModel, SeasonalMonthlyVar, SoilMoistureDepth,
SoilTemperatureDepth, TowerLevel, WeatherModel,
};
pub use weather_code::{Severity, WmoCode};
pub type ArchiveResponse = ForecastResponse;
pub type HistoricalForecastResponse = ForecastResponse;
pub type PreviousRunsResponse = ForecastResponse;
pub type EnsembleResponse = ForecastResponse;
pub type SeasonalResponse = ForecastResponse;
pub type ClimateResponse = ForecastResponse;
pub type SatelliteRadiationResponse = ForecastResponse;
pub type FloodResponse = ForecastResponse;
pub type MarineResponse = ForecastResponse;
pub type AirQualityResponse = ForecastResponse;