@obe-loms/coms-parser 1.4.3 → 1.4.5

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,38 +1,46 @@
1
- import _0x2d9c86 from 'papaparse';
2
- import * as _0x50dc90 from 'xlsx';
1
+ import _0x46b4e9 from 'papaparse';
2
+ import * as _0x572983 from 'xlsx';
3
3
 
4
- function parseCurriculum(_0x347300){let _0x3aa0cd='',_0x335b62='',_0x55378e=0x0,_0x1fb566=null;const _0x124286=[];return _0x2d9c86['parse'](_0x347300,{'skipEmptyLines':!![],'complete':_0x571fa7=>{_0x571fa7['data']['forEach'](_0x38d0de=>{const _0x1c12d5=_0x38d0de['map'](_0x1eb09e=>(_0x1eb09e??'')['toString']()['trim']()),_0x4fff0c=_0x1c12d5[0x0]??'';if(_0x4fff0c['includes']('Rev#')){const _0x566768=_0x4fff0c['match'](/([A-Z0-9]+)\s*-\s*.*:\s*(.*?)\s+Rev#\s*(\d+)/i);_0x566768&&(_0x3aa0cd=_0x566768[0x1]?.['trim']()??'',_0x335b62=_0x566768[0x2]?.['trim']()??'',_0x55378e=parseInt(_0x566768[0x3]??'0',0xa));return;}if(/FIRST YEAR/i['test'](_0x4fff0c)){_0x1fb566=0x1;return;}if(/SECOND YEAR/i['test'](_0x4fff0c)){_0x1fb566=0x2;return;}if(/THIRD YEAR/i['test'](_0x4fff0c)){_0x1fb566=0x3;return;}if(/FOURTH YEAR/i['test'](_0x4fff0c)){_0x1fb566=0x4;return;}if(/FIFTH YEAR/i['test'](_0x4fff0c)){_0x1fb566=0x5;return;}if(/First Semester/i['test'](_0x4fff0c)||/Second Semester/i['test'](_0x4fff0c)||/Summer/i['test'](_0x4fff0c))return;const _0xe22c11=[{'sem':0x1,'offset':0x0},{'sem':0x2,'offset':0x6},{'sem':0x3,'offset':0xc}];_0xe22c11['forEach'](({sem:_0x278270,offset:_0x5e67b4})=>{const _0x45e8ca=_0x1c12d5[_0x5e67b4]??'',_0x25878b=_0x1c12d5[_0x5e67b4+0x1]??'',_0x59d607=_0x1c12d5[_0x5e67b4+0x2]??'',_0x1f4ff=_0x1c12d5[_0x5e67b4+0x3]??'',_0x3894e5=_0x1c12d5[_0x5e67b4+0x4]??'';_0x45e8ca&&_0x1fb566&&_0x124286['push']({'curr_id':_0x3aa0cd,'program_name':_0x335b62,'revision_no':_0x55378e,'year_level':_0x1fb566,'sem':_0x278270,'course_id':_0x45e8ca,'course_desc':_0x25878b,'total_units':_0x59d607,'lec_unit':_0x1f4ff,'lab_unit':_0x3894e5});});});}}),_0x124286;}
4
+ function parseCurriculum(_0x1b357f){let _0x116a77='',_0x82fdd7='',_0x1bf64c=0x0,_0x220310=null;const _0x153d56=[];return _0x46b4e9['parse'](_0x1b357f,{'skipEmptyLines':!![],'complete':_0x2ec8b6=>{_0x2ec8b6['data']['forEach'](_0x20db97=>{const _0x5e7d16=_0x20db97['map'](_0x5e0864=>(_0x5e0864??'')['toString']()['trim']()),_0x3456d8=_0x5e7d16[0x0]??'';if(_0x3456d8['includes']('Rev#')){const _0xb3963a=_0x3456d8['match'](/([A-Z0-9]+)\s*-\s*.*:\s*(.*?)\s+Rev#\s*(\d+)/i);_0xb3963a&&(_0x116a77=_0xb3963a[0x1]?.['trim']()??'',_0x82fdd7=_0xb3963a[0x2]?.['trim']()??'',_0x1bf64c=parseInt(_0xb3963a[0x3]??'0',0xa));return;}if(/FIRST YEAR/i['test'](_0x3456d8)){_0x220310=0x1;return;}if(/SECOND YEAR/i['test'](_0x3456d8)){_0x220310=0x2;return;}if(/THIRD YEAR/i['test'](_0x3456d8)){_0x220310=0x3;return;}if(/FOURTH YEAR/i['test'](_0x3456d8)){_0x220310=0x4;return;}if(/FIFTH YEAR/i['test'](_0x3456d8)){_0x220310=0x5;return;}if(/First Semester/i['test'](_0x3456d8)||/Second Semester/i['test'](_0x3456d8)||/Summer/i['test'](_0x3456d8))return;const _0xaba1ec=[{'sem':0x1,'offset':0x0},{'sem':0x2,'offset':0x6},{'sem':0x3,'offset':0xc}];_0xaba1ec['forEach'](({sem:_0x4323e2,offset:_0x535b25})=>{const _0x3adb1b=_0x5e7d16[_0x535b25]??'',_0x39b002=_0x5e7d16[_0x535b25+0x1]??'',_0x57c3a3=_0x5e7d16[_0x535b25+0x2]??'',_0xeac4f9=_0x5e7d16[_0x535b25+0x3]??'',_0x2eac4d=_0x5e7d16[_0x535b25+0x4]??'';_0x3adb1b&&_0x220310&&_0x153d56['push']({'curr_id':_0x116a77,'program_name':_0x82fdd7,'revision_no':_0x1bf64c,'year_level':_0x220310,'sem':_0x4323e2,'course_id':_0x3adb1b,'course_desc':_0x39b002,'total_units':_0x57c3a3,'lec_unit':_0xeac4f9,'lab_unit':_0x2eac4d});});});}}),_0x153d56;}
5
5
 
6
- function convertToCSVFile(_0x3fd795){return new Promise((_0x3652fa,_0x5c435a)=>{const _0x3a0c20=new FileReader();_0x3a0c20['onload']=_0x13a877=>{const _0x3c2e94=_0x13a877['target']?.['result'];if(!_0x3c2e94){_0x5c435a(new Error('Failed\x20to\x20read\x20file'));return;}try{const _0x23fb42=_0x50dc90['read'](_0x3c2e94,{'type':'array'}),_0x2adb68=_0x23fb42['SheetNames'][0x0];if(!_0x2adb68){_0x5c435a(new Error('No\x20sheets\x20found\x20in\x20workbook'));return;}const _0x560210=_0x23fb42['Sheets'][_0x2adb68];if(!_0x560210){_0x5c435a(new Error('No\x20sheets\x20found\x20in\x20worksheet'));return;}const _0x3a1c57=_0x50dc90['utils']['sheet_to_csv'](_0x560210,{'strip':!![]}),_0xd122ce=_0x3fd795['name']['replace'](/\.[^/.]+$/,'.csv'),_0xf2713b=new File([_0x3a1c57],_0xd122ce,{'type':'text/csv','lastModified':Date['now']()});_0x3652fa(_0xf2713b);}catch(_0x191526){_0x5c435a(_0x191526);}},_0x3a0c20['onerror']=()=>{_0x5c435a(new Error('File\x20reading\x20failed'));},_0x3a0c20['readAsArrayBuffer'](_0x3fd795);});}
6
+ function convertToCSVFile(_0x33e567){return new Promise((_0x49a216,_0x32294b)=>{const _0x2b4665=new FileReader();_0x2b4665['onload']=_0x28f696=>{const _0x65d66a=_0x28f696['target']?.['result'];if(!_0x65d66a){_0x32294b(new Error('Failed\x20to\x20read\x20file'));return;}try{const _0xea27a1=_0x572983['read'](_0x65d66a,{'type':'array'}),_0x385502=_0xea27a1['SheetNames'][0x0];if(!_0x385502){_0x32294b(new Error('No\x20sheets\x20found\x20in\x20workbook'));return;}const _0x33f3ca=_0xea27a1['Sheets'][_0x385502];if(!_0x33f3ca){_0x32294b(new Error('No\x20sheets\x20found\x20in\x20worksheet'));return;}const _0x5e1373=_0x572983['utils']['sheet_to_csv'](_0x33f3ca,{'strip':!![]}),_0x5c5bba=_0x33e567['name']['replace'](/\.[^/.]+$/,'.csv'),_0x5a1577=new File([_0x5e1373],_0x5c5bba,{'type':'text/csv','lastModified':Date['now']()});_0x49a216(_0x5a1577);}catch(_0x1d0d89){_0x32294b(_0x1d0d89);}},_0x2b4665['onerror']=()=>{_0x32294b(new Error('File\x20reading\x20failed'));},_0x2b4665['readAsArrayBuffer'](_0x33e567);});}
7
7
 
8
- async function uploadCurriculum(_0x30fe1b,_0x549901){try{const _0x2f8f01=await convertToCSVFile(_0x549901),_0x1726ea=await _0x2f8f01['text'](),_0xa4765f=parseCurriculum(_0x1726ea),_0x11baaa=_0x2d9c86['unparse'](_0xa4765f),_0x29715a=new File([_0x11baaa],_0x2f8f01['name'],{'type':'text/csv'}),_0x3bac80=new FormData();_0x3bac80['append']('csvFile',_0x29715a);const _0x145006=await fetch(_0x30fe1b+'/curr-courses/upload',{'method':'POST','body':_0x3bac80});if(!_0x145006['ok']){const _0x5896a5=await _0x145006['json']();throw _0x5896a5;}return _0x145006['json']();}catch(_0x44fed2){throw _0x44fed2;}}
8
+ async function uploadCurriculum(_0x2fb11e,_0xf18c66){try{const _0x55b7b5=await convertToCSVFile(_0xf18c66),_0x28e355=await _0x55b7b5['text'](),_0x1d5c62=parseCurriculum(_0x28e355),_0x5995f5=_0x46b4e9['unparse'](_0x1d5c62),_0x2fbf09=new File([_0x5995f5],_0x55b7b5['name'],{'type':'text/csv'}),_0x84a99e=new FormData();_0x84a99e['append']('csvFile',_0x2fbf09);const _0x53d38b=await fetch(_0x2fb11e+'/curr-courses/upload',{'method':'POST','body':_0x84a99e});if(!_0x53d38b['ok']){const _0x473606=await _0x53d38b['json']();throw _0x473606;}return _0x53d38b['json']();}catch(_0x55365b){throw _0x55365b;}}
9
9
 
10
- function parseCourseOffering(_0x3bcc1d){let _0x11d2ee='',_0x36a22b='';const _0x4e10d7=[],_0x12b344=_0x2d9c86['parse'](_0x3bcc1d,{'header':![],'skipEmptyLines':!![],'delimiter':','}),_0x344053=_0x12b344['data'];for(let _0x4d5f0e=0x0;_0x4d5f0e<Math['min'](0x5,_0x344053['length']);_0x4d5f0e++){const _0x5a8cc4=_0x344053[_0x4d5f0e];if(_0x5a8cc4&&_0x5a8cc4['length']>0x0){const _0x22a359=_0x5a8cc4[0x0]?.['toString']()||'',_0x5bbc5d=_0x22a359['match'](/(First|Second)\s+Sem\s+S\/Y\s+(\d{4}-\d{4})/i);if(_0x5bbc5d){_0x11d2ee=_0x5bbc5d[0x1]?.['toLowerCase']()==='first'?'1':'2';if(_0x5bbc5d[0x2]){const _0x37da5d=_0x5bbc5d[0x2]['match'](/(\d{2})(\d{2})-(\d{2})(\d{2})/);_0x37da5d&&_0x37da5d[0x2]&&_0x37da5d[0x4]&&(_0x36a22b=_0x37da5d[0x2]+_0x37da5d[0x4]);}}}}let _0x1dcf46=-1;for(let _0x4c02d9=0x0;_0x4c02d9<_0x344053['length'];_0x4c02d9++){const _0x1b0e1a=_0x344053[_0x4c02d9];if(_0x1b0e1a&&_0x1b0e1a['some'](_0x21d509=>_0x21d509?.['toString']()['toUpperCase']()['includes']('CODE'))){_0x1dcf46=_0x4c02d9;break;}}if(_0x1dcf46===-1)throw new Error('Could\x20not\x20find\x20header\x20row\x20in\x20CSV\x20data');let _0x5c77d0={'code':'','description':'','unit':0x0};for(let _0x598eb2=_0x1dcf46+0x1;_0x598eb2<_0x344053['length'];_0x598eb2++){const _0x5d33d4=_0x344053[_0x598eb2];if(!_0x5d33d4||_0x5d33d4['length']<0x8)continue;const _0x4c0762=_0x5d33d4[0x1]?.['toString']()['trim']()||'',_0x2ab369=_0x5d33d4[0x4]?.['toString']()['trim']()||'',_0x51a95=_0x5d33d4[0x5]?.['toString']()['trim']()||'',_0x258d59=_0x5d33d4[0x6]?.['toString']()['trim']()||'',_0x20b34a=_0x5d33d4[0x7]?.['toString']()['trim']()||'',_0x147280=_0x5d33d4[0x3]?.['toString']()['trim']()||'';let _0x291b15=_0x5d33d4[0x0]?.['toString']()['trim']()||'',_0x5bf1fe=_0x5d33d4[0x2]?.['toString']()['trim']()||'';if(!_0x4c0762)continue;if(!_0x291b15)_0x291b15=_0x5c77d0['code'];if(!_0x5bf1fe)_0x5bf1fe=_0x5c77d0['description'];let _0x38ab7c=_0x5c77d0['unit'];if(_0x147280){const _0x1b3ba9=_0x147280['match'](/(\d+)/);_0x1b3ba9&&_0x1b3ba9[0x1]&&(_0x38ab7c=parseInt(_0x1b3ba9[0x1],0xa));}const _0x451754={'sem':_0x11d2ee,'school_year':_0x36a22b,'code':_0x291b15,'course_no':_0x4c0762,'course_desc':_0x5bf1fe,'unit':_0x38ab7c,'time':_0x2ab369,'days':_0x51a95,'faculty':_0x258d59,'room':_0x20b34a};_0x5c77d0['code']=_0x291b15,_0x5c77d0['description']=_0x5bf1fe,_0x5c77d0['unit']=_0x38ab7c,_0x4e10d7['push'](_0x451754);}return _0x4e10d7;}
10
+ function parseCourseOffering(_0x532d7a){let _0x55e81e='',_0x2a30ca='';const _0x1926d1=[],_0x531e11=_0x46b4e9['parse'](_0x532d7a,{'header':![],'skipEmptyLines':!![],'delimiter':','}),_0xe6d888=_0x531e11['data'];for(let _0x22fcd5=0x0;_0x22fcd5<Math['min'](0x5,_0xe6d888['length']);_0x22fcd5++){const _0xa4b614=_0xe6d888[_0x22fcd5];if(_0xa4b614&&_0xa4b614['length']>0x0){const _0x4d1ac5=_0xa4b614[0x0]?.['toString']()||'',_0x5bce01=_0x4d1ac5['match'](/(First|Second)\s+Sem\s+S\/Y\s+(\d{4}-\d{4})/i);if(_0x5bce01){_0x55e81e=_0x5bce01[0x1]?.['toLowerCase']()==='first'?'1':'2';if(_0x5bce01[0x2]){const _0x802173=_0x5bce01[0x2]['match'](/(\d{2})(\d{2})-(\d{2})(\d{2})/);_0x802173&&_0x802173[0x2]&&_0x802173[0x4]&&(_0x2a30ca=_0x802173[0x2]+_0x802173[0x4]);}}}}let _0x5d64c1=-1;for(let _0x1099f3=0x0;_0x1099f3<_0xe6d888['length'];_0x1099f3++){const _0x1172c8=_0xe6d888[_0x1099f3];if(_0x1172c8&&_0x1172c8['some'](_0x161b32=>_0x161b32?.['toString']()['toUpperCase']()['includes']('CODE'))){_0x5d64c1=_0x1099f3;break;}}if(_0x5d64c1===-1)throw new Error('Could\x20not\x20find\x20header\x20row\x20in\x20CSV\x20data');let _0x42742d={'code':'','description':'','unit':0x0};for(let _0x327633=_0x5d64c1+0x1;_0x327633<_0xe6d888['length'];_0x327633++){const _0x216793=_0xe6d888[_0x327633];if(!_0x216793||_0x216793['length']<0x8)continue;const _0x3bffc0=_0x216793[0x1]?.['toString']()['trim']()||'',_0x1379b1=_0x216793[0x4]?.['toString']()['trim']()||'',_0x2bb844=_0x216793[0x5]?.['toString']()['trim']()||'',_0x4ea680=_0x216793[0x6]?.['toString']()['trim']()||'',_0x49ae36=_0x216793[0x7]?.['toString']()['trim']()||'',_0x20ac97=_0x216793[0x3]?.['toString']()['trim']()||'';let _0x1b33fa=_0x216793[0x0]?.['toString']()['trim']()||'',_0x5d9e6f=_0x216793[0x2]?.['toString']()['trim']()||'';if(!_0x3bffc0)continue;if(!_0x1b33fa)_0x1b33fa=_0x42742d['code'];if(!_0x5d9e6f)_0x5d9e6f=_0x42742d['description'];let _0x4bb327=_0x42742d['unit'];if(_0x20ac97){const _0x14094a=_0x20ac97['match'](/(\d+)/);_0x14094a&&_0x14094a[0x1]&&(_0x4bb327=parseInt(_0x14094a[0x1],0xa));}const _0x30aea3={'sem':_0x55e81e,'school_year':_0x2a30ca,'code':_0x1b33fa,'course_no':_0x3bffc0,'course_desc':_0x5d9e6f,'unit':_0x4bb327,'time':_0x1379b1,'days':_0x2bb844,'faculty':_0x4ea680,'room':_0x49ae36};_0x42742d['code']=_0x1b33fa,_0x42742d['description']=_0x5d9e6f,_0x42742d['unit']=_0x4bb327,_0x1926d1['push'](_0x30aea3);}return _0x1926d1;}
11
11
 
12
- async function uploadCourseOffering(_0x4d1b58,_0x23b9ac){try{const _0x37d20f=await convertToCSVFile(_0x23b9ac),_0x353076=await _0x37d20f['text'](),_0x34ff72=parseCourseOffering(_0x353076),_0x3b411e=_0x2d9c86['unparse'](_0x34ff72),_0x44f91e=new File([_0x3b411e],_0x37d20f['name'],{'type':'text/csv'}),_0x9d3785=new FormData();_0x9d3785['append']('csvFile',_0x44f91e);const _0x5aafd5=await fetch(_0x4d1b58+'/course-offerings/upload',{'method':'POST','body':_0x9d3785});if(!_0x5aafd5['ok']){const _0x213575=await _0x5aafd5['json']();throw _0x213575;}return _0x5aafd5['json']();}catch(_0xf7fc09){throw _0xf7fc09;}}
12
+ async function uploadCourseOffering(_0x5c1aca,_0x446c55){try{const _0x86f794=await convertToCSVFile(_0x446c55),_0x1c1596=await _0x86f794['text'](),_0x272adb=parseCourseOffering(_0x1c1596),_0x56c17c=_0x46b4e9['unparse'](_0x272adb),_0x5ec5a1=new File([_0x56c17c],_0x86f794['name'],{'type':'text/csv'}),_0x65bfae=new FormData();_0x65bfae['append']('csvFile',_0x5ec5a1);const _0x51caa5=await fetch(_0x5c1aca+'/course-offerings/upload',{'method':'POST','body':_0x65bfae});if(!_0x51caa5['ok']){const _0x2ce80e=await _0x51caa5['json']();throw _0x2ce80e;}return _0x51caa5['json']();}catch(_0x415d60){throw _0x415d60;}}
13
13
 
14
- function performaceTarget(_0x31c329){if(!_0x31c329)return {'performance_target':null,'passing_score':null};const _0x25fa4c=_0x31c329['match'](/\d+/g);return {'performance_target':_0x25fa4c?.[0x0]?parseInt(_0x25fa4c[0x0],0xa):null,'passing_score':_0x25fa4c?.[0x1]?parseInt(_0x25fa4c[0x1],0xa):null};}
14
+ function performaceTarget(_0x1a4243){if(!_0x1a4243)return {'performance_target':null,'passing_score':null};const _0x2267ef=_0x1a4243['match'](/\d+/g);return {'performance_target':_0x2267ef?.[0x0]?parseInt(_0x2267ef[0x0],0xa):null,'passing_score':_0x2267ef?.[0x1]?parseInt(_0x2267ef[0x1],0xa):null};}
15
15
 
16
- function extractInstructionalVerb(_0x300892){const _0x3ee781=_0x300892['trim'](),_0x1b0bcc=/\b(will|shall)\b\s+(?:be\s+able\s+to\s+)?([a-zA-Z]+)/i,_0x2de270=_0x3ee781['match'](_0x1b0bcc);return _0x2de270&&_0x2de270[0x2]!==undefined?_0x2de270[0x2]:null;}
16
+ function extractInstructionalVerb(_0x4b123e){const _0x278697=_0x4b123e['trim'](),_0x13ee05=/\b(will|shall)\b\s+(?:be\s+able\s+to\s+)?([a-zA-Z]+)/i,_0xa2f580=_0x278697['match'](_0x13ee05);return _0xa2f580&&_0xa2f580[0x2]!==undefined?_0xa2f580[0x2]:null;}
17
17
 
18
- const HEADERS={'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(_0x48b2aa){let _0x159cf1={'headerRowIndex':-1,'coIdx':-1,'iloIdx':-1,'assessToolIdx':-1,'perfTargetIdx':-1};for(let _0x4260c7=0x0;_0x4260c7<Math['min'](_0x48b2aa['length'],0x14);_0x4260c7++){const _0x2ca2a4=(_0x48b2aa[_0x4260c7]??[])['map'](_0x591f59=>_0x591f59['toLowerCase']()['trim']()),_0x14c938=_0x2ca2a4['findIndex'](_0x24caaf=>HEADERS['co']['some'](_0x5f3202=>_0x24caaf['includes'](_0x5f3202))),_0xee2577=_0x2ca2a4['findIndex'](_0x27c121=>HEADERS['ilo']['some'](_0x154ebb=>_0x27c121['includes'](_0x154ebb))),_0x4e821d=_0x2ca2a4['findIndex'](_0x8354e8=>HEADERS['assessTool']['some'](_0x43273e=>_0x8354e8['includes'](_0x43273e))),_0x1e896f=_0x2ca2a4['findIndex'](_0x100985=>HEADERS['perfTarget']['some'](_0x4c22e5=>_0x100985['includes'](_0x4c22e5))),_0x1061e5=[_0x14c938,_0xee2577,_0x4e821d,_0x1e896f]['filter'](_0x4662ba=>_0x4662ba!==-1)['length'];if(_0x1061e5>=0x3){_0x159cf1={'headerRowIndex':_0x4260c7,'coIdx':_0x14c938,'iloIdx':_0xee2577,'assessToolIdx':_0x4e821d,'perfTargetIdx':_0x1e896f};break;}}return _0x159cf1;}
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(_0x583bc9){let _0x2120a5={'headerRowIndex':-1,'coIdx':-1,'iloIdx':-1,'assessToolIdx':-1,'perfTargetIdx':-1};for(let _0xafd1e5=0x0;_0xafd1e5<Math['min'](_0x583bc9['length'],0x14);_0xafd1e5++){const _0x4e39c7=(_0x583bc9[_0xafd1e5]??[])['map'](_0x367e89=>_0x367e89['toLowerCase']()['trim']()),_0x54b3f2=_0x4e39c7['findIndex'](_0x1019ec=>HEADERS$1['co']['some'](_0x57629e=>_0x1019ec['includes'](_0x57629e))),_0x121348=_0x4e39c7['findIndex'](_0x178384=>HEADERS$1['ilo']['some'](_0x49c459=>_0x178384['includes'](_0x49c459))),_0x4558bf=_0x4e39c7['findIndex'](_0x4f1499=>HEADERS$1['assessTool']['some'](_0x2535d9=>_0x4f1499['includes'](_0x2535d9))),_0x3ac58e=_0x4e39c7['findIndex'](_0x4f1df2=>HEADERS$1['perfTarget']['some'](_0x2aa9e0=>_0x4f1df2['includes'](_0x2aa9e0))),_0x264571=[_0x54b3f2,_0x121348,_0x4558bf,_0x3ac58e]['filter'](_0x111c16=>_0x111c16!==-1)['length'];if(_0x264571>=0x3){_0x2120a5={'headerRowIndex':_0xafd1e5,'coIdx':_0x54b3f2,'iloIdx':_0x121348,'assessToolIdx':_0x4558bf,'perfTargetIdx':_0x3ac58e};break;}}return _0x2120a5;}
19
19
 
20
- function parseCOAEP(_0x3a0115){const _0x213223=_0x2d9c86['parse'](_0x3a0115,{'skipEmptyLines':![]})['data'],_0x5bb742={'COAEP':{'faculty':null,'course':null,'sy':null,'semester':null,'co':[]}},{headerRowIndex:_0x164a88,coIdx:_0x1bb669,iloIdx:_0x3650ca,assessToolIdx:_0x2d9a34,perfTargetIdx:_0x2d075b}=getCoaepHeader(_0x213223);if(_0x164a88===-1)return {'error':'Could\x20not\x20auto-detect\x20header\x20row.','message':'Please\x20ensure\x20the\x20CSV\x20file\x20is\x20in\x20the\x20correct\x20COAEP\x20format.'};_0x213223['forEach'](_0x1f1fee=>{const _0x4f9c4d=_0x1f1fee['indexOf']('Name\x20of\x20Faculty:'),_0xe00c8d=_0x1f1fee['indexOf']('School\x20Year'),_0xa27c35=_0x1f1fee['indexOf']('Course:'),_0x2a119e=_0x1f1fee['indexOf']('Semester');_0x4f9c4d!==-1&&(_0x5bb742['COAEP']['faculty']=_0x1f1fee[_0x4f9c4d+0x1]?.['trim']()||_0x5bb742['COAEP']['faculty']);_0xe00c8d!==-1&&(_0x5bb742['COAEP']['sy']=_0x1f1fee[_0xe00c8d+0x1]?.['trim']()||_0x5bb742['COAEP']['sy']);_0xa27c35!==-1&&(_0x5bb742['COAEP']['course']=_0x1f1fee[_0xa27c35+0x1]?.['trim']()||_0x5bb742['COAEP']['course']);if(_0x2a119e!==-1){const _0x1fedc1=_0x1f1fee[_0x2a119e+0x1]?.['trim']()||'',_0x399186=_0x1fedc1['match'](/\d+/)?.[0x0];_0x5bb742['COAEP']['semester']=_0x399186?parseInt(_0x399186,0xa):_0x5bb742['COAEP']['semester'];}});let _0x5e614f=null;return _0x213223['forEach']((_0x13b881,_0xfc4060)=>{if(_0xfc4060<=_0x164a88)return;let _0x125644=_0x13b881[_0x1bb669-0x1]?.['trim']()||'',_0x57dccf=_0x13b881[_0x1bb669]?.['trim']()||'';/^\d+$/['test'](_0x13b881[_0x1bb669]?.['trim']()||'')&&(_0x125644=_0x13b881[_0x1bb669]?.['trim']()||'',_0x57dccf=_0x13b881[_0x1bb669+0x1]?.['trim']()||'');const _0x3dacf1=_0x13b881[_0x3650ca]?.['trim']()||'',_0x500eda=_0x13b881[_0x2d9a34]?.['replace'](/^ILO\d+[:.]?\s*/,'')['trim']()||'',_0x2a4e2e=_0x13b881[_0x2d075b]?.['replace'](/\s+/g,'\x20')['trim']()||'';if(_0x125644&&/^\d+$/['test'](_0x125644)){_0x5e614f&&_0x5bb742['COAEP']['co']['push'](_0x5e614f);const _0x410eed=_0x57dccf,_0x186069=extractInstructionalVerb(_0x410eed)||'';_0x5e614f={'statement':_0x410eed,'verb':_0x186069,'ilo':[]};}if(_0x5e614f&&_0x3dacf1&&_0x2a4e2e){const _0x38e1b1=_0x3dacf1['replace'](/^ILO\d+[:.]?\s*/,'');if(_0x38e1b1['match'](/^(Revision|Prepared|Date|Approved|Effectivity|Page)/i)||_0x38e1b1['length']<0xa)return;let _0x371243=_0x500eda;if(!_0x371243&&_0x38e1b1['includes'](':')){const _0x1d6991=_0x38e1b1['match'](/^ILO\d+:\s*(.+?)(?:\s*\(|$)/);_0x1d6991&&(_0x371243=_0x1d6991[0x1]?.['trim']()||'');}const {performance_target:_0x353c6e,passing_score:_0x27ab99}=performaceTarget(_0x2a4e2e);_0x5e614f['ilo']['push']({'statement':_0x38e1b1,'verb':extractInstructionalVerb(_0x38e1b1)||'','assessment_tool':_0x371243,'performance_target':_0x353c6e,'passing_score':_0x27ab99});}}),_0x5e614f&&_0x5bb742['COAEP']['co']['push'](_0x5e614f),_0x5bb742;}
20
+ function parseCOAEP(_0x386ade){const _0x21cb51=_0x46b4e9['parse'](_0x386ade,{'skipEmptyLines':![]})['data'],_0x4c0068={'COAEP':{'faculty':null,'course':null,'sy':null,'semester':null,'co':[]}},{headerRowIndex:_0x5a4ded,coIdx:_0x4ea3da,iloIdx:_0x470ac6,assessToolIdx:_0x3776cd,perfTargetIdx:_0x195ead}=getCoaepHeader(_0x21cb51);if(_0x5a4ded===-1)return {'error':'Could\x20not\x20auto-detect\x20header\x20row.','message':'Please\x20ensure\x20the\x20CSV\x20file\x20is\x20in\x20the\x20correct\x20COAEP\x20format.'};_0x21cb51['forEach'](_0xd96b03=>{const _0x1a4c38=_0xd96b03['indexOf']('Name\x20of\x20Faculty:'),_0x2ad88a=_0xd96b03['indexOf']('School\x20Year'),_0x52c2ba=_0xd96b03['indexOf']('Course:'),_0x5ed7fe=_0xd96b03['indexOf']('Semester');_0x1a4c38!==-1&&(_0x4c0068['COAEP']['faculty']=_0xd96b03[_0x1a4c38+0x1]?.['trim']()||_0x4c0068['COAEP']['faculty']);_0x2ad88a!==-1&&(_0x4c0068['COAEP']['sy']=_0xd96b03[_0x2ad88a+0x1]?.['trim']()||_0x4c0068['COAEP']['sy']);_0x52c2ba!==-1&&(_0x4c0068['COAEP']['course']=_0xd96b03[_0x52c2ba+0x1]?.['trim']()||_0x4c0068['COAEP']['course']);if(_0x5ed7fe!==-1){const _0x3fc30f=_0xd96b03[_0x5ed7fe+0x1]?.['trim']()||'',_0x2bea08=_0x3fc30f['match'](/\d+/)?.[0x0];_0x4c0068['COAEP']['semester']=_0x2bea08?parseInt(_0x2bea08,0xa):_0x4c0068['COAEP']['semester'];}});let _0x49cafc=null;return _0x21cb51['forEach']((_0x4b3588,_0x5c7b2d)=>{if(_0x5c7b2d<=_0x5a4ded)return;let _0x36e47f=_0x4b3588[_0x4ea3da-0x1]?.['trim']()||'',_0xc148c8=_0x4b3588[_0x4ea3da]?.['trim']()||'';/^\d+$/['test'](_0x4b3588[_0x4ea3da]?.['trim']()||'')&&(_0x36e47f=_0x4b3588[_0x4ea3da]?.['trim']()||'',_0xc148c8=_0x4b3588[_0x4ea3da+0x1]?.['trim']()||'');const _0xf57a89=_0x4b3588[_0x470ac6]?.['trim']()||'',_0x2ee38b=_0x4b3588[_0x3776cd]?.['replace'](/^ILO\d+[:.]?\s*/,'')['trim']()||'',_0x2a05b=_0x4b3588[_0x195ead]?.['replace'](/\s+/g,'\x20')['trim']()||'';if(_0x36e47f&&/^\d+$/['test'](_0x36e47f)){_0x49cafc&&_0x4c0068['COAEP']['co']['push'](_0x49cafc);const _0x589276=_0xc148c8,_0x3229f1=extractInstructionalVerb(_0x589276)||'';_0x49cafc={'statement':_0x589276,'verb':_0x3229f1,'ilo':[]};}if(_0x49cafc&&_0xf57a89&&_0x2a05b){const _0x527548=_0xf57a89['replace'](/^ILO\d+[:.]?\s*/,'');if(_0x527548['match'](/^(Revision|Prepared|Date|Approved|Effectivity|Page)/i)||_0x527548['length']<0xa)return;let _0x575c2d=_0x2ee38b;if(!_0x575c2d&&_0x527548['includes'](':')){const _0x25841c=_0x527548['match'](/^ILO\d+:\s*(.+?)(?:\s*\(|$)/);_0x25841c&&(_0x575c2d=_0x25841c[0x1]?.['trim']()||'');}const {performance_target:_0x908b9c,passing_score:_0x417b9d}=performaceTarget(_0x2a05b);_0x49cafc['ilo']['push']({'statement':_0x527548,'verb':extractInstructionalVerb(_0x527548)||'','assessment_tool':_0x575c2d,'performance_target':_0x908b9c,'passing_score':_0x417b9d});}}),_0x49cafc&&_0x4c0068['COAEP']['co']['push'](_0x49cafc),_0x4c0068;}
21
21
 
22
- async function uploadCOAEP(_0x4c1b81,_0x5776c0,_0x1a24fa){try{const _0x2f57b5=await convertToCSVFile(_0x5776c0),_0x27b1fe=await _0x2f57b5['text'](),_0x2339b8=parseCOAEP(_0x27b1fe);console['log'](_0x2339b8);const _0x5b15bb=await fetch(_0x4c1b81+'/coaeps/upload?course_id='+_0x1a24fa,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x2339b8)});if(!_0x5b15bb['ok']){const _0x4c47de=await _0x5b15bb['json']();throw _0x4c47de;}return _0x5b15bb['json']();}catch(_0x389c98){throw _0x389c98;}}
22
+ async function uploadCOAEP(_0x3c7dcc,_0x3f7ee6,_0xeace2){try{const _0x1cb041=await convertToCSVFile(_0x3f7ee6),_0x53c63c=await _0x1cb041['text'](),_0x21c422=parseCOAEP(_0x53c63c);console['log'](_0x21c422);const _0xf7a05a=await fetch(_0x3c7dcc+'/coaeps/upload?course_id='+_0xeace2,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x21c422)});if(!_0xf7a05a['ok']){const _0x2c0257=await _0xf7a05a['json']();throw _0x2c0257;}return _0xf7a05a['json']();}catch(_0x1e0cb2){throw _0x1e0cb2;}}
23
23
 
24
- async function uploadEnrolledStudent(_0x5ef5ef,_0x341538){try{const _0x400b93=await convertToCSVFile(_0x341538),_0x1f04ca=new FormData();_0x1f04ca['append']('csvFile',_0x400b93);const _0x19cc94=await fetch(_0x5ef5ef+'/enrolled-students/upload',{'method':'POST','body':_0x1f04ca});if(!_0x19cc94['ok']){const _0x288502=await _0x19cc94['json']();throw _0x288502;}return _0x19cc94['json']();}catch(_0x3f0912){throw _0x3f0912;}}
24
+ async function uploadEnrolledStudent(_0x26fad2,_0x8dbf1f){try{const _0x207c3e=await convertToCSVFile(_0x8dbf1f),_0x216b4b=new FormData();_0x216b4b['append']('csvFile',_0x207c3e);const _0x567e6b=await fetch(_0x26fad2+'/enrolled-students/upload',{'method':'POST','body':_0x216b4b});if(!_0x567e6b['ok']){const _0x8e236c=await _0x567e6b['json']();throw _0x8e236c;}return _0x567e6b['json']();}catch(_0x53d942){throw _0x53d942;}}
25
25
 
26
- function parseClassList(_0x5d446c){const _0x402849=_0x2d9c86['parse'](_0x5d446c,{'skipEmptyLines':!![]})['data'];let _0x40aa33='',_0x4a463f='',_0x1aa2fa='';const _0x201389=[];return _0x402849['forEach'](_0xa365cd=>{const _0x10b32b=_0xa365cd['map'](_0x287726=>(_0x287726??'')['toString']()['trim']()),_0x4da441=_0x10b32b[0x0]??'';if(_0x4da441['startsWith']('Course\x20No:')){const _0x1e43c0=_0x4da441['replace']('Course\x20No:','')['trim'](),_0x16d9d8=_0x1e43c0['split'](/\s+/);_0x1aa2fa=_0x16d9d8[0x0]??'';const [_0x290492,_0x26545a]=(_0x16d9d8[0x1]??'')['split']('-');_0x4a463f=_0x290492??'';const _0x31b820=(_0x26545a??'')['match'](/[a-z]$/);_0x40aa33=_0x31b820?_0x31b820[0x0]:'';}if(/^\d+$/['test'](_0x4da441)){const _0x2bc8cb=_0x10b32b[0x2]??'';_0x201389['push']({'subj_code':_0x1aa2fa,'student_no':_0x2bc8cb,'course_id':_0x4a463f,'section':_0x40aa33});}}),{'enrolledCourses':_0x201389};}
26
+ function parseClassList(_0x33890c){const _0x249507=_0x46b4e9['parse'](_0x33890c,{'skipEmptyLines':!![]})['data'];let _0x29c18a='',_0x1017aa='',_0x25ce1a='';const _0x26f81e=[];return _0x249507['forEach'](_0x8a0b48=>{const _0x17b8ec=_0x8a0b48['map'](_0x2e543b=>(_0x2e543b??'')['toString']()['trim']()),_0x58d21d=_0x17b8ec[0x0]??'';if(_0x58d21d['startsWith']('Course\x20No:')){const _0x20841f=_0x58d21d['replace']('Course\x20No:','')['trim'](),_0x4dc37a=_0x20841f['split'](/\s+/);_0x25ce1a=_0x4dc37a[0x0]??'';const [_0x149f1c,_0x272fa6]=(_0x4dc37a[0x1]??'')['split']('-');_0x1017aa=_0x149f1c??'';const _0xc09369=(_0x272fa6??'')['match'](/[a-z]$/);_0x29c18a=_0xc09369?_0xc09369[0x0]:'';}if(/^\d+$/['test'](_0x58d21d)){const _0x2e791c=_0x17b8ec[0x2]??'';_0x26f81e['push']({'subj_code':_0x25ce1a,'student_no':_0x2e791c,'course_id':_0x1017aa,'section':_0x29c18a});}}),{'enrolledCourses':_0x26f81e};}
27
27
 
28
- async function uploadClassList(_0x30afe2,_0x34f22f,_0x2e929e,_0x2d8978){try{const _0x30848d=await convertToCSVFile(_0x34f22f),_0x2bbd4c=await _0x30848d['text'](),_0x91cecc=parseClassList(_0x2bbd4c),_0x38a6ac='subj_code='+_0x2e929e+'&period_id='+_0x2d8978,_0x1b61a1=await fetch(_0x30afe2+'/enrolled-courses/upload?'+_0x38a6ac,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x91cecc)});if(!_0x1b61a1['ok']){const _0x5d7f3c=await _0x1b61a1['json']();throw _0x5d7f3c;}return _0x1b61a1['json']();}catch(_0x5698e2){throw _0x5698e2;}}
28
+ async function uploadClassList(_0x284c70,_0xe37b1d,_0x35ab93,_0x389245){try{const _0x32bfd5=await convertToCSVFile(_0xe37b1d),_0x32f898=await _0x32bfd5['text'](),_0x518591=parseClassList(_0x32f898),_0x434e63='subj_code='+_0x35ab93+'&period_id='+_0x389245,_0x70a866=await fetch(_0x284c70+'/enrolled-courses/upload?'+_0x434e63,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x518591)});if(!_0x70a866['ok']){const _0x430ffc=await _0x70a866['json']();throw _0x430ffc;}return _0x70a866['json']();}catch(_0x2393f1){throw _0x2393f1;}}
29
29
 
30
- function parseAssessmentCsv(_0x56a435){const {data:_0xac7db3}=_0x2d9c86['parse'](_0x56a435,{'skipEmptyLines':!![]}),_0x478759=_0xac7db3['filter'](_0x38e2ed=>_0x38e2ed['length']>0x0),_0x12c206=_0x478759['find'](_0x381e40=>_0x381e40['some'](_0x2ac434=>_0x2ac434?.['includes']('Faculty'))),_0x37861e=_0x12c206?_0x12c206['findIndex'](_0x3bd104=>_0x3bd104?.['includes']('Faculty')):-1,_0x2c8af4=_0x37861e!==-1&&_0x12c206?_0x12c206[_0x37861e+0x2]?.['replace'](/"/g,'')['trim']()??'':'',_0x56d635=_0x478759['find'](_0x30758e=>_0x30758e['some'](_0x18fd74=>_0x18fd74?.['includes']('Semester'))),_0xd07977=_0x56d635?_0x56d635['findIndex'](_0x36a554=>_0x36a554?.['includes']('Semester')):-1,_0x267f1e=_0xd07977!==-1&&_0x56d635?_0x56d635[_0xd07977+0x2]?.['trim']()??'':'',_0x2b7d58=_0x267f1e['includes']('1st')?0x1:_0x267f1e['includes']('2nd')?0x2:0x0,_0x449358=_0x478759['find'](_0x5c2e24=>_0x5c2e24['some'](_0x4ba300=>_0x4ba300?.['includes']('Course\x20&\x20Sec'))),_0x131557=_0x449358?_0x449358['findIndex'](_0x2d20b2=>_0x2d20b2?.['includes']('Course\x20&\x20Sec')):-1,_0x497f31=_0x131557!==-1&&_0x449358?_0x449358[_0x131557+0x2]?.['trim']()??'':'';let _0x13b36c='',_0x206f57='';if(_0x497f31){const _0x3e2597=_0x497f31['match'](/^([A-Za-z0-9]+)-?([A-Za-z]+)?/);_0x3e2597&&(_0x13b36c=_0x3e2597[0x1]??'',_0x3e2597[0x2]&&(_0x206f57=_0x3e2597[0x2]['replace'](/^OC/i,'')));}const _0x2e2c5b=_0x478759['find'](_0x2e8fef=>_0x2e8fef['some'](_0x18b194=>_0x18b194?.['includes']('School\x20Year'))),_0x32ac04=_0x2e2c5b?_0x2e2c5b['findIndex'](_0x5b1eb5=>_0x5b1eb5?.['includes']('School\x20Year')):-1,_0x49319a=_0x32ac04!==-1&&_0x2e2c5b?_0x2e2c5b[_0x32ac04+0x2]?.['trim']()??'':'';let _0x4e0bc8=0x0;if(_0x49319a){const _0x589066=_0x49319a['match'](/(\d{4})-(\d{4})/);if(_0x589066){const _0x1e8e45=(_0x589066[0x1]??'')['slice'](0x2),_0x25a5e2=(_0x589066[0x2]??'')['slice'](0x2);_0x4e0bc8=parseInt(_0x1e8e45+_0x25a5e2,0xa);}}const _0x4df460={'faculty':_0x2c8af4,'course':_0x13b36c,'section':_0x206f57,'semester':_0x2b7d58,'sy':_0x4e0bc8},_0x502709=_0x478759['findIndex'](_0x1f0ea=>_0x1f0ea['some'](_0x3e0ee5=>_0x3e0ee5?.['trim']()==='CO\x20#'));if(_0x502709===-1)throw new Error('CO\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x3a30dc=_0x478759[_0x502709+0x1];if(!_0x3a30dc)throw new Error('ILO\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x389da7={};let _0x5be7b5=0x1,_0xe9cf74=0x1;for(let _0x17e4c9=0x3;_0x17e4c9<_0x3a30dc['length'];_0x17e4c9++){const _0x2fc080=_0x3a30dc[_0x17e4c9];if(!_0x2fc080)continue;const _0x3eb0e0='co'+_0x5be7b5;if(!_0x389da7[_0x3eb0e0])_0x389da7[_0x3eb0e0]=[];_0x389da7[_0x3eb0e0]['push']('ilo'+_0xe9cf74),_0xe9cf74++,_0xe9cf74>0x3&&(_0x5be7b5++,_0xe9cf74=0x1);}const _0x4847fa=_0x478759['findIndex'](_0x1ecb54=>_0x1ecb54['includes']('Name\x20of\x20Students'));if(_0x4847fa===-1)throw new Error('Student\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x11e9ea=_0x478759[_0x4847fa];if(!_0x11e9ea)throw new Error('Student\x20header\x20row\x20is\x20missing');const _0x27a107=_0x11e9ea['findIndex'](_0x16d307=>_0x16d307?.['includes']('Name\x20of\x20Students'));if(_0x27a107===-1)throw new Error('Name\x20of\x20Students\x20column\x20not\x20found\x20in\x20CSV');const _0x23750c=_0x27a107+0x2,_0x377547=[];for(let _0x1d7cce=_0x4847fa+0x1;_0x1d7cce<_0x478759['length'];_0x1d7cce++){const _0x46c9cf=_0x478759[_0x1d7cce];if(!_0x46c9cf)continue;if(_0x46c9cf['some'](_0x57f958=>_0x57f958?.['toUpperCase']()['includes']('TOTAL\x20STUDENTS')||_0x57f958?.['toUpperCase']()['includes']('ACHIEVED\x20THE\x20MINIMUM')||_0x57f958?.['toUpperCase']()['includes']('INACTIVE')||_0x57f958?.['toUpperCase']()['includes']('AVERAGE')))continue;if(!_0x46c9cf[_0x27a107])continue;const _0x210b04=_0x46c9cf[_0x27a107]['replace'](/"/g,'')['trim'](),_0x51601e=_0x46c9cf['slice'](_0x23750c)['map'](_0x181453=>_0x181453===null?null:!isNaN(Number(_0x181453))?parseFloat(_0x181453):0x0);let _0x424ff0=0x0;const _0x126a49={};Object['entries'](_0x389da7)['forEach'](([_0x302571,_0x319959])=>{const _0x4d50b1={};_0x319959['forEach'](_0x4f901f=>{_0x4d50b1[_0x4f901f]=_0x51601e[_0x424ff0]??0x0,_0x424ff0++;}),_0x126a49[_0x302571]={'transmuted_score':_0x4d50b1};}),_0x377547['push']({'student_name':_0x210b04,'coaep':_0x126a49});}const _0x474a26=_0x478759['find'](_0x3569de=>_0x3569de['some'](_0x4026fe=>_0x4026fe?.['includes']('ACHIEVED\x20THE\x20MINIMUM'))),_0x45aeba=_0x478759['find'](_0x3e17b0=>_0x3e17b0['some'](_0x2d8b9f=>_0x2d8b9f?.['includes']('AVERAGE'))),_0x47dfa3=_0x474a26?_0x474a26['slice'](_0x23750c)['map'](_0x29285f=>_0x29285f&&!isNaN(Number(_0x29285f))?parseInt(_0x29285f):0x0):[],_0x21e981=_0x45aeba?_0x45aeba['slice'](_0x23750c)['map'](_0xc041a0=>_0xc041a0&&_0xc041a0!=='#DIV/0!'&&!isNaN(Number(_0xc041a0))?parseInt(_0xc041a0):0x0):[],_0x4f42c0={};let _0xd9afd4=0x0;return Object['entries'](_0x389da7)['forEach'](([_0x1f5d78,_0x22f9e7])=>{if(!_0x4f42c0[_0x1f5d78])_0x4f42c0[_0x1f5d78]={};_0x22f9e7['forEach'](_0x5b9682=>{_0x4f42c0[_0x1f5d78][_0x5b9682]={'achievedMinimum':_0x47dfa3[_0xd9afd4]??0x0,'average':_0x21e981[_0xd9afd4]??0x0},_0xd9afd4++;});}),{'assessmentData':{'classAssignment':_0x4df460,'student':_0x377547,'total':_0x4f42c0}};}
30
+ function parseAssessmentCsv(_0x5b1c87){const {data:_0x5b1586}=_0x46b4e9['parse'](_0x5b1c87,{'skipEmptyLines':!![]}),_0x552173=_0x5b1586['filter'](_0x30e6bf=>_0x30e6bf['length']>0x0),_0x316285=_0x552173['find'](_0x4e89b2=>_0x4e89b2['some'](_0x34f9c6=>_0x34f9c6?.['includes']('Faculty'))),_0x92949d=_0x316285?_0x316285['findIndex'](_0x146645=>_0x146645?.['includes']('Faculty')):-1,_0x586cfa=_0x92949d!==-1&&_0x316285?_0x316285[_0x92949d+0x2]?.['replace'](/"/g,'')['trim']()??'':'',_0xe4a5fc=_0x552173['find'](_0x7002e7=>_0x7002e7['some'](_0x6732cc=>_0x6732cc?.['includes']('Semester'))),_0x1fd1ce=_0xe4a5fc?_0xe4a5fc['findIndex'](_0x3c7f70=>_0x3c7f70?.['includes']('Semester')):-1,_0x14b7f8=_0x1fd1ce!==-1&&_0xe4a5fc?_0xe4a5fc[_0x1fd1ce+0x2]?.['trim']()??'':'',_0x3b6d9e=_0x14b7f8['includes']('1st')?0x1:_0x14b7f8['includes']('2nd')?0x2:0x0,_0x59847d=_0x552173['find'](_0x193eb9=>_0x193eb9['some'](_0x1b8e7a=>_0x1b8e7a?.['includes']('Course\x20&\x20Sec'))),_0x2967ad=_0x59847d?_0x59847d['findIndex'](_0x4b0eed=>_0x4b0eed?.['includes']('Course\x20&\x20Sec')):-1,_0x47cd08=_0x2967ad!==-1&&_0x59847d?_0x59847d[_0x2967ad+0x2]?.['trim']()??'':'';let _0x4ba579='',_0x175115='';if(_0x47cd08){const _0x177295=_0x47cd08['match'](/^([A-Za-z0-9]+)-?([A-Za-z]+)?/);_0x177295&&(_0x4ba579=_0x177295[0x1]??'',_0x177295[0x2]&&(_0x175115=_0x177295[0x2]['replace'](/^OC/i,'')));}const _0x5bfc06=_0x552173['find'](_0x2e0613=>_0x2e0613['some'](_0xb3011a=>_0xb3011a?.['includes']('School\x20Year'))),_0x48462a=_0x5bfc06?_0x5bfc06['findIndex'](_0x15ba29=>_0x15ba29?.['includes']('School\x20Year')):-1,_0x1c6973=_0x48462a!==-1&&_0x5bfc06?_0x5bfc06[_0x48462a+0x2]?.['trim']()??'':'';let _0x3de99c=0x0;if(_0x1c6973){const _0x56015b=_0x1c6973['match'](/(\d{4})-(\d{4})/);if(_0x56015b){const _0x38f28f=(_0x56015b[0x1]??'')['slice'](0x2),_0x5d93dd=(_0x56015b[0x2]??'')['slice'](0x2);_0x3de99c=parseInt(_0x38f28f+_0x5d93dd,0xa);}}const _0x54ef71={'faculty':_0x586cfa,'course':_0x4ba579,'section':_0x175115,'semester':_0x3b6d9e,'sy':_0x3de99c},_0x572e1b=_0x552173['findIndex'](_0x47797f=>_0x47797f['some'](_0x4195b6=>_0x4195b6?.['trim']()==='CO\x20#'));if(_0x572e1b===-1)throw new Error('CO\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x204153=_0x552173[_0x572e1b+0x1];if(!_0x204153)throw new Error('ILO\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x1a1461={};let _0x5a28b9=0x1,_0x3af121=0x1;for(let _0x174944=0x3;_0x174944<_0x204153['length'];_0x174944++){const _0x9d3b9b=_0x204153[_0x174944];if(!_0x9d3b9b)continue;const _0x14204f='co'+_0x5a28b9;if(!_0x1a1461[_0x14204f])_0x1a1461[_0x14204f]=[];_0x1a1461[_0x14204f]['push']('ilo'+_0x3af121),_0x3af121++,_0x3af121>0x3&&(_0x5a28b9++,_0x3af121=0x1);}const _0x28e0fe=_0x552173['findIndex'](_0x39258d=>_0x39258d['includes']('Name\x20of\x20Students'));if(_0x28e0fe===-1)throw new Error('Student\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x4e8a02=_0x552173[_0x28e0fe];if(!_0x4e8a02)throw new Error('Student\x20header\x20row\x20is\x20missing');const _0x47388f=_0x4e8a02['findIndex'](_0x2a6738=>_0x2a6738?.['includes']('Name\x20of\x20Students'));if(_0x47388f===-1)throw new Error('Name\x20of\x20Students\x20column\x20not\x20found\x20in\x20CSV');const _0x59db40=_0x47388f+0x2,_0x333323=[];for(let _0x57d068=_0x28e0fe+0x1;_0x57d068<_0x552173['length'];_0x57d068++){const _0x202300=_0x552173[_0x57d068];if(!_0x202300)continue;if(_0x202300['some'](_0x94f9e2=>_0x94f9e2?.['toUpperCase']()['includes']('TOTAL\x20STUDENTS')||_0x94f9e2?.['toUpperCase']()['includes']('ACHIEVED\x20THE\x20MINIMUM')||_0x94f9e2?.['toUpperCase']()['includes']('INACTIVE')||_0x94f9e2?.['toUpperCase']()['includes']('AVERAGE')))continue;if(!_0x202300[_0x47388f])continue;const _0x334893=_0x202300[_0x47388f]['replace'](/"/g,'')['trim'](),_0x55b8b3=_0x202300['slice'](_0x59db40)['map'](_0x4d2855=>_0x4d2855===null?null:!isNaN(Number(_0x4d2855))?parseFloat(_0x4d2855):0x0);let _0x3d1976=0x0;const _0x2c372f={};Object['entries'](_0x1a1461)['forEach'](([_0x5c5ab2,_0x5055d2])=>{const _0x14114e={};_0x5055d2['forEach'](_0x1769e0=>{_0x14114e[_0x1769e0]=_0x55b8b3[_0x3d1976]??0x0,_0x3d1976++;}),_0x2c372f[_0x5c5ab2]={'transmuted_score':_0x14114e};}),_0x333323['push']({'student_name':_0x334893,'coaep':_0x2c372f});}const _0x4fd809=_0x552173['find'](_0x4c9419=>_0x4c9419['some'](_0x15ff0a=>_0x15ff0a?.['includes']('ACHIEVED\x20THE\x20MINIMUM'))),_0x298e5f=_0x552173['find'](_0x330354=>_0x330354['some'](_0x5900bd=>_0x5900bd?.['includes']('AVERAGE'))),_0x4ec749=_0x4fd809?_0x4fd809['slice'](_0x59db40)['map'](_0x28e6f2=>_0x28e6f2&&!isNaN(Number(_0x28e6f2))?parseInt(_0x28e6f2):0x0):[],_0x99472e=_0x298e5f?_0x298e5f['slice'](_0x59db40)['map'](_0x4845ca=>_0x4845ca&&_0x4845ca!=='#DIV/0!'&&!isNaN(Number(_0x4845ca))?parseInt(_0x4845ca):0x0):[],_0x3f2731={};let _0x3db2bd=0x0;return Object['entries'](_0x1a1461)['forEach'](([_0x1334f3,_0x4a2714])=>{if(!_0x3f2731[_0x1334f3])_0x3f2731[_0x1334f3]={};_0x4a2714['forEach'](_0x113384=>{_0x3f2731[_0x1334f3][_0x113384]={'achievedMinimum':_0x4ec749[_0x3db2bd]??0x0,'average':_0x99472e[_0x3db2bd]??0x0},_0x3db2bd++;});}),{'assessmentData':{'classAssignment':_0x54ef71,'student':_0x333323,'total':_0x3f2731}};}
31
31
 
32
- async function uploadAssessmentData(_0x4a559c,_0x52dc02){try{const _0x210e14=await convertToCSVFile(_0x52dc02),_0x9afe0a=await _0x210e14['text'](),_0x3fb4a5=parseAssessmentCsv(_0x9afe0a),_0x2bce3b=await fetch(_0x4a559c+'/assessment-data/upload',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x3fb4a5)});if(!_0x2bce3b['ok']){const _0x2acb29=await _0x2bce3b['json']();throw _0x2acb29;}return _0x2bce3b['json']();}catch(_0x227cb7){throw _0x227cb7;}}
32
+ async function uploadAssessmentData(_0x2e619b,_0x268103){try{const _0x91ac67=await convertToCSVFile(_0x268103),_0x4a3eef=await _0x91ac67['text'](),_0x2c39e1=parseAssessmentCsv(_0x4a3eef),_0x3a9840=await fetch(_0x2e619b+'/assessment-data/upload',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x2c39e1)});if(!_0x3a9840['ok']){const _0x5b376e=await _0x3a9840['json']();throw _0x5b376e;}return _0x3a9840['json']();}catch(_0x3519a4){throw _0x3519a4;}}
33
33
 
34
- async function uploadDeptFaculty(_0x30ce9b,_0x34ac81){try{const _0x43d3ac=await convertToCSVFile(_0x34ac81),_0x57c83e=new FormData();_0x57c83e['append']('csvFile',_0x43d3ac);const _0x1f394c=await fetch(_0x30ce9b+'/dept-faculties/upload',{'method':'POST','body':_0x57c83e});if(!_0x1f394c['ok']){const _0x58e202=await _0x1f394c['json']();throw _0x58e202;}return _0x1f394c['json']();}catch(_0x2708b9){throw _0x2708b9;}}
34
+ async function uploadDeptFaculty(_0x6f7c8f,_0x221b4a){try{const _0x8a9247=await convertToCSVFile(_0x221b4a),_0x1b8f0f=new FormData();_0x1b8f0f['append']('csvFile',_0x8a9247);const _0x46be7d=await fetch(_0x6f7c8f+'/dept-faculties/upload',{'method':'POST','body':_0x1b8f0f});if(!_0x46be7d['ok']){const _0x485ba6=await _0x46be7d['json']();throw _0x485ba6;}return _0x46be7d['json']();}catch(_0x34dc0a){throw _0x34dc0a;}}
35
35
 
36
- class Client{['BASE_URL'];constructor(_0x35548a){this['BASE_URL']=_0x35548a;}['Parser'](){return {'curriculum':async _0xaed122=>{const _0x18037e=await uploadCurriculum(this['BASE_URL'],_0xaed122);return _0x18037e;},'courseOffering':async _0xfcdf76=>{const _0x745c67=await uploadCourseOffering(this['BASE_URL'],_0xfcdf76);return _0x745c67;},'coaep':async(_0xb534b2,_0x3ba410)=>{const _0x2b5874=await uploadCOAEP(this['BASE_URL'],_0xb534b2,_0x3ba410);return _0x2b5874;},'enrolledStudent':async _0x17eb52=>{const _0x427472=await uploadEnrolledStudent(this['BASE_URL'],_0x17eb52);return _0x427472;},'classlist':async(_0x348a6b,_0xae09e2,_0x45dad1)=>{const _0x463de0=await uploadClassList(this['BASE_URL'],_0x348a6b,_0xae09e2,_0x45dad1);return _0x463de0;},'assessmentData':async _0x5beea6=>{const _0x4cf1fb=await uploadAssessmentData(this['BASE_URL'],_0x5beea6);return _0x4cf1fb;},'deptFaculty':async _0x4452ab=>{const _0x1f8488=await uploadDeptFaculty(this['BASE_URL'],_0x4452ab);return _0x1f8488;}};}}
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(_0x1500c7){let _0xcc7fd1={'headerIdx':-1,'poIdx':-1,'tlIdx':-1,'piIdx':-1,'fcIdx':-1,'scIdx':-1,'atIdx':-1,'ptIdx':-1};for(let _0x75746=0x0;_0x75746<Math['min'](_0x1500c7['length'],0x14);_0x75746++){const _0x5d5fd4=(_0x1500c7[_0x75746]??[])['map'](_0x97d172=>_0x97d172['toLowerCase']()['trim']()),_0x19f875=_0x5d5fd4['findIndex'](_0x2ce533=>HEADERS['po']['some'](_0x441498=>_0x2ce533['toLowerCase']()['includes'](_0x441498))),_0x40c5f8=_0x5d5fd4['findIndex'](_0x3f8cf2=>HEADERS['tl']['some'](_0x238d55=>_0x3f8cf2['toLowerCase']()['includes'](_0x238d55))),_0x2a8766=_0x5d5fd4['findIndex'](_0x391dc2=>HEADERS['pi']['some'](_0x15a770=>_0x391dc2['toLowerCase']()['includes'](_0x15a770))),_0x27edfa=_0x5d5fd4['findIndex'](_0x2d2562=>HEADERS['fc']['some'](_0x267fb9=>_0x2d2562['toLowerCase']()['includes'](_0x267fb9))),_0x1b6100=_0x5d5fd4['findIndex'](_0x2658f8=>HEADERS['sc']['some'](_0x5d4646=>_0x2658f8['toLowerCase']()['includes'](_0x5d4646))),_0x2d98b1=_0x5d5fd4['findIndex'](_0x15bce9=>HEADERS['at']['some'](_0x581b40=>_0x15bce9['toLowerCase']()['includes'](_0x581b40))),_0x5c8894=_0x5d5fd4['findIndex'](_0x1ad356=>HEADERS['pt']['some'](_0x41efda=>_0x1ad356['toLowerCase']()['includes'](_0x41efda))),_0x37a80f=[_0x19f875,_0x40c5f8,_0x2a8766,_0x27edfa,_0x1b6100,_0x2d98b1,_0x5c8894]['filter'](_0x39d6cc=>_0x39d6cc!==-1)['length'];if(_0x37a80f>=0x3){_0xcc7fd1={'headerIdx':_0x75746,'poIdx':_0x19f875,'tlIdx':_0x40c5f8,'piIdx':_0x2a8766,'fcIdx':_0x27edfa,'scIdx':_0x1b6100,'atIdx':_0x2d98b1,'ptIdx':_0x5c8894};break;}}if(_0xcc7fd1['headerIdx']===-1)throw new Error('No\x20valid\x20headers\x20found\x20in\x20POAEP\x20file.');return _0xcc7fd1;}
37
+
38
+ const parseFormativeCourses=_0x2c2812=>{let _0x122636=_0x2c2812['split'](',')['reduce']((_0x26172d,_0x12b0e5)=>{const _0x5ec415=_0x12b0e5['trim']();if(_0x5ec415)_0x26172d['push'](_0x5ec415);return _0x26172d;},[]);return _0x122636;};
39
+
40
+ const parsePOAEP=_0x3fac3b=>{try{const _0x1df76e=_0x46b4e9['parse'](_0x3fac3b,{'skipEmptyLines':![]})['data'],{headerIdx:_0x51ef23,poIdx:_0x4b63a7,tlIdx:_0x59f610,piIdx:_0xf870c6,fcIdx:_0x3352c9,scIdx:_0xd7173c,atIdx:_0x520e39,ptIdx:_0x595e64}=getPoaepHeader(_0x1df76e),_0x19578d=[];let _0x1d1a21={'po_desc':'','seq_no':0x0,'PerfIndicators':[]},_0x3a897a='',_0x55fd9d='',_0x5ed7df='';for(let _0x1f9c6b=_0x51ef23+0x1;_0x1f9c6b<_0x1df76e['length'];_0x1f9c6b++){const _0x23a0ef=_0x1df76e[_0x1f9c6b];if(!_0x23a0ef)break;const _0x16700f=_0x23a0ef[_0x4b63a7]?.['trim']()||'';_0x16700f!==''&&(_0x1d1a21={'po_desc':_0x16700f,'seq_no':_0x1d1a21['seq_no']+0x1,'PerfIndicators':[]},_0x19578d['push'](_0x1d1a21),_0x3a897a='',_0x55fd9d='',_0x5ed7df='');if(_0x1d1a21['po_desc']==='')throw new Error('Invalid\x20Program\x20Outcome\x20at\x20row\x20'+_0x1f9c6b+'.');const _0x41f9b7=_0x23a0ef[_0xf870c6]?.['trim']()||'';if(_0x41f9b7==='')break;const _0x426996=_0x23a0ef[_0x3352c9]?.['trim']()||'';if(_0x426996==='')throw new Error('Empty\x20Formative\x20Courses\x20at\x20row\x20'+_0x1f9c6b+'.');const _0x4a3ef1=_0x23a0ef[_0xd7173c]?.['trim']()||_0x3a897a;if(_0x4a3ef1==='')throw new Error('Empty\x20Summative\x20Course\x20at\x20row\x20'+_0x1f9c6b+'.');_0x3a897a=_0x4a3ef1;const _0x3ed94c=_0x23a0ef[_0x520e39]?.['trim']()||_0x55fd9d;if(_0x3ed94c==='')throw new Error('Empty\x20Assessment\x20Tool\x20at\x20row\x20'+_0x1f9c6b+'.');_0x55fd9d=_0x3ed94c;const _0x4d932a=_0x23a0ef[_0x595e64]?.['trim']()||_0x5ed7df;if(_0x4d932a==='')throw new Error('Empty\x20Performance\x20Target\x20at\x20row\x20'+_0x1f9c6b+'.');_0x5ed7df=_0x4d932a;const _0x224fac=parseFormativeCourses(_0x426996);if(_0x224fac['length']===0x0)throw new Error('Invalid\x20Formative\x20Courses\x20format\x20at\x20row\x20'+_0x1f9c6b+'.');const _0x16dbbb=performaceTarget(_0x4d932a);if(!_0x16dbbb['performance_target']||!_0x16dbbb['passing_score'])throw new Error('Invalid\x20Performance\x20Targets\x20format\x20at\x20row\x20'+_0x1f9c6b+'.');const _0x37956={'pi_desc':_0x41f9b7,'FormativeCourses':_0x224fac['map'](_0x1e2e4a=>({'course_id':_0x1e2e4a,'cognitive_level':0x0})),'SummativeCourse':{'course_id':_0x4a3ef1},'AssessmentTool':{'at_desc':_0x3ed94c},'PerformanceTargets':{'target_percent':_0x16dbbb['performance_target'],'min_score':_0x16dbbb['passing_score']}};_0x1d1a21['PerfIndicators']['push'](_0x37956);}return {'success':!![],'message':'Successfully\x20parsed\x20POAEP\x20file.','data':{'POAEP':_0x19578d}};}catch(_0x384938){return {'success':![],'error':_0x384938 instanceof Error?_0x384938['message']:_0x384938,'message':'Please\x20ensure\x20the\x20file\x20follows\x20the\x20POAEP\x20template.'};}};
41
+
42
+ async function uploadPOAEP(_0x4b3e04,_0x24fb3e,_0x5dafc7,_0x54897c,_0x4cc41f,_0x4f33bf){try{const _0x2f6d02=await convertToCSVFile(_0x24fb3e),_0x8b9e15=await _0x2f6d02['text'](),_0x5d35ef=parsePOAEP(_0x8b9e15),_0x2c8a3e=await fetch(_0x4b3e04+'/program-outcomes/poaep/upload?curr_id='+_0x54897c+'&period_id='+_0x4cc41f+'&program_id='+_0x4f33bf,{'method':'POST','headers':{'Content-Type':'application/json','Authorization':'Bearer\x20'+_0x5dafc7},'credentials':'include','body':JSON['stringify'](_0x5d35ef)});if(!_0x2c8a3e['ok']){const _0x1e8a2e=await _0x2c8a3e['json']();throw _0x1e8a2e;}return _0x2c8a3e['json']();}catch(_0x8af377){throw _0x8af377;}}
43
+
44
+ class Client{['BASE_URL'];constructor(_0x5517d5){this['BASE_URL']=_0x5517d5;}['Parser'](){return {'curriculum':async _0x41c378=>{const _0x10cbf7=await uploadCurriculum(this['BASE_URL'],_0x41c378);return _0x10cbf7;},'courseOffering':async _0x4e1549=>{const _0x1f78ab=await uploadCourseOffering(this['BASE_URL'],_0x4e1549);return _0x1f78ab;},'coaep':async(_0x251b20,_0x11a51c)=>{const _0x13883b=await uploadCOAEP(this['BASE_URL'],_0x251b20,_0x11a51c);return _0x13883b;},'enrolledStudent':async _0x34d3b0=>{const _0x3cb5a4=await uploadEnrolledStudent(this['BASE_URL'],_0x34d3b0);return _0x3cb5a4;},'classlist':async(_0x2878d5,_0x29cafe,_0x48e97d)=>{const _0x33c7b9=await uploadClassList(this['BASE_URL'],_0x2878d5,_0x29cafe,_0x48e97d);return _0x33c7b9;},'assessmentData':async _0x30e1e2=>{const _0xc49060=await uploadAssessmentData(this['BASE_URL'],_0x30e1e2);return _0xc49060;},'deptFaculty':async _0x37b8d4=>{const _0x26dfc8=await uploadDeptFaculty(this['BASE_URL'],_0x37b8d4);return _0x26dfc8;},'poaep':async(_0xe9ff05,_0x415761,_0x5cd304,_0x129d0c,_0xd89dab)=>{const _0x1c04d1=await uploadPOAEP(this['BASE_URL'],_0xe9ff05,_0x415761,_0x5cd304,_0x129d0c,_0xd89dab);return _0x1c04d1;}};}}
37
45
 
38
46
  export { Client as default };
package/main.d.ts CHANGED
@@ -19,5 +19,6 @@ export default class Client {
19
19
  classlist: (xls: File, subj_code: number, period_id: number) => Promise<Record<string, unknown>>;
20
20
  assessmentData: (xls: File) => Promise<Record<string, unknown>>;
21
21
  deptFaculty: (xls: File) => Promise<Record<string, unknown>>;
22
+ poaep: (xls: File, token: string, curr_id: string, period_id: number, program_id: number) => Promise<Record<string, unknown>>;
22
23
  };
23
24
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@obe-loms/coms-parser",
3
- "version": "1.4.3",
3
+ "version": "1.4.5",
4
4
  "license": "ISC",
5
5
  "dependencies": {
6
6
  "papaparse": "^5.5.3",
@@ -1 +1 @@
1
- export declare function uploadPOAEP(url: string, xls: File, token: string, course_id: string, curr_id: string, period_id: number): Promise<Record<string, unknown>>;
1
+ export declare function uploadPOAEP(url: string, xls: File, token: string, curr_id: string, period_id: number, program_id: number): Promise<Record<string, unknown>>;