parse-comcigan 0.2.0 → 1.0.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 +86 -95
- package/bun.lock +175 -0
- package/dist/error.d.ts +4 -0
- package/dist/error.js +7 -0
- package/dist/error.js.map +1 -0
- package/dist/index.d.ts +34 -129
- package/dist/index.js +101 -177
- package/dist/index.js.map +1 -1
- package/package.json +8 -7
- package/test.ts +9 -0
- package/tsconfig.json +4 -3
- package/dist/cache.d.ts +0 -8
- package/dist/cache.js +0 -32
- package/dist/cache.js.map +0 -1
- package/src/cache.ts +0 -32
- package/src/index.ts +0 -335
- package/src/types/index.d.ts +0 -45
package/README.md
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
# parse-comcigan
|
|
2
2
|
|
|
3
3
|
컴시간을 파싱하는 라이브러리입니다.
|
|
4
|
-
안드로이드 컴시간알리미 앱에서 파싱합니다.
|
|
5
4
|
아직 학생 시간표밖에 지원하지 않습니다.
|
|
6
5
|
|
|
7
6
|
## 경고
|
|
@@ -13,134 +12,126 @@
|
|
|
13
12
|
|
|
14
13
|
```npm install parse-comcigan```
|
|
15
14
|
|
|
16
|
-
##
|
|
15
|
+
## 사용법
|
|
17
16
|
|
|
18
|
-
|
|
17
|
+
## 1. 학교 검색하기
|
|
19
18
|
|
|
20
|
-
Comcigan
|
|
21
|
-
인스턴스를 생성할 때 옵션을 지정할 수 있습니다.
|
|
19
|
+
학교를 검색하려면 먼저 `Comcigan` 클래스를 가져오신 후, `search` 메서드를 호출하시면 됩니다.
|
|
22
20
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
|
27
|
-
|
|
|
28
|
-
|
|
|
21
|
+
반환:
|
|
22
|
+
|이름|타입|설명|
|
|
23
|
+
|-|-|-|
|
|
24
|
+
|code|number|학교 코드|
|
|
25
|
+
|region|string|지역|
|
|
26
|
+
|name|string|이름|
|
|
27
|
+
의 배열
|
|
28
|
+
|
|
29
|
+
### 예시 코드
|
|
29
30
|
|
|
30
31
|
```typescript
|
|
32
|
+
// Comcigan 가져오기
|
|
31
33
|
import Comcigan from 'parse-comcigan';
|
|
32
34
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
"doNotThrow": false, // false일때, status가 4 또는 5로 시작하면 throw 됩니다.
|
|
36
|
-
"debug": (msg) => console.log(msg) // 모듈에서 디버그 메시지를 보내면 콘솔에 출력합니다.
|
|
37
|
-
});
|
|
38
|
-
```
|
|
35
|
+
// 학교 검색
|
|
36
|
+
const schools = await Comcigan.search("서울");
|
|
39
37
|
|
|
40
|
-
|
|
38
|
+
for (const school of schools) {
|
|
39
|
+
console.log();
|
|
40
|
+
console.log(`코드: ${school.code}`);
|
|
41
|
+
console.log(`이름: ${school.name}`);
|
|
42
|
+
console.log(`지역: ${school.region}`);
|
|
43
|
+
}
|
|
44
|
+
```
|
|
41
45
|
|
|
42
|
-
|
|
46
|
+
## 2. 컴시간 인스턴스 생성하기
|
|
43
47
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
당연하지만 컴시간을 사용하는 학교만 검색됩니다.
|
|
48
|
+
컴시간 인스턴스를 생성해 학교의 여러 정보를 가져올 수 있습니다.
|
|
49
|
+
`new Comcigan(code)`로 컴시간 인스턴스를 생성할 수 있습니다.
|
|
47
50
|
|
|
48
|
-
|
|
49
|
-
|------|------|------|-----------|
|
|
50
|
-
|query|string|Yes|검색어|
|
|
51
|
+
### 예시 코드
|
|
51
52
|
|
|
52
53
|
```typescript
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
});
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
다음을 Promise 형태로 리턴합니다.
|
|
54
|
+
import Comcigan from 'parse-comcigan';
|
|
55
|
+
import readline from 'readline';
|
|
59
56
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|code|number|학교 코드|
|
|
57
|
+
const rl = readline.createInterface({
|
|
58
|
+
"input": process.stdin,
|
|
59
|
+
"output": process.stdout
|
|
60
|
+
});
|
|
65
61
|
|
|
66
|
-
|
|
62
|
+
(async () => {
|
|
63
|
+
// 검색어 입력
|
|
64
|
+
const answer = await new Promise<string>(r => rl.question("학교 이름을 입력해주세요: ", r));
|
|
65
|
+
rl.close();
|
|
66
|
+
|
|
67
|
+
// 학교 검색하기
|
|
68
|
+
const school = (await Comcigan.search(answer))[0];
|
|
69
|
+
|
|
70
|
+
console.log(`검색된 학교:`);
|
|
71
|
+
console.log(`- 이름: ${school.name}`);
|
|
72
|
+
console.log(`- 지역: ${school.region}`);
|
|
73
|
+
console.log();
|
|
74
|
+
|
|
75
|
+
// 컴시간 인스턴스 생성
|
|
76
|
+
const comci = new Comcigan(school.code);
|
|
77
|
+
|
|
78
|
+
// 시간표 조회
|
|
79
|
+
console.log(await comci.timetable({
|
|
80
|
+
"grade": 1,
|
|
81
|
+
"classNum": 6
|
|
82
|
+
}));
|
|
83
|
+
})();
|
|
84
|
+
```
|
|
67
85
|
|
|
68
|
-
|
|
86
|
+
## 3. 시간표 가져오기
|
|
69
87
|
|
|
70
|
-
시간표를
|
|
88
|
+
위에서 생성한 컴시간 인스턴스로 학교의 시간표를 조회할 수 있습니다.
|
|
71
89
|
|
|
72
|
-
|
|
73
|
-
|------|------|------|-----------|
|
|
74
|
-
|options|[GetTimetableOptions](#gettimetableoptions)|Yes|옵션|
|
|
90
|
+
### 예시 코드
|
|
75
91
|
|
|
76
92
|
```typescript
|
|
77
|
-
|
|
78
|
-
"schoolCode": 96211,
|
|
79
|
-
"criteria": "period",
|
|
80
|
-
"grade": 3,
|
|
81
|
-
"classN": 5,
|
|
82
|
-
"without8th": false
|
|
83
|
-
}).then(data => {
|
|
84
|
-
console.log(data.timetable[0][7]); // [요일][교시] 월요일 8교시
|
|
85
|
-
});
|
|
86
|
-
comci.GetTimetable({
|
|
87
|
-
"schoolCode": 96211,
|
|
88
|
-
"criteria": "weekday",
|
|
89
|
-
"grade": 3,
|
|
90
|
-
"classN": 5,
|
|
91
|
-
"without8th": true
|
|
92
|
-
}).then(data => {
|
|
93
|
-
console.log(data.timetable[4][0]); // [교시][요일] 월요일 5교시
|
|
94
|
-
console.log(data.timetable[7]); // undefined
|
|
95
|
-
});
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
다음을 Promise 형태로 리턴합니다.
|
|
93
|
+
import Comcigan from 'parse-comcigan';
|
|
99
94
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|changed|string|수정된 날짜 시간|
|
|
104
|
-
|timetable|[ComciganTimetableObject](#comcigantimetableobject)[][]|시간표|
|
|
95
|
+
(async () => {
|
|
96
|
+
// 컴시간 인스턴스 생성
|
|
97
|
+
const comci = new Comcigan(24966);
|
|
105
98
|
|
|
106
|
-
|
|
99
|
+
// 시간표 조회
|
|
100
|
+
console.log(await comci.timetable({
|
|
101
|
+
"grade": 1,
|
|
102
|
+
"classNum": 6
|
|
103
|
+
}));
|
|
104
|
+
})();
|
|
105
|
+
```
|
|
107
106
|
|
|
108
|
-
|
|
107
|
+
## 4. 학교 정보 가져오기
|
|
109
108
|
|
|
110
|
-
|
|
109
|
+
위에서 생성한 컴시간 인스턴스로 학교의 여러 정보를 가져올 수 있습니다.
|
|
111
110
|
|
|
112
|
-
|
|
113
|
-
|------|------|------|-----------|
|
|
114
|
-
|schoolCode|number|Yes|학교 코드|
|
|
111
|
+
### 예시 코드
|
|
115
112
|
|
|
116
113
|
```typescript
|
|
117
|
-
|
|
118
|
-
console.log(data[0]); // 1-1
|
|
119
|
-
});
|
|
120
|
-
```
|
|
114
|
+
import Comcigan from 'parse-comcigan';
|
|
121
115
|
|
|
122
|
-
|
|
116
|
+
(async () => {
|
|
117
|
+
// 컴시간 인스턴스 생성
|
|
118
|
+
const comci = new Comcigan(24966);
|
|
123
119
|
|
|
124
|
-
|
|
120
|
+
// 학교 정보 조회
|
|
121
|
+
console.log(await comci.schoolInfo());
|
|
122
|
+
})();
|
|
123
|
+
```
|
|
125
124
|
|
|
126
|
-
|
|
125
|
+
## 업데이트 로그
|
|
127
126
|
|
|
128
|
-
|
|
129
|
-
|-----|----|-----|-----|
|
|
130
|
-
|subject|string|과목|Yes|
|
|
131
|
-
|changed|string|교사|Yes|
|
|
132
|
-
|original|여기서 original만 빠진 오브젝트|원래 시간표|No|
|
|
127
|
+
### 1.0.0
|
|
133
128
|
|
|
134
|
-
|
|
129
|
+
- 갈아엎기
|
|
135
130
|
|
|
136
|
-
|
|
137
|
-
|------|------|------|-----------|
|
|
138
|
-
|schoolCode|number|Yes|학교 코드|
|
|
139
|
-
|criteria|"weekday" or "period"|Yes|리스트 반환을 어떻게 할지 여부입니다.|
|
|
140
|
-
|grade|number|Yes|학년|
|
|
141
|
-
|classN|number|Yes|반|
|
|
131
|
+
### 0.3.0
|
|
142
132
|
|
|
143
|
-
|
|
133
|
+
- 다음 주 시간표 보기
|
|
134
|
+
- 디버그 메시지 수정
|
|
144
135
|
|
|
145
136
|
### 0.2.0
|
|
146
137
|
|
package/bun.lock
ADDED
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
{
|
|
2
|
+
"lockfileVersion": 1,
|
|
3
|
+
"configVersion": 0,
|
|
4
|
+
"workspaces": {
|
|
5
|
+
"": {
|
|
6
|
+
"name": "parse-comcigan",
|
|
7
|
+
"dependencies": {
|
|
8
|
+
"axios": "^1.17.0",
|
|
9
|
+
"dayjs": "^1.11.21",
|
|
10
|
+
"iconv-lite": "^0.6.3",
|
|
11
|
+
},
|
|
12
|
+
"devDependencies": {
|
|
13
|
+
"@types/node": "^22.19.20",
|
|
14
|
+
"nodemon": "^3.1.14",
|
|
15
|
+
"ts-node": "^10.9.2",
|
|
16
|
+
"typescript": "^5.9.3",
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
"packages": {
|
|
21
|
+
"@cspotcode/source-map-support": ["@cspotcode/source-map-support@0.8.1", "", { "dependencies": { "@jridgewell/trace-mapping": "0.3.9" } }, "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw=="],
|
|
22
|
+
|
|
23
|
+
"@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="],
|
|
24
|
+
|
|
25
|
+
"@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.0", "", {}, "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ=="],
|
|
26
|
+
|
|
27
|
+
"@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.9", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" } }, "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ=="],
|
|
28
|
+
|
|
29
|
+
"@tsconfig/node10": ["@tsconfig/node10@1.0.11", "", {}, "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw=="],
|
|
30
|
+
|
|
31
|
+
"@tsconfig/node12": ["@tsconfig/node12@1.0.11", "", {}, "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag=="],
|
|
32
|
+
|
|
33
|
+
"@tsconfig/node14": ["@tsconfig/node14@1.0.3", "", {}, "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow=="],
|
|
34
|
+
|
|
35
|
+
"@tsconfig/node16": ["@tsconfig/node16@1.0.4", "", {}, "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA=="],
|
|
36
|
+
|
|
37
|
+
"@types/node": ["@types/node@22.19.20", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-6tELRwSDYWW9EdZhbeZmYGZ1/7Djkt+Ah3/ScEYT9cDord7UJzasR/4D3VONg9tQI5CDp+/CZC1AXj2pCFOvpw=="],
|
|
38
|
+
|
|
39
|
+
"acorn": ["acorn@8.14.1", "", { "bin": "bin/acorn" }, "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg=="],
|
|
40
|
+
|
|
41
|
+
"acorn-walk": ["acorn-walk@8.3.4", "", { "dependencies": { "acorn": "^8.11.0" } }, "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g=="],
|
|
42
|
+
|
|
43
|
+
"agent-base": ["agent-base@6.0.2", "", { "dependencies": { "debug": "4" } }, "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ=="],
|
|
44
|
+
|
|
45
|
+
"anymatch": ["anymatch@3.1.3", "", { "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" } }, "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw=="],
|
|
46
|
+
|
|
47
|
+
"arg": ["arg@4.1.3", "", {}, "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA=="],
|
|
48
|
+
|
|
49
|
+
"asynckit": ["asynckit@0.4.0", "", {}, "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="],
|
|
50
|
+
|
|
51
|
+
"axios": ["axios@1.17.0", "", { "dependencies": { "follow-redirects": "^1.16.0", "form-data": "^4.0.5", "https-proxy-agent": "^5.0.1", "proxy-from-env": "^2.1.0" } }, "sha512-J8SwNxprqqpbfenehxWYXE7CW+wM1BB4w3+N+g+/Wx40xM4rsLrfPmHHxSWIxJLYDgSY/HqlFPIYb2/S3rxafw=="],
|
|
52
|
+
|
|
53
|
+
"balanced-match": ["balanced-match@4.0.4", "", {}, "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA=="],
|
|
54
|
+
|
|
55
|
+
"binary-extensions": ["binary-extensions@2.3.0", "", {}, "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw=="],
|
|
56
|
+
|
|
57
|
+
"brace-expansion": ["brace-expansion@5.0.6", "", { "dependencies": { "balanced-match": "^4.0.2" } }, "sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g=="],
|
|
58
|
+
|
|
59
|
+
"braces": ["braces@3.0.3", "", { "dependencies": { "fill-range": "^7.1.1" } }, "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA=="],
|
|
60
|
+
|
|
61
|
+
"call-bind-apply-helpers": ["call-bind-apply-helpers@1.0.2", "", { "dependencies": { "es-errors": "^1.3.0", "function-bind": "^1.1.2" } }, "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ=="],
|
|
62
|
+
|
|
63
|
+
"chokidar": ["chokidar@3.6.0", "", { "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", "readdirp": "~3.6.0" }, "optionalDependencies": { "fsevents": "~2.3.2" } }, "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw=="],
|
|
64
|
+
|
|
65
|
+
"combined-stream": ["combined-stream@1.0.8", "", { "dependencies": { "delayed-stream": "~1.0.0" } }, "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg=="],
|
|
66
|
+
|
|
67
|
+
"create-require": ["create-require@1.1.1", "", {}, "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ=="],
|
|
68
|
+
|
|
69
|
+
"dayjs": ["dayjs@1.11.21", "", {}, "sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA=="],
|
|
70
|
+
|
|
71
|
+
"debug": ["debug@4.4.0", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA=="],
|
|
72
|
+
|
|
73
|
+
"delayed-stream": ["delayed-stream@1.0.0", "", {}, "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="],
|
|
74
|
+
|
|
75
|
+
"diff": ["diff@4.0.2", "", {}, "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A=="],
|
|
76
|
+
|
|
77
|
+
"dunder-proto": ["dunder-proto@1.0.1", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.1", "es-errors": "^1.3.0", "gopd": "^1.2.0" } }, "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A=="],
|
|
78
|
+
|
|
79
|
+
"es-define-property": ["es-define-property@1.0.1", "", {}, "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="],
|
|
80
|
+
|
|
81
|
+
"es-errors": ["es-errors@1.3.0", "", {}, "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="],
|
|
82
|
+
|
|
83
|
+
"es-object-atoms": ["es-object-atoms@1.1.1", "", { "dependencies": { "es-errors": "^1.3.0" } }, "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA=="],
|
|
84
|
+
|
|
85
|
+
"es-set-tostringtag": ["es-set-tostringtag@2.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA=="],
|
|
86
|
+
|
|
87
|
+
"fill-range": ["fill-range@7.1.1", "", { "dependencies": { "to-regex-range": "^5.0.1" } }, "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg=="],
|
|
88
|
+
|
|
89
|
+
"follow-redirects": ["follow-redirects@1.16.0", "", {}, "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw=="],
|
|
90
|
+
|
|
91
|
+
"form-data": ["form-data@4.0.5", "", { "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", "es-set-tostringtag": "^2.1.0", "hasown": "^2.0.2", "mime-types": "^2.1.12" } }, "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w=="],
|
|
92
|
+
|
|
93
|
+
"fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="],
|
|
94
|
+
|
|
95
|
+
"function-bind": ["function-bind@1.1.2", "", {}, "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="],
|
|
96
|
+
|
|
97
|
+
"get-intrinsic": ["get-intrinsic@1.3.0", "", { "dependencies": { "call-bind-apply-helpers": "^1.0.2", "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", "get-proto": "^1.0.1", "gopd": "^1.2.0", "has-symbols": "^1.1.0", "hasown": "^2.0.2", "math-intrinsics": "^1.1.0" } }, "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ=="],
|
|
98
|
+
|
|
99
|
+
"get-proto": ["get-proto@1.0.1", "", { "dependencies": { "dunder-proto": "^1.0.1", "es-object-atoms": "^1.0.0" } }, "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g=="],
|
|
100
|
+
|
|
101
|
+
"glob-parent": ["glob-parent@5.1.2", "", { "dependencies": { "is-glob": "^4.0.1" } }, "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow=="],
|
|
102
|
+
|
|
103
|
+
"gopd": ["gopd@1.2.0", "", {}, "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="],
|
|
104
|
+
|
|
105
|
+
"has-flag": ["has-flag@3.0.0", "", {}, "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="],
|
|
106
|
+
|
|
107
|
+
"has-symbols": ["has-symbols@1.1.0", "", {}, "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="],
|
|
108
|
+
|
|
109
|
+
"has-tostringtag": ["has-tostringtag@1.0.2", "", { "dependencies": { "has-symbols": "^1.0.3" } }, "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw=="],
|
|
110
|
+
|
|
111
|
+
"hasown": ["hasown@2.0.2", "", { "dependencies": { "function-bind": "^1.1.2" } }, "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="],
|
|
112
|
+
|
|
113
|
+
"https-proxy-agent": ["https-proxy-agent@5.0.1", "", { "dependencies": { "agent-base": "6", "debug": "4" } }, "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA=="],
|
|
114
|
+
|
|
115
|
+
"iconv-lite": ["iconv-lite@0.6.3", "", { "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" } }, "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw=="],
|
|
116
|
+
|
|
117
|
+
"ignore-by-default": ["ignore-by-default@1.0.1", "", {}, "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA=="],
|
|
118
|
+
|
|
119
|
+
"is-binary-path": ["is-binary-path@2.1.0", "", { "dependencies": { "binary-extensions": "^2.0.0" } }, "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw=="],
|
|
120
|
+
|
|
121
|
+
"is-extglob": ["is-extglob@2.1.1", "", {}, "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="],
|
|
122
|
+
|
|
123
|
+
"is-glob": ["is-glob@4.0.3", "", { "dependencies": { "is-extglob": "^2.1.1" } }, "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="],
|
|
124
|
+
|
|
125
|
+
"is-number": ["is-number@7.0.0", "", {}, "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="],
|
|
126
|
+
|
|
127
|
+
"make-error": ["make-error@1.3.6", "", {}, "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw=="],
|
|
128
|
+
|
|
129
|
+
"math-intrinsics": ["math-intrinsics@1.1.0", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="],
|
|
130
|
+
|
|
131
|
+
"mime-db": ["mime-db@1.52.0", "", {}, "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="],
|
|
132
|
+
|
|
133
|
+
"mime-types": ["mime-types@2.1.35", "", { "dependencies": { "mime-db": "1.52.0" } }, "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw=="],
|
|
134
|
+
|
|
135
|
+
"minimatch": ["minimatch@10.2.5", "", { "dependencies": { "brace-expansion": "^5.0.5" } }, "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg=="],
|
|
136
|
+
|
|
137
|
+
"ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="],
|
|
138
|
+
|
|
139
|
+
"nodemon": ["nodemon@3.1.14", "", { "dependencies": { "chokidar": "^3.5.2", "debug": "^4", "ignore-by-default": "^1.0.1", "minimatch": "^10.2.1", "pstree.remy": "^1.1.8", "semver": "^7.5.3", "simple-update-notifier": "^2.0.0", "supports-color": "^5.5.0", "touch": "^3.1.0", "undefsafe": "^2.0.5" }, "bin": { "nodemon": "bin/nodemon.js" } }, "sha512-jakjZi93UtB3jHMWsXL68FXSAosbLfY0In5gtKq3niLSkrWznrVBzXFNOEMJUfc9+Ke7SHWoAZsiMkNP3vq6Jw=="],
|
|
140
|
+
|
|
141
|
+
"normalize-path": ["normalize-path@3.0.0", "", {}, "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="],
|
|
142
|
+
|
|
143
|
+
"picomatch": ["picomatch@2.3.1", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="],
|
|
144
|
+
|
|
145
|
+
"proxy-from-env": ["proxy-from-env@2.1.0", "", {}, "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA=="],
|
|
146
|
+
|
|
147
|
+
"pstree.remy": ["pstree.remy@1.1.8", "", {}, "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w=="],
|
|
148
|
+
|
|
149
|
+
"readdirp": ["readdirp@3.6.0", "", { "dependencies": { "picomatch": "^2.2.1" } }, "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA=="],
|
|
150
|
+
|
|
151
|
+
"safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="],
|
|
152
|
+
|
|
153
|
+
"semver": ["semver@7.7.1", "", { "bin": "bin/semver.js" }, "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA=="],
|
|
154
|
+
|
|
155
|
+
"simple-update-notifier": ["simple-update-notifier@2.0.0", "", { "dependencies": { "semver": "^7.5.3" } }, "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w=="],
|
|
156
|
+
|
|
157
|
+
"supports-color": ["supports-color@5.5.0", "", { "dependencies": { "has-flag": "^3.0.0" } }, "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="],
|
|
158
|
+
|
|
159
|
+
"to-regex-range": ["to-regex-range@5.0.1", "", { "dependencies": { "is-number": "^7.0.0" } }, "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="],
|
|
160
|
+
|
|
161
|
+
"touch": ["touch@3.1.1", "", { "bin": { "nodetouch": "bin/nodetouch.js" } }, "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA=="],
|
|
162
|
+
|
|
163
|
+
"ts-node": ["ts-node@10.9.2", "", { "dependencies": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", "@tsconfig/node12": "^1.0.7", "@tsconfig/node14": "^1.0.0", "@tsconfig/node16": "^1.0.2", "acorn": "^8.4.1", "acorn-walk": "^8.1.1", "arg": "^4.1.0", "create-require": "^1.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", "v8-compile-cache-lib": "^3.0.1", "yn": "3.1.1" }, "peerDependencies": { "@swc/core": ">=1.2.50", "@swc/wasm": ">=1.2.50", "@types/node": "*", "typescript": ">=2.7" }, "optionalPeers": ["@swc/core", "@swc/wasm"], "bin": { "ts-node": "dist/bin.js", "ts-node-cwd": "dist/bin-cwd.js", "ts-node-esm": "dist/bin-esm.js", "ts-node-script": "dist/bin-script.js", "ts-node-transpile-only": "dist/bin-transpile.js", "ts-script": "dist/bin-script-deprecated.js" } }, "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ=="],
|
|
164
|
+
|
|
165
|
+
"typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="],
|
|
166
|
+
|
|
167
|
+
"undefsafe": ["undefsafe@2.0.5", "", {}, "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA=="],
|
|
168
|
+
|
|
169
|
+
"undici-types": ["undici-types@6.21.0", "", {}, "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ=="],
|
|
170
|
+
|
|
171
|
+
"v8-compile-cache-lib": ["v8-compile-cache-lib@3.0.1", "", {}, "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg=="],
|
|
172
|
+
|
|
173
|
+
"yn": ["yn@3.1.1", "", {}, "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q=="],
|
|
174
|
+
}
|
|
175
|
+
}
|
package/dist/error.d.ts
ADDED
package/dist/error.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,KAAK;IAC5C,YACW,OAAe;QACtB,KAAK,CAAC,OAAO,CAAC,CAAC;QADR,YAAO,GAAP,OAAO,CAAQ;IACN,CAAC;CAGxB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,138 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
/**
|
|
3
|
-
* 컴시간 학교 코드입니다.
|
|
4
|
-
*/
|
|
5
|
-
"schoolCode": number;
|
|
6
|
-
/**
|
|
7
|
-
* 구분을 어떻게 할지 여부입니다.
|
|
8
|
-
*
|
|
9
|
-
* - weekday로 설정하면 시간표[교시][요일]로 과목과 선생님을 불러옵니다.
|
|
10
|
-
* - period로 설정하면 시간표[요일][교시]로 과목과 선생님을 불러옵니다.
|
|
11
|
-
*/
|
|
12
|
-
"criteria": "weekday" | "period";
|
|
13
|
-
/**
|
|
14
|
-
* 학년입니다.
|
|
15
|
-
*/
|
|
16
|
-
"grade": number;
|
|
17
|
-
/**
|
|
18
|
-
* 반입니다.
|
|
19
|
-
*/
|
|
20
|
-
"classN": number;
|
|
21
|
-
/**
|
|
22
|
-
* 8교시를 빼고 리턴할지 여부입니다.
|
|
23
|
-
*/
|
|
24
|
-
"without8th"?: boolean;
|
|
25
|
-
};
|
|
26
|
-
export interface ComciganInitializeType {
|
|
27
|
-
/**
|
|
28
|
-
* 이 기간동안 컴시간과 통신한 데이터가 캐시됩니다.
|
|
29
|
-
*
|
|
30
|
-
* 기본값은 0ms이며, 0ms일때는 캐시를 하지 않습니다.
|
|
31
|
-
*/
|
|
32
|
-
cacheMs?: number;
|
|
33
|
-
/**
|
|
34
|
-
* axios에서 요청을 보내고 status가 오류 status일 때 throw할 지 여부입니다.
|
|
35
|
-
* 만약 false일 때 요청에 status가 오류 status면 그 타입에서 빈 값을 리턴합니다.
|
|
36
|
-
*
|
|
37
|
-
* 기본값은 false입니다.
|
|
38
|
-
*/
|
|
39
|
-
doNotThrow?: boolean;
|
|
40
|
-
/**
|
|
41
|
-
* 디버그 메시지를 파라메터로 받습니다.
|
|
42
|
-
*
|
|
43
|
-
* 기본값은 없습니다.
|
|
44
|
-
*/
|
|
45
|
-
debug?: (msg: string) => any;
|
|
46
|
-
/**
|
|
47
|
-
* 컴시간알리미의 앱 버전입니다.
|
|
48
|
-
*
|
|
49
|
-
* 기본값은 2.11입니다.
|
|
50
|
-
*/
|
|
51
|
-
appVersion?: string;
|
|
52
|
-
}
|
|
53
|
-
export type ComciganSearched = {
|
|
54
|
-
/**
|
|
55
|
-
* 학교의 지역입니다.
|
|
56
|
-
*/
|
|
57
|
-
region: string;
|
|
58
|
-
/**
|
|
59
|
-
* 학교의 이름입니다.
|
|
60
|
-
*/
|
|
61
|
-
name: string;
|
|
62
|
-
/**
|
|
63
|
-
* 학교의 코드입니다.
|
|
64
|
-
*/
|
|
65
|
-
code: number;
|
|
66
|
-
};
|
|
67
|
-
export type ComciganTimetableObject = {
|
|
68
|
-
/**
|
|
69
|
-
* 과목입니다.
|
|
70
|
-
*/
|
|
71
|
-
subject: string;
|
|
72
|
-
/**
|
|
73
|
-
* 교사 성명입니다.
|
|
74
|
-
*/
|
|
75
|
-
teacher: string;
|
|
76
|
-
/**
|
|
77
|
-
* 만약 변경되었을때 이 값이 주어집니다.
|
|
78
|
-
*/
|
|
79
|
-
original?: {
|
|
80
|
-
/**
|
|
81
|
-
* 과목입니다.
|
|
82
|
-
*/
|
|
83
|
-
subject: string;
|
|
84
|
-
/**
|
|
85
|
-
* 교사 성명입니다.
|
|
86
|
-
*/
|
|
87
|
-
teacher: string;
|
|
88
|
-
};
|
|
89
|
-
};
|
|
90
|
-
export type ComciganTimetable = {
|
|
91
|
-
/**
|
|
92
|
-
* 컴시간알리미 앱의 최신 버전입니다.
|
|
93
|
-
*/
|
|
94
|
-
latestVersion: string;
|
|
95
|
-
/**
|
|
96
|
-
* 수정일입니다.
|
|
97
|
-
*/
|
|
98
|
-
changed: string;
|
|
99
|
-
/**
|
|
100
|
-
* 시간표입니다.
|
|
101
|
-
*/
|
|
102
|
-
timetable: ComciganTimetableObject[][];
|
|
103
|
-
};
|
|
1
|
+
import { ComciganTimetable } from "./types/index.js";
|
|
104
2
|
export default class Comcigan {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
private
|
|
108
|
-
private mTh;
|
|
109
|
-
private unusable;
|
|
110
|
-
private request;
|
|
111
|
-
private EUC_KR_encodeURI;
|
|
112
|
-
/**
|
|
113
|
-
* 파서를 초기화 합니다.
|
|
114
|
-
* @param options 파서의 옵션입니다.
|
|
115
|
-
*/
|
|
116
|
-
constructor(options?: ComciganInitializeType);
|
|
3
|
+
code: number;
|
|
4
|
+
constructor(code: number);
|
|
5
|
+
private _data;
|
|
117
6
|
/**
|
|
118
7
|
* 학교를 검색합니다.
|
|
119
|
-
*
|
|
8
|
+
*
|
|
120
9
|
* @param query 검색어
|
|
121
|
-
* @returns
|
|
10
|
+
* @returns 검색 결과
|
|
122
11
|
*/
|
|
123
|
-
|
|
12
|
+
static search(query: string): Promise<{
|
|
13
|
+
code: number;
|
|
14
|
+
region: string;
|
|
15
|
+
name: string;
|
|
16
|
+
}[]>;
|
|
17
|
+
private _getdata;
|
|
124
18
|
/**
|
|
125
|
-
*
|
|
19
|
+
* 학교의 정보를 가져옵니다.
|
|
126
20
|
*
|
|
127
|
-
* @
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
21
|
+
* @returns 학교의 정보
|
|
22
|
+
*/
|
|
23
|
+
schoolInfo(): Promise<{
|
|
24
|
+
changedAt: Date;
|
|
25
|
+
classes: number[];
|
|
26
|
+
times: {
|
|
27
|
+
number: number;
|
|
28
|
+
start: `${number}:${number}`;
|
|
29
|
+
}[];
|
|
30
|
+
code: number;
|
|
31
|
+
}>;
|
|
32
|
+
/**
|
|
33
|
+
* 시간표를 조회합니다.
|
|
133
34
|
*
|
|
134
|
-
* @param
|
|
135
|
-
* @returns
|
|
136
|
-
*/
|
|
137
|
-
|
|
35
|
+
* @param options 시간표 옵션
|
|
36
|
+
* @returns 시간표
|
|
37
|
+
*/
|
|
38
|
+
timetable(options: {
|
|
39
|
+
"grade": number;
|
|
40
|
+
"classNum": number;
|
|
41
|
+
"week"?: number;
|
|
42
|
+
}): Promise<ComciganTimetable>;
|
|
138
43
|
}
|