open-index/open-npm huggingface dataset:
npm package: @leaderty/contracts
Description: Utilidades para cálculos y manejo de contratos.
Latest version: 0.0.2

# @leaderty/contracts

Utilidades para cálculos y manejo de contratos.

## Setup

```bash
npm install @leaderty/contracts
```

## Funciones

### `calculateEndDate(startDate, installments)`

Calcula la fecha de finalización de un contrato dado una fecha de inicio y cantidad de cuotas.

Suma el número especificado de meses a la fecha de inicio, preservando el día del mes cuando es posible. Si el mes destino tiene menos días que el día de inicio (ej: 31 de enero + 1 mes), usa el último día disponible.

**Parámetros:**
- `startDate` - Fecha en formato YYYY-MM-DD
- `installments` - Número de meses a agregar

**Retorna:** `string` - Fecha en formato YYYY-MM-DD, o '-' si la fecha de inicio es inválida

**Ejemplos:**
```typescript
calculateEndDate("2026-04-10", 1)   // "2026-05-10"
calculateEndDate("2026-04-01", 24)  // "2028-04-01"
calculateEndDate("2026-12-31", 23)  // "2028-11-30"
```
npm package: @leaderty/index-variations
Description: Paquete para obtener variaciones de índices económicos de Argentina (IPC) mediante un cron job diario.
Latest version: 1.0.3

# @leaderty/index-variations

Paquete para obtener variaciones de índices económicos de Argentina (IPC) mediante un cron job diario.

## Setup

```bash
npm install @leaderty/index-variations
```

## Funciones

### `startIndexCronJob(cb, hour, fetchOnStartup?)`

Inicia un cron job que obtiene los índices diariamente a la hora especificada (zona horaria Argentina).

**Parámetros:**
- `cb` - Función callback que se ejecuta al obtener cada índice
- `hour` - Hora del día para ejecutar el cron (0-23)
- `fetchOnStartup` - Opcional, ejecuta el fetch inmediatamente al iniciar (default: `true`)

**Retorna:** `Promise<CronJob>`

### `getIPCVariation()`

Obtiene la variación del IPC desde la API externa.

**Retorna:** `Promise<{ value: number; date: Date }>`

**Throws:** Error si la API retorna datos inválidos o con formato incorrecto

## Types

```typescript
interface IIndex {
  index: string;    // Nombre del índice (ej: 'IPC')
  date: Date;       // Fecha de publicación
  value: number;    // Valor del índice
}

type Callback = (index: IIndex) => Promise<void>
```