Skip to content
This repository has been archived by the owner on Jun 3, 2023. It is now read-only.

wgumenyuk/msn-weather

Repository files navigation

Logo

MSN Weather API

A simple MSN Weather API wrapper with built-in TypeScript support.

Travis CI Codecov Code Climate NPM downloads Size License

NPM install info

Deprecation Notice

⚠️ This package is deprecated and no longer works.

Table of contents

About

msn-weather is a powerful Node.js library that allows you to easily retrieve weather data for any location in the world. As the name suggests, this wrapper uses the MSN weather API behind the scenes.

  • Simple and easy-to-use API
  • Built-in TypeScript definitions
  • Only one dependency
  • Clear weather data format
  • Performant

Installation

Install this package using NPM:

npm install msn-weather --save

Usage

import weather from "msn-weather";

const data = await weather.search({
  location: "Munich, DE",
  language: "en",
  degreeType: "C"
});

Usage with CommonJS

To use this library with CommonJS, use this approach:

const weather = require("msn-weather").default;

Retrieved data format

You will receive a JavaScript object looking like this:

Show response
{
  current: {
    date: "2021-06-09",
    day: "Wednesday",
    temperature: "23°C",
    sky: {
      code: "partly_sunny",      
      text: "Partly Sunny"        
    },
    observation: {
      time: "12:00:00",
      point: "Munich, BY, Germany"
    },
    feelsLike: "22°C",
    humidity: "58%",
    wind: {
      display: "7 km/h North",    
      speed: "7 km/h"
    }
  },
  forecasts: [
    {
      date: "2021-06-09",
      day: "Wednesday",
      temperature: {
        low: "14°C",
        high: "24°C"
      },
      sky: {
        code: "partly_sunny",
        text: "Partly Sunny"
      },
      precip: "90%"
    },
    {
      date: "2021-06-10",
      day: "Thursday",
      temperature: {
        low: "13°C",
        high: "22°C"
      },
      sky: {
        code: "light_rain",
        text: "Light Rain"
      },
      precip: "100%"
    },
    {
      date: "2021-06-11",
      day: "Friday",
      temperature: {
        low: "15°C",
        high: "23°C"
      },
      sky: {
        code: "light_rain",
        text: "Light Rain"
      },
      precip: "100%"
    },
    {
      date: "2021-06-12",
      day: "Saturday",
      temperature: {
        low: "15°C",
        high: "24°C"
      },
      sky: {
        code: "light_rain",
        text: "Light Rain"
      },
      precip: "100%"
    }
  ]
}

API documentation

weather.search(options)

Retrieves weather data for a given location. Returns a promise with weather data (see retrieved data format).

Parameter Type Optional Default Description
options Options None Options for the search.

Options

Options for the search.

Parameter Type Optional Default Description
location String None Location for the weather data. The location will be encoded automatically using encodeURIComponent.
language String en Language in which weather text will be returned. The value must be a ISO 639.1:2002 language code.
degreeType String C Degree type for temperature values. Either Celsius (C) or Fahrenheit (F).

Resources

Acknowledgements

Contributors

A special thanks goes out to these contributors:

  • Khang (khang-nd) - Contributing a number of times

License

This project is licensed under MIT.