@obe-loms/coms-parser 1.4.3 → 1.4.4

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.
Files changed (3) hide show
  1. package/bundle.js +27 -19
  2. package/main.d.ts +1 -0
  3. package/package.json +1 -1
package/bundle.js CHANGED
@@ -1,38 +1,46 @@
1
- import _0x2d9c86 from 'papaparse';
2
- import * as _0x50dc90 from 'xlsx';
1
+ import _0x2bc2fa from 'papaparse';
2
+ import * as _0xfda4ed 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(_0x32f32e){let _0x25eeb4='',_0x396314='',_0x568c46=0x0,_0x4b509b=null;const _0x16096f=[];return _0x2bc2fa['parse'](_0x32f32e,{'skipEmptyLines':!![],'complete':_0x5bd82a=>{_0x5bd82a['data']['forEach'](_0x14eedb=>{const _0x152bc8=_0x14eedb['map'](_0x3d3084=>(_0x3d3084??'')['toString']()['trim']()),_0x4ea866=_0x152bc8[0x0]??'';if(_0x4ea866['includes']('Rev#')){const _0x180101=_0x4ea866['match'](/([A-Z0-9]+)\s*-\s*.*:\s*(.*?)\s+Rev#\s*(\d+)/i);_0x180101&&(_0x25eeb4=_0x180101[0x1]?.['trim']()??'',_0x396314=_0x180101[0x2]?.['trim']()??'',_0x568c46=parseInt(_0x180101[0x3]??'0',0xa));return;}if(/FIRST YEAR/i['test'](_0x4ea866)){_0x4b509b=0x1;return;}if(/SECOND YEAR/i['test'](_0x4ea866)){_0x4b509b=0x2;return;}if(/THIRD YEAR/i['test'](_0x4ea866)){_0x4b509b=0x3;return;}if(/FOURTH YEAR/i['test'](_0x4ea866)){_0x4b509b=0x4;return;}if(/FIFTH YEAR/i['test'](_0x4ea866)){_0x4b509b=0x5;return;}if(/First Semester/i['test'](_0x4ea866)||/Second Semester/i['test'](_0x4ea866)||/Summer/i['test'](_0x4ea866))return;const _0x31bfed=[{'sem':0x1,'offset':0x0},{'sem':0x2,'offset':0x6},{'sem':0x3,'offset':0xc}];_0x31bfed['forEach'](({sem:_0x4e3837,offset:_0x38ed4f})=>{const _0x14722d=_0x152bc8[_0x38ed4f]??'',_0x1db81a=_0x152bc8[_0x38ed4f+0x1]??'',_0xac438b=_0x152bc8[_0x38ed4f+0x2]??'',_0x496bf9=_0x152bc8[_0x38ed4f+0x3]??'',_0x15592c=_0x152bc8[_0x38ed4f+0x4]??'';_0x14722d&&_0x4b509b&&_0x16096f['push']({'curr_id':_0x25eeb4,'program_name':_0x396314,'revision_no':_0x568c46,'year_level':_0x4b509b,'sem':_0x4e3837,'course_id':_0x14722d,'course_desc':_0x1db81a,'total_units':_0xac438b,'lec_unit':_0x496bf9,'lab_unit':_0x15592c});});});}}),_0x16096f;}
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(_0x2d7e45){return new Promise((_0x5ecbff,_0x584cd1)=>{const _0x59b5f1=new FileReader();_0x59b5f1['onload']=_0xaad5f3=>{const _0x290dd1=_0xaad5f3['target']?.['result'];if(!_0x290dd1){_0x584cd1(new Error('Failed\x20to\x20read\x20file'));return;}try{const _0xf461d4=_0xfda4ed['read'](_0x290dd1,{'type':'array'}),_0x46febe=_0xf461d4['SheetNames'][0x0];if(!_0x46febe){_0x584cd1(new Error('No\x20sheets\x20found\x20in\x20workbook'));return;}const _0x432c08=_0xf461d4['Sheets'][_0x46febe];if(!_0x432c08){_0x584cd1(new Error('No\x20sheets\x20found\x20in\x20worksheet'));return;}const _0x91ee05=_0xfda4ed['utils']['sheet_to_csv'](_0x432c08,{'strip':!![]}),_0x51bb15=_0x2d7e45['name']['replace'](/\.[^/.]+$/,'.csv'),_0x37cb23=new File([_0x91ee05],_0x51bb15,{'type':'text/csv','lastModified':Date['now']()});_0x5ecbff(_0x37cb23);}catch(_0x4105fc){_0x584cd1(_0x4105fc);}},_0x59b5f1['onerror']=()=>{_0x584cd1(new Error('File\x20reading\x20failed'));},_0x59b5f1['readAsArrayBuffer'](_0x2d7e45);});}
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(_0x2290dd,_0xf535ea){try{const _0x493a28=await convertToCSVFile(_0xf535ea),_0x3f7892=await _0x493a28['text'](),_0x2b81c7=parseCurriculum(_0x3f7892),_0x386a59=_0x2bc2fa['unparse'](_0x2b81c7),_0x942026=new File([_0x386a59],_0x493a28['name'],{'type':'text/csv'}),_0x2f7010=new FormData();_0x2f7010['append']('csvFile',_0x942026);const _0x42b96c=await fetch(_0x2290dd+'/curr-courses/upload',{'method':'POST','body':_0x2f7010});if(!_0x42b96c['ok']){const _0x3ead2f=await _0x42b96c['json']();throw _0x3ead2f;}return _0x42b96c['json']();}catch(_0x407bf3){throw _0x407bf3;}}
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(_0x43e194){let _0x3b98a3='',_0x1d6768='';const _0x19ce52=[],_0x40ac55=_0x2bc2fa['parse'](_0x43e194,{'header':![],'skipEmptyLines':!![],'delimiter':','}),_0x2111fd=_0x40ac55['data'];for(let _0x2b2ca4=0x0;_0x2b2ca4<Math['min'](0x5,_0x2111fd['length']);_0x2b2ca4++){const _0x165b91=_0x2111fd[_0x2b2ca4];if(_0x165b91&&_0x165b91['length']>0x0){const _0x1911d9=_0x165b91[0x0]?.['toString']()||'',_0x2802a1=_0x1911d9['match'](/(First|Second)\s+Sem\s+S\/Y\s+(\d{4}-\d{4})/i);if(_0x2802a1){_0x3b98a3=_0x2802a1[0x1]?.['toLowerCase']()==='first'?'1':'2';if(_0x2802a1[0x2]){const _0x218c0c=_0x2802a1[0x2]['match'](/(\d{2})(\d{2})-(\d{2})(\d{2})/);_0x218c0c&&_0x218c0c[0x2]&&_0x218c0c[0x4]&&(_0x1d6768=_0x218c0c[0x2]+_0x218c0c[0x4]);}}}}let _0xc21a7f=-1;for(let _0xf3fccf=0x0;_0xf3fccf<_0x2111fd['length'];_0xf3fccf++){const _0x28242c=_0x2111fd[_0xf3fccf];if(_0x28242c&&_0x28242c['some'](_0x146732=>_0x146732?.['toString']()['toUpperCase']()['includes']('CODE'))){_0xc21a7f=_0xf3fccf;break;}}if(_0xc21a7f===-1)throw new Error('Could\x20not\x20find\x20header\x20row\x20in\x20CSV\x20data');let _0x5d5a7b={'code':'','description':'','unit':0x0};for(let _0x465af0=_0xc21a7f+0x1;_0x465af0<_0x2111fd['length'];_0x465af0++){const _0x21f281=_0x2111fd[_0x465af0];if(!_0x21f281||_0x21f281['length']<0x8)continue;const _0x42513d=_0x21f281[0x1]?.['toString']()['trim']()||'',_0x4d165d=_0x21f281[0x4]?.['toString']()['trim']()||'',_0x5afca5=_0x21f281[0x5]?.['toString']()['trim']()||'',_0x1a7664=_0x21f281[0x6]?.['toString']()['trim']()||'',_0x1bf44a=_0x21f281[0x7]?.['toString']()['trim']()||'',_0x2b3f2c=_0x21f281[0x3]?.['toString']()['trim']()||'';let _0x315f04=_0x21f281[0x0]?.['toString']()['trim']()||'',_0x4de1a4=_0x21f281[0x2]?.['toString']()['trim']()||'';if(!_0x42513d)continue;if(!_0x315f04)_0x315f04=_0x5d5a7b['code'];if(!_0x4de1a4)_0x4de1a4=_0x5d5a7b['description'];let _0x448f9b=_0x5d5a7b['unit'];if(_0x2b3f2c){const _0x2dc45f=_0x2b3f2c['match'](/(\d+)/);_0x2dc45f&&_0x2dc45f[0x1]&&(_0x448f9b=parseInt(_0x2dc45f[0x1],0xa));}const _0x4bd5bd={'sem':_0x3b98a3,'school_year':_0x1d6768,'code':_0x315f04,'course_no':_0x42513d,'course_desc':_0x4de1a4,'unit':_0x448f9b,'time':_0x4d165d,'days':_0x5afca5,'faculty':_0x1a7664,'room':_0x1bf44a};_0x5d5a7b['code']=_0x315f04,_0x5d5a7b['description']=_0x4de1a4,_0x5d5a7b['unit']=_0x448f9b,_0x19ce52['push'](_0x4bd5bd);}return _0x19ce52;}
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(_0x1adf80,_0x7008ea){try{const _0xa7cc5f=await convertToCSVFile(_0x7008ea),_0x42f67c=await _0xa7cc5f['text'](),_0x1fcd71=parseCourseOffering(_0x42f67c),_0xb953ae=_0x2bc2fa['unparse'](_0x1fcd71),_0x4578ea=new File([_0xb953ae],_0xa7cc5f['name'],{'type':'text/csv'}),_0x5c81db=new FormData();_0x5c81db['append']('csvFile',_0x4578ea);const _0x22c6a3=await fetch(_0x1adf80+'/course-offerings/upload',{'method':'POST','body':_0x5c81db});if(!_0x22c6a3['ok']){const _0x4fd128=await _0x22c6a3['json']();throw _0x4fd128;}return _0x22c6a3['json']();}catch(_0x3f6e6b){throw _0x3f6e6b;}}
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(_0x14160a){if(!_0x14160a)return {'performance_target':null,'passing_score':null};const _0x140940=_0x14160a['match'](/\d+/g);return {'performance_target':_0x140940?.[0x0]?parseInt(_0x140940[0x0],0xa):null,'passing_score':_0x140940?.[0x1]?parseInt(_0x140940[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(_0x5615f7){const _0x517acd=_0x5615f7['trim'](),_0x48d4a=/\b(will|shall)\b\s+(?:be\s+able\s+to\s+)?([a-zA-Z]+)/i,_0x2ed6dd=_0x517acd['match'](_0x48d4a);return _0x2ed6dd&&_0x2ed6dd[0x2]!==undefined?_0x2ed6dd[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(_0x4eca1e){let _0x23dedc={'headerRowIndex':-1,'coIdx':-1,'iloIdx':-1,'assessToolIdx':-1,'perfTargetIdx':-1};for(let _0x401f32=0x0;_0x401f32<Math['min'](_0x4eca1e['length'],0x14);_0x401f32++){const _0x4d2196=(_0x4eca1e[_0x401f32]??[])['map'](_0x5ef746=>_0x5ef746['toLowerCase']()['trim']()),_0x4b9968=_0x4d2196['findIndex'](_0x19e160=>HEADERS$1['co']['some'](_0x3f9e2e=>_0x19e160['includes'](_0x3f9e2e))),_0x31205a=_0x4d2196['findIndex'](_0x2dd1a8=>HEADERS$1['ilo']['some'](_0x51bd34=>_0x2dd1a8['includes'](_0x51bd34))),_0x2b2b96=_0x4d2196['findIndex'](_0x12c4f9=>HEADERS$1['assessTool']['some'](_0x587a47=>_0x12c4f9['includes'](_0x587a47))),_0x174572=_0x4d2196['findIndex'](_0x2441d9=>HEADERS$1['perfTarget']['some'](_0x365d9f=>_0x2441d9['includes'](_0x365d9f))),_0x41adeb=[_0x4b9968,_0x31205a,_0x2b2b96,_0x174572]['filter'](_0x4d3358=>_0x4d3358!==-1)['length'];if(_0x41adeb>=0x3){_0x23dedc={'headerRowIndex':_0x401f32,'coIdx':_0x4b9968,'iloIdx':_0x31205a,'assessToolIdx':_0x2b2b96,'perfTargetIdx':_0x174572};break;}}return _0x23dedc;}
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(_0x4949ce){const _0x25ff9f=_0x2bc2fa['parse'](_0x4949ce,{'skipEmptyLines':![]})['data'],_0x4e4443={'COAEP':{'faculty':null,'course':null,'sy':null,'semester':null,'co':[]}},{headerRowIndex:_0x1a2227,coIdx:_0x3f5e99,iloIdx:_0x11788e,assessToolIdx:_0x421347,perfTargetIdx:_0x2fe262}=getCoaepHeader(_0x25ff9f);if(_0x1a2227===-1)return {'error':'Could\x20not\x20auto-detect\x20header\x20row.','message':'Please\x20ensure\x20the\x20CSV\x20file\x20is\x20in\x20the\x20correct\x20COAEP\x20format.'};_0x25ff9f['forEach'](_0x102238=>{const _0x530bd8=_0x102238['indexOf']('Name\x20of\x20Faculty:'),_0xed6ef=_0x102238['indexOf']('School\x20Year'),_0x4ad1d4=_0x102238['indexOf']('Course:'),_0x470669=_0x102238['indexOf']('Semester');_0x530bd8!==-1&&(_0x4e4443['COAEP']['faculty']=_0x102238[_0x530bd8+0x1]?.['trim']()||_0x4e4443['COAEP']['faculty']);_0xed6ef!==-1&&(_0x4e4443['COAEP']['sy']=_0x102238[_0xed6ef+0x1]?.['trim']()||_0x4e4443['COAEP']['sy']);_0x4ad1d4!==-1&&(_0x4e4443['COAEP']['course']=_0x102238[_0x4ad1d4+0x1]?.['trim']()||_0x4e4443['COAEP']['course']);if(_0x470669!==-1){const _0x3c4463=_0x102238[_0x470669+0x1]?.['trim']()||'',_0x4cab9f=_0x3c4463['match'](/\d+/)?.[0x0];_0x4e4443['COAEP']['semester']=_0x4cab9f?parseInt(_0x4cab9f,0xa):_0x4e4443['COAEP']['semester'];}});let _0x4823ad=null;return _0x25ff9f['forEach']((_0x15737a,_0x517a0f)=>{if(_0x517a0f<=_0x1a2227)return;let _0x112e89=_0x15737a[_0x3f5e99-0x1]?.['trim']()||'',_0x308088=_0x15737a[_0x3f5e99]?.['trim']()||'';/^\d+$/['test'](_0x15737a[_0x3f5e99]?.['trim']()||'')&&(_0x112e89=_0x15737a[_0x3f5e99]?.['trim']()||'',_0x308088=_0x15737a[_0x3f5e99+0x1]?.['trim']()||'');const _0x490ac7=_0x15737a[_0x11788e]?.['trim']()||'',_0x4ac774=_0x15737a[_0x421347]?.['replace'](/^ILO\d+[:.]?\s*/,'')['trim']()||'',_0x41a71d=_0x15737a[_0x2fe262]?.['replace'](/\s+/g,'\x20')['trim']()||'';if(_0x112e89&&/^\d+$/['test'](_0x112e89)){_0x4823ad&&_0x4e4443['COAEP']['co']['push'](_0x4823ad);const _0xaf594f=_0x308088,_0x3d6dcc=extractInstructionalVerb(_0xaf594f)||'';_0x4823ad={'statement':_0xaf594f,'verb':_0x3d6dcc,'ilo':[]};}if(_0x4823ad&&_0x490ac7&&_0x41a71d){const _0x22ae0e=_0x490ac7['replace'](/^ILO\d+[:.]?\s*/,'');if(_0x22ae0e['match'](/^(Revision|Prepared|Date|Approved|Effectivity|Page)/i)||_0x22ae0e['length']<0xa)return;let _0x17a4b6=_0x4ac774;if(!_0x17a4b6&&_0x22ae0e['includes'](':')){const _0x374f13=_0x22ae0e['match'](/^ILO\d+:\s*(.+?)(?:\s*\(|$)/);_0x374f13&&(_0x17a4b6=_0x374f13[0x1]?.['trim']()||'');}const {performance_target:_0x32aa76,passing_score:_0x4e0eb1}=performaceTarget(_0x41a71d);_0x4823ad['ilo']['push']({'statement':_0x22ae0e,'verb':extractInstructionalVerb(_0x22ae0e)||'','assessment_tool':_0x17a4b6,'performance_target':_0x32aa76,'passing_score':_0x4e0eb1});}}),_0x4823ad&&_0x4e4443['COAEP']['co']['push'](_0x4823ad),_0x4e4443;}
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(_0x4e8631,_0x530017,_0x1870a0){try{const _0x3517a2=await convertToCSVFile(_0x530017),_0x5a4a7e=await _0x3517a2['text'](),_0x2a6b6e=parseCOAEP(_0x5a4a7e);console['log'](_0x2a6b6e);const _0x2a01df=await fetch(_0x4e8631+'/coaeps/upload?course_id='+_0x1870a0,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x2a6b6e)});if(!_0x2a01df['ok']){const _0x5727ac=await _0x2a01df['json']();throw _0x5727ac;}return _0x2a01df['json']();}catch(_0x3e818e){throw _0x3e818e;}}
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(_0x3051e5,_0x52259e){try{const _0xe144b8=await convertToCSVFile(_0x52259e),_0x52506e=new FormData();_0x52506e['append']('csvFile',_0xe144b8);const _0x3374a4=await fetch(_0x3051e5+'/enrolled-students/upload',{'method':'POST','body':_0x52506e});if(!_0x3374a4['ok']){const _0xbd29e0=await _0x3374a4['json']();throw _0xbd29e0;}return _0x3374a4['json']();}catch(_0x2cdea5){throw _0x2cdea5;}}
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(_0x49a190){const _0x4de371=_0x2bc2fa['parse'](_0x49a190,{'skipEmptyLines':!![]})['data'];let _0x280610='',_0x65c4e5='',_0x5c3585='';const _0x582989=[];return _0x4de371['forEach'](_0x561c16=>{const _0x36e8f7=_0x561c16['map'](_0x472af6=>(_0x472af6??'')['toString']()['trim']()),_0x264419=_0x36e8f7[0x0]??'';if(_0x264419['startsWith']('Course\x20No:')){const _0x3a7b18=_0x264419['replace']('Course\x20No:','')['trim'](),_0x99dfd1=_0x3a7b18['split'](/\s+/);_0x5c3585=_0x99dfd1[0x0]??'';const [_0x2636d5,_0x6a9387]=(_0x99dfd1[0x1]??'')['split']('-');_0x65c4e5=_0x2636d5??'';const _0x12bd90=(_0x6a9387??'')['match'](/[a-z]$/);_0x280610=_0x12bd90?_0x12bd90[0x0]:'';}if(/^\d+$/['test'](_0x264419)){const _0x3b4bbb=_0x36e8f7[0x2]??'';_0x582989['push']({'subj_code':_0x5c3585,'student_no':_0x3b4bbb,'course_id':_0x65c4e5,'section':_0x280610});}}),{'enrolledCourses':_0x582989};}
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(_0x1f3aae,_0x50daec,_0x4201af,_0x1679ce){try{const _0x2a5cb3=await convertToCSVFile(_0x50daec),_0x2ee16b=await _0x2a5cb3['text'](),_0x2f0dac=parseClassList(_0x2ee16b),_0x1bca32='subj_code='+_0x4201af+'&period_id='+_0x1679ce,_0x386724=await fetch(_0x1f3aae+'/enrolled-courses/upload?'+_0x1bca32,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x2f0dac)});if(!_0x386724['ok']){const _0x3f0a5f=await _0x386724['json']();throw _0x3f0a5f;}return _0x386724['json']();}catch(_0x129fbf){throw _0x129fbf;}}
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(_0x2ef2cb){const {data:_0x1fc0ae}=_0x2bc2fa['parse'](_0x2ef2cb,{'skipEmptyLines':!![]}),_0x37ee7e=_0x1fc0ae['filter'](_0x3b2d87=>_0x3b2d87['length']>0x0),_0x347b2a=_0x37ee7e['find'](_0x122bb8=>_0x122bb8['some'](_0x4359be=>_0x4359be?.['includes']('Faculty'))),_0x7cc51c=_0x347b2a?_0x347b2a['findIndex'](_0x47dfe1=>_0x47dfe1?.['includes']('Faculty')):-1,_0x56eb70=_0x7cc51c!==-1&&_0x347b2a?_0x347b2a[_0x7cc51c+0x2]?.['replace'](/"/g,'')['trim']()??'':'',_0xeaea9d=_0x37ee7e['find'](_0x2a44f9=>_0x2a44f9['some'](_0x6c775d=>_0x6c775d?.['includes']('Semester'))),_0x4324c9=_0xeaea9d?_0xeaea9d['findIndex'](_0x21e3d0=>_0x21e3d0?.['includes']('Semester')):-1,_0x27d26a=_0x4324c9!==-1&&_0xeaea9d?_0xeaea9d[_0x4324c9+0x2]?.['trim']()??'':'',_0x28d3d9=_0x27d26a['includes']('1st')?0x1:_0x27d26a['includes']('2nd')?0x2:0x0,_0xcd7faa=_0x37ee7e['find'](_0xbb2fd4=>_0xbb2fd4['some'](_0x2177eb=>_0x2177eb?.['includes']('Course\x20&\x20Sec'))),_0x157d39=_0xcd7faa?_0xcd7faa['findIndex'](_0x31aef3=>_0x31aef3?.['includes']('Course\x20&\x20Sec')):-1,_0x1770ad=_0x157d39!==-1&&_0xcd7faa?_0xcd7faa[_0x157d39+0x2]?.['trim']()??'':'';let _0x3d9bd8='',_0x3cc6b0='';if(_0x1770ad){const _0x4c4694=_0x1770ad['match'](/^([A-Za-z0-9]+)-?([A-Za-z]+)?/);_0x4c4694&&(_0x3d9bd8=_0x4c4694[0x1]??'',_0x4c4694[0x2]&&(_0x3cc6b0=_0x4c4694[0x2]['replace'](/^OC/i,'')));}const _0x3620f1=_0x37ee7e['find'](_0x59afa6=>_0x59afa6['some'](_0x44c05a=>_0x44c05a?.['includes']('School\x20Year'))),_0x283422=_0x3620f1?_0x3620f1['findIndex'](_0x4c157b=>_0x4c157b?.['includes']('School\x20Year')):-1,_0x357ac5=_0x283422!==-1&&_0x3620f1?_0x3620f1[_0x283422+0x2]?.['trim']()??'':'';let _0xadf822=0x0;if(_0x357ac5){const _0x401455=_0x357ac5['match'](/(\d{4})-(\d{4})/);if(_0x401455){const _0x4885cc=(_0x401455[0x1]??'')['slice'](0x2),_0x186e28=(_0x401455[0x2]??'')['slice'](0x2);_0xadf822=parseInt(_0x4885cc+_0x186e28,0xa);}}const _0x34feb4={'faculty':_0x56eb70,'course':_0x3d9bd8,'section':_0x3cc6b0,'semester':_0x28d3d9,'sy':_0xadf822},_0x4cf97e=_0x37ee7e['findIndex'](_0x26127d=>_0x26127d['some'](_0x44ae55=>_0x44ae55?.['trim']()==='CO\x20#'));if(_0x4cf97e===-1)throw new Error('CO\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x3b1f14=_0x37ee7e[_0x4cf97e+0x1];if(!_0x3b1f14)throw new Error('ILO\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x1b7dd2={};let _0x51272e=0x1,_0x3816e9=0x1;for(let _0x9b0a28=0x3;_0x9b0a28<_0x3b1f14['length'];_0x9b0a28++){const _0x210b66=_0x3b1f14[_0x9b0a28];if(!_0x210b66)continue;const _0xa2a410='co'+_0x51272e;if(!_0x1b7dd2[_0xa2a410])_0x1b7dd2[_0xa2a410]=[];_0x1b7dd2[_0xa2a410]['push']('ilo'+_0x3816e9),_0x3816e9++,_0x3816e9>0x3&&(_0x51272e++,_0x3816e9=0x1);}const _0x16f7a4=_0x37ee7e['findIndex'](_0x3f0918=>_0x3f0918['includes']('Name\x20of\x20Students'));if(_0x16f7a4===-1)throw new Error('Student\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x5717c7=_0x37ee7e[_0x16f7a4];if(!_0x5717c7)throw new Error('Student\x20header\x20row\x20is\x20missing');const _0x2c8199=_0x5717c7['findIndex'](_0x1f243a=>_0x1f243a?.['includes']('Name\x20of\x20Students'));if(_0x2c8199===-1)throw new Error('Name\x20of\x20Students\x20column\x20not\x20found\x20in\x20CSV');const _0x318fcf=_0x2c8199+0x2,_0x22b8a3=[];for(let _0x4ff8d6=_0x16f7a4+0x1;_0x4ff8d6<_0x37ee7e['length'];_0x4ff8d6++){const _0x50e10a=_0x37ee7e[_0x4ff8d6];if(!_0x50e10a)continue;if(_0x50e10a['some'](_0x383150=>_0x383150?.['toUpperCase']()['includes']('TOTAL\x20STUDENTS')||_0x383150?.['toUpperCase']()['includes']('ACHIEVED\x20THE\x20MINIMUM')||_0x383150?.['toUpperCase']()['includes']('INACTIVE')||_0x383150?.['toUpperCase']()['includes']('AVERAGE')))continue;if(!_0x50e10a[_0x2c8199])continue;const _0x3cec44=_0x50e10a[_0x2c8199]['replace'](/"/g,'')['trim'](),_0xb7e9c=_0x50e10a['slice'](_0x318fcf)['map'](_0x1fba98=>_0x1fba98===null?null:!isNaN(Number(_0x1fba98))?parseFloat(_0x1fba98):0x0);let _0x17842e=0x0;const _0x1c58c9={};Object['entries'](_0x1b7dd2)['forEach'](([_0x327396,_0x2f5ac6])=>{const _0x3dc1c8={};_0x2f5ac6['forEach'](_0x55794b=>{_0x3dc1c8[_0x55794b]=_0xb7e9c[_0x17842e]??0x0,_0x17842e++;}),_0x1c58c9[_0x327396]={'transmuted_score':_0x3dc1c8};}),_0x22b8a3['push']({'student_name':_0x3cec44,'coaep':_0x1c58c9});}const _0x8a1139=_0x37ee7e['find'](_0x185d52=>_0x185d52['some'](_0x40e4d9=>_0x40e4d9?.['includes']('ACHIEVED\x20THE\x20MINIMUM'))),_0x2d2232=_0x37ee7e['find'](_0x5dac6a=>_0x5dac6a['some'](_0x30082=>_0x30082?.['includes']('AVERAGE'))),_0x26a232=_0x8a1139?_0x8a1139['slice'](_0x318fcf)['map'](_0x28efc1=>_0x28efc1&&!isNaN(Number(_0x28efc1))?parseInt(_0x28efc1):0x0):[],_0x4b234d=_0x2d2232?_0x2d2232['slice'](_0x318fcf)['map'](_0x449abc=>_0x449abc&&_0x449abc!=='#DIV/0!'&&!isNaN(Number(_0x449abc))?parseInt(_0x449abc):0x0):[],_0x4274c0={};let _0x1ad332=0x0;return Object['entries'](_0x1b7dd2)['forEach'](([_0x58a305,_0x4a21d7])=>{if(!_0x4274c0[_0x58a305])_0x4274c0[_0x58a305]={};_0x4a21d7['forEach'](_0x232acd=>{_0x4274c0[_0x58a305][_0x232acd]={'achievedMinimum':_0x26a232[_0x1ad332]??0x0,'average':_0x4b234d[_0x1ad332]??0x0},_0x1ad332++;});}),{'assessmentData':{'classAssignment':_0x34feb4,'student':_0x22b8a3,'total':_0x4274c0}};}
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(_0x353186,_0x19599f){try{const _0x51063b=await convertToCSVFile(_0x19599f),_0x4f1fa2=await _0x51063b['text'](),_0x21d3f3=parseAssessmentCsv(_0x4f1fa2),_0x5944d2=await fetch(_0x353186+'/assessment-data/upload',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x21d3f3)});if(!_0x5944d2['ok']){const _0x47a5ca=await _0x5944d2['json']();throw _0x47a5ca;}return _0x5944d2['json']();}catch(_0x29f8af){throw _0x29f8af;}}
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(_0x2cfc7e,_0x52eae5){try{const _0x28ba20=await convertToCSVFile(_0x52eae5),_0x212635=new FormData();_0x212635['append']('csvFile',_0x28ba20);const _0x33f028=await fetch(_0x2cfc7e+'/dept-faculties/upload',{'method':'POST','body':_0x212635});if(!_0x33f028['ok']){const _0x109808=await _0x33f028['json']();throw _0x109808;}return _0x33f028['json']();}catch(_0x1cfa6b){throw _0x1cfa6b;}}
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(_0x5a7cec){let _0x23dd73={'headerIdx':-1,'poIdx':-1,'tlIdx':-1,'piIdx':-1,'fcIdx':-1,'scIdx':-1,'atIdx':-1,'ptIdx':-1};for(let _0x1043cd=0x0;_0x1043cd<Math['min'](_0x5a7cec['length'],0x14);_0x1043cd++){const _0x43f91c=(_0x5a7cec[_0x1043cd]??[])['map'](_0x4918f5=>_0x4918f5['toLowerCase']()['trim']()),_0x24e16c=_0x43f91c['findIndex'](_0x21243f=>HEADERS['po']['some'](_0x4d70d7=>_0x21243f['toLowerCase']()['includes'](_0x4d70d7))),_0x2543d6=_0x43f91c['findIndex'](_0x5ced2f=>HEADERS['tl']['some'](_0x13e1ec=>_0x5ced2f['toLowerCase']()['includes'](_0x13e1ec))),_0x4949df=_0x43f91c['findIndex'](_0x5f3d09=>HEADERS['pi']['some'](_0xa700ce=>_0x5f3d09['toLowerCase']()['includes'](_0xa700ce))),_0x2db1e3=_0x43f91c['findIndex'](_0x2d948a=>HEADERS['fc']['some'](_0x3a28d5=>_0x2d948a['toLowerCase']()['includes'](_0x3a28d5))),_0x3c0236=_0x43f91c['findIndex'](_0x4bc56d=>HEADERS['sc']['some'](_0x3dcfaa=>_0x4bc56d['toLowerCase']()['includes'](_0x3dcfaa))),_0x5168fe=_0x43f91c['findIndex'](_0x4bc99c=>HEADERS['at']['some'](_0x54baff=>_0x4bc99c['toLowerCase']()['includes'](_0x54baff))),_0xcb1da9=_0x43f91c['findIndex'](_0x3f24a6=>HEADERS['pt']['some'](_0x43f099=>_0x3f24a6['toLowerCase']()['includes'](_0x43f099))),_0x89f81d=[_0x24e16c,_0x2543d6,_0x4949df,_0x2db1e3,_0x3c0236,_0x5168fe,_0xcb1da9]['filter'](_0x3f7b55=>_0x3f7b55!==-1)['length'];if(_0x89f81d>=0x3){_0x23dd73={'headerIdx':_0x1043cd,'poIdx':_0x24e16c,'tlIdx':_0x2543d6,'piIdx':_0x4949df,'fcIdx':_0x2db1e3,'scIdx':_0x3c0236,'atIdx':_0x5168fe,'ptIdx':_0xcb1da9};break;}}if(_0x23dd73['headerIdx']===-1)throw new Error('No\x20valid\x20headers\x20found\x20in\x20POAEP\x20file.');return _0x23dd73;}
37
+
38
+ const parseFormativeCourses=_0x5b5a45=>{let _0x377e17=_0x5b5a45['split'](',')['reduce']((_0x420598,_0x4ecba6)=>{const _0x10c81c=_0x4ecba6['trim']();if(_0x10c81c)_0x420598['push'](_0x10c81c);return _0x420598;},[]);return _0x377e17;};
39
+
40
+ const parsePOAEP=_0x1a717b=>{try{const _0x3cbf81=_0x2bc2fa['parse'](_0x1a717b,{'skipEmptyLines':![]})['data'],{headerIdx:_0x51e619,poIdx:_0xb7e903,tlIdx:_0x472729,piIdx:_0x1f87d1,fcIdx:_0x2acc99,scIdx:_0x583921,atIdx:_0x35989c,ptIdx:_0x27e478}=getPoaepHeader(_0x3cbf81),_0x1c5cb6=[];let _0x5bdc57={'po_desc':'','seq_no':0x0,'PerfIndicators':[]},_0x51eb56='',_0x1d2847='',_0x4499b3='';for(let _0x2fe78a=_0x51e619+0x1;_0x2fe78a<_0x3cbf81['length'];_0x2fe78a++){const _0x49f1c7=_0x3cbf81[_0x2fe78a];if(!_0x49f1c7)break;const _0x21c01e=_0x49f1c7[_0xb7e903]?.['trim']()||'';_0x21c01e!==''&&(_0x5bdc57={'po_desc':_0x21c01e,'seq_no':_0x5bdc57['seq_no']+0x1,'PerfIndicators':[]},_0x1c5cb6['push'](_0x5bdc57),_0x51eb56='',_0x1d2847='',_0x4499b3='');if(_0x5bdc57['po_desc']==='')throw new Error('Invalid\x20Program\x20Outcome\x20at\x20row\x20'+_0x2fe78a+'.');const _0x4e2345=_0x49f1c7[_0x1f87d1]?.['trim']()||'';if(_0x4e2345==='')break;const _0x45ff40=_0x49f1c7[_0x2acc99]?.['trim']()||'';if(_0x45ff40==='')throw new Error('Empty\x20Formative\x20Courses\x20at\x20row\x20'+_0x2fe78a+'.');const _0x229c27=_0x49f1c7[_0x583921]?.['trim']()||_0x51eb56;_0x51eb56=_0x229c27;if(_0x229c27==='')throw new Error('Empty\x20Summative\x20Course\x20at\x20row\x20'+_0x2fe78a+'.');const _0x11f39b=_0x49f1c7[_0x35989c]?.['trim']()||_0x1d2847;_0x1d2847=_0x11f39b;if(_0x11f39b==='')throw new Error('Empty\x20Assessment\x20Tool\x20at\x20row\x20'+_0x2fe78a+'.');const _0x5c8cd7=_0x49f1c7[_0x27e478]?.['trim']()||_0x4499b3;_0x4499b3=_0x5c8cd7;if(_0x5c8cd7==='')throw new Error('Empty\x20Performance\x20Target\x20at\x20row\x20'+_0x2fe78a+'.');const _0x2244cb=parseFormativeCourses(_0x45ff40);if(_0x2244cb['length']===0x0)throw new Error('Invalid\x20Formative\x20Courses\x20format\x20at\x20row\x20'+_0x2fe78a+'.');const _0x2e4f28=performaceTarget(_0x5c8cd7);if(!_0x2e4f28['performance_target']||!_0x2e4f28['passing_score'])throw new Error('Invalid\x20Performance\x20Targets\x20format\x20at\x20row\x20'+_0x2fe78a+'.');const _0x26a4df={'pi_desc':_0x4e2345,'FormativeCourses':_0x2244cb['map'](_0x2086d5=>({'course_id':_0x2086d5,'cognitive_level':0x0})),'SummativeCourse':{'course_id':_0x229c27},'AssessmentTool':{'at_desc':_0x11f39b},'PerformanceTargets':{'target_percent':_0x2e4f28['performance_target'],'min_score':_0x2e4f28['passing_score']}};_0x5bdc57['PerfIndicators']['push'](_0x26a4df);}return {'success':!![],'message':'Successfully\x20parsed\x20POAEP\x20file.','data':{'POAEP':_0x1c5cb6}};}catch(_0x333df8){return {'success':![],'error':_0x333df8 instanceof Error?_0x333df8['message']:_0x333df8,'message':'Please\x20ensure\x20the\x20file\x20follows\x20the\x20POAEP\x20template.'};}};
41
+
42
+ async function uploadPOAEP(_0xa97f7e,_0x1b871b,_0x55f7f7,_0x22339c,_0x58e157,_0x400016){try{const _0x117112=await convertToCSVFile(_0x1b871b),_0x2500ce=await _0x117112['text'](),_0x4841f4=parsePOAEP(_0x2500ce),_0x32bbd9=await fetch(_0xa97f7e+'/program-outcomes/poaep/upload?course_id='+_0x22339c+'&curr_id='+_0x58e157+'&period_id='+_0x400016,{'method':'POST','headers':{'Content-Type':'application/json','Authorization':'Bearer\x20'+_0x55f7f7},'credentials':'include','body':JSON['stringify'](_0x4841f4)});if(!_0x32bbd9['ok']){const _0x220ebb=await _0x32bbd9['json']();throw _0x220ebb;}return _0x32bbd9['json']();}catch(_0xeac3a9){throw _0xeac3a9;}}
43
+
44
+ class Client{['BASE_URL'];constructor(_0x235c07){this['BASE_URL']=_0x235c07;}['Parser'](){return {'curriculum':async _0x50499f=>{const _0x4a3ac5=await uploadCurriculum(this['BASE_URL'],_0x50499f);return _0x4a3ac5;},'courseOffering':async _0x490fad=>{const _0x1fce8e=await uploadCourseOffering(this['BASE_URL'],_0x490fad);return _0x1fce8e;},'coaep':async(_0x1087be,_0x659154)=>{const _0x3281e4=await uploadCOAEP(this['BASE_URL'],_0x1087be,_0x659154);return _0x3281e4;},'enrolledStudent':async _0x3af96e=>{const _0x347e19=await uploadEnrolledStudent(this['BASE_URL'],_0x3af96e);return _0x347e19;},'classlist':async(_0xc2b030,_0x567ea8,_0x3a0464)=>{const _0x23313f=await uploadClassList(this['BASE_URL'],_0xc2b030,_0x567ea8,_0x3a0464);return _0x23313f;},'assessmentData':async _0x29931c=>{const _0x4319d5=await uploadAssessmentData(this['BASE_URL'],_0x29931c);return _0x4319d5;},'deptFaculty':async _0x2cf9fa=>{const _0x764be6=await uploadDeptFaculty(this['BASE_URL'],_0x2cf9fa);return _0x764be6;},'poaep':async(_0x54492a,_0xd06a08,_0x674536,_0x2a5862,_0x18c154)=>{const _0x105dbc=await uploadPOAEP(this['BASE_URL'],_0x54492a,_0xd06a08,_0x674536,_0x2a5862,_0x18c154);return _0x105dbc;}};}}
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, course_id: string, curr_id: string, period_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.4",
4
4
  "license": "ISC",
5
5
  "dependencies": {
6
6
  "papaparse": "^5.5.3",