@obe-loms/coms-parser 1.2.6 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bundle.js CHANGED
@@ -1,36 +1,38 @@
1
- import _0x224f08 from 'papaparse';
2
- import * as _0x227779 from 'xlsx';
1
+ import _0x59ce7f from 'papaparse';
2
+ import * as _0xfbd7d8 from 'xlsx';
3
3
 
4
- function parseCurriculum(_0x1dd36f){let _0x4807fe='',_0x1b5984='',_0x5b90a2=0x0,_0x20f4e9=null;const _0x3e6b44=[];return _0x224f08['parse'](_0x1dd36f,{'skipEmptyLines':!![],'complete':_0x22f693=>{_0x22f693['data']['forEach'](_0xdbc57d=>{const _0x2c37d9=_0xdbc57d['map'](_0x51937b=>(_0x51937b??'')['toString']()['trim']()),_0x191349=_0x2c37d9[0x0]??'';if(_0x191349['includes']('Rev#')){const _0x4c0743=_0x191349['match'](/([A-Z0-9]+)\s*-\s*.*:\s*(.*?)\s+Rev#\s*(\d+)/i);_0x4c0743&&(_0x4807fe=_0x4c0743[0x1]?.['trim']()??'',_0x1b5984=_0x4c0743[0x2]?.['trim']()??'',_0x5b90a2=parseInt(_0x4c0743[0x3]??'0',0xa));return;}if(/FIRST YEAR/i['test'](_0x191349)){_0x20f4e9=0x1;return;}if(/SECOND YEAR/i['test'](_0x191349)){_0x20f4e9=0x2;return;}if(/THIRD YEAR/i['test'](_0x191349)){_0x20f4e9=0x3;return;}if(/FOURTH YEAR/i['test'](_0x191349)){_0x20f4e9=0x4;return;}if(/FIFTH YEAR/i['test'](_0x191349)){_0x20f4e9=0x5;return;}if(/First Semester/i['test'](_0x191349)||/Second Semester/i['test'](_0x191349)||/Summer/i['test'](_0x191349))return;const _0x49b17d=[{'sem':0x1,'offset':0x0},{'sem':0x2,'offset':0x6},{'sem':0x3,'offset':0xc}];_0x49b17d['forEach'](({sem:_0x1002f0,offset:_0x173021})=>{const _0x55736=_0x2c37d9[_0x173021]??'',_0x5d44e2=_0x2c37d9[_0x173021+0x1]??'',_0x34bf06=_0x2c37d9[_0x173021+0x2]??'',_0x23e49b=_0x2c37d9[_0x173021+0x3]??'',_0x4e3160=_0x2c37d9[_0x173021+0x4]??'';_0x55736&&_0x20f4e9&&_0x3e6b44['push']({'curr_id':_0x4807fe,'program_name':_0x1b5984,'revision_no':_0x5b90a2,'year_level':_0x20f4e9,'sem':_0x1002f0,'course_id':_0x55736,'course_desc':_0x5d44e2,'total_units':_0x34bf06,'lec_unit':_0x23e49b,'lab_unit':_0x4e3160});});});}}),_0x3e6b44;}
4
+ function parseCurriculum(_0x3c3abc){let _0x4202b7='',_0x4c7eb0='',_0x164ee5=0x0,_0x1a65bd=null;const _0x5a6e28=[];return _0x59ce7f['parse'](_0x3c3abc,{'skipEmptyLines':!![],'complete':_0xed6e4a=>{_0xed6e4a['data']['forEach'](_0x312ecd=>{const _0x160296=_0x312ecd['map'](_0x138a2e=>(_0x138a2e??'')['toString']()['trim']()),_0x45507e=_0x160296[0x0]??'';if(_0x45507e['includes']('Rev#')){const _0x53af3c=_0x45507e['match'](/([A-Z0-9]+)\s*-\s*.*:\s*(.*?)\s+Rev#\s*(\d+)/i);_0x53af3c&&(_0x4202b7=_0x53af3c[0x1]?.['trim']()??'',_0x4c7eb0=_0x53af3c[0x2]?.['trim']()??'',_0x164ee5=parseInt(_0x53af3c[0x3]??'0',0xa));return;}if(/FIRST YEAR/i['test'](_0x45507e)){_0x1a65bd=0x1;return;}if(/SECOND YEAR/i['test'](_0x45507e)){_0x1a65bd=0x2;return;}if(/THIRD YEAR/i['test'](_0x45507e)){_0x1a65bd=0x3;return;}if(/FOURTH YEAR/i['test'](_0x45507e)){_0x1a65bd=0x4;return;}if(/FIFTH YEAR/i['test'](_0x45507e)){_0x1a65bd=0x5;return;}if(/First Semester/i['test'](_0x45507e)||/Second Semester/i['test'](_0x45507e)||/Summer/i['test'](_0x45507e))return;const _0x2b0d4f=[{'sem':0x1,'offset':0x0},{'sem':0x2,'offset':0x6},{'sem':0x3,'offset':0xc}];_0x2b0d4f['forEach'](({sem:_0x2dd532,offset:_0x5ebb77})=>{const _0xa2a28=_0x160296[_0x5ebb77]??'',_0x4c592a=_0x160296[_0x5ebb77+0x1]??'',_0x3be184=_0x160296[_0x5ebb77+0x2]??'',_0x4bf68d=_0x160296[_0x5ebb77+0x3]??'',_0x46f64d=_0x160296[_0x5ebb77+0x4]??'';_0xa2a28&&_0x1a65bd&&_0x5a6e28['push']({'curr_id':_0x4202b7,'program_name':_0x4c7eb0,'revision_no':_0x164ee5,'year_level':_0x1a65bd,'sem':_0x2dd532,'course_id':_0xa2a28,'course_desc':_0x4c592a,'total_units':_0x3be184,'lec_unit':_0x4bf68d,'lab_unit':_0x46f64d});});});}}),_0x5a6e28;}
5
5
 
6
- function convertToCSVFile(_0x4429af){return new Promise((_0x2cff48,_0x366875)=>{const _0x221737=new FileReader();_0x221737['onload']=_0x233925=>{const _0x4a40c8=_0x233925['target']?.['result'];if(!_0x4a40c8){_0x366875(new Error('Failed\x20to\x20read\x20file'));return;}try{const _0x454700=_0x227779['read'](_0x4a40c8,{'type':'array'}),_0x24fcbe=_0x454700['SheetNames'][0x0];if(!_0x24fcbe){_0x366875(new Error('No\x20sheets\x20found\x20in\x20workbook'));return;}const _0x563b3b=_0x454700['Sheets'][_0x24fcbe];if(!_0x563b3b){_0x366875(new Error('No\x20sheets\x20found\x20in\x20worksheet'));return;}const _0x3f913e=_0x227779['utils']['sheet_to_csv'](_0x563b3b,{'strip':!![]}),_0x2dcefe=_0x4429af['name']['replace'](/\.[^/.]+$/,'.csv'),_0x3517b4=new File([_0x3f913e],_0x2dcefe,{'type':'text/csv','lastModified':Date['now']()});_0x2cff48(_0x3517b4);}catch(_0x1577c4){_0x366875(_0x1577c4);}},_0x221737['onerror']=()=>{_0x366875(new Error('File\x20reading\x20failed'));},_0x221737['readAsArrayBuffer'](_0x4429af);});}
6
+ function convertToCSVFile(_0x56f2d3){return new Promise((_0x5aa6d0,_0x457ae4)=>{const _0x13c7ec=new FileReader();_0x13c7ec['onload']=_0x34389e=>{const _0x1b3806=_0x34389e['target']?.['result'];if(!_0x1b3806){_0x457ae4(new Error('Failed\x20to\x20read\x20file'));return;}try{const _0x304a7e=_0xfbd7d8['read'](_0x1b3806,{'type':'array'}),_0x25f552=_0x304a7e['SheetNames'][0x0];if(!_0x25f552){_0x457ae4(new Error('No\x20sheets\x20found\x20in\x20workbook'));return;}const _0xf734b0=_0x304a7e['Sheets'][_0x25f552];if(!_0xf734b0){_0x457ae4(new Error('No\x20sheets\x20found\x20in\x20worksheet'));return;}const _0x42a636=_0xfbd7d8['utils']['sheet_to_csv'](_0xf734b0,{'strip':!![]}),_0x4ba05c=_0x56f2d3['name']['replace'](/\.[^/.]+$/,'.csv'),_0x5f52fa=new File([_0x42a636],_0x4ba05c,{'type':'text/csv','lastModified':Date['now']()});_0x5aa6d0(_0x5f52fa);}catch(_0x465b96){_0x457ae4(_0x465b96);}},_0x13c7ec['onerror']=()=>{_0x457ae4(new Error('File\x20reading\x20failed'));},_0x13c7ec['readAsArrayBuffer'](_0x56f2d3);});}
7
7
 
8
- async function uploadCurriculum(_0x46c4b9,_0x16d21c){try{const _0x5a6d67=await convertToCSVFile(_0x16d21c),_0x5a1c16=await _0x5a6d67['text'](),_0x567148=parseCurriculum(_0x5a1c16),_0x5efefd=_0x224f08['unparse'](_0x567148),_0xb5da79=new File([_0x5efefd],_0x5a6d67['name'],{'type':'text/csv'}),_0x4f3cb2=new FormData();_0x4f3cb2['append']('csvFile',_0xb5da79);const _0x395053=await fetch(_0x46c4b9+'/curr-courses/upload',{'method':'POST','body':_0x4f3cb2});if(!_0x395053['ok']){const _0x500ed0=await _0x395053['json']();throw _0x500ed0;}return _0x395053['json']();}catch(_0x3e853a){throw _0x3e853a;}}
8
+ async function uploadCurriculum(_0x113bdd,_0x30078e){try{const _0x4acdc1=await convertToCSVFile(_0x30078e),_0x46856e=await _0x4acdc1['text'](),_0x3285bc=parseCurriculum(_0x46856e),_0x562b69=_0x59ce7f['unparse'](_0x3285bc),_0x1a7ec9=new File([_0x562b69],_0x4acdc1['name'],{'type':'text/csv'}),_0x37329a=new FormData();_0x37329a['append']('csvFile',_0x1a7ec9);const _0x84aff1=await fetch(_0x113bdd+'/curr-courses/upload',{'method':'POST','body':_0x37329a});if(!_0x84aff1['ok']){const _0x4b00fe=await _0x84aff1['json']();throw _0x4b00fe;}return _0x84aff1['json']();}catch(_0x13a3fc){throw _0x13a3fc;}}
9
9
 
10
- function parseCourseOffering(_0x35e0b8){let _0x1a8670='',_0x195816='';const _0x2dc5f0=[],_0x4f914b=_0x224f08['parse'](_0x35e0b8,{'header':![],'skipEmptyLines':!![],'delimiter':','}),_0x35b73d=_0x4f914b['data'];for(let _0x127917=0x0;_0x127917<Math['min'](0x5,_0x35b73d['length']);_0x127917++){const _0x3da851=_0x35b73d[_0x127917];if(_0x3da851&&_0x3da851['length']>0x0){const _0x36c25f=_0x3da851[0x0]?.['toString']()||'',_0xf342e3=_0x36c25f['match'](/(First|Second)\s+Sem\s+S\/Y\s+(\d{4}-\d{4})/i);if(_0xf342e3){_0x1a8670=_0xf342e3[0x1]?.['toLowerCase']()==='first'?'1':'2';if(_0xf342e3[0x2]){const _0x3d356a=_0xf342e3[0x2]['match'](/(\d{2})(\d{2})-(\d{2})(\d{2})/);_0x3d356a&&_0x3d356a[0x2]&&_0x3d356a[0x4]&&(_0x195816=_0x3d356a[0x2]+_0x3d356a[0x4]);}}}}let _0x5612c1=-1;for(let _0x3ca520=0x0;_0x3ca520<_0x35b73d['length'];_0x3ca520++){const _0x3e67f6=_0x35b73d[_0x3ca520];if(_0x3e67f6&&_0x3e67f6['some'](_0x36c906=>_0x36c906?.['toString']()['toUpperCase']()['includes']('CODE'))){_0x5612c1=_0x3ca520;break;}}if(_0x5612c1===-1)throw new Error('Could\x20not\x20find\x20header\x20row\x20in\x20CSV\x20data');for(let _0x3ee57b=_0x5612c1+0x1;_0x3ee57b<_0x35b73d['length'];_0x3ee57b++){const _0x3f0f27=_0x35b73d[_0x3ee57b];if(!_0x3f0f27||_0x3f0f27['length']<0x8)continue;const _0x411a20=_0x3f0f27[0x0]?.['toString']()['trim']()||'',_0x304704=_0x3f0f27[0x1]?.['toString']()['trim']()||'',_0x25c264=_0x3f0f27[0x2]?.['toString']()['trim']()||'',_0x212791=_0x3f0f27[0x3]?.['toString']()['trim']()||'',_0x226d56=_0x3f0f27[0x4]?.['toString']()['trim']()||'',_0x499cf9=_0x3f0f27[0x5]?.['toString']()['trim']()||'',_0x3c2a93=_0x3f0f27[0x6]?.['toString']()['trim']()||'',_0x1a9fda=_0x3f0f27[0x7]?.['toString']()['trim']()||'';if(!_0x411a20)continue;let _0x3f8c9a=0x0;const _0x53b6ca=_0x212791['match'](/(\d+)/);_0x53b6ca&&_0x53b6ca[0x1]&&(_0x3f8c9a=parseInt(_0x53b6ca[0x1],0xa));const _0x2b1f93={'sem':_0x1a8670,'school_year':_0x195816,'code':_0x411a20,'course_no':_0x304704,'course_desc':_0x25c264,'unit':_0x3f8c9a,'time':_0x226d56,'days':_0x499cf9,'faculty':_0x3c2a93,'room':_0x1a9fda};_0x2dc5f0['push'](_0x2b1f93);}return _0x2dc5f0;}
10
+ function parseCourseOffering(_0x1c7379){let _0x52efad='',_0x3439c5='';const _0x8c51a4=[],_0x3018bf=_0x59ce7f['parse'](_0x1c7379,{'header':![],'skipEmptyLines':!![],'delimiter':','}),_0x2481eb=_0x3018bf['data'];for(let _0x2c15a6=0x0;_0x2c15a6<Math['min'](0x5,_0x2481eb['length']);_0x2c15a6++){const _0x398e87=_0x2481eb[_0x2c15a6];if(_0x398e87&&_0x398e87['length']>0x0){const _0x550c41=_0x398e87[0x0]?.['toString']()||'',_0x423c09=_0x550c41['match'](/(First|Second)\s+Sem\s+S\/Y\s+(\d{4}-\d{4})/i);if(_0x423c09){_0x52efad=_0x423c09[0x1]?.['toLowerCase']()==='first'?'1':'2';if(_0x423c09[0x2]){const _0x41313c=_0x423c09[0x2]['match'](/(\d{2})(\d{2})-(\d{2})(\d{2})/);_0x41313c&&_0x41313c[0x2]&&_0x41313c[0x4]&&(_0x3439c5=_0x41313c[0x2]+_0x41313c[0x4]);}}}}let _0x4319d0=-1;for(let _0xeadc4f=0x0;_0xeadc4f<_0x2481eb['length'];_0xeadc4f++){const _0x4a35a6=_0x2481eb[_0xeadc4f];if(_0x4a35a6&&_0x4a35a6['some'](_0x28c4c2=>_0x28c4c2?.['toString']()['toUpperCase']()['includes']('CODE'))){_0x4319d0=_0xeadc4f;break;}}if(_0x4319d0===-1)throw new Error('Could\x20not\x20find\x20header\x20row\x20in\x20CSV\x20data');for(let _0x58c733=_0x4319d0+0x1;_0x58c733<_0x2481eb['length'];_0x58c733++){const _0x6bea28=_0x2481eb[_0x58c733];if(!_0x6bea28||_0x6bea28['length']<0x8)continue;const _0x22399c=_0x6bea28[0x0]?.['toString']()['trim']()||'',_0x45989d=_0x6bea28[0x1]?.['toString']()['trim']()||'',_0x3e382a=_0x6bea28[0x2]?.['toString']()['trim']()||'',_0x1377ea=_0x6bea28[0x3]?.['toString']()['trim']()||'',_0x114993=_0x6bea28[0x4]?.['toString']()['trim']()||'',_0x41b401=_0x6bea28[0x5]?.['toString']()['trim']()||'',_0x1a69e3=_0x6bea28[0x6]?.['toString']()['trim']()||'',_0x312c7e=_0x6bea28[0x7]?.['toString']()['trim']()||'';if(!_0x22399c)continue;let _0x58fa84=0x0;const _0x4ff467=_0x1377ea['match'](/(\d+)/);_0x4ff467&&_0x4ff467[0x1]&&(_0x58fa84=parseInt(_0x4ff467[0x1],0xa));const _0x2dcced={'sem':_0x52efad,'school_year':_0x3439c5,'code':_0x22399c,'course_no':_0x45989d,'course_desc':_0x3e382a,'unit':_0x58fa84,'time':_0x114993,'days':_0x41b401,'faculty':_0x1a69e3,'room':_0x312c7e};_0x8c51a4['push'](_0x2dcced);}return _0x8c51a4;}
11
11
 
12
- async function uploadCourseOffering(_0xa1a283,_0x10883a){try{const _0x5db830=await convertToCSVFile(_0x10883a),_0x29d9ed=await _0x5db830['text'](),_0xb90b22=parseCourseOffering(_0x29d9ed),_0x49ecfb=_0x224f08['unparse'](_0xb90b22),_0x29a989=new File([_0x49ecfb],_0x5db830['name'],{'type':'text/csv'}),_0x2fb72e=new FormData();_0x2fb72e['append']('csvFile',_0x29a989);const _0x3fcf40=await fetch(_0xa1a283+'/course-offerings/upload',{'method':'POST','body':_0x2fb72e});if(!_0x3fcf40['ok']){const _0x174fca=await _0x3fcf40['json']();throw _0x174fca;}return _0x3fcf40['json']();}catch(_0x3f6a99){throw _0x3f6a99;}}
12
+ async function uploadCourseOffering(_0x3b6c7b,_0x47e551){try{const _0x352992=await convertToCSVFile(_0x47e551),_0x2b41c5=await _0x352992['text'](),_0xfe4fa3=parseCourseOffering(_0x2b41c5),_0xe364ef=_0x59ce7f['unparse'](_0xfe4fa3),_0x331cea=new File([_0xe364ef],_0x352992['name'],{'type':'text/csv'}),_0xce9f73=new FormData();_0xce9f73['append']('csvFile',_0x331cea);const _0x1cdb33=await fetch(_0x3b6c7b+'/course-offerings/upload',{'method':'POST','body':_0xce9f73});if(!_0x1cdb33['ok']){const _0x198f9a=await _0x1cdb33['json']();throw _0x198f9a;}return _0x1cdb33['json']();}catch(_0x17565d){throw _0x17565d;}}
13
13
 
14
- function performaceTarget(_0x220203){if(!_0x220203)return {'performance_target':null,'passing_score':null};const _0x29d8c1=_0x220203['match'](/\d+/g);return {'performance_target':_0x29d8c1?.[0x0]?parseInt(_0x29d8c1[0x0],0xa):null,'passing_score':_0x29d8c1?.[0x1]?parseInt(_0x29d8c1[0x1],0xa):null};}
14
+ function performaceTarget(_0x126659){if(!_0x126659)return {'performance_target':null,'passing_score':null};const _0x222bfe=_0x126659['match'](/\d+/g);return {'performance_target':_0x222bfe?.[0x0]?parseInt(_0x222bfe[0x0],0xa):null,'passing_score':_0x222bfe?.[0x1]?parseInt(_0x222bfe[0x1],0xa):null};}
15
15
 
16
- function extractInstructionalVerb(_0x4548fc){const _0x43bca6=_0x4548fc['trim'](),_0x1d8d41=/\b(will|shall)\b\s+(?:be\s+able\s+to\s+)?([a-zA-Z]+)/i,_0x5d1c7a=_0x43bca6['match'](_0x1d8d41);return _0x5d1c7a&&_0x5d1c7a[0x2]!==undefined?_0x5d1c7a[0x2]:null;}
16
+ function extractInstructionalVerb(_0x5dd8cf){const _0xae25e8=_0x5dd8cf['trim'](),_0x11f821=/\b(will|shall)\b\s+(?:be\s+able\s+to\s+)?([a-zA-Z]+)/i,_0x56c6fb=_0xae25e8['match'](_0x11f821);return _0x56c6fb&&_0x56c6fb[0x2]!==undefined?_0x56c6fb[0x2]:null;}
17
17
 
18
- function parseCOAEP(_0x1301c6){const _0x559b55=_0x224f08['parse'](_0x1301c6,{'skipEmptyLines':![]})['data'],_0x54b750={'COAEP':{'faculty':null,'course':null,'sy':null,'semester':null,'co':[]}};let _0x3ef94b=-1,_0x27ba5e=-1,_0x4d6e05=-1,_0x643bcf=-1;_0x559b55['forEach'](_0x8f524=>{_0x3ef94b=_0x8f524['indexOf']('Course\x20Outcome\x20Statement'),_0x27ba5e=_0x8f524['indexOf']('Intended\x20Learning\x20Outcome'),_0x4d6e05=_0x8f524['indexOf']('Assessment\x20Tool'),_0x643bcf=_0x8f524['indexOf']('Performance\x20Target');if(_0x3ef94b!==-1&&_0x27ba5e!==-1&&_0x4d6e05!==-1&&_0x643bcf!==-1)return;}),_0x559b55['forEach'](_0x2b7d64=>{const _0x4e456a=_0x2b7d64['indexOf']('Name\x20of\x20Faculty:'),_0x4d273e=_0x2b7d64['indexOf']('School\x20Year'),_0x3c40df=_0x2b7d64['indexOf']('Course:'),_0x1a7cc1=_0x2b7d64['indexOf']('Semester');_0x54b750['COAEP']['faculty']=_0x2b7d64[_0x4e456a+0x1]?.['trim']()||_0x54b750['COAEP']['faculty'],_0x54b750['COAEP']['sy']=_0x2b7d64[_0x4d273e+0x1]?.['trim']()||_0x54b750['COAEP']['sy'],_0x54b750['COAEP']['course']=_0x2b7d64[_0x3c40df+0x1]?.['trim']()||_0x54b750['COAEP']['course'];const _0x166cfa=_0x2b7d64[_0x1a7cc1+0x1]?.['trim']()||'',_0x4d21e5=_0x166cfa['match'](/\d+/)?.[0x0];_0x54b750['COAEP']['semester']=_0x4d21e5?parseInt(_0x4d21e5,0xa):_0x54b750['COAEP']['semester'];});let _0x2febff=null;return _0x559b55['forEach'](_0x5ca675=>{const _0x299e9f=_0x5ca675[0x1]?.['trim']()||'',_0x4dc072=_0x5ca675[0x2]?.['trim']()||'',_0x571e76=_0x5ca675[0x4]?.['trim']()||'',_0x4cd898=_0x5ca675[0x5]?.['replace'](/^ILO\d+[:.]?\s*/,'')||'',_0x5123c8=_0x5ca675[0x6]?.['replace'](/\s+/g,'\x20')['trim']()||'';if(_0x299e9f&&/^\d+$/['test'](_0x299e9f)){_0x2febff&&_0x54b750['COAEP']['co']['push'](_0x2febff);const _0x536711=_0x4dc072,_0x34913e=extractInstructionalVerb(_0x536711)||'';_0x2febff={'statement':_0x536711,'verb':_0x34913e,'ilo':[]};}if(_0x2febff&&_0x571e76&&_0x4cd898&&_0x5123c8){const _0x497081=_0x571e76['replace'](/^ILO\d+[:.]?\s*/,''),{performance_target:_0x59628a,passing_score:_0x55cc46}=performaceTarget(_0x5123c8);_0x2febff['ilo']['push']({'statement':_0x497081,'verb':extractInstructionalVerb(_0x497081)||'','assessment_tool':_0x4cd898,'performance_target':_0x59628a,'passing_score':_0x55cc46});}}),_0x2febff&&_0x54b750['COAEP']['co']['push'](_0x2febff),_0x54b750;}
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(_0x4402c6){let _0x2c69ed={'headerRowIndex':-1,'coIdx':-1,'iloIdx':-1,'assessToolIdx':-1,'perfTargetIdx':-1};for(let _0x29430b=0x0;_0x29430b<Math['min'](_0x4402c6['length'],0x14);_0x29430b++){const _0x1244b5=(_0x4402c6[_0x29430b]??[])['map'](_0x17a9b1=>_0x17a9b1['toLowerCase']()['trim']()),_0xb4722b=_0x1244b5['findIndex'](_0x76051c=>HEADERS['co']['some'](_0x10fabf=>_0x76051c['includes'](_0x10fabf))),_0x556a16=_0x1244b5['findIndex'](_0x357e2f=>HEADERS['ilo']['some'](_0x495fc1=>_0x357e2f['includes'](_0x495fc1))),_0xbb3ab4=_0x1244b5['findIndex'](_0xd2936d=>HEADERS['assessTool']['some'](_0x26286e=>_0xd2936d['includes'](_0x26286e))),_0x3f0ced=_0x1244b5['findIndex'](_0x55ab03=>HEADERS['perfTarget']['some'](_0xc14032=>_0x55ab03['includes'](_0xc14032))),_0x5d15a2=[_0xb4722b,_0x556a16,_0xbb3ab4,_0x3f0ced]['filter'](_0x43fea0=>_0x43fea0!==-1)['length'];if(_0x5d15a2>=0x3){_0x2c69ed={'headerRowIndex':_0x29430b,'coIdx':_0xb4722b,'iloIdx':_0x556a16,'assessToolIdx':_0xbb3ab4,'perfTargetIdx':_0x3f0ced};break;}}return _0x2c69ed;}
19
19
 
20
- async function uploadCOAEP(_0x5efc72,_0x151e0d,_0x8de6eb){try{const _0x2e82f6=await convertToCSVFile(_0x151e0d),_0x4e6e60=await _0x2e82f6['text'](),_0x4529aa=parseCOAEP(_0x4e6e60),_0x361c0b=await fetch(_0x5efc72+'/coaeps/upload?course_id='+_0x8de6eb,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x4529aa)});if(!_0x361c0b['ok']){const _0x3b73cc=await _0x361c0b['json']();throw _0x3b73cc;}return _0x361c0b['json']();}catch(_0x26f795){throw _0x26f795;}}
20
+ function parseCOAEP(_0x1eb2d2){const _0x30855f=_0x59ce7f['parse'](_0x1eb2d2,{'skipEmptyLines':![]})['data'],_0x657249={'COAEP':{'faculty':null,'course':null,'sy':null,'semester':null,'co':[]}},{headerRowIndex:_0x109943,coIdx:_0x4e0c86,iloIdx:_0x41ba82,assessToolIdx:_0x118cda,perfTargetIdx:_0x3ad597}=getCoaepHeader(_0x30855f);if(_0x109943===-1)return {'error':'Could\x20not\x20auto-detect\x20header\x20row.','message':'Please\x20ensure\x20the\x20CSV\x20file\x20is\x20in\x20the\x20correct\x20COAEP\x20format.'};_0x30855f['forEach'](_0xcf51ba=>{const _0x2e272d=_0xcf51ba['indexOf']('Name\x20of\x20Faculty:'),_0x4ffa8d=_0xcf51ba['indexOf']('School\x20Year'),_0x4cbd23=_0xcf51ba['indexOf']('Course:'),_0x1c2448=_0xcf51ba['indexOf']('Semester');_0x2e272d!==-1&&(_0x657249['COAEP']['faculty']=_0xcf51ba[_0x2e272d+0x1]?.['trim']()||_0x657249['COAEP']['faculty']);_0x4ffa8d!==-1&&(_0x657249['COAEP']['sy']=_0xcf51ba[_0x4ffa8d+0x1]?.['trim']()||_0x657249['COAEP']['sy']);_0x4cbd23!==-1&&(_0x657249['COAEP']['course']=_0xcf51ba[_0x4cbd23+0x1]?.['trim']()||_0x657249['COAEP']['course']);if(_0x1c2448!==-1){const _0x43a4cb=_0xcf51ba[_0x1c2448+0x1]?.['trim']()||'',_0x3f738a=_0x43a4cb['match'](/\d+/)?.[0x0];_0x657249['COAEP']['semester']=_0x3f738a?parseInt(_0x3f738a,0xa):_0x657249['COAEP']['semester'];}});let _0x2efb1b=null;return _0x30855f['forEach']((_0x1dda1e,_0xd9635d)=>{if(_0xd9635d<=_0x109943)return;let _0xea3175=_0x1dda1e[_0x4e0c86-0x1]?.['trim']()||'',_0x2f94f9=_0x1dda1e[_0x4e0c86]?.['trim']()||'';/^\d+$/['test'](_0x1dda1e[_0x4e0c86]?.['trim']()||'')&&(_0xea3175=_0x1dda1e[_0x4e0c86]?.['trim']()||'',_0x2f94f9=_0x1dda1e[_0x4e0c86+0x1]?.['trim']()||'');const _0x2e6397=_0x1dda1e[_0x41ba82]?.['trim']()||'',_0x569ee8=_0x1dda1e[_0x118cda]?.['replace'](/^ILO\d+[:.]?\s*/,'')['trim']()||'',_0x201967=_0x1dda1e[_0x3ad597]?.['replace'](/\s+/g,'\x20')['trim']()||'';if(_0xea3175&&/^\d+$/['test'](_0xea3175)){_0x2efb1b&&_0x657249['COAEP']['co']['push'](_0x2efb1b);const _0x10183a=_0x2f94f9,_0x43e2b2=extractInstructionalVerb(_0x10183a)||'';_0x2efb1b={'statement':_0x10183a,'verb':_0x43e2b2,'ilo':[]};}if(_0x2efb1b&&_0x2e6397&&_0x201967){const _0x4beef0=_0x2e6397['replace'](/^ILO\d+[:.]?\s*/,'');if(_0x4beef0['match'](/^(Revision|Prepared|Date|Approved|Effectivity|Page)/i)||_0x4beef0['length']<0xa)return;let _0x4cd8cd=_0x569ee8;if(!_0x4cd8cd&&_0x4beef0['includes'](':')){const _0x556ab2=_0x4beef0['match'](/^ILO\d+:\s*(.+?)(?:\s*\(|$)/);_0x556ab2&&(_0x4cd8cd=_0x556ab2[0x1]?.['trim']()||'');}const {performance_target:_0x5e36fd,passing_score:_0x1475b0}=performaceTarget(_0x201967);_0x2efb1b['ilo']['push']({'statement':_0x4beef0,'verb':extractInstructionalVerb(_0x4beef0)||'','assessment_tool':_0x4cd8cd,'performance_target':_0x5e36fd,'passing_score':_0x1475b0});}}),_0x2efb1b&&_0x657249['COAEP']['co']['push'](_0x2efb1b),_0x657249;}
21
21
 
22
- async function uploadEnrolledStudent(_0x3f86a3,_0x13e688){try{const _0x365c92=await convertToCSVFile(_0x13e688),_0x3a5fda=new FormData();_0x3a5fda['append']('csvFile',_0x365c92);const _0x588201=await fetch(_0x3f86a3+'/enrolled-students/upload',{'method':'POST','body':_0x3a5fda});if(!_0x588201['ok']){const _0x4c253d=await _0x588201['json']();throw _0x4c253d;}return _0x588201['json']();}catch(_0x46c3a1){throw _0x46c3a1;}}
22
+ async function uploadCOAEP(_0x122af6,_0xaae9b4,_0x3df7a7){try{const _0x4c90b4=await convertToCSVFile(_0xaae9b4),_0x1918b6=await _0x4c90b4['text'](),_0x43c03f=parseCOAEP(_0x1918b6),_0x184a03=await fetch(_0x122af6+'/coaeps/upload?course_id='+_0x3df7a7,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x43c03f)});if(!_0x184a03['ok']){const _0x249a4f=await _0x184a03['json']();throw _0x249a4f;}return _0x184a03['json']();}catch(_0xaa935e){throw _0xaa935e;}}
23
23
 
24
- function parseClassList(_0x4a82cc){const _0x1f1a03=_0x224f08['parse'](_0x4a82cc,{'skipEmptyLines':!![]})['data'];let _0x4bf7a0='',_0x39406d='',_0x610ae6='';const _0x27bf5a=[];return _0x1f1a03['forEach'](_0x122197=>{const _0x453ab3=_0x122197['map'](_0xa0fd8a=>(_0xa0fd8a??'')['toString']()['trim']()),_0x566d18=_0x453ab3[0x0]??'';if(_0x566d18['startsWith']('Course\x20No:')){const _0x2c3c3c=_0x566d18['replace']('Course\x20No:','')['trim'](),_0x25c6dc=_0x2c3c3c['split'](/\s+/);_0x610ae6=_0x25c6dc[0x0]??'';const [_0x58b31c,_0x2be96c]=(_0x25c6dc[0x1]??'')['split']('-');_0x39406d=_0x58b31c??'';const _0x1ddda5=(_0x2be96c??'')['match'](/[a-z]$/);_0x4bf7a0=_0x1ddda5?_0x1ddda5[0x0]:'';}if(/^\d+$/['test'](_0x566d18)){const _0x1bbf04=_0x453ab3[0x2]??'';_0x27bf5a['push']({'subj_code':_0x610ae6,'student_no':_0x1bbf04,'course_id':_0x39406d,'section':_0x4bf7a0});}}),{'enrolledCourses':_0x27bf5a};}
24
+ async function uploadEnrolledStudent(_0x224384,_0x8ddfca){try{const _0x10729e=await convertToCSVFile(_0x8ddfca),_0x1ae133=new FormData();_0x1ae133['append']('csvFile',_0x10729e);const _0x3a9d58=await fetch(_0x224384+'/enrolled-students/upload',{'method':'POST','body':_0x1ae133});if(!_0x3a9d58['ok']){const _0xf64449=await _0x3a9d58['json']();throw _0xf64449;}return _0x3a9d58['json']();}catch(_0x27bfe2){throw _0x27bfe2;}}
25
25
 
26
- async function uploadClassList(_0x18e512,_0x27b23d,_0x2f8450,_0x3c3b75){try{const _0xe73a34=await convertToCSVFile(_0x27b23d),_0x49d603=await _0xe73a34['text'](),_0x1dd0d1=parseClassList(_0x49d603),_0x25e29a='subj_code='+_0x2f8450+'&period_id='+_0x3c3b75,_0x1a6065=await fetch(_0x18e512+'/enrolled-courses/upload?'+_0x25e29a,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x1dd0d1)});if(!_0x1a6065['ok']){const _0x168bbe=await _0x1a6065['json']();throw _0x168bbe;}return _0x1a6065['json']();}catch(_0x14cf02){throw _0x14cf02;}}
26
+ function parseClassList(_0x51f1aa){const _0x5dd84a=_0x59ce7f['parse'](_0x51f1aa,{'skipEmptyLines':!![]})['data'];let _0x480f8d='',_0x51a083='',_0x213b46='';const _0x393b28=[];return _0x5dd84a['forEach'](_0x12ff9f=>{const _0x51e639=_0x12ff9f['map'](_0x5a112d=>(_0x5a112d??'')['toString']()['trim']()),_0x12e166=_0x51e639[0x0]??'';if(_0x12e166['startsWith']('Course\x20No:')){const _0x529450=_0x12e166['replace']('Course\x20No:','')['trim'](),_0x5ec901=_0x529450['split'](/\s+/);_0x213b46=_0x5ec901[0x0]??'';const [_0x156722,_0x4f0272]=(_0x5ec901[0x1]??'')['split']('-');_0x51a083=_0x156722??'';const _0xce90f8=(_0x4f0272??'')['match'](/[a-z]$/);_0x480f8d=_0xce90f8?_0xce90f8[0x0]:'';}if(/^\d+$/['test'](_0x12e166)){const _0x4fc4f8=_0x51e639[0x2]??'';_0x393b28['push']({'subj_code':_0x213b46,'student_no':_0x4fc4f8,'course_id':_0x51a083,'section':_0x480f8d});}}),{'enrolledCourses':_0x393b28};}
27
27
 
28
- function parseAssessmentCsv(_0xb145f4){const {data:_0x38b3bf}=_0x224f08['parse'](_0xb145f4,{'skipEmptyLines':!![]}),_0x3729aa=_0x38b3bf['filter'](_0x2706c3=>_0x2706c3['length']>0x0),_0x473acc=_0x3729aa['find'](_0xb92d41=>_0xb92d41['some'](_0x995cfb=>_0x995cfb?.['includes']('Faculty'))),_0x16e7ef=_0x473acc?_0x473acc['findIndex'](_0x2914e9=>_0x2914e9?.['includes']('Faculty')):-1,_0x15a623=_0x16e7ef!==-1&&_0x473acc?_0x473acc[_0x16e7ef+0x2]?.['replace'](/"/g,'')['trim']()??'':'',_0x20fe30=_0x3729aa['find'](_0x3e753d=>_0x3e753d['some'](_0x29d848=>_0x29d848?.['includes']('Semester'))),_0xaebc36=_0x20fe30?_0x20fe30['findIndex'](_0x23b9a6=>_0x23b9a6?.['includes']('Semester')):-1,_0x1372cd=_0xaebc36!==-1&&_0x20fe30?_0x20fe30[_0xaebc36+0x2]?.['trim']()??'':'',_0x2cd653=_0x1372cd['includes']('1st')?0x1:_0x1372cd['includes']('2nd')?0x2:0x0,_0x25b9c8=_0x3729aa['find'](_0xd29c5b=>_0xd29c5b['some'](_0x37cf07=>_0x37cf07?.['includes']('Course\x20&\x20Sec'))),_0x4383f3=_0x25b9c8?_0x25b9c8['findIndex'](_0x4672b2=>_0x4672b2?.['includes']('Course\x20&\x20Sec')):-1,_0x47ac34=_0x4383f3!==-1&&_0x25b9c8?_0x25b9c8[_0x4383f3+0x2]?.['trim']()??'':'';let _0x2f0c29='',_0x32c325='';if(_0x47ac34){const _0x4621a3=_0x47ac34['match'](/^([A-Za-z0-9]+)-?([A-Za-z]+)?/);_0x4621a3&&(_0x2f0c29=_0x4621a3[0x1]??'',_0x4621a3[0x2]&&(_0x32c325=_0x4621a3[0x2]['replace'](/^OC/i,'')));}const _0x45c374=_0x3729aa['find'](_0x5c5c24=>_0x5c5c24['some'](_0x32a067=>_0x32a067?.['includes']('School\x20Year'))),_0x10494e=_0x45c374?_0x45c374['findIndex'](_0x133bcd=>_0x133bcd?.['includes']('School\x20Year')):-1,_0xe3fecd=_0x10494e!==-1&&_0x45c374?_0x45c374[_0x10494e+0x2]?.['trim']()??'':'';let _0x3ff0e3=0x0;if(_0xe3fecd){const _0x327efe=_0xe3fecd['match'](/(\d{4})-(\d{4})/);if(_0x327efe){const _0x28e3f0=(_0x327efe[0x1]??'')['slice'](0x2),_0x32893e=(_0x327efe[0x2]??'')['slice'](0x2);_0x3ff0e3=parseInt(_0x28e3f0+_0x32893e,0xa);}}const _0x1fb4c5={'faculty':_0x15a623,'course':_0x2f0c29,'section':_0x32c325,'semester':_0x2cd653,'sy':_0x3ff0e3},_0x2701d3=_0x3729aa['findIndex'](_0x29dce2=>_0x29dce2['some'](_0x5a524b=>_0x5a524b?.['trim']()==='CO\x20#'));if(_0x2701d3===-1)throw new Error('CO\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x98c724=_0x3729aa[_0x2701d3+0x1];if(!_0x98c724)throw new Error('ILO\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x451046={};let _0x46ef0f=0x1,_0x29f8b5=0x1;for(let _0x498c64=0x3;_0x498c64<_0x98c724['length'];_0x498c64++){const _0x3b20ab=_0x98c724[_0x498c64];if(!_0x3b20ab)continue;const _0x2755ec='co'+_0x46ef0f;if(!_0x451046[_0x2755ec])_0x451046[_0x2755ec]=[];_0x451046[_0x2755ec]['push']('ilo'+_0x29f8b5),_0x29f8b5++,_0x29f8b5>0x3&&(_0x46ef0f++,_0x29f8b5=0x1);}const _0x229c56=_0x3729aa['findIndex'](_0x2a57ba=>_0x2a57ba['includes']('Name\x20of\x20Students'));if(_0x229c56===-1)throw new Error('Student\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x223535=_0x3729aa[_0x229c56];if(!_0x223535)throw new Error('Student\x20header\x20row\x20is\x20missing');const _0x2f6891=_0x223535['findIndex'](_0x358a71=>_0x358a71?.['includes']('Name\x20of\x20Students'));if(_0x2f6891===-1)throw new Error('Name\x20of\x20Students\x20column\x20not\x20found\x20in\x20CSV');const _0x30b10b=_0x2f6891+0x2,_0xabaa4e=[];for(let _0x4cc65b=_0x229c56+0x1;_0x4cc65b<_0x3729aa['length'];_0x4cc65b++){const _0x2c2659=_0x3729aa[_0x4cc65b];if(!_0x2c2659)continue;if(_0x2c2659['some'](_0x20b758=>_0x20b758?.['toUpperCase']()['includes']('TOTAL\x20STUDENTS')||_0x20b758?.['toUpperCase']()['includes']('ACHIEVED\x20THE\x20MINIMUM')||_0x20b758?.['toUpperCase']()['includes']('INACTIVE')||_0x20b758?.['toUpperCase']()['includes']('AVERAGE')))continue;if(!_0x2c2659[_0x2f6891])continue;const _0x4afad4=_0x2c2659[_0x2f6891]['replace'](/"/g,'')['trim'](),_0x420b45=_0x2c2659['slice'](_0x30b10b)['map'](_0xb66038=>_0xb66038===null?null:!isNaN(Number(_0xb66038))?parseFloat(_0xb66038):0x0);let _0x5eec5a=0x0;const _0x34dbdf={};Object['entries'](_0x451046)['forEach'](([_0x6a50aa,_0x3c7831])=>{const _0x3b90c4={};_0x3c7831['forEach'](_0x28f324=>{_0x3b90c4[_0x28f324]=_0x420b45[_0x5eec5a]??0x0,_0x5eec5a++;}),_0x34dbdf[_0x6a50aa]={'transmuted_score':_0x3b90c4};}),_0xabaa4e['push']({'student_name':_0x4afad4,'coaep':_0x34dbdf});}const _0x1242cf=_0x3729aa['find'](_0xde1724=>_0xde1724['some'](_0x52de1c=>_0x52de1c?.['includes']('ACHIEVED\x20THE\x20MINIMUM'))),_0x73f495=_0x3729aa['find'](_0x678e2b=>_0x678e2b['some'](_0x148b56=>_0x148b56?.['includes']('AVERAGE'))),_0x216cb6=_0x1242cf?_0x1242cf['slice'](_0x30b10b)['map'](_0x345063=>_0x345063&&!isNaN(Number(_0x345063))?parseInt(_0x345063):0x0):[],_0x3d20f0=_0x73f495?_0x73f495['slice'](_0x30b10b)['map'](_0x40955c=>_0x40955c&&_0x40955c!=='#DIV/0!'&&!isNaN(Number(_0x40955c))?parseInt(_0x40955c):0x0):[],_0x33da85={};let _0x1d891d=0x0;return Object['entries'](_0x451046)['forEach'](([_0x8e38b5,_0x3b661e])=>{if(!_0x33da85[_0x8e38b5])_0x33da85[_0x8e38b5]={};_0x3b661e['forEach'](_0x5a1d2a=>{_0x33da85[_0x8e38b5][_0x5a1d2a]={'achievedMinimum':_0x216cb6[_0x1d891d]??0x0,'average':_0x3d20f0[_0x1d891d]??0x0},_0x1d891d++;});}),{'assessmentData':{'classAssignment':_0x1fb4c5,'student':_0xabaa4e,'total':_0x33da85}};}
28
+ async function uploadClassList(_0x30ea11,_0x4e5a12,_0x5bec96,_0x508dde){try{const _0x1c8311=await convertToCSVFile(_0x4e5a12),_0x33d63d=await _0x1c8311['text'](),_0x2206e6=parseClassList(_0x33d63d),_0x5480aa='subj_code='+_0x5bec96+'&period_id='+_0x508dde,_0x34818f=await fetch(_0x30ea11+'/enrolled-courses/upload?'+_0x5480aa,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x2206e6)});if(!_0x34818f['ok']){const _0x52521e=await _0x34818f['json']();throw _0x52521e;}return _0x34818f['json']();}catch(_0x643740){throw _0x643740;}}
29
29
 
30
- async function uploadAssessmentData(_0x1787cc,_0x2b6893){try{const _0x43b3b3=await convertToCSVFile(_0x2b6893),_0x456b78=await _0x43b3b3['text'](),_0xa433c5=parseAssessmentCsv(_0x456b78),_0x303944=await fetch(_0x1787cc+'/assessment-data/upload',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0xa433c5)});if(!_0x303944['ok']){const _0x29a228=await _0x303944['json']();throw _0x29a228;}return _0x303944['json']();}catch(_0x1740ae){throw _0x1740ae;}}
30
+ function parseAssessmentCsv(_0x376752){const {data:_0x5c50d9}=_0x59ce7f['parse'](_0x376752,{'skipEmptyLines':!![]}),_0x338aab=_0x5c50d9['filter'](_0x42dda3=>_0x42dda3['length']>0x0),_0x3d44d9=_0x338aab['find'](_0x4c91bc=>_0x4c91bc['some'](_0x4e2552=>_0x4e2552?.['includes']('Faculty'))),_0x2e099e=_0x3d44d9?_0x3d44d9['findIndex'](_0x28081b=>_0x28081b?.['includes']('Faculty')):-1,_0x1233a2=_0x2e099e!==-1&&_0x3d44d9?_0x3d44d9[_0x2e099e+0x2]?.['replace'](/"/g,'')['trim']()??'':'',_0x1ac0ac=_0x338aab['find'](_0x457227=>_0x457227['some'](_0x4d3b92=>_0x4d3b92?.['includes']('Semester'))),_0x211e04=_0x1ac0ac?_0x1ac0ac['findIndex'](_0x3c1815=>_0x3c1815?.['includes']('Semester')):-1,_0x4bcae9=_0x211e04!==-1&&_0x1ac0ac?_0x1ac0ac[_0x211e04+0x2]?.['trim']()??'':'',_0xf75d80=_0x4bcae9['includes']('1st')?0x1:_0x4bcae9['includes']('2nd')?0x2:0x0,_0x1f4db2=_0x338aab['find'](_0x25c69b=>_0x25c69b['some'](_0x14fec4=>_0x14fec4?.['includes']('Course\x20&\x20Sec'))),_0x2bf8c2=_0x1f4db2?_0x1f4db2['findIndex'](_0x15d6ae=>_0x15d6ae?.['includes']('Course\x20&\x20Sec')):-1,_0x50e6d2=_0x2bf8c2!==-1&&_0x1f4db2?_0x1f4db2[_0x2bf8c2+0x2]?.['trim']()??'':'';let _0x262120='',_0x2576de='';if(_0x50e6d2){const _0x277c3a=_0x50e6d2['match'](/^([A-Za-z0-9]+)-?([A-Za-z]+)?/);_0x277c3a&&(_0x262120=_0x277c3a[0x1]??'',_0x277c3a[0x2]&&(_0x2576de=_0x277c3a[0x2]['replace'](/^OC/i,'')));}const _0x4332ce=_0x338aab['find'](_0x2bc397=>_0x2bc397['some'](_0x2f1609=>_0x2f1609?.['includes']('School\x20Year'))),_0xc0f240=_0x4332ce?_0x4332ce['findIndex'](_0x34194e=>_0x34194e?.['includes']('School\x20Year')):-1,_0x391c39=_0xc0f240!==-1&&_0x4332ce?_0x4332ce[_0xc0f240+0x2]?.['trim']()??'':'';let _0x34d4e4=0x0;if(_0x391c39){const _0x2a9f7a=_0x391c39['match'](/(\d{4})-(\d{4})/);if(_0x2a9f7a){const _0x4dbf0e=(_0x2a9f7a[0x1]??'')['slice'](0x2),_0x148710=(_0x2a9f7a[0x2]??'')['slice'](0x2);_0x34d4e4=parseInt(_0x4dbf0e+_0x148710,0xa);}}const _0x1e006a={'faculty':_0x1233a2,'course':_0x262120,'section':_0x2576de,'semester':_0xf75d80,'sy':_0x34d4e4},_0x3a232a=_0x338aab['findIndex'](_0x29fce4=>_0x29fce4['some'](_0xf1318c=>_0xf1318c?.['trim']()==='CO\x20#'));if(_0x3a232a===-1)throw new Error('CO\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x26e9f0=_0x338aab[_0x3a232a+0x1];if(!_0x26e9f0)throw new Error('ILO\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x76a8ae={};let _0x29d818=0x1,_0x11f086=0x1;for(let _0x3f8ec1=0x3;_0x3f8ec1<_0x26e9f0['length'];_0x3f8ec1++){const _0xfa1575=_0x26e9f0[_0x3f8ec1];if(!_0xfa1575)continue;const _0x167808='co'+_0x29d818;if(!_0x76a8ae[_0x167808])_0x76a8ae[_0x167808]=[];_0x76a8ae[_0x167808]['push']('ilo'+_0x11f086),_0x11f086++,_0x11f086>0x3&&(_0x29d818++,_0x11f086=0x1);}const _0x20f721=_0x338aab['findIndex'](_0xaba396=>_0xaba396['includes']('Name\x20of\x20Students'));if(_0x20f721===-1)throw new Error('Student\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x22380e=_0x338aab[_0x20f721];if(!_0x22380e)throw new Error('Student\x20header\x20row\x20is\x20missing');const _0x57481d=_0x22380e['findIndex'](_0x5103e0=>_0x5103e0?.['includes']('Name\x20of\x20Students'));if(_0x57481d===-1)throw new Error('Name\x20of\x20Students\x20column\x20not\x20found\x20in\x20CSV');const _0x5ccfb4=_0x57481d+0x2,_0x17daf3=[];for(let _0x24beeb=_0x20f721+0x1;_0x24beeb<_0x338aab['length'];_0x24beeb++){const _0x191225=_0x338aab[_0x24beeb];if(!_0x191225)continue;if(_0x191225['some'](_0x4baaa6=>_0x4baaa6?.['toUpperCase']()['includes']('TOTAL\x20STUDENTS')||_0x4baaa6?.['toUpperCase']()['includes']('ACHIEVED\x20THE\x20MINIMUM')||_0x4baaa6?.['toUpperCase']()['includes']('INACTIVE')||_0x4baaa6?.['toUpperCase']()['includes']('AVERAGE')))continue;if(!_0x191225[_0x57481d])continue;const _0x3dcafd=_0x191225[_0x57481d]['replace'](/"/g,'')['trim'](),_0x14db24=_0x191225['slice'](_0x5ccfb4)['map'](_0x5924a8=>_0x5924a8===null?null:!isNaN(Number(_0x5924a8))?parseFloat(_0x5924a8):0x0);let _0x25121f=0x0;const _0x146c9b={};Object['entries'](_0x76a8ae)['forEach'](([_0x4150d8,_0x4ea2da])=>{const _0x3a5e41={};_0x4ea2da['forEach'](_0x2fb970=>{_0x3a5e41[_0x2fb970]=_0x14db24[_0x25121f]??0x0,_0x25121f++;}),_0x146c9b[_0x4150d8]={'transmuted_score':_0x3a5e41};}),_0x17daf3['push']({'student_name':_0x3dcafd,'coaep':_0x146c9b});}const _0x12ebdb=_0x338aab['find'](_0x382a9e=>_0x382a9e['some'](_0x252e05=>_0x252e05?.['includes']('ACHIEVED\x20THE\x20MINIMUM'))),_0x460a3e=_0x338aab['find'](_0x4e1c76=>_0x4e1c76['some'](_0x5d04d2=>_0x5d04d2?.['includes']('AVERAGE'))),_0x57d1f7=_0x12ebdb?_0x12ebdb['slice'](_0x5ccfb4)['map'](_0x4dc224=>_0x4dc224&&!isNaN(Number(_0x4dc224))?parseInt(_0x4dc224):0x0):[],_0x49257f=_0x460a3e?_0x460a3e['slice'](_0x5ccfb4)['map'](_0x277726=>_0x277726&&_0x277726!=='#DIV/0!'&&!isNaN(Number(_0x277726))?parseInt(_0x277726):0x0):[],_0x2c43e4={};let _0x352682=0x0;return Object['entries'](_0x76a8ae)['forEach'](([_0x61b175,_0x52b1b9])=>{if(!_0x2c43e4[_0x61b175])_0x2c43e4[_0x61b175]={};_0x52b1b9['forEach'](_0x4ef96b=>{_0x2c43e4[_0x61b175][_0x4ef96b]={'achievedMinimum':_0x57d1f7[_0x352682]??0x0,'average':_0x49257f[_0x352682]??0x0},_0x352682++;});}),{'assessmentData':{'classAssignment':_0x1e006a,'student':_0x17daf3,'total':_0x2c43e4}};}
31
31
 
32
- async function uploadDeptFaculty(_0x228ab0,_0x2b373e){try{const _0x417232=await convertToCSVFile(_0x2b373e),_0x5b14a5=new FormData();_0x5b14a5['append']('csvFile',_0x417232);const _0x10a2e8=await fetch(_0x228ab0+'/dept-faculties/upload',{'method':'POST','body':_0x5b14a5});if(!_0x10a2e8['ok']){const _0x141767=await _0x10a2e8['json']();throw _0x141767;}return _0x10a2e8['json']();}catch(_0x5b7e9e){throw _0x5b7e9e;}}
32
+ async function uploadAssessmentData(_0x3d4f90,_0x2abe98){try{const _0x256b30=await convertToCSVFile(_0x2abe98),_0x3f39aa=await _0x256b30['text'](),_0x2e76e3=parseAssessmentCsv(_0x3f39aa),_0x51c547=await fetch(_0x3d4f90+'/assessment-data/upload',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x2e76e3)});if(!_0x51c547['ok']){const _0x3a4669=await _0x51c547['json']();throw _0x3a4669;}return _0x51c547['json']();}catch(_0x4d5a92){throw _0x4d5a92;}}
33
33
 
34
- class Client{['BASE_URL'];constructor(_0x49f543){this['BASE_URL']=_0x49f543;}['Parser'](){return {'curriculum':async _0x735541=>{const _0x168754=await uploadCurriculum(this['BASE_URL'],_0x735541);return _0x168754;},'courseOffering':async _0x120313=>{const _0x58c0d8=await uploadCourseOffering(this['BASE_URL'],_0x120313);return _0x58c0d8;},'coaep':async(_0x47da00,_0x3b3cff)=>{const _0x73a322=await uploadCOAEP(this['BASE_URL'],_0x47da00,_0x3b3cff);return _0x73a322;},'enrolledStudent':async _0x11b4a8=>{const _0x39e271=await uploadEnrolledStudent(this['BASE_URL'],_0x11b4a8);return _0x39e271;},'classlist':async(_0x20d33e,_0x4d7d25,_0x1c1cb8)=>{const _0x43b6bb=await uploadClassList(this['BASE_URL'],_0x20d33e,_0x4d7d25,_0x1c1cb8);return _0x43b6bb;},'assessmentData':async _0x2cbfd4=>{const _0xcb6ad8=await uploadAssessmentData(this['BASE_URL'],_0x2cbfd4);return _0xcb6ad8;},'deptFaculty':async _0x159472=>{const _0x4b30de=await uploadDeptFaculty(this['BASE_URL'],_0x159472);return _0x4b30de;}};}}
34
+ async function uploadDeptFaculty(_0x47889b,_0x3b4e9d){try{const _0x109109=await convertToCSVFile(_0x3b4e9d),_0x1e1007=new FormData();_0x1e1007['append']('csvFile',_0x109109);const _0x382c5f=await fetch(_0x47889b+'/dept-faculties/upload',{'method':'POST','body':_0x1e1007});if(!_0x382c5f['ok']){const _0x36b415=await _0x382c5f['json']();throw _0x36b415;}return _0x382c5f['json']();}catch(_0x37fe8b){throw _0x37fe8b;}}
35
+
36
+ class Client{['BASE_URL'];constructor(_0x2ea8c9){this['BASE_URL']=_0x2ea8c9;}['Parser'](){return {'curriculum':async _0x332b56=>{const _0x51335d=await uploadCurriculum(this['BASE_URL'],_0x332b56);return _0x51335d;},'courseOffering':async _0x3ea33c=>{const _0x319bf7=await uploadCourseOffering(this['BASE_URL'],_0x3ea33c);return _0x319bf7;},'coaep':async(_0x36100d,_0x205694)=>{const _0xea87de=await uploadCOAEP(this['BASE_URL'],_0x36100d,_0x205694);return _0xea87de;},'enrolledStudent':async _0xc0fc0d=>{const _0x5995a=await uploadEnrolledStudent(this['BASE_URL'],_0xc0fc0d);return _0x5995a;},'classlist':async(_0x2dfb06,_0x30f06a,_0x1e1ae8)=>{const _0x57bf9d=await uploadClassList(this['BASE_URL'],_0x2dfb06,_0x30f06a,_0x1e1ae8);return _0x57bf9d;},'assessmentData':async _0x353ab6=>{const _0x5cc9f8=await uploadAssessmentData(this['BASE_URL'],_0x353ab6);return _0x5cc9f8;},'deptFaculty':async _0x38097a=>{const _0x8d86d3=await uploadDeptFaculty(this['BASE_URL'],_0x38097a);return _0x8d86d3;}};}}
35
37
 
36
38
  export { Client as default };
@@ -0,0 +1,7 @@
1
+ export default function getCoaepHeader(rows: string[][]): {
2
+ headerRowIndex: number;
3
+ coIdx: number;
4
+ iloIdx: number;
5
+ assessToolIdx: number;
6
+ perfTargetIdx: number;
7
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@obe-loms/coms-parser",
3
- "version": "1.2.6",
3
+ "version": "1.3.0",
4
4
  "license": "ISC",
5
5
  "dependencies": {
6
6
  "papaparse": "^5.5.3",
package/parser/coaep.d.ts CHANGED
@@ -1,4 +1,7 @@
1
1
  import { COAEP } from "../types/coaep";
2
2
  export declare function parseCOAEP(csvString: string): {
3
3
  COAEP: COAEP;
4
+ } | {
5
+ error: string;
6
+ message: string;
4
7
  };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};