rui-weather-service-api
Version:
Weather API service with OpenWeatherMap integration - includes both standalone API and MCP server
120 lines • 2.29 kB
TypeScript
/**
* Weather service options for configuration
*/
export interface WeatherOptions {
apiKey?: string;
baseUrl?: string;
units?: 'metric' | 'imperial';
language?: string;
maxRetries?: number;
timeout?: number;
rejectUnauthorized?: boolean;
port?: string;
}
/**
* Current Weather Data structure
*/
export interface WeatherData {
location: {
name: string;
country: string;
coordinates: {
lat: number;
lon: number;
};
};
temperature: {
current: number;
feelsLike: number;
min: number;
max: number;
};
weather: {
main: string;
description: string;
icon: string;
};
wind: {
speed: number;
direction: number;
};
details: {
humidity: number;
pressure: number;
visibility: number;
sunrise: Date;
sunset: Date;
};
updatedAt: Date;
raw: any;
}
/**
* Weather forecast data structure
*/
export interface ForecastData {
city: {
name: string;
country: string;
coordinates: {
lat: number;
lon: number;
};
};
forecasts: Array<DailyForecast>;
raw: any;
}
/**
* Daily weather forecast
*/
export interface DailyForecast {
date: Date;
temperature: {
min: number;
max: number;
avg: number;
};
weather: {
main: string;
description: string;
icon: string;
};
wind: {
speed: number;
direction: number;
};
details: {
humidity: number;
pressure: number;
};
hourlyForecasts: Array<HourlyForecast>;
}
/**
* Hourly weather forecast
*/
export interface HourlyForecast {
time: Date;
temperature: number;
feelsLike: number;
weather: {
main: string;
description: string;
icon: string;
};
wind: {
speed: number;
direction: number;
};
details: {
humidity: number;
pressure: number;
};
}
/**
* OpenWeatherMap API error response
*/
export interface WeatherError extends Error {
code?: string;
statusCode?: number;
isWeatherError: boolean;
}
//# sourceMappingURL=index.d.ts.map