import moment, { Moment } from "moment-timezone";
import { unitOfTime } from "moment-timezone";

const DEFAULT_TZ = process.env.DEFAULT_TIMEZONE || "America/Mexico_City";

/**
 * Añade una cantidad de tiempo a una fecha en la zona horaria especificada o CDMX por defecto.
 */
export function add(
  date: Moment | Date | string,
  amount: number,
  unit: unitOfTime.DurationConstructor,
  timezone?: string
): Moment {
  return moment(date)
    .tz(timezone || DEFAULT_TZ)
    .add(amount, unit);
}
