openweather-api-node
Version:
Simple package that makes it easy to work with OpenWeather API
105 lines (104 loc) • 2.98 kB
TypeScript
import { Icon, WeatherBase, WindData } from "./index";
export interface CurrentTemperatures {
/**
* Current temperature
*/
cur: number;
}
export interface ExtendedCurrentTemperatures extends CurrentTemperatures {
/**
* Minimum temperature at the moment. This is minimal currently observed temperature (within large megalopolises and urban areas).
*/
min: number;
/**
* Maximum temperature at the moment. This is maximal currently observed temperature (within large megalopolises and urban areas).
*/
max: number;
}
export interface CurrentConditionsBase {
/**
* This accounts for the human perception of weather. Units – default: kelvin, metric: Celsius, imperial: Fahrenheit.
*/
feelsLike: CurrentTemperatures;
/**
* Atmospheric pressure on the sea level, hPa
*/
pressure: number;
/**
* Humidity, %
*/
humidity: number;
/**
* Atmospheric temperature (varying according to pressure and humidity) below which water droplets begin to condense and dew can form. Units – default: kelvin, metric: Celsius, imperial: Fahrenheit.
*/
dewPoint: number | undefined;
/**
* Cloudiness, %
*/
clouds: number;
/**
* The maximum value of UV index for the day
*/
uvi: number | undefined;
/**
* Average visibility, metres
*/
visibility: number;
/**
* Wind statistics. Units – default: metre/sec, metric: metre/sec, imperial: miles/hour.
*/
wind: WindData;
/**
* Precipitation volume, mm
*/
rain: number;
/**
* Snow volume, mm
*/
snow: number;
/**
* Weather condition id (https://openweathermap.org/weather-conditions#Weather-Condition-Codes-2)
*/
conditionId: number;
/**
* Group of weather parameters (Rain, Snow, Extreme etc.)
*/
main: string;
/**
* Description of the weather
*/
description: string;
icon: Icon;
}
export interface CurrentConditions extends CurrentConditionsBase {
/**
* Units – default: kelvin, metric: Celsius, imperial: Fahrenheit.
*/
temp: ExtendedCurrentTemperatures;
}
export interface OnecallCurrentConditions extends CurrentConditionsBase {
/**
* Units – default: kelvin, metric: Celsius, imperial: Fahrenheit.
*/
temp: CurrentTemperatures;
}
export interface CurrentAstronomical {
/**
* Sunrise time, Unix, UTC
*/
sunrise: Date;
sunriseRaw: number;
/**
* Sunset time, Unix, UTC
*/
sunset: Date;
sunsetRaw: number;
}
export interface CurrentWeather extends WeatherBase {
astronomical: CurrentAstronomical;
weather: CurrentConditions;
}
export interface OnecallCurrentWeather extends WeatherBase {
astronomical: CurrentAstronomical;
weather: OnecallCurrentConditions;
}