lscontests 1.8.7 → 1.8.10
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 +57 -48
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +14 -12
- package/dist/cli.js.map +1 -1
- package/dist/index.js +14 -3
- package/dist/index.js.map +1 -1
- package/dist/lib/oj/codeforces.js +1 -1
- package/dist/lib/oj/codeforces.js.map +1 -1
- package/dist/lib/oj/luogu.js +1 -1
- package/dist/lib/oj/luogu.js.map +1 -1
- package/dist/lib/oj/nowcoder.js +1 -1
- package/dist/lib/oj/nowcoder.js.map +1 -1
- package/dist/locale/en.json +1 -1
- package/dist/locale/index.js +1 -1
- package/dist/locale/index.js.map +1 -1
- package/dist/locale/zh-CN.json +1 -1
- package/dist/locale/zh-TW.json +1 -1
- package/package.json +1 -1
- package/dist/tsconfig.json +0 -23
package/README.md
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
# lscontests
|
2
2
|
|
3
|
-

|
4
|
-

|
5
|
-
](https://github.com/StableAgOH/lscontests)
|
4
|
+
[](https://github.com/StableAgOH/lscontests)
|
5
|
+
[](https://github.com/StableAgOH/lscontests)
|
6
6
|
[](https://github.com/semantic-release/semantic-release)
|
7
7
|
|
8
|
-

|
9
|
-

|
8
|
+
[](https://www.npmjs.com/package/lscontests)
|
9
|
+
[](https://www.npmjs.com/package/lscontests)
|
10
10
|
|
11
11
|
A tool to get information about the contests on each OJ.
|
12
12
|
|
@@ -17,26 +17,51 @@ A tool to get information about the contests on each OJ.
|
|
17
17
|
You can use cli to get a list of information about upcoming contests easily.
|
18
18
|
|
19
19
|
```text
|
20
|
-
lsct [options]
|
20
|
+
Usage: lsct [options]
|
21
21
|
|
22
22
|
Options:
|
23
23
|
-V, --version output the version number
|
24
|
-
-d, --days, <day>
|
25
|
-
-l, --list
|
26
|
-
-o, --oj <ojs...> OJs to
|
27
|
-
-r, --raw
|
28
|
-
-L, --language <lang>
|
29
|
-
--no-sort
|
24
|
+
-d, --days, <day> number of days to display (default: "3")
|
25
|
+
-l, --list list all supported OJ and it's abbreviation
|
26
|
+
-o, --oj <ojs...> OJs to display (choices: "at", "cf", "lg", "nc")
|
27
|
+
-r, --raw print raw contest list
|
28
|
+
-L, --language <lang> set output language (choices: "en", "zh-CN", "zh-TW", default: "zh-CN")
|
29
|
+
--no-sort do not sort by contests start time, but by OJ order
|
30
30
|
-h, --help display help for command
|
31
31
|
```
|
32
32
|
|
33
33
|
It performs as follows:
|
34
34
|
|
35
|
+
<details>
|
36
|
+
<summary> <code>> lsct</code> </summary>
|
37
|
+
|
38
|
+
```text
|
39
|
+
最近的 3 天内在 AtCoder,Codeforces,Luogu,NowCoder 上有 7 场比赛
|
40
|
+
|
41
|
+
比赛平台: NowCoder
|
42
|
+
比赛名称: 牛客挑战赛60
|
43
|
+
赛制: ICPC
|
44
|
+
开始时间: 2022/5/13 19:00:00
|
45
|
+
结束时间: 2022/5/13 22:00:00
|
46
|
+
https://ac.nowcoder.com/acm/contest/11200
|
47
|
+
|
48
|
+
比赛平台: Codeforces
|
49
|
+
比赛名称: Educational Codeforces Round 128 (Rated for Div. 2)
|
50
|
+
赛制: ICPC
|
51
|
+
开始时间: 2022/5/13 22:35:00
|
52
|
+
结束时间: 2022/5/14 00:35:00
|
53
|
+
https://codeforces.com/contests/1680
|
54
|
+
|
55
|
+
......
|
56
|
+
```
|
57
|
+
|
58
|
+
</details>
|
59
|
+
|
35
60
|
<details>
|
36
61
|
<summary> <code>> lsct -o at cf</code> </summary>
|
37
62
|
|
38
63
|
```text
|
39
|
-
|
64
|
+
最近的 3 天内在 AtCoder,Codeforces 上有 3 场比赛
|
40
65
|
|
41
66
|
比赛平台: Codeforces
|
42
67
|
比赛名称: Educational Codeforces Round 128 (Rated for Div. 2)
|
@@ -66,7 +91,7 @@ https://atcoder.jp/contests/abc251
|
|
66
91
|
<summary> <code>> lsct -o lg -d 7 -L en</code> </summary>
|
67
92
|
|
68
93
|
```text
|
69
|
-
2 contests in the last 7 days
|
94
|
+
2 contests on Luogu in the last 7 days
|
70
95
|
|
71
96
|
OJ: Luogu
|
72
97
|
Contest name: 【LGR-109】洛谷 5 月月赛 II & Windy Round 6
|
@@ -86,41 +111,25 @@ https://www.luogu.com.cn/contest/67377
|
|
86
111
|
</details>
|
87
112
|
|
88
113
|
<details>
|
89
|
-
<summary> <code>> lsct -r -o cf
|
114
|
+
<summary> <code>> lsct -r -o cf --no-sort</code> </summary>
|
90
115
|
|
91
116
|
```bash
|
92
117
|
[
|
93
118
|
{
|
94
|
-
ojName:
|
95
|
-
name:
|
96
|
-
rule:
|
97
|
-
startTime: 2022-05-14T09:35:00.000Z,
|
98
|
-
endTime: 2022-05-14T11:35:00.000Z,
|
99
|
-
url:
|
119
|
+
"ojName": "Codeforces",
|
120
|
+
"name": "Codeforces Round #791 (Div. 2)",
|
121
|
+
"rule": "Codeforces",
|
122
|
+
"startTime": "2022-05-14T09:35:00.000Z",
|
123
|
+
"endTime": "2022-05-14T11:35:00.000Z",
|
124
|
+
"url": "https://codeforces.com/contests/1679"
|
100
125
|
},
|
101
126
|
{
|
102
|
-
ojName:
|
103
|
-
name:
|
104
|
-
rule:
|
105
|
-
startTime: 2022-05-13T14:35:00.000Z,
|
106
|
-
endTime: 2022-05-13T16:35:00.000Z,
|
107
|
-
url:
|
108
|
-
},
|
109
|
-
{
|
110
|
-
ojName: 'NowCoder',
|
111
|
-
name: '牛客挑战赛60',
|
112
|
-
rule: 'ICPC',
|
113
|
-
startTime: 2022-05-13T11:00:00.000Z,
|
114
|
-
endTime: 2022-05-13T14:00:00.000Z,
|
115
|
-
url: 'https://ac.nowcoder.com/acm/contest/11200'
|
116
|
-
},
|
117
|
-
{
|
118
|
-
ojName: 'NowCoder',
|
119
|
-
name: '第十八届西南科技大学ACM程序设计竞赛(同步赛)',
|
120
|
-
rule: 'ICPC',
|
121
|
-
startTime: 2022-05-14T05:00:00.000Z,
|
122
|
-
endTime: 2022-05-14T10:00:00.000Z,
|
123
|
-
url: 'https://ac.nowcoder.com/acm/contest/33540'
|
127
|
+
"ojName": "Codeforces",
|
128
|
+
"name": "Educational Codeforces Round 128 (Rated for Div. 2)",
|
129
|
+
"rule": "ICPC",
|
130
|
+
"startTime": "2022-05-13T14:35:00.000Z",
|
131
|
+
"endTime": "2022-05-13T16:35:00.000Z",
|
132
|
+
"url": "https://codeforces.com/contests/1680"
|
124
133
|
}
|
125
134
|
]
|
126
135
|
```
|
@@ -179,13 +188,13 @@ main();
|
|
179
188
|
This code gives the following results:
|
180
189
|
|
181
190
|
```text
|
182
|
-
1 contests in the last 1 days
|
191
|
+
1 contests on Codeforces,testOJ in the last 1 days
|
183
192
|
|
184
193
|
OJ: testOJ
|
185
194
|
Contest name: testContest
|
186
195
|
Rule: ICPC
|
187
|
-
Start time: 2022/5/
|
188
|
-
End time: 2022/5/
|
196
|
+
Start time: 2022/5/13 19:34:10
|
197
|
+
End time: 2022/5/14 19:34:10
|
189
198
|
https://www.test.com
|
190
199
|
|
191
200
|
[
|
@@ -193,8 +202,8 @@ https://www.test.com
|
|
193
202
|
ojName: 'testOJ',
|
194
203
|
name: 'testContest',
|
195
204
|
rule: 'ICPC',
|
196
|
-
startTime: 2022-05-
|
197
|
-
endTime: 2022-05-
|
205
|
+
startTime: 2022-05-13T11:34:13.464Z,
|
206
|
+
endTime: 2022-05-14T11:34:13.464Z,
|
198
207
|
url: 'https://www.test.com'
|
199
208
|
},
|
200
209
|
{
|
package/dist/cli.d.ts
CHANGED
@@ -1,2 +1,2 @@
|
|
1
1
|
#!/usr/bin/env node
|
2
|
-
export declare function cli(arg?: string): Promise<string>;
|
2
|
+
export declare function cli(arg?: string, name?: string): Promise<string>;
|
package/dist/cli.js
CHANGED
@@ -22,16 +22,16 @@ const locale_1 = require("./locale");
|
|
22
22
|
const lodash_1 = __importDefault(require("lodash"));
|
23
23
|
function initCmd() {
|
24
24
|
return new commander_1.Command()
|
25
|
-
.name(
|
25
|
+
.name(Object.keys(package_json_1.bin)[0])
|
26
26
|
.version(package_json_1.version)
|
27
|
-
.option("-d, --days, <day>", "
|
28
|
-
.option("-l, --list", "
|
29
|
-
.addOption(new commander_1.Option("-o, --oj <ojs...>", "OJs to
|
30
|
-
.addOption(new commander_1.Option("-r, --raw", "
|
31
|
-
.addOption(new commander_1.Option("-L, --language <lang>", "
|
32
|
-
.option("--no-sort", "
|
27
|
+
.option("-d, --days, <day>", "number of days to display", "3")
|
28
|
+
.option("-l, --list", "list all supported OJ and it's abbreviation")
|
29
|
+
.addOption(new commander_1.Option("-o, --oj <ojs...>", "OJs to display").choices(Object.keys(oj_1.alloj)))
|
30
|
+
.addOption(new commander_1.Option("-r, --raw", "print raw contest list").conflicts("language"))
|
31
|
+
.addOption(new commander_1.Option("-L, --language <lang>", "set output language").default("zh-CN").choices(locale_1.langList))
|
32
|
+
.option("--no-sort", "do not sort by contests start time, but by OJ order");
|
33
33
|
}
|
34
|
-
function cli(arg) {
|
34
|
+
function cli(arg, name) {
|
35
35
|
return __awaiter(this, void 0, void 0, function* () {
|
36
36
|
const cmd = initCmd();
|
37
37
|
if (arg === undefined)
|
@@ -39,11 +39,13 @@ function cli(arg) {
|
|
39
39
|
else {
|
40
40
|
let msg = "";
|
41
41
|
try {
|
42
|
+
if (name)
|
43
|
+
cmd.name(name);
|
42
44
|
cmd
|
43
45
|
.configureOutput({
|
44
|
-
writeOut:
|
45
|
-
writeErr:
|
46
|
-
outputError:
|
46
|
+
writeOut: str => msg = str,
|
47
|
+
writeErr: str => msg = str,
|
48
|
+
outputError: str => msg = str
|
47
49
|
})
|
48
50
|
.exitOverride()
|
49
51
|
.parse(arg.split(" "), { from: "user" });
|
@@ -54,7 +56,7 @@ function cli(arg) {
|
|
54
56
|
}
|
55
57
|
const opts = cmd.opts();
|
56
58
|
if (opts.list)
|
57
|
-
return
|
59
|
+
return " abbr OJ\n" + JSON.stringify(lodash_1.default.mapValues(oj_1.alloj, val => val.name), null, 2);
|
58
60
|
else {
|
59
61
|
const config = {
|
60
62
|
abbrList: lodash_1.default.uniq(opts.oj),
|
package/dist/cli.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AACA,kDAA+C;AAC/C,yCAA4C;AAC5C,iCAAiC;AACjC,wBAA2D;AAC3D,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;AAED,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,iBAAc,EAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;;gBACrE,OAAO,MAAM,IAAA,iBAAc,EAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC3D;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.js
CHANGED
@@ -21,9 +21,15 @@ const defaultConfig = {
|
|
21
21
|
days: 3,
|
22
22
|
sort: true
|
23
23
|
};
|
24
|
+
function resolveConfig(config) {
|
25
|
+
const cfg = Object.assign(Object.assign({}, defaultConfig), config);
|
26
|
+
if (cfg.abbrList.length == 0)
|
27
|
+
cfg.abbrList = defaultConfig.abbrList;
|
28
|
+
return cfg;
|
29
|
+
}
|
24
30
|
function getContestList(config) {
|
25
31
|
return __awaiter(this, void 0, void 0, function* () {
|
26
|
-
const cfg =
|
32
|
+
const cfg = resolveConfig(config);
|
27
33
|
const contests = (yield Promise.all(cfg.abbrList.map((abbr) => __awaiter(this, void 0, void 0, function* () {
|
28
34
|
try {
|
29
35
|
const cts = yield oj_1.alloj[abbr].get();
|
@@ -43,10 +49,15 @@ function getContestList(config) {
|
|
43
49
|
exports.getContestList = getContestList;
|
44
50
|
function getContestInfo(config, language = "zh-CN") {
|
45
51
|
return __awaiter(this, void 0, void 0, function* () {
|
52
|
+
const cfg = resolveConfig(config);
|
46
53
|
const lang = yield (0, locale_1.getLangDict)(language);
|
47
|
-
const contests = yield getContestList(
|
54
|
+
const contests = yield getContestList(cfg);
|
48
55
|
const info = [];
|
49
|
-
info.push(lodash_1.default.template(lang.welcome)({
|
56
|
+
info.push(lodash_1.default.template(lang.welcome)({
|
57
|
+
contestCount: contests.length,
|
58
|
+
days: cfg.days,
|
59
|
+
oj: cfg.abbrList.map(abbr => oj_1.alloj[abbr].name).join(",")
|
60
|
+
}));
|
50
61
|
for (const contest of contests) {
|
51
62
|
const msg = [];
|
52
63
|
msg.push(`${lang.ojName}: ${contest.ojName}`);
|
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;AACvC,oDAAuB;AAQvB,MAAM,aAAa,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,UAAK,CAAC;IAC5B,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,IAAI;CACb,CAAC;AAEF,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
@@ -60,7 +60,7 @@ exports.cf = {
|
|
60
60
|
endTime: new Date((res.startTimeSeconds + res.durationSeconds) * 1000),
|
61
61
|
url: `https://codeforces.com/contests/${res.id}`
|
62
62
|
};
|
63
|
-
}).filter(
|
63
|
+
}).filter(contest => contest.startTime >= new Date());
|
64
64
|
})
|
65
65
|
};
|
66
66
|
//# sourceMappingURL=codeforces.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"codeforces.js","sourceRoot":"","sources":["../../../src/lib/oj/codeforces.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,iDAAmC;AAenC,MAAM,UAAU,GAAyB;IACrC,EAAE,EAAE,YAAY;IAChB,IAAI,EAAE,MAAM;CACf,CAAC;AAEW,QAAA,EAAE,GAAO;IAClB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,GAAS,EAAE;QAEZ,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QAC5E,IAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,YAAY,MAAM,CAAC,EACrC;YACI,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;SAC7B;QACD,MAAM,OAAO,GAAa,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QAC/C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAW,EAAE;YAEhC,OAAO;gBACH,MAAM,EAAE,UAAE,CAAC,IAAI;gBACf,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC1B,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAChD,OAAO,EAAE,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,GAAG,GAAG,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;gBACtE,GAAG,EAAE,mCAAmC,GAAG,CAAC,EAAE,EAAE;aACnD,CAAC;QACN,CAAC,CAAC,CAAC,MAAM,CAAC,
|
1
|
+
{"version":3,"file":"codeforces.js","sourceRoot":"","sources":["../../../src/lib/oj/codeforces.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,iDAAmC;AAenC,MAAM,UAAU,GAAyB;IACrC,EAAE,EAAE,YAAY;IAChB,IAAI,EAAE,MAAM;CACf,CAAC;AAEW,QAAA,EAAE,GAAO;IAClB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,GAAS,EAAE;QAEZ,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QAC5E,IAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,YAAY,MAAM,CAAC,EACrC;YACI,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;SAC7B;QACD,MAAM,OAAO,GAAa,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;QAC/C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAW,EAAE;YAEhC,OAAO;gBACH,MAAM,EAAE,UAAE,CAAC,IAAI;gBACf,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC1B,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAChD,OAAO,EAAE,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,GAAG,GAAG,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;gBACtE,GAAG,EAAE,mCAAmC,GAAG,CAAC,EAAE,EAAE;aACnD,CAAC;QACN,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAA;CACJ,CAAC"}
|
package/dist/lib/oj/luogu.js
CHANGED
@@ -38,7 +38,7 @@ exports.lg = {
|
|
38
38
|
endTime: new Date(res.endTime * 1000),
|
39
39
|
url: `https://www.luogu.com.cn/contest/${res.id}`
|
40
40
|
};
|
41
|
-
}).filter(
|
41
|
+
}).filter(contest => contest.startTime >= new Date());
|
42
42
|
})
|
43
43
|
};
|
44
44
|
//# sourceMappingURL=luogu.js.map
|
package/dist/lib/oj/luogu.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"luogu.js","sourceRoot":"","sources":["../../../src/lib/oj/luogu.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA0B;AAiB1B,MAAM,UAAU,GAAyB;IACrC,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,YAAY;CAClB,CAAC;AAEF,MAAM,OAAO,GAAG;IACZ,YAAY,EAAE,qHAAqH;IACnI,cAAc,EAAE,cAAc;CACjC,CAAC;AAEW,QAAA,EAAE,GAAO;IAClB,IAAI,EAAE,OAAO;IACb,GAAG,EAAE,GAAS,EAAE;QAEZ,MAAM,OAAO,GAAa,CAAC,MAAM,eAAK,CAAC,GAAG,CAAC,uCAAuC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC;QACnI,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAW,EAAE;YAEhC,OAAO;gBACH,MAAM,EAAE,UAAE,CAAC,IAAI;gBACf,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAC9B,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;gBACzC,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;gBACrC,GAAG,EAAE,oCAAoC,GAAG,CAAC,EAAE,EAAE;aACpD,CAAC;QACN,CAAC,CAAC,CAAC,MAAM,CAAC,
|
1
|
+
{"version":3,"file":"luogu.js","sourceRoot":"","sources":["../../../src/lib/oj/luogu.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA0B;AAiB1B,MAAM,UAAU,GAAyB;IACrC,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,OAAO;IACV,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,YAAY;CAClB,CAAC;AAEF,MAAM,OAAO,GAAG;IACZ,YAAY,EAAE,qHAAqH;IACnI,cAAc,EAAE,cAAc;CACjC,CAAC;AAEW,QAAA,EAAE,GAAO;IAClB,IAAI,EAAE,OAAO;IACb,GAAG,EAAE,GAAS,EAAE;QAEZ,MAAM,OAAO,GAAa,CAAC,MAAM,eAAK,CAAC,GAAG,CAAC,uCAAuC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,CAAC;QACnI,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAW,EAAE;YAEhC,OAAO;gBACH,MAAM,EAAE,UAAE,CAAC,IAAI;gBACf,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;gBAC9B,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;gBACzC,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;gBACrC,GAAG,EAAE,oCAAoC,GAAG,CAAC,EAAE,EAAE;aACpD,CAAC;QACN,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAA;CACJ,CAAC"}
|
package/dist/lib/oj/nowcoder.js
CHANGED
@@ -67,7 +67,7 @@ exports.nc = {
|
|
67
67
|
...yield getResultList(topCategoryFilter.NOWCODERSERIES),
|
68
68
|
...yield getResultList(topCategoryFilter.SCHOOLCONTEST)
|
69
69
|
];
|
70
|
-
return res.filter(
|
70
|
+
return res.filter(res => res.signUpEndCountDownTime > 0).map((res) => {
|
71
71
|
return {
|
72
72
|
ojName: exports.nc.name,
|
73
73
|
name: res.contestName,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"nowcoder.js","sourceRoot":"","sources":["../../../src/lib/oj/nowcoder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,iDAAmC;AAgDnC,IAAK,iBAIJ;AAJD,WAAK,iBAAiB;IAElB,8EAAmB,CAAA;IACnB,4EAAa,CAAA;AACjB,CAAC,EAJI,iBAAiB,KAAjB,iBAAiB,QAIrB;AAED,MAAM,GAAG,GAAG,+CAA+C,CAAC;AAE5D,SAAe,aAAa,CAAC,GAAsB;;QAE/C,MAAM,IAAI,GAAG,CAAC,MAAM,eAAK,CAAC,GAAG,CAAC,GAAG,GAAG,sBAAsB,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACvE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,EAAE,GAAa,EAAE,CAAC;QACxB,CAAC,CAAC,qCAAqC,CAAC,CAAC,IAAI,CAAC;YAE1C,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACd,CAAC;CAAA;AAED,MAAM,UAAU,GAAyB;IACrC,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,IAAI;CACV,CAAC;AAEW,QAAA,EAAE,GAAO;IAClB,IAAI,EAAE,UAAU;IAChB,GAAG,EAAE,GAAS,EAAE;QAEZ,MAAM,GAAG,GAAa;YAClB,GAAG,MAAM,aAAa,CAAC,iBAAiB,CAAC,cAAc,CAAC;YACxD,GAAG,MAAM,aAAa,CAAC,iBAAiB,CAAC,aAAa,CAAC;SAC1D,CAAC;QACF,OAAO,GAAG,CAAC,MAAM,CAAC,
|
1
|
+
{"version":3,"file":"nowcoder.js","sourceRoot":"","sources":["../../../src/lib/oj/nowcoder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,iDAAmC;AAgDnC,IAAK,iBAIJ;AAJD,WAAK,iBAAiB;IAElB,8EAAmB,CAAA;IACnB,4EAAa,CAAA;AACjB,CAAC,EAJI,iBAAiB,KAAjB,iBAAiB,QAIrB;AAED,MAAM,GAAG,GAAG,+CAA+C,CAAC;AAE5D,SAAe,aAAa,CAAC,GAAsB;;QAE/C,MAAM,IAAI,GAAG,CAAC,MAAM,eAAK,CAAC,GAAG,CAAC,GAAG,GAAG,sBAAsB,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACvE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,EAAE,GAAa,EAAE,CAAC;QACxB,CAAC,CAAC,qCAAqC,CAAC,CAAC,IAAI,CAAC;YAE1C,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACxE,CAAC,CAAC,CAAC;QACH,OAAO,EAAE,CAAC;IACd,CAAC;CAAA;AAED,MAAM,UAAU,GAAyB;IACrC,CAAC,EAAE,MAAM;IACT,CAAC,EAAE,KAAK;IACR,CAAC,EAAE,IAAI;CACV,CAAC;AAEW,QAAA,EAAE,GAAO;IAClB,IAAI,EAAE,UAAU;IAChB,GAAG,EAAE,GAAS,EAAE;QAEZ,MAAM,GAAG,GAAa;YAClB,GAAG,MAAM,aAAa,CAAC,iBAAiB,CAAC,cAAc,CAAC;YACxD,GAAG,MAAM,aAAa,CAAC,iBAAiB,CAAC,aAAa,CAAC;SAC1D,CAAC;QACF,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,sBAAsB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAW,EAAE;YAE1E,OAAO;gBACH,MAAM,EAAE,UAAE,CAAC,IAAI;gBACf,IAAI,EAAE,GAAG,CAAC,WAAW;gBACrB,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;gBAC1B,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC;gBACzC,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC;gBACrC,GAAG,EAAE,uCAAuC,GAAG,CAAC,SAAS,EAAE;aAC9D,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAA;CACJ,CAAC"}
|
package/dist/locale/en.json
CHANGED
package/dist/locale/index.js
CHANGED
@@ -34,7 +34,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
34
34
|
Object.defineProperty(exports, "__esModule", { value: true });
|
35
35
|
exports.getLangDict = exports.langList = void 0;
|
36
36
|
const fs_1 = require("fs");
|
37
|
-
exports.langList = (0, fs_1.readdirSync)(`${__dirname}`).filter(fileName => fileName.endsWith(".json")).map(
|
37
|
+
exports.langList = (0, fs_1.readdirSync)(`${__dirname}`).filter(fileName => fileName.endsWith(".json")).map(fileName => fileName.replace(".json", ""));
|
38
38
|
function getLangDict(language) {
|
39
39
|
return __awaiter(this, void 0, void 0, function* () {
|
40
40
|
if (!exports.langList.includes(language))
|
package/dist/locale/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/locale/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2BAAiC;AAEpB,QAAA,QAAQ,GAAG,IAAA,gBAAW,EAAC,GAAG,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/locale/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2BAAiC;AAEpB,QAAA,QAAQ,GAAG,IAAA,gBAAW,EAAC,GAAG,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAWlJ,SAAsB,WAAW,CAAC,QAAgB;;QAE9C,IAAG,CAAC,gBAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,QAAQ,+BAA+B,gBAAQ,EAAE,CAAC,CAAC;QACxH,yDAAc,KAAK,QAAQ,OAAO,IAAE;IACxC,CAAC;CAAA;AAJD,kCAIC"}
|
package/dist/locale/zh-CN.json
CHANGED
package/dist/locale/zh-TW.json
CHANGED
package/package.json
CHANGED
package/dist/tsconfig.json
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"compilerOptions": {
|
3
|
-
"target": "es6",
|
4
|
-
"module": "commonjs",
|
5
|
-
"esModuleInterop": true,
|
6
|
-
"forceConsistentCasingInFileNames": true,
|
7
|
-
"strict": true,
|
8
|
-
"skipLibCheck": true,
|
9
|
-
"sourceMap": true,
|
10
|
-
"declaration": true,
|
11
|
-
"outDir": "../dist/",
|
12
|
-
"resolveJsonModule": true
|
13
|
-
},
|
14
|
-
"include": [
|
15
|
-
"**/*.ts",
|
16
|
-
"**/*.json"
|
17
|
-
],
|
18
|
-
"references": [
|
19
|
-
{
|
20
|
-
"path": "../"
|
21
|
-
}
|
22
|
-
]
|
23
|
-
}
|