BreviariumBreviarium
LibreríasBreviarium Core

Lecturas de la Misa

getLectures y getEvangelium — las lecturas del día en todos sus ciclos y el Evangelio ya seleccionado.

getLectures

getLectures(date?: Date): Promise<LecturesSchemaOutput[] | undefined>

Devuelve todos los conjuntos de lecturas disponibles para el día, uno por ciclo. Así tu app puede ofrecer el ciclo que corresponda o dejar elegir al usuario.

ParámetroTipoDescripción
dateDate (opcional)Día a consultar. Por defecto, la fecha de la instancia.

Según el día, el array contiene:

DíaConjuntosEjemplo
Feria del Tiempo OrdinarioODD (año I) y EVEN (año II)Lunes de la 11ª semana
Domingo o solemnidadYEAR_A, YEAR_B y YEAR_CSantísima Trinidad
Memoria con lecturas propiasMEMORYSan Bernabé
Días con lecturas fijasANYNavidad, Cuaresma, octava de Pascua

Si el día no tiene lecturas, devuelve un array vacío.

Ejemplo

const lecturas = await breviarium.getLectures(new Date(2025, 5, 16));
[
  {
    "id": "ordinary_time_11_monday",
    "cycle": "ODD",
    "lecturas": [
      {
        "ref": "San Ireneo de Lyon, obispo y mártir (s. II): Contra las herejías. Ir más allá del legalismo IV, 13,3",
        "texto": "En la Ley hay preceptos naturales que nos dan ya la santidad…",
        "type": "COMMENT"
      },
      {
        "ref": "2 Co 6, 1-10: _Damos prueba de que somos ministros de Dios._",
        "texto": "Hermanos: Como cooperadores suyos que somos, os exhortamos a no echar en saco roto la gracia de Dios…",
        "type": "FIRSTLECTURE"
      },
      {
        "ref": "Mt 5, 38-42: _Yo os digo: No hagáis frente al que os agravia._",
        "texto": "En aquel tiempo, dijo Jesús a sus discípulos: \n\n«Habéis oído que se dijo: \"Ojo por ojo, diente por diente\"…",
        "type": "GOSPEL"
      },
      {
        "ref": "Sal 97, 1-4: _El Señor da a conocer su victoria._",
        "texto": "…",
        "type": "PSALM"
      }
    ]
  },
  {
    "id": "ordinary_time_11_monday",
    "cycle": "EVEN",
    "lecturas": [
      { "ref": "San Ireneo de Lyon, obispo y mártir (s. II): …", "texto": "…", "type": "COMMENT" },
      { "ref": "1 R 21, 1-16: _Nabot ha sido lapidado y está muerto._", "texto": "…", "type": "FIRSTLECTURE" },
      { "ref": "Mt 5, 38-42: _Yo os digo que no hagáis frente al que os agravia._", "texto": "…", "type": "GOSPEL" },
      { "ref": "Sal 5, 2-3.5-7 : _Atiende a mis gemidos, Señor._", "texto": "…", "type": "PSALM" }
    ]
  }
]

Campos

LecturesSchemaOutput

CampoTipoDescripción
idstringIdentificador de la celebración.
cyclestringCiclo del conjunto: ANY, YEAR_A, YEAR_B, YEAR_C, ODD, EVEN o MEMORY.
lecturasarrayLecturas del conjunto.

Cada lectura

CampoTipoDescripción
refstringCita bíblica y título breve, separados por : (ver formato). En los comentarios, autor y obra.
textostringTexto completo.
typestringQué lectura es. Ver tipos de lectura.

Tipos de lectura

