@obe-loms/coms-parser 1.4.7 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bundle.js CHANGED
@@ -1,62 +1,62 @@
1
- import _0x2656f4 from 'papaparse';
2
- import * as _0x1bac2d from 'xlsx';
1
+ import _0x2c16b2 from 'papaparse';
2
+ import * as _0x3fb52f from 'xlsx';
3
3
 
4
- function parseCurriculum(_0x2a5a11){let _0x444c0d='',_0x1d6ee5='',_0x23aca2=0x0,_0x1b5f7b=null;const _0x446529=[];return _0x2656f4['parse'](_0x2a5a11,{'skipEmptyLines':!![],'complete':_0x30e1d3=>{_0x30e1d3['data']['forEach'](_0x4d87eb=>{const _0x301239=_0x4d87eb['map'](_0x3c9c23=>(_0x3c9c23??'')['toString']()['trim']()),_0xd2ab4c=_0x301239[0x0]??'';if(_0xd2ab4c['includes']('Rev#')){const _0x3f2a5d=_0xd2ab4c['match'](/([A-Z0-9]+)\s*-\s*.*:\s*(.*?)\s+Rev#\s*(\d+)/i);_0x3f2a5d&&(_0x444c0d=_0x3f2a5d[0x1]?.['trim']()??'',_0x1d6ee5=_0x3f2a5d[0x2]?.['trim']()??'',_0x23aca2=parseInt(_0x3f2a5d[0x3]??'0',0xa));return;}if(/FIRST YEAR/i['test'](_0xd2ab4c)){_0x1b5f7b=0x1;return;}if(/SECOND YEAR/i['test'](_0xd2ab4c)){_0x1b5f7b=0x2;return;}if(/THIRD YEAR/i['test'](_0xd2ab4c)){_0x1b5f7b=0x3;return;}if(/FOURTH YEAR/i['test'](_0xd2ab4c)){_0x1b5f7b=0x4;return;}if(/FIFTH YEAR/i['test'](_0xd2ab4c)){_0x1b5f7b=0x5;return;}if(/First Semester/i['test'](_0xd2ab4c)||/Second Semester/i['test'](_0xd2ab4c)||/Summer/i['test'](_0xd2ab4c))return;const _0x539eff=[{'sem':0x1,'offset':0x0},{'sem':0x2,'offset':0x6},{'sem':0x3,'offset':0xc}];_0x539eff['forEach'](({sem:_0x1b0749,offset:_0xead98a})=>{const _0x320b17=_0x301239[_0xead98a]??'',_0x37f5de=_0x301239[_0xead98a+0x1]??'',_0x35e327=_0x301239[_0xead98a+0x2]??'',_0x1bfdf2=_0x301239[_0xead98a+0x3]??'',_0x2f7454=_0x301239[_0xead98a+0x4]??'';_0x320b17&&_0x1b5f7b&&_0x446529['push']({'curr_id':_0x444c0d,'program_name':_0x1d6ee5,'revision_no':_0x23aca2,'year_level':_0x1b5f7b,'sem':_0x1b0749,'course_id':_0x320b17,'course_desc':_0x37f5de,'total_units':_0x35e327,'lec_unit':_0x1bfdf2,'lab_unit':_0x2f7454});});});}}),_0x446529;}
4
+ function parseCurriculum(_0x16bc8d){let _0x1b8b01='',_0x259327='',_0x3101bd=0x0,_0xc548b7=null;const _0x26dd22=[];return _0x2c16b2['parse'](_0x16bc8d,{'skipEmptyLines':!![],'complete':_0x401a9c=>{_0x401a9c['data']['forEach'](_0x54401=>{const _0x568284=_0x54401['map'](_0x581b2c=>(_0x581b2c??'')['toString']()['trim']()),_0xba7b95=_0x568284[0x0]??'';if(_0xba7b95['includes']('Rev#')){const _0x5e58d4=_0xba7b95['match'](/([A-Z0-9]+)\s*-\s*.*:\s*(.*?)\s+Rev#\s*(\d+)/i);_0x5e58d4&&(_0x1b8b01=_0x5e58d4[0x1]?.['trim']()??'',_0x259327=_0x5e58d4[0x2]?.['trim']()??'',_0x3101bd=parseInt(_0x5e58d4[0x3]??'0',0xa));return;}if(/FIRST YEAR/i['test'](_0xba7b95)){_0xc548b7=0x1;return;}if(/SECOND YEAR/i['test'](_0xba7b95)){_0xc548b7=0x2;return;}if(/THIRD YEAR/i['test'](_0xba7b95)){_0xc548b7=0x3;return;}if(/FOURTH YEAR/i['test'](_0xba7b95)){_0xc548b7=0x4;return;}if(/FIFTH YEAR/i['test'](_0xba7b95)){_0xc548b7=0x5;return;}if(/First Semester/i['test'](_0xba7b95)||/Second Semester/i['test'](_0xba7b95)||/Summer/i['test'](_0xba7b95))return;const _0x2849ca=[{'sem':0x1,'offset':0x0},{'sem':0x2,'offset':0x6},{'sem':0x3,'offset':0xc}];_0x2849ca['forEach'](({sem:_0x3d0542,offset:_0x86a442})=>{const _0x952ec6=_0x568284[_0x86a442]??'',_0x1a133f=_0x568284[_0x86a442+0x1]??'',_0x4b9031=_0x568284[_0x86a442+0x2]??'',_0x39c37d=_0x568284[_0x86a442+0x3]??'',_0x65eb6=_0x568284[_0x86a442+0x4]??'';_0x952ec6&&_0xc548b7&&_0x26dd22['push']({'curr_id':_0x1b8b01,'program_name':_0x259327,'revision_no':_0x3101bd,'year_level':_0xc548b7,'sem':_0x3d0542,'course_id':_0x952ec6,'course_desc':_0x1a133f,'total_units':_0x4b9031,'lec_unit':_0x39c37d,'lab_unit':_0x65eb6});});});}}),_0x26dd22;}
5
5
 
6
- function convertToCSVFile(_0x5c87f6,_0x5534d6){return new Promise((_0x2aca40,_0x354a2f)=>{const _0x5be6ee=new FileReader();_0x5be6ee['onload']=_0x9ac914=>{const _0x586eb2=_0x9ac914['target']?.['result'];if(!_0x586eb2){_0x354a2f(new Error('Failed\x20to\x20read\x20file'));return;}try{const _0x32dea3=_0x1bac2d['read'](_0x586eb2,{'type':'array'});!_0x5534d6&&(_0x5534d6=_0x32dea3['SheetNames'][0x0]);if(!_0x5534d6){_0x354a2f(new Error('No\x20sheets\x20found\x20in\x20workbook'));return;}const _0x494b9e=_0x32dea3['Sheets'][_0x5534d6];if(!_0x494b9e){_0x354a2f(new Error('No\x20sheets\x20found\x20in\x20worksheet'));return;}const _0xc14e0e=_0x1bac2d['utils']['sheet_to_csv'](_0x494b9e,{'strip':!![]}),_0x1cab3d=_0x5c87f6['name']['replace'](/\.[^/.]+$/,'.csv'),_0x7402f0=new File([_0xc14e0e],_0x1cab3d,{'type':'text/csv','lastModified':Date['now']()});_0x2aca40(_0x7402f0);}catch(_0x2d3a1a){_0x354a2f(_0x2d3a1a);}},_0x5be6ee['onerror']=()=>{_0x354a2f(new Error('File\x20reading\x20failed'));},_0x5be6ee['readAsArrayBuffer'](_0x5c87f6);});}
6
+ function convertToCSVFile(_0x2757d3,_0x4f4eac){return new Promise((_0x8f777e,_0x2067dd)=>{const _0x3d7443=new FileReader();_0x3d7443['onload']=_0xb4d60=>{const _0x50e240=_0xb4d60['target']?.['result'];if(!_0x50e240){_0x2067dd(new Error('Failed\x20to\x20read\x20file'));return;}try{const _0x4c16ea=_0x3fb52f['read'](_0x50e240,{'type':'array'});!_0x4f4eac&&(_0x4f4eac=_0x4c16ea['SheetNames'][0x0]);if(!_0x4f4eac){_0x2067dd(new Error('No\x20sheets\x20found\x20in\x20workbook'));return;}const _0xea02e6=_0x4c16ea['Sheets'][_0x4f4eac];if(!_0xea02e6){_0x2067dd(new Error('No\x20sheets\x20found\x20in\x20worksheet'));return;}const _0x40d04e=_0x3fb52f['utils']['sheet_to_csv'](_0xea02e6,{'strip':!![]}),_0x2d618f=_0x2757d3['name']['replace'](/\.[^/.]+$/,'.csv'),_0x21ea73=new File([_0x40d04e],_0x2d618f,{'type':'text/csv','lastModified':Date['now']()});_0x8f777e(_0x21ea73);}catch(_0x24d803){_0x2067dd(_0x24d803);}},_0x3d7443['onerror']=()=>{_0x2067dd(new Error('File\x20reading\x20failed'));},_0x3d7443['readAsArrayBuffer'](_0x2757d3);});}
7
7
 
8
- async function uploadCurriculum(_0x52d28d,_0xe978df){try{const _0x23f25f=await convertToCSVFile(_0xe978df),_0x45cf77=await _0x23f25f['text'](),_0x16f243=parseCurriculum(_0x45cf77),_0x313fd8=_0x2656f4['unparse'](_0x16f243),_0x1a9d4c=new File([_0x313fd8],_0x23f25f['name'],{'type':'text/csv'}),_0x186fa2=new FormData();_0x186fa2['append']('csvFile',_0x1a9d4c);const _0xcd5483=await fetch(_0x52d28d+'/curr-courses/upload',{'method':'POST','body':_0x186fa2});if(!_0xcd5483['ok']){const _0x530c40=await _0xcd5483['json']();throw _0x530c40;}return _0xcd5483['json']();}catch(_0x4fa7f2){throw _0x4fa7f2;}}
8
+ async function uploadCurriculum(_0xadace7,_0x64f6cf){try{const _0x296a5e=await convertToCSVFile(_0x64f6cf),_0x399f2=await _0x296a5e['text'](),_0xb00988=parseCurriculum(_0x399f2),_0x3df969=_0x2c16b2['unparse'](_0xb00988),_0x48f664=new File([_0x3df969],_0x296a5e['name'],{'type':'text/csv'}),_0x193363=new FormData();_0x193363['append']('csvFile',_0x48f664);const _0x451e7e=await fetch(_0xadace7+'/curr-courses/upload',{'method':'POST','body':_0x193363});if(!_0x451e7e['ok']){const _0x423719=await _0x451e7e['json']();throw _0x423719;}return _0x451e7e['json']();}catch(_0x28a0a7){throw _0x28a0a7;}}
9
9
 
10
- function parseCourseOffering(_0x5ed337){let _0x258148='',_0x1eab67='';const _0x694ebe=[],_0x2e4af6=_0x2656f4['parse'](_0x5ed337,{'header':![],'skipEmptyLines':!![],'delimiter':','}),_0x4c0573=_0x2e4af6['data'];for(let _0x2ef90f=0x0;_0x2ef90f<Math['min'](0x5,_0x4c0573['length']);_0x2ef90f++){const _0x573a0b=_0x4c0573[_0x2ef90f];if(_0x573a0b&&_0x573a0b['length']>0x0){const _0x5b0ee5=_0x573a0b[0x0]?.['toString']()||'',_0x4353bf=_0x5b0ee5['match'](/(First|Second)\s+Sem\s+S\/Y\s+(\d{4}-\d{4})/i);if(_0x4353bf){_0x258148=_0x4353bf[0x1]?.['toLowerCase']()==='first'?'1':'2';if(_0x4353bf[0x2]){const _0x4ea72d=_0x4353bf[0x2]['match'](/(\d{2})(\d{2})-(\d{2})(\d{2})/);_0x4ea72d&&_0x4ea72d[0x2]&&_0x4ea72d[0x4]&&(_0x1eab67=_0x4ea72d[0x2]+_0x4ea72d[0x4]);}}}}let _0x2207b3=-1;for(let _0x2516ab=0x0;_0x2516ab<_0x4c0573['length'];_0x2516ab++){const _0x11baa2=_0x4c0573[_0x2516ab];if(_0x11baa2&&_0x11baa2['some'](_0x25940f=>_0x25940f?.['toString']()['toUpperCase']()['includes']('CODE'))){_0x2207b3=_0x2516ab;break;}}if(_0x2207b3===-1)throw new Error('Could\x20not\x20find\x20header\x20row\x20in\x20CSV\x20data');let _0x2bf083={'code':'','description':'','unit':0x0};for(let _0x551c0e=_0x2207b3+0x1;_0x551c0e<_0x4c0573['length'];_0x551c0e++){const _0x447209=_0x4c0573[_0x551c0e];if(!_0x447209||_0x447209['length']<0x8)continue;const _0x554340=_0x447209[0x1]?.['toString']()['trim']()||'',_0x228ef2=_0x447209[0x4]?.['toString']()['trim']()||'',_0x4dc287=_0x447209[0x5]?.['toString']()['trim']()||'',_0x3e8010=_0x447209[0x6]?.['toString']()['trim']()||'',_0x14e021=_0x447209[0x7]?.['toString']()['trim']()||'',_0x5c60ab=_0x447209[0x3]?.['toString']()['trim']()||'';let _0x491956=_0x447209[0x0]?.['toString']()['trim']()||'',_0x474060=_0x447209[0x2]?.['toString']()['trim']()||'';if(!_0x554340)continue;if(!_0x491956)_0x491956=_0x2bf083['code'];if(!_0x474060)_0x474060=_0x2bf083['description'];let _0x4a3b38=_0x2bf083['unit'];if(_0x5c60ab){const _0x5031c6=_0x5c60ab['match'](/(\d+)/);_0x5031c6&&_0x5031c6[0x1]&&(_0x4a3b38=parseInt(_0x5031c6[0x1],0xa));}const _0x4cc3a7={'sem':_0x258148,'school_year':_0x1eab67,'code':_0x491956,'course_no':_0x554340,'course_desc':_0x474060,'unit':_0x4a3b38,'time':_0x228ef2,'days':_0x4dc287,'faculty':_0x3e8010,'room':_0x14e021};_0x2bf083['code']=_0x491956,_0x2bf083['description']=_0x474060,_0x2bf083['unit']=_0x4a3b38,_0x694ebe['push'](_0x4cc3a7);}return _0x694ebe;}
10
+ function parseCourseOffering(_0x37404f){let _0x2c6c3a='',_0x8085c7='';const _0xa9503=[],_0x43d142=_0x2c16b2['parse'](_0x37404f,{'header':![],'skipEmptyLines':!![],'delimiter':','}),_0x20f466=_0x43d142['data'];for(let _0x1a0c27=0x0;_0x1a0c27<Math['min'](0x5,_0x20f466['length']);_0x1a0c27++){const _0x3d74f6=_0x20f466[_0x1a0c27];if(_0x3d74f6&&_0x3d74f6['length']>0x0){const _0x478240=_0x3d74f6[0x0]?.['toString']()||'',_0x11ad55=_0x478240['match'](/(First|Second)\s+Sem\s+S\/Y\s+(\d{4}-\d{4})/i);if(_0x11ad55){_0x2c6c3a=_0x11ad55[0x1]?.['toLowerCase']()==='first'?'1':'2';if(_0x11ad55[0x2]){const _0x568c98=_0x11ad55[0x2]['match'](/(\d{2})(\d{2})-(\d{2})(\d{2})/);_0x568c98&&_0x568c98[0x2]&&_0x568c98[0x4]&&(_0x8085c7=_0x568c98[0x2]+_0x568c98[0x4]);}}}}let _0x50ed71=-1;for(let _0x10cc65=0x0;_0x10cc65<_0x20f466['length'];_0x10cc65++){const _0x2671b3=_0x20f466[_0x10cc65];if(_0x2671b3&&_0x2671b3['some'](_0xed3457=>_0xed3457?.['toString']()['toUpperCase']()['includes']('CODE'))){_0x50ed71=_0x10cc65;break;}}if(_0x50ed71===-1)throw new Error('Could\x20not\x20find\x20header\x20row\x20in\x20CSV\x20data');let _0x1c2a87={'code':'','description':'','unit':0x0};for(let _0x545367=_0x50ed71+0x1;_0x545367<_0x20f466['length'];_0x545367++){const _0x23c635=_0x20f466[_0x545367];if(!_0x23c635||_0x23c635['length']<0x8)continue;const _0x2adf6f=_0x23c635[0x1]?.['toString']()['trim']()||'',_0x2ddd26=_0x23c635[0x4]?.['toString']()['trim']()||'',_0x5c8e13=_0x23c635[0x5]?.['toString']()['trim']()||'',_0x2f0165=_0x23c635[0x6]?.['toString']()['trim']()||'',_0x467c42=_0x23c635[0x7]?.['toString']()['trim']()||'',_0x57b4de=_0x23c635[0x3]?.['toString']()['trim']()||'';let _0xfbf2c7=_0x23c635[0x0]?.['toString']()['trim']()||'',_0x159d39=_0x23c635[0x2]?.['toString']()['trim']()||'';if(!_0x2adf6f)continue;if(!_0xfbf2c7)_0xfbf2c7=_0x1c2a87['code'];if(!_0x159d39)_0x159d39=_0x1c2a87['description'];let _0x5d0848=_0x1c2a87['unit'];if(_0x57b4de){const _0x3548d0=_0x57b4de['match'](/(\d+)/);_0x3548d0&&_0x3548d0[0x1]&&(_0x5d0848=parseInt(_0x3548d0[0x1],0xa));}const _0x4deafe={'sem':_0x2c6c3a,'school_year':_0x8085c7,'code':_0xfbf2c7,'course_no':_0x2adf6f,'course_desc':_0x159d39,'unit':_0x5d0848,'time':_0x2ddd26,'days':_0x5c8e13,'faculty':_0x2f0165,'room':_0x467c42};_0x1c2a87['code']=_0xfbf2c7,_0x1c2a87['description']=_0x159d39,_0x1c2a87['unit']=_0x5d0848,_0xa9503['push'](_0x4deafe);}return _0xa9503;}
11
11
 
12
- async function uploadCourseOffering(_0x33f6f,_0x39714e){try{const _0x4a093b=await convertToCSVFile(_0x39714e),_0x510293=await _0x4a093b['text'](),_0x1919cd=parseCourseOffering(_0x510293),_0x159974=_0x2656f4['unparse'](_0x1919cd),_0x1f5d51=new File([_0x159974],_0x4a093b['name'],{'type':'text/csv'}),_0x46393e=new FormData();_0x46393e['append']('csvFile',_0x1f5d51);const _0x34c95a=await fetch(_0x33f6f+'/course-offerings/upload',{'method':'POST','body':_0x46393e});if(!_0x34c95a['ok']){const _0x467531=await _0x34c95a['json']();throw _0x467531;}return _0x34c95a['json']();}catch(_0x10e112){throw _0x10e112;}}
12
+ async function uploadCourseOffering(_0xe80371,_0x2bf3b7){try{const _0x4995c1=await convertToCSVFile(_0x2bf3b7),_0x3e2475=await _0x4995c1['text'](),_0x1f501a=parseCourseOffering(_0x3e2475),_0x6429ca=_0x2c16b2['unparse'](_0x1f501a),_0x5d5b78=new File([_0x6429ca],_0x4995c1['name'],{'type':'text/csv'}),_0x8e6209=new FormData();_0x8e6209['append']('csvFile',_0x5d5b78);const _0x1f1c5e=await fetch(_0xe80371+'/course-offerings/upload',{'method':'POST','body':_0x8e6209});if(!_0x1f1c5e['ok']){const _0x5e6a84=await _0x1f1c5e['json']();throw _0x5e6a84;}return _0x1f1c5e['json']();}catch(_0x2e6c2d){throw _0x2e6c2d;}}
13
13
 
14
- function performaceTarget(_0x1ab87a){if(!_0x1ab87a)return {'performance_target':null,'passing_score':null};const _0x1dea05=_0x1ab87a['match'](/\d+/g);return {'performance_target':_0x1dea05?.[0x0]?parseInt(_0x1dea05[0x0],0xa):null,'passing_score':_0x1dea05?.[0x1]?parseInt(_0x1dea05[0x1],0xa):null};}
14
+ function performaceTarget(_0x3004c7){if(!_0x3004c7)return {'performance_target':null,'passing_score':null};const _0xce6c00=_0x3004c7['match'](/\d+/g);return {'performance_target':_0xce6c00?.[0x0]?parseInt(_0xce6c00[0x0],0xa):null,'passing_score':_0xce6c00?.[0x1]?parseInt(_0xce6c00[0x1],0xa):null};}
15
15
 
16
- function extractInstructionalVerb(_0x3531c4){const _0x4f76c3=_0x3531c4['trim'](),_0x567635=/\b(will|shall)\b\s+(?:be\s+able\s+to\s+)?([a-zA-Z]+)/i,_0x1dea2e=_0x4f76c3['match'](_0x567635);return _0x1dea2e&&_0x1dea2e[0x2]!==undefined?_0x1dea2e[0x2]:null;}
16
+ const HEADERS$1={'co':['course\x20outcome','co\x20statement','outcome\x20statement'],'ilo':['intended\x20learning','ilo','learning\x20outcome'],'assessTool':['assessment\x20tool','assessment\x20method','tool'],'perfTarget':['performance\x20target','target','passing']};function getCoaepHeader(_0x4dc17e){let _0x1a21db={'headerRowIndex':-1,'coIdx':-1,'iloIdx':-1,'assessToolIdx':-1,'perfTargetIdx':-1};for(let _0x569210=0x0;_0x569210<Math['min'](_0x4dc17e['length'],0x14);_0x569210++){const _0x450e5a=(_0x4dc17e[_0x569210]??[])['map'](_0x3f1a2b=>_0x3f1a2b['toLowerCase']()['trim']()),_0x597bdb=_0x450e5a['findIndex'](_0x280192=>HEADERS$1['co']['some'](_0x5975bb=>_0x280192['includes'](_0x5975bb))),_0x5a0023=_0x450e5a['findIndex'](_0x4ffdd2=>HEADERS$1['ilo']['some'](_0x5e624d=>_0x4ffdd2['includes'](_0x5e624d))),_0x4f9435=_0x450e5a['findIndex'](_0x54c13a=>HEADERS$1['assessTool']['some'](_0x65541=>_0x54c13a['includes'](_0x65541))),_0x56649c=_0x450e5a['findIndex'](_0x354ef1=>HEADERS$1['perfTarget']['some'](_0x33c351=>_0x354ef1['includes'](_0x33c351))),_0x14b5d4=[_0x597bdb,_0x5a0023,_0x4f9435,_0x56649c]['filter'](_0x20c867=>_0x20c867!==-1)['length'];if(_0x14b5d4>=0x3){_0x1a21db={'headerRowIndex':_0x569210,'coIdx':_0x597bdb,'iloIdx':_0x5a0023,'assessToolIdx':_0x4f9435,'perfTargetIdx':_0x56649c};break;}}return _0x1a21db;}
17
17
 
18
- const HEADERS$1={'co':['course\x20outcome','co\x20statement','outcome\x20statement'],'ilo':['intended\x20learning','ilo','learning\x20outcome'],'assessTool':['assessment\x20tool','assessment\x20method','tool'],'perfTarget':['performance\x20target','target','passing']};function getCoaepHeader(_0x59d942){let _0x12e5d5={'headerRowIndex':-1,'coIdx':-1,'iloIdx':-1,'assessToolIdx':-1,'perfTargetIdx':-1};for(let _0x25dacd=0x0;_0x25dacd<Math['min'](_0x59d942['length'],0x14);_0x25dacd++){const _0x19f755=(_0x59d942[_0x25dacd]??[])['map'](_0x223a65=>_0x223a65['toLowerCase']()['trim']()),_0x13c891=_0x19f755['findIndex'](_0x9d368a=>HEADERS$1['co']['some'](_0x1c941b=>_0x9d368a['includes'](_0x1c941b))),_0x5bf164=_0x19f755['findIndex'](_0x3b6355=>HEADERS$1['ilo']['some'](_0x1586c8=>_0x3b6355['includes'](_0x1586c8))),_0x21b733=_0x19f755['findIndex'](_0x12535d=>HEADERS$1['assessTool']['some'](_0x4eb64d=>_0x12535d['includes'](_0x4eb64d))),_0x55b970=_0x19f755['findIndex'](_0x4245d2=>HEADERS$1['perfTarget']['some'](_0x46b1f3=>_0x4245d2['includes'](_0x46b1f3))),_0x45600c=[_0x13c891,_0x5bf164,_0x21b733,_0x55b970]['filter'](_0xf61dd1=>_0xf61dd1!==-1)['length'];if(_0x45600c>=0x3){_0x12e5d5={'headerRowIndex':_0x25dacd,'coIdx':_0x13c891,'iloIdx':_0x5bf164,'assessToolIdx':_0x21b733,'perfTargetIdx':_0x55b970};break;}}return _0x12e5d5;}
18
+ function extractFromObjective(_0x43f929){const _0x19e1ee={'cognitive_level':null,'taxonomy_level':null,'verb':null},_0x1952a9=/(?:\(([IED])\))?\s*(\w+)\s*:\s*(\w+)/,_0x1c5416=_0x43f929['match'](_0x1952a9);if(_0x1c5416){if(_0x1c5416[0x1])_0x19e1ee['cognitive_level']=_0x1c5416[0x1];if(_0x1c5416[0x2])_0x19e1ee['taxonomy_level']=_0x1c5416[0x2]['toLowerCase']();if(_0x1c5416[0x3])_0x19e1ee['verb']=_0x1c5416[0x3]['toLowerCase']();}return _0x19e1ee;}
19
19
 
20
- function parseCOAEP(_0x24b1c3){const _0x2f27a5=_0x2656f4['parse'](_0x24b1c3,{'skipEmptyLines':![]})['data'],_0x342977={'COAEP':{'faculty':null,'course':null,'sy':null,'semester':null,'co':[]}},{headerRowIndex:_0x506c63,coIdx:_0x2cfef8,iloIdx:_0x2853a0,assessToolIdx:_0xb4f1ce,perfTargetIdx:_0x3d0805}=getCoaepHeader(_0x2f27a5);if(_0x506c63===-1)return {'error':'Could\x20not\x20auto-detect\x20header\x20row.','message':'Please\x20ensure\x20the\x20CSV\x20file\x20is\x20in\x20the\x20correct\x20COAEP\x20format.'};_0x2f27a5['forEach'](_0x1795c2=>{const _0x3b07ee=_0x1795c2['indexOf']('Name\x20of\x20Faculty:'),_0x359766=_0x1795c2['indexOf']('School\x20Year'),_0x5d6752=_0x1795c2['indexOf']('Course:'),_0x56a145=_0x1795c2['indexOf']('Semester');_0x3b07ee!==-1&&(_0x342977['COAEP']['faculty']=_0x1795c2[_0x3b07ee+0x1]?.['trim']()||_0x342977['COAEP']['faculty']);_0x359766!==-1&&(_0x342977['COAEP']['sy']=_0x1795c2[_0x359766+0x1]?.['trim']()||_0x342977['COAEP']['sy']);_0x5d6752!==-1&&(_0x342977['COAEP']['course']=_0x1795c2[_0x5d6752+0x1]?.['trim']()||_0x342977['COAEP']['course']);if(_0x56a145!==-1){const _0x1e4864=_0x1795c2[_0x56a145+0x1]?.['trim']()||'',_0xf878d6=_0x1e4864['match'](/\d+/)?.[0x0];_0x342977['COAEP']['semester']=_0xf878d6?parseInt(_0xf878d6,0xa):_0x342977['COAEP']['semester'];}});let _0x722ae3=null;return _0x2f27a5['forEach']((_0x394f91,_0x350822)=>{if(_0x350822<=_0x506c63)return;let _0x269d2d=_0x394f91[_0x2cfef8-0x1]?.['trim']()||'',_0x32f5b2=_0x394f91[_0x2cfef8]?.['trim']()||'';/^\d+$/['test'](_0x394f91[_0x2cfef8]?.['trim']()||'')&&(_0x269d2d=_0x394f91[_0x2cfef8]?.['trim']()||'',_0x32f5b2=_0x394f91[_0x2cfef8+0x1]?.['trim']()||'');const _0x3973e6=_0x394f91[_0x2853a0]?.['trim']()||'',_0x3ad8b7=_0x394f91[_0xb4f1ce]?.['replace'](/^ILO\d+[:.]?\s*/,'')['trim']()||'',_0x54fb33=_0x394f91[_0x3d0805]?.['replace'](/\s+/g,'\x20')['trim']()||'';if(_0x269d2d&&/^\d+$/['test'](_0x269d2d)){_0x722ae3&&_0x342977['COAEP']['co']['push'](_0x722ae3);const _0x3a79cf=_0x32f5b2,_0x2bfcb6=extractInstructionalVerb(_0x3a79cf)||'';_0x722ae3={'statement':_0x3a79cf,'verb':_0x2bfcb6,'ilo':[]};}if(_0x722ae3&&_0x3973e6&&_0x54fb33){const _0x240ac1=_0x3973e6['replace'](/^ILO\d+[:.]?\s*/,'');if(_0x240ac1['match'](/^(Revision|Prepared|Date|Approved|Effectivity|Page)/i)||_0x240ac1['length']<0xa)return;let _0x27aed9=_0x3ad8b7;if(!_0x27aed9&&_0x240ac1['includes'](':')){const _0xd08e8c=_0x240ac1['match'](/^ILO\d+:\s*(.+?)(?:\s*\(|$)/);_0xd08e8c&&(_0x27aed9=_0xd08e8c[0x1]?.['trim']()||'');}const {performance_target:_0xece8dd,passing_score:_0x4daa7e}=performaceTarget(_0x54fb33);_0x722ae3['ilo']['push']({'statement':_0x240ac1,'verb':extractInstructionalVerb(_0x240ac1)||'','assessment_tool':_0x27aed9,'performance_target':_0xece8dd,'passing_score':_0x4daa7e});}}),_0x722ae3&&_0x342977['COAEP']['co']['push'](_0x722ae3),_0x342977;}
20
+ function parseCOAEP(_0x9c9ce4){const _0x530ee9=_0x2c16b2['parse'](_0x9c9ce4,{'skipEmptyLines':![]})['data'],_0x1b7f4b={'COAEP':{'faculty':null,'course':null,'sy':null,'semester':null,'co':[]}},{headerRowIndex:_0x4b6dac,coIdx:_0x264868,iloIdx:_0x161fe6,assessToolIdx:_0x4fc09a,perfTargetIdx:_0x9a9a27}=getCoaepHeader(_0x530ee9);if(_0x4b6dac===-1)return {'error':'Could\x20not\x20auto-detect\x20header\x20row.','message':'Please\x20ensure\x20the\x20CSV\x20file\x20is\x20in\x20the\x20correct\x20COAEP\x20format.'};_0x530ee9['forEach'](_0x275b47=>{const _0x575a91=_0x275b47['indexOf']('Name\x20of\x20Faculty:'),_0x163ddd=_0x275b47['indexOf']('School\x20Year'),_0x3edef0=_0x275b47['indexOf']('Course:'),_0x4a3029=_0x275b47['indexOf']('Semester');_0x575a91!==-1&&(_0x1b7f4b['COAEP']['faculty']=_0x275b47[_0x575a91+0x1]?.['trim']()||_0x1b7f4b['COAEP']['faculty']);_0x163ddd!==-1&&(_0x1b7f4b['COAEP']['sy']=_0x275b47[_0x163ddd+0x1]?.['trim']()||_0x1b7f4b['COAEP']['sy']);_0x3edef0!==-1&&(_0x1b7f4b['COAEP']['course']=_0x275b47[_0x3edef0+0x1]?.['trim']()||_0x1b7f4b['COAEP']['course']);if(_0x4a3029!==-1){const _0x3557f1=_0x275b47[_0x4a3029+0x1]?.['trim']()||'',_0x5d8b35=_0x3557f1['match'](/\d+/)?.[0x0];_0x1b7f4b['COAEP']['semester']=_0x5d8b35?parseInt(_0x5d8b35,0xa):_0x1b7f4b['COAEP']['semester'];}});let _0xfdc2dd=null;return _0x530ee9['forEach']((_0x41494e,_0xb69d99)=>{if(_0xb69d99<=_0x4b6dac)return;let _0x3b3944=_0x41494e[_0x264868-0x1]?.['trim']()||'',_0x1d4f9c=_0x41494e[_0x264868]?.['trim']()||'';/^\d+$/['test'](_0x41494e[_0x264868]?.['trim']()||'')&&(_0x3b3944=_0x41494e[_0x264868]?.['trim']()||'',_0x1d4f9c=_0x41494e[_0x264868+0x1]?.['trim']()||'');const _0x14b7e1=_0x41494e[_0x161fe6]?.['trim']()||'',_0x455c02=_0x41494e[_0x4fc09a]?.['replace'](/^ILO\d+[:.]?\s*/,'')['trim']()||'',_0xf35ee7=_0x41494e[_0x9a9a27]?.['replace'](/\s+/g,'\x20')['trim']()||'';if(_0x3b3944&&/^\d+$/['test'](_0x3b3944)){_0xfdc2dd&&_0x1b7f4b['COAEP']['co']['push'](_0xfdc2dd);const _0x5ebcb7=_0x1d4f9c,{verb:_0x134cb2,cognitive_level:_0x3ba46c,taxonomy_level:_0x337b53}=extractFromObjective(_0x5ebcb7);_0xfdc2dd={'statement':_0x5ebcb7,'ilo':[],'verb':_0x134cb2,'cognitive_level':_0x3ba46c,'taxonomy_level':_0x337b53};}if(_0xfdc2dd&&_0x14b7e1&&_0xf35ee7){const _0x57f0dc=_0x14b7e1['replace'](/^ILO\d+[:.]?\s*/,'');if(_0x57f0dc['match'](/^(Revision|Prepared|Date|Approved|Effectivity|Page)/i)||_0x57f0dc['length']<0xa)return;let _0x28cc22=_0x455c02;if(!_0x28cc22&&_0x57f0dc['includes'](':')){const _0x5dd1e3=_0x57f0dc['match'](/^ILO\d+:\s*(.+?)(?:\s*\(|$)/);_0x5dd1e3&&(_0x28cc22=_0x5dd1e3[0x1]?.['trim']()||'');}const {performance_target:_0x4eb844,passing_score:_0x12a635}=performaceTarget(_0xf35ee7),{verb:_0x516eab,cognitive_level:_0x5bc8d7,taxonomy_level:_0x4079e7}=extractFromObjective(_0x57f0dc);_0xfdc2dd['ilo']['push']({'statement':_0x57f0dc,'assessment_tool':_0x28cc22,'performance_target':_0x4eb844,'passing_score':_0x12a635,'verb':_0x516eab,'cognitive_level':_0x5bc8d7,'taxonomy_level':_0x4079e7});}}),_0xfdc2dd&&_0x1b7f4b['COAEP']['co']['push'](_0xfdc2dd),_0x1b7f4b;}
21
21
 
22
- async function uploadCOAEP(_0x1fcf15,_0x34fec7,_0x248611){try{const _0x5959f3=await convertToCSVFile(_0x34fec7),_0x5f3b07=await _0x5959f3['text'](),_0x392431=parseCOAEP(_0x5f3b07);console['log'](_0x392431);const _0xe78dbf=await fetch(_0x1fcf15+'/coaeps/upload?course_id='+_0x248611,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x392431)});if(!_0xe78dbf['ok']){const _0x12532a=await _0xe78dbf['json']();throw _0x12532a;}return _0xe78dbf['json']();}catch(_0x24ca94){throw _0x24ca94;}}
22
+ async function uploadCOAEP(_0x5df05b,_0x4be34f,_0x110da6){try{const _0x13ac85=await convertToCSVFile(_0x4be34f),_0x5064cc=await _0x13ac85['text'](),_0x2465cf=parseCOAEP(_0x5064cc);console['log'](_0x2465cf);const _0x22026a=await fetch(_0x5df05b+'/coaeps/upload?course_id='+_0x110da6,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x2465cf)});if(!_0x22026a['ok']){const _0x2681b9=await _0x22026a['json']();throw _0x2681b9;}return _0x22026a['json']();}catch(_0x1cd54f){throw _0x1cd54f;}}
23
23
 
24
- async function uploadEnrolledStudent(_0x254a65,_0x162eda){try{const _0x524041=await convertToCSVFile(_0x162eda),_0x96bd0c=new FormData();_0x96bd0c['append']('csvFile',_0x524041);const _0x289063=await fetch(_0x254a65+'/enrolled-students/upload',{'method':'POST','body':_0x96bd0c});if(!_0x289063['ok']){const _0x170011=await _0x289063['json']();throw _0x170011;}return _0x289063['json']();}catch(_0x4c9e01){throw _0x4c9e01;}}
24
+ async function uploadEnrolledStudent(_0x2d7709,_0x2754f0){try{const _0x57ec44=await convertToCSVFile(_0x2754f0),_0x209a77=new FormData();_0x209a77['append']('csvFile',_0x57ec44);const _0x33af94=await fetch(_0x2d7709+'/enrolled-students/upload',{'method':'POST','body':_0x209a77});if(!_0x33af94['ok']){const _0x4c52ec=await _0x33af94['json']();throw _0x4c52ec;}return _0x33af94['json']();}catch(_0x5bf99a){throw _0x5bf99a;}}
25
25
 
26
- function parseClassList(_0x2fc9e9){const _0x3e63a1=_0x2656f4['parse'](_0x2fc9e9,{'skipEmptyLines':!![]})['data'];let _0x18520c='',_0x161da7='',_0x18d4a7='';const _0x170863=[];return _0x3e63a1['forEach'](_0x7614b7=>{const _0x394846=_0x7614b7['map'](_0x338954=>(_0x338954??'')['toString']()['trim']()),_0x427b1d=_0x394846[0x0]??'';if(_0x427b1d['startsWith']('Course\x20No:')){const _0x4f84a7=_0x427b1d['replace']('Course\x20No:','')['trim'](),_0x316b00=_0x4f84a7['split'](/\s+/);_0x18d4a7=_0x316b00[0x0]??'';const [_0x1e8895,_0x42c244]=(_0x316b00[0x1]??'')['split']('-');_0x161da7=_0x1e8895??'';const _0x436d06=(_0x42c244??'')['match'](/[a-z]$/);_0x18520c=_0x436d06?_0x436d06[0x0]:'';}if(/^\d+$/['test'](_0x427b1d)){const _0x24a7f2=_0x394846[0x2]??'';_0x170863['push']({'subj_code':_0x18d4a7,'student_no':_0x24a7f2,'course_id':_0x161da7,'section':_0x18520c});}}),{'enrolledCourses':_0x170863};}
26
+ function parseClassList(_0x2cfcd1){const _0x2e375a=_0x2c16b2['parse'](_0x2cfcd1,{'skipEmptyLines':!![]})['data'];let _0x1b848c='',_0x2519da='',_0x47ef58='';const _0x18323b=[];return _0x2e375a['forEach'](_0x1bfc40=>{const _0x1eaebc=_0x1bfc40['map'](_0x1888d6=>(_0x1888d6??'')['toString']()['trim']()),_0x4b7a7e=_0x1eaebc[0x0]??'';if(_0x4b7a7e['startsWith']('Course\x20No:')){const _0x235c3b=_0x4b7a7e['replace']('Course\x20No:','')['trim'](),_0x18e706=_0x235c3b['split'](/\s+/);_0x47ef58=_0x18e706[0x0]??'';const [_0x23c08c,_0x291d54]=(_0x18e706[0x1]??'')['split']('-');_0x2519da=_0x23c08c??'';const _0x5bcbf0=(_0x291d54??'')['match'](/[a-z]$/);_0x1b848c=_0x5bcbf0?_0x5bcbf0[0x0]:'';}if(/^\d+$/['test'](_0x4b7a7e)){const _0x45f88f=_0x1eaebc[0x2]??'';_0x18323b['push']({'subj_code':_0x47ef58,'student_no':_0x45f88f,'course_id':_0x2519da,'section':_0x1b848c});}}),{'enrolledCourses':_0x18323b};}
27
27
 
28
- async function uploadClassList(_0x538376,_0x48a7d8,_0x401121,_0x4e9b0a){try{const _0x1a6450=await convertToCSVFile(_0x48a7d8),_0x2e9ef7=await _0x1a6450['text'](),_0x4d42a1=parseClassList(_0x2e9ef7),_0x4a609a='subj_code='+_0x401121+'&period_id='+_0x4e9b0a,_0x54b481=await fetch(_0x538376+'/enrolled-courses/upload?'+_0x4a609a,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x4d42a1)});if(!_0x54b481['ok']){const _0x7a10fe=await _0x54b481['json']();throw _0x7a10fe;}return _0x54b481['json']();}catch(_0x53e8d4){throw _0x53e8d4;}}
28
+ async function uploadClassList(_0x3dc2a2,_0x5c64de,_0x6997a8,_0x500b1a){try{const _0x3c16d9=await convertToCSVFile(_0x5c64de),_0x32687c=await _0x3c16d9['text'](),_0x1ece1a=parseClassList(_0x32687c),_0x127aa6='subj_code='+_0x6997a8+'&period_id='+_0x500b1a,_0x5024d1=await fetch(_0x3dc2a2+'/enrolled-courses/upload?'+_0x127aa6,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x1ece1a)});if(!_0x5024d1['ok']){const _0x3aa4d6=await _0x5024d1['json']();throw _0x3aa4d6;}return _0x5024d1['json']();}catch(_0xff1795){throw _0xff1795;}}
29
29
 
30
- function parseAssessmentCsv(_0x1cb27d){const {data:_0x5e4b67}=_0x2656f4['parse'](_0x1cb27d,{'skipEmptyLines':!![]}),_0x4171fc=_0x5e4b67['filter'](_0x49638d=>_0x49638d['length']>0x0),_0x4ef15c=_0x4171fc['find'](_0x1e15b1=>_0x1e15b1['some'](_0x4632eb=>_0x4632eb?.['includes']('Faculty'))),_0x4afbef=_0x4ef15c?_0x4ef15c['findIndex'](_0x15c6c8=>_0x15c6c8?.['includes']('Faculty')):-1,_0x2a760d=_0x4afbef!==-1&&_0x4ef15c?_0x4ef15c[_0x4afbef+0x2]?.['replace'](/"/g,'')['trim']()??'':'',_0x3c7c63=_0x4171fc['find'](_0x47d14b=>_0x47d14b['some'](_0x4c9b01=>_0x4c9b01?.['includes']('Semester'))),_0x1a9a47=_0x3c7c63?_0x3c7c63['findIndex'](_0x322c2a=>_0x322c2a?.['includes']('Semester')):-1,_0x5969bf=_0x1a9a47!==-1&&_0x3c7c63?_0x3c7c63[_0x1a9a47+0x2]?.['trim']()??'':'',_0x4415f6=_0x5969bf['includes']('1st')?0x1:_0x5969bf['includes']('2nd')?0x2:0x0,_0x42f47e=_0x4171fc['find'](_0x37d372=>_0x37d372['some'](_0x2e9b77=>_0x2e9b77?.['includes']('Course\x20&\x20Sec'))),_0x35606e=_0x42f47e?_0x42f47e['findIndex'](_0x422f05=>_0x422f05?.['includes']('Course\x20&\x20Sec')):-1,_0x20811a=_0x35606e!==-1&&_0x42f47e?_0x42f47e[_0x35606e+0x2]?.['trim']()??'':'';let _0x656b1e='',_0x10528f='';if(_0x20811a){const _0x3dd4fa=_0x20811a['match'](/^([A-Za-z0-9]+)-?([A-Za-z]+)?/);_0x3dd4fa&&(_0x656b1e=_0x3dd4fa[0x1]??'',_0x3dd4fa[0x2]&&(_0x10528f=_0x3dd4fa[0x2]['replace'](/^OC/i,'')));}const _0x2b204a=_0x4171fc['find'](_0x4e5e5c=>_0x4e5e5c['some'](_0x38fcef=>_0x38fcef?.['includes']('School\x20Year'))),_0x3d55bf=_0x2b204a?_0x2b204a['findIndex'](_0x3eb3e1=>_0x3eb3e1?.['includes']('School\x20Year')):-1,_0x3e35f3=_0x3d55bf!==-1&&_0x2b204a?_0x2b204a[_0x3d55bf+0x2]?.['trim']()??'':'';let _0x530a8b=0x0;if(_0x3e35f3){const _0x13c073=_0x3e35f3['match'](/(\d{4})-(\d{4})/);if(_0x13c073){const _0x1930ac=(_0x13c073[0x1]??'')['slice'](0x2),_0x25b0ee=(_0x13c073[0x2]??'')['slice'](0x2);_0x530a8b=parseInt(_0x1930ac+_0x25b0ee,0xa);}}const _0x13d655={'faculty':_0x2a760d,'course':_0x656b1e,'section':_0x10528f,'semester':_0x4415f6,'sy':_0x530a8b},_0x46b0a1=_0x4171fc['findIndex'](_0x283e4f=>_0x283e4f['some'](_0x3f9c6a=>_0x3f9c6a?.['trim']()==='CO\x20#'));if(_0x46b0a1===-1)throw new Error('CO\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x4c54ed=_0x4171fc[_0x46b0a1+0x1];if(!_0x4c54ed)throw new Error('ILO\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x56d69d={};let _0x5d5822=0x1,_0x1d2464=0x1;for(let _0x1e44a1=0x3;_0x1e44a1<_0x4c54ed['length'];_0x1e44a1++){const _0x5e8409=_0x4c54ed[_0x1e44a1];if(!_0x5e8409)continue;const _0x28ced7='co'+_0x5d5822;if(!_0x56d69d[_0x28ced7])_0x56d69d[_0x28ced7]=[];_0x56d69d[_0x28ced7]['push']('ilo'+_0x1d2464),_0x1d2464++,_0x1d2464>0x3&&(_0x5d5822++,_0x1d2464=0x1);}const _0x30ea68=_0x4171fc['findIndex'](_0x33f04a=>_0x33f04a['includes']('Name\x20of\x20Students'));if(_0x30ea68===-1)throw new Error('Student\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x12594c=_0x4171fc[_0x30ea68];if(!_0x12594c)throw new Error('Student\x20header\x20row\x20is\x20missing');const _0x3c6ad1=_0x12594c['findIndex'](_0x2891f2=>_0x2891f2?.['includes']('Name\x20of\x20Students'));if(_0x3c6ad1===-1)throw new Error('Name\x20of\x20Students\x20column\x20not\x20found\x20in\x20CSV');const _0x5ba76f=_0x3c6ad1+0x2,_0x4c298f=[];for(let _0x5c6956=_0x30ea68+0x1;_0x5c6956<_0x4171fc['length'];_0x5c6956++){const _0x4a694e=_0x4171fc[_0x5c6956];if(!_0x4a694e)continue;if(_0x4a694e['some'](_0x404d87=>_0x404d87?.['toUpperCase']()['includes']('TOTAL\x20STUDENTS')||_0x404d87?.['toUpperCase']()['includes']('ACHIEVED\x20THE\x20MINIMUM')||_0x404d87?.['toUpperCase']()['includes']('INACTIVE')||_0x404d87?.['toUpperCase']()['includes']('AVERAGE')))continue;if(!_0x4a694e[_0x3c6ad1])continue;const _0x2a5e31=_0x4a694e[_0x3c6ad1]['replace'](/"/g,'')['trim'](),_0x33b06b=_0x4a694e['slice'](_0x5ba76f)['map'](_0x162a8c=>_0x162a8c===null?null:!isNaN(Number(_0x162a8c))?parseFloat(_0x162a8c):0x0);let _0x3d7a08=0x0;const _0x20c8bb={};Object['entries'](_0x56d69d)['forEach'](([_0x3b83f1,_0x43dc14])=>{const _0x41fccb={};_0x43dc14['forEach'](_0x4dfb92=>{_0x41fccb[_0x4dfb92]=_0x33b06b[_0x3d7a08]??0x0,_0x3d7a08++;}),_0x20c8bb[_0x3b83f1]={'transmuted_score':_0x41fccb};}),_0x4c298f['push']({'student_name':_0x2a5e31,'coaep':_0x20c8bb});}const _0xf853f0=_0x4171fc['find'](_0x396e47=>_0x396e47['some'](_0x1d91e7=>_0x1d91e7?.['includes']('ACHIEVED\x20THE\x20MINIMUM'))),_0x2bfc09=_0x4171fc['find'](_0x57263d=>_0x57263d['some'](_0x3274c0=>_0x3274c0?.['includes']('AVERAGE'))),_0x919d14=_0xf853f0?_0xf853f0['slice'](_0x5ba76f)['map'](_0x3c1f0a=>_0x3c1f0a&&!isNaN(Number(_0x3c1f0a))?parseInt(_0x3c1f0a):0x0):[],_0x2d1658=_0x2bfc09?_0x2bfc09['slice'](_0x5ba76f)['map'](_0x3c091b=>_0x3c091b&&_0x3c091b!=='#DIV/0!'&&!isNaN(Number(_0x3c091b))?parseInt(_0x3c091b):0x0):[],_0x589d04={};let _0x2555ea=0x0;return Object['entries'](_0x56d69d)['forEach'](([_0x264798,_0x1e54a4])=>{if(!_0x589d04[_0x264798])_0x589d04[_0x264798]={};_0x1e54a4['forEach'](_0x15b2c2=>{_0x589d04[_0x264798][_0x15b2c2]={'achievedMinimum':_0x919d14[_0x2555ea]??0x0,'average':_0x2d1658[_0x2555ea]??0x0},_0x2555ea++;});}),{'assessmentData':{'classAssignment':_0x13d655,'student':_0x4c298f,'total':_0x589d04}};}
30
+ function parseAssessmentCsv(_0xf43657){const {data:_0x4b7e7c}=_0x2c16b2['parse'](_0xf43657,{'skipEmptyLines':!![]}),_0xfd28d=_0x4b7e7c['filter'](_0x4434aa=>_0x4434aa['length']>0x0),_0x487297=_0xfd28d['find'](_0x18a84e=>_0x18a84e['some'](_0x312b9f=>_0x312b9f?.['includes']('Faculty'))),_0x4c797f=_0x487297?_0x487297['findIndex'](_0x5ee1b3=>_0x5ee1b3?.['includes']('Faculty')):-1,_0x599850=_0x4c797f!==-1&&_0x487297?_0x487297[_0x4c797f+0x2]?.['replace'](/"/g,'')['trim']()??'':'',_0x5570fe=_0xfd28d['find'](_0x65bab4=>_0x65bab4['some'](_0x31ebcb=>_0x31ebcb?.['includes']('Semester'))),_0x2a7703=_0x5570fe?_0x5570fe['findIndex'](_0x24d52a=>_0x24d52a?.['includes']('Semester')):-1,_0x3e89ea=_0x2a7703!==-1&&_0x5570fe?_0x5570fe[_0x2a7703+0x2]?.['trim']()??'':'',_0x39b823=_0x3e89ea['includes']('1st')?0x1:_0x3e89ea['includes']('2nd')?0x2:0x0,_0x2e24d2=_0xfd28d['find'](_0x5a2af9=>_0x5a2af9['some'](_0x484aa4=>_0x484aa4?.['includes']('Course\x20&\x20Sec'))),_0x1d9df2=_0x2e24d2?_0x2e24d2['findIndex'](_0x13ed56=>_0x13ed56?.['includes']('Course\x20&\x20Sec')):-1,_0x166d02=_0x1d9df2!==-1&&_0x2e24d2?_0x2e24d2[_0x1d9df2+0x2]?.['trim']()??'':'';let _0x20c39c='',_0x58eb99='';if(_0x166d02){const _0x14e457=_0x166d02['match'](/^([A-Za-z0-9]+)-?([A-Za-z]+)?/);_0x14e457&&(_0x20c39c=_0x14e457[0x1]??'',_0x14e457[0x2]&&(_0x58eb99=_0x14e457[0x2]['replace'](/^OC/i,'')));}const _0xf2357a=_0xfd28d['find'](_0x4f4376=>_0x4f4376['some'](_0x166bbf=>_0x166bbf?.['includes']('School\x20Year'))),_0x4befcf=_0xf2357a?_0xf2357a['findIndex'](_0x973e5e=>_0x973e5e?.['includes']('School\x20Year')):-1,_0x144357=_0x4befcf!==-1&&_0xf2357a?_0xf2357a[_0x4befcf+0x2]?.['trim']()??'':'';let _0xa78947=0x0;if(_0x144357){const _0x4170d3=_0x144357['match'](/(\d{4})-(\d{4})/);if(_0x4170d3){const _0x4eff7f=(_0x4170d3[0x1]??'')['slice'](0x2),_0x4afa2f=(_0x4170d3[0x2]??'')['slice'](0x2);_0xa78947=parseInt(_0x4eff7f+_0x4afa2f,0xa);}}const _0x1b4dbe={'faculty':_0x599850,'course':_0x20c39c,'section':_0x58eb99,'semester':_0x39b823,'sy':_0xa78947},_0x4fe180=_0xfd28d['findIndex'](_0x40c55e=>_0x40c55e['some'](_0x4c0a3c=>_0x4c0a3c?.['trim']()==='CO\x20#'));if(_0x4fe180===-1)throw new Error('CO\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x3246cc=_0xfd28d[_0x4fe180+0x1];if(!_0x3246cc)throw new Error('ILO\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x171d3e={};let _0x4de145=0x1,_0x50d6d7=0x1;for(let _0xe70431=0x3;_0xe70431<_0x3246cc['length'];_0xe70431++){const _0x1dfc61=_0x3246cc[_0xe70431];if(!_0x1dfc61)continue;const _0x3513e9='co'+_0x4de145;if(!_0x171d3e[_0x3513e9])_0x171d3e[_0x3513e9]=[];_0x171d3e[_0x3513e9]['push']('ilo'+_0x50d6d7),_0x50d6d7++,_0x50d6d7>0x3&&(_0x4de145++,_0x50d6d7=0x1);}const _0xcc2b7c=_0xfd28d['findIndex'](_0x56048b=>_0x56048b['includes']('Name\x20of\x20Students'));if(_0xcc2b7c===-1)throw new Error('Student\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x4f8a6a=_0xfd28d[_0xcc2b7c];if(!_0x4f8a6a)throw new Error('Student\x20header\x20row\x20is\x20missing');const _0x3fe732=_0x4f8a6a['findIndex'](_0x3a2cea=>_0x3a2cea?.['includes']('Name\x20of\x20Students'));if(_0x3fe732===-1)throw new Error('Name\x20of\x20Students\x20column\x20not\x20found\x20in\x20CSV');const _0x4c68d3=_0x3fe732+0x2,_0x266ca0=[];for(let _0x45f415=_0xcc2b7c+0x1;_0x45f415<_0xfd28d['length'];_0x45f415++){const _0x39dafe=_0xfd28d[_0x45f415];if(!_0x39dafe)continue;if(_0x39dafe['some'](_0x53ab35=>_0x53ab35?.['toUpperCase']()['includes']('TOTAL\x20STUDENTS')||_0x53ab35?.['toUpperCase']()['includes']('ACHIEVED\x20THE\x20MINIMUM')||_0x53ab35?.['toUpperCase']()['includes']('INACTIVE')||_0x53ab35?.['toUpperCase']()['includes']('AVERAGE')))continue;if(!_0x39dafe[_0x3fe732])continue;const _0x47ad45=_0x39dafe[_0x3fe732]['replace'](/"/g,'')['trim'](),_0x2a63f3=_0x39dafe['slice'](_0x4c68d3)['map'](_0x26df65=>_0x26df65===null?null:!isNaN(Number(_0x26df65))?parseFloat(_0x26df65):0x0);let _0x2a2eb3=0x0;const _0x1c9d78={};Object['entries'](_0x171d3e)['forEach'](([_0x12c646,_0x30437b])=>{const _0x29ee68={};_0x30437b['forEach'](_0x5da037=>{_0x29ee68[_0x5da037]=_0x2a63f3[_0x2a2eb3]??0x0,_0x2a2eb3++;}),_0x1c9d78[_0x12c646]={'transmuted_score':_0x29ee68};}),_0x266ca0['push']({'student_name':_0x47ad45,'coaep':_0x1c9d78});}const _0x21c829=_0xfd28d['find'](_0x323824=>_0x323824['some'](_0x5977a5=>_0x5977a5?.['includes']('ACHIEVED\x20THE\x20MINIMUM'))),_0x7e263b=_0xfd28d['find'](_0x176930=>_0x176930['some'](_0x6ac965=>_0x6ac965?.['includes']('AVERAGE'))),_0x34c4d1=_0x21c829?_0x21c829['slice'](_0x4c68d3)['map'](_0x1e3ea2=>_0x1e3ea2&&!isNaN(Number(_0x1e3ea2))?parseInt(_0x1e3ea2):0x0):[],_0x45c279=_0x7e263b?_0x7e263b['slice'](_0x4c68d3)['map'](_0x4adc28=>_0x4adc28&&_0x4adc28!=='#DIV/0!'&&!isNaN(Number(_0x4adc28))?parseInt(_0x4adc28):0x0):[],_0x5e6dcb={};let _0x23e3ed=0x0;return Object['entries'](_0x171d3e)['forEach'](([_0x3ed63d,_0x5cb280])=>{if(!_0x5e6dcb[_0x3ed63d])_0x5e6dcb[_0x3ed63d]={};_0x5cb280['forEach'](_0x203b27=>{_0x5e6dcb[_0x3ed63d][_0x203b27]={'achievedMinimum':_0x34c4d1[_0x23e3ed]??0x0,'average':_0x45c279[_0x23e3ed]??0x0},_0x23e3ed++;});}),{'assessmentData':{'classAssignment':_0x1b4dbe,'student':_0x266ca0,'total':_0x5e6dcb}};}
31
31
 
32
- async function uploadAssessmentData(_0x205992,_0x59f2e0){try{const _0x272938=await convertToCSVFile(_0x59f2e0),_0x1ee500=await _0x272938['text'](),_0x191383=parseAssessmentCsv(_0x1ee500),_0x3e19c4=await fetch(_0x205992+'/assessment-data/upload',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x191383)});if(!_0x3e19c4['ok']){const _0x5eea51=await _0x3e19c4['json']();throw _0x5eea51;}return _0x3e19c4['json']();}catch(_0xaa2e2){throw _0xaa2e2;}}
32
+ async function uploadAssessmentData(_0x5232b0,_0x507718){try{const _0x446223=await convertToCSVFile(_0x507718),_0x34e68c=await _0x446223['text'](),_0x562ac6=parseAssessmentCsv(_0x34e68c),_0x3e8f98=await fetch(_0x5232b0+'/assessment-data/upload',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x562ac6)});if(!_0x3e8f98['ok']){const _0x16cd1e=await _0x3e8f98['json']();throw _0x16cd1e;}return _0x3e8f98['json']();}catch(_0x42f3c0){throw _0x42f3c0;}}
33
33
 
34
- async function uploadDeptFaculty(_0x403fcc,_0x40691a){try{const _0x1f9e48=await convertToCSVFile(_0x40691a),_0x505ef7=new FormData();_0x505ef7['append']('csvFile',_0x1f9e48);const _0x2c6dca=await fetch(_0x403fcc+'/dept-faculties/upload',{'method':'POST','body':_0x505ef7});if(!_0x2c6dca['ok']){const _0x54de01=await _0x2c6dca['json']();throw _0x54de01;}return _0x2c6dca['json']();}catch(_0x4178f2){throw _0x4178f2;}}
34
+ async function uploadDeptFaculty(_0x27392f,_0xfbe46f){try{const _0x57fd3a=await convertToCSVFile(_0xfbe46f),_0x811d44=new FormData();_0x811d44['append']('csvFile',_0x57fd3a);const _0x16505b=await fetch(_0x27392f+'/dept-faculties/upload',{'method':'POST','body':_0x811d44});if(!_0x16505b['ok']){const _0x3b32a8=await _0x16505b['json']();throw _0x3b32a8;}return _0x16505b['json']();}catch(_0x1ab2c4){throw _0x1ab2c4;}}
35
35
 
36
- const HEADERS={'po':['program\x20outcome','po\x20statement','outcome\x20statement'],'tl':['taxonomy','level'],'pi':['performance\x20indicator'],'fc':['formative'],'sc':['summative'],'at':['assessment\x20tool','assessment\x20method','tool'],'pt':['performance\x20target','target','passing']};function getPoaepHeader(_0x5b38d4){let _0x4b7357={'headerIdx':-1,'poIdx':-1,'tlIdx':-1,'piIdx':-1,'fcIdx':-1,'scIdx':-1,'atIdx':-1,'ptIdx':-1};for(let _0x3cc9f4=0x0;_0x3cc9f4<Math['min'](_0x5b38d4['length'],0x14);_0x3cc9f4++){const _0x4123fb=(_0x5b38d4[_0x3cc9f4]??[])['map'](_0x4b436b=>_0x4b436b['toLowerCase']()['trim']()),_0x50f9da=_0x4123fb['findIndex'](_0x24f039=>HEADERS['po']['some'](_0x41c7e8=>_0x24f039['toLowerCase']()['includes'](_0x41c7e8))),_0x491333=_0x4123fb['findIndex'](_0x256df2=>HEADERS['tl']['some'](_0x5981aa=>_0x256df2['toLowerCase']()['includes'](_0x5981aa))),_0xae2c6c=_0x4123fb['findIndex'](_0x126f49=>HEADERS['pi']['some'](_0x440263=>_0x126f49['toLowerCase']()['includes'](_0x440263))),_0x284450=_0x4123fb['findIndex'](_0x30065f=>HEADERS['fc']['some'](_0x1fdb8e=>_0x30065f['toLowerCase']()['includes'](_0x1fdb8e))),_0x4f6126=_0x4123fb['findIndex'](_0x35621f=>HEADERS['sc']['some'](_0x4e83db=>_0x35621f['toLowerCase']()['includes'](_0x4e83db))),_0x5a78b4=_0x4123fb['findIndex'](_0x34fa44=>HEADERS['at']['some'](_0x216710=>_0x34fa44['toLowerCase']()['includes'](_0x216710))),_0x2853a5=_0x4123fb['findIndex'](_0x363546=>HEADERS['pt']['some'](_0x22b627=>_0x363546['toLowerCase']()['includes'](_0x22b627))),_0x444f7e=[_0x50f9da,_0x491333,_0xae2c6c,_0x284450,_0x4f6126,_0x5a78b4,_0x2853a5]['filter'](_0x2b9996=>_0x2b9996!==-1)['length'];if(_0x444f7e>=0x3){_0x4b7357={'headerIdx':_0x3cc9f4,'poIdx':_0x50f9da,'tlIdx':_0x491333,'piIdx':_0xae2c6c,'fcIdx':_0x284450,'scIdx':_0x4f6126,'atIdx':_0x5a78b4,'ptIdx':_0x2853a5};break;}}if(_0x4b7357['headerIdx']===-1)throw new Error('No\x20valid\x20headers\x20found\x20in\x20POAEP\x20file.');return _0x4b7357;}
36
+ const HEADERS={'po':['program\x20outcome','po\x20statement','outcome\x20statement'],'tl':['taxonomy','level'],'pi':['performance\x20indicator'],'fc':['formative'],'sc':['summative'],'at':['assessment\x20tool','assessment\x20method','tool'],'pt':['performance\x20target','target','passing']};function getPoaepHeader(_0xf20c19){let _0x390f9a={'headerIdx':-1,'poIdx':-1,'tlIdx':-1,'piIdx':-1,'fcIdx':-1,'scIdx':-1,'atIdx':-1,'ptIdx':-1};for(let _0x5740d0=0x0;_0x5740d0<Math['min'](_0xf20c19['length'],0x14);_0x5740d0++){const _0x4b8e93=(_0xf20c19[_0x5740d0]??[])['map'](_0x41bf08=>_0x41bf08['toLowerCase']()['trim']()),_0x14d4ae=_0x4b8e93['findIndex'](_0x503f68=>HEADERS['po']['some'](_0x1d6fef=>_0x503f68['toLowerCase']()['includes'](_0x1d6fef))),_0x5288a7=_0x4b8e93['findIndex'](_0x1bfef0=>HEADERS['tl']['some'](_0x339408=>_0x1bfef0['toLowerCase']()['includes'](_0x339408))),_0xb7b6d1=_0x4b8e93['findIndex'](_0x341da8=>HEADERS['pi']['some'](_0x383a7a=>_0x341da8['toLowerCase']()['includes'](_0x383a7a))),_0x47aeea=_0x4b8e93['findIndex'](_0xa3c0b8=>HEADERS['fc']['some'](_0x20ccd9=>_0xa3c0b8['toLowerCase']()['includes'](_0x20ccd9))),_0x19cc28=_0x4b8e93['findIndex'](_0x5270=>HEADERS['sc']['some'](_0x2e6cd5=>_0x5270['toLowerCase']()['includes'](_0x2e6cd5))),_0x3c2c55=_0x4b8e93['findIndex'](_0x3df52d=>HEADERS['at']['some'](_0x1078b6=>_0x3df52d['toLowerCase']()['includes'](_0x1078b6))),_0x3ce1ad=_0x4b8e93['findIndex'](_0x46857f=>HEADERS['pt']['some'](_0x2b4d0=>_0x46857f['toLowerCase']()['includes'](_0x2b4d0))),_0x2a882b=[_0x14d4ae,_0x5288a7,_0xb7b6d1,_0x47aeea,_0x19cc28,_0x3c2c55,_0x3ce1ad]['filter'](_0x45de51=>_0x45de51!==-1)['length'];if(_0x2a882b>=0x3){_0x390f9a={'headerIdx':_0x5740d0,'poIdx':_0x14d4ae,'tlIdx':_0x5288a7,'piIdx':_0xb7b6d1,'fcIdx':_0x47aeea,'scIdx':_0x19cc28,'atIdx':_0x3c2c55,'ptIdx':_0x3ce1ad};break;}}if(_0x390f9a['headerIdx']===-1)throw new Error('No\x20valid\x20headers\x20found\x20in\x20POAEP\x20file.');return _0x390f9a;}
37
37
 
38
- const parseFormativeCourses=_0x23a1b3=>{let _0x58ee47=_0x23a1b3['split'](',')['reduce']((_0x1eea25,_0x55fe9d)=>{const _0x24db65=_0x55fe9d['trim']();if(_0x24db65)_0x1eea25['push'](_0x24db65);return _0x1eea25;},[]);return _0x58ee47;};
38
+ const parseFormativeCourses=_0x1e4e4d=>{let _0xf754af=_0x1e4e4d['split'](',')['reduce']((_0x19c382,_0x15c880)=>{const _0x23aec2=_0x15c880['trim']();if(_0x23aec2)_0x19c382['push'](_0x23aec2);return _0x19c382;},[]);return _0xf754af;};
39
39
 
40
- const parsePOAEP=_0x231128=>{try{const _0x2d0b46=_0x2656f4['parse'](_0x231128,{'skipEmptyLines':![]})['data'],{headerIdx:_0x494e9e,poIdx:_0x10fba9,tlIdx:_0x473eed,piIdx:_0x5f53fb,fcIdx:_0x197f88,scIdx:_0x35a034,atIdx:_0x23d746,ptIdx:_0x570ee8}=getPoaepHeader(_0x2d0b46),_0x15504e=[];let _0x463fa2={'po_desc':'','seq_no':0x0,'PerfIndicators':[]},_0x592347='',_0x3844e5='',_0x400364='';for(let _0x9dd5c8=_0x494e9e+0x1;_0x9dd5c8<_0x2d0b46['length'];_0x9dd5c8++){const _0x45a3a4=_0x2d0b46[_0x9dd5c8];if(!_0x45a3a4)break;const _0x93b3dd=_0x45a3a4[_0x10fba9]?.['trim']()||'';_0x93b3dd!==''&&(_0x463fa2={'po_desc':_0x93b3dd,'seq_no':_0x463fa2['seq_no']+0x1,'PerfIndicators':[]},_0x15504e['push'](_0x463fa2),_0x592347='',_0x3844e5='',_0x400364='');if(_0x463fa2['po_desc']==='')throw new Error('Invalid\x20Program\x20Outcome\x20at\x20row\x20'+_0x9dd5c8+'.');const _0x4d6ec4=_0x45a3a4[_0x5f53fb]?.['trim']()||'';if(_0x4d6ec4==='')break;const _0x168211=_0x45a3a4[_0x197f88]?.['trim']()||'';if(_0x168211==='')throw new Error('Empty\x20Formative\x20Courses\x20at\x20row\x20'+_0x9dd5c8+'.');const _0x53a865=_0x45a3a4[_0x35a034]?.['trim']()||_0x592347;if(_0x53a865==='')throw new Error('Empty\x20Summative\x20Course\x20at\x20row\x20'+_0x9dd5c8+'.');_0x592347=_0x53a865;const _0x4fb614=_0x45a3a4[_0x23d746]?.['trim']()||_0x3844e5;if(_0x4fb614==='')throw new Error('Empty\x20Assessment\x20Tool\x20at\x20row\x20'+_0x9dd5c8+'.');_0x3844e5=_0x4fb614;const _0x54b811=_0x45a3a4[_0x570ee8]?.['trim']()||_0x400364;if(_0x54b811==='')throw new Error('Empty\x20Performance\x20Target\x20at\x20row\x20'+_0x9dd5c8+'.');_0x400364=_0x54b811;const _0x42bb7a=parseFormativeCourses(_0x168211);if(_0x42bb7a['length']===0x0)throw new Error('Invalid\x20Formative\x20Courses\x20format\x20at\x20row\x20'+_0x9dd5c8+'.');const _0x3a874f=performaceTarget(_0x54b811);if(!_0x3a874f['performance_target']||!_0x3a874f['passing_score'])throw new Error('Invalid\x20Performance\x20Targets\x20format\x20at\x20row\x20'+_0x9dd5c8+'.');const _0x24aaee={'pi_desc':_0x4d6ec4,'FormativeCourses':_0x42bb7a['map'](_0x500311=>({'course_id':_0x500311,'cognitive_level':0x0})),'SummativeCourse':{'course_id':_0x53a865},'AssessmentTool':{'at_desc':_0x4fb614},'PerformanceTargets':{'target_percent':_0x3a874f['performance_target'],'min_score':_0x3a874f['passing_score']}};_0x463fa2['PerfIndicators']['push'](_0x24aaee);}return {'success':!![],'message':'Successfully\x20parsed\x20POAEP\x20file.','data':{'POAEP':_0x15504e}};}catch(_0x587d09){return {'success':![],'error':_0x587d09 instanceof Error?_0x587d09['message']:_0x587d09,'message':'Please\x20ensure\x20the\x20file\x20follows\x20the\x20POAEP\x20template.'};}};
40
+ const parsePOAEP=_0x31dbf8=>{try{const _0x305ff8=_0x2c16b2['parse'](_0x31dbf8,{'skipEmptyLines':![]})['data'],{headerIdx:_0x4f7179,poIdx:_0x21ab7e,tlIdx:_0x2bca00,piIdx:_0x39d7fb,fcIdx:_0x182975,scIdx:_0x38c88f,atIdx:_0x1c7d13,ptIdx:_0x1579c5}=getPoaepHeader(_0x305ff8),_0x48bdb2=[];let _0xc4852e={'po_desc':'','seq_no':0x0,'PerfIndicators':[]},_0x862024='',_0x40d6d2='',_0x54b9e6='';for(let _0x495f05=_0x4f7179+0x1;_0x495f05<_0x305ff8['length'];_0x495f05++){const _0x32bbf2=_0x305ff8[_0x495f05];if(!_0x32bbf2)break;const _0x39aaec=_0x32bbf2[_0x21ab7e]?.['trim']()||'';_0x39aaec!==''&&(_0xc4852e={'po_desc':_0x39aaec,'seq_no':_0xc4852e['seq_no']+0x1,'PerfIndicators':[]},_0x48bdb2['push'](_0xc4852e),_0x862024='',_0x40d6d2='',_0x54b9e6='');if(_0xc4852e['po_desc']==='')throw new Error('Invalid\x20Program\x20Outcome\x20at\x20row\x20'+_0x495f05+'.');const _0x19cab3=_0x32bbf2[_0x39d7fb]?.['trim']()||'';if(_0x19cab3==='')break;const _0x4d8099=_0x32bbf2[_0x182975]?.['trim']()||'';if(_0x4d8099==='')throw new Error('Empty\x20Formative\x20Courses\x20at\x20row\x20'+_0x495f05+'.');const _0x1b6fc3=_0x32bbf2[_0x38c88f]?.['trim']()||_0x862024;if(_0x1b6fc3==='')throw new Error('Empty\x20Summative\x20Course\x20at\x20row\x20'+_0x495f05+'.');_0x862024=_0x1b6fc3;const _0x534322=_0x32bbf2[_0x1c7d13]?.['trim']()||_0x40d6d2;if(_0x534322==='')throw new Error('Empty\x20Assessment\x20Tool\x20at\x20row\x20'+_0x495f05+'.');_0x40d6d2=_0x534322;const _0x954c16=_0x32bbf2[_0x1579c5]?.['trim']()||_0x54b9e6;if(_0x954c16==='')throw new Error('Empty\x20Performance\x20Target\x20at\x20row\x20'+_0x495f05+'.');_0x54b9e6=_0x954c16;const _0x33d028=parseFormativeCourses(_0x4d8099);if(_0x33d028['length']===0x0)throw new Error('Invalid\x20Formative\x20Courses\x20format\x20at\x20row\x20'+_0x495f05+'.');const _0xdfb051=performaceTarget(_0x954c16);if(!_0xdfb051['performance_target']||!_0xdfb051['passing_score'])throw new Error('Invalid\x20Performance\x20Targets\x20format\x20at\x20row\x20'+_0x495f05+'.');const _0x2c2dab={'pi_desc':_0x19cab3,'FormativeCourses':_0x33d028['map'](_0x1d3792=>({'course_id':_0x1d3792,'cognitive_level':0x0})),'SummativeCourse':{'course_id':_0x1b6fc3},'AssessmentTool':{'at_desc':_0x534322},'PerformanceTargets':{'target_percent':_0xdfb051['performance_target'],'min_score':_0xdfb051['passing_score']}};_0xc4852e['PerfIndicators']['push'](_0x2c2dab);}return {'success':!![],'message':'Successfully\x20parsed\x20POAEP\x20file.','data':{'POAEP':_0x48bdb2}};}catch(_0xef6815){return {'success':![],'error':_0xef6815 instanceof Error?_0xef6815['message']:_0xef6815,'message':'Please\x20ensure\x20the\x20file\x20follows\x20the\x20POAEP\x20template.'};}};
41
41
 
42
- async function uploadPOAEP(_0x167e13,_0x4963b9,_0x284073,_0x2a3413,_0x9f9e24){try{const _0x2dea2d=await convertToCSVFile(_0x4963b9),_0x34f258=await _0x2dea2d['text'](),_0x2ba8a0=parsePOAEP(_0x34f258),_0x220c27=await fetch(_0x167e13+'/program-outcomes/poaep/upload?curr_id='+_0x2a3413+'&period_id='+_0x9f9e24,{'method':'POST','headers':{'Content-Type':'application/json','Authorization':'Bearer\x20'+_0x284073},'credentials':'include','body':JSON['stringify'](_0x2ba8a0)});if(!_0x220c27['ok']){const _0x2a7322=await _0x220c27['json']();throw _0x2a7322;}return _0x220c27['json']();}catch(_0x4f1e75){throw _0x4f1e75;}}
42
+ async function uploadPOAEP(_0x5d5c1e,_0x3bce65,_0x5e621c,_0x98e11f,_0x59b274){try{const _0x3fef48=await convertToCSVFile(_0x3bce65),_0x4bacfa=await _0x3fef48['text'](),_0x133b50=parsePOAEP(_0x4bacfa),_0x36710f=await fetch(_0x5d5c1e+'/program-outcomes/poaep/upload?curr_id='+_0x98e11f+'&period_id='+_0x59b274,{'method':'POST','headers':{'Content-Type':'application/json','Authorization':'Bearer\x20'+_0x5e621c},'credentials':'include','body':JSON['stringify'](_0x133b50)});if(!_0x36710f['ok']){const _0x5cc6a5=await _0x36710f['json']();throw _0x5cc6a5;}return _0x36710f['json']();}catch(_0x501625){throw _0x501625;}}
43
43
 
44
- const getAssessmentData=async _0x261bfc=>{try{const _0x53d585=await convertToCSVFile(_0x261bfc),_0x19db86=await _0x53d585['text'](),_0x3093aa=parseAssessmentCsv(_0x19db86),_0x5cbbb3={'success':!![],'message':'Successfully\x20parsed\x20Assessment\x20Data.','data':_0x3093aa};return Promise['resolve'](_0x5cbbb3);}catch(_0xc0752c){return Promise['reject']({'success':![],'message':'Error\x20parsing\x20Assessment\x20Data.','error':_0xc0752c});}};
44
+ const getAssessmentData=async _0x51b144=>{try{const _0x3de07f=await convertToCSVFile(_0x51b144),_0x2f14ed=await _0x3de07f['text'](),_0x63d18=parseAssessmentCsv(_0x2f14ed),_0x61a5ca={'success':!![],'message':'Successfully\x20parsed\x20Assessment\x20Data.','data':_0x63d18};return Promise['resolve'](_0x61a5ca);}catch(_0x16caa3){return Promise['reject']({'success':![],'message':'Error\x20parsing\x20Assessment\x20Data.','error':_0x16caa3});}};
45
45
 
46
- const getClassList=async _0x15f352=>{try{const _0x3e01b4=await convertToCSVFile(_0x15f352),_0x27f399=await _0x3e01b4['text'](),_0x452808=parseClassList(_0x27f399),_0x2b782a={'success':!![],'message':'Successfully\x20parsed\x20Class\x20List.','data':_0x452808};return Promise['resolve'](_0x2b782a);}catch(_0xbc591a){return Promise['reject']({'success':![],'message':'Error\x20parsing\x20Assessment\x20Data.','error':_0xbc591a});}};
46
+ const getClassList=async _0x256e4b=>{try{const _0x351fbf=await convertToCSVFile(_0x256e4b),_0x47d702=await _0x351fbf['text'](),_0x2599ce=parseClassList(_0x47d702),_0x39b263={'success':!![],'message':'Successfully\x20parsed\x20Class\x20List.','data':_0x2599ce};return Promise['resolve'](_0x39b263);}catch(_0xafbcf5){return Promise['reject']({'success':![],'message':'Error\x20parsing\x20Assessment\x20Data.','error':_0xafbcf5});}};
47
47
 
48
- async function getCOAEP(_0x2c5e9a){try{const _0x46429a=await convertToCSVFile(_0x2c5e9a),_0x3b58dc=await _0x46429a['text'](),_0x1567aa=parseCOAEP(_0x3b58dc);if('error'in _0x1567aa)return Promise['reject']({'success':![],'message':_0x1567aa['message'],'error':_0x1567aa['error']});const _0x3bff64={'success':!![],'message':'Successfully\x20parsed\x20COAEP\x20Data.','data':_0x1567aa};return Promise['resolve'](_0x3bff64);}catch(_0x1a751f){return Promise['reject']({'success':![],'message':'Error\x20parsing\x20COAEP\x20Data.','error':_0x1a751f});}}
48
+ async function getCOAEP(_0x598c69){try{const _0x27347b=await convertToCSVFile(_0x598c69),_0x1d0ad0=await _0x27347b['text'](),_0x430902=parseCOAEP(_0x1d0ad0);if('error'in _0x430902)return Promise['reject']({'success':![],'message':_0x430902['message'],'error':_0x430902['error']});const _0x571994={'success':!![],'message':'Successfully\x20parsed\x20COAEP\x20Data.','data':_0x430902};return Promise['resolve'](_0x571994);}catch(_0x26afe0){return Promise['reject']({'success':![],'message':'Error\x20parsing\x20COAEP\x20Data.','error':_0x26afe0});}}
49
49
 
50
- const getCourseOffering=async _0x57f9d9=>{try{const _0x1b04c2=await convertToCSVFile(_0x57f9d9),_0x357386=await _0x1b04c2['text'](),_0x3171f6=parseCourseOffering(_0x357386),_0x5aa18a={'success':!![],'message':'Successfully\x20parsed\x20Course\x20Offering.','data':{'courseOfferings':_0x3171f6}};return Promise['resolve'](_0x5aa18a);}catch(_0x4d3405){return Promise['reject']({'success':![],'message':'Error\x20parsing\x20Course\x20Offering.','error':_0x4d3405});}};
50
+ const getCourseOffering=async _0x58b196=>{try{const _0x12f75b=await convertToCSVFile(_0x58b196),_0x27654=await _0x12f75b['text'](),_0x147679=parseCourseOffering(_0x27654),_0x54b9de={'success':!![],'message':'Successfully\x20parsed\x20Course\x20Offering.','data':{'courseOfferings':_0x147679}};return Promise['resolve'](_0x54b9de);}catch(_0x36a9df){return Promise['reject']({'success':![],'message':'Error\x20parsing\x20Course\x20Offering.','error':_0x36a9df});}};
51
51
 
52
- const getCurriculum=async _0xbb8989=>{try{const _0x547c1f=await convertToCSVFile(_0xbb8989),_0x1d6ca2=await _0x547c1f['text'](),_0x7c4829=parseCurriculum(_0x1d6ca2),_0x81efca={'success':!![],'message':'Successfully\x20parsed\x20Curriculum.','data':{'curriculums':_0x7c4829}};return Promise['resolve'](_0x81efca);}catch(_0x2dd76f){return Promise['reject']({'success':![],'message':'Error\x20parsing\x20Curriculum.','error':_0x2dd76f});}};
52
+ const getCurriculum=async _0x403bd8=>{try{const _0x536ea7=await convertToCSVFile(_0x403bd8),_0x3f30fc=await _0x536ea7['text'](),_0x6dce8f=parseCurriculum(_0x3f30fc),_0x46e1b3={'success':!![],'message':'Successfully\x20parsed\x20Curriculum.','data':{'curriculums':_0x6dce8f}};return Promise['resolve'](_0x46e1b3);}catch(_0x3f74d9){return Promise['reject']({'success':![],'message':'Error\x20parsing\x20Curriculum.','error':_0x3f74d9});}};
53
53
 
54
- const getPOAEP=async _0x305a56=>{try{const _0x5cca75=await convertToCSVFile(_0x305a56),_0x5183bb=await _0x5cca75['text'](),_0x103664=parsePOAEP(_0x5183bb);if(!_0x103664['success'])return Promise['reject'](_0x103664);return Promise['resolve'](_0x103664);}catch(_0x33b9b5){return Promise['reject']({'success':![],'message':'Error\x20parsing\x20POAEP.','error':_0x33b9b5});}};
54
+ const getPOAEP=async _0x24f585=>{try{const _0x272fc1=await convertToCSVFile(_0x24f585),_0x53f789=await _0x272fc1['text'](),_0x327618=parsePOAEP(_0x53f789);if(!_0x327618['success'])return Promise['reject'](_0x327618);return Promise['resolve'](_0x327618);}catch(_0x5d4034){return Promise['reject']({'success':![],'message':'Error\x20parsing\x20POAEP.','error':_0x5d4034});}};
55
55
 
56
- const getDeptFaculty=async _0x2cde28=>{try{const _0x38ae3f=await convertToCSVFile(_0x2cde28),_0x317e3b=new FormData();_0x317e3b['append']('csvFile',_0x38ae3f);const _0x1fbf39={'success':!![],'message':'Successfully\x20parsed\x20Dept\x20Faculty.','data':{'body':_0x317e3b}};return Promise['resolve'](_0x1fbf39);}catch(_0x4a6711){return Promise['reject']({'success':![],'message':'Error\x20parsing\x20Dept\x20Faculty.','error':_0x4a6711});}};
56
+ const getDeptFaculty=async _0x385a49=>{try{const _0x2dfaf9=await convertToCSVFile(_0x385a49),_0x42c707=new FormData();_0x42c707['append']('csvFile',_0x2dfaf9);const _0x398c7a={'success':!![],'message':'Successfully\x20parsed\x20Dept\x20Faculty.','data':{'body':_0x42c707}};return Promise['resolve'](_0x398c7a);}catch(_0x5dc0c5){return Promise['reject']({'success':![],'message':'Error\x20parsing\x20Dept\x20Faculty.','error':_0x5dc0c5});}};
57
57
 
58
- const getEnrolledStudents=async _0x2b5571=>{try{const _0x1717dd=await convertToCSVFile(_0x2b5571),_0x593bee=new FormData();_0x593bee['append']('csvFile',_0x1717dd);const _0x5272f2={'success':!![],'message':'Successfully\x20parsed\x20Enrolled\x20Students.','data':{'body':_0x593bee}};return Promise['resolve'](_0x5272f2);}catch(_0x4885c7){return Promise['reject']({'success':![],'message':'Error\x20parsing\x20Enrolled\x20Students.','error':_0x4885c7});}};
58
+ const getEnrolledStudents=async _0x2d9a01=>{try{const _0x3355cc=await convertToCSVFile(_0x2d9a01),_0x1756e4=new FormData();_0x1756e4['append']('csvFile',_0x3355cc);const _0x4dc436={'success':!![],'message':'Successfully\x20parsed\x20Enrolled\x20Students.','data':{'body':_0x1756e4}};return Promise['resolve'](_0x4dc436);}catch(_0x52c5b1){return Promise['reject']({'success':![],'message':'Error\x20parsing\x20Enrolled\x20Students.','error':_0x52c5b1});}};
59
59
 
60
- class Client{['BASE_URL'];constructor(_0x307e6f){this['BASE_URL']=_0x307e6f;}['Parser'](){return {'curriculum':async _0x405ffe=>{const _0x3cf444=await uploadCurriculum(this['BASE_URL'],_0x405ffe);return _0x3cf444;},'courseOffering':async _0x1df9f0=>{const _0x41ca59=await uploadCourseOffering(this['BASE_URL'],_0x1df9f0);return _0x41ca59;},'coaep':async(_0x51399c,_0x143706)=>{const _0x56fbda=await uploadCOAEP(this['BASE_URL'],_0x51399c,_0x143706);return _0x56fbda;},'enrolledStudent':async _0x1aa588=>{const _0x335833=await uploadEnrolledStudent(this['BASE_URL'],_0x1aa588);return _0x335833;},'classlist':async(_0x17c29b,_0xf88b14,_0x42b0f8)=>{const _0x581d09=await uploadClassList(this['BASE_URL'],_0x17c29b,_0xf88b14,_0x42b0f8);return _0x581d09;},'assessmentData':async _0x297097=>{const _0x40674a=await uploadAssessmentData(this['BASE_URL'],_0x297097);return _0x40674a;},'deptFaculty':async _0x5c20c9=>{const _0x2ba05e=await uploadDeptFaculty(this['BASE_URL'],_0x5c20c9);return _0x2ba05e;},'poaep':async(_0x306963,_0x2eb7d8,_0x42dfa9,_0x45dec0)=>{const _0x31c6a2=await uploadPOAEP(this['BASE_URL'],_0x306963,_0x2eb7d8,_0x42dfa9,_0x45dec0);return _0x31c6a2;},'getAssessmentData':getAssessmentData,'getClassList':getClassList,'getCOAEP':getCOAEP,'getCourseOffering':getCourseOffering,'getCurriculum':getCurriculum,'getPOAEP':getPOAEP,'getDeptFaculty':getDeptFaculty,'getEnrolledStudents':getEnrolledStudents};}}
60
+ class Client{['BASE_URL'];constructor(_0x4adee4){this['BASE_URL']=_0x4adee4;}['Parser'](){return {'curriculum':async _0x3beefd=>{const _0x8176fa=await uploadCurriculum(this['BASE_URL'],_0x3beefd);return _0x8176fa;},'courseOffering':async _0x8e7de7=>{const _0x38b169=await uploadCourseOffering(this['BASE_URL'],_0x8e7de7);return _0x38b169;},'coaep':async(_0x55df1b,_0x290b47)=>{const _0x3b5281=await uploadCOAEP(this['BASE_URL'],_0x55df1b,_0x290b47);return _0x3b5281;},'enrolledStudent':async _0x3c423e=>{const _0x4e6d2d=await uploadEnrolledStudent(this['BASE_URL'],_0x3c423e);return _0x4e6d2d;},'classlist':async(_0x446819,_0x40de2a,_0x121a5a)=>{const _0x1c5f71=await uploadClassList(this['BASE_URL'],_0x446819,_0x40de2a,_0x121a5a);return _0x1c5f71;},'assessmentData':async _0x3c382a=>{const _0xb2ea85=await uploadAssessmentData(this['BASE_URL'],_0x3c382a);return _0xb2ea85;},'deptFaculty':async _0x4ea5d3=>{const _0x5f3ed3=await uploadDeptFaculty(this['BASE_URL'],_0x4ea5d3);return _0x5f3ed3;},'poaep':async(_0x3a7a14,_0x3fb7bd,_0x122410,_0x5364b4)=>{const _0x2ea67d=await uploadPOAEP(this['BASE_URL'],_0x3a7a14,_0x3fb7bd,_0x122410,_0x5364b4);return _0x2ea67d;},'getAssessmentData':getAssessmentData,'getClassList':getClassList,'getCOAEP':getCOAEP,'getCourseOffering':getCourseOffering,'getCurriculum':getCurriculum,'getPOAEP':getPOAEP,'getDeptFaculty':getDeptFaculty,'getEnrolledStudents':getEnrolledStudents};}}
61
61
 
62
62
  export { Client as default };
@@ -0,0 +1,5 @@
1
+ export default function extractFromObjective(objective: string): {
2
+ cognitive_level: "I" | "E" | "D" | null;
3
+ taxonomy_level: string | null;
4
+ verb: string | null;
5
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@obe-loms/coms-parser",
3
- "version": "1.4.7",
3
+ "version": "1.5.0",
4
4
  "license": "ISC",
5
5
  "dependencies": {
6
6
  "papaparse": "^5.5.3",
@@ -0,0 +1 @@
1
+ export {};
package/types/coaep.d.ts CHANGED
@@ -1,14 +1,18 @@
1
1
  export interface ILO {
2
2
  statement: string;
3
- verb: string;
4
3
  assessment_tool: string;
5
4
  performance_target: number | null;
6
5
  passing_score: number | null;
6
+ taxonomy_level: string | null;
7
+ cognitive_level: "I" | "E" | "D" | null;
8
+ verb: string | null;
7
9
  }
8
10
  export interface CO {
9
11
  statement: string;
10
- verb: string;
11
12
  ilo: ILO[];
13
+ taxonomy_level: string | null;
14
+ cognitive_level: "I" | "E" | "D" | null;
15
+ verb: string | null;
12
16
  }
13
17
  export interface COAEP {
14
18
  faculty: string | null;
@@ -0,0 +1,2 @@
1
+ export interface EquivalentCourse {
2
+ }