ca-mfe-page-scoring-ui
Version:
This is a react shell for the SPGI Platform MFE implementation
37 lines (28 loc) • 1.29 kB
text/typescript
import { formatDate } from './common';
const quarterEndDate = {
1: '03-31',
2: '06-30',
3: '09-30',
4: '12-31'
};
const getDefaultNewStmtDate = request => `${Number(request.newYr)}-${quarterEndDate[Number(request.newQtr)]}`;
const getPeriodDate = request => {
if (!request.latestAvlDate) {
return { newStmtDate: getDefaultNewStmtDate(request) };
}
const latestAvlDate = new Date(request.latestAvlDate);
const response: any = {};
if (request.periodTp === 'LTM' && request.latestAvlYr !== 0 && request.latestAvlQtr !== 0) {
const avlYr = (Number(request.newYr) - request.latestAvlYr) - 1;
const qtr = Number(request.newQtr) + (4 - request.latestAvlQtr) + (avlYr * 4);
const requestDate = new Date(latestAvlDate.setMonth(latestAvlDate.getMonth() + qtr * 3));
response.newStmtDate = formatDate(requestDate, 'yyyy-MM-dd');
} else if (request.periodTp === 'FY') {
const newDate = new Date(Number(request.newYr), latestAvlDate.getMonth(), latestAvlDate.getDate());
response.newStmtDate = formatDate(newDate, 'yyyy-MM-dd');
} else {
response.newStmtDate = getDefaultNewStmtDate(request);
}
return response;
};
export default getPeriodDate;