Skip to content

Sanctus

latestlatestlatestMinzipped Size

Sanctus is an open-source saints martyrology that generates saints' information for the Roman Catholic Church. It supports Node.js v18+ and modern browsers (desktop and mobile).

Ejemplo: aplicación web que utiliza la librería: santoral.breviarium.es

Installation

Install the module using npm:

bash
npm i sanctus

Usage

Here are some examples of how to use Sanctus:

Importing and Initializing

typescript
import { Sanctus } from "sanctus";

const sanctus = new Sanctus();

Getting a Single Saint by Date

typescript
import { SaintInfo, Sanctus } from "sanctus";

const sanctus = new Sanctus();
const saint: SaintInfo | undefined = sanctus.getSaint(new Date(2025, 1, 17));
console.log(saint?.name); // "San Teodoro de Bizancio"

Getting a Saint by Month and Day

typescript
import { SaintInfo, Sanctus } from "sanctus";

const sanctus = new Sanctus();
const saintByDate: SaintInfo | undefined = sanctus.getSaintFromMonthDay(2, 17);
console.log(saintByDate?.name); // "San Teodoro de Bizancio"

Getting All Saints of the Current Day

typescript
import { SaintInfo, Sanctus } from "sanctus";

const sanctus = new Sanctus();
const saintsOfDay: SaintInfo[] = sanctus.getSaintsOfDay();
console.log(saintsOfDay);

Setting a New Date and Getting Saints

typescript
import { SaintInfo, Sanctus } from "sanctus";

const sanctus = new Sanctus();
sanctus.setDate(new Date(2025, 5, 1));
const saintsFromNewDate: SaintInfo[] = sanctus.getSaintsOfDay();
console.log(saintsFromNewDate);

Testing

To run the test suite (using vitest), execute:

bash
# Linux and macOS users:
make test

# Windows users:
npm run test

SanctusInterface Documentation

The SanctusInterface provides methods to retrieve information about saints based on dates or direct month/day lookups.

Interface Definition

typescript
export interface SanctusInterface {
  getSaint: (date?: Date) => SaintInfo | undefined;
  getSaintFromMonthDay: (month: number, day: number) => SaintInfo | undefined;
  getSaintsOfDay: (date?: Date) => SaintInfo[];
  getAllSaints: () => SaintInfo[];
  getCurrentDate: () => Date;
  setDate: (date: Date) => void;
}

Function Documentation

MethodDescriptionParametersReturn TypeExample Call
getSaintGet a single saint's info for a date.date?: DateSaintInfo | undefinedsanctus.getSaint(new Date(2025, 1, 17));
getSaintFromMonthDayGet a single saint by month and day.month: number, day: numberSaintInfo | undefinedsanctus.getSaintFromMonthDay(2, 17);
getSaintsOfDayGet all saints for a given date.date?: DateSaintInfo[]sanctus.getSaintsOfDay();
getAllSaintsGet all saints in the database.NoneSaintInfo[]sanctus.getAllSaints();
getCurrentDateGet the currently set date.NoneDatesanctus.getCurrentDate();
setDateSet a new date.date: Datevoidsanctus.setDate(new Date(2025, 5, 1));

SaintInfo Type Definition

typescript
export type SaintInfo = {
  month: number;
  day: number;
  category: number;
  name: string;
  birth?: string;
  dead?: string;
  meaning?: string;
  shortDescription?: string;
  description?: string;
};

SaintInfo Properties

PropertyTypeRequiredDescription
monthnumber✅ YesMonth of the saint's feast day (1-12).
daynumber✅ YesDay of the saint's feast day (1-31).
categorynumber✅ YesCategory or rank of the saint.
namestring✅ YesName of the saint.
birthstring❌ NoBirth year or approximate time.
deadstring❌ NoDeath year or approximate time.
meaningstring❌ NoMeaning or significance of the saint's name.
shortDescriptionstring❌ NoBrief summary of the saint.
descriptionstring❌ NoDetailed description of the saint's life.