parse-comcigan 0.2.0 → 0.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/README.md +10 -3
- package/dist/index.d.ts +4 -0
- package/dist/index.js +9 -6
- package/dist/index.js.map +1 -1
- package/package.json +2 -3
- package/src/index.ts +12 -6
package/README.md
CHANGED
|
@@ -79,9 +79,10 @@ comci.GetTimetable({
|
|
|
79
79
|
"criteria": "period",
|
|
80
80
|
"grade": 3,
|
|
81
81
|
"classN": 5,
|
|
82
|
-
"without8th": false
|
|
82
|
+
"without8th": false,
|
|
83
|
+
"nextWeek": true // 다음 주 시간표 가져오기 (등록된 일자가 1개이면 이번 주 시간표를 가져옵니다.)
|
|
83
84
|
}).then(data => {
|
|
84
|
-
console.log(data.timetable[0][7]); // [요일][교시] 월요일 8교시
|
|
85
|
+
console.log(data.timetable[0][7]); // [요일][교시] 다음주 월요일 8교시
|
|
85
86
|
});
|
|
86
87
|
comci.GetTimetable({
|
|
87
88
|
"schoolCode": 96211,
|
|
@@ -91,7 +92,6 @@ comci.GetTimetable({
|
|
|
91
92
|
"without8th": true
|
|
92
93
|
}).then(data => {
|
|
93
94
|
console.log(data.timetable[4][0]); // [교시][요일] 월요일 5교시
|
|
94
|
-
console.log(data.timetable[7]); // undefined
|
|
95
95
|
});
|
|
96
96
|
```
|
|
97
97
|
|
|
@@ -139,9 +139,16 @@ comci.GetClassList(96211).then(data => {
|
|
|
139
139
|
|criteria|"weekday" or "period"|Yes|리스트 반환을 어떻게 할지 여부입니다.|
|
|
140
140
|
|grade|number|Yes|학년|
|
|
141
141
|
|classN|number|Yes|반|
|
|
142
|
+
|without8th|boolean|No|8교시를 빼고 리턴할지에 대한 여부입니다.|
|
|
143
|
+
|nextWeek|boolean|No|다음 주 시간표를 반환할지에 대한 여부입니다.|
|
|
142
144
|
|
|
143
145
|
## 업데이트 로그
|
|
144
146
|
|
|
147
|
+
### 0.3.0
|
|
148
|
+
|
|
149
|
+
- 다음 주 시간표 보기
|
|
150
|
+
- 디버그 메시지 수정
|
|
151
|
+
|
|
145
152
|
### 0.2.0
|
|
146
153
|
|
|
147
154
|
- 버전 넘버링 수정
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
|
@@ -25,22 +25,25 @@ export default class Comcigan {
|
|
|
25
25
|
}
|
|
26
26
|
request(route, doNotParse) {
|
|
27
27
|
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
28
29
|
if (this._cache.has(route)) {
|
|
29
|
-
this._options.debug ?
|
|
30
|
+
(_b = (_a = this._options).debug) === null || _b === void 0 ? void 0 : _b.call(_a, `Returning cache with id registered as ${route}`);
|
|
30
31
|
return this._cache.get(route);
|
|
31
32
|
}
|
|
32
|
-
this._options.debug ?
|
|
33
|
+
(_d = (_c = this._options).debug) === null || _d === void 0 ? void 0 : _d.call(_c, `Requesting to http://comci.kr:4081/${route}`);
|
|
34
|
+
const now = new Date();
|
|
33
35
|
const r = yield axios.get(`http://comci.kr:4081/${route}`, Object.assign({}, (this._options.doNotThrow && { "validateStatus": () => true })));
|
|
36
|
+
(_f = (_e = this._options).debug) === null || _f === void 0 ? void 0 : _f.call(_e, `${new Date().getTime() - now.getTime()}ms http://comci.kr:4081/${route}`);
|
|
34
37
|
if (doNotParse) {
|
|
35
38
|
if (this._options.cacheMs && this._options.cacheMs !== 0) {
|
|
36
|
-
this._options.debug ?
|
|
39
|
+
(_h = (_g = this._options).debug) === null || _h === void 0 ? void 0 : _h.call(_g, `Registered cache with id ${route}`);
|
|
37
40
|
this._cache.register(route, r.data, this._options.cacheMs);
|
|
38
41
|
}
|
|
39
42
|
return r.data;
|
|
40
43
|
}
|
|
41
44
|
const data = JSON.parse(r.data.slice(0, r.data.indexOf("}") + 1));
|
|
42
45
|
if (this._options.cacheMs && this._options.cacheMs !== 0) {
|
|
43
|
-
this._options.debug ?
|
|
46
|
+
(_k = (_j = this._options).debug) === null || _k === void 0 ? void 0 : _k.call(_j, `Registered cache with id ${route}`);
|
|
44
47
|
this._cache.register(route, data, this._options.cacheMs);
|
|
45
48
|
}
|
|
46
49
|
return data;
|
|
@@ -90,9 +93,9 @@ export default class Comcigan {
|
|
|
90
93
|
GetTimetable(options) {
|
|
91
94
|
return __awaiter(this, void 0, void 0, function* () {
|
|
92
95
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
93
|
-
const { schoolCode, criteria, grade, classN, without8th } = options;
|
|
96
|
+
const { schoolCode, criteria, grade, classN, without8th, nextWeek } = options;
|
|
94
97
|
const { appVersion } = this._options;
|
|
95
|
-
const str = `36174_${schoolCode}
|
|
98
|
+
const str = `36174_${schoolCode}_${nextWeek ? 2 : 1}_4_0_3_${appVersion}`;
|
|
96
99
|
const route = (str.substring(9) + str.substring(0, 9)).split("").reverse().join("");
|
|
97
100
|
const data = yield this.request(`7813?${route}`, true);
|
|
98
101
|
const [latestVersion, step1] = data.split("^");
|
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;AAC/B,OAAO,KAAK,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "parse-comcigan",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "컴시간 알리미에서 시간표를 가져오는 라이브러리입니다.",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -12,8 +12,7 @@
|
|
|
12
12
|
"build": "tsc",
|
|
13
13
|
"clean": "tsc --build --clean",
|
|
14
14
|
"dev": "nodemon --exec ts-node src/index.ts",
|
|
15
|
-
"test": "npm run pack && node \"test.js\""
|
|
16
|
-
"publish": "npm run pack && npm publish"
|
|
15
|
+
"test": "npm run pack && node \"test.js\""
|
|
17
16
|
},
|
|
18
17
|
"devDependencies": {
|
|
19
18
|
"@types/node": "^22.15.30",
|
package/src/index.ts
CHANGED
|
@@ -27,6 +27,10 @@ export type GetTimetableOptions = {
|
|
|
27
27
|
* 8교시를 빼고 리턴할지 여부입니다.
|
|
28
28
|
*/
|
|
29
29
|
"without8th"?: boolean,
|
|
30
|
+
/**
|
|
31
|
+
* 다음 주 시간표를 가져올지에 대한 여부입니다.
|
|
32
|
+
*/
|
|
33
|
+
"nextWeek"?: boolean;
|
|
30
34
|
};
|
|
31
35
|
export interface ComciganInitializeType {
|
|
32
36
|
/**
|
|
@@ -127,18 +131,20 @@ export default class Comcigan {
|
|
|
127
131
|
|
|
128
132
|
private async request<T = any>(route: string, doNotParse?: boolean): Promise<T> {
|
|
129
133
|
if (this._cache.has(route)) {
|
|
130
|
-
this._options.debug
|
|
134
|
+
this._options.debug?.(`Returning cache with id registered as ${route}`);
|
|
131
135
|
return this._cache.get(route);
|
|
132
136
|
}
|
|
133
137
|
|
|
134
|
-
this._options.debug
|
|
138
|
+
this._options.debug?.(`Requesting to http://comci.kr:4081/${route}`);
|
|
139
|
+
const now = new Date();
|
|
135
140
|
const r = await axios.get<any>(`http://comci.kr:4081/${route}`, {
|
|
136
141
|
...(this._options.doNotThrow && { "validateStatus": () => true })
|
|
137
142
|
});
|
|
143
|
+
this._options.debug?.(`${new Date().getTime() - now.getTime()}ms http://comci.kr:4081/${route}`);
|
|
138
144
|
|
|
139
145
|
if (doNotParse) {
|
|
140
146
|
if (this._options.cacheMs && this._options.cacheMs !== 0) {
|
|
141
|
-
this._options.debug
|
|
147
|
+
this._options.debug?.(`Registered cache with id ${route}`);
|
|
142
148
|
this._cache.register(route, r.data, this._options.cacheMs);
|
|
143
149
|
}
|
|
144
150
|
return r.data;
|
|
@@ -146,7 +152,7 @@ export default class Comcigan {
|
|
|
146
152
|
|
|
147
153
|
const data = JSON.parse(r.data.slice(0, r.data.indexOf("}") + 1));
|
|
148
154
|
if (this._options.cacheMs && this._options.cacheMs !== 0) {
|
|
149
|
-
this._options.debug
|
|
155
|
+
this._options.debug?.(`Registered cache with id ${route}`);
|
|
150
156
|
this._cache.register(route, data, this._options.cacheMs);
|
|
151
157
|
}
|
|
152
158
|
return data;
|
|
@@ -193,10 +199,10 @@ export default class Comcigan {
|
|
|
193
199
|
* @param criteria
|
|
194
200
|
*/
|
|
195
201
|
public async GetTimetable(options: GetTimetableOptions): Promise<ComciganTimetable | undefined> {
|
|
196
|
-
const { schoolCode, criteria, grade, classN, without8th } = options;
|
|
202
|
+
const { schoolCode, criteria, grade, classN, without8th, nextWeek } = options;
|
|
197
203
|
const { appVersion } = this._options;
|
|
198
204
|
|
|
199
|
-
const str = `36174_${schoolCode}
|
|
205
|
+
const str = `36174_${schoolCode}_${nextWeek ? 2 : 1}_4_0_3_${appVersion}`;
|
|
200
206
|
const route = (str.substring(9) + str.substring(0, 9)).split("").reverse().join("");
|
|
201
207
|
const data = await this.request<string>(`7813?${route}`, true);
|
|
202
208
|
|