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
1hproperty fromrainandsnowdirectly to those properties (who starts a json property with a number?)- i.e. instead of
current.rain['1h']the rain value is atcurrent.rain
- i.e. instead of
- defaulting empty
rainorsnowto0instead 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
.envwith 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