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 = ` - -
- - -${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 = `
-
-
-
-
- ${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 = `
+
+
+
+
+ ${body}
+
+
+`;
+
+ return stripAnsi(template);
+};