diff --git a/lib/byCountry.js b/lib/byCountry.js index cc3567b..7f50d05 100644 --- a/lib/byCountry.js +++ b/lib/byCountry.js @@ -2,8 +2,8 @@ const Table = require('cli-table3'); const _ = require('lodash'); const helpers = require('./helpers'); const api = require('./api'); -const stripAnsi = require('strip-ansi'); const { + extraStats, getConfirmed, getActive, getDeaths, @@ -11,13 +11,11 @@ const { getMortalityPer, getRecoveredPer, getEmoji, - calActive, - calMortalityPer, - calRecoveredPer, getOneDayChange, getOneWeekChange, getTotalStats, footer, + htmlTemplate, } = require('./helpers'); function getDataByState(confirmed, deaths, recovered) { @@ -51,16 +49,6 @@ function getDataByState(confirmed, deaths, recovered) { return _.sortBy(countryArr, (o) => -o.confirmed); } -function extraStats(dataArr) { - return dataArr.map(obj => ({ - ...obj, - active: calActive(obj), - mortalityPer: calMortalityPer(obj), - recoveredPer: calRecoveredPer(obj), - }) - ); -} - exports.getJSONData = async () => { const data = await api.getCoronaData(); const { confirmed, deaths, recovered } = data; @@ -134,30 +122,7 @@ exports.getCountryTable = async ({ } const { lastUpdated } = countryData[0]; - if (!isCurl) { - const template = ` - - - - - Coronavirus Tracker - - - -
${table.toString() + footer(lastUpdated)}
- - `; - return stripAnsi(template); - } + const ret = table.toString() + footer(lastUpdated); - return table.toString() + footer(lastUpdated); + return isCurl ? ret : htmlTemplate(ret); }; diff --git a/lib/corona.js b/lib/corona.js index 8b3fb73..48c3ece 100644 --- a/lib/corona.js +++ b/lib/corona.js @@ -2,8 +2,9 @@ const Table = require('cli-table3'); const _ = require('lodash'); const helpers = require('./helpers'); const api = require('./api'); -const stripAnsi = require('strip-ansi'); + const { + extraStats, getCountry, getConfirmed, getActive, @@ -12,13 +13,11 @@ const { getMortalityPer, getRecoveredPer, getEmoji, - calActive, - calMortalityPer, - calRecoveredPer, getOneDayChange, getOneWeekChange, getTotalStats, footer, + htmlTemplate, } = require('./helpers'); function getDataByCountry(confirmed, deaths, recovered) { @@ -67,16 +66,6 @@ function getDataByCountry(confirmed, deaths, recovered) { return _.sortBy(countryArr, (o) => -o.confirmed); } -function extraStats(dataArr) { - return dataArr.map(obj => ({ - ...obj, - active: calActive(obj), - mortalityPer: calMortalityPer(obj), - recoveredPer: calRecoveredPer(obj), - }) - ); -} - exports.getCompleteTable = async ({ isCurl = true, emojis = false, @@ -139,30 +128,7 @@ exports.getCompleteTable = async ({ ] }); const { lastUpdated } = countryData[0]; - if (!isCurl) { - const template = ` - - - - - Coronavirus Tracker - - - -
${table.toString() + footer(lastUpdated)}
- - `; - return stripAnsi(template); - } + const ret = table.toString() + footer(lastUpdated); - return table.toString() + footer(lastUpdated); + return isCurl ? ret : htmlTemplate(ret); }; diff --git a/lib/helpers.js b/lib/helpers.js index 5160537..50cd703 100644 --- a/lib/helpers.js +++ b/lib/helpers.js @@ -4,6 +4,7 @@ const emojiFlags = require('emoji-flags'); const _ = require('lodash'); const moment = require('moment'); const lookup = require('country-code-lookup'); +const stripAnsi = require('strip-ansi'); const e = exports; e.getCountry = (country) => { @@ -222,3 +223,41 @@ e.getTableHeaders = (emojis, secondColumnName) => { ]; return head; }; + +e.extraStats = (dataArr) => { + return dataArr.map(obj => { + return { + ...obj, + active: e.calActive(obj), + mortalityPer: e.calMortalityPer(obj), + recoveredPer: e.calRecoveredPer(obj) + }; + }); +}; + +e.htmlTemplate = (body) => { + const template = ` + + + + + Coronavirus Tracker + + + +
${body}
+ + +`; + + return stripAnsi(template); +};