theweatherapi
Version:
An NPM Library used to get weather info
81 lines (63 loc) • 3.1 kB
Markdown
<p>
<a href="https://www.npmjs.com/package/theweatherapi"><img src="https://img.shields.io/npm/v/theweatherapi.svg?maxAge=3600" alt="NPM version" /></a>
<a href="https://www.npmjs.com/package/theweatherapi"><img src="https://img.shields.io/npm/dt/theweatherapi?color=blue&label=Dowloads" alt="NPM downloads" /></a>
</p>
<a href="https://www.weatherapi.com/" title="Free Weather API"><img src='https://cdn.weatherapi.com/v4/images/weatherapi_logo.png' alt="Weather data by WeatherAPI.com"></a>
A package to retrieve weather data from https://www.weatherapi.com/.
It is easy to use, and it covers 10% of the API, Current Weather only for now (100% Coming Soon™).
Now v2! Introducing the Forecast API; get the forecast of a location for up to 6 days!
- Current Weather API
- Forecast Weather API
How to get easily access the Current Weather:
``` js
// Import the WeatherClient from the package
const { WeatherClient } = require('theweatherapi');
// Create a new Instance of the WeatherClient
const client = new WeatherClient({
apiKey: 'some_api_key',
language: 'FRENCH',
defaultLocation: 'Paris'
});
//Wait for the WeatherClient to enter Ready state
client.on('ready', async () => {
//Get the current weather from the default location and the location of that weather
const weatherInfo = client.current.weather;
const weatherLocation = client.current.location;
//Log the data to the console
console.log(`Current Weather of ${client.defaultLocation}:`, weatherInfo);
console.log(`Current Weather Location of ${client.defaultLocation}:`, weatherLocation);
//Get the weather from another location with Air Quality Information
const { weather, location, aqi } = await client.current.get('London', true);
//Log the results
console.log(weather, location, aqi);
});
```
You can use non-implemented APIs using the REST module like this:
**Note: You will have to know which params to use for the API or refer to api-types.json**
```js
//Import the BaseWeatherClient to use it's features without passing any options (using the normal client will throw errors)
const { BaseWeatherClient } = require('theweatherapi');
//Create a new Instance of the BaseClient
const baseClient = new BaseWeatherClient();
//Access the search API and make a call to the API
// WARNING: The data won't be formatted the same, the API module only takes care of the request part.
const response = await client.api.search.get({key: 'somekey', q: 'Paris'});
console.log(response);
```
- [x] Current Weather API
- [x] Forecast Weather API
- [ ] History Weather API
- [ ] Astronomy API
- [ ] IP look-up API (not comfirmed)
- [ ] Time Zone API
- [ ] Sports API
## Documentation
Visit [this](./documentation/home.md) page. (Coming Soon™)
<p>
Powered by <a href="https://www.weatherapi.com/" title="Free Weather API">WeatherAPI.com</a>
</p>