Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var (
BaseUrl = "https://api.darksky.net/forecast"
)
DarkSky API endpoint
Functions ¶
This section is empty.
Types ¶
type Alert ¶
type Alert struct {
Description string `json:"description,omitempty"`
Expires Timestamp `json:"expires,omitempty"`
Regions []string `json:"regions,omitempty"`
Severity string `json:"severity,omitempty"`
Time Timestamp `json:"time,omitempty"`
Title string `json:"title,omitempty"`
Uri string `json:"uri,omitempty"`
}
Alert contains objects representing the severe weather warnings issued for the requested location by a governmental authority
type DarkSky ¶
type DarkSky interface {
Forecast(request ForecastRequest) (ForecastResponse, error)
}
DarkSky Api client
type DataBlock ¶
type DataBlock struct {
Data []DataPoint `json:"data,omitempty"`
Summary string `json:"summary,omitempty"`
Icon string `json:"icon,omitempty"`
}
DataBlock represents the various weather phenomena occurring over a period of time
type DataPoint ¶
type DataPoint struct {
ApparentTemperature Measurement `json:"apparentTemperature,omitempty"`
ApparentTemperatureHigh Measurement `json:"apparentTemperatureHigh,omitempty"`
ApparentTemperatureHighTime Timestamp `json:"apparentTemperatureHighTime,omitempty"`
ApparentTemperatureLow Measurement `json:"apparentTemperatureLow,omitempty"`
ApparentTemperatureLowTime Timestamp `json:"apparentTemperatureLowTime,omitempty"`
ApparentTemperatureMax Measurement `json:"apparentTemperatureMax,omitempty"`
ApparentTemperatureMaxTime Timestamp `json:"apparentTemperatureMaxTime,omitempty"`
ApparentTemperatureMin Measurement `json:"apparentTemperatureMin,omitempty"`
ApparentTemperatureMinTime Timestamp `json:"apparentTemperatureMinTime,omitempty"`
CloudCover Measurement `json:"cloudCover,omitempty"`
DewPoint Measurement `json:"dewPoint,omitempty"`
Humidity Measurement `json:"humidity,omitempty"`
Icon string `json:"icon,omitempty"`
MoonPhase Measurement `json:"moonPhase,omitempty"`
NearestStormBearing Measurement `json:"nearestStormBearing,omitempty"`
NearestStormDistance Measurement `json:"nearestStormDistance,omitempty"`
Ozone Measurement `json:"ozone,omitempty"`
PrecipAccumulation Measurement `json:"precipAccumulation,omitempty"`
PrecipIntensity Measurement `json:"precipIntensity,omitempty"`
PrecipIntensityError Measurement `json:"precipIntensityError,omitempty"`
PrecipIntensityMax Measurement `json:"precipIntensityMax,omitempty"`
PrecipIntensityMaxTime Timestamp `json:"precipIntensityMaxTime,omitempty"`
PrecipProbability Measurement `json:"precipProbability,omitempty"`
PrecipType string `json:"precipType,omitempty"`
Pressure Measurement `json:"pressure,omitempty"`
Summary string `json:"summary,omitempty"`
SunriseTime Timestamp `json:"sunriseTime,omitempty"`
SunsetTime Timestamp `json:"sunsetTime,omitempty"`
Temperature Measurement `json:"temperature,omitempty"`
TemperatureHigh Measurement `json:"temperatureHigh,omitempty"`
TemperatureHighTime Timestamp `json:"temperatureHighTime,omitempty"`
TemperatureLow Measurement `json:"temperatureLow,omitempty"`
TemperatureLowTime Timestamp `json:"temperatureLowTime,omitempty"`
TemperatureMax Measurement `json:"temperatureMax,omitempty"`
TemperatureMaxTime Timestamp `json:"temperatureMaxTime,omitempty"`
TemperatureMin Measurement `json:"temperatureMin,omitempty"`
TemperatureMinTime Timestamp `json:"temperatureMinTime,omitempty"`
Time Timestamp `json:"time,omitempty"`
UvIndex int64 `json:"uvIndex,omitempty"`
UvIndexTime Timestamp `json:"uvIndexTime,omitempty"`
Visibility Measurement `json:"visibility,omitempty"`
WindBearing Measurement `json:"windBearing,omitempty"`
WindGust Measurement `json:"windGust,omitempty"`
WindGustTime Timestamp `json:"windGustTime,omitempty"`
WindSpeed Measurement `json:"windSpeed,omitempty"`
}
DataPoint contains various properties, each representing the average (unless otherwise specified) of a particular weather phenomenon occurring during a period of time.
func (*DataPoint) UnmarshalJSON ¶ added in v1.6.0
Custom Unmarshal to handle incoming float uvIndex from other APIs.
type Flags ¶
type Flags struct {
NearestStation Measurement `json:"nearest-station"`
Sources []string `json:"sources,omitempty"`
Units string `json:"units,omitempty"`
}
Flags contains various metadata information related to the request
type ForecastRequest ¶
type ForecastRequest struct {
Latitude Measurement
Longitude Measurement
Time Timestamp
Options ForecastRequestOptions
}
ForecastRequest contains all available options for requesting a forecast
type ForecastRequestOptions ¶
ForecastRequestOptions are optional and passed as query parameters
func (ForecastRequestOptions) Encode ¶ added in v1.2.3
func (o ForecastRequestOptions) Encode() string
Encode into URL encoded query string parameters (exclude=hourly&units=si)
type ForecastResponse ¶
type ForecastResponse struct {
Latitude Measurement `json:"latitude,omitempty"`
Longitude Measurement `json:"longitude,omitempty"`
Timezone string `json:"timezone,omitempty"`
Offset float64 `json:"offset,omitempty"`
Currently *DataPoint `json:"currently,omitempty"`
Minutely *DataBlock `json:"minutely,omitempty"`
Hourly *DataBlock `json:"hourly,omitempty"`
Daily *DataBlock `json:"daily,omitempty"`
Alerts []*Alert `json:"alerts,omitempty"`
Flags *Flags `json:"flags,omitempty"`
}
ForecastResponse is the response containing all requested properties