lscontests 1.11.1 → 1.11.2

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 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",