reddy-api-srm 1.0.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.
Files changed (131) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +299 -0
  3. package/dist/src/auth/validatePassword.d.ts +3 -0
  4. package/dist/src/auth/validatePassword.d.ts.map +1 -0
  5. package/dist/src/auth/validatePassword.js +56 -0
  6. package/dist/src/auth/validatePassword.js.map +1 -0
  7. package/dist/src/auth/validateUser.d.ts +3 -0
  8. package/dist/src/auth/validateUser.d.ts.map +1 -0
  9. package/dist/src/auth/validateUser.js +42 -0
  10. package/dist/src/auth/validateUser.js.map +1 -0
  11. package/dist/src/fetch/fetchAttendance.d.ts +2 -0
  12. package/dist/src/fetch/fetchAttendance.d.ts.map +1 -0
  13. package/dist/src/fetch/fetchAttendance.js +42 -0
  14. package/dist/src/fetch/fetchAttendance.js.map +1 -0
  15. package/dist/src/fetch/fetchCalender.d.ts +2 -0
  16. package/dist/src/fetch/fetchCalender.d.ts.map +1 -0
  17. package/dist/src/fetch/fetchCalender.js +46 -0
  18. package/dist/src/fetch/fetchCalender.js.map +1 -0
  19. package/dist/src/fetch/fetchCourseDetails.d.ts +2 -0
  20. package/dist/src/fetch/fetchCourseDetails.d.ts.map +1 -0
  21. package/dist/src/fetch/fetchCourseDetails.js +49 -0
  22. package/dist/src/fetch/fetchCourseDetails.js.map +1 -0
  23. package/dist/src/fetch/fetchDayOrder.d.ts +2 -0
  24. package/dist/src/fetch/fetchDayOrder.d.ts.map +1 -0
  25. package/dist/src/fetch/fetchDayOrder.js +42 -0
  26. package/dist/src/fetch/fetchDayOrder.js.map +1 -0
  27. package/dist/src/fetch/fetchLogout.d.ts +5 -0
  28. package/dist/src/fetch/fetchLogout.d.ts.map +1 -0
  29. package/dist/src/fetch/fetchLogout.js +15 -0
  30. package/dist/src/fetch/fetchLogout.js.map +1 -0
  31. package/dist/src/fetch/fetchMarks.d.ts +2 -0
  32. package/dist/src/fetch/fetchMarks.d.ts.map +1 -0
  33. package/dist/src/fetch/fetchMarks.js +42 -0
  34. package/dist/src/fetch/fetchMarks.js.map +1 -0
  35. package/dist/src/fetch/fetchTimetable.d.ts +2 -0
  36. package/dist/src/fetch/fetchTimetable.d.ts.map +1 -0
  37. package/dist/src/fetch/fetchTimetable.js +49 -0
  38. package/dist/src/fetch/fetchTimetable.js.map +1 -0
  39. package/dist/src/fetch/fetchUserInfo.d.ts +2 -0
  40. package/dist/src/fetch/fetchUserInfo.d.ts.map +1 -0
  41. package/dist/src/fetch/fetchUserInfo.js +43 -0
  42. package/dist/src/fetch/fetchUserInfo.js.map +1 -0
  43. package/dist/src/index.d.ts +13 -0
  44. package/dist/src/index.d.ts.map +1 -0
  45. package/dist/src/index.js +112 -0
  46. package/dist/src/index.js.map +1 -0
  47. package/dist/src/parser/parseAttendance.d.ts +3 -0
  48. package/dist/src/parser/parseAttendance.d.ts.map +1 -0
  49. package/dist/src/parser/parseAttendance.js +85 -0
  50. package/dist/src/parser/parseAttendance.js.map +1 -0
  51. package/dist/src/parser/parseCalender.d.ts +3 -0
  52. package/dist/src/parser/parseCalender.d.ts.map +1 -0
  53. package/dist/src/parser/parseCalender.js +98 -0
  54. package/dist/src/parser/parseCalender.js.map +1 -0
  55. package/dist/src/parser/parseCourse.d.ts +3 -0
  56. package/dist/src/parser/parseCourse.d.ts.map +1 -0
  57. package/dist/src/parser/parseCourse.js +88 -0
  58. package/dist/src/parser/parseCourse.js.map +1 -0
  59. package/dist/src/parser/parseDayOrder.d.ts +3 -0
  60. package/dist/src/parser/parseDayOrder.d.ts.map +1 -0
  61. package/dist/src/parser/parseDayOrder.js +71 -0
  62. package/dist/src/parser/parseDayOrder.js.map +1 -0
  63. package/dist/src/parser/parseMarks.d.ts +3 -0
  64. package/dist/src/parser/parseMarks.d.ts.map +1 -0
  65. package/dist/src/parser/parseMarks.js +100 -0
  66. package/dist/src/parser/parseMarks.js.map +1 -0
  67. package/dist/src/parser/parseTimetable.d.ts +3 -0
  68. package/dist/src/parser/parseTimetable.d.ts.map +1 -0
  69. package/dist/src/parser/parseTimetable.js +123 -0
  70. package/dist/src/parser/parseTimetable.js.map +1 -0
  71. package/dist/src/parser/parseUserInfo.d.ts +3 -0
  72. package/dist/src/parser/parseUserInfo.d.ts.map +1 -0
  73. package/dist/src/parser/parseUserInfo.js +75 -0
  74. package/dist/src/parser/parseUserInfo.js.map +1 -0
  75. package/dist/src/type/attendance.d.ts +21 -0
  76. package/dist/src/type/attendance.d.ts.map +1 -0
  77. package/dist/src/type/attendance.js +3 -0
  78. package/dist/src/type/attendance.js.map +1 -0
  79. package/dist/src/type/auth.d.ts +48 -0
  80. package/dist/src/type/auth.d.ts.map +1 -0
  81. package/dist/src/type/auth.js +3 -0
  82. package/dist/src/type/auth.js.map +1 -0
  83. package/dist/src/type/calendar.d.ts +16 -0
  84. package/dist/src/type/calendar.d.ts.map +1 -0
  85. package/dist/src/type/calendar.js +3 -0
  86. package/dist/src/type/calendar.js.map +1 -0
  87. package/dist/src/type/common.d.ts +31 -0
  88. package/dist/src/type/common.d.ts.map +1 -0
  89. package/dist/src/type/common.js +3 -0
  90. package/dist/src/type/common.js.map +1 -0
  91. package/dist/src/type/course.d.ts +17 -0
  92. package/dist/src/type/course.d.ts.map +1 -0
  93. package/dist/src/type/course.js +3 -0
  94. package/dist/src/type/course.js.map +1 -0
  95. package/dist/src/type/dayOrder.d.ts +6 -0
  96. package/dist/src/type/dayOrder.d.ts.map +1 -0
  97. package/dist/src/type/dayOrder.js +3 -0
  98. package/dist/src/type/dayOrder.js.map +1 -0
  99. package/dist/src/type/index.d.ts +11 -0
  100. package/dist/src/type/index.d.ts.map +1 -0
  101. package/dist/src/type/index.js +27 -0
  102. package/dist/src/type/index.js.map +1 -0
  103. package/dist/src/type/marks.d.ts +20 -0
  104. package/dist/src/type/marks.d.ts.map +1 -0
  105. package/dist/src/type/marks.js +3 -0
  106. package/dist/src/type/marks.js.map +1 -0
  107. package/dist/src/type/timetable.d.ts +27 -0
  108. package/dist/src/type/timetable.d.ts.map +1 -0
  109. package/dist/src/type/timetable.js +3 -0
  110. package/dist/src/type/timetable.js.map +1 -0
  111. package/dist/src/type/types.d.ts +2 -0
  112. package/dist/src/type/types.d.ts.map +1 -0
  113. package/dist/src/type/types.js +20 -0
  114. package/dist/src/type/types.js.map +1 -0
  115. package/dist/src/type/user.d.ts +16 -0
  116. package/dist/src/type/user.d.ts.map +1 -0
  117. package/dist/src/type/user.js +3 -0
  118. package/dist/src/type/user.js.map +1 -0
  119. package/dist/utils/attendanceStatus.d.ts +6 -0
  120. package/dist/utils/attendanceStatus.d.ts.map +1 -0
  121. package/dist/utils/attendanceStatus.js +26 -0
  122. package/dist/utils/attendanceStatus.js.map +1 -0
  123. package/dist/utils/data.d.ts +18 -0
  124. package/dist/utils/data.d.ts.map +1 -0
  125. package/dist/utils/data.js +77 -0
  126. package/dist/utils/data.js.map +1 -0
  127. package/dist/utils/dynamicUrl.d.ts +3 -0
  128. package/dist/utils/dynamicUrl.d.ts.map +1 -0
  129. package/dist/utils/dynamicUrl.js +45 -0
  130. package/dist/utils/dynamicUrl.js.map +1 -0
  131. package/package.json +54 -0
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.fetchDayOrder = fetchDayOrder;
7
+ const axios_1 = __importDefault(require("axios"));
8
+ async function fetchDayOrder(cookie) {
9
+ try {
10
+ const request = await (0, axios_1.default)("https://academia.srmist.edu.in/srm_university/academia-academic-services/page/WELCOME", {
11
+ headers: {
12
+ accept: "*/*",
13
+ "accept-language": "en-US,en;q=0.9",
14
+ "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
15
+ "sec-fetch-dest": "empty",
16
+ "sec-fetch-mode": "cors",
17
+ "sec-fetch-site": "same-origin",
18
+ "x-requested-with": "XMLHttpRequest",
19
+ cookie,
20
+ Referer: "https://academia.srmist.edu.in/",
21
+ "Referrer-Policy": "strict-origin-when-cross-origin",
22
+ },
23
+ method: "GET",
24
+ });
25
+ return request.data;
26
+ }
27
+ catch (error) {
28
+ if (error &&
29
+ typeof error === "object" &&
30
+ "status" in error &&
31
+ error.status === 500) {
32
+ return { error: "Unauthorized", status: 401 };
33
+ }
34
+ return {
35
+ error: error instanceof Error ? error.message : "Failed to fetch attendance",
36
+ status: error && typeof error === "object" && "status" in error
37
+ ? error.status
38
+ : 500,
39
+ };
40
+ }
41
+ }
42
+ //# sourceMappingURL=fetchDayOrder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchDayOrder.js","sourceRoot":"","sources":["../../../src/fetch/fetchDayOrder.ts"],"names":[],"mappings":";;;;;AAEA,sCAwCC;AA1CD,kDAA0B;AAEnB,KAAK,UAAU,aAAa,CAAC,MAAc;IAChD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAA,eAAK,EACzB,uFAAuF,EACvF;YACE,OAAO,EAAE;gBACP,MAAM,EAAE,KAAK;gBACb,iBAAiB,EAAE,gBAAgB;gBACnC,cAAc,EAAE,kDAAkD;gBAClE,gBAAgB,EAAE,OAAO;gBACzB,gBAAgB,EAAE,MAAM;gBACxB,gBAAgB,EAAE,aAAa;gBAC/B,kBAAkB,EAAE,gBAAgB;gBACpC,MAAM;gBACN,OAAO,EAAE,iCAAiC;gBAC1C,iBAAiB,EAAE,iCAAiC;aACrD;YACD,MAAM,EAAE,KAAK;SACd,CACF,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK;YACL,OAAO,KAAK,KAAK,QAAQ;YACzB,QAAQ,IAAI,KAAK;YACjB,KAAK,CAAC,MAAM,KAAK,GAAG,EACpB,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAChD,CAAC;QAED,OAAO;YACL,KAAK,EACH,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B;YACvE,MAAM,EACJ,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,IAAI,KAAK;gBACrD,CAAC,CAAC,KAAK,CAAC,MAAM;gBACd,CAAC,CAAC,GAAG;SACV,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare function fetchLogout(cookie: string): Promise<{
2
+ message: string;
3
+ status: number;
4
+ }>;
5
+ //# sourceMappingURL=fetchLogout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchLogout.d.ts","sourceRoot":"","sources":["../../../src/fetch/fetchLogout.ts"],"names":[],"mappings":"AAAA,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM;;;GAa/C"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchLogout = fetchLogout;
4
+ async function fetchLogout(cookie) {
5
+ await fetch("https://academia.srmist.edu.in/accounts/p/10002227248/logout?servicename=ZohoCreator&serviceurl=https://academia.srmist.edu.in", {
6
+ method: "GET",
7
+ headers: {
8
+ Accept: "*/*",
9
+ "Content-Type": "application/x-www-form-urlencoded",
10
+ cookie,
11
+ },
12
+ });
13
+ return { message: "Logout successful", status: 200 };
14
+ }
15
+ //# sourceMappingURL=fetchLogout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchLogout.js","sourceRoot":"","sources":["../../../src/fetch/fetchLogout.ts"],"names":[],"mappings":";;AAAA,kCAaC;AAbM,KAAK,UAAU,WAAW,CAAC,MAAc;IAC9C,MAAM,KAAK,CACT,gIAAgI,EAChI;QACE,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,MAAM,EAAE,KAAK;YACb,cAAc,EAAE,mCAAmC;YACnD,MAAM;SACP;KACF,CACF,CAAC;IACF,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACvD,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function fetchMarks(cookie: string): Promise<any>;
2
+ //# sourceMappingURL=fetchMarks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchMarks.d.ts","sourceRoot":"","sources":["../../../src/fetch/fetchMarks.ts"],"names":[],"mappings":"AAEA,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,gBAwC9C"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.fetchMarks = fetchMarks;
7
+ const axios_1 = __importDefault(require("axios"));
8
+ async function fetchMarks(cookie) {
9
+ try {
10
+ const request = await (0, axios_1.default)("https://academia.srmist.edu.in/srm_university/academia-academic-services/page/My_Attendance", {
11
+ headers: {
12
+ accept: "*/*",
13
+ "accept-language": "en-US,en;q=0.9",
14
+ "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
15
+ "sec-fetch-dest": "empty",
16
+ "sec-fetch-mode": "cors",
17
+ "sec-fetch-site": "same-origin",
18
+ "x-requested-with": "XMLHttpRequest",
19
+ cookie,
20
+ Referer: "https://academia.srmist.edu.in/",
21
+ "Referrer-Policy": "strict-origin-when-cross-origin",
22
+ },
23
+ method: "GET",
24
+ });
25
+ return request.data;
26
+ }
27
+ catch (error) {
28
+ if (error &&
29
+ typeof error === "object" &&
30
+ "status" in error &&
31
+ error.status === 500) {
32
+ return { error: "Unauthorized", status: 401 };
33
+ }
34
+ return {
35
+ error: error instanceof Error ? error.message : "Failed to fetch attendance",
36
+ status: error && typeof error === "object" && "status" in error
37
+ ? error.status
38
+ : 500,
39
+ };
40
+ }
41
+ }
42
+ //# sourceMappingURL=fetchMarks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchMarks.js","sourceRoot":"","sources":["../../../src/fetch/fetchMarks.ts"],"names":[],"mappings":";;;;;AAEA,gCAwCC;AA1CD,kDAA0B;AAEnB,KAAK,UAAU,UAAU,CAAC,MAAc;IAC7C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAA,eAAK,EACzB,6FAA6F,EAC7F;YACE,OAAO,EAAE;gBACP,MAAM,EAAE,KAAK;gBACb,iBAAiB,EAAE,gBAAgB;gBACnC,cAAc,EAAE,kDAAkD;gBAClE,gBAAgB,EAAE,OAAO;gBACzB,gBAAgB,EAAE,MAAM;gBACxB,gBAAgB,EAAE,aAAa;gBAC/B,kBAAkB,EAAE,gBAAgB;gBACpC,MAAM;gBACN,OAAO,EAAE,iCAAiC;gBAC1C,iBAAiB,EAAE,iCAAiC;aACrD;YACD,MAAM,EAAE,KAAK;SACd,CACF,CAAC;QACF,OAAO,OAAO,CAAC,IAAI,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK;YACL,OAAO,KAAK,KAAK,QAAQ;YACzB,QAAQ,IAAI,KAAK;YACjB,KAAK,CAAC,MAAM,KAAK,GAAG,EACpB,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAChD,CAAC;QAED,OAAO;YACL,KAAK,EACH,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B;YACvE,MAAM,EACJ,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,IAAI,KAAK;gBACrD,CAAC,CAAC,KAAK,CAAC,MAAM;gBACd,CAAC,CAAC,GAAG;SACV,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function fetchTimetable(cookie: string): Promise<any>;
2
+ //# sourceMappingURL=fetchTimetable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchTimetable.d.ts","sourceRoot":"","sources":["../../../src/fetch/fetchTimetable.ts"],"names":[],"mappings":"AAEA,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,gBA4ClD"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.fetchTimetable = fetchTimetable;
7
+ const dynamicUrl_1 = require("../../utils/dynamicUrl");
8
+ const axios_1 = __importDefault(require("axios"));
9
+ async function fetchTimetable(cookie) {
10
+ const url = await (0, dynamicUrl_1.courseDynamicUrl)();
11
+ try {
12
+ const request = await (0, axios_1.default)(url, {
13
+ headers: {
14
+ accept: "*/*",
15
+ "accept-language": "en-US,en;q=0.9",
16
+ "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
17
+ "sec-ch-ua": '"Chromium";v="136", "Google Chrome";v="136", "Not.A/Brand";v="99"',
18
+ "sec-ch-ua-mobile": "?1",
19
+ "sec-ch-ua-platform": '"Android"',
20
+ "sec-fetch-dest": "empty",
21
+ "sec-fetch-mode": "cors",
22
+ "sec-fetch-site": "same-origin",
23
+ "x-requested-with": "XMLHttpRequest",
24
+ cookie,
25
+ Referer: "https://academia.srmist.edu.in/",
26
+ "Referrer-Policy": "strict-origin-when-cross-origin",
27
+ },
28
+ method: "GET",
29
+ });
30
+ return request.data;
31
+ }
32
+ catch (error) {
33
+ if (error &&
34
+ typeof error === "object" &&
35
+ "status" in error &&
36
+ error.status === 500) {
37
+ return { error: "Unauthorized", status: 401 };
38
+ }
39
+ return {
40
+ error: error instanceof Error
41
+ ? error.message
42
+ : "Failed to fetch course details",
43
+ status: error && typeof error === "object" && "status" in error
44
+ ? error.status
45
+ : 500,
46
+ };
47
+ }
48
+ }
49
+ //# sourceMappingURL=fetchTimetable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchTimetable.js","sourceRoot":"","sources":["../../../src/fetch/fetchTimetable.ts"],"names":[],"mappings":";;;;;AAEA,wCA4CC;AA9CD,uDAA0D;AAC1D,kDAA0B;AACnB,KAAK,UAAU,cAAc,CAAC,MAAc;IACjD,MAAM,GAAG,GAAG,MAAM,IAAA,6BAAgB,GAAE,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAA,eAAK,EAAC,GAAG,EAAE;YAC/B,OAAO,EAAE;gBACP,MAAM,EAAE,KAAK;gBACb,iBAAiB,EAAE,gBAAgB;gBACnC,cAAc,EAAE,kDAAkD;gBAClE,WAAW,EACT,mEAAmE;gBACrE,kBAAkB,EAAE,IAAI;gBACxB,oBAAoB,EAAE,WAAW;gBACjC,gBAAgB,EAAE,OAAO;gBACzB,gBAAgB,EAAE,MAAM;gBACxB,gBAAgB,EAAE,aAAa;gBAC/B,kBAAkB,EAAE,gBAAgB;gBACpC,MAAM;gBACN,OAAO,EAAE,iCAAiC;gBAC1C,iBAAiB,EAAE,iCAAiC;aACrD;YACD,MAAM,EAAE,KAAK;SACd,CAAC,CAAC;QACH,OAAO,OAAO,CAAC,IAAI,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK;YACL,OAAO,KAAK,KAAK,QAAQ;YACzB,QAAQ,IAAI,KAAK;YACjB,KAAK,CAAC,MAAM,KAAK,GAAG,EACpB,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAChD,CAAC;QAED,OAAO;YACL,KAAK,EACH,KAAK,YAAY,KAAK;gBACpB,CAAC,CAAC,KAAK,CAAC,OAAO;gBACf,CAAC,CAAC,gCAAgC;YACtC,MAAM,EACJ,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,IAAI,KAAK;gBACrD,CAAC,CAAC,KAAK,CAAC,MAAM;gBACd,CAAC,CAAC,GAAG;SACV,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function fetchUserInfo(cookie: string): Promise<any>;
2
+ //# sourceMappingURL=fetchUserInfo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchUserInfo.d.ts","sourceRoot":"","sources":["../../../src/fetch/fetchUserInfo.ts"],"names":[],"mappings":"AAEA,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,gBAyCjD"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.fetchUserInfo = fetchUserInfo;
7
+ const axios_1 = __importDefault(require("axios"));
8
+ async function fetchUserInfo(cookie) {
9
+ try {
10
+ const request = await (0, axios_1.default)("https://academia.srmist.edu.in/srm_university/academia-academic-services/page/My_Time_Table_2023_24", {
11
+ headers: {
12
+ accept: "*/*",
13
+ "accept-language": "en-US,en;q=0.9",
14
+ "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
15
+ "sec-fetch-dest": "empty",
16
+ "sec-fetch-mode": "cors",
17
+ "sec-fetch-site": "same-origin",
18
+ "x-requested-with": "XMLHttpRequest",
19
+ cookie,
20
+ Referer: "https://academia.srmist.edu.in/",
21
+ "Referrer-Policy": "strict-origin-when-cross-origin",
22
+ },
23
+ method: "GET",
24
+ });
25
+ return request.data;
26
+ }
27
+ catch (error) {
28
+ if (error &&
29
+ typeof error === "object" &&
30
+ "status" in error &&
31
+ error.status === 500) {
32
+ return { error: "Unauthorized", status: 401 };
33
+ }
34
+ // Handle other errors
35
+ return {
36
+ error: error instanceof Error ? error.message : "Failed to fetch user info",
37
+ status: error && typeof error === "object" && "status" in error
38
+ ? error.status
39
+ : 500,
40
+ };
41
+ }
42
+ }
43
+ //# sourceMappingURL=fetchUserInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchUserInfo.js","sourceRoot":"","sources":["../../../src/fetch/fetchUserInfo.ts"],"names":[],"mappings":";;;;;AAEA,sCAyCC;AA3CD,kDAA0B;AAEnB,KAAK,UAAU,aAAa,CAAC,MAAc;IAChD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,IAAA,eAAK,EACzB,qGAAqG,EACrG;YACE,OAAO,EAAE;gBACP,MAAM,EAAE,KAAK;gBACb,iBAAiB,EAAE,gBAAgB;gBACnC,cAAc,EAAE,kDAAkD;gBAClE,gBAAgB,EAAE,OAAO;gBACzB,gBAAgB,EAAE,MAAM;gBACxB,gBAAgB,EAAE,aAAa;gBAC/B,kBAAkB,EAAE,gBAAgB;gBACpC,MAAM;gBACN,OAAO,EAAE,iCAAiC;gBAC1C,iBAAiB,EAAE,iCAAiC;aACrD;YACD,MAAM,EAAE,KAAK;SACd,CACF,CAAC;QAEF,OAAO,OAAO,CAAC,IAAI,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK;YACL,OAAO,KAAK,KAAK,QAAQ;YACzB,QAAQ,IAAI,KAAK;YACjB,KAAK,CAAC,MAAM,KAAK,GAAG,EACpB,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAChD,CAAC;QACD,sBAAsB;QACtB,OAAO;YACL,KAAK,EACH,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,2BAA2B;YACtE,MAAM,EACJ,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,QAAQ,IAAI,KAAK;gBACrD,CAAC,CAAC,KAAK,CAAC,MAAM;gBACd,CAAC,CAAC,GAAG;SACV,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { PasswordInput, UserResponse, AuthResult, UserValidationResult, LogoutResponse, TimetableResponse, AttendanceResponse, MarksResponse, CalendarResponse, CourseResponse, UserInfoResponse, DayOrderResponse, MarkDetail, Mark, Month, Day, CourseDetail, AttendanceDetail, UserInfo, DaySchedule, CourseSlot, SlotInfo } from "./type";
2
+ export type { PasswordInput, UserResponse, AuthResult, UserValidationResult, LogoutResponse, TimetableResponse, AttendanceResponse, MarksResponse, CalendarResponse, CourseResponse, UserInfoResponse, DayOrderResponse, MarkDetail, Mark, Month, Day, CourseDetail, AttendanceDetail, UserInfo, DaySchedule, CourseSlot, SlotInfo, };
3
+ export declare function verifyUser(username: string): Promise<UserValidationResult>;
4
+ export declare function verifyPassword({ identifier, digest, password, }: PasswordInput): Promise<AuthResult>;
5
+ export declare function logoutUser(cookie: string): Promise<LogoutResponse>;
6
+ export declare function getTimetable(cookie: string): Promise<TimetableResponse>;
7
+ export declare function getAttendance(cookie: string): Promise<AttendanceResponse>;
8
+ export declare function getMarks(cookie: string): Promise<MarksResponse>;
9
+ export declare function getUserInfo(cookie: string): Promise<UserInfoResponse>;
10
+ export declare function getCalendar(cookie: string): Promise<CalendarResponse>;
11
+ export declare function getDayOrder(cookie: string): Promise<DayOrderResponse>;
12
+ export declare function getCourse(cookie: string): Promise<CourseResponse>;
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAEL,aAAa,EACb,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,cAAc,EAEd,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAEhB,UAAU,EACV,IAAI,EACJ,KAAK,EACL,GAAG,EACH,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,UAAU,EACV,QAAQ,EACT,MAAM,QAAQ,CAAC;AAKhB,YAAY,EAEV,aAAa,EACb,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,cAAc,EAEd,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAEhB,UAAU,EACV,IAAI,EACJ,KAAK,EACL,GAAG,EACH,YAAY,EACZ,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,UAAU,EACV,QAAQ,GACT,CAAC;AAGF,wBAAsB,UAAU,CAC9B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,oBAAoB,CAAC,CAE/B;AAGD,wBAAsB,cAAc,CAAC,EACnC,UAAU,EACV,MAAM,EACN,QAAQ,GACT,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CAErC;AAGD,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAExE;AAGD,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAM7E;AAGD,wBAAsB,aAAa,CACjC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,kBAAkB,CAAC,CAM7B;AAGD,wBAAsB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAMrE;AAGD,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAM3E;AAGD,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAM3E;AAGD,wBAAsB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAM3E;AAGD,wBAAsB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAMvE"}
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.verifyUser = verifyUser;
4
+ exports.verifyPassword = verifyPassword;
5
+ exports.logoutUser = logoutUser;
6
+ exports.getTimetable = getTimetable;
7
+ exports.getAttendance = getAttendance;
8
+ exports.getMarks = getMarks;
9
+ exports.getUserInfo = getUserInfo;
10
+ exports.getCalendar = getCalendar;
11
+ exports.getDayOrder = getDayOrder;
12
+ exports.getCourse = getCourse;
13
+ const validatePassword_1 = require("./auth/validatePassword");
14
+ const validateUser_1 = require("./auth/validateUser");
15
+ const fetchAttendance_1 = require("./fetch/fetchAttendance");
16
+ const fetchCourseDetails_1 = require("./fetch/fetchCourseDetails");
17
+ const fetchMarks_1 = require("./fetch/fetchMarks");
18
+ const fetchUserInfo_1 = require("./fetch/fetchUserInfo");
19
+ const fetchLogout_1 = require("./fetch/fetchLogout");
20
+ const fetchDayOrder_1 = require("./fetch/fetchDayOrder");
21
+ const parseAttendance_1 = require("./parser/parseAttendance");
22
+ const parseCalender_1 = require("./parser/parseCalender");
23
+ const parseCourse_1 = require("./parser/parseCourse");
24
+ const parseMarks_1 = require("./parser/parseMarks");
25
+ const parseTimetable_1 = require("./parser/parseTimetable");
26
+ const parseUserInfo_1 = require("./parser/parseUserInfo");
27
+ const parseDayOrder_1 = require("./parser/parseDayOrder");
28
+ const fetchTimetable_1 = require("./fetch/fetchTimetable");
29
+ const fetchCalender_1 = require("./fetch/fetchCalender");
30
+ // Verify-user
31
+ async function verifyUser(username) {
32
+ return await (0, validateUser_1.validateUser)(username);
33
+ }
34
+ // Verify-password
35
+ async function verifyPassword({ identifier, digest, password, }) {
36
+ return await (0, validatePassword_1.validatePassword)({ identifier, digest, password });
37
+ }
38
+ // Logout
39
+ async function logoutUser(cookie) {
40
+ return await (0, fetchLogout_1.fetchLogout)(cookie);
41
+ }
42
+ // Get TimeTable
43
+ async function getTimetable(cookie) {
44
+ const fetch = await (0, fetchTimetable_1.fetchTimetable)(cookie);
45
+ if (fetch.error)
46
+ return { error: fetch.error, status: fetch.status };
47
+ const parse = await (0, parseTimetable_1.parseTimetable)(fetch);
48
+ if (parse.error)
49
+ return { error: parse.error, status: parse.status };
50
+ return parse;
51
+ }
52
+ // Get Attendance
53
+ async function getAttendance(cookie) {
54
+ const fetch = await (0, fetchAttendance_1.fetchAttendance)(cookie);
55
+ if (fetch.error)
56
+ return { error: fetch.error, status: fetch.status };
57
+ const parse = await (0, parseAttendance_1.parseAttendance)(fetch);
58
+ if (parse.error)
59
+ return { error: parse.error, status: parse.status };
60
+ return parse;
61
+ }
62
+ // Get Marks
63
+ async function getMarks(cookie) {
64
+ const fetch = await (0, fetchMarks_1.fetchMarks)(cookie);
65
+ if (fetch.error)
66
+ return { error: fetch.error, status: fetch.status };
67
+ const parse = await (0, parseMarks_1.parseMarks)(fetch);
68
+ if (parse.error)
69
+ return { error: parse.error, status: parse.status };
70
+ return parse;
71
+ }
72
+ // Get UserInfo
73
+ async function getUserInfo(cookie) {
74
+ const fetch = await (0, fetchUserInfo_1.fetchUserInfo)(cookie);
75
+ if (fetch.error)
76
+ return { error: fetch.error, status: fetch.status };
77
+ const parse = await (0, parseUserInfo_1.parseUserInfo)(fetch);
78
+ if (parse.error)
79
+ return { error: parse.error, status: parse.status };
80
+ return parse;
81
+ }
82
+ // Get Calendar
83
+ async function getCalendar(cookie) {
84
+ const fetch = await (0, fetchCalender_1.fetchCalendar)(cookie);
85
+ if (fetch.error)
86
+ return { error: fetch.error, status: fetch.status };
87
+ const parse = await (0, parseCalender_1.parseCalendar)(fetch);
88
+ if (parse.error)
89
+ return { error: parse.error, status: parse.status };
90
+ return parse;
91
+ }
92
+ // Get Day Order
93
+ async function getDayOrder(cookie) {
94
+ const fetch = await (0, fetchDayOrder_1.fetchDayOrder)(cookie);
95
+ if (fetch.error)
96
+ return { error: fetch.error, status: fetch.status };
97
+ const parse = await (0, parseDayOrder_1.parseDayOrder)(fetch);
98
+ if (parse.error)
99
+ return { error: parse.error, status: parse.status };
100
+ return parse;
101
+ }
102
+ // Get Course
103
+ async function getCourse(cookie) {
104
+ const fetch = await (0, fetchCourseDetails_1.fetchCourseDetails)(cookie);
105
+ if (fetch.error)
106
+ return { error: fetch.error, status: fetch.status };
107
+ const parse = await (0, parseCourse_1.parseCourseDetails)(fetch);
108
+ if (parse.error)
109
+ return { error: parse.error, status: parse.status };
110
+ return parse;
111
+ }
112
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { AttendanceResponse } from "../type/attendance";
2
+ export declare function parseAttendance(response: string): Promise<AttendanceResponse>;
3
+ //# sourceMappingURL=parseAttendance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseAttendance.d.ts","sourceRoot":"","sources":["../../../src/parser/parseAttendance.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAoB,MAAM,oBAAoB,CAAC;AAE1E,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,kBAAkB,CAAC,CAsD7B"}
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.parseAttendance = parseAttendance;
37
+ const cheerio = __importStar(require("cheerio"));
38
+ const attendanceStatus_1 = require("../../utils/attendanceStatus");
39
+ async function parseAttendance(response) {
40
+ try {
41
+ const match = response.match(/pageSanitizer\.sanitize\('(.*)'\);/s);
42
+ if (!match || !match[1]) {
43
+ return { error: "Failed to extract attendance data", status: 404 };
44
+ }
45
+ const encodedHtml = match[1];
46
+ const decodedHtml = encodedHtml
47
+ .replace(/\\x([0-9A-Fa-f]{2})/g, (_, hex) => String.fromCharCode(parseInt(hex, 16)))
48
+ .replace(/\\\\/g, "")
49
+ .replace(/\\'/g, "'");
50
+ const $ = cheerio.load(decodedHtml);
51
+ const table = $('table[style*="font-size :16px;"][bgcolor="#FAFAD2"]');
52
+ const rows = table.find("tr").slice(1).toArray();
53
+ const attendanceDetails = await Promise.all(rows.map(async (row) => {
54
+ const cols = $(row).find("td");
55
+ const get = (idx) => cols[idx] ? $(cols[idx]).text().trim() : "";
56
+ const data = {
57
+ courseCode: cols[0]
58
+ ? $(cols[0]).contents().first().text().trim()
59
+ : "",
60
+ courseTitle: get(1),
61
+ courseCategory: get(2),
62
+ courseFaculty: get(3).split("(")[0].trim(),
63
+ courseSlot: get(4),
64
+ courseConducted: get(6) ? Number(get(6)) : 0,
65
+ courseAbsent: get(7) ? Number(get(7)) : 0,
66
+ courseAttendanceStatus: await (0, attendanceStatus_1.attendanceStatus)({
67
+ conducted: Number(get(6)),
68
+ absent: Number(get(7)),
69
+ }),
70
+ };
71
+ const courseAttendance = Number(((data.courseConducted - data.courseAbsent) / data.courseConducted) *
72
+ 100).toFixed(2);
73
+ return {
74
+ ...data,
75
+ courseAttendance,
76
+ };
77
+ }));
78
+ return { attendance: attendanceDetails, status: 200 };
79
+ }
80
+ catch (error) {
81
+ console.error("Error parsing attendance:", error);
82
+ return { error: "Failed to parse attendance", status: 500 };
83
+ }
84
+ }
85
+ //# sourceMappingURL=parseAttendance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseAttendance.js","sourceRoot":"","sources":["../../../src/parser/parseAttendance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { CalendarResponse } from "../type/calendar";
2
+ export declare function parseCalendar(response: string): Promise<CalendarResponse>;
3
+ //# sourceMappingURL=parseCalender.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseCalender.d.ts","sourceRoot":"","sources":["../../../src/parser/parseCalender.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAS,MAAM,kBAAkB,CAAC;AAE3D,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,gBAAgB,CAAC,CA6D3B"}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.parseCalendar = parseCalendar;
37
+ const cheerio = __importStar(require("cheerio"));
38
+ async function parseCalendar(response) {
39
+ try {
40
+ const $outer = cheerio.load(response);
41
+ const zmlValue = $outer("div.zc-pb-embed-placeholder-content").attr("zmlvalue");
42
+ if (!zmlValue) {
43
+ return { error: "Failed to extract calendar details", status: 404 };
44
+ }
45
+ const $inner = cheerio.load(zmlValue);
46
+ const $mainTable = $inner("table[bgcolor='#FAFCFE']");
47
+ if ($mainTable.length === 0) {
48
+ return { error: "Could not find the main calendar table.", status: 500 };
49
+ }
50
+ const $headerRow = $mainTable.find("tr").first();
51
+ const $ths = $headerRow.find("th");
52
+ const monthsData = [];
53
+ for (let i = 0;; i++) {
54
+ const monthNameThIndex = i * 5 + 2;
55
+ if (monthNameThIndex >= $ths.length)
56
+ break;
57
+ const monthName = $ths.eq(monthNameThIndex).find("strong").text().trim();
58
+ if (monthName) {
59
+ monthsData.push({ month: monthName, days: [] });
60
+ }
61
+ else {
62
+ break;
63
+ }
64
+ }
65
+ const $dataRows = $mainTable.find("tr").slice(1).toArray();
66
+ $dataRows.forEach((rowElement) => {
67
+ const $tds = $inner(rowElement).find("td");
68
+ monthsData.forEach((month, monthIndex) => {
69
+ const offset = monthIndex * 5;
70
+ if (offset + 3 >= $tds.length)
71
+ return;
72
+ const date = $tds.eq(offset).text().trim();
73
+ if (!date)
74
+ return;
75
+ const day = $tds
76
+ .eq(offset + 1)
77
+ .text()
78
+ .trim();
79
+ const event = $tds
80
+ .eq(offset + 2)
81
+ .find("strong")
82
+ .text()
83
+ .trim();
84
+ const dayOrder = $tds
85
+ .eq(offset + 3)
86
+ .text()
87
+ .trim();
88
+ month.days.push({ date, day, event, dayOrder });
89
+ });
90
+ });
91
+ return { calendar: monthsData, status: 200 };
92
+ }
93
+ catch (error) {
94
+ console.error("Error parsing calendar:", error);
95
+ return { error: "Failed to parse calendar", status: 500 };
96
+ }
97
+ }
98
+ //# sourceMappingURL=parseCalender.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseCalender.js","sourceRoot":"","sources":["../../../src/parser/parseCalender.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { CourseResponse } from "../type/course";
2
+ export declare function parseCourseDetails(response: string): Promise<CourseResponse>;
3
+ //# sourceMappingURL=parseCourse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseCourse.d.ts","sourceRoot":"","sources":["../../../src/parser/parseCourse.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAgB,MAAM,gBAAgB,CAAC;AAE9D,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,cAAc,CAAC,CA2DzB"}