UNPKG

astrology-insights

Version:

Comprehensive Vedic astrology engine for Node.js — Panchang, birth charts (Kundli), Vimshottari Dasha, divisional charts, dosha analysis, and planetary remedies. Swiss Ephemeris precision, validated against Drik Panchang.

124 lines (123 loc) 2.67 kB
/** * Shared types for Panchang v2 calculations. * NOTE: The existing types/panchang.ts is preserved as-is — do NOT import from here * in files that already import from '../types/panchang'. */ export interface PanchangEntry { name: string; number: number; startTime: string; endTime: string; progress: number; } export interface NakshatraEntry extends PanchangEntry { pada: number; lord: string; deity?: string; } export interface RashiInfo { name: string; lord: string; degree: number; number: number; } export interface VaraInfo { name: string; number: number; } export interface TimingEntry { name: string; startTime: string; endTime: string; description?: string; } export interface PanchangResult { date: string; location: { lat: number; lon: number; timezone: string; name?: string; }; sunrise: string; sunset: string; moonrise: string; moonset: string; tithi: PanchangEntry[]; nakshatra: NakshatraEntry[]; yoga: PanchangEntry[]; karana: PanchangEntry[]; vara: VaraInfo; moonSign: RashiInfo; sunSign: RashiInfo; moonPhase: { name: string; illumination: number; }; paksha: 'Shukla' | 'Krishna'; auspiciousMuhurats: TimingEntry[]; inauspiciousKalams: TimingEntry[]; sunNakshatra: NakshatraEntry; ayana: 'Uttarayana' | 'Dakshinayana'; ritu: { vedic: string; english: string; }; solarMonth: string; dinamana: string; ratrimana: string; madhyahna: string; samvatsar: string; vikramSamvat?: number; shakaSamvat?: number; } export interface CelestialPosition { longitude: number; latitude: number; } export interface Location { latitude: number; longitude: number; timezone: string; name?: string; } export interface DailySummary { date: string; weekday: string; sunrise: string; sunset: string; tithi: { name: string; paksha: 'Shukla' | 'Krishna'; progress: number; }; nakshatra: { name: string; pada: number; lord: string; }; yoga: { name: string; }; karana: { name: string; }; moonSign: string; sunSign: string; moonPhase: string; moonIllumination: number; specialDays: string[]; isPurnima: boolean; isAmavasya: boolean; isEkadashi: boolean; } export interface MonthlyPanchangResult { year: number; month: number; location: { lat: number; lon: number; timezone: string; }; days: DailySummary[]; }