lscontests 1.11.1 → 1.11.2

Sign up to get free protection for your applications and to get access to all the features.
package/README.md CHANGED
@@ -54,13 +54,13 @@ Options:
54
54
  It performs as follows:
55
55
 
56
56
  <!-- block_cli begin -->
57
- (*The following content was automatically generated using [semantic-release](https://github.com/semantic-release/semantic-release) on Tue, 17 May 2022 04:55:42 GMT*)
57
+ (*The following content was automatically generated using [semantic-release](https://github.com/semantic-release/semantic-release) on Thu, 19 May 2022 12:15:46 GMT*)
58
58
 
59
59
  <details>
60
60
  <summary> <code>> lsct -L en</code> </summary>
61
61
 
62
62
  ```text
63
- There are 2 contests is running on NowCoder
63
+ There are 3 contests is running on NowCoder
64
64
 
65
65
  OJ: NowCoder
66
66
  Contest name: 牛客竞赛博弈专题班 Sprague-Grundy 函数(SG 函数、图游戏、Nim 和)
@@ -76,21 +76,56 @@ Start time: 5/13/2022, 06:00:00
76
76
  End time: 5/30/2022, 08:00:00
77
77
  https://ac.nowcoder.com/acm/contest/34649
78
78
 
79
- There are 2 contests on Codeforces in the next 3 days
79
+ OJ: NowCoder
80
+ Contest name: 牛客竞赛字符串专题班 SA(后缀数组 nlogn 构造和应用)习题
81
+ Rule: ICPC
82
+ Start time: 5/17/2022, 09:00:00
83
+ End time: 5/24/2022, 14:00:00
84
+ https://ac.nowcoder.com/acm/contest/34974
80
85
 
81
- OJ: Codeforces
82
- Contest name: Codeforces Round #792 (Div. 1)
83
- Rule: Codeforces
84
- Start time: 5/19/2022, 14:35:00
85
- End time: 5/19/2022, 16:35:00
86
- https://codeforces.com/contests/1683
86
+ There are 6 contests on Codeforces,NowCoder,AtCoder,LeetCode in the next 3 days
87
87
 
88
88
  OJ: Codeforces
89
- Contest name: Codeforces Round #792 (Div. 2)
89
+ Contest name: Codeforces Round #792 (Div. 1 + Div. 2)
90
90
  Rule: Codeforces
91
91
  Start time: 5/19/2022, 14:35:00
92
92
  End time: 5/19/2022, 16:35:00
93
93
  https://codeforces.com/contests/1684
94
+
95
+ OJ: NowCoder
96
+ Contest name: 武汉理工大学第三届程序设计竞赛(同步赛)
97
+ Rule: ICPC
98
+ Start time: 5/21/2022, 03:00:00
99
+ End time: 5/21/2022, 08:00:00
100
+ https://ac.nowcoder.com/acm/contest/33634
101
+
102
+ OJ: NowCoder
103
+ Contest name: 第十九届同济大学程序设计竞赛暨高校网络友谊赛
104
+ Rule: ICPC
105
+ Start time: 5/21/2022, 05:00:00
106
+ End time: 5/21/2022, 10:00:00
107
+ https://ac.nowcoder.com/acm/contest/34442
108
+
109
+ OJ: NowCoder
110
+ Contest name: 牛客小白月赛 50
111
+ Rule: ICPC
112
+ Start time: 5/21/2022, 11:00:00
113
+ End time: 5/21/2022, 13:00:00
114
+ https://ac.nowcoder.com/acm/contest/11227
115
+
116
+ OJ: AtCoder
117
+ Contest name: Ⓐ AtCoder Beginner Contest 252
118
+ Rule: AtCoder
119
+ Start time: 5/21/2022, 12:00:00
120
+ End time: 5/21/2022, 13:40:00
121
+ https://atcoder.jp/contests/abc252
122
+
123
+ OJ: LeetCode
124
+ Contest name: Weekly Contest 294
125
+ Rule: AtCoder
126
+ Start time: 5/22/2022, 02:30:00
127
+ End time: 5/22/2022, 04:00:00
128
+ https://leetcode.com/contest/weekly-contest-294
94
129
  ```
95
130
 
96
131
  </details>
@@ -101,17 +136,10 @@ https://codeforces.com/contests/1684
101
136
  ```text
102
137
  No running contests
103
138
 
104
- There are 5 contests on Codeforces,AtCoder in the next 7 days
139
+ There are 6 contests on Codeforces,AtCoder in the next 7 days
105
140
 
106
141
  OJ: Codeforces
107
- Contest name: Codeforces Round #792 (Div. 1)
108
- Rule: Codeforces
109
- Start time: 5/19/2022, 14:35:00
110
- End time: 5/19/2022, 16:35:00
111
- https://codeforces.com/contests/1683
112
-
113
- OJ: Codeforces
114
- Contest name: Codeforces Round #792 (Div. 2)
142
+ Contest name: Codeforces Round #792 (Div. 1 + Div. 2)
115
143
  Rule: Codeforces
116
144
  Start time: 5/19/2022, 14:35:00
117
145
  End time: 5/19/2022, 16:35:00
@@ -137,6 +165,20 @@ Rule: ICPC
137
165
  Start time: 5/23/2022, 14:35:00
138
166
  End time: 5/23/2022, 16:35:00
139
167
  https://codeforces.com/contests/1681
168
+
169
+ OJ: Codeforces
170
+ Contest name: Codeforces Round #794 (Div. 1)
171
+ Rule: Codeforces
172
+ Start time: 5/25/2022, 17:35:00
173
+ End time: 5/25/2022, 19:35:00
174
+ https://codeforces.com/contests/1685
175
+
176
+ OJ: Codeforces
177
+ Contest name: Codeforces Round #794 (Div. 2)
178
+ Rule: Codeforces
179
+ Start time: 5/25/2022, 17:35:00
180
+ End time: 5/25/2022, 19:35:00
181
+ https://codeforces.com/contests/1686
140
182
  ```
141
183
 
142
184
  </details>
@@ -156,6 +198,22 @@ https://codeforces.com/contests/1681
156
198
  "endTime": "2022-05-21T13:40:00.000Z",
157
199
  "url": "https://atcoder.jp/contests/abc252"
158
200
  },
201
+ {
202
+ "ojName": "Codeforces",
203
+ "name": "Codeforces Round #794 (Div. 1)",
204
+ "rule": "Codeforces",
205
+ "startTime": "2022-05-25T17:35:00.000Z",
206
+ "endTime": "2022-05-25T19:35:00.000Z",
207
+ "url": "https://codeforces.com/contests/1685"
208
+ },
209
+ {
210
+ "ojName": "Codeforces",
211
+ "name": "Codeforces Round #794 (Div. 2)",
212
+ "rule": "Codeforces",
213
+ "startTime": "2022-05-25T17:35:00.000Z",
214
+ "endTime": "2022-05-25T19:35:00.000Z",
215
+ "url": "https://codeforces.com/contests/1686"
216
+ },
159
217
  {
160
218
  "ojName": "Codeforces",
161
219
  "name": "Educational Codeforces Round 129 (Rated for Div. 2)",
@@ -174,15 +232,7 @@ https://codeforces.com/contests/1681
174
232
  },
175
233
  {
176
234
  "ojName": "Codeforces",
177
- "name": "Codeforces Round #792 (Div. 1)",
178
- "rule": "Codeforces",
179
- "startTime": "2022-05-19T14:35:00.000Z",
180
- "endTime": "2022-05-19T16:35:00.000Z",
181
- "url": "https://codeforces.com/contests/1683"
182
- },
183
- {
184
- "ojName": "Codeforces",
185
- "name": "Codeforces Round #792 (Div. 2)",
235
+ "name": "Codeforces Round #792 (Div. 1 + Div. 2)",
186
236
  "rule": "Codeforces",
187
237
  "startTime": "2022-05-19T14:35:00.000Z",
188
238
  "endTime": "2022-05-19T16:35:00.000Z",
@@ -40,35 +40,37 @@ const axios_1 = __importDefault(require("axios"));
40
40
  const cheerio = __importStar(require("cheerio"));
41
41
  exports.at = {
42
42
  name: "AtCoder",
43
- get: () => __awaiter(void 0, void 0, void 0, function* () {
44
- const response = yield axios_1.default.get("https://atcoder.jp/contests");
45
- const $ = cheerio.load(response.data);
46
- const contests = [];
47
- $("#contest-table-upcoming,#contest-table-action table > tbody > tr").each(function () {
48
- const ct = {
49
- ojName: exports.at.name,
50
- name: "",
51
- rule: "AtCoder",
52
- startTime: new Date(0),
53
- endTime: new Date(0),
54
- url: ""
55
- };
56
- $("td", this).each(function (idx) {
57
- if (idx == 0)
58
- ct.startTime = new Date($(this).text());
59
- else if (idx == 1) {
60
- const ele = $("a", this);
61
- ct.name = `${$("span:first", this).text()} ${ele.text()}`;
62
- ct.url = `https://atcoder.jp${ele.attr().href}`;
63
- }
64
- else if (idx == 2) {
65
- const [h, m] = $(this).text().split(":");
66
- ct.endTime = new Date(ct.startTime.getTime() + (parseInt(h) * 60 + parseInt(m)) * 60 * 1000);
67
- }
43
+ get() {
44
+ return __awaiter(this, void 0, void 0, function* () {
45
+ const response = yield axios_1.default.get("https://atcoder.jp/contests");
46
+ const $ = cheerio.load(response.data);
47
+ const contests = [];
48
+ $("#contest-table-upcoming,#contest-table-action table > tbody > tr").each(function () {
49
+ const ct = {
50
+ ojName: exports.at.name,
51
+ name: "",
52
+ rule: "AtCoder",
53
+ startTime: new Date(0),
54
+ endTime: new Date(0),
55
+ url: ""
56
+ };
57
+ $("td", this).each(function (idx) {
58
+ if (idx == 0)
59
+ ct.startTime = new Date($(this).text());
60
+ else if (idx == 1) {
61
+ const ele = $("a", this);
62
+ ct.name = `${$("span:first", this).text()} ${ele.text()}`;
63
+ ct.url = `https://atcoder.jp${ele.attr().href}`;
64
+ }
65
+ else if (idx == 2) {
66
+ const [h, m] = $(this).text().split(":");
67
+ ct.endTime = new Date(ct.startTime.getTime() + (parseInt(h) * 60 + parseInt(m)) * 60 * 1000);
68
+ }
69
+ });
70
+ contests.push(ct);
68
71
  });
69
- contests.push(ct);
72
+ return contests;
70
73
  });
71
- return contests;
72
- })
74
+ }
73
75
  };
74
76
  //# sourceMappingURL=atcoder.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"atcoder.js","sourceRoot":"","sources":["../../../src/lib/oj/atcoder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,iDAAmC;AAItB,QAAA,EAAE,GAAO;IAClB,IAAI,EAAE,SAAS;IACf,GAAG,EAAE,GAAS,EAAE;QAEZ,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;QAChE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAc,EAAE,CAAC;QAC/B,CAAC,CAAC,kEAAkE,CAAC,CAAC,IAAI,CAAC;YAEvE,MAAM,EAAE,GAAY;gBAChB,MAAM,EAAE,UAAE,CAAC,IAAI;gBACf,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;gBACtB,OAAO,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;gBACpB,GAAG,EAAE,EAAE;aACV,CAAC;YACF,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG;gBAE5B,IAAG,GAAG,IAAI,CAAC;oBAAE,EAAE,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;qBAChD,IAAG,GAAG,IAAI,CAAC,EAChB;oBACI,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;oBACzB,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC1D,EAAE,CAAC,GAAG,GAAG,qBAAqB,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;iBACnD;qBACI,IAAG,GAAG,IAAI,CAAC,EAChB;oBACI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACzC,EAAE,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;iBAChG;YACL,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IACpB,CAAC,CAAA;CACJ,CAAC"}
1
+ {"version":3,"file":"atcoder.js","sourceRoot":"","sources":["../../../src/lib/oj/atcoder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,iDAAmC;AAItB,QAAA,EAAE,GAAO;IAClB,IAAI,EAAE,SAAS;IACT,GAAG;;YAEL,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;YAChE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,QAAQ,GAAc,EAAE,CAAC;YAC/B,CAAC,CAAC,kEAAkE,CAAC,CAAC,IAAI,CAAC;gBAEvE,MAAM,EAAE,GAAY;oBAChB,MAAM,EAAE,UAAE,CAAC,IAAI;oBACf,IAAI,EAAE,EAAE;oBACR,IAAI,EAAE,SAAS;oBACf,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;oBACtB,OAAO,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC;oBACpB,GAAG,EAAE,EAAE;iBACV,CAAC;gBACF,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG;oBAE5B,IAAG,GAAG,IAAI,CAAC;wBAAE,EAAE,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;yBAChD,IAAG,GAAG,IAAI,CAAC,EAChB;wBACI,MAAM,GAAG,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;wBACzB,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;wBAC1D,EAAE,CAAC,GAAG,GAAG,qBAAqB,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;qBACnD;yBACI,IAAG,GAAG,IAAI,CAAC,EAChB;wBACI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBACzC,EAAE,CAAC,OAAO,GAAG,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;qBAChG;gBACL,CAAC,CAAC,CAAC;gBACH,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtB,CAAC,CAAC,CAAC;YACH,OAAO,QAAQ,CAAC;QACpB,CAAC;KAAA;CACJ,CAAC"}
@@ -44,23 +44,25 @@ const ruleRecord = {
44
44
  };
45
45
  exports.cf = {
46
46
  name: "Codeforces",
47
- get: () => __awaiter(void 0, void 0, void 0, function* () {
48
- const response = yield axios_1.default.get("https://codeforces.com/api/contest.list");
49
- if (!(response.data instanceof Object)) {
50
- const $ = cheerio.load(response.data);
51
- throw new Error($.text());
52
- }
53
- const resList = response.data.result;
54
- return resList.map((res) => {
55
- return {
56
- ojName: exports.cf.name,
57
- name: res.name,
58
- rule: ruleRecord[res.type],
59
- startTime: new Date(res.startTimeSeconds * 1000),
60
- endTime: new Date((res.startTimeSeconds + res.durationSeconds) * 1000),
61
- url: `https://codeforces.com/contests/${res.id}`
62
- };
63
- }).filter(contest => contest.endTime >= new Date());
64
- })
47
+ get() {
48
+ return __awaiter(this, void 0, void 0, function* () {
49
+ const response = yield axios_1.default.get("https://codeforces.com/api/contest.list");
50
+ if (!(response.data instanceof Object)) {
51
+ const $ = cheerio.load(response.data);
52
+ throw new Error($.text());
53
+ }
54
+ const resList = response.data.result;
55
+ return resList.map((res) => {
56
+ return {
57
+ ojName: exports.cf.name,
58
+ name: res.name,
59
+ rule: ruleRecord[res.type],
60
+ startTime: new Date(res.startTimeSeconds * 1000),
61
+ endTime: new Date((res.startTimeSeconds + res.durationSeconds) * 1000),
62
+ url: `https://codeforces.com/contests/${res.id}`
63
+ };
64
+ }).filter(contest => contest.endTime >= new Date());
65
+ });
66
+ }
65
67
  };
66
68
  //# 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,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC,CAAA;CACJ,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;IACZ,GAAG;;YAEL,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;YAC5E,IAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,YAAY,MAAM,CAAC,EACrC;gBACI,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;aAC7B;YACD,MAAM,OAAO,GAAa,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;YAC/C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAW,EAAE;gBAEhC,OAAO;oBACH,MAAM,EAAE,UAAE,CAAC,IAAI;oBACf,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;oBAC1B,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;oBAChD,OAAO,EAAE,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,GAAG,GAAG,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;oBACtE,GAAG,EAAE,mCAAmC,GAAG,CAAC,EAAE,EAAE;iBACnD,CAAC;YACN,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;KAAA;CACJ,CAAC"}
@@ -6,7 +6,7 @@ import { contest } from "../contest";
6
6
  */
7
7
  export declare type oj = {
8
8
  name: string;
9
- get: () => Promise<contest[]>;
9
+ get(): Promise<contest[]>;
10
10
  };
11
11
  export declare const alloj: {
12
12
  [abbr: string]: oj;
@@ -43,24 +43,26 @@ const headers = {
43
43
  };
44
44
  exports.lc = {
45
45
  name: "LeetCode",
46
- get: () => __awaiter(void 0, void 0, void 0, function* () {
46
+ get() {
47
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
- };
48
+ return __awaiter(this, void 0, void 0, function* () {
49
+ const response = yield axios_1.default.get("https://leetcode.com/contest", { headers });
50
+ const $ = cheerio.load(response.data);
51
+ const resList = JSON.parse((_a = $("#__NEXT_DATA__").html()) !== null && _a !== void 0 ? _a : "")
52
+ .props.pageProps.dehydratedState.queries
53
+ .find((v) => v.queryKey[0] == "topTwoContests")
54
+ .state.data.topTwoContests;
55
+ return resList.map((res) => {
56
+ return {
57
+ ojName: exports.lc.name,
58
+ name: res.title,
59
+ rule: "AtCoder",
60
+ startTime: new Date(res.startTime * 1000),
61
+ endTime: new Date((res.startTime + res.duration) * 1000),
62
+ url: `https://leetcode.com/contest/${res.titleSlug}`
63
+ };
64
+ });
63
65
  });
64
- })
66
+ }
65
67
  };
66
68
  //# sourceMappingURL=leetcode.js.map
@@ -1 +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"}
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;IACV,GAAG;;;YAEL,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,8BAA8B,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9E,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,OAAO,GAAa,IAAI,CAAC,KAAK,CAAC,MAAA,CAAC,CAAC,gBAAgB,CAAC,CAAC,IAAI,EAAE,mCAAI,EAAE,CAAC;iBACjE,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO;iBACvC,IAAI,CAAC,CAAC,CAA2B,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC;iBACxE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;YAC/B,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAW,EAAE;gBAEhC,OAAO;oBACH,MAAM,EAAE,UAAE,CAAC,IAAI;oBACf,IAAI,EAAE,GAAG,CAAC,KAAK;oBACf,IAAI,EAAE,SAAS;oBACf,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;oBACzC,OAAO,EAAE,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;oBACxD,GAAG,EAAE,gCAAgC,GAAG,CAAC,SAAS,EAAE;iBACvD,CAAC;YACN,CAAC,CAAC,CAAC;;KACN;CACJ,CAAC"}
@@ -27,18 +27,20 @@ const headers = {
27
27
  };
28
28
  exports.lg = {
29
29
  name: "Luogu",
30
- get: () => __awaiter(void 0, void 0, void 0, function* () {
31
- const resList = (yield axios_1.default.get("https://www.luogu.com.cn/contest/list", { headers })).data.currentData.contests.result;
32
- return resList.map((res) => {
33
- return {
34
- ojName: exports.lg.name,
35
- name: res.name,
36
- rule: ruleRecord[res.ruleType],
37
- startTime: new Date(res.startTime * 1000),
38
- endTime: new Date(res.endTime * 1000),
39
- url: `https://www.luogu.com.cn/contest/${res.id}`
40
- };
41
- }).filter(contest => contest.endTime >= new Date());
42
- })
30
+ get() {
31
+ return __awaiter(this, void 0, void 0, function* () {
32
+ const resList = (yield axios_1.default.get("https://www.luogu.com.cn/contest/list", { headers })).data.currentData.contests.result;
33
+ return resList.map((res) => {
34
+ return {
35
+ ojName: exports.lg.name,
36
+ name: res.name,
37
+ rule: ruleRecord[res.ruleType],
38
+ startTime: new Date(res.startTime * 1000),
39
+ endTime: new Date(res.endTime * 1000),
40
+ url: `https://www.luogu.com.cn/contest/${res.id}`
41
+ };
42
+ }).filter(contest => contest.endTime >= new Date());
43
+ });
44
+ }
43
45
  };
44
46
  //# sourceMappingURL=luogu.js.map
@@ -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,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC,CAAA;CACJ,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;IACP,GAAG;;YAEL,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;YACnI,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAW,EAAE;gBAEhC,OAAO;oBACH,MAAM,EAAE,UAAE,CAAC,IAAI;oBACf,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC;oBAC9B,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;oBACzC,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;oBACrC,GAAG,EAAE,oCAAoC,GAAG,CAAC,EAAE,EAAE;iBACpD,CAAC;YACN,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;KAAA;CACJ,CAAC"}
@@ -62,21 +62,23 @@ const ruleRecord = {
62
62
  };
63
63
  exports.nc = {
64
64
  name: "NowCoder",
65
- get: () => __awaiter(void 0, void 0, void 0, function* () {
66
- const res = [
67
- ...yield getResultList(topCategoryFilter.NOWCODERSERIES),
68
- ...yield getResultList(topCategoryFilter.SCHOOLCONTEST)
69
- ];
70
- return res.filter(res => res.signUpEndCountDownTime > 0).map((res) => {
71
- return {
72
- ojName: exports.nc.name,
73
- name: res.contestName,
74
- rule: ruleRecord[res.type],
75
- startTime: new Date(res.contestStartTime),
76
- endTime: new Date(res.contestEndTime),
77
- url: `https://ac.nowcoder.com/acm/contest/${res.contestId}`
78
- };
65
+ get() {
66
+ return __awaiter(this, void 0, void 0, function* () {
67
+ const res = [
68
+ ...yield getResultList(topCategoryFilter.NOWCODERSERIES),
69
+ ...yield getResultList(topCategoryFilter.SCHOOLCONTEST)
70
+ ];
71
+ return res.filter(res => res.signUpEndCountDownTime > 0).map((res) => {
72
+ return {
73
+ ojName: exports.nc.name,
74
+ name: res.contestName,
75
+ rule: ruleRecord[res.type],
76
+ startTime: new Date(res.contestStartTime),
77
+ endTime: new Date(res.contestEndTime),
78
+ url: `https://ac.nowcoder.com/acm/contest/${res.contestId}`
79
+ };
80
+ });
79
81
  });
80
- })
82
+ }
81
83
  };
82
84
  //# sourceMappingURL=nowcoder.js.map
@@ -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,IAAI;IACP,CAAC,EAAE,KAAK;CACX,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"}
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,IAAI;IACP,CAAC,EAAE,KAAK;CACX,CAAC;AAEW,QAAA,EAAE,GAAO;IAClB,IAAI,EAAE,UAAU;IACV,GAAG;;YAEL,MAAM,GAAG,GAAa;gBAClB,GAAG,MAAM,aAAa,CAAC,iBAAiB,CAAC,cAAc,CAAC;gBACxD,GAAG,MAAM,aAAa,CAAC,iBAAiB,CAAC,aAAa,CAAC;aAC1D,CAAC;YACF,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,sBAAsB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAW,EAAE;gBAE1E,OAAO;oBACH,MAAM,EAAE,UAAE,CAAC,IAAI;oBACf,IAAI,EAAE,GAAG,CAAC,WAAW;oBACrB,IAAI,EAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;oBAC1B,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC;oBACzC,OAAO,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC;oBACrC,GAAG,EAAE,uCAAuC,GAAG,CAAC,SAAS,EAAE;iBAC9D,CAAC;YACN,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;CACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lscontests",
3
- "version": "1.11.1",
3
+ "version": "1.11.2",
4
4
  "description": "A tool to get information about the contests on each OJ",
5
5
  "keywords": [
6
6
  "cli",