parse-comcigan 0.0.2 → 0.0.4
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/README.md +25 -4
- package/dist/index.d.ts +3 -3
- package/dist/index.js +13 -4
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
- package/src/index.ts +4 -1
package/README.md
CHANGED
|
@@ -5,10 +5,12 @@
|
|
|
5
5
|
아직 학생 시간표밖에 지원하지 않습니다.
|
|
6
6
|
|
|
7
7
|
## 경고
|
|
8
|
+
|
|
8
9
|
본 라이브러리는 **비공식적**으로 컴시간알리미의 데이터를 파싱합니다.
|
|
9
10
|
상업적으로 사용하다 문제가 발생할경우, **제작자는 책임을 지지 않습니다.**
|
|
10
11
|
|
|
11
12
|
## 설치
|
|
13
|
+
|
|
12
14
|
```npm install parse-comcigan```
|
|
13
15
|
|
|
14
16
|
## 개발
|
|
@@ -33,7 +35,9 @@ const comci = new Comcigan({
|
|
|
33
35
|
"debug": (msg) => console.log(msg) // 모듈에서 디버그 메시지를 보내면 콘솔에 출력합니다.
|
|
34
36
|
});
|
|
35
37
|
```
|
|
38
|
+
|
|
36
39
|
---
|
|
40
|
+
|
|
37
41
|
### SearchSchool
|
|
38
42
|
|
|
39
43
|
학교를 검색합니다.
|
|
@@ -51,6 +55,7 @@ comci.SearchSchool("서울").then(data => {
|
|
|
51
55
|
```
|
|
52
56
|
|
|
53
57
|
다음을 Promise 형태로 리턴합니다.
|
|
58
|
+
|
|
54
59
|
|키|타입|설명|
|
|
55
60
|
|-----|----|-----|
|
|
56
61
|
|region|string|학교의 지역|
|
|
@@ -58,6 +63,7 @@ comci.SearchSchool("서울").then(data => {
|
|
|
58
63
|
|code|number|학교 코드|
|
|
59
64
|
|
|
60
65
|
---
|
|
66
|
+
|
|
61
67
|
### GetTimetable
|
|
62
68
|
|
|
63
69
|
시간표를 가져옵니다.
|
|
@@ -70,22 +76,24 @@ comci.SearchSchool("서울").then(data => {
|
|
|
70
76
|
|classN|number|Yes|반|
|
|
71
77
|
|
|
72
78
|
```typescript
|
|
73
|
-
comci.GetTimetable(96211, "
|
|
79
|
+
comci.GetTimetable(96211, "period", 3, 5).then(data => {
|
|
74
80
|
console.log(data[0][5]); // [요일][교시] 월요일 5교시
|
|
75
81
|
});
|
|
76
|
-
comci.GetTimetable(96211, "
|
|
82
|
+
comci.GetTimetable(96211, "weekday", 3, 5).then(data => {
|
|
77
83
|
console.log(data[5][0]); // [교시][요일] 월요일 5교시
|
|
78
84
|
});
|
|
79
85
|
```
|
|
80
86
|
|
|
81
87
|
다음을 Promise 형태로 리턴합니다.
|
|
88
|
+
|
|
82
89
|
|키|타입|설명|
|
|
83
90
|
|-----|----|-----|
|
|
84
91
|
|latestVersion|string|컴시간 앱 최신버전|
|
|
85
92
|
|changed|string|수정된 날짜 시간|
|
|
86
|
-
|timetable|[ComciganTimetableObject](#
|
|
93
|
+
|timetable|[ComciganTimetableObject](#comcigantimetableobject)[][]|시간표|
|
|
87
94
|
|
|
88
95
|
---
|
|
96
|
+
|
|
89
97
|
### GetClassList
|
|
90
98
|
|
|
91
99
|
학급 리스트를 가져옵니다.
|
|
@@ -113,7 +121,20 @@ comci.GetClassList(96211).then(data => {
|
|
|
113
121
|
|original|여기서 original만 빠진 오브젝트|원래 시간표|No|
|
|
114
122
|
|
|
115
123
|
## 업데이트 로그
|
|
124
|
+
|
|
125
|
+
### 0.0.4
|
|
126
|
+
|
|
127
|
+
- 모듈이 불러와지지 않던 버그 수정
|
|
128
|
+
|
|
129
|
+
### 0.0.3
|
|
130
|
+
|
|
131
|
+
- undefined 참조 버그 수정
|
|
132
|
+
- 문서 잘못되어있던 버그 수정
|
|
133
|
+
|
|
116
134
|
### 0.0.2
|
|
135
|
+
|
|
117
136
|
- package.json 수정
|
|
137
|
+
|
|
118
138
|
### 0.0.1
|
|
119
|
-
|
|
139
|
+
|
|
140
|
+
- 첫번째 릴리즈
|
package/dist/index.d.ts
CHANGED
|
@@ -45,7 +45,7 @@ export type ComciganTimetableObject = {
|
|
|
45
45
|
/**
|
|
46
46
|
* 만약 변경되었을때 이 값이 주어집니다.
|
|
47
47
|
*/
|
|
48
|
-
|
|
48
|
+
original?: {
|
|
49
49
|
/**
|
|
50
50
|
* 과목입니다.
|
|
51
51
|
*/
|
|
@@ -64,7 +64,7 @@ export type ComciganTimetable = {
|
|
|
64
64
|
/**
|
|
65
65
|
* 수정일입니다.
|
|
66
66
|
*/
|
|
67
|
-
|
|
67
|
+
changed: string;
|
|
68
68
|
/**
|
|
69
69
|
* 시간표입니다.
|
|
70
70
|
*/
|
|
@@ -95,7 +95,7 @@ export default class Comcigan {
|
|
|
95
95
|
* @param schoolCode
|
|
96
96
|
* @param criteria
|
|
97
97
|
*/
|
|
98
|
-
GetTimetable(schoolCode: number, criteria: "weekday" | "period", grade: number, classN: number): Promise<ComciganTimetable>;
|
|
98
|
+
GetTimetable(schoolCode: number, criteria: "weekday" | "period", grade: number, classN: number): Promise<ComciganTimetable | undefined>;
|
|
99
99
|
/**
|
|
100
100
|
* 학급 목록을 가져옵니다.
|
|
101
101
|
*
|
package/dist/index.js
CHANGED
|
@@ -56,8 +56,13 @@ export default class Comcigan {
|
|
|
56
56
|
}
|
|
57
57
|
this._options.debug ? this._options.debug(`[request] Requesting to http://comci.kr:4081/${route}`) : 0;
|
|
58
58
|
const r = yield axios.get(`http://comci.kr:4081/${route}`, Object.assign({}, (this._options.doNotThrow && { "validateStatus": () => true })));
|
|
59
|
-
if (doNotParse)
|
|
59
|
+
if (doNotParse) {
|
|
60
|
+
if (this._options.cacheMs && this._options.cacheMs !== 0) {
|
|
61
|
+
this._options.debug ? this._options.debug(`[request] Registered cache with id ${route}`) : 0;
|
|
62
|
+
this._cache.register(route, r.data, this._options.cacheMs);
|
|
63
|
+
}
|
|
60
64
|
return r.data;
|
|
65
|
+
}
|
|
61
66
|
const data = JSON.parse(r.data.slice(0, r.data.indexOf("}") + 1));
|
|
62
67
|
if (this._options.cacheMs && this._options.cacheMs !== 0) {
|
|
63
68
|
this._options.debug ? this._options.debug(`[request] Registered cache with id ${route}`) : 0;
|
|
@@ -118,6 +123,8 @@ export default class Comcigan {
|
|
|
118
123
|
const json = JSON.parse(step2.slice(0, step2.indexOf("}") + 1));
|
|
119
124
|
const WEEKDAY = ["월", "화", "수", "목", "금"];
|
|
120
125
|
const sep = (_a = json.분리) !== null && _a !== void 0 ? _a : 100;
|
|
126
|
+
if (!json.시간표)
|
|
127
|
+
return undefined;
|
|
121
128
|
// 시간표[학년][반][요일][교시]
|
|
122
129
|
const origin = json.시간표[grade][classN];
|
|
123
130
|
const today = json.학급시간표[grade][classN];
|
|
@@ -149,7 +156,7 @@ export default class Comcigan {
|
|
|
149
156
|
weekdayList.push({
|
|
150
157
|
"subject": originSubject,
|
|
151
158
|
"teacher": originTeacher,
|
|
152
|
-
"
|
|
159
|
+
"original": {
|
|
153
160
|
"subject": changedSubject,
|
|
154
161
|
"teacher": changedTeacher
|
|
155
162
|
}
|
|
@@ -185,7 +192,7 @@ export default class Comcigan {
|
|
|
185
192
|
periodList.push({
|
|
186
193
|
"subject": originSubject,
|
|
187
194
|
"teacher": originTeacher,
|
|
188
|
-
"
|
|
195
|
+
"original": {
|
|
189
196
|
"subject": changedSubject,
|
|
190
197
|
"teacher": changedTeacher
|
|
191
198
|
}
|
|
@@ -195,7 +202,7 @@ export default class Comcigan {
|
|
|
195
202
|
}
|
|
196
203
|
}
|
|
197
204
|
return {
|
|
198
|
-
"
|
|
205
|
+
"changed": edited,
|
|
199
206
|
latestVersion,
|
|
200
207
|
"timetable": toReturn
|
|
201
208
|
};
|
|
@@ -216,6 +223,8 @@ export default class Comcigan {
|
|
|
216
223
|
const step2 = step1.slice(step1.indexOf("{"));
|
|
217
224
|
const json = JSON.parse(step2.slice(0, step2.indexOf("}") + 1));
|
|
218
225
|
const rawClasses = json.학급수;
|
|
226
|
+
if (!rawClasses)
|
|
227
|
+
return [];
|
|
219
228
|
const toReturn = [];
|
|
220
229
|
for (let g = 1; g < rawClasses.length; g++) {
|
|
221
230
|
for (let c = 1; c < rawClasses[g] + 1; c++) {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,MAAM,KAAK;IAAX;QACY,kBAAa,GAKjB,EAAE,CAAC;IA2BX,CAAC;IAzBU,QAAQ,CAAC,EAAU,EAAE,IAAS,EAAE,QAAgB;QACnD,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG;YACrB,SAAS,EAAE,UAAU,CAAC,GAAG,EAAE;gBACvB,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAClC,CAAC,EAAE,QAAQ,CAAC;YACZ,MAAM,EAAE,IAAI;SACf,CAAC;IACN,CAAC;IACM,MAAM,CAAC,EAAU;QACpB,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IACM,KAAK;QACR,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/C,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;YACvB,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;IACL,CAAC;IACM,GAAG,CAAC,EAAU;QACjB,OAAO,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;IACM,GAAG,CAAC,EAAU;;QACjB,OAAO,MAAA,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,0CAAE,IAAI,CAAC;IACxC,CAAC;CACJ;AAqHD,YAAY;AAEZ,MAAM,CAAC,OAAO,OAAO,QAAQ;IAOjB,GAAG,CAAC,EAAU,EAAE,EAAU,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC;QAAC,OAAO,EAAE,GAAG,EAAE,CAAC;IAAC,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9F,GAAG,CAAC,EAAU,EAAE,EAAU,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAAC,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAExF,OAAO,CAAU,KAAa,EAAE,UAAoB;;YAC9D,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,gDAAgD,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvG,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,gDAAgD,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvG,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,CAAM,wBAAwB,KAAK,EAAE,oBACvD,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,EACnE,CAAC;YAEH,IAAI,UAAU;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,MAAM,KAAK;IAAX;QACY,kBAAa,GAKjB,EAAE,CAAC;IA2BX,CAAC;IAzBU,QAAQ,CAAC,EAAU,EAAE,IAAS,EAAE,QAAgB;QACnD,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG;YACrB,SAAS,EAAE,UAAU,CAAC,GAAG,EAAE;gBACvB,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAClC,CAAC,EAAE,QAAQ,CAAC;YACZ,MAAM,EAAE,IAAI;SACf,CAAC;IACN,CAAC;IACM,MAAM,CAAC,EAAU;QACpB,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;IACM,KAAK;QACR,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC/C,KAAK,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;YACvB,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC;YAChD,OAAO,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QACrC,CAAC;IACL,CAAC;IACM,GAAG,CAAC,EAAU;QACjB,OAAO,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;IACM,GAAG,CAAC,EAAU;;QACjB,OAAO,MAAA,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,0CAAE,IAAI,CAAC;IACxC,CAAC;CACJ;AAqHD,YAAY;AAEZ,MAAM,CAAC,OAAO,OAAO,QAAQ;IAOjB,GAAG,CAAC,EAAU,EAAE,EAAU,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC;QAAC,OAAO,EAAE,GAAG,EAAE,CAAC;IAAC,CAAC,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9F,GAAG,CAAC,EAAU,EAAE,EAAU,IAAI,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC;QAAC,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAAC,CAAC,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IAExF,OAAO,CAAU,KAAa,EAAE,UAAoB;;YAC9D,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,gDAAgD,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvG,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,gDAAgD,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvG,MAAM,CAAC,GAAG,MAAM,KAAK,CAAC,GAAG,CAAM,wBAAwB,KAAK,EAAE,oBACvD,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,EACnE,CAAC;YAEH,IAAI,UAAU,EAAE,CAAC;gBACb,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;oBACvD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,sCAAsC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7F,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC/D,CAAC;gBACD,OAAO,CAAC,CAAC,IAAI,CAAC;YAClB,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAClE,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;gBACvD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,sCAAsC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC7F,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC7D,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;KAAA;IAEO,gBAAgB,CAAC,GAAW;QAChC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC3C,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;aACpB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;aACrE,IAAI,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAED;;;OAGG;IACH,YAAY,OAAgC;QA/CpC,aAAQ,GAA2B;YACvC,SAAS,EAAE,CAAC;YACZ,YAAY,EAAE,KAAK;SACtB,CAAC;QACM,WAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QA4CzB,IAAI,CAAC,QAAQ,mCACN,IAAI,CAAC,QAAQ,GACb,OAAO,CACb,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACU,YAAY,CAAC,KAAa;;YACnC,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAsB,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAExF,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACpB,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;gBACd,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;gBACZ,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;aACf,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QAClC,CAAC;KAAA;IAED;;;;;OAKG;IACU,YAAY,CAAC,UAAkB,EAAE,QAA8B,EAAE,KAAa,EAAE,MAAc;;;YACvG,MAAM,GAAG,GAAG,SAAS,UAAU,eAAe,CAAC;YAC/C,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAS,QAAQ,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;YAE/D,MAAM,CAAC,aAAa,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YACtD,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9C,MAAM,IAAI,GAAyB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAEtF,MAAM,OAAO,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAC1C,MAAM,GAAG,GAAG,MAAA,IAAI,CAAC,EAAE,mCAAI,GAAG,CAAC;YAE3B,IAAI,CAAC,IAAI,CAAC,GAAG;gBAAE,OAAO,SAAS,CAAC;YAEhC,qBAAqB;YACrB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;YAExC,MAAM,QAAQ,GAAgC,EAAE,CAAC;YAEjD,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;gBACxB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;oBAC5D,MAAM,WAAW,GAA8B,EAAE,CAAC;oBAClD,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;wBACxC,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;wBAClC,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;wBAEjC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;4BACX,WAAW,CAAC,IAAI,CAAC;gCACb,SAAS,EAAE,GAAG;gCACd,SAAS,EAAE,GAAG;6BACjB,CAAC,CAAC;4BACH,SAAS;wBACb,CAAC;wBAED,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;wBACvD,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;wBAEtD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;4BACV,WAAW,CAAC,IAAI,CAAC;gCACb,SAAS,EAAE,aAAa;gCACxB,SAAS,EAAE,aAAa;6BAC3B,CAAC,CAAC;4BACH,SAAS;wBACb,CAAC;wBAED,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;wBACxD,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;wBAEvD,WAAW,CAAC,IAAI,CAAC;4BACb,SAAS,EAAE,aAAa;4BACxB,SAAS,EAAE,aAAa;4BACxB,UAAU,EAAE;gCACR,SAAS,EAAE,cAAc;gCACzB,SAAS,EAAE,cAAc;6BAC5B;yBACJ,CAAC,CAAC;oBACP,CAAC;oBACD,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAC/B,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;oBACxC,MAAM,UAAU,GAA8B,EAAE,CAAC;oBACjD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;wBAC5D,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;wBAClC,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;wBAEjC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;4BACX,UAAU,CAAC,IAAI,CAAC;gCACZ,SAAS,EAAE,GAAG;gCACd,SAAS,EAAE,GAAG;6BACjB,CAAC,CAAC;4BACH,SAAS;wBACb,CAAC;wBAED,MAAM,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;wBACvD,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;wBAEtD,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;4BACV,UAAU,CAAC,IAAI,CAAC;gCACZ,SAAS,EAAE,aAAa;gCACxB,SAAS,EAAE,aAAa;6BAC3B,CAAC,CAAC;4BACH,SAAS;wBACb,CAAC;wBAED,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;wBACxD,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;wBAEvD,UAAU,CAAC,IAAI,CAAC;4BACZ,SAAS,EAAE,aAAa;4BACxB,SAAS,EAAE,aAAa;4BACxB,UAAU,EAAE;gCACR,SAAS,EAAE,cAAc;gCACzB,SAAS,EAAE,cAAc;6BAC5B;yBACJ,CAAC,CAAC;oBACP,CAAC;oBACD,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC9B,CAAC;YACL,CAAC;YAED,OAAO;gBACH,SAAS,EAAE,MAAM;gBACjB,aAAa;gBACb,WAAW,EAAE,QAAQ;aACxB,CAAC;QACN,CAAC;KAAA;IAED;;;;;OAKG;IACU,YAAY,CAAC,UAAkB;;YACxC,MAAM,GAAG,GAAG,SAAS,UAAU,eAAe,CAAC;YAC/C,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACpF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAS,QAAQ,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;YAE/D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9C,MAAM,IAAI,GAAyB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACtF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC;YAC5B,IAAI,CAAC,UAAU;gBAAE,OAAO,EAAE,CAAC;YAE3B,MAAM,QAAQ,GAAa,EAAE,CAAC;YAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBACzC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAC/B,CAAC;YACL,CAAC;YAED,OAAO,QAAQ,CAAC;QACpB,CAAC;KAAA;CACJ"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "parse-comcigan",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.4",
|
|
4
4
|
"description": "컴시간 알리미에서 시간표를 가져오는 라이브러리입니다.",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -29,7 +29,8 @@
|
|
|
29
29
|
},
|
|
30
30
|
"keywords": [
|
|
31
31
|
"school",
|
|
32
|
-
"timetable"
|
|
32
|
+
"timetable",
|
|
33
|
+
"comcigan"
|
|
33
34
|
],
|
|
34
35
|
"homepage": "https://github.com/Pro203S/parse-comcigan.git",
|
|
35
36
|
"bugs": {
|
package/src/index.ts
CHANGED
|
@@ -230,7 +230,7 @@ export default class Comcigan {
|
|
|
230
230
|
* @param schoolCode
|
|
231
231
|
* @param criteria
|
|
232
232
|
*/
|
|
233
|
-
public async GetTimetable(schoolCode: number, criteria: "weekday" | "period", grade: number, classN: number): Promise<ComciganTimetable> {
|
|
233
|
+
public async GetTimetable(schoolCode: number, criteria: "weekday" | "period", grade: number, classN: number): Promise<ComciganTimetable | undefined> {
|
|
234
234
|
const str = `36174_${schoolCode}_1_4_0_3_1.00`;
|
|
235
235
|
const route = (str.substring(9) + str.substring(0, 9)).split("").reverse().join("");
|
|
236
236
|
const data = await this.request<string>(`7813?${route}`, true);
|
|
@@ -243,6 +243,8 @@ export default class Comcigan {
|
|
|
243
243
|
const WEEKDAY = ["월", "화", "수", "목", "금"];
|
|
244
244
|
const sep = json.분리 ?? 100;
|
|
245
245
|
|
|
246
|
+
if (!json.시간표) return undefined;
|
|
247
|
+
|
|
246
248
|
// 시간표[학년][반][요일][교시]
|
|
247
249
|
const origin = json.시간표[grade][classN];
|
|
248
250
|
const today = json.학급시간표[grade][classN];
|
|
@@ -353,6 +355,7 @@ export default class Comcigan {
|
|
|
353
355
|
const step2 = step1.slice(step1.indexOf("{"));
|
|
354
356
|
const json: RawComciganTimetable = JSON.parse(step2.slice(0, step2.indexOf("}") + 1));
|
|
355
357
|
const rawClasses = json.학급수;
|
|
358
|
+
if (!rawClasses) return [];
|
|
356
359
|
|
|
357
360
|
const toReturn: string[] = [];
|
|
358
361
|
|