(date: Date, months: number)
| 373 | } |
| 374 | |
| 375 | function subtractMonths(date: Date, months: number) { |
| 376 | const result = new Date(date) |
| 377 | const day = result.getUTCDate() |
| 378 | result.setUTCDate(1) |
| 379 | result.setUTCMonth(result.getUTCMonth() - months) |
| 380 | result.setUTCDate( |
| 381 | Math.min(day, new Date(Date.UTC(result.getUTCFullYear(), result.getUTCMonth() + 1, 0)).getUTCDate()), |
| 382 | ) |
| 383 | return result |
| 384 | } |
| 385 | |
| 386 | function sleep(ms: number) { |
| 387 | return new Promise((resolve) => setTimeout(resolve, ms)) |