typeLectura
FIRSTLECTUREPrimera lectura
PSALMSalmo responsorial
SECONDLECTURESegunda lectura (domingos y solemnidades)
ACCLAMATIONAclamación antes del Evangelio
GOSPELEvangelio
COMMENTComentario patrístico o espiritual al Evangelio
CELEBRATION_FIRSTLECTURE, CELEBRATION_PSALM, CELEBRATION_SECONDLECTURE, CELEBRATION_ACCLAMATION, CELEBRATION_GOSPEL, CELEBRATION_COMMENTLecturas propias de la celebración (memoria, fiesta o Misa del día), junto a las de la feria
SHORT_GOSPEL, SHORT_FIRSTLECTURE, SHORT_SECONDLECTURE, …Forma breve de una lectura
ALTERNATIVE_FIRSTLECTURE, ALTERNATIVE_GOSPEL, …Lectura alternativa
SECONDPSALM … SEVENTHPSALM, THIRDLECTURE … EIGHTHLECTURELecturas adicionales de la Vigilia Pascual

Orden de las lecturas

Las lecturas no vienen en el orden en que se proclaman, sino ordenadas alfabéticamente por type (ACCLAMATION, COMMENT, FIRSTLECTURE, GOSPEL, PSALM…). Ordénalas antes de mostrarlas.

const ORDEN = ['FIRSTLECTURE', 'PSALM', 'SECONDLECTURE', 'ACCLAMATION', 'GOSPEL', 'COMMENT'];

function posicion(type: string): number {
  const base = type.replace(/^(CELEBRATION_|ALTERNATIVE_|SHORT_)+/, '');
  const i = ORDEN.indexOf(base);
  return i === -1 ? ORDEN.length : i;
}

const ordenadas = [...conjunto.lecturas].sort((a, b) => posicion(a.type) - posicion(b.type));

Elegir el conjunto del día

const [info, conjuntos = []] = await Promise.all([
  breviarium.getLiturgyInformation(),
  breviarium.getLectures(),
]);

const endYear = Number(info.calendar?.endOfLiturgycalSeason.split('-')[0]);

const conjunto =
  conjuntos.find((c) => c.cycle === `YEAR_${info.cycle}`) ??
  conjuntos.find((c) => c.cycle === 'MEMORY') ??
  conjuntos.find((c) => c.cycle === 'ANY') ??
  conjuntos.find((c) => c.cycle === (endYear % 2 === 0 ? 'EVEN' : 'ODD')) ??
  conjuntos[0];

Es la misma regla que aplica getEvangelium.

getEvangelium

getEvangelium(date?: Date): Promise<EvangeliumSchemaOutput | undefined>

Atajo para obtener solo el Evangelio del día, con el ciclo ya resuelto. Para elegir el conjunto de lecturas sigue este orden:

  1. El del ciclo dominical del año (YEAR_A, YEAR_B o YEAR_C).
  2. MEMORY, si es una memoria con lecturas propias.
  3. ANY.
  4. EVEN u ODD, según el año en que termina el año litúrgico (par = año II, impar = año I).
  5. Si nada coincide, el primer conjunto disponible.

De ese conjunto devuelve solo las lecturas de tipo GOSPEL y CELEBRATION_GOSPEL.

ParámetroTipoDescripción
dateDate (opcional)Día a consultar. Por defecto, la fecha de la instancia.

Ejemplo

const evangelio = await breviarium.getEvangelium(new Date(2025, 5, 16));
{
  "id": "ordinary_time_11_monday",
  "cycle": "ODD",
  "evangelium_lectiones": [
    {
      "ref": "Mt 5, 38-42: _Yo os digo: No hagáis frente al que os agravia._",
      "texto": "En aquel tiempo, dijo Jesús a sus discípulos: \n\n«Habéis oído que se dijo: \"Ojo por ojo, diente por diente\"…",
      "type": "GOSPEL"
    }
  ]
}

En Navidad (ANY) devuelve dos evangelios: CELEBRATION_GOSPEL (Jn 1, 1-18) y GOSPEL (Lc 2, 1-14).

Campos

CampoTipoDescripción
idstringIdentificador de la celebración.
cyclestringCiclo del conjunto elegido.
evangelium_lectionesarrayEvangelios del día, con los mismos campos que cada lectura.

Entradas vacías

En algunas memorias, junto al CELEBRATION_GOSPEL aparece una entrada GOSPEL con ref y texto vacíos. Fíltralas antes de mostrarlas:

const evangelios = evangelio?.evangelium_lectiones.filter((e) => e.texto) ?? [];

On this page