JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 1
  • Score
    100M100P100Q33998F
  • License ISC

Mini ES wrapper for OpenWeatherMap api

Package Exports

  • mini-owm

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (mini-owm) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

mini-owm

A wrapper around Open Weather Map's One Call Api.

Configure it via initialization, chaining, individual calls, or mix and match.

mini-owm also simplifies the Open Weather Api by:

  • defaulting to metric (who uses kelvin?)
  • applying the nested 1h property from rain and snow directly to those properties (who starts a json property with a number?)
    • i.e. instead of current.rain['1h'] the rain value is at current.rain
  • defaulting empty rain or snow to 0 instead of omitting (0 is better than undefined)

Install

npm install mini-owm

Required Params

To make a call to OpenWeatherMap you must provide an api key, latitude, and longitude. All other configuration is optional.

Constructor parameters

import MiniOwm, { Units } from 'mini-owm';

// constructor parameters are all optional
const api = new MiniOwm(
  '<your api key here>', // owm api key
  33.441792, // latitude
  -94.037689, // longitude
  'hourly,minutely' // exclude
  Units.Imperial, // units (default is 'metric' for mini-owm)
  'de' // language
);

api.get().then(res => {
  console.log(res);
});

Chaining

import MiniOwm from 'mini-owm';
const api = new MiniOwm();
api
  .apiKey('<your api key here>')
  .latitude(33.441792)
  .longitude(-94.037689)
  .exclude('hourly,minutely')
  .standard() // set units to standard (Kelvin)
  .imperial() // set units to imperial (Fahrenheit)
  .metric() // set units to metric (Celcius) - this is default for mini-owm
  .language('de')
  .get()
  .then(res => {
    console.log(res);
  });

Get Parameters

import MiniOwm, { Units } from 'mini-owm';

// get attributes properties are all optional
new MiniOwm()
  .get({
    apiKey: '<your api key here>',
    coords: {
      latitude: 33.441792,
      longitude: -94.037689,
    },
    exclude: 'hourly,minutely',
    units: Units.Metric, // or 'metric'
    language: 'de'
  })
  .then(res => {
    console.log(res);
  });

Development

  • Notes:
    • Written in TypeScript
    • Compiled to UMD via WebPack
    • Compiled to ES6 via TSC
    • Typings generated by TSC
  • Setup: pnpm install
  • Configure: create .env with contents: API_KEY=<your api key here>
  • Serve: pnpm run start

See index.ejs.

Runtimes

Latest tested runtimes

  • node: 10.16.3
  • pnpm: 2.15.1