Skip to content
Snippets Groups Projects
Select Git revision
  • b1dc91f36dc8df0511536a71c0032ee2f3310670
  • master default protected
  • develop
  • feature/Mailing
  • feature/faqs
  • feature/CalculationsAudit
  • feature/Fixes
  • feature/Audit
  • feature/Rerouting
  • feature/ParameterSubsystem
  • feature/sheetParserFixes
  • REP_v3.0
  • REP_v2.0
  • REP_v1.0
14 results

ParserService.ts

Blame
  • user avatar
    Agustin authored
    Calculations work but the actual values returned haven't been checked
    b1dc91f3
    History
    ParserService.ts 4.41 KiB
    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: ageGroup.medianWeight,
          population: 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: group.medianWeight,
        population: group.population,
      };
      return retGroup;
    };
    
    export default { parseGroups, unparseGroup };