Skip to content

Commit

Permalink
exposed holidays as cli/holidays.js module
Browse files Browse the repository at this point in the history
  • Loading branch information
Andrea Giammarchi committed Sep 22, 2018
1 parent 54e8f93 commit 43c0e12
Show file tree
Hide file tree
Showing 7 changed files with 81 additions and 62 deletions.
37 changes: 37 additions & 0 deletions cli/holidays.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
"use strict";

var path = require('path');

module.exports = function (locale, year) {
var holidays = {
national: [],
regional: [],
year: year || (new Date).getFullYear()
};
locale.toLowerCase().split(',').forEach(load, holidays);
return holidays;
};

function load(lang, year) {
try {
var module = require(path.join('..', 'holidays', lang, 'index.js'));
this.national.push.apply(
this.national,
module.national.map(addYear, this.year).filter(nulled)
);
this.regional.push.apply(
this.regional,
module.regional.map(addYear, this.year).filter(nulled)
);
} catch (notThereYet) {}
}

function addYear(mmdd) {
return typeof mmdd === 'string' ?
new Date(this + '-' + mmdd) :
mmdd(+this);
}

function nulled(date) {
return date != null;
}
30 changes: 6 additions & 24 deletions cli/monthly.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

var path = require('path');
var program = require('commander');
var holidays = require('./holidays.js');
var monthly = require(path.join('..', 'cjs'));
var today = new Date;
var day = today.getDate();
Expand All @@ -10,16 +11,12 @@ var year = today.getFullYear();
var date = new Date(year, month, 1);

var _holidaysFilter = /^(?:[a-z]{2},)*(?:[a-z]{2})$/i;
var _holidays = {
national: [],
regional: []
};
var options = {
date: date,
highlight: day,
startDay: 1,
year: true,
_holidays: _holidays
_holidays: null
};

