feathers-openweathermap
Version:
A OpenWeatherMap Service for feathers.js applications
92 lines (91 loc) • 4.1 kB
TypeScript
import { CurrentWeatherDataData, OWMServiceOptions, CurrentWeatherDataResult, HourlyForecast4DaysData, OneCallResult, OneCallData, DailyForecast16DaysResult, ClimaticForeCast30DaysResult, DailyForecast16DaysData, ClimaticForeCast30DaysData, FiveDay3HourForecastData, FiveDay3HourForecastResult, HourlyForecast4DaysResult, AirPollutionCurrentData, AirPollutionResult, AirPollutionForecastData, AirPollutionHistoricalData } from "./types";
import { SetOptional } from "type-fest";
import { Params } from "@feathersjs/feathers";
export declare class Service {
options: OWMServiceOptions;
constructor(options: SetOptional<OWMServiceOptions, "v" | "lang" | "mode" | "units">);
find(params: Params & {
query: CurrentWeatherDataData & {
endpoint: "weather";
};
}): Promise<CurrentWeatherDataResult>;
find(params: Params & {
query: OneCallData & {
endpoint: "onecall";
};
}): Promise<OneCallResult>;
find(params: Params & {
query: FiveDay3HourForecastData & {
endpoint: "forecast";
};
}): Promise<FiveDay3HourForecastResult>;
find(params: Params & {
query: HourlyForecast4DaysData & {
endpoint: "forecast/hourly";
};
}): Promise<HourlyForecast4DaysResult>;
find(params: Params & {
query: DailyForecast16DaysData & {
endpoint: "forecast/daily";
};
}): Promise<DailyForecast16DaysResult>;
find(params: Params & {
query: ClimaticForeCast30DaysData & {
endpoint: "forecast/climate";
};
}): Promise<ClimaticForeCast30DaysResult>;
find(params: Params & {
query: AirPollutionCurrentData & {
endpoint: "air_pollution";
};
}): Promise<AirPollutionResult>;
find(params: Params & {
query: AirPollutionForecastData & {
endpoint: "air_pollution/forecast";
};
}): Promise<AirPollutionResult>;
find(params: Params & {
query: AirPollutionHistoricalData & {
endpoint: "air_pollution/history";
};
}): Promise<AirPollutionResult>;
create(data: CurrentWeatherDataData & {
endpoint: "weather";
}): Promise<CurrentWeatherDataResult>;
create(data: OneCallData & {
endpoint: "onecall";
}): Promise<OneCallResult>;
create(data: FiveDay3HourForecastData & {
endpoint: "forecast";
}): Promise<FiveDay3HourForecastResult>;
create(data: HourlyForecast4DaysData & {
endpoint: "forecast/hourly";
}): Promise<HourlyForecast4DaysResult>;
create(data: DailyForecast16DaysData & {
endpoint: "forecast/daily";
}): Promise<DailyForecast16DaysResult>;
create(data: ClimaticForeCast30DaysData & {
endpoint: "forecast/climate";
}): Promise<ClimaticForeCast30DaysResult>;
create(data: AirPollutionCurrentData & {
endpoint: "air_pollution";
}): Promise<AirPollutionResult>;
create(data: AirPollutionForecastData & {
endpoint: "air_pollution/forecast";
}): Promise<AirPollutionResult>;
create(data: AirPollutionHistoricalData & {
endpoint: "air_pollution/history";
}): Promise<AirPollutionResult>;
private composeSearchParamsFromData;
private getUrl;
private makeRequest;
currentWeatherData(data: CurrentWeatherDataData): Promise<CurrentWeatherDataResult>;
oneCall(data: OneCallData): Promise<OneCallResult>;
fiveDay3HourForecast(data: FiveDay3HourForecastData): Promise<FiveDay3HourForecastResult>;
hourlyForecast4Days(data: HourlyForecast4DaysData): Promise<HourlyForecast4DaysResult>;
dailyForecast16Days(data: DailyForecast16DaysData): Promise<DailyForecast16DaysResult>;
climaticForecast30Days(data: ClimaticForeCast30DaysData): Promise<ClimaticForeCast30DaysResult>;
airPollutionCurrent(data: AirPollutionCurrentData): Promise<AirPollutionResult>;
airPollutionForecast(data: AirPollutionForecastData): Promise<AirPollutionResult>;
airPollutionHistorical(data: AirPollutionHistoricalData): Promise<AirPollutionResult>;
}