@obe-loms/coms-parser 1.2.6 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle.js +20 -18
- package/helper/header-getter/getCoaepHeader.d.ts +7 -0
- package/package.json +1 -1
- package/parser/coaep.d.ts +3 -0
- package/test/coaep/coaep-convert.test.d.ts +1 -0
- package/test/coaep/coaep.test.d.ts +1 -0
- package/test/coaep/debug-coaep.d.ts +1 -0
- package/test/coaep/interactive-test.d.ts +1 -0
package/bundle.js
CHANGED
|
@@ -1,36 +1,38 @@
|
|
|
1
|
-
import
|
|
2
|
-
import * as
|
|
1
|
+
import _0x59ce7f from 'papaparse';
|
|
2
|
+
import * as _0xfbd7d8 from 'xlsx';
|
|
3
3
|
|
|
4
|
-
function parseCurriculum(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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 };
|
package/package.json
CHANGED
package/parser/coaep.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|