UNPKG

@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

77 lines 3.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.calculateGowriPanchangam = calculateGowriPanchangam; // Gowri Panchangam has fixed sequences for each day // Order: Money, Disease, Sorrows, Happiness, Enemy, Joy, Poison, Benefit // Names: Dhana, Roga, Shoka, Harsha, Satru, Sukha, Visha, Labha // Good: Dhana, Harsha, Sukha, Labha // Bad/Neutral: Roga, Shoka, Satru, Visha // Let's use the sequence mapping usually found in Drik Panchang / Apps. // Day Sequences: // Sun: Udyoga, Shubha, Roga, Laabha, Dhana, Visha, Amrita, Shunya // Mon: Amrita, Shunya, Udyoga, Shubha, Roga, Laabha, Dhana, Visha // ... // Actually, it's easier to map the 'First' Muhurta and cycle? // No, the cycle for Gowri is distinct for Day and Night and varies by day. // It is 5 Good and 3 Bad. // Good: Amrita, Shubha, Laabha, Dhana, Udyoga // Bad: Roga, Visha, Shunya const GOWRI_NAMES = ['Udyoga', 'Shubha', 'Roga', 'Laabha', 'Dhana', 'Visha', 'Amrita', 'Shunya']; const GOWRI_RATINGS = { 'Udyoga': 'good', 'Shubha': 'good', 'Roga': 'bad', 'Laabha': 'good', 'Dhana': 'good', 'Visha': 'bad', 'Amrita': 'good', 'Shunya': 'bad' }; const DAY_SEQUENCES = { 0: ['Udyoga', 'Shubha', 'Roga', 'Laabha', 'Dhana', 'Visha', 'Amrita', 'Shunya'], // Sun 1: ['Amrita', 'Shunya', 'Udyoga', 'Shubha', 'Roga', 'Laabha', 'Dhana', 'Visha'], // Mon 2: ['Roga', 'Laabha', 'Dhana', 'Visha', 'Amrita', 'Shunya', 'Udyoga', 'Shubha'], // Tue 3: ['Laabha', 'Dhana', 'Visha', 'Amrita', 'Shunya', 'Udyoga', 'Shubha', 'Roga'], // Wed 4: ['Dhana', 'Visha', 'Amrita', 'Shunya', 'Udyoga', 'Shubha', 'Roga', 'Laabha'], // Thu 5: ['Visha', 'Amrita', 'Shunya', 'Udyoga', 'Shubha', 'Roga', 'Laabha', 'Dhana'], // Fri 6: ['Shunya', 'Udyoga', 'Visha', 'Amrita', 'Roga', 'Laabha', 'Dhana', 'Shubha'] // Sat (Fixed based on user verification) }; // Night Sequence is different usually. // Validated Sat Night sequence with user data. const NIGHT_SEQUENCES = { 0: ['Shubha', 'Amrita', 'Shunya', 'Roga', 'Visha', 'Dhana', 'Udyoga', 'Laabha'], // Sun 1: ['Udyoga', 'Laabha', 'Shubha', 'Amrita', 'Shunya', 'Roga', 'Visha', 'Dhana'], // Mon 2: ['Dhana', 'Udyoga', 'Laabha', 'Shubha', 'Amrita', 'Shunya', 'Roga', 'Visha'], // Tue 3: ['Visha', 'Dhana', 'Udyoga', 'Laabha', 'Shubha', 'Amrita', 'Shunya', 'Roga'], // Wed 4: ['Roga', 'Visha', 'Dhana', 'Udyoga', 'Laabha', 'Shubha', 'Amrita', 'Shunya'], // Thu 5: ['Shunya', 'Roga', 'Visha', 'Dhana', 'Udyoga', 'Laabha', 'Shubha', 'Amrita'], // Fri 6: ['Laabha', 'Dhana', 'Shubha', 'Shunya', 'Udyoga', 'Visha', 'Amrita', 'Roga'] // Sat (Fixed based on user verification) }; function getGowriIntervals(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: GOWRI_RATINGS[name] }); } return intervals; } function calculateGowriPanchangam(sunrise, sunset, nextSunrise, vara) { const daySeq = DAY_SEQUENCES[vara]; const dayGowri = getGowriIntervals(sunrise, sunset, daySeq); const nightSeq = NIGHT_SEQUENCES[vara]; const nightGowri = getGowriIntervals(sunset, nextSunrise, nightSeq); return { day: dayGowri, night: nightGowri }; } //# sourceMappingURL=gowri.js.map