lscontests 1.9.0 → 1.10.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 +22 -31
- package/dist/cli.d.ts +6 -0
- package/dist/cli.js +6 -0
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +11 -0
- package/dist/index.js +12 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/oj/index.d.ts +5 -0
- package/dist/lib/oj/index.js +7 -0
- package/dist/lib/oj/index.js.map +1 -1
- package/dist/lib/oj/leetcode.d.ts +2 -0
- package/dist/lib/oj/leetcode.js +66 -0
- package/dist/lib/oj/leetcode.js.map +1 -0
- package/dist/locale/zh-NE.json +11 -0
- package/package.json +1 -1
package/README.md
CHANGED
@@ -38,10 +38,10 @@ Options:
|
|
38
38
|
-V, --version output the version number
|
39
39
|
-d, --days, <day> number of days to display (default: "3")
|
40
40
|
-l, --list list all supported OJ and it's abbreviation
|
41
|
-
-o, --oj <ojs...> OJs to display (choices: "at", "cf", "lg", "nc")
|
41
|
+
-o, --oj <ojs...> OJs to display (choices: "at", "cf", "lc", "lg", "nc")
|
42
42
|
-r, --raw print raw contest list
|
43
|
-
-L, --language <lang> set output language (choices: "en", "zh-CN", "zh-
|
44
|
-
default: "zh-CN")
|
43
|
+
-L, --language <lang> set output language (choices: "en", "zh-CN", "zh-NE",
|
44
|
+
"zh-TW", default: "zh-CN")
|
45
45
|
--no-sort do not sort by contests start time, but by OJ order
|
46
46
|
-h, --help display help for command
|
47
47
|
```
|
@@ -50,13 +50,13 @@ Options:
|
|
50
50
|
It performs as follows:
|
51
51
|
|
52
52
|
<!-- block_cli begin -->
|
53
|
-
(*The following content was automatically generated in
|
53
|
+
(*The following content was automatically generated in Sat, 14 May 2022 02:35:31 GMT*)
|
54
54
|
|
55
55
|
<details>
|
56
56
|
<summary> <code>> lsct </code> </summary>
|
57
57
|
|
58
58
|
```text
|
59
|
-
在 AtCoder,Codeforces,Luogu,NowCoder 上有
|
59
|
+
在 AtCoder,Codeforces,LeetCode,Luogu,NowCoder 上有 2 场正在进行的比赛
|
60
60
|
|
61
61
|
比赛平台: NowCoder
|
62
62
|
比赛名称:牛客竞赛博弈专题班 Sprague-Grundy 函数(SG 函数、图游戏、Nim 和)
|
@@ -72,14 +72,7 @@ https://ac.nowcoder.com/acm/contest/34655
|
|
72
72
|
结束时间: 5/30/2022, 08:00:00
|
73
73
|
https://ac.nowcoder.com/acm/contest/34649
|
74
74
|
|
75
|
-
|
76
|
-
比赛名称: Educational Codeforces Round 128 (Rated for Div. 2)
|
77
|
-
赛制: ICPC
|
78
|
-
开始时间: 5/13/2022, 14:35:00
|
79
|
-
结束时间: 5/13/2022, 16:35:00
|
80
|
-
https://codeforces.com/contests/1680
|
81
|
-
|
82
|
-
接下来的 3 天内在 AtCoder,Codeforces,Luogu,NowCoder 上有 8 场比赛
|
75
|
+
接下来的 3 天内在 AtCoder,Codeforces,LeetCode,Luogu,NowCoder 上有 10 场比赛
|
83
76
|
|
84
77
|
比赛平台: NowCoder
|
85
78
|
比赛名称:第二届天元编程邀请赛(提高组)
|
@@ -123,6 +116,20 @@ https://codeforces.com/contests/1679
|
|
123
116
|
结束时间: 5/14/2022, 13:40:00
|
124
117
|
https://atcoder.jp/contests/abc251
|
125
118
|
|
119
|
+
比赛平台: LeetCode
|
120
|
+
比赛名称: Biweekly Contest 78
|
121
|
+
赛制: AtCoder
|
122
|
+
开始时间: 5/14/2022, 14:30:00
|
123
|
+
结束时间: 5/14/2022, 16:00:00
|
124
|
+
https://leetcode.com/contest/biweekly-contest-78
|
125
|
+
|
126
|
+
比赛平台: LeetCode
|
127
|
+
比赛名称: Weekly Contest 293
|
128
|
+
赛制: AtCoder
|
129
|
+
开始时间: 5/15/2022, 02:30:00
|
130
|
+
结束时间: 5/15/2022, 04:00:00
|
131
|
+
https://leetcode.com/contest/weekly-contest-293
|
132
|
+
|
126
133
|
比赛平台: Luogu
|
127
134
|
比赛名称: 「WHOI」Round 1
|
128
135
|
赛制: IOI
|
@@ -144,14 +151,7 @@ https://atcoder.jp/contests/arc140
|
|
144
151
|
<summary> <code>> lsct -o at cf -d 7</code> </summary>
|
145
152
|
|
146
153
|
```text
|
147
|
-
在 AtCoder,Codeforces
|
148
|
-
|
149
|
-
比赛平台: Codeforces
|
150
|
-
比赛名称: Educational Codeforces Round 128 (Rated for Div. 2)
|
151
|
-
赛制: ICPC
|
152
|
-
开始时间: 5/13/2022, 14:35:00
|
153
|
-
结束时间: 5/13/2022, 16:35:00
|
154
|
-
https://codeforces.com/contests/1680
|
154
|
+
在 AtCoder,Codeforces 上没有正在进行的比赛捏
|
155
155
|
|
156
156
|
接下来的 7 天内在 AtCoder,Codeforces 上有 3 场比赛
|
157
157
|
|
@@ -244,16 +244,7 @@ https://www.luogu.com.cn/contest/67377
|
|
244
244
|
|
245
245
|
```json
|
246
246
|
{
|
247
|
-
"running": [
|
248
|
-
{
|
249
|
-
"ojName": "Codeforces",
|
250
|
-
"name": "Educational Codeforces Round 128 (Rated for Div. 2)",
|
251
|
-
"rule": "ICPC",
|
252
|
-
"startTime": "2022-05-13T14:35:00.000Z",
|
253
|
-
"endTime": "2022-05-13T16:35:00.000Z",
|
254
|
-
"url": "https://codeforces.com/contests/1680"
|
255
|
-
}
|
256
|
-
],
|
247
|
+
"running": [],
|
257
248
|
"upcoming": [
|
258
249
|
{
|
259
250
|
"ojName": "AtCoder",
|
package/dist/cli.d.ts
CHANGED
package/dist/cli.js
CHANGED
@@ -31,6 +31,12 @@ function initCmd() {
|
|
31
31
|
.addOption(new commander_1.Option("-L, --language <lang>", "set output language").default("zh-CN").choices(locale_1.langList))
|
32
32
|
.option("--no-sort", "do not sort by contests start time, but by OJ order");
|
33
33
|
}
|
34
|
+
/**
|
35
|
+
* CLI entrypoint
|
36
|
+
* @param arg Arguments
|
37
|
+
* @param name Program name
|
38
|
+
* @returns CLI output content
|
39
|
+
*/
|
34
40
|
function cli(arg, name) {
|
35
41
|
return __awaiter(this, void 0, void 0, function* () {
|
36
42
|
const cmd = initCmd();
|
package/dist/cli.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,kDAA+C;AAC/C,yCAA4C;AAC5C,iCAAiC;AACjC,wBAA6D;AAC7D,qCAAoC;AACpC,oDAAuB;AAEvB,SAAS,OAAO;IAEZ,OAAO,IAAI,mBAAO,EAAE;SACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACzB,OAAO,CAAC,sBAAO,CAAC;SAChB,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,GAAG,CAAC;SAC7D,MAAM,CAAC,YAAY,EAAE,6CAA6C,CAAC;SACnE,SAAS,CAAC,IAAI,kBAAM,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAK,CAAC,CAAC,CAAC;SACxF,SAAS,CAAC,IAAI,kBAAM,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;SAClF,SAAS,CAAC,IAAI,kBAAM,CAAC,uBAAuB,EAAE,qBAAqB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,iBAAQ,CAAC,CAAC;SACxG,MAAM,CAAC,WAAW,EAAE,qDAAqD,CAAC,CAAC;AACpF,CAAC;
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,kDAA+C;AAC/C,yCAA4C;AAC5C,iCAAiC;AACjC,wBAA6D;AAC7D,qCAAoC;AACpC,oDAAuB;AAEvB,SAAS,OAAO;IAEZ,OAAO,IAAI,mBAAO,EAAE;SACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACzB,OAAO,CAAC,sBAAO,CAAC;SAChB,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,EAAE,GAAG,CAAC;SAC7D,MAAM,CAAC,YAAY,EAAE,6CAA6C,CAAC;SACnE,SAAS,CAAC,IAAI,kBAAM,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAK,CAAC,CAAC,CAAC;SACxF,SAAS,CAAC,IAAI,kBAAM,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;SAClF,SAAS,CAAC,IAAI,kBAAM,CAAC,uBAAuB,EAAE,qBAAqB,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,iBAAQ,CAAC,CAAC;SACxG,MAAM,CAAC,WAAW,EAAE,qDAAqD,CAAC,CAAC;AACpF,CAAC;AAGD;;;;;GAKG;AACH,SAAsB,GAAG,CAAC,GAAY,EAAE,IAAa;;QAEjD,MAAM,GAAG,GAAG,OAAO,EAAE,CAAC;QACtB,IAAG,GAAG,KAAK,SAAS;YAAE,GAAG,CAAC,KAAK,EAAE,CAAC;aAElC;YACI,IAAI,GAAG,GAAG,EAAE,CAAC;YACb,IACA;gBACI,IAAG,IAAI;oBAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxB,GAAG;qBACE,eAAe,CAAC;oBACb,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG;oBAC1B,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG;oBAC1B,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,GAAG;iBAChC,CAAC;qBACD,YAAY,EAAE;qBACd,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;aAChD;YACD,OAAM,CAAC,EAAE;gBAAE,OAAO,GAAG,CAAC;aAAE;SAC3B;QAED,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QACxB,IAAG,IAAI,CAAC,IAAI;YAAE,OAAO,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,gBAAC,CAAC,SAAS,CAAC,UAAK,EAAE,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;aAEtG;YACI,MAAM,MAAM,GAAW;gBACnB,QAAQ,EAAE,gBAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,IAAI,EAAE,IAAI,CAAC,IAAc;gBACzB,IAAI,EAAE,IAAI,CAAC,IAAI;aAClB,CAAC;YACF,IAAG,IAAI,CAAC,GAAG;gBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,IAAA,cAAW,EAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;;gBAClE,OAAO,MAAM,IAAA,sBAAmB,EAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAChE;IACL,CAAC;CAAA;AAlCD,kBAkCC;AAED,IAAG,OAAO,CAAC,IAAI,KAAK,MAAM;IAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
@@ -4,10 +4,21 @@ export declare type config = {
|
|
4
4
|
days?: number;
|
5
5
|
sort?: boolean;
|
6
6
|
};
|
7
|
+
/**
|
8
|
+
* Get the list of all contests matching the given config
|
9
|
+
* @param config The config of contests that want to get. @see config
|
10
|
+
* @returns A Promise that contains an array of all contests that match the given config
|
11
|
+
*/
|
7
12
|
export declare function getContests(config?: config): Promise<{
|
8
13
|
running: contest[];
|
9
14
|
upcoming: contest[];
|
10
15
|
}>;
|
16
|
+
/**
|
17
|
+
* Get the detailed text of all contests matching the given config
|
18
|
+
* @param config The config of contests that want to get @see config
|
19
|
+
* @param language Language of the output text
|
20
|
+
* @returns A string containing detail text of contests that match the given config
|
21
|
+
*/
|
11
22
|
export declare function getContestsInfoText(config?: config, language?: string): Promise<string>;
|
12
23
|
export { cli } from "./cli";
|
13
24
|
export { addOJ } from "./lib/oj";
|
package/dist/index.js
CHANGED
@@ -28,6 +28,11 @@ function resolveConfig(config) {
|
|
28
28
|
cfg.abbrList = defaultConfig.abbrList;
|
29
29
|
return cfg;
|
30
30
|
}
|
31
|
+
/**
|
32
|
+
* Get the list of all contests matching the given config
|
33
|
+
* @param config The config of contests that want to get. @see config
|
34
|
+
* @returns A Promise that contains an array of all contests that match the given config
|
35
|
+
*/
|
31
36
|
function getContests(config) {
|
32
37
|
return __awaiter(this, void 0, void 0, function* () {
|
33
38
|
const cfg = resolveConfig(config);
|
@@ -38,7 +43,7 @@ function getContests(config) {
|
|
38
43
|
return (yield oj_1.alloj[abbr].get()).filter(fn);
|
39
44
|
}
|
40
45
|
catch (e) {
|
41
|
-
console.error(`Failed to get
|
46
|
+
console.error(`Failed to get contest information for ${oj_1.alloj[abbr].name}, details:`);
|
42
47
|
console.error(e);
|
43
48
|
return [];
|
44
49
|
}
|
@@ -55,6 +60,12 @@ function getContests(config) {
|
|
55
60
|
});
|
56
61
|
}
|
57
62
|
exports.getContests = getContests;
|
63
|
+
/**
|
64
|
+
* Get the detailed text of all contests matching the given config
|
65
|
+
* @param config The config of contests that want to get @see config
|
66
|
+
* @param language Language of the output text
|
67
|
+
* @returns A string containing detail text of contests that match the given config
|
68
|
+
*/
|
58
69
|
function getContestsInfoText(config, language = "zh-CN") {
|
59
70
|
return __awaiter(this, void 0, void 0, function* () {
|
60
71
|
const cfg = resolveConfig(config);
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,iCAAiC;AACjC,qCAAuC;AAEvC,oDAAuB;AACvB,kDAA0B;AAQ1B,MAAM,aAAa,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,UAAK,CAAC;IAC5B,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,IAAI;CACb,CAAC;AAEF,SAAS,aAAa,CAAC,MAAe;IAElC,MAAM,GAAG,mCAAQ,aAAa,GAAK,MAAM,CAAE,CAAC;IAC5C,IAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC;QAAE,GAAG,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;IACnE,OAAO,GAAG,CAAC;AACf,CAAC;AAED,SAAsB,WAAW,CAAC,MAAe;;QAE7C,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QAClC,SAAe,EAAE,CAAC,EAA2B;;gBAEzC,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CACrB,GAAG,CAAC,QAAQ,CAAC,GAAG,CACZ,CAAM,IAAI,EAAC,EAAE;oBAET,IAAI;wBAAE,OAAO,CAAC,MAAM,UAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;qBAAE;oBACpD,OAAM,CAAC,EACP;wBACI,OAAO,CAAC,KAAK,CAAC,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/oj/index.d.ts
CHANGED
@@ -6,4 +6,9 @@ export declare type oj = {
|
|
6
6
|
export declare const alloj: {
|
7
7
|
[abbr: string]: oj;
|
8
8
|
};
|
9
|
+
/**
|
10
|
+
* Add an OJ to get information about the contests held on it
|
11
|
+
* @param abbr Abbreviation of the OJ to be added
|
12
|
+
* @param oj OJ to be added
|
13
|
+
*/
|
9
14
|
export declare function addOJ(abbr: string, oj: oj): void;
|
package/dist/lib/oj/index.js
CHANGED
@@ -3,14 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.addOJ = exports.alloj = void 0;
|
4
4
|
const atcoder_1 = require("./atcoder");
|
5
5
|
const codeforces_1 = require("./codeforces");
|
6
|
+
const leetcode_1 = require("./leetcode");
|
6
7
|
const luogu_1 = require("./luogu");
|
7
8
|
const nowcoder_1 = require("./nowcoder");
|
8
9
|
exports.alloj = {
|
9
10
|
at: atcoder_1.at,
|
10
11
|
cf: codeforces_1.cf,
|
12
|
+
lc: leetcode_1.lc,
|
11
13
|
lg: luogu_1.lg,
|
12
14
|
nc: nowcoder_1.nc,
|
13
15
|
};
|
16
|
+
/**
|
17
|
+
* Add an OJ to get information about the contests held on it
|
18
|
+
* @param abbr Abbreviation of the OJ to be added
|
19
|
+
* @param oj OJ to be added
|
20
|
+
*/
|
14
21
|
function addOJ(abbr, oj) {
|
15
22
|
exports.alloj[abbr] = oj;
|
16
23
|
}
|
package/dist/lib/oj/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/oj/index.ts"],"names":[],"mappings":";;;AACA,uCAA+B;AAC/B,6CAAkC;AAClC,mCAA6B;AAC7B,yCAAgC;AAOnB,QAAA,KAAK,GAA4B;IAC1C,EAAE,EAAF,YAAE;IACF,EAAE,EAAF,eAAE;IACF,EAAE,EAAF,UAAE;IACF,EAAE,EAAF,aAAE;CACL,CAAC;AAEF,SAAgB,KAAK,CAAC,IAAY,EAAE,EAAM;IAEtC,aAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC;AAHD,sBAGC"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/oj/index.ts"],"names":[],"mappings":";;;AACA,uCAA+B;AAC/B,6CAAkC;AAClC,yCAAgC;AAChC,mCAA6B;AAC7B,yCAAgC;AAOnB,QAAA,KAAK,GAA4B;IAC1C,EAAE,EAAF,YAAE;IACF,EAAE,EAAF,eAAE;IACF,EAAE,EAAF,aAAE;IACF,EAAE,EAAF,UAAE;IACF,EAAE,EAAF,aAAE;CACL,CAAC;AAEF;;;;GAIG;AACH,SAAgB,KAAK,CAAC,IAAY,EAAE,EAAM;IAEtC,aAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC;AAHD,sBAGC"}
|
@@ -0,0 +1,66 @@
|
|
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 (mod) {
|
19
|
+
if (mod && mod.__esModule) return mod;
|
20
|
+
var result = {};
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
22
|
+
__setModuleDefault(result, mod);
|
23
|
+
return result;
|
24
|
+
};
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
32
|
+
});
|
33
|
+
};
|
34
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
35
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
36
|
+
};
|
37
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
38
|
+
exports.lc = void 0;
|
39
|
+
const axios_1 = __importDefault(require("axios"));
|
40
|
+
const cheerio = __importStar(require("cheerio"));
|
41
|
+
const headers = {
|
42
|
+
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36",
|
43
|
+
};
|
44
|
+
exports.lc = {
|
45
|
+
name: "LeetCode",
|
46
|
+
get: () => __awaiter(void 0, void 0, void 0, function* () {
|
47
|
+
var _a;
|
48
|
+
const response = yield axios_1.default.get("https://leetcode.com/contest", { headers });
|
49
|
+
const $ = cheerio.load(response.data);
|
50
|
+
const resList = JSON.parse((_a = $("#__NEXT_DATA__").html()) !== null && _a !== void 0 ? _a : "")
|
51
|
+
.props.pageProps.dehydratedState.queries
|
52
|
+
.find((v) => v.queryKey[0] == "topTwoContests")
|
53
|
+
.state.data.topTwoContests;
|
54
|
+
return resList.map((res) => {
|
55
|
+
return {
|
56
|
+
ojName: exports.lc.name,
|
57
|
+
name: res.title,
|
58
|
+
rule: "AtCoder",
|
59
|
+
startTime: new Date(res.startTime * 1000),
|
60
|
+
endTime: new Date((res.startTime + res.duration) * 1000),
|
61
|
+
url: `https://leetcode.com/contest/${res.titleSlug}`
|
62
|
+
};
|
63
|
+
});
|
64
|
+
})
|
65
|
+
};
|
66
|
+
//# sourceMappingURL=leetcode.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"leetcode.js","sourceRoot":"","sources":["../../../src/lib/oj/leetcode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,iDAAmC;AAYnC,MAAM,OAAO,GAAG;IACZ,YAAY,EAAE,qHAAqH;CACtI,CAAC;AAEW,QAAA,EAAE,GAAO;IAClB,IAAI,EAAE,UAAU;IAChB,GAAG,EAAE,GAAS,EAAE;;QAEZ,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,8BAA8B,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9E,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,OAAO,GAAa,IAAI,CAAC,KAAK,CAAC,MAAA,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,mCAAI,EAAE,CAAC;aACjE,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO;aACvC,IAAI,CAAC,CAAC,CAA2B,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC;aACxE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;QAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAW,EAAE;YAEhC,OAAO;gBACH,MAAM,EAAE,UAAE,CAAC,IAAI;gBACf,IAAI,EAAE,GAAG,CAAC,KAAK;gBACf,IAAI,EAAE,SAAS;gBACf,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;gBACzC,OAAO,EAAE,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;gBACxD,GAAG,EAAE,gCAAgC,GAAG,CAAC,SAAS,EAAE;aACvD,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAA;CACJ,CAAC"}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
{
|
2
|
+
"runnning": "搁 ${oj} 上有 ${contestCount} 场比赛正干着呢",
|
3
|
+
"norunning": "这前搁 ${oj} 上没比赛打",
|
4
|
+
"upcoming": "之后 ${days} 天搁 ${oj} 上拢共 ${contestCount} 场比赛",
|
5
|
+
"noupcoming": "没成想往后 ${days} 天搁 ${oj} 没比赛打啊",
|
6
|
+
"ojName": "搁哪",
|
7
|
+
"name": "叫啥",
|
8
|
+
"rule": "咋个整法",
|
9
|
+
"startTime": "啥前开始",
|
10
|
+
"endTime": "多前完事"
|
11
|
+
}
|