import AgeGroup from '../DTOs/AgeGroupDTO'; import AgeGroupJSON from '../DTOs/AgeGroupJSON'; import AgeBracket from '../Enum/AgeBracket'; import Sex from '../Enum/Sex'; // const parseSex = (sexo: string): Sex => { // let sex: Sex = sexo; // switch (sexo) { // case 'Masculino': { // sex = Sex.Masculino; // break; // } // case 'Femenino': { // sex = Sex.Femenino; // break; // } // default: { // throw new Error('Parsing error, attribute sexo does not respect format'); // } // } // return sex; // }; // // const parseAge = (edad: string): AgeBracket => { // let age: AgeBracket; // switch (edad) { // case '0 meses': { // age = AgeBracket.m0; // break; // } // case '1 mes': { // age = AgeBracket.m1; // break; // } // case '2 meses': { // age = AgeBracket.m2; // break; // } // case '3 meses': { // age = AgeBracket.m3; // break; // } // case '4 meses': { // age = AgeBracket.m4; // break; // } // case '5 meses': { // age = AgeBracket.m5; // break; // } // case '6 meses': { // age = AgeBracket.m6; // break; // } // case '7 meses': { // age = AgeBracket.m7; // break; // } // case '8 meses': { // age = AgeBracket.m8; // break; // } // case '9 meses': { // age = AgeBracket.m9; // break; // } // case '10 meses': { // age = AgeBracket.m10; // break; // } // case '11 meses': { // age = AgeBracket.m11; // break; // } // case '1 año': { // age = AgeBracket.a1; // break; // } // case '2 años': { // age = AgeBracket.a2; // break; // } // case '3 años': { // age = AgeBracket.a3; // break; // } // case '4 años': { // age = AgeBracket.a4; // break; // } // case '5 años': { // age = AgeBracket.a5; // break; // } // case '6 años': { // age = AgeBracket.a6; // break; // } // case '7 años': { // age = AgeBracket.a7; // break; // } // case '8 años': { // age = AgeBracket.a8; // break; // } // case '9 años': { // age = AgeBracket.a9; // break; // } // case '10 años': { // age = AgeBracket.a10; // break; // } // case '11 años': { // age = AgeBracket.a11; // break; // } // case '12 años': { // age = AgeBracket.a12; // break; // } // case '13 años': { // age = AgeBracket.a13; // break; // } // case '14 años': { // age = AgeBracket.a14; // break; // } // case '15 años': { // age = AgeBracket.a15; // break; // } // case '16 años': { // age = AgeBracket.a16; // break; // } // case '17 años': { // age = AgeBracket.a17; // break; // } // case '18-29 años': { // age = AgeBracket.a18_29; // break; // } // case '30-59 años': { // age = AgeBracket.a30_59; // break; // } // case '60+ años': { // age = AgeBracket.a60; // break; // } // default: { // throw new Error('Parsing error, attribute edad does not respect format'); // } // } // return age; // }; const parseGroups = (groups: AgeGroupJSON[]): AgeGroup[] => { const retGroups: AgeGroup[] = []; groups.forEach((ageGroup: AgeGroupJSON) => { // if (typeof (obj.pesoMediano) !== 'number' || typeof (obj.cantidad) !== 'number') { // console.log('Estas haciendo cualquiera flaco'); // throw new Error('Parsing error, attributes do not respect format'); // } const group: AgeGroup = { age: ageGroup.age as AgeBracket, sex: ageGroup.sex as Sex, medianWeight: parseFloat(ageGroup.medianWeight), population: parseFloat(ageGroup.population), }; retGroups.push(group); }); return retGroups; }; const unparseGroup = (group: AgeGroup): AgeGroupJSON => { const retGroup: AgeGroupJSON = { age: group.age as string, sex: group.sex as string, medianWeight: String(group.medianWeight), population: String(group.population), }; return retGroup; }; export default { parseGroups, unparseGroup };