weather-info
Version:
npm package for weather information.
67 lines (61 loc) • 1.62 kB
JavaScript
var request = require('request');
const baseUrl = "http://api.openweathermap.org/data/2.5";
const apiKey = "471c4c453c085365b45d5c6a64656fa3";
var callApi = function(url ,callback){
url = url + "&appid="+apiKey+"&units=metric";
request(url,(error, response, body) => {
if(error) {
callback(error,false);
} else {
callback(false,body);
}
})
}
/* type Code for Api
0 -> By city_name,country_name
1 -> By city_id
2 -> By long,lat
3 -> By zipcode
*/
module.exports = {
getCurrentWeatherData : function(type, argumentsArray, callback) {
switch(type){
case 0:
url = baseUrl + "/weather?q="+argumentsArray[0] ;
callApi(url,callback);
break;
case 1:
url = baseUrl + "/weather?id="+argumentsArray[0];
callApi(url,callback);
break;
case 2:
url = baseUrl + "/weather?lat="+argumentsArray[0]+"&lon="+argumentsArray[1];
callApi(url,callback);
break;
case 3:
url = baseUrl + "/weather?zip="+argumentsArray[0] ;
callApi(url,callback);
break;
}
},
getForcastData : function(type, argumentsArray, callback) {
switch(type){
case 0:
url = baseUrl + "/forecast?q="+argumentsArray[0] ;
callApi(url,callback);
break;
case 1:
url = baseUrl + "/forecast?id="+argumentsArray[0];
callApi(url,callback);
break;
case 2:
url = baseUrl + "/forecast?lat="+argumentsArray[0]+"&lon="+argumentsArray[1];
callApi(url,callback);
break;
case 3:
url = baseUrl + "/forecast?zip="+argumentsArray[0] ;
callApi(url,callback);
break;
}
}
}