@ishubhamx/panchangam-js
Version:
Enhanced Indian Panchangam (Hindu Calendar) library with comprehensive Vedic features including Muhurta calculations, planetary positions, Rashi placements, and auspicious/inauspicious time calculations
59 lines • 2.57 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.calculateChoghadiya = calculateChoghadiya;
const CHOGHADIYA_ORDER = ['Udveg', 'Chal', 'Labh', 'Amrit', 'Kaal', 'Rog', 'Shubh'];
const RATINGS = {
'Udveg': 'bad',
'Chal': 'neutral',
'Labh': 'good',
'Amrit': 'good',
'Kaal': 'bad',
'Rog': 'bad',
'Shubh': 'good'
};
const DAY_SEQUENCES = {
0: ['Udveg', 'Chal', 'Labh', 'Amrit', 'Kaal', 'Rog', 'Shubh', 'Udveg'], // Sun
1: ['Amrit', 'Kaal', 'Rog', 'Shubh', 'Udveg', 'Chal', 'Labh', 'Amrit'], // Mon
2: ['Rog', 'Udveg', 'Chal', 'Labh', 'Amrit', 'Kaal', 'Shubh', 'Rog'], // Tue
3: ['Labh', 'Amrit', 'Kaal', 'Rog', 'Shubh', 'Udveg', 'Chal', 'Labh'], // Wed
4: ['Shubh', 'Rog', 'Udveg', 'Chal', 'Labh', 'Amrit', 'Kaal', 'Shubh'], // Thu
5: ['Chal', 'Labh', 'Amrit', 'Kaal', 'Rog', 'Shubh', 'Udveg', 'Chal'], // Fri
6: ['Kaal', 'Shubh', 'Rog', 'Udveg', 'Chal', 'Labh', 'Amrit', 'Kaal'] // Sat
};
const NIGHT_SEQUENCES = {
0: ['Shubh', 'Amrit', 'Chal', 'Rog', 'Kaal', 'Labh', 'Udveg', 'Shubh'], // Sun
1: ['Chal', 'Rog', 'Kaal', 'Labh', 'Udveg', 'Shubh', 'Amrit', 'Chal'], // Mon
2: ['Kaal', 'Labh', 'Udveg', 'Shubh', 'Amrit', 'Chal', 'Rog', 'Kaal'], // Tue
3: ['Udveg', 'Shubh', 'Amrit', 'Chal', 'Rog', 'Kaal', 'Labh', 'Udveg'], // Wed
4: ['Amrit', 'Chal', 'Rog', 'Kaal', 'Labh', 'Udveg', 'Shubh', 'Amrit'], // Thu
5: ['Rog', 'Kaal', 'Labh', 'Udveg', 'Shubh', 'Amrit', 'Chal', 'Rog'], // Fri
6: ['Labh', 'Udveg', 'Shubh', 'Amrit', 'Chal', 'Rog', 'Kaal', 'Labh'] // Sat
};
function getIntervals(start, end, sequence) {
const totalDuration = end.getTime() - start.getTime();
const durationPerpart = totalDuration / 8;
const intervals = [];
for (let i = 0; i < 8; i++) {
const segStart = new Date(start.getTime() + (i * durationPerpart));
const segEnd = new Date(start.getTime() + ((i + 1) * durationPerpart));
const name = sequence[i];
intervals.push({
name,
startTime: segStart,
endTime: segEnd,
rating: RATINGS[name]
});
}
return intervals;
}
function calculateChoghadiya(sunrise, sunset, nextSunrise, vara) {
const daySeq = DAY_SEQUENCES[vara];
const dayChoghadiya = getIntervals(sunrise, sunset, daySeq);
const nightSeq = NIGHT_SEQUENCES[vara];
const nightChoghadiya = getIntervals(sunset, nextSunrise, nightSeq);
return {
day: dayChoghadiya,
night: nightChoghadiya
};
}
//# sourceMappingURL=choghadiya.js.map