@obe-loms/coms-parser 1.2.6 → 1.3.1

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 _0x2bb4d4 from 'papaparse';
2
+ import * as _0x2b3908 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(_0x528e10){let _0x360b89='',_0x4e0725='',_0x2ceec9=0x0,_0xba07d5=null;const _0x1be66d=[];return _0x2bb4d4['parse'](_0x528e10,{'skipEmptyLines':!![],'complete':_0x1b45b4=>{_0x1b45b4['data']['forEach'](_0x3aafde=>{const _0x33b049=_0x3aafde['map'](_0x2ea603=>(_0x2ea603??'')['toString']()['trim']()),_0x4b0810=_0x33b049[0x0]??'';if(_0x4b0810['includes']('Rev#')){const _0x33166b=_0x4b0810['match'](/([A-Z0-9]+)\s*-\s*.*:\s*(.*?)\s+Rev#\s*(\d+)/i);_0x33166b&&(_0x360b89=_0x33166b[0x1]?.['trim']()??'',_0x4e0725=_0x33166b[0x2]?.['trim']()??'',_0x2ceec9=parseInt(_0x33166b[0x3]??'0',0xa));return;}if(/FIRST YEAR/i['test'](_0x4b0810)){_0xba07d5=0x1;return;}if(/SECOND YEAR/i['test'](_0x4b0810)){_0xba07d5=0x2;return;}if(/THIRD YEAR/i['test'](_0x4b0810)){_0xba07d5=0x3;return;}if(/FOURTH YEAR/i['test'](_0x4b0810)){_0xba07d5=0x4;return;}if(/FIFTH YEAR/i['test'](_0x4b0810)){_0xba07d5=0x5;return;}if(/First Semester/i['test'](_0x4b0810)||/Second Semester/i['test'](_0x4b0810)||/Summer/i['test'](_0x4b0810))return;const _0xcac2e4=[{'sem':0x1,'offset':0x0},{'sem':0x2,'offset':0x6},{'sem':0x3,'offset':0xc}];_0xcac2e4['forEach'](({sem:_0x23f41b,offset:_0x345abb})=>{const _0x5b3233=_0x33b049[_0x345abb]??'',_0x53b33a=_0x33b049[_0x345abb+0x1]??'',_0x3b56ff=_0x33b049[_0x345abb+0x2]??'',_0x2fd0b8=_0x33b049[_0x345abb+0x3]??'',_0x56577e=_0x33b049[_0x345abb+0x4]??'';_0x5b3233&&_0xba07d5&&_0x1be66d['push']({'curr_id':_0x360b89,'program_name':_0x4e0725,'revision_no':_0x2ceec9,'year_level':_0xba07d5,'sem':_0x23f41b,'course_id':_0x5b3233,'course_desc':_0x53b33a,'total_units':_0x3b56ff,'lec_unit':_0x2fd0b8,'lab_unit':_0x56577e});});});}}),_0x1be66d;}
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(_0x14a71a){return new Promise((_0x187713,_0x5083e1)=>{const _0x1799d5=new FileReader();_0x1799d5['onload']=_0x13e116=>{const _0x3bed8a=_0x13e116['target']?.['result'];if(!_0x3bed8a){_0x5083e1(new Error('Failed\x20to\x20read\x20file'));return;}try{const _0x5f48c4=_0x2b3908['read'](_0x3bed8a,{'type':'array'}),_0x19e893=_0x5f48c4['SheetNames'][0x0];if(!_0x19e893){_0x5083e1(new Error('No\x20sheets\x20found\x20in\x20workbook'));return;}const _0x3ac2cb=_0x5f48c4['Sheets'][_0x19e893];if(!_0x3ac2cb){_0x5083e1(new Error('No\x20sheets\x20found\x20in\x20worksheet'));return;}const _0x2f5c8f=_0x2b3908['utils']['sheet_to_csv'](_0x3ac2cb,{'strip':!![]}),_0x351fcf=_0x14a71a['name']['replace'](/\.[^/.]+$/,'.csv'),_0xbdeaf3=new File([_0x2f5c8f],_0x351fcf,{'type':'text/csv','lastModified':Date['now']()});_0x187713(_0xbdeaf3);}catch(_0x38e265){_0x5083e1(_0x38e265);}},_0x1799d5['onerror']=()=>{_0x5083e1(new Error('File\x20reading\x20failed'));},_0x1799d5['readAsArrayBuffer'](_0x14a71a);});}
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(_0x2c0237,_0x3228c9){try{const _0x374524=await convertToCSVFile(_0x3228c9),_0x4deada=await _0x374524['text'](),_0x878949=parseCurriculum(_0x4deada),_0x40ef75=_0x2bb4d4['unparse'](_0x878949),_0x3cc9cd=new File([_0x40ef75],_0x374524['name'],{'type':'text/csv'}),_0x4f7c20=new FormData();_0x4f7c20['append']('csvFile',_0x3cc9cd);const _0xc59a94=await fetch(_0x2c0237+'/curr-courses/upload',{'method':'POST','body':_0x4f7c20});if(!_0xc59a94['ok']){const _0x23b2be=await _0xc59a94['json']();throw _0x23b2be;}return _0xc59a94['json']();}catch(_0x10884a){throw _0x10884a;}}
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(_0x15a7d8){let _0xba71cd='',_0x4ef048='';const _0x59e317=[],_0x34b1d9=_0x2bb4d4['parse'](_0x15a7d8,{'header':![],'skipEmptyLines':!![],'delimiter':','}),_0x2a3b42=_0x34b1d9['data'];for(let _0x1497a0=0x0;_0x1497a0<Math['min'](0x5,_0x2a3b42['length']);_0x1497a0++){const _0x12359e=_0x2a3b42[_0x1497a0];if(_0x12359e&&_0x12359e['length']>0x0){const _0x10e371=_0x12359e[0x0]?.['toString']()||'',_0x1b7a2b=_0x10e371['match'](/(First|Second)\s+Sem\s+S\/Y\s+(\d{4}-\d{4})/i);if(_0x1b7a2b){_0xba71cd=_0x1b7a2b[0x1]?.['toLowerCase']()==='first'?'1':'2';if(_0x1b7a2b[0x2]){const _0x582fb2=_0x1b7a2b[0x2]['match'](/(\d{2})(\d{2})-(\d{2})(\d{2})/);_0x582fb2&&_0x582fb2[0x2]&&_0x582fb2[0x4]&&(_0x4ef048=_0x582fb2[0x2]+_0x582fb2[0x4]);}}}}let _0x5e90a2=-1;for(let _0x2fcb38=0x0;_0x2fcb38<_0x2a3b42['length'];_0x2fcb38++){const _0x33dab3=_0x2a3b42[_0x2fcb38];if(_0x33dab3&&_0x33dab3['some'](_0x180919=>_0x180919?.['toString']()['toUpperCase']()['includes']('CODE'))){_0x5e90a2=_0x2fcb38;break;}}if(_0x5e90a2===-1)throw new Error('Could\x20not\x20find\x20header\x20row\x20in\x20CSV\x20data');const _0xe5887e={'code':'','description':'','unit':0x0};for(let _0x3e8fcb=_0x5e90a2+0x1;_0x3e8fcb<_0x2a3b42['length'];_0x3e8fcb++){const _0x4de4dd=_0x2a3b42[_0x3e8fcb];if(!_0x4de4dd||_0x4de4dd['length']<0x8)continue;const _0x3e6e47=_0x4de4dd[0x1]?.['toString']()['trim']()||'',_0x239394=_0x4de4dd[0x4]?.['toString']()['trim']()||'',_0x1bfd3e=_0x4de4dd[0x5]?.['toString']()['trim']()||'',_0x30d9f8=_0x4de4dd[0x6]?.['toString']()['trim']()||'',_0x598ab8=_0x4de4dd[0x7]?.['toString']()['trim']()||'',_0x5861d1=_0x4de4dd[0x3]?.['toString']()['trim']()||'';let _0x4b7df5=_0x4de4dd[0x0]?.['toString']()['trim']()||'',_0xe79cc4=_0x4de4dd[0x2]?.['toString']()['trim']()||'';if(!_0x3e6e47)continue;if(!_0x4b7df5)_0x4b7df5=_0xe5887e['code'];if(!_0xe79cc4)_0xe79cc4=_0xe5887e['description'];let _0x5dbd90=_0xe5887e['unit'];if(!_0x5861d1);else {const _0x519202=_0x5861d1['match'](/(\d+)/);_0x519202&&_0x519202[0x1]&&(_0x5dbd90=parseInt(_0x519202[0x1],0xa));}const _0x314461={'sem':_0xba71cd,'school_year':_0x4ef048,'code':_0x4b7df5,'course_no':_0x3e6e47,'course_desc':_0xe79cc4,'unit':_0x5dbd90,'time':_0x239394,'days':_0x1bfd3e,'faculty':_0x30d9f8,'room':_0x598ab8};_0xe5887e['code']=_0x4b7df5,_0xe5887e['description']=_0xe79cc4,_0xe5887e['unit']=_0x5dbd90,_0x59e317['push'](_0x314461);}return _0x59e317;}
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(_0x47dbe1,_0x1548c4){try{const _0x540689=await convertToCSVFile(_0x1548c4),_0x58e64d=await _0x540689['text'](),_0x454daf=parseCourseOffering(_0x58e64d),_0x3437c3=_0x2bb4d4['unparse'](_0x454daf),_0x21513f=new File([_0x3437c3],_0x540689['name'],{'type':'text/csv'}),_0x4b4433=new FormData();_0x4b4433['append']('csvFile',_0x21513f);const _0x58aefe=await fetch(_0x47dbe1+'/course-offerings/upload',{'method':'POST','body':_0x4b4433});if(!_0x58aefe['ok']){const _0x5d5148=await _0x58aefe['json']();throw _0x5d5148;}return _0x58aefe['json']();}catch(_0x21c612){throw _0x21c612;}}
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(_0x233570){if(!_0x233570)return {'performance_target':null,'passing_score':null};const _0x9921=_0x233570['match'](/\d+/g);return {'performance_target':_0x9921?.[0x0]?parseInt(_0x9921[0x0],0xa):null,'passing_score':_0x9921?.[0x1]?parseInt(_0x9921[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(_0x3a2d9f){const _0x3037ae=_0x3a2d9f['trim'](),_0xfa9b6d=/\b(will|shall)\b\s+(?:be\s+able\s+to\s+)?([a-zA-Z]+)/i,_0x48e7ff=_0x3037ae['match'](_0xfa9b6d);return _0x48e7ff&&_0x48e7ff[0x2]!==undefined?_0x48e7ff[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(_0x4bb584){let _0xdd779={'headerRowIndex':-1,'coIdx':-1,'iloIdx':-1,'assessToolIdx':-1,'perfTargetIdx':-1};for(let _0x15b1c9=0x0;_0x15b1c9<Math['min'](_0x4bb584['length'],0x14);_0x15b1c9++){const _0x141191=(_0x4bb584[_0x15b1c9]??[])['map'](_0x47742a=>_0x47742a['toLowerCase']()['trim']()),_0x13c368=_0x141191['findIndex'](_0x2895d9=>HEADERS['co']['some'](_0x286fa9=>_0x2895d9['includes'](_0x286fa9))),_0x2498a9=_0x141191['findIndex'](_0x36ee32=>HEADERS['ilo']['some'](_0x414e60=>_0x36ee32['includes'](_0x414e60))),_0x1be4d5=_0x141191['findIndex'](_0x57d2e0=>HEADERS['assessTool']['some'](_0x3f5307=>_0x57d2e0['includes'](_0x3f5307))),_0x16b99c=_0x141191['findIndex'](_0x33eeb7=>HEADERS['perfTarget']['some'](_0x31a550=>_0x33eeb7['includes'](_0x31a550))),_0x197809=[_0x13c368,_0x2498a9,_0x1be4d5,_0x16b99c]['filter'](_0x2f831e=>_0x2f831e!==-1)['length'];if(_0x197809>=0x3){_0xdd779={'headerRowIndex':_0x15b1c9,'coIdx':_0x13c368,'iloIdx':_0x2498a9,'assessToolIdx':_0x1be4d5,'perfTargetIdx':_0x16b99c};break;}}return _0xdd779;}
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(_0xb42497){const _0x384d71=_0x2bb4d4['parse'](_0xb42497,{'skipEmptyLines':![]})['data'],_0x35ce40={'COAEP':{'faculty':null,'course':null,'sy':null,'semester':null,'co':[]}},{headerRowIndex:_0x4dd375,coIdx:_0x5ba340,iloIdx:_0x2ad94d,assessToolIdx:_0x43f735,perfTargetIdx:_0x20f441}=getCoaepHeader(_0x384d71);if(_0x4dd375===-1)return {'error':'Could\x20not\x20auto-detect\x20header\x20row.','message':'Please\x20ensure\x20the\x20CSV\x20file\x20is\x20in\x20the\x20correct\x20COAEP\x20format.'};_0x384d71['forEach'](_0x251542=>{const _0x415f5a=_0x251542['indexOf']('Name\x20of\x20Faculty:'),_0x181523=_0x251542['indexOf']('School\x20Year'),_0x59c4b6=_0x251542['indexOf']('Course:'),_0x4745c2=_0x251542['indexOf']('Semester');_0x415f5a!==-1&&(_0x35ce40['COAEP']['faculty']=_0x251542[_0x415f5a+0x1]?.['trim']()||_0x35ce40['COAEP']['faculty']);_0x181523!==-1&&(_0x35ce40['COAEP']['sy']=_0x251542[_0x181523+0x1]?.['trim']()||_0x35ce40['COAEP']['sy']);_0x59c4b6!==-1&&(_0x35ce40['COAEP']['course']=_0x251542[_0x59c4b6+0x1]?.['trim']()||_0x35ce40['COAEP']['course']);if(_0x4745c2!==-1){const _0x1620b2=_0x251542[_0x4745c2+0x1]?.['trim']()||'',_0x3d9923=_0x1620b2['match'](/\d+/)?.[0x0];_0x35ce40['COAEP']['semester']=_0x3d9923?parseInt(_0x3d9923,0xa):_0x35ce40['COAEP']['semester'];}});let _0x21eece=null;return _0x384d71['forEach']((_0x594a71,_0x5d58eb)=>{if(_0x5d58eb<=_0x4dd375)return;let _0x1d8fad=_0x594a71[_0x5ba340-0x1]?.['trim']()||'',_0x4b215d=_0x594a71[_0x5ba340]?.['trim']()||'';/^\d+$/['test'](_0x594a71[_0x5ba340]?.['trim']()||'')&&(_0x1d8fad=_0x594a71[_0x5ba340]?.['trim']()||'',_0x4b215d=_0x594a71[_0x5ba340+0x1]?.['trim']()||'');const _0x23ce18=_0x594a71[_0x2ad94d]?.['trim']()||'',_0x39828a=_0x594a71[_0x43f735]?.['replace'](/^ILO\d+[:.]?\s*/,'')['trim']()||'',_0x2f3718=_0x594a71[_0x20f441]?.['replace'](/\s+/g,'\x20')['trim']()||'';if(_0x1d8fad&&/^\d+$/['test'](_0x1d8fad)){_0x21eece&&_0x35ce40['COAEP']['co']['push'](_0x21eece);const _0x342b4a=_0x4b215d,_0x3f4a3e=extractInstructionalVerb(_0x342b4a)||'';_0x21eece={'statement':_0x342b4a,'verb':_0x3f4a3e,'ilo':[]};}if(_0x21eece&&_0x23ce18&&_0x2f3718){const _0x5f4b03=_0x23ce18['replace'](/^ILO\d+[:.]?\s*/,'');if(_0x5f4b03['match'](/^(Revision|Prepared|Date|Approved|Effectivity|Page)/i)||_0x5f4b03['length']<0xa)return;let _0x3463fd=_0x39828a;if(!_0x3463fd&&_0x5f4b03['includes'](':')){const _0x4e6712=_0x5f4b03['match'](/^ILO\d+:\s*(.+?)(?:\s*\(|$)/);_0x4e6712&&(_0x3463fd=_0x4e6712[0x1]?.['trim']()||'');}const {performance_target:_0x15f29a,passing_score:_0x49cbf0}=performaceTarget(_0x2f3718);_0x21eece['ilo']['push']({'statement':_0x5f4b03,'verb':extractInstructionalVerb(_0x5f4b03)||'','assessment_tool':_0x3463fd,'performance_target':_0x15f29a,'passing_score':_0x49cbf0});}}),_0x21eece&&_0x35ce40['COAEP']['co']['push'](_0x21eece),_0x35ce40;}
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(_0x547aed,_0x567ea3,_0x22574f){try{const _0x4de861=await convertToCSVFile(_0x567ea3),_0x3addce=await _0x4de861['text'](),_0x34c4c0=parseCOAEP(_0x3addce),_0x5e3d87=await fetch(_0x547aed+'/coaeps/upload?course_id='+_0x22574f,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x34c4c0)});if(!_0x5e3d87['ok']){const _0x312d02=await _0x5e3d87['json']();throw _0x312d02;}return _0x5e3d87['json']();}catch(_0x5c6a58){throw _0x5c6a58;}}
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(_0x1185a1,_0x768a94){try{const _0x5922d9=await convertToCSVFile(_0x768a94),_0x48ed51=new FormData();_0x48ed51['append']('csvFile',_0x5922d9);const _0x185a9b=await fetch(_0x1185a1+'/enrolled-students/upload',{'method':'POST','body':_0x48ed51});if(!_0x185a9b['ok']){const _0x5791e3=await _0x185a9b['json']();throw _0x5791e3;}return _0x185a9b['json']();}catch(_0x37f93){throw _0x37f93;}}
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(_0x230155){const _0x5949b0=_0x2bb4d4['parse'](_0x230155,{'skipEmptyLines':!![]})['data'];let _0x3c2ae2='',_0x552874='',_0x2a6d06='';const _0x5261e2=[];return _0x5949b0['forEach'](_0x228d45=>{const _0x1b4fbd=_0x228d45['map'](_0x1c4f0c=>(_0x1c4f0c??'')['toString']()['trim']()),_0x39da1e=_0x1b4fbd[0x0]??'';if(_0x39da1e['startsWith']('Course\x20No:')){const _0x4000e1=_0x39da1e['replace']('Course\x20No:','')['trim'](),_0x443401=_0x4000e1['split'](/\s+/);_0x2a6d06=_0x443401[0x0]??'';const [_0x4e4888,_0x3a02d0]=(_0x443401[0x1]??'')['split']('-');_0x552874=_0x4e4888??'';const _0xcf8521=(_0x3a02d0??'')['match'](/[a-z]$/);_0x3c2ae2=_0xcf8521?_0xcf8521[0x0]:'';}if(/^\d+$/['test'](_0x39da1e)){const _0x5b062f=_0x1b4fbd[0x2]??'';_0x5261e2['push']({'subj_code':_0x2a6d06,'student_no':_0x5b062f,'course_id':_0x552874,'section':_0x3c2ae2});}}),{'enrolledCourses':_0x5261e2};}
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(_0x4d707f,_0x48b62e,_0x1f8bb3,_0x5274e4){try{const _0x267dfd=await convertToCSVFile(_0x48b62e),_0x536f8d=await _0x267dfd['text'](),_0x41a2c7=parseClassList(_0x536f8d),_0x279a0a='subj_code='+_0x1f8bb3+'&period_id='+_0x5274e4,_0x3f1ce3=await fetch(_0x4d707f+'/enrolled-courses/upload?'+_0x279a0a,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0x41a2c7)});if(!_0x3f1ce3['ok']){const _0x365451=await _0x3f1ce3['json']();throw _0x365451;}return _0x3f1ce3['json']();}catch(_0x3d9cd4){throw _0x3d9cd4;}}
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(_0x13f721){const {data:_0x3b1d23}=_0x2bb4d4['parse'](_0x13f721,{'skipEmptyLines':!![]}),_0x5526c6=_0x3b1d23['filter'](_0x16c4a1=>_0x16c4a1['length']>0x0),_0x415301=_0x5526c6['find'](_0x19311d=>_0x19311d['some'](_0xfde393=>_0xfde393?.['includes']('Faculty'))),_0x1eda0f=_0x415301?_0x415301['findIndex'](_0x2b21e0=>_0x2b21e0?.['includes']('Faculty')):-1,_0x425b82=_0x1eda0f!==-1&&_0x415301?_0x415301[_0x1eda0f+0x2]?.['replace'](/"/g,'')['trim']()??'':'',_0xbaaa9d=_0x5526c6['find'](_0x21561d=>_0x21561d['some'](_0x2414e3=>_0x2414e3?.['includes']('Semester'))),_0x32ca53=_0xbaaa9d?_0xbaaa9d['findIndex'](_0x5090de=>_0x5090de?.['includes']('Semester')):-1,_0x30d36d=_0x32ca53!==-1&&_0xbaaa9d?_0xbaaa9d[_0x32ca53+0x2]?.['trim']()??'':'',_0x13c240=_0x30d36d['includes']('1st')?0x1:_0x30d36d['includes']('2nd')?0x2:0x0,_0x5a052e=_0x5526c6['find'](_0x55d969=>_0x55d969['some'](_0x27c88a=>_0x27c88a?.['includes']('Course\x20&\x20Sec'))),_0x4ecb9b=_0x5a052e?_0x5a052e['findIndex'](_0x8a6432=>_0x8a6432?.['includes']('Course\x20&\x20Sec')):-1,_0x338b55=_0x4ecb9b!==-1&&_0x5a052e?_0x5a052e[_0x4ecb9b+0x2]?.['trim']()??'':'';let _0x4a0b42='',_0x59e023='';if(_0x338b55){const _0x1b471c=_0x338b55['match'](/^([A-Za-z0-9]+)-?([A-Za-z]+)?/);_0x1b471c&&(_0x4a0b42=_0x1b471c[0x1]??'',_0x1b471c[0x2]&&(_0x59e023=_0x1b471c[0x2]['replace'](/^OC/i,'')));}const _0x2315d4=_0x5526c6['find'](_0x10edaa=>_0x10edaa['some'](_0x26d7b2=>_0x26d7b2?.['includes']('School\x20Year'))),_0x5f34f1=_0x2315d4?_0x2315d4['findIndex'](_0x82a7bb=>_0x82a7bb?.['includes']('School\x20Year')):-1,_0x36919b=_0x5f34f1!==-1&&_0x2315d4?_0x2315d4[_0x5f34f1+0x2]?.['trim']()??'':'';let _0x3e6239=0x0;if(_0x36919b){const _0x31510d=_0x36919b['match'](/(\d{4})-(\d{4})/);if(_0x31510d){const _0x5ad26b=(_0x31510d[0x1]??'')['slice'](0x2),_0x31e787=(_0x31510d[0x2]??'')['slice'](0x2);_0x3e6239=parseInt(_0x5ad26b+_0x31e787,0xa);}}const _0x2730b8={'faculty':_0x425b82,'course':_0x4a0b42,'section':_0x59e023,'semester':_0x13c240,'sy':_0x3e6239},_0x5d186a=_0x5526c6['findIndex'](_0x5bca76=>_0x5bca76['some'](_0x3c6ba2=>_0x3c6ba2?.['trim']()==='CO\x20#'));if(_0x5d186a===-1)throw new Error('CO\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x5dc26e=_0x5526c6[_0x5d186a+0x1];if(!_0x5dc26e)throw new Error('ILO\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0xad7429={};let _0x12e8ea=0x1,_0x2e8922=0x1;for(let _0x2b2f56=0x3;_0x2b2f56<_0x5dc26e['length'];_0x2b2f56++){const _0x2aa9fa=_0x5dc26e[_0x2b2f56];if(!_0x2aa9fa)continue;const _0x21b153='co'+_0x12e8ea;if(!_0xad7429[_0x21b153])_0xad7429[_0x21b153]=[];_0xad7429[_0x21b153]['push']('ilo'+_0x2e8922),_0x2e8922++,_0x2e8922>0x3&&(_0x12e8ea++,_0x2e8922=0x1);}const _0xfdf4a5=_0x5526c6['findIndex'](_0x4a7361=>_0x4a7361['includes']('Name\x20of\x20Students'));if(_0xfdf4a5===-1)throw new Error('Student\x20header\x20row\x20not\x20found\x20in\x20CSV');const _0x5a7822=_0x5526c6[_0xfdf4a5];if(!_0x5a7822)throw new Error('Student\x20header\x20row\x20is\x20missing');const _0x2fbb22=_0x5a7822['findIndex'](_0x434c5f=>_0x434c5f?.['includes']('Name\x20of\x20Students'));if(_0x2fbb22===-1)throw new Error('Name\x20of\x20Students\x20column\x20not\x20found\x20in\x20CSV');const _0x37e8a5=_0x2fbb22+0x2,_0x46df1d=[];for(let _0x521b23=_0xfdf4a5+0x1;_0x521b23<_0x5526c6['length'];_0x521b23++){const _0x58514e=_0x5526c6[_0x521b23];if(!_0x58514e)continue;if(_0x58514e['some'](_0x133495=>_0x133495?.['toUpperCase']()['includes']('TOTAL\x20STUDENTS')||_0x133495?.['toUpperCase']()['includes']('ACHIEVED\x20THE\x20MINIMUM')||_0x133495?.['toUpperCase']()['includes']('INACTIVE')||_0x133495?.['toUpperCase']()['includes']('AVERAGE')))continue;if(!_0x58514e[_0x2fbb22])continue;const _0x4d2052=_0x58514e[_0x2fbb22]['replace'](/"/g,'')['trim'](),_0x1292af=_0x58514e['slice'](_0x37e8a5)['map'](_0x16a83b=>_0x16a83b===null?null:!isNaN(Number(_0x16a83b))?parseFloat(_0x16a83b):0x0);let _0x444c9d=0x0;const _0x2171ae={};Object['entries'](_0xad7429)['forEach'](([_0x4e38a8,_0x208cc8])=>{const _0x34ef72={};_0x208cc8['forEach'](_0x465049=>{_0x34ef72[_0x465049]=_0x1292af[_0x444c9d]??0x0,_0x444c9d++;}),_0x2171ae[_0x4e38a8]={'transmuted_score':_0x34ef72};}),_0x46df1d['push']({'student_name':_0x4d2052,'coaep':_0x2171ae});}const _0x578f50=_0x5526c6['find'](_0x45ea64=>_0x45ea64['some'](_0x35178e=>_0x35178e?.['includes']('ACHIEVED\x20THE\x20MINIMUM'))),_0x120070=_0x5526c6['find'](_0x4804fc=>_0x4804fc['some'](_0x1b26c2=>_0x1b26c2?.['includes']('AVERAGE'))),_0x558df4=_0x578f50?_0x578f50['slice'](_0x37e8a5)['map'](_0x157148=>_0x157148&&!isNaN(Number(_0x157148))?parseInt(_0x157148):0x0):[],_0x4a4229=_0x120070?_0x120070['slice'](_0x37e8a5)['map'](_0x3e8873=>_0x3e8873&&_0x3e8873!=='#DIV/0!'&&!isNaN(Number(_0x3e8873))?parseInt(_0x3e8873):0x0):[],_0x540110={};let _0xcdabd=0x0;return Object['entries'](_0xad7429)['forEach'](([_0x4f2603,_0x244446])=>{if(!_0x540110[_0x4f2603])_0x540110[_0x4f2603]={};_0x244446['forEach'](_0x179f78=>{_0x540110[_0x4f2603][_0x179f78]={'achievedMinimum':_0x558df4[_0xcdabd]??0x0,'average':_0x4a4229[_0xcdabd]??0x0},_0xcdabd++;});}),{'assessmentData':{'classAssignment':_0x2730b8,'student':_0x46df1d,'total':_0x540110}};}
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(_0x22d436,_0x6a08f9){try{const _0x3e13e1=await convertToCSVFile(_0x6a08f9),_0x335d33=await _0x3e13e1['text'](),_0xa1a05f=parseAssessmentCsv(_0x335d33),_0x2b54dc=await fetch(_0x22d436+'/assessment-data/upload',{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify'](_0xa1a05f)});if(!_0x2b54dc['ok']){const _0x256e62=await _0x2b54dc['json']();throw _0x256e62;}return _0x2b54dc['json']();}catch(_0x3e5f6c){throw _0x3e5f6c;}}
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(_0x11bd61,_0x1f9e92){try{const _0x4b9752=await convertToCSVFile(_0x1f9e92),_0x35c280=new FormData();_0x35c280['append']('csvFile',_0x4b9752);const _0x107797=await fetch(_0x11bd61+'/dept-faculties/upload',{'method':'POST','body':_0x35c280});if(!_0x107797['ok']){const _0x546115=await _0x107797['json']();throw _0x546115;}return _0x107797['json']();}catch(_0x5b777f){throw _0x5b777f;}}
35
+
36
+ class Client{['BASE_URL'];constructor(_0x15d81e){this['BASE_URL']=_0x15d81e;}['Parser'](){return {'curriculum':async _0x46115a=>{const _0x28570b=await uploadCurriculum(this['BASE_URL'],_0x46115a);return _0x28570b;},'courseOffering':async _0x46b700=>{const _0x161a54=await uploadCourseOffering(this['BASE_URL'],_0x46b700);return _0x161a54;},'coaep':async(_0x24b7ab,_0x2433e8)=>{const _0x14db91=await uploadCOAEP(this['BASE_URL'],_0x24b7ab,_0x2433e8);return _0x14db91;},'enrolledStudent':async _0x443385=>{const _0x1937d8=await uploadEnrolledStudent(this['BASE_URL'],_0x443385);return _0x1937d8;},'classlist':async(_0x1efcb9,_0x3a21a7,_0x520894)=>{const _0x49ab6a=await uploadClassList(this['BASE_URL'],_0x1efcb9,_0x3a21a7,_0x520894);return _0x49ab6a;},'assessmentData':async _0x8295b3=>{const _0x41e14a=await uploadAssessmentData(this['BASE_URL'],_0x8295b3);return _0x41e14a;},'deptFaculty':async _0x2f2c27=>{const _0x38eae5=await uploadDeptFaculty(this['BASE_URL'],_0x2f2c27);return _0x38eae5;}};}}
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
+ };
@@ -0,0 +1,4 @@
1
+ export declare function performaceTarget(target: string): {
2
+ performance_target: number | null;
3
+ passing_score: number | null;
4
+ };
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.1",
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 {};
@@ -0,0 +1 @@
1
+ export {};