UNPKG

hindu-devotional-texts

Version:

Hand-curated, typed, authoritative Hindu devotional content — aartis, chalisas, kathas, stotras, mantras, ashtottaras & sahasranamas, Vedic suktas, daily prayers, puja vidhi, Navratri, tirthas, the festival/ekadashi calendar, and full scriptures (Bhagavad

73 lines • 3.49 kB
import type { Bilingual, Deity } from '../types.js'; import type { KathaSlug } from '../kathas/index.js'; import type { PujaSlug } from '../puja/index.js'; import type { MantraSlug } from '../mantras/index.js'; import type { SuktaSlug } from '../suktas/index.js'; import type { StotraSlug } from '../stotras/index.js'; /** The kind of observance an entry is (the discriminator). */ export type FestivalCategory = 'ekadashi' | 'tithi-vrat' | 'festival'; /** The two lunar fortnights. A *name*, not a date. */ export type Paksha = 'shukla' | 'krishna'; /** * A unified entry across every category — a single shape with a `category` * discriminator and category-specific OPTIONAL fields (chosen over a * discriminated union so `getAllFestivals()` returns one array type and the * data files stay uniform, mirroring `TirthaEntry`). Which optionals are * populated is governed by `category`: * - `ekadashi` → `paksha`, `month`, `isAdhikaMaasa?` * - `tithi-vrat` → `paksha?`, `tithi`, `recurrence` * - `festival` → `month?`, `tithi?` */ export interface FestivalEntry { /** Stable kebab-case slug, unique across the module ('kamada-ekadashi'). */ id: string; category: FestivalCategory; /** Display name of the observance. */ name: Bilingual; /** Devanagari proper name, where it differs usefully from `name.hi`. */ nameSanskrit?: string; /** * Roster cross-link to per-deity content (aarti/chalisa/…). `null` when the * observance is not tied to a single roster deity. Every Ekādaśī → `vishnu`. */ deity: Deity | null; /** One- or two-sentence significance / phala (what observing it grants). */ significance: Bilingual; /** * The vrat-kathā / origin narrative, as a researched sense-summary (never a * copied translation). Absent on the few phala-stuti observances the source * text gives no story for (Aparā, Kāmikā, Pāpāṅkuśā Ekādaśī). */ story?: Bilingual; /** * The **scriptural origin** of the observance/story — the Purāṇa + narrator * frame (e.g. "Padma Purāṇa, narrated by Kṛṣṇa to Yudhiṣṭhira"). This is * content (like a sūkta's `vedicSource`), NOT a digitization source. Omitted * where no single text is confidently attributable. */ storySource?: Bilingual; /** Ships provisional until a human pass signs off the story details. */ reviewPending?: boolean; /** The fortnight the observance falls in (ekadashi; some tithi-vrats). */ paksha?: Paksha; /** The lunar month, as a display name (ekadashi; some festivals). */ month?: Bilingual; /** The tithi the observance falls on (tithi-vrat; some festivals). */ tithi?: Bilingual; /** How often it recurs, described in words — never computed (tithi-vrat). */ recurrence?: Bilingual; /** * `true` for the two Ekādaśīs that occur ONLY in the intercalary Adhika * (Puruṣottama) māsa — Padminī (śukla) and Paramā (kṛṣṇa). They are over and * above the 24 regular Ekādaśīs and appear only once every ~3 years. */ isAdhikaMaasa?: boolean; kathaSlug?: KathaSlug; pujaSlug?: PujaSlug; mantraSlugs?: readonly MantraSlug[]; suktaSlugs?: readonly SuktaSlug[]; stotraSlugs?: readonly StotraSlug[]; /** A scripture slug ('bhagavad-geeta') — e.g. Mokṣadā ↔ Gītā Jayantī. */ scriptureSlug?: string; } //# sourceMappingURL=types.d.ts.map