Skip to content

Commit b130a84

Browse files
committed
added more correct panchanga calculations. can be added more panchanga components.
1 parent c45b781 commit b130a84

File tree

6 files changed

+717
-105
lines changed

6 files changed

+717
-105
lines changed

bikram-calendar/src/constants.ts

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
/**
2+
* Panchanga Calculator - Hindu Astrological Calendar Calculator
3+
* Copyright (C) 2025 Khumnath Cg <[email protected]>
4+
*
5+
* This program is free software: you can redistribute it and/or modify
6+
* it under the terms of the GNU General Public License as published by
7+
* the Free Software Foundation, either version 3 of the License, or
8+
* (at your option) any later version.
9+
*
10+
* This program is distributed in the hope that it will be useful,
11+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+
* GNU General Public License for more details.
14+
*
15+
* You should have received a copy of the GNU General Public License
16+
* along with this program. If not, see <https://www.gnu.org/licenses/>.
17+
*/
18+
19+
/** Array of Tithi names (lunar days) in the Hindu calendar.
20+
* Contains 30 entries representing the lunar phases:
21+
* - First 15 entries are for Shukla Paksha (waxing moon phase)
22+
* - Last 15 entries are for Krishna Paksha (waning moon phase)
23+
* @readonly
24+
*/
25+
export const tithi = [
26+
"Pratipada", "Dwitiya", "Tritiya", "Chaturthi", "Panchami",
27+
"Shashthi", "Saptami", "Ashtami", "Navami", "Dashami", "Ekadashi",
28+
"Dwadashi", "Trayodashi", "Chaturdashi", "Purnima", "Pratipada",
29+
"Dwitiya", "Tritiya", "Chaturthi", "Panchami", "Shashthi",
30+
"Saptami", "Ashtami", "Navami", "Dashami", "Ekadashi",
31+
"Dwadashi", "Trayodashi", "Chaturdashi", "Amavasya"
32+
];
33+
34+
/** Array of Nakshatra names (lunar mansions/constellations) in the Hindu calendar.
35+
* Contains 27 entries representing the celestial divisions along the ecliptic
36+
* through which the moon passes during its monthly cycle.
37+
* @readonly
38+
*/
39+
export const nakshatra = [
40+
"Ashwini", "Bharani", "Krittika", "Rohini", "Mrigashirsha", "Ardra",
41+
"Punarvasu", "Pushya", "Ashlesha", "Magha", "Purva Phalguni", "Uttara Phalguni",
42+
"Hasta", "Chitra", "Swati", "Vishakha", "Anuradha", "Jyeshtha", "Mula",
43+
"Purva Ashadha", "Uttara Ashadha", "Shravana", "Dhanishta", "Shatabhisha",
44+
"Purva Bhadrapada", "Uttara Bhadrapada", "Revati"
45+
];
46+
47+
/** Array of Rashi names (zodiac signs) in the Hindu calendar.
48+
* Contains 12 entries representing the zodiacal constellations
49+
* through which the sun appears to pass during its yearly cycle.
50+
* @readonly
51+
*/
52+
export const rashi = [
53+
"Mesh", "Vrish", "Mithun", "Kark", "Singh", "Kanya",
54+
"Tula", "Vrischik", "Dhanu", "Makar", "Kumbh", "Meen"
55+
];
56+
57+
/** Array of Karana names (half of a lunar day) in the Hindu calendar.
58+
* Contains 11 entries representing the different karanas that repeat
59+
* in a cycle throughout the lunar month.
60+
* @readonly
61+
*/
62+
export const karan = [
63+
"Bava", "Balava", "Kaulava", "Taitula", "Garija", "Vanija",
64+
"Visti", "Sakuni", "Chatuspada", "Naga", "Kimstughna"
65+
];
66+
67+
/** Array of Yoga names in the Hindu calendar.
68+
* Contains 27 entries representing the angular relationship
69+
* between the sun and moon, calculated by their joint motion.
70+
* @readonly
71+
*/
72+
export const yoga = [
73+
"Vishkambha", "Prithi", "Ayushman", "Saubhagya", "Shobhana",
74+
"Atiganda", "Sukarman", "Dhrithi", "Shoola", "Ganda", "Vridhi",
75+
"Dhruva", "Vyaghata", "Harshana", "Vajra", "Siddhi", "Vyatipata",
76+
"Variyan", "Parigha", "Shiva", "Siddha", "Sadhya", "Shubha", "Shukla",
77+
"Bramha", "Indra", "Vaidhruthi"
78+
];
79+
80+
/** Array of Solar Month names in the Hindu calendar (Nepal variant).
81+
* Contains 12 entries representing the solar months
82+
* as used in the traditional Nepali calendar.
83+
* @readonly
84+
*/
85+
export const solarMonthNames = [
86+
"Baisakh", "Jestha", "Ashadh", "Shrawan", "Bhadra", "Ashwin",
87+
"Kartik", "Mangsir", "Poush", "Magh", "Falgun", "Chaitra"
88+
];

bikram-calendar/src/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,4 @@ export {
2525
getTithiNamesEn,
2626
getPakshaNames,
2727
type TithiResult
28-
} from './tithi';
28+
} from './panchanga';

0 commit comments

Comments
 (0)