Skip to main content

weatherkit/
lib.rs

1#![doc = include_str!("../README.md")]
2#![cfg_attr(docsrs, feature(doc_cfg))]
3#![allow(
4    clippy::cargo_common_metadata,
5    clippy::cast_precision_loss,
6    clippy::doc_markdown,
7    clippy::missing_const_for_fn,
8    clippy::missing_errors_doc,
9    clippy::missing_panics_doc,
10    clippy::module_name_repetitions,
11    clippy::must_use_candidate,
12    clippy::needless_pass_by_value,
13    clippy::redundant_pub_crate,
14    clippy::return_self_not_must_use,
15    clippy::struct_field_names,
16    clippy::type_complexity,
17    clippy::use_self
18)]
19
20pub mod availability_kind;
21pub mod changes;
22pub mod current_weather;
23pub mod daily_forecast;
24pub mod error;
25pub mod ffi;
26pub mod hourly_forecast;
27pub mod minute_forecast;
28pub mod moon_events;
29pub mod pressure;
30mod private;
31pub mod service;
32pub mod statistics;
33pub mod sun_events;
34pub mod weather;
35pub mod weather_alert;
36pub mod weather_attribution;
37pub mod weather_condition;
38
39pub use availability_kind::{AvailabilityKind, AvailabilityKindDescriptor, WeatherAvailability};
40pub use changes::{
41    Deviation, HistoricalComparison, HistoricalComparisons, LengthUnit, Percentiles,
42    TemperatureUnit, Trend, TrendBaseline, TrendBaselineKind, WeatherChange,
43    WeatherChangeDirection, WeatherChanges,
44};
45pub use current_weather::{
46    CloudCoverByAltitude, CurrentWeather, UVExposureCategory, UVExposureCategoryDescriptor,
47    UVIndex, Wind, WindCompassDirection, WindCompassDirectionDescriptor,
48};
49pub use daily_forecast::{
50    DailyForecast, DayForecast, DayPartForecast, PrecipitationAmountByType, SnowfallAmount,
51};
52pub use error::{
53    WeatherError, WeatherErrorDescriptor, WeatherKitError, WEATHERKIT_BRIDGE_ERROR_DOMAIN,
54};
55pub use hourly_forecast::{HourForecast, HourlyForecast};
56pub use minute_forecast::{MinuteForecast, MinuteForecastCollection};
57pub use moon_events::{MoonEvents, MoonPhase, MoonPhaseDescriptor};
58pub use pressure::{Pressure, PressureTrend, PressureTrendDescriptor};
59pub use service::{
60    CLLocation, DateInterval, Weather, WeatherMetadata, WeatherQuery, WeatherQueryResult,
61    WeatherService,
62};
63pub use statistics::{
64    DailyWeatherStatistics, DailyWeatherStatisticsQuery, DailyWeatherStatisticsResult,
65    DailyWeatherSummary, DailyWeatherSummaryQuery, DailyWeatherSummaryResult,
66    DayPrecipitationStatistics, DayPrecipitationSummary, DayTemperatureStatistics,
67    DayTemperatureSummary, HourTemperatureStatistics, HourlyWeatherStatistics,
68    HourlyWeatherStatisticsQuery, MonthPrecipitationStatistics, MonthTemperatureStatistics,
69    MonthlyWeatherStatistics, MonthlyWeatherStatisticsQuery, MonthlyWeatherStatisticsResult,
70};
71pub use sun_events::SunEvents;
72pub use weather_alert::{WeatherAlert, WeatherSeverity, WeatherSeverityDescriptor};
73pub use weather_attribution::WeatherAttribution;
74pub use weather_condition::{
75    Precipitation, PrecipitationDescriptor, WeatherCondition, WeatherConditionDescriptor,
76};
77
78/// Common imports.
79pub mod prelude {
80    pub use crate::availability_kind::{
81        AvailabilityKind, AvailabilityKindDescriptor, WeatherAvailability,
82    };
83    pub use crate::changes::{
84        Deviation, HistoricalComparison, HistoricalComparisons, LengthUnit, Percentiles,
85        TemperatureUnit, Trend, TrendBaseline, TrendBaselineKind, WeatherChange,
86        WeatherChangeDirection, WeatherChanges,
87    };
88    pub use crate::current_weather::{
89        CloudCoverByAltitude, CurrentWeather, UVExposureCategory, UVExposureCategoryDescriptor,
90        UVIndex, Wind, WindCompassDirection, WindCompassDirectionDescriptor,
91    };
92    pub use crate::daily_forecast::{
93        DailyForecast, DayForecast, DayPartForecast, PrecipitationAmountByType, SnowfallAmount,
94    };
95    pub use crate::error::{
96        WeatherError, WeatherErrorDescriptor, WeatherKitError, WEATHERKIT_BRIDGE_ERROR_DOMAIN,
97    };
98    pub use crate::hourly_forecast::{HourForecast, HourlyForecast};
99    pub use crate::minute_forecast::{MinuteForecast, MinuteForecastCollection};
100    pub use crate::moon_events::{MoonEvents, MoonPhase, MoonPhaseDescriptor};
101    pub use crate::pressure::{Pressure, PressureTrend, PressureTrendDescriptor};
102    pub use crate::service::{
103        CLLocation, DateInterval, Weather, WeatherMetadata, WeatherQuery, WeatherQueryResult,
104        WeatherService,
105    };
106    pub use crate::statistics::{
107        DailyWeatherStatistics, DailyWeatherStatisticsQuery, DailyWeatherStatisticsResult,
108        DailyWeatherSummary, DailyWeatherSummaryQuery, DailyWeatherSummaryResult,
109        DayPrecipitationStatistics, DayPrecipitationSummary, DayTemperatureStatistics,
110        DayTemperatureSummary, HourTemperatureStatistics, HourlyWeatherStatistics,
111        HourlyWeatherStatisticsQuery, MonthPrecipitationStatistics, MonthTemperatureStatistics,
112        MonthlyWeatherStatistics, MonthlyWeatherStatisticsQuery, MonthlyWeatherStatisticsResult,
113    };
114    pub use crate::sun_events::SunEvents;
115    pub use crate::weather_alert::{WeatherAlert, WeatherSeverity, WeatherSeverityDescriptor};
116    pub use crate::weather_attribution::WeatherAttribution;
117    pub use crate::weather_condition::{
118        Precipitation, PrecipitationDescriptor, WeatherCondition, WeatherConditionDescriptor,
119    };
120}