2121 cyanBright = ( txt ) => { return color . cyanBright . open + txt + color . cyanBright . close ; } ,
2222 magentaBright = ( txt ) => { return color . magentaBright . open + txt + color . magentaBright . close ; } ,
2323 redBright = ( txt ) => { return color . redBright . open + txt + color . redBright . close ; } ,
24+ greenBright = ( txt ) => { return color . greenBright . open + txt + color . greenBright . close ; } ,
2425 // background ansi color
2526 cyanBG = ( txt ) => { return color . bgCyan . open + txt + color . bgCyan . close ; } ,
2627 // horizontal line
2930
3031// package.json information
3132const pkg = JSON . parse ( fs . readFileSync ( 'package.json' ) ) ;
33+ const say = JSON . parse ( fs . readFileSync ( './lib/sayings/threads.json' ) ) ;
34+
35+ // random sayings
36+ const randomSay = ( ) => {
37+ let random = Math . floor ( Math . random ( ) * say . length ) ;
38+ return say [ random ] ;
39+ } ;
3240
3341// format data
3442const formatNumber = ( value ) => {
@@ -68,6 +76,27 @@ const source = 'Source: https://www.worldometers.info/coronavirus/',
6876 sourceCountry = { colSpan :5 , content :source } ,
6977 repoCountry = { colSpan :5 , content :repo } ;
7078
79+ // help menu
80+ exports . help = ( ) => {
81+ const manual = `
82+ ${ line }
83+ COVID-19 Tracker CLI v${ pkg . version } by Waren Gonzaga
84+ ${ line }
85+
86+ /country or /code ......... by country query
87+ ex. /philippines or /ph
88+
89+ /cmd ...................... if using CMD
90+
91+ /plain or /basic .......... if your cli does not support ansi encoding
92+
93+ ${ line }
94+
95+ "${ randomSay ( ) } "
96+ ` ;
97+ return manual + plainfooter ;
98+ } ;
99+
71100// covid19 global tracker
72101exports . covid19globaltracker = ( c , d , r , u ) => {
73102 const cases = c , deaths = d , recovered = r , asof = new Date ( u ) ,
@@ -82,15 +111,15 @@ exports.covid19globaltracker = (c, d, r, u) => {
82111 [ formatNumber ( cases ) , formatNumber ( deaths ) , formatNumber ( recovered ) , mortalityPercentage . toFixed ( 2 ) , recoveredPercentage . toFixed ( 2 ) ] ,
83112 [ sourceGlobal ] , [ repoGlobal ]
84113 ) ;
85- return table . toString ( ) + '\n' + footer ;
114+ return table . toString ( ) + '\n\n' + ' ' + '"' + green ( randomSay ( ) ) + '" '+ footer ;
86115} ;
87116
88117// covid19 country tracker
89118exports . covid19countrytracker = ( n , c , tC , d , tD , r , a , cl , cPOM , u ) => {
90119 const name = n , cases = c , todayCases = tC ,
91120 deaths = d , todayDeaths = tD , recovered = r ,
92121 active = a , critical = cl , casesPerOneMillion = cPOM ,
93- mortalityPercentage = ( d / c ) * 100 , recoveredPercentage = ( r / c ) * 100 ,
122+ mortalityPercentage = ( d / c ) * 100 , recoveryPercentage = ( r / c ) * 100 ,
94123 asof = new Date ( u ) ;
95124 table = new table3 ( {
96125 head : [ { colSpan :5 , content :white ( 'COVID-19 Tracker CLI v' + pkg . version + ' - ' + name + ' Update' ) } ] ,
@@ -100,11 +129,11 @@ exports.covid19countrytracker = (n, c, tC, d, tD, r, a, cl, cPOM, u) => {
100129 [ { colSpan :5 , content :yellow ( 'As of ' + asof . toLocaleString ( ) + ' [Date:' + currentdate + ']' ) } ] ,
101130 [ magenta ( 'Cases' ) , red ( 'Deaths' ) , green ( 'Recovered' ) , cyan ( 'Active' ) , cyanBright ( 'Cases/Million' ) ] ,
102131 [ formatNumber ( cases ) , formatNumber ( deaths ) , formatNumber ( recovered ) , formatNumber ( active ) , formatNumber ( casesPerOneMillion ) ] ,
103- [ magentaBright ( 'Today Cases' ) , redBright ( 'Today Deaths' ) , redBright ( 'Critical' ) , red ( 'Mortality %' ) , green ( 'Recovered %') ] ,
104- [ formatNumber ( todayCases ) , formatNumber ( todayDeaths ) , formatNumber ( critical ) , mortalityPercentage . toFixed ( 2 ) , recoveredPercentage . toFixed ( 2 ) ] ,
132+ [ magentaBright ( 'Today Cases' ) , redBright ( 'Today Deaths' ) , redBright ( 'Critical' ) , red ( 'Mortality %' ) , greenBright ( 'Recovery %') ] ,
133+ [ formatNumber ( todayCases ) , formatNumber ( todayDeaths ) , formatNumber ( critical ) , mortalityPercentage . toFixed ( 2 ) , recoveryPercentage . toFixed ( 2 ) ] ,
105134 [ sourceCountry ] , [ repoCountry ]
106135 ) ;
107- return table . toString ( ) + '\n' + footer ;
136+ return table . toString ( ) + '\n\n' + ' ' + '"' + green ( randomSay ( ) ) + '" '+ footer ;
108137} ;
109138
110139exports . plainglobaltracker = ( c , d , r , u ) => {
@@ -127,6 +156,8 @@ exports.plainglobaltracker = (c, d, r, u) => {
127156 ${ line }
128157 ${ repo }
129158 ${ line }
159+
160+ "${ randomSay ( ) } "
130161 ` ;
131162 return visual + plainfooter ;
132163} ;
@@ -159,13 +190,14 @@ exports.plaincountrytracker = (n, c, tC, d, tD, r, a, cl, cPOM, u) => {
159190 ${ line }
160191 ${ repo }
161192 ${ line }
193+
194+ "${ randomSay ( ) } "
162195 ` ;
163196 return visual + plainfooter ;
164197} ;
165198
166199// cli footer
167200const footer = `
168- Always wash your hands, stay safe...
169201
170202 ---
171203 Love this project? Please consider buying me a cup of coffee!
@@ -177,8 +209,6 @@ const footer = `
177209
178210// cli plain footer
179211const plainfooter = `
180- Always wash your hands, stay safe...
181-
182212 ---
183213 Love this project? Please consider buying me a cup of coffee!
184214 [ warengonzaga.com/buymeacoffee ]
0 commit comments