Press n or j to go to the next uncovered block, b, p or k for the previous block.
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 43 | 3x 54x 54x 54x 54x 54x 3x | const { movableGurpurabs } = require( './consts' ) /** * Returns Gregorian Date of Movable Gurpurab from 2003CE - 2100CE * @param {string} gurpurab * Movable Gurpurabs:<br> * `gurunanak` - Parkash Guru Nanak Dev Ji<br> * `bandichhorr` - Bandi Chhorr Divas / Diwali<br> * `holla` - Holla Mahalla<br> * `kabeer` - Birthday Bhagat Kabeer Ji<br> * `ravidaas` - Birthday Bhagat Ravidaas Ji<br> * `naamdev` - Birthday Bhagat Naamdev Ji * @param {!number} [year] Gregorian year, default is current year. Range [2003...2100] * @return {Object} Gurpurab Date with Name in English and Punjabi * @example findMovableGurpurab( 'gurunanak' ) */ function findMovableGurpurab( gurpurab, year = new Date().getFullYear() ) { // Check if gurpurab in array Iif ( !( gurpurab in movableGurpurabs ) ) { throw Error( `String "${gurpurab}" not found in list of movable Gurpurabs.` ) } Iif ( year < 2003 || year > 2100 ) { throw new RangeError( 'Year not in range [2003...2100].' ) } // Get data for event const { name, dates } = movableGurpurabs[ gurpurab ] const { month, day } = dates[ year - 2003 ] return { gregorianDate: new Date( year, month - 1, day ), name: { en: `${name.en} (${year})`, pa: `${name.pa} (${year})`, type: name.type, movable: true, }, } } module.exports = findMovableGurpurab |