Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | 28x 16x 8x 8x 8x 8x 16x 8x 8x 8x 8x 5x | type ReserveMonthlyDateRange = {
startDate?: Date | null;
endDate?: Date | null;
};
const isValidDate = (date?: Date | null): date is Date =>
date instanceof Date && !Number.isNaN(date.getTime());
export function formatReserveMonthlyRangeToken({
startDate,
endDate,
}: ReserveMonthlyDateRange) {
const start = isValidDate(startDate) ? startDate : new Date();
const rawEnd = isValidDate(endDate) ? endDate : start;
const end =
rawEnd > start && rawEnd.getDate() === 1
? new Date(rawEnd.getFullYear(), rawEnd.getMonth(), 0)
: rawEnd;
const formatMonthYear = (date: Date) =>
date
.toLocaleString("en-US", { month: "short", year: "numeric" })
.replace(" ", "")
.toUpperCase();
const startLabel = formatMonthYear(start);
const endLabel = formatMonthYear(end);
return startLabel === endLabel ? startLabel : `${startLabel}_TO_${endLabel}`;
}
export function buildReserveMonthlyFileName(dateRange: ReserveMonthlyDateRange) {
return `GIVE_${formatReserveMonthlyRangeToken(
dateRange,
)}_MERCHANT_RESERVE`;
}
export function buildReserveMonthlyFileNamePrefix(
dateRange: ReserveMonthlyDateRange,
) {
return `${buildReserveMonthlyFileName(dateRange)}_`;
}
|