Socket
Book a DemoInstallSign in
Socket

weyder

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

weyder

A simple weather package that takes advantage of the darksky and mapbox api

2.1.4
latest
Source
npmnpm
Version published
Weekly downloads
9
Maintainers
1
Weekly downloads
 
Created
Source

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 Information
  • setAccessToken ("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

currently_data

Here's a snapshot of hourly

hourly_data

Here's a snapshot of daily

daily_data

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 :^)

Keywords

weather

FAQs

Package last updated on 05 Aug 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.