@obe-loms/coms-parser 1.4.0 → 1.4.2

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,38 @@
1
- import _0x1b82a8 from 'papaparse';
2
- import * as _0x787c13 from 'xlsx';
1
+ import _0x41bdaa from 'papaparse';
2
+ import * as _0x2dfdaa from 'xlsx';
3
3
 
4
- function parseCurriculum(_0x44fabc){let _0x3a888c='',_0x176dbb='',_0x5ee526=0x0,_0x4bc480=null;const _0xb70030=[];return _0x1b82a8['parse'](_0x44fabc,{'skipEmptyLines':!![],'complete':_0x396794=>{_0x396794['data']['forEach'](_0x25bcd4=>{const _0x2db680=_0x25bcd4['map'](_0x12a41c=>(_0x12a41c??'')['toString']()['trim']()),_0x38caa5=_0x2db680[0x0]??'';if(_0x38caa5['includes']('Rev#')){const _0x3d200d=_0x38caa5['match'](/([A-Z0-9]+)\s*-\s*.*:\s*(.*?)\s+Rev#\s*(\d+)/i);_0x3d200d&&(_0x3a888c=_0x3d200d[0x1]?.['trim']()??'',_0x176dbb=_0x3d200d[0x2]?.['trim']()??'',_0x5ee526=parseInt(_0x3d200d[0x3]??'0',0xa));return;}if(/FIRST YEAR/i['test'](_0x38caa5)){_0x4bc480=0x1;return;}if(/SECOND YEAR/i['test'](_0x38caa5)){_0x4bc480=0x2;return;}if(/THIRD YEAR/i['test'](_0x38caa5)){_0x4bc480=0x3;return;}if(/FOURTH YEAR/i['test'](_0x38caa5)){_0x4bc480=0x4;return;}if(/FIFTH YEAR/i['test'](_0x38caa5)){_0x4bc480=0x5;return;}if(/First Semester/i['test'](_0x38caa5)||/Second Semester/i['test'](_0x38caa5)||/Summer/i['test'](_0x38caa5))return;const _0x4ae836=[{'sem':0x1,'offset':0x0},{'sem':0x2,'offset':0x6},{'sem':0x3,'offset':0xc}];_0x4ae836['forEach'](({sem:_0x595a06,offset:_0x3c1b8b})=>{const _0x2dc78f=_0x2db680[_0x3c1b8b]??'',_0x2f2f2d=_0x2db680[_0x3c1b8b+0x1]??'',_0xfafe7=_0x2db680[_0x3c1b8b+0x2]??'',_0x1ef752=_0x2db680[_0x3c1b8b+0x3]??'',_0x59ca28=_0x2db680[_0x3c1b8b+0x4]??'';_0x2dc78f&&_0x4bc480&&_0xb70030['push']({'curr_id':_0x3a888c,'program_name':_0x176dbb,'revision_no':_0x5ee526,'year_level':_0x4bc480,'sem':_0x595a06,'course_id':_0x2dc78f,'course_desc':_0x2f2f2d,'total_units':_0xfafe7,'lec_unit':_0x1ef752,'lab_unit':_0x59ca28});});});}}),_0xb70030;}
4
+ function parseCurriculum(_0x30a9fb){let _0x8b0ee6='',_0x4d2bbf='',_0x93440d=0x0,_0x383ac8=null;const _0x284b56=[];return _0x41bdaa['parse'](_0x30a9fb,{'skipEmptyLines':!![],'complete':_0xb86e7f=>{_0xb86e7f['data']['forEach'](_0x36753d=>{const _0x221b4=_0x36753d['map'](_0x1333e1=>(_0x1333e1??'')['toString']()['trim']()),_0x4c9d84=_0x221b4[0x0]??'';if(_0x4c9d84['includes']('Rev#')){const _0x43f64f=_0x4c9d84['match'](/([A-Z0-9]+)\s*-\s*.*:\s*(.*?)\s+Rev#\s*(\d+)/i);_0x43f64f&&(_0x8b0ee6=_0x43f64f[0x1]?.['trim']()??'',_0x4d2bbf=_0x43f64f[0x2]?.['trim']()??'',_0x93440d=parseInt(_0x43f64f[0x3]??'0',0xa));return;}if(/FIRST YEAR/i['test'](_0x4c9d84)){_0x383ac8=0x1;return;}if(/SECOND YEAR/i['test'](_0x4c9d84)){_0x383ac8=0x2;return;}if(/THIRD YEAR/i['test'](_0x4c9d84)){_0x383ac8=0x3;return;}if(/FOURTH YEAR/i['test'](_0x4c9d84)){_0x383ac8=0x4;return;}if(/FIFTH YEAR/i['test'](_0x4c9d84)){_0x383ac8=0x5;return;}if(/First Semester/i['test'](_0x4c9d84)||/Second Semester/i['test'](_0x4c9d84)||/Summer/i['test'](_0x4c9d84))return;const _0x478054=[{'sem':0x1,'offset':0x0},{'sem':0x2,'offset':0x6},{'sem':0x3,'offset':0xc}];_0x478054['forEach'](({sem:_0x506a34,offset:_0x417f7d})=>{const _0x198867=_0x221b4[_0x417f7d]??'',_0x67b8f6=_0x221b4[_0x417f7d+0x1]??'',_0x1cedb3=_0x221b4[_0x417f7d+0x2]??'',_0x57e0b6=_0x221b4[_0x417f7d+0x3]??'',_0x526402=_0x221b4[_0x417f7d+0x4]??'';_0x198867&&_0x383ac8&&_0x284b56['push']({'curr_id':_0x8b0ee6,'program_name':_0x4d2bbf,'revision_no':_0x93440d,'year_level':_0x383ac8,'sem':_0x506a34,'course_id':_0x198867,'course_desc':_0x67b8f6,'total_units':_0x1cedb3,'lec_unit':_0x57e0b6,'lab_unit':_0x526402});});});}}),_0x284b56;}
5
5
 
6
- function convertToCSVFile(_0x58ace7){return new Promise((_0x3d740b,_0x2b0ca5)=>{const _0x1feb0d=new FileReader();_0x1feb0d['onload']=_0x314804=>{const _0x3adc21=_0x314804['target']?.['result'];if(!_0x3adc21){_0x2b0ca5(new Error('Failed\x20to\x20read\x20file'));return;}try{const _0x34c9c9=_0x787c13['read'](_0x3adc21,{'type':'array'}),_0x5c65e1=_0x34c9c9['SheetNames'][0x0];if(!_0x5c65e1){_0x2b0ca5(new Error('No\x20sheets\x20found\x20in\x20workbook'));return;}const _0x250397=_0x34c9c9['Sheets'][_0x5c65e1];if(!_0x250397){_0x2b0ca5(new Error('No\x20sheets\x20found\x20in\x20worksheet'));return;}const _0x1253ea=_0x787c13['utils']['sheet_to_csv'](_0x250397,{'strip':!![]}),_0x373a36=_0x58ace7['name']['replace'](/\.[^/.]+$/,'.csv'),_0x54e444=new File([_0x1253ea],_0x373a36,{'type':'text/csv','lastModified':Date['now']()});_0x3d740b(_0x54e444);}catch(_0x5ec5fe){_0x2b0ca5(_0x5ec5fe);}},_0x1feb0d['onerror']=()=>{_0x2b0ca5(new Error('File\x20reading\x20failed'));},_0x1feb0d['readAsArrayBuffer'](_0x58ace7);});}
6
+ function convertToCSVFile(_0x4a11f7){return new Promise((_0x85623,_0xddd603)=>{const _0x565b87=new FileReader();_0x565b87['onload']=_0x3acb9e=>{const _0x2fc767=_0x3acb9e['target']?.['result'];if(!_0x2fc767){_0xddd603(new Error('Failed\x20to\x20read\x20file'));return;}try{const _0x37202f=_0x2dfdaa['read'](_0x2fc767,{'type':'array'}),_0x5cb384=_0x37202f['SheetNames'][0x0];if(!_0x5cb384){_0xddd603(new Error('No\x20sheets\x20found\x20in\x20workbook'));return;}const _0x4f9212=_0x37202f['Sheets'][_0x5cb384];if(!_0x4f9212){_0xddd603(new Error('No\x20sheets\x20found\x20in\x20worksheet'));return;}const _0x261aec=_0x2dfdaa['utils']['sheet_to_csv'](_0x4f9212,{'strip':!![]}),_0x4b7ee5=_0x4a11f7['name']['replace'](/\.[^/.]+$/,'.csv'),_0x5ec0c7=new File([_0x261aec],_0x4b7ee5,{'type':'text/csv','lastModified':Date['now']()});_0x85623(_0x5ec0c7);}catch(_0x1fc5aa){_0xddd603(_0x1fc5aa);}},_0x565b87['onerror']=()=>{_0xddd603(new Error('File\x20reading\x20failed'));},_0x565b87['readAsArrayBuffer'](_0x4a11f7);});}
7
7
 
8
- async function uploadCurriculum(_0x10f2c0,_0x3263e8){try{const _0x31ef1f=await convertToCSVFile(_0x3263e8),_0x416eae=await _0x31ef1f['text'](),_0x56e763=parseCurriculum(_0x416eae),_0x4f92c0=_0x1b82a8['unparse'](_0x56e763),_0x359416=new File([_0x4f92c0],_0x31ef1f['name'],{'type':'text/csv'}),_0x4a24e6=new FormData();_0x4a24e6['append']('csvFile',_0x359416);const _0x5f33fc=await fetch(_0x10f2c0+'/curr-courses/upload',{'method':'POST','body':_0x4a24e6});if(!_0x5f33fc['ok']){const _0x55e702=await _0x5f33fc['json']();throw _0x55e702;}return _0x5f33fc['json']();}catch(_0x185d49){throw _0x185d49;}}
8
+ async function uploadCurriculum(_0x29021d,_0x131dee){try{const _0x779f13=await convertToCSVFile(_0x131dee),_0x1a4406=await _0x779f13['text'](),_0x4ec0da=parseCurriculum(_0x1a4406),_0x163360=_0x41bdaa['unparse'](_0x4ec0da),_0x4d9905=new File([_0x163360],_0x779f13['name'],{'type':'text/csv'}),_0x3ff32d=new FormData();_0x3ff32d['append']('csvFile',_0x4d9905);const _0x4de1f3=await fetch(_0x29021d+'/curr-courses/upload',{'method':'POST','body':_0x3ff32d});if(!_0x4de1f3['ok']){const _0x50da55=await _0x4de1f3['json']();throw _0x50da55;}return _0x4de1f3['json']();}catch(_0x4dc376){throw _0x4dc376;}}
9
9
 
10
- function parseCourseOffering(_0x29ba1d){let _0x3f8050='',_0x344efe='';const _0x5dffa5=[],_0x1841d6=_0x1b82a8['parse'](_0x29ba1d,{'header':![],'skipEmptyLines':!![],'delimiter':','}),_0x218d3a=_0x1841d6['data'];for(let _0x1ea3a7=0x0;_0x1ea3a7<Math['min'](0x5,_0x218d3a['length']);_0x1ea3a7++){const _0xbbae6c=_0x218d3a[_0x1ea3a7];if(_0xbbae6c&&_0xbbae6c['length']>0x0){const _0x3dc4c3=_0xbbae6c[0x0]?.['toString']()||'',_0x1879be=_0x3dc4c3['match'](/(First|Second)\s+Sem\s+S\/Y\s+(\d{4}-\d{4})/i);if(_0x1879be){_0x3f8050=_0x1879be[0x1]?.['toLowerCase']()==='first'?'1':'2';if(_0x1879be[0x2]){const _0x38d397=_0x1879be[0x2]['match'](/(\d{2})(\d{2})-(\d{2})(\d{2})/);_0x38d397&&_0x38d397[0x2]&&_0x38d397[0x4]&&(_0x344efe=_0x38d397[0x2]+_0x38d397[0x4]);}}}}let _0x3bc00a=-1;for(let _0x2f1d11=0x0;_0x2f1d11<_0x218d3a['length'];_0x2f1d11++){const _0x57d316=_0x218d3a[_0x2f1d11];if(_0x57d316&&_0x57d316['some'](_0x595fbd=>_0x595fbd?.['toString']()['toUpperCase']()['includes']('CODE'))){_0x3bc00a=_0x2f1d11;break;}}if(_0x3bc00a===-1)throw new Error('Could\x20not\x20find\x20header\x20row\x20in\x20CSV\x20data');let _0x1fb0f2={'code':'','description':'','unit':0x0};for(let _0x32208b=_0x3bc00a+0x1;_0x32208b<_0x218d3a['length'];_0x32208b++){const _0x562f56=_0x218d3a[_0x32208b];if(!_0x562f56||_0x562f56['length']<0x8)continue;const _0x3ab6f=_0x562f56[0x1]?.['toString']()['trim']()||'',_0x1969ba=_0x562f56[0x4]?.['toString']()['trim']()||'',_0x13d602=_0x562f56[0x5]?.['toString']()['trim']()||'',_0x12903f=_0x562f56[0x6]?.['toString']()['trim']()||'',_0x21adb4=_0x562f56[0x7]?.['toString']()['trim']()||'',_0x55fcc9=_0x562f56[0x3]?.['toString']()['trim']()||'';let _0x239b56=_0x562f56[0x0]?.['toString']()['trim']()||'',_0x480301=_0x562f56[0x2]?.['toString']()['trim']()||'';if(!_0x3ab6f)continue;if(!_0x239b56)_0x239b56=_0x1fb0f2['code'];if(!_0x480301)_0x480301=_0x1fb0f2['description'];let _0x509478=_0x1fb0f2['unit'];if(_0x55fcc9){const _0x254dfc=_0x55fcc9['match'](/(\d+)/);_0x254dfc&&_0x254dfc[0x1]&&(_0x509478=parseInt(_0x254dfc[0x1],0xa));}const _0x19dbc2={'sem':_0x3f8050,'school_year':_0x344efe,'code':_0x239b56,'course_no':_0x3ab6f,'course_desc':_0x480301,'unit':_0x509478,'time':_0x1969ba,'days':_0x13d602,'faculty':_0x12903f,'room':_0x21adb4};_0x1fb0f2['code']=_0x239b56,_0x1fb0f2['description']=_0x480301,_0x1fb0f2['unit']=_0x509478,_0x5dffa5['push'](_0x19dbc2);}return _0x5dffa5;}
10
+ function parseCourseOffering(_0x44b718){let _0x422883='',_0x28e71a='';const _0x45fb0b=[],_0x165d48=_0x41bdaa['parse'](_0x44b718,{'header':![],'skipEmptyLines':!![],'delimiter':','}),_0x449698=_0x165d48['data'];for(let _0x711cfe=0x0;_0x711cfe<Math['min'](0x5,_0x449698['length']);_0x711cfe++){const _0x51dd66=_0x449698[_0x711cfe];if(_0x51dd66&&_0x51dd66['length']>0x0){const _0xafa2ef=_0x51dd66[0x0]?.['toString']()||'',_0x403bdd=_0xafa2ef['match'](/(First|Second)\s+Sem\s+S\/Y\s+(\d{4}-\d{4})/i);if(_0x403bdd){_0x422883=_0x403bdd[0x1]?.['toLowerCase']()==='first'?'1':'2';if(_0x403bdd[0x2]){const _0xbeab85=_0x403bdd[0x2]['match'](/(\d{2})(\d{2})-(\d{2})(\d{2})/);_0xbeab85&&_0xbeab85[0x2]&&_0xbeab85[0x4]&&(_0x28e71a=_0xbeab85[0x2]+_0xbeab85[0x4]);}}}}let _0x4a85e5=-1;for(let _0x4403a9=0x0;_0x4403a9<_0x449698['length'];_0x4403a9++){const _0x121198=_0x449698[_0x4403a9];if(_0x121198&&_0x121198['some'](_0x3ac182=>_0x3ac182?.['toString']()['toUpperCase']()['includes']('CODE'))){_0x4a85e5=_0x4403a9;break;}}if(_0x4a85e5===-1)throw new Error('Could\x20not\x20find\x20header\x20row\x20in\x20CSV\x20data');let _0x3e33d1={'code':'','description':'','unit':0x0};for(let _0x4b5b5b=_0x4a85e5+0x1;_0x4b5b5b<_0x449698['length'];_0x4b5b5b++){const _0x47b13a=_0x449698[_0x4b5b5b];if(!_0x47b13a||_0x47b13a['length']<0x8)continue;const _0x1fb172=_0x47b13a[0x1]?.['toString']()['trim']()||'',_0x39e456=_0x47b13a[0x4]?.['toString']()['trim']()||'',_0x50e7b7=_0x47b13a[0x5]?.['toString']()['trim']()||'',_0x3e1a5a=_0x47b13a[0x6]?.['toString']()['trim']()||'',_0x581f21=_0x47b13a[0x7]?.['toString']()['trim']()||'',_0x3d4110=_0x47b13a[0x3]?.['toString']()['trim']()||'';let _0x386846=_0x47b13a[0x0]?.['toString']()['trim']()||'',_0x254c7a=_0x47b13a[0x2]?.['toString']()['trim']()||'';if(!_0x1fb172)continue;if(!_0x386846)_0x386846=_0x3e33d1['code'];if(!_0x254c7a)_0x254c7a=_0x3e33d1['description'];let _0x482889=_0x3e33d1['unit'];if(_0x3d4110){const _0x30f603=_0x3d4110['match'](/(\d+)/);_0x30f603&&_0x30f603[0x1]&&(_0x482889=parseInt(_0x30f603[0x1],0xa));}const _0x2e7a36={'sem':_0x422883,'school_year':_0x28e71a,'code':_0x386846,'course_no':_0x1fb172,'course_desc':_0x254c7a,'unit':_0x482889,'time':_0x39e456,'days':_0x50e7b7,'faculty':_0x3e1a5a,'room':_0x581f21};_0x3e33d1['code']=_0x386846,_0x3e33d1['description']=_0x254c7a,_0x3e33d1['unit']=_0x482889,_0x45fb0b['push'](_0x2e7a36);}return _0x45fb0b;}
11
11
 
12
- async function uploadCourseOffering(_0x39a74d,_0x19ab3d){try{const _0x15b578=await convertToCSVFile(_0x19ab3d),_0x4a116b=await _0x15b578['text'](),_0x3d55b9=parseCourseOffering(_0x4a116b),_0x36b16c=_0x1b82a8['unparse'](_0x3d55b9),_0x23d76b=new File([_0x36b16c],_0x15b578['name'],{'type':'text/csv'}),_0x3f9480=new FormData();_0x3f9480['append']('csvFile',_0x23d76b);const _0x3c56b2=await fetch(_0x39a74d+'/course-offerings/upload',{'method':'POST','body':_0x3f9480});if(!_0x3c56b2['ok']){const _0x5a854a=await _0x3c56b2['json']();throw _0x5a854a;}return _0x3c56b2['json']();}catch(_0x261f9c){throw _0x261f9c;}}
12
+ async function uploadCourseOffering(_0x78612,_0x36b810){try{const _0x16baa0=await convertToCSVFile(_0x36b810),_0x84c75b=await _0x16baa0['text'](),_0x58936a=parseCourseOffering(_0x84c75b),_0x3c45e3=_0x41bdaa['unparse'](_0x58936a),_0x4484b6=new File([_0x3c45e3],_0x16baa0['name'],{'type':'text/csv'}),_0x5375d2=new FormData();_0x5375d2['append']('csvFile',_0x4484b6);const _0x5462f6=await fetch(_0x78612+'/course-offerings/upload',{'method':'POST','body':_0x5375d2});if(!_0x5462f6['ok']){const _0x2e19dc=await _0x5462f6['json']();throw _0x2e19dc;}return _0x5462f6['json']();}catch(_0x2afa25){throw _0x2afa25;}}
13
13
 
14
- function performaceTarget(_0x4dc1ea){if(!_0x4dc1ea)return {'performance_target':null,'passing_score':null};const _0x56643d=_0x4dc1ea['match'](/\d+/g);return {'performance_target':_0x56643d?.[0x0]?parseInt(_0x56643d[0x0],0xa):null,'passing_score':_0x56643d?.[0x1]?parseInt(_0x56643d[0x1],0xa):null};}
14
+ function performaceTarget(_0x424eee){if(!_0x424eee)return {'performance_target':null,'passing_score':null};const _0x25448e=_0x424eee['match'](/\d+/g);return {'performance_target':_0x25448e?.[0x0]?parseInt(_0x25448e[0x0],0xa):null,'passing_score':_0x25448e?.[0x1]?parseInt(_0x25448e[0x1],0xa):null};}
15
15
 
16
- function extractInstructionalVerb(_0x4a5f2e){const _0x3ec3e8=_0x4a5f2e['trim'](),_0x33e565=/\b(will|shall)\b\s+(?:be\s+able\s+to\s+)?([a-zA-Z]+)/i,_0x15cd5f=_0x3ec3e8['match'](_0x33e565);return _0x15cd5f&&_0x15cd5f[0x2]!==undefined?_0x15cd5f[0x2]:null;}
16
+ function extractInstructionalVerb(_0x2c32c3){const _0x1b8b78=_0x2c32c3['trim'](),_0x1cd510=/\b(will|shall)\b\s+(?:be\s+able\s+to\s+)?([a-zA-Z]+)/i,_0x4cec1a=_0x1b8b78['match'](_0x1cd510);return _0x4cec1a&&_0x4cec1a[0x2]!==undefined?_0x4cec1a[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(_0x43edce){let _0x23a0e2={'headerRowIndex':-1,'coIdx':-1,'iloIdx':-1,'assessToolIdx':-1,'perfTargetIdx':-1};for(let _0x48e41a=0x0;_0x48e41a<Math['min'](_0x43edce['length'],0x14);_0x48e41a++){const _0x3b5fb6=(_0x43edce[_0x48e41a]??[])['map'](_0x173926=>_0x173926['toLowerCase']()['trim']()),_0x5388ba=_0x3b5fb6['findIndex'](_0x2bd9d1=>HEADERS['co']['some'](_0x5a772a=>_0x2bd9d1['includes'](_0x5a772a))),_0x2137dc=_0x3b5fb6['findIndex'](_0x264448=>HEADERS['ilo']['some'](_0x3598dd=>_0x264448['includes'](_0x3598dd))),_0xd2b590=_0x3b5fb6['findIndex'](_0x5e2026=>HEADERS['assessTool']['some'](_0x1110a9=>_0x5e2026['includes'](_0x1110a9))),_0x3126c7=_0x3b5fb6['findIndex'](_0x186127=>HEADERS['perfTarget']['some'](_0x15af65=>_0x186127['includes'](_0x15af65))),_0x2aeadf=[_0x5388ba,_0x2137dc,_0xd2b590,_0x3126c7]['filter'](_0x44440c=>_0x44440c!==-1)['length'];if(_0x2aeadf>=0x3){_0x23a0e2={'headerRowIndex':_0x48e41a,'coIdx':_0x5388ba,'iloIdx':_0x2137dc,'assessToolIdx':_0xd2b590,'perfTargetIdx':_0x3126c7};break;}}return _0x23a0e2;}
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(_0x1c91de){let _0xe949a2={'headerRowIndex':-1,'coIdx':-1,'iloIdx':-1,'assessToolIdx':-1,'perfTargetIdx':-1};for(let _0x36e8ba=0x0;_0x36e8ba<Math['min'](_0x1c91de['length'],0x14);_0x36e8ba++){const _0x5a3f3a=(_0x1c91de[_0x36e8ba]??[])['map'](_0x2f362a=>_0x2f362a['toLowerCase']()['trim']()),_0xbb4220=_0x5a3f3a['findIndex'](_0x412b08=>HEADERS['co']['some'](_0x260487=>_0x412b08['includes'](_0x260487))),_0x25bfa5=_0x5a3f3a['findIndex'](_0x17db60=>HEADERS['ilo']['some'](_0x17217e=>_0x17db60['includes'](_0x17217e))),_0x2182f0=_0x5a3f3a['findIndex'](_0x9b0081=>HEADERS['assessTool']['some'](_0x327080=>_0x9b0081['includes'](_0x327080))),_0x5b339c=_0x5a3f3a['findIndex'](_0x4ec62b=>HEADERS['perfTarget']['some'](_0x448d66=>_0x4ec62b['includes'](_0x448d66))),_0x8e2444=[_0xbb4220,_0x25bfa5,_0x2182f0,_0x5b339c]['filter'](_0x40ffd7=>_0x40ffd7!==-1)['length'];if(_0x8e2444>=0x3){_0xe949a2={'headerRowIndex':_0x36e8ba,'coIdx':_0xbb4220,'iloIdx':_0x25bfa5,'assessToolIdx':_0x2182f0,'perfTargetIdx':_0x5b339c};break;}}return _0xe949a2;}
19
19
 
20
- function parseCOAEP(_0x3f3f79){const _0x3b8929=_0x1b82a8['parse'](_0x3f3f79,{'skipEmptyLines':![]})['data'],_0x24b986={'COAEP':{'faculty':null,'course':null,'sy':null,'semester':null,'co':[]}},{headerRowIndex:_0x3113f3,coIdx:_0x1f5f9b,iloIdx:_0x2428a6,assessToolIdx:_0x1b8754,perfTargetIdx:_0x2e2ae4}=getCoaepHeader(_0x3b8929);if(_0x3113f3===-1)return {'error':'Could\x20not\x20auto-detect\x20header\x20row.','message':'Please\x20ensure\x20the\x20CSV\x20file\x20is\x20in\x20the\x20correct\x20COAEP\x20format.'};_0x3b8929['forEach'](_0x423223=>{const _0x41ec1e=_0x423223['indexOf']('Name\x20of\x20Faculty:'),_0xf1efaa=_0x423223['indexOf']('School\x20Year'),_0x3e36e3=_0x423223['indexOf']('Course:'),_0x25af56=_0x423223['indexOf']('Semester');_0x41ec1e!==-1&&(_0x24b986['COAEP']['faculty']=_0x423223[_0x41ec1e+0x1]?.['trim']()||_0x24b986['COAEP']['faculty']);_0xf1efaa!==-1&&(_0x24b986['COAEP']['sy']=_0x423223[_0xf1efaa+0x1]?.['trim']()||_0x24b986['COAEP']['sy']);_0x3e36e3!==-1&&(_0x24b986['COAEP']['course']=_0x423223[_0x3e36e3+0x1]?.['trim']()||_0x24b986['COAEP']['course']);if(_0x25af56!==-1){const _0x192c37=_0x423223[_0x25af56+0x1]?.['trim']()||'',_0x417fa6=_0x192c37['match'](/\d+/)?.[0x0];_0x24b986['COAEP']['semester']=_0x417fa6?parseInt(_0x417fa6,0xa):_0x24b986['COAEP']['semester'];}});let _0x17383d=null;return _0x3b8929['forEach']((_0x24a2d8,_0x13c2fb)=>{if(_0x13c2fb<=_0x3113f3)return;let _0x545ecb=_0x24a2d8[_0x1f5f9b-0x1]?.['trim']()||'',_0x5656e9=_0x24a2d8[_0x1f5f9b]?.['trim']()||'';/^\d+$/['test'](_0x24a2d8[_0x1f5f9b]?.['trim']()||'')&&(_0x545ecb=_0x24a2d8[_0x1f5f9b]?.['trim']()||'',_0x5656e9=_0x24a2d8[_0x1f5f9b+0x1]?.['trim']()||'');const _0x5d004a=_0x24a2d8[_0x2428a6]?.['trim']()||'',_0x3a3f10=_0x24a2d8[_0x1b8754]?.['replace'](/^ILO\d+[:.]?\s*/,'')['trim']()||'',_0x4885ba=_0x24a2d8[_0x2e2ae4]?.['replace'](/\s+/g,'\x20')['trim']()||'';if(_0x545ecb&&/^\d+$/['test'](_0x545ecb)){_0x17383d&&_0x24b986['COAEP']['co']['push'](_0x17383d);const _0x2822e2=_0x5656e9,_0x44ef6d=extractInstructionalVerb(_0x2822e2)||'';_0x17383d={'statement':_0x2822e2,'verb':_0x44ef6d,'ilo':[]};}if(_0x17383d&&_0x5d004a&&_0x4885ba){const _0x2fa15e=_0x5d004a['replace'](/^ILO\d+[:.]?\s*/,'');if(_0x2fa15e['match'](/^(Revision|Prepared|Date|Approved|Effectivity|Page)/i)||_0x2fa15e['length']<0xa)return;let _0x1b715d=_0x3a3f10;if(!_0x1b715d&&_0x2fa15e['includes'](':')){const _0x54b4f6=_0x2fa15e['match'](/^ILO\d+:\s*(.+?)(?:\s*\(|$)/);_0x54b4f6&&(_0x1b715d=_0x54b4f6[0x1]?.['trim']()||'');}const {performance_target:_0x33d47f,passing_score:_0x267c6c}=performaceTarget(_0x4885ba);_0x17383d['ilo']['push']({'statement':_0x2fa15e,'verb':extractInstructionalVerb(_0x2fa15e)||'','assessment_tool':_0x1b715d,'performance_target':_0x33d47f,'passing_score':_0x267c6c});}}),_0x17383d&&_0x24b986['COAEP']['co']['push'](_0x17383d),_0x24b986;}
20
+ function parseCOAEP(_0x568b2d){const _0x1349cf=_0x41bdaa['parse'](_0x568b2d,{'skipEmptyLines':![]})['data'],_0x446f96={'COAEP':{'faculty':null,'course':null,'sy':null,'semester':null,'co':[]}},{headerRowIndex:_0x41ff4f,coIdx:_0xee2a54,iloIdx:_0x224bcd,assessToolIdx:_0x341393,perfTargetIdx:_0x22e964}=getCoaepHeader(_0x1349cf);if(_0x41ff4f===-1)return {'error':'Could\x20not\x20auto-detect\x20header\x20row.','message':'Please\x20ensure\x20the\x20CSV\x20file\x20is\x20in\x20the\x20correct\x20COAEP\x20format.'};_0x1349cf['forEach'](_0x3ad727=>{const _0x8e38f=_0x3ad727['indexOf']('Name\x20of\x20Faculty:'),_0x54d630=_0x3ad727['indexOf']('School\x20Year'),_0x42c8c4=_0x3ad727['indexOf']('Course:'),_0x221c62=_0x3ad727['indexOf']('Semester');_0x8e38f!==-1&&(_0x446f96['COAEP']['faculty']=_0x3ad727[_0x8e38f+0x1]?.['trim']()||_0x446f96['COAEP']['faculty']);_0x54d630!==-1&&(_0x446f96['COAEP']['sy']=_0x3ad727[_0x54d630+0x1]?.['trim']()||_0x446f96['COAEP']['sy']);_0x42c8c4!==-1&&(_0x446f96['COAEP']['course']=_0x3ad727[_0x42c8c4+0x1]?.['trim']()||_0x446f96['COAEP']['course']);if(_0x221c62!==-1){const _0x3f5ff3=_0x3ad727[_0x221c62+0x1]?.['trim']()||'',_0x574513=_0x3f5ff3['match'](/\d+/)?.[0x0];_0x446f96['COAEP']['semester']=_0x574513?parseInt(_0x574513,0xa):_0x446f96['COAEP']['semester'];}});let _0x19903e=null;return _0x1349cf['forEach']((_0x52a65e,_0x3c7557)=>{if(_0x3c7557<=_0x41ff4f)return;let _0x2df3b3=_0x52a65e[_0xee2a54-0x1]?.['trim']()||'',_0x47dd73=_0x52a65e[_0xee2a54]?.['trim']()||'';/^\d+$/['test'](_0x52a65e[_0xee2a54]?.['trim']()||'')&&(_0x2df3b3=_0x52a65e[_0xee2a54]?.['trim']()||'',_0x47dd73=_0x52a65e[_0xee2a54+0x1]?.['trim']()||'');const _0x1a7fad=_0x52a65e[_0x224bcd]?.['trim']()||'',_0x357c23=_0x52a65e[_0x341393]?.['replace'](/^ILO\d+[:.]?\s*/,'')['trim']()||'',_0x1cd0ba=_0x52a65e[_0x22e964]?.['replace'](/\s+/g,'\x20')['trim']()||'';if(_0x2df3b3&&/^\d+$/['test'](_0x2df3b3)){_0x19903e&&_0x446f96['COAEP']['co']['push'](_0x19903e);const _0x4ba307=_0x47dd73,_0x305663=extractInstructionalVerb(_0x4ba307)||'';_0x19903e={'statement':_0x4ba307,'verb':_0x305663,'ilo':[]};}if(_0x19903e&&_0x1a7fad&&_0x1cd0ba){const _0x20094f=_0x1a7fad['replace'](/^ILO\d+[:.]?\s*/,'');if(_0x20094f['match'](/^(Revision|Prepared|Date|Approved|Effectivity|Page)/i)||_0x20094f['length']<0xa)return;let _0xdcafa2=_0x357c23;if(!_0xdcafa2&&_0x20094f['includes'](':')){const _0x3c3273=_0x20094f['match'](/^ILO\d+:\s*(.+?)(?:\s*\(|$)/);_0x3c3273&&(_0xdcafa2=_0x3c3273[0x1]?.['trim']()||'');}const {performance_target:_0x64ca45,passing_score:_0x4a90e4}=performaceTarget(_0x1cd0ba);_0x19903e['ilo']['push']({'statement':_0x20094f,'verb':extractInstructionalVerb(_0x20094f)||'','assessment_tool':_0xdcafa2,'performance_target':_0x64ca45,'passing_score':_0x4a90e4});}}),_0x19903e&&_0x446f96['COAEP']['co']['push'](_0x19903e),_0x446f96;}
21
21
 
22
- async function uploadCOAEP(_0x2341b9,_0x135a10,_0x5332fb){try{const _0x433460=await convertToCSVFile(_0x135a10),_0x5328f6=await _0x433460['text'](),_0x475694=parseCOAEP(_0x5328f6);console['log'](_0x475694);}catch(_0x7f8db8){throw _0x7f8db8;}}
22
+ async function uploadCOAEP(_0x27e8aa,_0x5134b0,_0x4141f3){try{const _0x403b5d=await convertToCSVFile(_0x5134b0),_0x5d0b9d=await _0x403b5d['text'](),_0x27c288=parseCOAEP(_0x5d0b9d);console['log'](_0x27c288);const _0x2d195d=await fetch(_0x27e8aa+'/coaeps/upload?course_id='+_0x4141f3,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x27c288)});if(!_0x2d195d['ok']){const _0x34a6b=await _0x2d195d['json']();throw _0x34a6b;}return _0x2d195d['json']();}catch(_0x3c75fa){throw _0x3c75fa;}}
23
23
 
24
- async function uploadEnrolledStudent(_0xdd4cd9,_0x36a08f){try{const _0x4984ac=await convertToCSVFile(_0x36a08f),_0x291662=new FormData();_0x291662['append']('csvFile',_0x4984ac);const _0x5bfb2a=await fetch(_0xdd4cd9+'/enrolled-students/upload',{'method':'POST','body':_0x291662});if(!_0x5bfb2a['ok']){const _0x4fe997=await _0x5bfb2a['json']();throw _0x4fe997;}return _0x5bfb2a['json']();}catch(_0x4558a1){throw _0x4558a1;}}
24
+ async function uploadEnrolledStudent(_0x4cdec4,_0x218e09){try{const _0x5766f5=await convertToCSVFile(_0x218e09),_0x4e2c7f=new FormData();_0x4e2c7f['append']('csvFile',_0x5766f5);const _0x4b4534=await fetch(_0x4cdec4+'/enrolled-students/upload',{'method':'POST','body':_0x4e2c7f});if(!_0x4b4534['ok']){const _0x393387=await _0x4b4534['json']();throw _0x393387;}return _0x4b4534['json']();}catch(_0x3f8a2a){throw _0x3f8a2a;}}
25
25
 
26
- function parseClassList(_0xa7a332){const _0x51df74=_0x1b82a8['parse'](_0xa7a332,{'skipEmptyLines':!![]})['data'];let _0x486956='',_0x3a210='',_0x4e149d='';const _0x33e77d=[];return _0x51df74['forEach'](_0x573135=>{const _0x538ede=_0x573135['map'](_0x51a788=>(_0x51a788??'')['toString']()['trim']()),_0x1d5763=_0x538ede[0x0]??'';if(_0x1d5763['startsWith']('Course\x20No:')){const _0x2a6924=_0x1d5763['replace']('Course\x20No:','')['trim'](),_0x273809=_0x2a6924['split'](/\s+/);_0x4e149d=_0x273809[0x0]??'';const [_0xb4cfff,_0x1e8367]=(_0x273809[0x1]??'')['split']('-');_0x3a210=_0xb4cfff??'';const _0x579480=(_0x1e8367??'')['match'](/[a-z]$/);_0x486956=_0x579480?_0x579480[0x0]:'';}if(/^\d+$/['test'](_0x1d5763)){const _0x5579fa=_0x538ede[0x2]??'';_0x33e77d['push']({'subj_code':_0x4e149d,'student_no':_0x5579fa,'course_id':_0x3a210,'section':_0x486956});}}),{'enrolledCourses':_0x33e77d};}
26
+ function parseClassList(_0x3c33ef){const _0x4554f2=_0x41bdaa['parse'](_0x3c33ef,{'skipEmptyLines':!![]})['data'];let _0x5afdc6='',_0x5225fc='',_0x5f33a7='';const _0x1de687=[];return _0x4554f2['forEach'](_0x495d96=>{const _0x5d20f2=_0x495d96['map'](_0x393798=>(_0x393798??'')['toString']()['trim']()),_0x59dcc7=_0x5d20f2[0x0]??'';if(_0x59dcc7['startsWith']('Course\x20No:')){const _0x4e7966=_0x59dcc7['replace']('Course\x20No:','')['trim'](),_0x2a497b=_0x4e7966['split'](/\s+/);_0x5f33a7=_0x2a497b[0x0]??'';const [_0x3c3c7d,_0x431b7d]=(_0x2a497b[0x1]??'')['split']('-');_0x5225fc=_0x3c3c7d??'';const _0x505a5c=(_0x431b7d??'')['match'](/[a-z]$/);_0x5afdc6=_0x505a5c?_0x505a5c[0x0]:'';}if(/^\d+$/['test'](_0x59dcc7)){const _0x56fc94=_0x5d20f2[0x2]??'';_0x1de687['push']({'subj_code':_0x5f33a7,'student_no':_0x56fc94,'course_id':_0x5225fc,'section':_0x5afdc6});}}),{'enrolledCourses':_0x1de687};}
27
27
 
28
- async function uploadClassList(_0x38d7bb,_0x41cc66,_0x295076,_0x3c3cf8){try{const _0x2e77c7=await convertToCSVFile(_0x41cc66),_0x373573=await _0x2e77c7['text'](),_0x53e69a=parseClassList(_0x373573),_0x23b5f5='subj_code='+_0x295076+'&period_id='+_0x3c3cf8,_0x2f36ab=await fetch(_0x38d7bb+'/enrolled-courses/upload?'+_0x23b5f5,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x53e69a)});if(!_0x2f36ab['ok']){const _0x16c872=await _0x2f36ab['json']();throw _0x16c872;}return _0x2f36ab['json']();}catch(_0x1966e6){throw _0x1966e6;}}
28
+ async function uploadClassList(_0x6848f8,_0x59b67e,_0x48d870,_0x3701ef){try{const _0x2a2ef1=await convertToCSVFile(_0x59b67e),_0x22718d=await _0x2a2ef1['text'](),_0x300caf=parseClassList(_0x22718d),_0x1b7f7c='subj_code='+_0x48d870+'&period_id='+_0x3701ef,_0x23555a=await fetch(_0x6848f8+'/enrolled-courses/upload?'+_0x1b7f7c,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x300caf)});if(!_0x23555a['ok']){const _0x125a98=await _0x23555a['json']();throw _0x125a98;}return _0x23555a['json']();}catch(_0x787d2a){throw _0x787d2a;}}
29
29
 
30
- function parseAssessmentCsv(_0x5eed18){const {data:_0x28c889}=_0x1b82a8['parse'](_0x5eed18,{'skipEmptyLines':!![]}),_0x4b5f17=_0x28c889['filter'](_0x57f270=>_0x57f270['length']>0x0),_0x2050b7=_0x4b5f17['find'](_0x3f14a8=>_0x3f14a8['some'](_0x3cb2b1=>_0x3cb2b1?.['includes']('Faculty'))),_0x43b57a=_0x2050b7?_0x2050b7['findIndex'](_0x3afdbb=>_0x3afdbb?.['includes']('Faculty')):-1,_0x1abe02=_0x43b57a!==-1&&_0x2050b7?_0x2050b7[_0x43b57a+0x2]?.['replace'](/"/g,'')['trim']()??'':'',_0x240261=_0x4b5f17['find'](_0x39b38a=>_0x39b38a['some'](_0x531e01=>_0x531e01?.['includes']('Semester'))),_0x530450=_0x240261?_0x240261['findIndex'](_0x57f945=>_0x57f945?.['includes']('Semester')):-1,_0x5c0188=_0x530450!==-1&&_0x240261?_0x240261[_0x530450+0x2]?.['trim']()??'':'',_0x234fa1=_0x5c0188['includes']('1st')?0x1:_0x5c0188['includes']('2nd')?0x2:0x0,_0x164756=_0x4b5f17['find'](_0x19b75c=>_0x19b75c['some'](_0x587839=>_0x587839?.['includes']('Course\x20&\x20Sec'))),_0x155270=_0x164756?_0x164756['findIndex'](_0x4afdd4=>_0x4afdd4?.['includes']('Course\x20&\x20Sec')):-1,_0x162c74=_0x155270!==-1&&_0x164756?_0x164756[_0x155270+0x2]?.['trim']()??'':'';let _0x2ee5fa='',_0x32b6da='';if(_0x162c74){const _0x4d5a8b=_0x162c74['match'](/^([A-Za-z0-9]+)-?([A-Za-z]+)?/);_0x4d5a8b&&(_0x2ee5fa=_0x4d5a8b[0x1]??'',_0x4d5a8b[0x2]&&(_0x32b6da=_0x4d5a8b[0x2]['replace'](/^OC/i,'')));}const _0x439099=_0x4b5f17['find'](_0x254076=>_0x254076['some'](_0x21abc8=>_0x21abc8?.['includes']('School\x20Year'))),_0x2b8b8e=_0x439099?_0x439099['findIndex'](_0xfa8a07=>_0xfa8a07?.['includes']('School\x20Year')):-1,_0x2a8f90=_0x2b8b8e!==-1&&_0x439099?_0x439099[_0x2b8b8e+0x2]?.['trim']()??'':'';let _0x5e8d40=0x0;if(_0x2a8f90){const _0x1f0098=_0x2a8f90['match'](/(\d{4})-(\d{4})/);if(_0x1f0098){const _0x42dcd4=(_0x1f0098[0x1]??'')['slice'](0x2),_0x54583f=(_0x1f0098[0x2]??'')['slice'](0x2);_0x5e8d40=parseInt(_0x42dcd4+_0x54583f,0xa);}}const _0x3e88a0={'faculty':_0x1abe02,'course':_0x2ee5fa,'section':_0x32b6da,'semester':_0x234fa1,'sy':_0x5e8d40},_0x4d3b4c=_0x4b5f17['findIndex'](_0x5ae1bd=>_0x5ae1bd['some'](_0x46d7d9=>_0x46d7d9?.['trim']()==='CO\x20#'));if(_0x4d3b4c===-1)throw new Error('CO\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x155bd2=_0x4b5f17[_0x4d3b4c+0x1];if(!_0x155bd2)throw new Error('ILO\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x607ea6={};let _0xd5e4aa=0x1,_0x17cf19=0x1;for(let _0x449b21=0x3;_0x449b21<_0x155bd2['length'];_0x449b21++){const _0xfd766c=_0x155bd2[_0x449b21];if(!_0xfd766c)continue;const _0xee6e3f='co'+_0xd5e4aa;if(!_0x607ea6[_0xee6e3f])_0x607ea6[_0xee6e3f]=[];_0x607ea6[_0xee6e3f]['push']('ilo'+_0x17cf19),_0x17cf19++,_0x17cf19>0x3&&(_0xd5e4aa++,_0x17cf19=0x1);}const _0x1a5b90=_0x4b5f17['findIndex'](_0x1e58b4=>_0x1e58b4['includes']('Name\x20of\x20Students'));if(_0x1a5b90===-1)throw new Error('Student\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x6bebe5=_0x4b5f17[_0x1a5b90];if(!_0x6bebe5)throw new Error('Student\x20header\x20row\x20is\x20missing');const _0x1b427d=_0x6bebe5['findIndex'](_0x4dee22=>_0x4dee22?.['includes']('Name\x20of\x20Students'));if(_0x1b427d===-1)throw new Error('Name\x20of\x20Students\x20column\x20not\x20found\x20in\x20CSV');const _0xfbbb15=_0x1b427d+0x2,_0x34f4e9=[];for(let _0xc9d9f8=_0x1a5b90+0x1;_0xc9d9f8<_0x4b5f17['length'];_0xc9d9f8++){const _0x39713d=_0x4b5f17[_0xc9d9f8];if(!_0x39713d)continue;if(_0x39713d['some'](_0x2def7a=>_0x2def7a?.['toUpperCase']()['includes']('TOTAL\x20STUDENTS')||_0x2def7a?.['toUpperCase']()['includes']('ACHIEVED\x20THE\x20MINIMUM')||_0x2def7a?.['toUpperCase']()['includes']('INACTIVE')||_0x2def7a?.['toUpperCase']()['includes']('AVERAGE')))continue;if(!_0x39713d[_0x1b427d])continue;const _0x74a7a2=_0x39713d[_0x1b427d]['replace'](/"/g,'')['trim'](),_0x1b5bab=_0x39713d['slice'](_0xfbbb15)['map'](_0x582262=>_0x582262===null?null:!isNaN(Number(_0x582262))?parseFloat(_0x582262):0x0);let _0x4254c6=0x0;const _0x36320c={};Object['entries'](_0x607ea6)['forEach'](([_0x1f32a6,_0x5d6728])=>{const _0x523e19={};_0x5d6728['forEach'](_0x292135=>{_0x523e19[_0x292135]=_0x1b5bab[_0x4254c6]??0x0,_0x4254c6++;}),_0x36320c[_0x1f32a6]={'transmuted_score':_0x523e19};}),_0x34f4e9['push']({'student_name':_0x74a7a2,'coaep':_0x36320c});}const _0x55e5bd=_0x4b5f17['find'](_0x5d20eb=>_0x5d20eb['some'](_0x22be7f=>_0x22be7f?.['includes']('ACHIEVED\x20THE\x20MINIMUM'))),_0x22dcad=_0x4b5f17['find'](_0x4da915=>_0x4da915['some'](_0x3bf022=>_0x3bf022?.['includes']('AVERAGE'))),_0xe5eb2b=_0x55e5bd?_0x55e5bd['slice'](_0xfbbb15)['map'](_0x52fe20=>_0x52fe20&&!isNaN(Number(_0x52fe20))?parseInt(_0x52fe20):0x0):[],_0x33b1cb=_0x22dcad?_0x22dcad['slice'](_0xfbbb15)['map'](_0x3104fb=>_0x3104fb&&_0x3104fb!=='#DIV/0!'&&!isNaN(Number(_0x3104fb))?parseInt(_0x3104fb):0x0):[],_0x3420e3={};let _0x367056=0x0;return Object['entries'](_0x607ea6)['forEach'](([_0x30946e,_0x5f3e8a])=>{if(!_0x3420e3[_0x30946e])_0x3420e3[_0x30946e]={};_0x5f3e8a['forEach'](_0x247ac6=>{_0x3420e3[_0x30946e][_0x247ac6]={'achievedMinimum':_0xe5eb2b[_0x367056]??0x0,'average':_0x33b1cb[_0x367056]??0x0},_0x367056++;});}),{'assessmentData':{'classAssignment':_0x3e88a0,'student':_0x34f4e9,'total':_0x3420e3}};}
30
+ function parseAssessmentCsv(_0x3071f6){const {data:_0x4306f3}=_0x41bdaa['parse'](_0x3071f6,{'skipEmptyLines':!![]}),_0x5ea95d=_0x4306f3['filter'](_0x1a9848=>_0x1a9848['length']>0x0),_0x13bea8=_0x5ea95d['find'](_0x436c2a=>_0x436c2a['some'](_0x2ac9c2=>_0x2ac9c2?.['includes']('Faculty'))),_0x5cadea=_0x13bea8?_0x13bea8['findIndex'](_0x22cbae=>_0x22cbae?.['includes']('Faculty')):-1,_0x52e0a8=_0x5cadea!==-1&&_0x13bea8?_0x13bea8[_0x5cadea+0x2]?.['replace'](/"/g,'')['trim']()??'':'',_0xd100de=_0x5ea95d['find'](_0x1c6a62=>_0x1c6a62['some'](_0x15352c=>_0x15352c?.['includes']('Semester'))),_0x155a15=_0xd100de?_0xd100de['findIndex'](_0x3e4757=>_0x3e4757?.['includes']('Semester')):-1,_0x17f247=_0x155a15!==-1&&_0xd100de?_0xd100de[_0x155a15+0x2]?.['trim']()??'':'',_0x211355=_0x17f247['includes']('1st')?0x1:_0x17f247['includes']('2nd')?0x2:0x0,_0x190ed8=_0x5ea95d['find'](_0x51bef1=>_0x51bef1['some'](_0x4acb5b=>_0x4acb5b?.['includes']('Course\x20&\x20Sec'))),_0x3316dd=_0x190ed8?_0x190ed8['findIndex'](_0x22981e=>_0x22981e?.['includes']('Course\x20&\x20Sec')):-1,_0x22a045=_0x3316dd!==-1&&_0x190ed8?_0x190ed8[_0x3316dd+0x2]?.['trim']()??'':'';let _0x30a353='',_0x2209fd='';if(_0x22a045){const _0x1ff712=_0x22a045['match'](/^([A-Za-z0-9]+)-?([A-Za-z]+)?/);_0x1ff712&&(_0x30a353=_0x1ff712[0x1]??'',_0x1ff712[0x2]&&(_0x2209fd=_0x1ff712[0x2]['replace'](/^OC/i,'')));}const _0x2652f9=_0x5ea95d['find'](_0x156ced=>_0x156ced['some'](_0x17bb95=>_0x17bb95?.['includes']('School\x20Year'))),_0x20df94=_0x2652f9?_0x2652f9['findIndex'](_0x55d723=>_0x55d723?.['includes']('School\x20Year')):-1,_0x22a8f7=_0x20df94!==-1&&_0x2652f9?_0x2652f9[_0x20df94+0x2]?.['trim']()??'':'';let _0x387e22=0x0;if(_0x22a8f7){const _0x583ca5=_0x22a8f7['match'](/(\d{4})-(\d{4})/);if(_0x583ca5){const _0xdb852=(_0x583ca5[0x1]??'')['slice'](0x2),_0x37f216=(_0x583ca5[0x2]??'')['slice'](0x2);_0x387e22=parseInt(_0xdb852+_0x37f216,0xa);}}const _0xfa0710={'faculty':_0x52e0a8,'course':_0x30a353,'section':_0x2209fd,'semester':_0x211355,'sy':_0x387e22},_0x3b8256=_0x5ea95d['findIndex'](_0x2cf47c=>_0x2cf47c['some'](_0x97e7d4=>_0x97e7d4?.['trim']()==='CO\x20#'));if(_0x3b8256===-1)throw new Error('CO\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x254ff6=_0x5ea95d[_0x3b8256+0x1];if(!_0x254ff6)throw new Error('ILO\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x44a1de={};let _0x3bffce=0x1,_0x212fba=0x1;for(let _0x56ae3d=0x3;_0x56ae3d<_0x254ff6['length'];_0x56ae3d++){const _0xe99b1d=_0x254ff6[_0x56ae3d];if(!_0xe99b1d)continue;const _0x1058a8='co'+_0x3bffce;if(!_0x44a1de[_0x1058a8])_0x44a1de[_0x1058a8]=[];_0x44a1de[_0x1058a8]['push']('ilo'+_0x212fba),_0x212fba++,_0x212fba>0x3&&(_0x3bffce++,_0x212fba=0x1);}const _0x12f671=_0x5ea95d['findIndex'](_0x28ccec=>_0x28ccec['includes']('Name\x20of\x20Students'));if(_0x12f671===-1)throw new Error('Student\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x378931=_0x5ea95d[_0x12f671];if(!_0x378931)throw new Error('Student\x20header\x20row\x20is\x20missing');const _0x17eff0=_0x378931['findIndex'](_0x2db082=>_0x2db082?.['includes']('Name\x20of\x20Students'));if(_0x17eff0===-1)throw new Error('Name\x20of\x20Students\x20column\x20not\x20found\x20in\x20CSV');const _0x2a32ae=_0x17eff0+0x2,_0x404542=[];for(let _0x1c087e=_0x12f671+0x1;_0x1c087e<_0x5ea95d['length'];_0x1c087e++){const _0x21aec7=_0x5ea95d[_0x1c087e];if(!_0x21aec7)continue;if(_0x21aec7['some'](_0xf20cd9=>_0xf20cd9?.['toUpperCase']()['includes']('TOTAL\x20STUDENTS')||_0xf20cd9?.['toUpperCase']()['includes']('ACHIEVED\x20THE\x20MINIMUM')||_0xf20cd9?.['toUpperCase']()['includes']('INACTIVE')||_0xf20cd9?.['toUpperCase']()['includes']('AVERAGE')))continue;if(!_0x21aec7[_0x17eff0])continue;const _0x243ab9=_0x21aec7[_0x17eff0]['replace'](/"/g,'')['trim'](),_0x5cc72a=_0x21aec7['slice'](_0x2a32ae)['map'](_0x1ce1dc=>_0x1ce1dc===null?null:!isNaN(Number(_0x1ce1dc))?parseFloat(_0x1ce1dc):0x0);let _0x168462=0x0;const _0x8f6a64={};Object['entries'](_0x44a1de)['forEach'](([_0x3f4450,_0x2d6399])=>{const _0x5e6849={};_0x2d6399['forEach'](_0x1c8eec=>{_0x5e6849[_0x1c8eec]=_0x5cc72a[_0x168462]??0x0,_0x168462++;}),_0x8f6a64[_0x3f4450]={'transmuted_score':_0x5e6849};}),_0x404542['push']({'student_name':_0x243ab9,'coaep':_0x8f6a64});}const _0x56fcf4=_0x5ea95d['find'](_0xd7849c=>_0xd7849c['some'](_0x302236=>_0x302236?.['includes']('ACHIEVED\x20THE\x20MINIMUM'))),_0x120c9a=_0x5ea95d['find'](_0x44168b=>_0x44168b['some'](_0xa78fef=>_0xa78fef?.['includes']('AVERAGE'))),_0xd135e7=_0x56fcf4?_0x56fcf4['slice'](_0x2a32ae)['map'](_0x3892be=>_0x3892be&&!isNaN(Number(_0x3892be))?parseInt(_0x3892be):0x0):[],_0x26b0de=_0x120c9a?_0x120c9a['slice'](_0x2a32ae)['map'](_0x4d1ff0=>_0x4d1ff0&&_0x4d1ff0!=='#DIV/0!'&&!isNaN(Number(_0x4d1ff0))?parseInt(_0x4d1ff0):0x0):[],_0x2298c4={};let _0x29b153=0x0;return Object['entries'](_0x44a1de)['forEach'](([_0xa2063,_0x481485])=>{if(!_0x2298c4[_0xa2063])_0x2298c4[_0xa2063]={};_0x481485['forEach'](_0x11d0b5=>{_0x2298c4[_0xa2063][_0x11d0b5]={'achievedMinimum':_0xd135e7[_0x29b153]??0x0,'average':_0x26b0de[_0x29b153]??0x0},_0x29b153++;});}),{'assessmentData':{'classAssignment':_0xfa0710,'student':_0x404542,'total':_0x2298c4}};}
31
31
 
32
- async function uploadAssessmentData(_0x356300,_0x59454e){try{const _0x57c7ab=await convertToCSVFile(_0x59454e),_0x12d9a6=await _0x57c7ab['text'](),_0x144596=parseAssessmentCsv(_0x12d9a6),_0x53504f=await fetch(_0x356300+'/assessment-data/upload',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x144596)});if(!_0x53504f['ok']){const _0x4f6dfb=await _0x53504f['json']();throw _0x4f6dfb;}return _0x53504f['json']();}catch(_0x4790f0){throw _0x4790f0;}}
32
+ async function uploadAssessmentData(_0x9bbaa2,_0x2be583){try{const _0x27810d=await convertToCSVFile(_0x2be583),_0x32af9a=await _0x27810d['text'](),_0x561c37=parseAssessmentCsv(_0x32af9a),_0x450c25=await fetch(_0x9bbaa2+'/assessment-data/upload',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x561c37)});if(!_0x450c25['ok']){const _0x35e2d2=await _0x450c25['json']();throw _0x35e2d2;}return _0x450c25['json']();}catch(_0x417126){throw _0x417126;}}
33
33
 
34
- async function uploadDeptFaculty(_0x36db14,_0x262c14){try{const _0x5b9206=await convertToCSVFile(_0x262c14),_0x2d9cd8=new FormData();_0x2d9cd8['append']('csvFile',_0x5b9206);const _0x28c8c2=await fetch(_0x36db14+'/dept-faculties/upload',{'method':'POST','body':_0x2d9cd8});if(!_0x28c8c2['ok']){const _0x39a1e9=await _0x28c8c2['json']();throw _0x39a1e9;}return _0x28c8c2['json']();}catch(_0x264292){throw _0x264292;}}
34
+ async function uploadDeptFaculty(_0x2673ce,_0x107d99){try{const _0x457f82=await convertToCSVFile(_0x107d99),_0x15f0a5=new FormData();_0x15f0a5['append']('csvFile',_0x457f82);const _0x5aa495=await fetch(_0x2673ce+'/dept-faculties/upload',{'method':'POST','body':_0x15f0a5});if(!_0x5aa495['ok']){const _0x3439ba=await _0x5aa495['json']();throw _0x3439ba;}return _0x5aa495['json']();}catch(_0x2e1d9e){throw _0x2e1d9e;}}
35
35
 
36
- class Client{['BASE_URL'];constructor(_0x581906){this['BASE_URL']=_0x581906;}['Parser'](){return {'curriculum':async _0x2ee520=>{const _0x38a76b=await uploadCurriculum(this['BASE_URL'],_0x2ee520);return _0x38a76b;},'courseOffering':async _0x292438=>{const _0x2f2f82=await uploadCourseOffering(this['BASE_URL'],_0x292438);return _0x2f2f82;},'coaep':async(_0x125b65,_0x173c79)=>{const _0x2b4bd5=await uploadCOAEP(this['BASE_URL'],_0x125b65);return _0x2b4bd5;},'enrolledStudent':async _0x3bc634=>{const _0x320e13=await uploadEnrolledStudent(this['BASE_URL'],_0x3bc634);return _0x320e13;},'classlist':async(_0x399b2f,_0x292fa1,_0x341db2)=>{const _0x48e08f=await uploadClassList(this['BASE_URL'],_0x399b2f,_0x292fa1,_0x341db2);return _0x48e08f;},'assessmentData':async _0x313b0e=>{const _0x3f60a5=await uploadAssessmentData(this['BASE_URL'],_0x313b0e);return _0x3f60a5;},'deptFaculty':async _0x3a9e8c=>{const _0x108aec=await uploadDeptFaculty(this['BASE_URL'],_0x3a9e8c);return _0x108aec;}};}}
36
+ class Client{['BASE_URL'];constructor(_0x1f9d51){this['BASE_URL']=_0x1f9d51;}['Parser'](){return {'curriculum':async _0x29275f=>{const _0x3e9476=await uploadCurriculum(this['BASE_URL'],_0x29275f);return _0x3e9476;},'courseOffering':async _0x5d53ad=>{const _0x20ddf0=await uploadCourseOffering(this['BASE_URL'],_0x5d53ad);return _0x20ddf0;},'coaep':async(_0x29e80c,_0x5a79d0)=>{const _0x14550f=await uploadCOAEP(this['BASE_URL'],_0x29e80c,_0x5a79d0);return _0x14550f;},'enrolledStudent':async _0x46c551=>{const _0x1e9a83=await uploadEnrolledStudent(this['BASE_URL'],_0x46c551);return _0x1e9a83;},'classlist':async(_0x1daf0e,_0x550d36,_0x563d77)=>{const _0x5361d6=await uploadClassList(this['BASE_URL'],_0x1daf0e,_0x550d36,_0x563d77);return _0x5361d6;},'assessmentData':async _0x285623=>{const _0x26c7d9=await uploadAssessmentData(this['BASE_URL'],_0x285623);return _0x26c7d9;},'deptFaculty':async _0x3af7f1=>{const _0x593827=await uploadDeptFaculty(this['BASE_URL'],_0x3af7f1);return _0x593827;}};}}
37
37
 
38
38
  export { Client as default };
package/main.d.ts CHANGED
@@ -14,7 +14,7 @@ export default class Client {
14
14
  * @returns status 201
15
15
  */
16
16
  courseOffering: (xls: File) => Promise<Record<string, unknown>>;
17
- coaep: (xls: File, course_id: string) => Promise<void>;
17
+ coaep: (xls: File, course_id: string) => Promise<Record<string, unknown>>;
18
18
  enrolledStudent: (xls: File) => Promise<Record<string, unknown>>;
19
19
  classlist: (xls: File, subj_code: number, period_id: number) => Promise<Record<string, unknown>>;
20
20
  assessmentData: (xls: File) => Promise<Record<string, unknown>>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@obe-loms/coms-parser",
3
- "version": "1.4.0",
3
+ "version": "1.4.2",
4
4
  "license": "ISC",
5
5
  "dependencies": {
6
6
  "papaparse": "^5.5.3",
package/parser/poaep.d.ts CHANGED
@@ -2,7 +2,9 @@ import { PO } from "../types/poaep";
2
2
  declare const parsePOAEP: (csvString: string) => {
3
3
  success: boolean;
4
4
  message: string;
5
- data: PO[];
5
+ data: {
6
+ POAEP: PO[];
7
+ };
6
8
  error?: never;
7
9
  } | {
8
10
  success: boolean;
@@ -1 +1 @@
1
- export declare function uploadCOAEP(url: string, xls: File, course_id: string): Promise<void>;
1
+ export declare function uploadCOAEP(url: string, xls: File, course_id: string): Promise<Record<string, unknown>>;