Skip to content

Breviarium-app/breviarium--sanctus--core

Repository files navigation

Open source saints martyrology!

Generates saints info of the Roman Catholic Church.
Supports Node v18+, Modern Browsers (desktop and mobile).

License latest latest latest minzipped

Quickstart setup

Install module:

npm i sanctus

Sample uses

import {SaintInfo, Sanctus} from "sanctus";

const sanctus = new Sanctus();

// Get a single saint for February 17, 2025
const saint: SaintInfo | undefined = sanctus.getSaint(new Date(2025, 1, 17));
console.log(saint?.name); // "San Teodoro de Bizancio"
// Get a saint using month (0-11) and day 
const saintByDate: SaintInfo | undefined = sanctus.getSaintFromMonthDay(2, 17);
console.log(saintByDate?.name); // "San Teodoro de Bizancio"
// Get all saints of the current day
const sanctus = new Sanctus();
const saintsOfDay: SaintInfo[] = sanctus.getSaintsOfDay();
console.log(saintsOfDay);
// Set a new date
sanctus.setDate(new Date(2025, 5, 1));
const saintsFromNewDate: SaintInfo[] = sanctus.getSaintsOfDay();
console.log(saintsFromNewDate);

Test

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

To run the app:

# linux and mac users:
make test
# for 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

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

Method Description Parameters Return Type Example Call
getSaint single saint info for the given date. date?: Date SaintInfo | undefined sanctus.getSaint(new Date(2025, 1, 17));
getSaintFromMonthDay single saint for month and day. month: number, day: number SaintInfo | undefined sanctus.getSaintFromMonthDay(2, 17);
getSaintsOfDay all saints for the given date. date?: Date SaintInfo[] sanctus.getSaintsOfDay();
getAllSaints all saints in the database. None SaintInfo[] sanctus.getAllSaints();
getCurrentDate currently set date in the instance. None Date sanctus.getCurrentDate();
setDate Sets a new date date: Date void sanctus.setDate(new Date(2025, 5, 1));

SaintInfo Type Definition

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

SaintInfo Properties

Property Type Required Description
month number ✅ Yes Month of the saint's feast day (1-12).
day number ✅ Yes Day of the saint's feast day (1-31).
category number ✅ Yes Category or rank of the saint: principal or not.
name string ✅ Yes Name of the saint.
birth string ❌ No Birth year or approximate time.
dead string ❌ No Death year or approximate time.
meaning string ❌ No Meaning or significance of the saint's name.
shortDescription string ❌ No Brief summary of the saint.
description string ❌ No Detailed description of the saint's life.

About

Librería con el calendario de Santos de la Iglesia Católica

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Contributors 2

  •  
  •