@obe-loms/coms-parser 1.2.5 → 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 _0x52ee4c from 'papaparse';
2
- import * as _0x3e8045 from 'xlsx';
1
+ import _0x59ce7f from 'papaparse';
2
+ import * as _0xfbd7d8 from 'xlsx';
3
3
 
4
- function parseCurriculum(_0xdaf3b5){let _0x5bf31b='',_0x37851a='',_0x2730af=0x0,_0x1ce041=null;const _0x23f043=[];return _0x52ee4c['parse'](_0xdaf3b5,{'skipEmptyLines':!![],'complete':_0x5c8791=>{_0x5c8791['data']['forEach'](_0x2c6917=>{const _0x533711=_0x2c6917['map'](_0x18fb30=>(_0x18fb30??'')['toString']()['trim']()),_0x5ee1b1=_0x533711[0x0]??'';if(_0x5ee1b1['includes']('Rev#')){const _0x24f615=_0x5ee1b1['match'](/([A-Z0-9]+)\s*-\s*.*:\s*(.*?)\s+Rev#\s*(\d+)/i);_0x24f615&&(_0x5bf31b=_0x24f615[0x1]?.['trim']()??'',_0x37851a=_0x24f615[0x2]?.['trim']()??'',_0x2730af=parseInt(_0x24f615[0x3]??'0',0xa));return;}if(/FIRST YEAR/i['test'](_0x5ee1b1)){_0x1ce041=0x1;return;}if(/SECOND YEAR/i['test'](_0x5ee1b1)){_0x1ce041=0x2;return;}if(/THIRD YEAR/i['test'](_0x5ee1b1)){_0x1ce041=0x3;return;}if(/FOURTH YEAR/i['test'](_0x5ee1b1)){_0x1ce041=0x4;return;}if(/FIFTH YEAR/i['test'](_0x5ee1b1)){_0x1ce041=0x5;return;}if(/First Semester/i['test'](_0x5ee1b1)||/Second Semester/i['test'](_0x5ee1b1)||/Summer/i['test'](_0x5ee1b1))return;const _0x49b963=[{'sem':0x1,'offset':0x0},{'sem':0x2,'offset':0x6},{'sem':0x3,'offset':0xc}];_0x49b963['forEach'](({sem:_0xdc57b4,offset:_0x5af4e5})=>{const _0x341519=_0x533711[_0x5af4e5]??'',_0x2d44c0=_0x533711[_0x5af4e5+0x1]??'',_0x1b9be6=_0x533711[_0x5af4e5+0x2]??'',_0x52b7b6=_0x533711[_0x5af4e5+0x3]??'',_0x5d7036=_0x533711[_0x5af4e5+0x4]??'';_0x341519&&_0x1ce041&&_0x23f043['push']({'curr_id':_0x5bf31b,'program_name':_0x37851a,'revision_no':_0x2730af,'year_level':_0x1ce041,'sem':_0xdc57b4,'course_id':_0x341519,'course_desc':_0x2d44c0,'total_units':_0x1b9be6,'lec_unit':_0x52b7b6,'lab_unit':_0x5d7036});});});}}),_0x23f043;}
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(_0x5396ac){return new Promise((_0x552f85,_0x39e18a)=>{const _0x4f3403=new FileReader();_0x4f3403['onload']=_0x3c528c=>{const _0x2d0063=_0x3c528c['target']?.['result'];if(!_0x2d0063){_0x39e18a(new Error('Failed\x20to\x20read\x20file'));return;}try{const _0x32330e=_0x3e8045['read'](_0x2d0063,{'type':'array'}),_0x2fcd47=_0x32330e['SheetNames'][0x0];if(!_0x2fcd47){_0x39e18a(new Error('No\x20sheets\x20found\x20in\x20workbook'));return;}const _0x3275f4=_0x32330e['Sheets'][_0x2fcd47];if(!_0x3275f4){_0x39e18a(new Error('No\x20sheets\x20found\x20in\x20worksheet'));return;}const _0x29930d=_0x3e8045['utils']['sheet_to_csv'](_0x3275f4,{'strip':!![]}),_0x19351a=_0x5396ac['name']['replace'](/\.[^/.]+$/,'.csv'),_0x5240ca=new File([_0x29930d],_0x19351a,{'type':'text/csv','lastModified':Date['now']()});_0x552f85(_0x5240ca);}catch(_0x386cec){_0x39e18a(_0x386cec);}},_0x4f3403['onerror']=()=>{_0x39e18a(new Error('File\x20reading\x20failed'));},_0x4f3403['readAsArrayBuffer'](_0x5396ac);});}
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(_0x4a6ae0,_0x4291b6){try{const _0x593de8=await convertToCSVFile(_0x4291b6),_0x4f0015=await _0x593de8['text'](),_0x543389=parseCurriculum(_0x4f0015),_0x4c72e7=_0x52ee4c['unparse'](_0x543389),_0x9e90a=new File([_0x4c72e7],_0x593de8['name'],{'type':'text/csv'}),_0x30bb81=new FormData();_0x30bb81['append']('csvFile',_0x9e90a);const _0x3345fb=await fetch(_0x4a6ae0+'/curr-courses/upload',{'method':'POST','body':_0x30bb81});if(!_0x3345fb['ok']){const _0x431917=await _0x3345fb['json']();throw _0x431917;}return _0x3345fb['json']();}catch(_0x56bc2a){throw _0x56bc2a;}}
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(_0x4840ed){let _0x1b4706='',_0x294c51='';const _0xaabe26=[],_0x455238=_0x52ee4c['parse'](_0x4840ed,{'header':![],'skipEmptyLines':!![],'delimiter':','}),_0x3191fc=_0x455238['data'];for(let _0x54319a=0x0;_0x54319a<Math['min'](0x5,_0x3191fc['length']);_0x54319a++){const _0x351626=_0x3191fc[_0x54319a];if(_0x351626&&_0x351626['length']>0x0){const _0x3e394f=_0x351626[0x0]?.['toString']()||'',_0x23b7c3=_0x3e394f['match'](/(First|Second)\s+Sem\s+S\/Y\s+(\d{4}-\d{4})/i);if(_0x23b7c3){_0x1b4706=_0x23b7c3[0x1]?.['toLowerCase']()==='first'?'1':'2';if(_0x23b7c3[0x2]){const _0x142c63=_0x23b7c3[0x2]['match'](/(\d{2})(\d{2})-(\d{2})(\d{2})/);_0x142c63&&_0x142c63[0x2]&&_0x142c63[0x4]&&(_0x294c51=_0x142c63[0x2]+_0x142c63[0x4]);}}}}let _0x5db849=-1;for(let _0x4e6538=0x0;_0x4e6538<_0x3191fc['length'];_0x4e6538++){const _0x134a56=_0x3191fc[_0x4e6538];if(_0x134a56&&_0x134a56['some'](_0x154100=>_0x154100?.['toString']()['toUpperCase']()['includes']('CODE'))){_0x5db849=_0x4e6538;break;}}if(_0x5db849===-1)throw new Error('Could\x20not\x20find\x20header\x20row\x20in\x20CSV\x20data');for(let _0x29db53=_0x5db849+0x1;_0x29db53<_0x3191fc['length'];_0x29db53++){const _0x2f92cb=_0x3191fc[_0x29db53];if(!_0x2f92cb||_0x2f92cb['length']<0x8)continue;const _0xab4439=_0x2f92cb[0x0]?.['toString']()['trim']()||'',_0x1e5ce8=_0x2f92cb[0x1]?.['toString']()['trim']()||'',_0x56bb70=_0x2f92cb[0x2]?.['toString']()['trim']()||'',_0xdbcbb9=_0x2f92cb[0x3]?.['toString']()['trim']()||'',_0x5ae2ac=_0x2f92cb[0x4]?.['toString']()['trim']()||'',_0x5d3596=_0x2f92cb[0x5]?.['toString']()['trim']()||'',_0xd5217=_0x2f92cb[0x6]?.['toString']()['trim']()||'',_0x7bbb98=_0x2f92cb[0x7]?.['toString']()['trim']()||'';if(!_0xab4439)continue;let _0x228bec=0x0;const _0x5805c1=_0xdbcbb9['match'](/(\d+)/);_0x5805c1&&_0x5805c1[0x1]&&(_0x228bec=parseInt(_0x5805c1[0x1],0xa));const _0x2e761c={'sem':_0x1b4706,'school_year':_0x294c51,'code':_0xab4439,'course_no':_0x1e5ce8,'course_desc':_0x56bb70,'unit':_0x228bec,'time':_0x5ae2ac,'days':_0x5d3596,'faculty':_0xd5217,'room':_0x7bbb98};_0xaabe26['push'](_0x2e761c);}return _0xaabe26;}
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(_0x171e54,_0x23a2be){try{const _0x46c401=await convertToCSVFile(_0x23a2be),_0x5d096a=await _0x46c401['text'](),_0x1cddce=parseCourseOffering(_0x5d096a),_0x5c43c5=_0x52ee4c['unparse'](_0x1cddce),_0x173083=new File([_0x5c43c5],_0x46c401['name'],{'type':'text/csv'}),_0xf40d59=new FormData();_0xf40d59['append']('csvFile',_0x173083);const _0x4cbfc4=await fetch(_0x171e54+'/course-offerings/upload',{'method':'POST','body':_0xf40d59});if(!_0x4cbfc4['ok']){const _0x589986=await _0x4cbfc4['json']();throw _0x589986;}return _0x4cbfc4['json']();}catch(_0x1e95d0){throw _0x1e95d0;}}
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(_0x2d7162){if(!_0x2d7162)return {'performance_target':null,'passing_score':null};const _0x290c0f=_0x2d7162['match'](/\d+/g);return {'performance_target':_0x290c0f?.[0x0]?parseInt(_0x290c0f[0x0],0xa):null,'passing_score':_0x290c0f?.[0x1]?parseInt(_0x290c0f[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(_0x7a4fb3){const _0xcca95a=_0x7a4fb3['trim'](),_0x4095a0=/\b(will|shall)\b\s+(?:be\s+able\s+to\s+)?([a-zA-Z]+)/i,_0x1a041b=_0xcca95a['match'](_0x4095a0);return _0x1a041b&&_0x1a041b[0x2]!==undefined?_0x1a041b[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(_0xed292a){const _0x56dbc5=_0x52ee4c['parse'](_0xed292a,{'skipEmptyLines':![]})['data'],_0x39a497={'COAEP':{'faculty':null,'course':null,'sy':null,'semester':null,'co':[]}};let _0x21f8cd=-1,_0x5b7043=-1,_0x180e27=-1,_0x903a0=-1;_0x56dbc5['forEach'](_0x38f5a2=>{_0x21f8cd=_0x38f5a2['indexOf']('Course\x20Outcome\x20Statement'),_0x5b7043=_0x38f5a2['indexOf']('Intended\x20Learning\x20Outcome'),_0x180e27=_0x38f5a2['indexOf']('Assessment\x20Tool'),_0x903a0=_0x38f5a2['indexOf']('Performance\x20Target');if(_0x21f8cd!==-1&&_0x5b7043!==-1&&_0x180e27!==-1&&_0x903a0!==-1)return;}),_0x56dbc5['forEach'](_0x6015b9=>{const _0x2c1dda=_0x6015b9['indexOf']('Name\x20of\x20Faculty:'),_0x4aa202=_0x6015b9['indexOf']('School\x20Year'),_0x13f70c=_0x6015b9['indexOf']('Course:'),_0x508f7e=_0x6015b9['indexOf']('Semester');_0x39a497['COAEP']['faculty']=_0x6015b9[_0x2c1dda+0x1]?.['trim']()||_0x39a497['COAEP']['faculty'],_0x39a497['COAEP']['sy']=_0x6015b9[_0x4aa202+0x1]?.['trim']()||_0x39a497['COAEP']['sy'],_0x39a497['COAEP']['course']=_0x6015b9[_0x13f70c+0x1]?.['trim']()||_0x39a497['COAEP']['course'];const _0x5cbef0=_0x6015b9[_0x508f7e+0x1]?.['trim']()||'',_0x43eeb2=_0x5cbef0['match'](/\d+/)?.[0x0];_0x39a497['COAEP']['semester']=_0x43eeb2?parseInt(_0x43eeb2,0xa):_0x39a497['COAEP']['semester'];});let _0xbdb6b9=null;return _0x56dbc5['forEach'](_0x277795=>{const _0x4bb8d6=_0x277795[0x1]?.['trim']()||'',_0xa3a69a=_0x277795[0x2]?.['trim']()||'',_0x1117be=_0x277795[0x4]?.['trim']()||'',_0x5756cb=_0x277795[0x5]?.['replace'](/^ILO\d+[:.]?\s*/,'')||'',_0x18074b=_0x277795[0x6]?.['replace'](/\s+/g,'\x20')['trim']()||'';if(_0x4bb8d6===''&&_0xa3a69a===''&&_0x1117be===''&&_0x5756cb===''&&_0x18074b==='')return;if(_0x4bb8d6&&/^\d+$/['test'](_0x4bb8d6)){_0xbdb6b9&&_0x39a497['COAEP']['co']['push'](_0xbdb6b9);const _0x5c66f1=_0xa3a69a,_0x410f3a=extractInstructionalVerb(_0x5c66f1)||'';_0xbdb6b9={'statement':_0x5c66f1,'verb':_0x410f3a,'ilo':[]};}if(_0xbdb6b9&&_0x1117be){const _0x30209f=_0x1117be['replace'](/^ILO\d+[:.]?\s*/,''),{performance_target:_0x3a4d21,passing_score:_0x545dbb}=performaceTarget(_0x18074b);_0xbdb6b9['ilo']['push']({'statement':_0x30209f,'verb':extractInstructionalVerb(_0x30209f)||'','assessment_tool':_0x5756cb,'performance_target':_0x3a4d21,'passing_score':_0x545dbb});}}),_0xbdb6b9&&_0x39a497['COAEP']['co']['push'](_0xbdb6b9),_0x39a497;}
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(_0x14b130,_0x344d99,_0x557cbb){try{const _0x380b5b=await convertToCSVFile(_0x344d99),_0x4b4737=await _0x380b5b['text'](),_0x23ea19=parseCOAEP(_0x4b4737),_0x31238c=await fetch(_0x14b130+'/coaeps/upload?course_id='+_0x557cbb,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x23ea19)});if(!_0x31238c['ok']){const _0x43a9c3=await _0x31238c['json']();throw _0x43a9c3;}return _0x31238c['json']();}catch(_0x3e7e13){throw _0x3e7e13;}}
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(_0x459dfc,_0x415dfd){try{const _0x91fac=await convertToCSVFile(_0x415dfd),_0x4cedea=new FormData();_0x4cedea['append']('csvFile',_0x91fac);const _0x4a9ce6=await fetch(_0x459dfc+'/enrolled-students/upload',{'method':'POST','body':_0x4cedea});if(!_0x4a9ce6['ok']){const _0x1194b3=await _0x4a9ce6['json']();throw _0x1194b3;}return _0x4a9ce6['json']();}catch(_0x47d8af){throw _0x47d8af;}}
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(_0x5e1072){const _0x217376=_0x52ee4c['parse'](_0x5e1072,{'skipEmptyLines':!![]})['data'];let _0x2993d7='',_0x29e6d0='',_0x50fd40='';const _0x55d004=[];return _0x217376['forEach'](_0x3b748f=>{const _0x3ef9bc=_0x3b748f['map'](_0x905f22=>(_0x905f22??'')['toString']()['trim']()),_0x2e9b9f=_0x3ef9bc[0x0]??'';if(_0x2e9b9f['startsWith']('Course\x20No:')){const _0x44ac10=_0x2e9b9f['replace']('Course\x20No:','')['trim'](),_0x5a346b=_0x44ac10['split'](/\s+/);_0x50fd40=_0x5a346b[0x0]??'';const [_0x515660,_0x5cdeb6]=(_0x5a346b[0x1]??'')['split']('-');_0x29e6d0=_0x515660??'';const _0x30470c=(_0x5cdeb6??'')['match'](/[a-z]$/);_0x2993d7=_0x30470c?_0x30470c[0x0]:'';}if(/^\d+$/['test'](_0x2e9b9f)){const _0x4b7de2=_0x3ef9bc[0x2]??'';_0x55d004['push']({'subj_code':_0x50fd40,'student_no':_0x4b7de2,'course_id':_0x29e6d0,'section':_0x2993d7});}}),{'enrolledCourses':_0x55d004};}
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(_0x25b854,_0x188dbb,_0x597fa1,_0x4d5bb7){try{const _0x88a719=await convertToCSVFile(_0x188dbb),_0x3c3049=await _0x88a719['text'](),_0x533148=parseClassList(_0x3c3049),_0x2a7b6e='subj_code='+_0x597fa1+'&period_id='+_0x4d5bb7,_0x3142ba=await fetch(_0x25b854+'/enrolled-courses/upload?'+_0x2a7b6e,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x533148)});if(!_0x3142ba['ok']){const _0x5eb42e=await _0x3142ba['json']();throw _0x5eb42e;}return _0x3142ba['json']();}catch(_0x3c9fac){throw _0x3c9fac;}}
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(_0x5eb7ed){const {data:_0xdcd88b}=_0x52ee4c['parse'](_0x5eb7ed,{'skipEmptyLines':!![]}),_0x530cbe=_0xdcd88b['filter'](_0x2e298f=>_0x2e298f['length']>0x0),_0x30fc4c=_0x530cbe['find'](_0x323681=>_0x323681['some'](_0x51efdf=>_0x51efdf?.['includes']('Faculty'))),_0xf78967=_0x30fc4c?_0x30fc4c['findIndex'](_0x7f66fd=>_0x7f66fd?.['includes']('Faculty')):-1,_0xa7a84a=_0xf78967!==-1&&_0x30fc4c?_0x30fc4c[_0xf78967+0x2]?.['replace'](/"/g,'')['trim']()??'':'',_0x44a740=_0x530cbe['find'](_0x3ccfe1=>_0x3ccfe1['some'](_0x2b8707=>_0x2b8707?.['includes']('Semester'))),_0x515c61=_0x44a740?_0x44a740['findIndex'](_0x2f359a=>_0x2f359a?.['includes']('Semester')):-1,_0x44e58e=_0x515c61!==-1&&_0x44a740?_0x44a740[_0x515c61+0x2]?.['trim']()??'':'',_0x591d70=_0x44e58e['includes']('1st')?0x1:_0x44e58e['includes']('2nd')?0x2:0x0,_0xbb7f08=_0x530cbe['find'](_0x34aa9a=>_0x34aa9a['some'](_0x46a4b8=>_0x46a4b8?.['includes']('Course\x20&\x20Sec'))),_0x254b20=_0xbb7f08?_0xbb7f08['findIndex'](_0x2722ab=>_0x2722ab?.['includes']('Course\x20&\x20Sec')):-1,_0xbd9004=_0x254b20!==-1&&_0xbb7f08?_0xbb7f08[_0x254b20+0x2]?.['trim']()??'':'';let _0x29a710='',_0x42de10='';if(_0xbd9004){const _0x329b61=_0xbd9004['match'](/^([A-Za-z0-9]+)-?([A-Za-z]+)?/);_0x329b61&&(_0x29a710=_0x329b61[0x1]??'',_0x329b61[0x2]&&(_0x42de10=_0x329b61[0x2]['replace'](/^OC/i,'')));}const _0x180c3f=_0x530cbe['find'](_0x512157=>_0x512157['some'](_0x521d77=>_0x521d77?.['includes']('School\x20Year'))),_0x399c36=_0x180c3f?_0x180c3f['findIndex'](_0x4d414e=>_0x4d414e?.['includes']('School\x20Year')):-1,_0x41a64a=_0x399c36!==-1&&_0x180c3f?_0x180c3f[_0x399c36+0x2]?.['trim']()??'':'';let _0x2a6328=0x0;if(_0x41a64a){const _0x45a665=_0x41a64a['match'](/(\d{4})-(\d{4})/);if(_0x45a665){const _0x18e863=(_0x45a665[0x1]??'')['slice'](0x2),_0x1f32c0=(_0x45a665[0x2]??'')['slice'](0x2);_0x2a6328=parseInt(_0x18e863+_0x1f32c0,0xa);}}const _0x53d0a1={'faculty':_0xa7a84a,'course':_0x29a710,'section':_0x42de10,'semester':_0x591d70,'sy':_0x2a6328},_0x3fc26c=_0x530cbe['findIndex'](_0x44aae5=>_0x44aae5['some'](_0x3cfcb8=>_0x3cfcb8?.['trim']()==='CO\x20#'));if(_0x3fc26c===-1)throw new Error('CO\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x1b486b=_0x530cbe[_0x3fc26c+0x1];if(!_0x1b486b)throw new Error('ILO\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x57421e={};let _0x42f643=0x1,_0xbba9d3=0x1;for(let _0x30250b=0x3;_0x30250b<_0x1b486b['length'];_0x30250b++){const _0x544de3=_0x1b486b[_0x30250b];if(!_0x544de3)continue;const _0x4d6029='co'+_0x42f643;if(!_0x57421e[_0x4d6029])_0x57421e[_0x4d6029]=[];_0x57421e[_0x4d6029]['push']('ilo'+_0xbba9d3),_0xbba9d3++,_0xbba9d3>0x3&&(_0x42f643++,_0xbba9d3=0x1);}const _0x1cefcc=_0x530cbe['findIndex'](_0x1a50fb=>_0x1a50fb['includes']('Name\x20of\x20Students'));if(_0x1cefcc===-1)throw new Error('Student\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x3521ee=_0x530cbe[_0x1cefcc];if(!_0x3521ee)throw new Error('Student\x20header\x20row\x20is\x20missing');const _0x234561=_0x3521ee['findIndex'](_0x223c80=>_0x223c80?.['includes']('Name\x20of\x20Students'));if(_0x234561===-1)throw new Error('Name\x20of\x20Students\x20column\x20not\x20found\x20in\x20CSV');const _0x825c04=_0x234561+0x2,_0x646b9f=[];for(let _0x14bca8=_0x1cefcc+0x1;_0x14bca8<_0x530cbe['length'];_0x14bca8++){const _0x865bee=_0x530cbe[_0x14bca8];if(!_0x865bee)continue;if(_0x865bee['some'](_0x18dd77=>_0x18dd77?.['toUpperCase']()['includes']('TOTAL\x20STUDENTS')||_0x18dd77?.['toUpperCase']()['includes']('ACHIEVED\x20THE\x20MINIMUM')||_0x18dd77?.['toUpperCase']()['includes']('INACTIVE')||_0x18dd77?.['toUpperCase']()['includes']('AVERAGE')))continue;if(!_0x865bee[_0x234561])continue;const _0x3df88b=_0x865bee[_0x234561]['replace'](/"/g,'')['trim'](),_0x299b18=_0x865bee['slice'](_0x825c04)['map'](_0x257daf=>_0x257daf===null?null:!isNaN(Number(_0x257daf))?parseFloat(_0x257daf):0x0);let _0x307c09=0x0;const _0x121f08={};Object['entries'](_0x57421e)['forEach'](([_0x580d76,_0x266cbe])=>{const _0x5427fd={};_0x266cbe['forEach'](_0x34a665=>{_0x5427fd[_0x34a665]=_0x299b18[_0x307c09]??0x0,_0x307c09++;}),_0x121f08[_0x580d76]={'transmuted_score':_0x5427fd};}),_0x646b9f['push']({'student_name':_0x3df88b,'coaep':_0x121f08});}const _0x47ad53=_0x530cbe['find'](_0x4147c4=>_0x4147c4['some'](_0x23eabd=>_0x23eabd?.['includes']('ACHIEVED\x20THE\x20MINIMUM'))),_0x2989f5=_0x530cbe['find'](_0x42a36d=>_0x42a36d['some'](_0xeb8756=>_0xeb8756?.['includes']('AVERAGE'))),_0x4cbcff=_0x47ad53?_0x47ad53['slice'](_0x825c04)['map'](_0x24142d=>_0x24142d&&!isNaN(Number(_0x24142d))?parseInt(_0x24142d):0x0):[],_0x36c7ed=_0x2989f5?_0x2989f5['slice'](_0x825c04)['map'](_0x5685f1=>_0x5685f1&&_0x5685f1!=='#DIV/0!'&&!isNaN(Number(_0x5685f1))?parseInt(_0x5685f1):0x0):[],_0x62337e={};let _0x36df23=0x0;return Object['entries'](_0x57421e)['forEach'](([_0x3a5559,_0x4c65e8])=>{if(!_0x62337e[_0x3a5559])_0x62337e[_0x3a5559]={};_0x4c65e8['forEach'](_0x3f0f4f=>{_0x62337e[_0x3a5559][_0x3f0f4f]={'achievedMinimum':_0x4cbcff[_0x36df23]??0x0,'average':_0x36c7ed[_0x36df23]??0x0},_0x36df23++;});}),{'assessmentData':{'classAssignment':_0x53d0a1,'student':_0x646b9f,'total':_0x62337e}};}
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(_0x362d38,_0x4f1c1f){try{const _0x1548b3=await convertToCSVFile(_0x4f1c1f),_0x25ce3c=await _0x1548b3['text'](),_0x253e0d=parseAssessmentCsv(_0x25ce3c),_0x13b2d2=await fetch(_0x362d38+'/assessment-data/upload',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x253e0d)});if(!_0x13b2d2['ok']){const _0x380334=await _0x13b2d2['json']();throw _0x380334;}return _0x13b2d2['json']();}catch(_0x326ca4){throw _0x326ca4;}}
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(_0x4fde7d,_0x54b681){try{const _0x5f5c00=await convertToCSVFile(_0x54b681),_0x4967d9=new FormData();_0x4967d9['append']('csvFile',_0x5f5c00);const _0x2c0976=await fetch(_0x4fde7d+'/dept-faculties/upload',{'method':'POST','body':_0x4967d9});if(!_0x2c0976['ok']){const _0x451b25=await _0x2c0976['json']();throw _0x451b25;}return _0x2c0976['json']();}catch(_0x9a98d){throw _0x9a98d;}}
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(_0x56c15c){this['BASE_URL']=_0x56c15c;}['Parser'](){return {'curriculum':async _0x468aa=>{const _0x3b7483=await uploadCurriculum(this['BASE_URL'],_0x468aa);return _0x3b7483;},'courseOffering':async _0x28bb6e=>{const _0x478a45=await uploadCourseOffering(this['BASE_URL'],_0x28bb6e);return _0x478a45;},'coaep':async(_0x1362f0,_0x32643f)=>{const _0x3b518f=await uploadCOAEP(this['BASE_URL'],_0x1362f0,_0x32643f);return _0x3b518f;},'enrolledStudent':async _0x888758=>{const _0x367624=await uploadEnrolledStudent(this['BASE_URL'],_0x888758);return _0x367624;},'classlist':async(_0x32136b,_0x4c4475,_0x5e1360)=>{const _0x491ebc=await uploadClassList(this['BASE_URL'],_0x32136b,_0x4c4475,_0x5e1360);return _0x491ebc;},'assessmentData':async _0x462e3f=>{const _0x56b0c1=await uploadAssessmentData(this['BASE_URL'],_0x462e3f);return _0x56b0c1;},'deptFaculty':async _0x49e8e9=>{const _0x30b349=await uploadDeptFaculty(this['BASE_URL'],_0x49e8e9);return _0x30b349;}};}}
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.5",
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 {};