UNPKG

covidtracker

Version:

An Api wrapper to get information about the Novel Coronavirus.

27 lines (26 loc) 1.67 kB
const fetch = require('node-fetch'); module.exports = async function (params) { if (!params.country && !params.sort) { let countries = await fetch(`https://corona.lmao.ninja/v2/jhucsse`).then(r => r.json()); if (!countries || countries.length == 0) return { error: "API may be down, please try again later."} return countries } else if (!params.country && params.sort) { let countries = await fetch(`https://corona.lmao.ninja/v2/jhucsse`).then(r => r.json()); if (!countries || countries.length == 0) return { error: "API may be down, please try again later."} countries = await countries.sort((a, b) => a.stats[params.sort] + b.stats[params.sort]); return countries; } else if (params.country && params.province) { try { let data = await fetch(`https://corona.lmao.ninja/v2/jhucsse`).then(r => r.json()); if (!data || data.length == 0) return { error: "API may be down, please try again later."} data = data.filter(x => x.country === params.country); return data.filter(x => x.province === params.province); } catch (e) { return { error: "API may be down, please try again later."} }; } else if (params.country && !params.province) { try { let data = await fetch(`https://corona.lmao.ninja/v2/jhucsse`).then(r => r.json()); if (!data || data.length == 0) return { error: "API may be down, please try again later."} return data.filter(x => x.country === params.country); } catch (e) { return { error: "API may be down, please try again later."} }; } }