Awesome
<div align="center"> <h1>NovelCovid</h1> <h6>(aka covidapi)</h6> <strong> <i>A JavaScript Wrapper for the <a href="https://disease.sh">novelCOVID API</a></i></strong><br><br><br> <br>
</div> <br>Disclaimer
This wrapper is only for COVID-19 related data from the Open Disease API.
Installation
Using NPM:
npm i -s novelcovid
Remarks
This wrapper uses the '@aero/centra' package to send requests. It is way faster than any other request package other than 'http.request' package.
The allowNull parameter is now available for the all
, countries
, continents
, states
and gov
endpoints.
Usage
All shown examples use Promises but can also await/async to fetch data using NovelCovid.
Add to project
const api = require('novelcovid');
// you can choose which URL to use, this will not change the behaviour of the API
api.settings({
baseUrl: 'https://disease.sh' | 'https://api.caw.sh' | 'https://corona.lmao.ninja'
})
Summary
// this prints a summary of global data
api.all().then(console.log)
// this prints a summary of global data with yesterdays data
api.yesterday.all().then(console.log)
// this prints a summary of global data with data from two days ago
api.twoDaysAgo.all().then(console.log)
Countries
// this prints an array of call infected countries
api.countries().then(console.log)
// this prints an array of call infected countries sorted by cases
api.countries({sort:'cases'}).then(console.log)
// this prints a specified country
api.countries({country:'austria'}).then(console.log)
// this prints an array of specified countries
api.countries({country:['austria','china']}).then(console.log)
Yesterday (Countries)
// this prints an array of all infected countries with yesterdays data
api.yesterday.countries().then(console.log)
// this prints an array of all infected countries with yesterdays data sorted by todays cases
api.yesterday.countries({sort:'cases'}).then(console.log)
// this prints a specified country with yesterdays data
api.yesterday.countries({country:'austria'}).then(console.log)
// this prints an array of specified countries with yesterdays data
api.yesterday.countries({country:['austria','china']}).then(console.log)
Two Days Ago (Countries)
// this prints an array of all infected countries with data from two days ago
api.twoDaysAgo.countries().then(console.log)
// this prints an array of all infected countries with data from two days ago sorted by todays cases
api.twoDaysAgo.countries({sort:'cases'}).then(console.log)
// this prints a specified country with data from two days ago
api.twoDaysAgo.countries({country:'austria'}).then(console.log)
// this prints an array of specified countries with data from two days ago
api.twoDaysAgo.countries({country:['austria','china']}).then(console.log)
Continents
// this prints an array of all infected continents
api.continents().then(console.log)
// this prints an array of all infected continents sorted by cases
api.continents({sort:'cases'}).then(console.log)
// this prints a specified continent
api.continents({continent:'europe'}).then(console.log)
Yesterday (Continents)
// this prints an array of all infected continents with yesterdays data
api.yesterday.continents().then(console.log)
// this prints an array of all infected continents with yesterdays data sorted by todays cases
api.yesterday.continents({sort:'cases'}).then(console.log)
// this prints a specified continent with yesterdays data
api.yesterday.continents({continent:'europe'}).then(console.log)
Two Days Ago (Continents)
// this prints an array of all infected continents with data from two days ago
api.twoDaysAgo.continents().then(console.log)
// this prints an array of all infected continents with data from two days ago sorted by todays cases
api.twoDaysAgo.continents({sort:'cases'}).then(console.log)
// this prints a specified continent with data from two days ago
api.twoDaysAgo.continents({continent:'europe'}).then(console.log)
States
// this prints an array of US states and their data
api.states().then(console.log)
// this prints an array of US states and their data sorted by cases
api.states({sort:'cases'}).then(console.log)
// this prints a specified state and its data
api.states({state:'michigan'}).then(console.log)
// this prints an array of specified states and their data
api.states({state:['michigan','new york']}).then(console.log)
Yesterday (States)
// this prints an array of US states with yesterdays data
api.yesterday.states().then(console.log)
// this prints an array of US states with yesterdays data sorted by cases
api.yesterday.states({sort:'cases'}).then(console.log)
// this prints a specified state with yesterdays data
api.yesterday.states({state:'michigan'}).then(console.log)
// this prints an array of specified states with yesterdays data
api.yesterday.states({state:['michigan','new york']}).then(console.log)
JHUCSSE
// this prints an array of infected countries
api.jhucsse.all().then(console.log)
// this prints an array of infected US counties
api.jhucsse.counties().then(console.log)
// this prints an array of infected provinces of a specified US county
api.jhucsse.counties({county:'abbeville'}).then(console.log)
// this prints an object with the counties provinces as arrays
api.jhucsse.counties({county:['abbeville','acadia']}).then(console.log)
Historical
// this prints the global timeline
api.historical.all().then(console.log)
// this prints the global timeline for the last 10 days (use -1 to get all data)
api.historical.all().then(console.log)
// this prints an array of infected countries and their timeline
api.historical.countries().then(console.log)
// this prints a specified country and its timeline
api.historical.countries({country:'china'}).then(console.log)
// this prints a specified country and its timeline for the last 10 days (use -1 to get all data)
api.historical.countries({country:'china', days:10}).then(console.log)
// this prints a specified province of a specified country and its timeline
api.historical.countries({country:'china', province:'hubei'}).then(console.log)
// this prints a specified province of a specified country and its timeline
api.historical.countries({country:'china', province:['hubei','anhui']}).then(console.log)
New York Times Data (USA)
// this prints a timeline of data from the US
api.nyt.usa().then(console.log)
// this prints an array of timelines of all infected US states
api.nyt.states().then(console.log)
// this prints a timeline of a specified US state
api.nyt.states({state:'illinois'}).then(console.log)
// this prints an array of timelines all infected US counties
api.nyt.counties().then(console.log)
// this prints an array of timelines of states of a specified US county
api.nyt.counties({county:'cook'}).then(console.log)
Mobility Data (Apple)
// this prints a list of available country names
api.apple.countries().then(console.log)
// this prints a list of available subregions for a specified country
api.apple.subregions('austria').then(console.log)
// this prints mobility data for a specified subregion of a country, all is used to query total data
api.apple.mobilityData({country:'austria', subregion:'all'}).then(console.log)
// this prints mobility data for multiple specified subregions of a country
api.apple.mobilityData({country:'austria', subregion:['vienna', 'salzburg']}).then(console.log)
Official Government Data
// this prints a list of available country names
api.gov().then(console.log)
// this prints the data for a specified country
api.gov('austria').then(console.log)