temp-forecast

Get the temperature forecast for the next 12 hours.

Setup:

npm install codeblox request moment-timezone

codeblox.json

{
  "name": "temp-forecast",
  "version": "1.0.0",
  "description": "Get temperature forecast as a chart",
  "keywords": ["weather", "temperature", "forecast", "chart"],
  "input": "location",
  "output": "chart"
}

.codebloxenv

WEATHER_API_KEY=YOUR_KEY_HERE

codeblox.js

const request = require('request')
const moment = require('moment-timezone')
const codeblox = require('codeblox')

module.exports.default = codeblox((input, options, callback) => {
  request.get(`https://api.darksky.net/forecast/${process.env.WEATHER_API_KEY}/${input[0]},${input[1]}`, (err, res, body) => {
    const weather = JSON.parse(body)
    let temps = weather.hourly.data.map(d => ({ time: d.time, temp: d.temperature }))
    temps.splice(12)

    const result = temps.reduce((acc, curr) => {
      const time = moment(curr.time * 1000).tz(weather.timezone).format("hA")
      acc[time] = curr.temp
      return acc
    }, {})
    callback(null, result)
  })
})

results matching ""

    No results matching ""