program
Expand Down Expand Up @@ -52,25 +49,10 @@ if (hasYear && typeof program.year === 'string') {

if (program.holidays) {
if (_holidaysFilter.test(program.holidays)) {
program.holidays.toLowerCase().split(',').forEach(
function (lang) {
try {
var module = require(path.join('..', 'holidays', lang, 'index.js'));
this.national.push.apply(
this.national,
module.national.map(addYear, date.getFullYear()).filter(nulled)
);
this.regional.push.apply(
this.regional,
module.regional.map(addYear, date.getFullYear()).filter(nulled)
);
} catch (nope) {}
},
_holidays
);
_holidays.regional.push.apply(
_holidays.regional,
_holidays.national
options._holidays = holidays(program.holidays, date.getFullYear());
options._holidays.regional.push.apply(
options._holidays.regional,
options._holidays.national
);
} else {
program.help();
Expand Down
2 changes: 1 addition & 1 deletion coverage/coverage.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion coverage/lcov-report/cjs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ <h1>
</div><!-- /wrapper -->
<div class='footer quiet pad2 space-top1 center small'>
Code coverage
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Tue Aug 28 2018 21:57:15 GMT+0200 (CEST)
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Sat Sep 22 2018 17:50:30 GMT+0200 (CEST)
</div>
</div>
<script src="../prettify.js"></script>
Expand Down
24 changes: 12 additions & 12 deletions coverage/lcov-report/cjs/index.js.html
Original file line number Diff line number Diff line change
Expand Up @@ -338,7 +338,7 @@ <h1>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes"></span>
<span class="cline-any cline-yes">32×</span>
<span class="cline-any cline-yes">103×</span>
<span class="cline-any cline-yes">102×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes"></span>
Expand All @@ -348,7 +348,7 @@ <h1>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes"></span>
<span class="cline-any cline-yes">440×</span>
<span class="cline-any cline-yes">441×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
Expand All @@ -359,24 +359,24 @@ <h1>
<span class="cline-any cline-yes">96×</span>
<span class="cline-any cline-yes">96×</span>
<span class="cline-any cline-yes">672×</span>
<span class="cline-any cline-yes">488×</span>
<span class="cline-any cline-yes">488×</span>
<span class="cline-any cline-yes">487×</span>
<span class="cline-any cline-yes">487×</span>
<span class="cline-any cline-yes">13×</span>
<span class="cline-any cline-yes">488×</span>
<span class="cline-any cline-yes">487×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">147×</span>
<span class="cline-any cline-yes">488×</span>
<span class="cline-any cline-yes">148×</span>
<span class="cline-any cline-yes">487×</span>
<span class="cline-any cline-yes">15×</span>
<span class="cline-any cline-yes">488×</span>
<span class="cline-any cline-yes">487×</span>
<span class="cline-any cline-yes">12×</span>
<span class="cline-any cline-yes">488×</span>
<span class="cline-any cline-yes">487×</span>
<span class="cline-any cline-yes">61×</span>
<span class="cline-any cline-yes">488×</span>
<span class="cline-any cline-yes">487×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">184×</span>
<span class="cline-any cline-yes">185×</span>
<span class="cline-any cline-yes">672×</span>
<span class="cline-any cline-neutral">&nbsp;</span>
<span class="cline-any cline-yes">96×</span>
Expand Down Expand Up @@ -559,7 +559,7 @@ <h1>
</div><!-- /wrapper -->
<div class='footer quiet pad2 space-top1 center small'>
Code coverage
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Tue Aug 28 2018 21:57:15 GMT+0200 (CEST)
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Sat Sep 22 2018 17:50:30 GMT+0200 (CEST)
</div>
</div>
<script src="../prettify.js"></script>
Expand Down
2 changes: 1 addition & 1 deletion coverage/lcov-report/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ <h1>
</div><!-- /wrapper -->
<div class='footer quiet pad2 space-top1 center small'>
Code coverage
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Tue Aug 28 2018 21:57:15 GMT+0200 (CEST)
generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Sat Sep 22 2018 17:50:30 GMT+0200 (CEST)
</div>
</div>
<script src="prettify.js"></script>
Expand Down
46 changes: 23 additions & 23 deletions coverage/lcov.info
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ FNDA:2,currentDate
FNDA:112,day
FNDA:32,reach
FNDA:3644,similar
FNDA:440,special
FNDA:441,special
FNDA:96,row
DA:2,2
DA:20,2
Expand Down Expand Up @@ -82,28 +82,28 @@ DA:117,1
DA:118,112
DA:124,1
DA:125,32
DA:126,103
DA:126,102
DA:129,1
DA:130,3644
DA:135,1
DA:136,440
DA:136,441
DA:140,1
DA:144,96
DA:145,96
DA:146,672
DA:147,488
DA:148,488
DA:147,487
DA:148,487
DA:149,13
DA:150,488
DA:154,147
DA:155,488
DA:150,487
DA:154,148
DA:155,487
DA:156,15
DA:157,488
DA:157,487
DA:158,12
DA:159,488
DA:159,487
DA:160,61
DA:161,488
DA:164,184
DA:161,487
DA:164,185
DA:165,672
DA:167,96
DA:170,2
Expand Down Expand Up @@ -174,22 +174,22 @@ BRDA:112,31,1,1
BRDA:112,32,0,2
BRDA:112,32,1,1
BRDA:130,33,0,3644
BRDA:130,33,1,123
BRDA:130,33,1,122
BRDA:130,33,2,109
BRDA:146,34,0,488
BRDA:146,34,1,184
BRDA:146,34,0,487
BRDA:146,34,1,185
BRDA:148,35,0,13
BRDA:148,35,1,475
BRDA:150,36,0,147
BRDA:150,36,1,341
BRDA:151,37,0,488
BRDA:151,37,1,349
BRDA:148,35,1,474
BRDA:150,36,0,148
BRDA:150,36,1,339
BRDA:151,37,0,487
BRDA:151,37,1,347
BRDA:155,38,0,15
BRDA:155,38,1,473
BRDA:155,38,1,472
BRDA:157,39,0,12
BRDA:157,39,1,476
BRDA:157,39,1,475
BRDA:159,40,0,61
BRDA:159,40,1,427
BRDA:159,40,1,426
BRF:81
BRH:81
end_of_record

0 comments on commit 43c0e12

Please sign in to comment.