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';
const api = new MiniOwm(
'<your api key here>',
33.441792,
-94.037689,
'hourly,minutely'
Units.Imperial,
'de'
);
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()
.imperial()
.metric()
.language('de')
.get()
.then(res => {
console.log(res);
});
Get Parameters
import MiniOwm, { Units } from 'mini-owm';
new MiniOwm()
.get({
apiKey: '<your api key here>',
coords: {
latitude: 33.441792,
longitude: -94.037689,
},
exclude: 'hourly,minutely',
units: Units.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