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
84 lines • 3.44 kB
TypeScript
import type { Bilingual, Deity } from '../types.js';
import type { MantraSlug } from '../mantras/index.js';
/** Graha that names the weekday. */
export type GrahaKey = 'surya' | 'chandra' | 'mangal' | 'budh' | 'guru' | 'shukra' | 'shani';
/** Stable slug for the weekday (also a natural detail-route key). */
export type DayKey = 'sunday' | 'monday' | 'tuesday' | 'wednesday' | 'thursday' | 'friday' | 'saturday';
export interface VaarDeity {
/**
* Roster slug — cross-references per-deity content (aarti/chalisa/etc.).
* `null` for a figure referenced by name only (Shani Dev, Murugan /
* Kartikeya, Brihaspati): no library entry, no cross-link.
*/
rosterId: Deity | null;
name: Bilingual;
/**
* A neutral "where / which tradition" qualifier — "North India", "South
* India / Tamil Nadu", "Maharashtra", "Shakta tradition", … — *not* a
* ranking. Omit when the association is pan-regional.
*/
context?: Bilingual;
/** A short contextual line shown beneath the name. */
note: Bilingual;
}
export interface VaarMantra {
/**
* `mantras/` preset slug, when one matches verbatim. `null` → the consumer
* should fall back to the `devanagari` text (no matching preset).
*/
jaapSlug: MantraSlug | null;
devanagari: string;
iast: string;
meaning: Bilingual;
/**
* Always `true` in v1 — these have not yet had a qualified-reviewer pass.
* Do not flip without a scholar sign-off.
*/
reviewPending: true;
/**
* One-line label explaining what category of mantra this is — the seven
* weekday mantras don't share a single form (some are deity-praṇāma, some
* graha-bīja + deity dative, some deity-bīja + deity dative). Each line is
* the canonical, most-recited form for that day in its tradition rather than
* being forced into one shape; this note discloses the choice so a reader
* can compare across days.
*/
variantNote: Bilingual;
}
export interface VaarVariantNote {
/** Short label — "Solah Somvar", "Shakta tradition", "Peepal worship", … */
label: Bilingual;
text: Bilingual;
}
export interface VaarOffering {
label: Bilingual;
}
export interface VaarDevata {
/** `Date.getDay()` — 0 = Sunday … 6 = Saturday. Also the `VAAR_DEVATA` index. */
day: 0 | 1 | 2 | 3 | 4 | 5 | 6;
dayKey: DayKey;
/** Localised weekday name ("Sunday" / "रविवार"). */
dayName: Bilingual;
/** Three-letter chip label for a day-picker. */
dayShort: Bilingual;
/** The graha the day is named for. */
grahaKey: GrahaKey;
/** Display name of the ruling graha ("Surya (Sun)" / "सूर्य"). */
grahaName: Bilingual;
/** The day's deities — all of equal standing; list order is not a ranking. */
deities: VaarDeity[];
/** The ruling colour — content data (render only as a labelled swatch). */
color: {
hex: string;
name: Bilingual;
};
/** Top offerings (three for v1). */
offerings: VaarOffering[];
/** The weekday mantra (by tradition), under a "mantra for the day" label. */
mantra: VaarMantra;
/** One-paragraph fasting / vrat-rule summary. No per-day Vrat Katha in v1. */
fasting: Bilingual;
/** Labelled regional / sectarian / practice footnotes. */
variantNotes: VaarVariantNote[];
}
//# sourceMappingURL=types.d.ts.map