weyder
v2.1.4
Published
A simple weather package that takes advantage of the darksky and mapbox api
Downloads
4
Readme
Weyder
1. Installation
npm install weyder
2. Using weyder
const weyder = require('weyder') // OR
const {geoCode,foreCast,setAccessToken,setWeatherDataSpan} = require('weyder');
Exported values overview
geoCode
(location) => [ latitude,longitude ]foreCast
([ latitude,longitude ]) => weather InformationsetAccessToken
("mapbox" || "darksky", mapbox_token || darksky_token)setWeatherDataSpan
({"currently" || "minutely" || "daily":boolean
})
setAccessToken
This function is used to set the access token of mapbox and darksky endpoints
Create a free darksky and mapbox account, copy your own access token and pass the api name and access token to setAccessToken
setAccessToken("darksky","your_DarkSky_AccessToken")
setAccessToken("mapbox","your_MapBox_AccessToken")
setWeatherDataSpan
Use this function and set appropriate time span to get the more information from the api.
Object properties currently, minutely, hourly, daily
, value <boolean>
setWeatherDataSpan({
'currently': true,
'minutely': false,
'daily': true
})
The above sets
currently = true
,minutely = false
,hourly = false
,daily = true
3. Necessary Resources
NOTE: To undestand what currently, hourly, daily
holds, visit https://darksky.net/dev/docs#data-point
Here's a snapshot of currently
Here's a snapshot of hourly
Here's a snapshot of daily
4. Basic Usage
Using the api (async/await style)
const getWeatherData = async (location) =>{
const geocode = await geoCode(location)
const forecast = await foreCast(geocode)
console.log(forecast)
}
getWeatherData("Austin")
// Output
// {
// currently: [...],
// hourly: [...]
// daily: [...],
// }
Using the api (promises style)
geoCode('Austin')
.then(geocode => foreCast(geocode))
.then(forecast => {
console.log(forecast);
})
.catch(e=>{
console.log(e);
})
// Output
// {
// currently: [...],
// hourly: [...]
// daily: [...],
// }
Using the api (callbacks style)
geoCode("Austin",(err,geocode)=>{
if(err) return err
foreCast(geocode,(err,forecast)=>{
if(err) return err
console.log(forecast)
})
})
// Output
// {
// currently: [...],
// hourly: [...]
// daily: [...],
// }
5. Total Usage
const {geoCode,foreCast,setAccessToken,setWeatherDataSpan} = require('weyder');
setAccessToken("darksky","your_DarkSky_AccessToken")
setAccessToken("mapbox","your_MapBox_AccessToken")
setWeatherDataSpan({
'currently': true,
'minutely': false,
'daily': true
})
geoCode('Austin')
.then(geocode => foreCast(geocode))
.then(forecast => {
console.log(forecast);
})
.catch(e=>{
console.log(e);
})
// Output
// {
// currently: [...],
// hourly: [...]
// daily: [...],
// }
TODO:
- Still thinking :^)