analytica-frontend-lib
Version:
Repositório público dos componentes utilizados nas plataformas da Analytica Ensino
1 lines • 3.59 kB
Source Map (JSON)
{"version":3,"sources":["../src/utils/subjectMappers.ts"],"sourcesContent":["import { SubjectEnum } from '../enums/SubjectEnum';\n\n/**\n * Mapping from Portuguese subject names to SubjectEnum values\n * Used to convert backend subject names to frontend enum values\n */\nconst SUBJECT_NAME_MAPPING: Record<string, SubjectEnum> = {\n matemática: SubjectEnum.MATEMATICA,\n português: SubjectEnum.PORTUGUES,\n ciências: SubjectEnum.BIOLOGIA,\n história: SubjectEnum.HISTORIA,\n geografia: SubjectEnum.GEOGRAFIA,\n inglês: SubjectEnum.INGLES,\n 'educação física': SubjectEnum.EDUCACAO_FISICA,\n artes: SubjectEnum.ARTES,\n tecnologia: SubjectEnum.TRILHAS,\n física: SubjectEnum.FISICA,\n literatura: SubjectEnum.LITERATURA,\n biologia: SubjectEnum.BIOLOGIA,\n química: SubjectEnum.QUIMICA,\n filosofia: SubjectEnum.FILOSOFIA,\n espanhol: SubjectEnum.ESPANHOL,\n redação: SubjectEnum.REDACAO,\n sociologia: SubjectEnum.SOCIOLOGIA,\n trilhas: SubjectEnum.TRILHAS,\n};\n\n/**\n * Maps backend subject names to SubjectEnum values\n * @param subjectName - The subject name from the backend\n * @returns The corresponding SubjectEnum value or null if no mapping exists\n *\n * @example\n * ```typescript\n * const subjectEnum = mapSubjectNameToEnum('Matemática');\n * // Returns: SubjectEnum.MATEMATICA\n *\n * const unknown = mapSubjectNameToEnum('Unknown Subject');\n * // Returns: null\n * ```\n */\nexport const mapSubjectNameToEnum = (\n subjectName: string\n): SubjectEnum | null => {\n const normalized = subjectName.trim().toLowerCase();\n return SUBJECT_NAME_MAPPING[normalized] || null;\n};\n\n/**\n * Maps SubjectEnum values back to display names\n * @param subjectEnum - The SubjectEnum value\n * @returns The display name for the subject\n *\n * @example\n * ```typescript\n * const name = mapSubjectEnumToName(SubjectEnum.MATEMATICA);\n * // Returns: 'Matemática'\n * ```\n */\nexport const mapSubjectEnumToName = (subjectEnum: SubjectEnum): string => {\n const reverseMapping: Record<SubjectEnum, string> = {\n [SubjectEnum.MATEMATICA]: 'Matemática',\n [SubjectEnum.PORTUGUES]: 'Português',\n [SubjectEnum.BIOLOGIA]: 'Biologia',\n [SubjectEnum.HISTORIA]: 'História',\n [SubjectEnum.GEOGRAFIA]: 'Geografia',\n [SubjectEnum.INGLES]: 'Inglês',\n [SubjectEnum.EDUCACAO_FISICA]: 'Educação Física',\n [SubjectEnum.ARTES]: 'Artes',\n [SubjectEnum.FISICA]: 'Física',\n [SubjectEnum.LITERATURA]: 'Literatura',\n [SubjectEnum.QUIMICA]: 'Química',\n [SubjectEnum.FILOSOFIA]: 'Filosofia',\n [SubjectEnum.ESPANHOL]: 'Espanhol',\n [SubjectEnum.REDACAO]: 'Redação',\n [SubjectEnum.SOCIOLOGIA]: 'Sociologia',\n [SubjectEnum.TRILHAS]: 'Trilhas',\n };\n\n return reverseMapping[subjectEnum] || subjectEnum;\n};\n"],"mappings":";AAMA,IAAM,uBAAoD;AAAA,EACxD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAgBO,IAAM,uBAAuB,CAClC,gBACuB;AACvB,QAAM,aAAa,YAAY,KAAK,EAAE,YAAY;AAClD,SAAO,qBAAqB,UAAU,KAAK;AAC7C;AAaO,IAAM,uBAAuB,CAAC,gBAAqC;AACxE,QAAM,iBAA8C;AAAA,IAClD,iCAAuB,GAAG;AAAA,IAC1B,+BAAsB,GAAG;AAAA,IACzB,0BAAqB,GAAG;AAAA,IACxB,6BAAqB,GAAG;AAAA,IACxB,4BAAsB,GAAG;AAAA,IACzB,yBAAmB,GAAG;AAAA,IACtB,sCAA4B,GAAG;AAAA,IAC/B,oBAAkB,GAAG;AAAA,IACrB,yBAAmB,GAAG;AAAA,IACtB,8BAAuB,GAAG;AAAA,IAC1B,2BAAoB,GAAG;AAAA,IACvB,4BAAsB,GAAG;AAAA,IACzB,0BAAqB,GAAG;AAAA,IACxB,8BAAoB,GAAG;AAAA,IACvB,8BAAuB,GAAG;AAAA,IAC1B,wBAAoB,GAAG;AAAA,EACzB;AAEA,SAAO,eAAe,WAAW,KAAK;AACxC;","names":[]}