-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathindex.js
42 lines (38 loc) · 1.33 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
const persian = require('./events/persian')
const lunar = require('./events/lunar')
const solar = require('./events/solar')
const momentJalaali = require('moment-jalaali')
momentJalaali.locale('fa')
momentJalaali.loadPersian()
const momentHijri = require('moment-hijri')
const _allsolar = persian.concat(solar)
const _lunar2solar = lunar
const _allevents = _lunar2solar.concat(_allsolar)
function PHoliday(arg1, arg2, arg3, arg4){
const _self = momentJalaali(arg1, arg2, arg3, arg4)
_self.events = function(){
const _todayNumber = _self.jDayOfYear()
const _todayHijri = momentHijri(_self)
const _todayHijriFormatted = _todayHijri.format('iM/iD')
const events = _allevents.filter(function(item){
return (item.fday && item.fday == _todayHijriFormatted) || (!item.fday && item.day == _todayNumber)
}).map(function(item){
return {
isHoliday: item.holiday,
event: item.title
}
})
return _self.isoWeekday() == 5 ? events.concat([{
isHoliday: true,
isFriday: true,
event: 'جمعه'
}]) : events
}
_self.isHoliday = function(){
return _self.events().find(function(item){
return item.isHoliday
}) != null
}
return _self
}
module.exports = PHoliday