UNPKG

armisa-models

Version:
35 lines (28 loc) 921 B
export interface IFinancialPeriod { id: number; name: string; isActive: boolean; } export class FinancialPeriod { constructor( public id: number, public name: string, public isActive: boolean, ) { } static deserialize = (json: IFinancialPeriod[]): FinancialPeriod[] => { if (json && json.length) { let isAnyActive = false; return json.map((financialPeriod, index) => { const newData = new FinancialPeriod(financialPeriod.id, financialPeriod.name, financialPeriod.isActive); if (newData.isActive) { isAnyActive = true; } if (!isAnyActive && index === json.length - 1) { newData.isActive = true; } return newData; }); } return []; } }