lscontests 1.5.0 → 1.6.1
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +79 -2
- package/dist/cli.js +2 -1
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/contest.d.ts +1 -1
- package/dist/lib/oj/atcoder.d.ts +2 -0
- package/dist/lib/oj/atcoder.js +74 -0
- package/dist/lib/oj/atcoder.js.map +1 -0
- package/dist/lib/oj/codeforces.d.ts +1 -1
- package/dist/lib/{oj.d.ts → oj/index.d.ts} +1 -1
- package/dist/lib/{oj.js → oj/index.js} +7 -5
- package/dist/lib/oj/index.js.map +1 -0
- package/dist/lib/oj/luogu.d.ts +1 -1
- package/dist/lib/oj/nowcoder.d.ts +2 -5
- package/dist/lib/oj/nowcoder.js +4 -1
- package/dist/lib/oj/nowcoder.js.map +1 -1
- package/package.json +4 -1
- package/dist/lib/oj.js.map +0 -1
package/README.md
CHANGED
@@ -8,10 +8,14 @@
|
|
8
8
|
![npm](https://img.shields.io/npm/v/lscontests)
|
9
9
|
![npm](https://img.shields.io/npm/dw/lscontests)
|
10
10
|
|
11
|
-
A
|
11
|
+
A tool to get information about the contests on each OJ.
|
12
12
|
|
13
13
|
## Usage
|
14
14
|
|
15
|
+
### CLI
|
16
|
+
|
17
|
+
You can use cli to get a list of contests information easily.
|
18
|
+
|
15
19
|
```bash
|
16
20
|
lsct [options]
|
17
21
|
|
@@ -19,10 +23,83 @@ Options:
|
|
19
23
|
-V, --version output the version number
|
20
24
|
-d, --days, <day> Number of days to get contests information (default: "3")
|
21
25
|
-l, --list List all supported OJ
|
22
|
-
-
|
26
|
+
--no-sort Do not sort by contests start time (default sort by OJ)
|
27
|
+
-o, --oj <ojs...> OJs to get contests information (choices: "at", "cf", "lg", "nc")
|
23
28
|
-h, --help display help for command
|
24
29
|
```
|
25
30
|
|
31
|
+
Its performance:
|
32
|
+
|
33
|
+
```bash
|
34
|
+
> lsct
|
35
|
+
[
|
36
|
+
{
|
37
|
+
ojName: 'Codeforces',
|
38
|
+
name: 'Codeforces Round #790 (Div. 4)',
|
39
|
+
rule: 'ICPC',
|
40
|
+
startTime: 2022-05-10T14:35:00.000Z,
|
41
|
+
endTime: 2022-05-10T16:35:00.000Z,
|
42
|
+
url: 'https://codeforces.com/contests/1676'
|
43
|
+
},
|
44
|
+
{
|
45
|
+
ojName: 'NowCoder',
|
46
|
+
name: '牛客挑战赛60',
|
47
|
+
rule: 'ICPC',
|
48
|
+
startTime: 2022-05-13T11:00:00.000Z,
|
49
|
+
endTime: 2022-05-13T14:00:00.000Z,
|
50
|
+
url: 'https://ac.nowcoder.com/acm/contest/11200'
|
51
|
+
}
|
52
|
+
]
|
53
|
+
```
|
54
|
+
|
55
|
+
### API
|
56
|
+
|
57
|
+
If you want to call lscontests in your project to get a list of contests information, or if you need to add OJ support, then you can call the lscontests API like the following:
|
58
|
+
|
59
|
+
#### Get a list of contests information
|
60
|
+
|
61
|
+
```typescript
|
62
|
+
import { list } from "lscontests";
|
63
|
+
|
64
|
+
list().then(console.log);
|
65
|
+
```
|
66
|
+
|
67
|
+
The result of this code is the same as using cli directly without arguments.
|
68
|
+
|
69
|
+
#### Add OJ support
|
70
|
+
|
71
|
+
```typescript
|
72
|
+
import { addOJ, list } from "lscontests";
|
73
|
+
|
74
|
+
addOJ("ts", {
|
75
|
+
name: "testOJ", get: async () => [{
|
76
|
+
ojName: "testOJ",
|
77
|
+
name: "testContest",
|
78
|
+
rule: "ICPC",
|
79
|
+
startTime: new Date(Date.now() + 5 * 86400000),
|
80
|
+
endTime: new Date(Date.now() + 6 * 86400000),
|
81
|
+
url: "https://www.test.com"
|
82
|
+
}]
|
83
|
+
});
|
84
|
+
|
85
|
+
list(["ts"], 7).then(console.log);
|
86
|
+
```
|
87
|
+
|
88
|
+
The result of this code is as follows:
|
89
|
+
|
90
|
+
```bash
|
91
|
+
[
|
92
|
+
{
|
93
|
+
ojName: 'testOJ',
|
94
|
+
name: 'testContest',
|
95
|
+
rule: 'ICPC',
|
96
|
+
startTime: 2022-05-15T11:50:42.032Z,
|
97
|
+
endTime: 2022-05-16T11:50:42.032Z,
|
98
|
+
url: 'https://www.test.com'
|
99
|
+
}
|
100
|
+
]
|
101
|
+
```
|
102
|
+
|
26
103
|
## License
|
27
104
|
|
28
105
|
[GPL-3.0](https://www.gnu.org/licenses/gpl-3.0.html)
|
package/dist/cli.js
CHANGED
@@ -19,6 +19,7 @@ commander_1.program
|
|
19
19
|
.version(package_json_1.version)
|
20
20
|
.option("-d, --days, <day>", "Number of days to get contests information", "3")
|
21
21
|
.option("-l, --list", "List all supported OJ")
|
22
|
+
.option("--no-sort", "Do not sort by contests start time (default sort by OJ)")
|
22
23
|
.addOption(new commander_1.Option("-o, --oj <ojs...>", "OJs to get contests information").choices(Object.keys(oj_1.alloj)))
|
23
24
|
.parse();
|
24
25
|
const opts = commander_1.program.opts();
|
@@ -27,7 +28,7 @@ function main() {
|
|
27
28
|
if (opts.list)
|
28
29
|
console.log(Object.values(oj_1.alloj).map((oj) => oj.name));
|
29
30
|
else
|
30
|
-
console.log(yield (0, _1.list)(opts.oj, opts.days));
|
31
|
+
console.log(yield (0, _1.list)(opts.oj, opts.days, opts.sort));
|
31
32
|
});
|
32
33
|
}
|
33
34
|
main();
|
package/dist/cli.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,kDAA0C;AAC1C,yCAA4C;AAC5C,iCAAiC;AACjC,wBAAyB;AAEzB,mBAAO;KACF,IAAI,CAAC,MAAM,CAAC;KACZ,OAAO,CAAC,sBAAO,CAAC;KAChB,MAAM,CAAC,mBAAmB,EAAE,4CAA4C,EAAE,GAAG,CAAC;KAC9E,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC;KAC7C,SAAS,CAAC,IAAI,kBAAM,CAAC,mBAAmB,EAAE,iCAAiC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAK,CAAC,CAAC,CAAC;KACzG,KAAK,EAAE,CAAC;AAEb,MAAM,IAAI,GAAG,mBAAO,CAAC,IAAI,EAAE,CAAC;AAE5B,SAAe,IAAI;;QACf,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,UAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;;YACjE,OAAO,CAAC,GAAG,CAAC,MAAM,IAAA,OAAI,EAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAc,CAAC,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,kDAA0C;AAC1C,yCAA4C;AAC5C,iCAAiC;AACjC,wBAAyB;AAEzB,mBAAO;KACF,IAAI,CAAC,MAAM,CAAC;KACZ,OAAO,CAAC,sBAAO,CAAC;KAChB,MAAM,CAAC,mBAAmB,EAAE,4CAA4C,EAAE,GAAG,CAAC;KAC9E,MAAM,CAAC,YAAY,EAAE,uBAAuB,CAAC;KAC7C,MAAM,CAAC,WAAW,EAAE,yDAAyD,CAAC;KAC9E,SAAS,CAAC,IAAI,kBAAM,CAAC,mBAAmB,EAAE,iCAAiC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,UAAK,CAAC,CAAC,CAAC;KACzG,KAAK,EAAE,CAAC;AAEb,MAAM,IAAI,GAAG,mBAAO,CAAC,IAAI,EAAE,CAAC;AAE5B,SAAe,IAAI;;QACf,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,UAAK,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;;YACjE,OAAO,CAAC,GAAG,CAAC,MAAM,IAAA,OAAI,EAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAc,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1E,CAAC;CAAA;AAED,IAAI,EAAE,CAAC"}
|
package/dist/index.d.ts
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
import { addOJ } from "./lib/oj";
|
2
|
-
declare function list(abbrList
|
2
|
+
declare function list(abbrList?: string[], days?: number, sort?: boolean): Promise<import("./lib/contest").contest[]>;
|
3
3
|
export { addOJ, list };
|
package/dist/index.js
CHANGED
@@ -12,13 +12,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.list = exports.addOJ = void 0;
|
13
13
|
const oj_1 = require("./lib/oj");
|
14
14
|
Object.defineProperty(exports, "addOJ", { enumerable: true, get: function () { return oj_1.addOJ; } });
|
15
|
-
function list(abbrList, days) {
|
15
|
+
function list(abbrList, days = 3, sort = true) {
|
16
16
|
return __awaiter(this, void 0, void 0, function* () {
|
17
17
|
if (!abbrList)
|
18
18
|
abbrList = Object.keys(oj_1.alloj);
|
19
|
-
|
19
|
+
const contests = (yield Promise.all(abbrList.map((abbr) => __awaiter(this, void 0, void 0, function* () {
|
20
20
|
return (yield oj_1.alloj[abbr].get()).filter((ct) => ct.startTime <= new Date(Date.now() + days * 86400000));
|
21
21
|
})))).reduce((ls1, ls2) => ls1.concat(ls2));
|
22
|
+
if (sort)
|
23
|
+
contests.sort((a, b) => a.startTime.getTime() - b.startTime.getTime());
|
24
|
+
return contests;
|
22
25
|
});
|
23
26
|
}
|
24
27
|
exports.list = list;
|
package/dist/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iCAAwC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iCAAwC;AAe/B,sFAfA,UAAK,OAeA;AAbd,SAAe,IAAI,CAAC,QAAmB,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI;;QAC1D,IAAI,CAAC,QAAQ;YAAE,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAK,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAC/B,QAAQ,CAAC,GAAG,CACR,CAAO,IAAI,EAAE,EAAE;YAAC,OAAA,CAAC,MAAM,UAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,MAAM,CAC5C,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAI,IAAe,GAAG,QAAQ,CAAC,CAC7E,CAAA;UAAA,CACJ,CACJ,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,IAAI,IAAI;YAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QACjF,OAAO,QAAQ,CAAC;IACpB,CAAC;CAAA;AAEe,oBAAI"}
|
package/dist/lib/contest.d.ts
CHANGED
@@ -0,0 +1,74 @@
|
|
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.at = void 0;
|
39
|
+
const axios_1 = __importDefault(require("axios"));
|
40
|
+
const cheerio = __importStar(require("cheerio"));
|
41
|
+
exports.at = {
|
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 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, s] = $(this).text().split(":");
|
66
|
+
ct.endTime = new Date(ct.startTime.getTime() + (parseInt(h) * 60 + parseInt(s)) * 1000);
|
67
|
+
}
|
68
|
+
});
|
69
|
+
contests.push(ct);
|
70
|
+
});
|
71
|
+
return contests;
|
72
|
+
})
|
73
|
+
};
|
74
|
+
//# sourceMappingURL=atcoder.js.map
|
@@ -0,0 +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;QACZ,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,4CAA4C,CAAC,CAAC,IAAI,CAAC;YACjD,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;gBAC5B,IAAI,GAAG,IAAI,CAAC;oBAAE,EAAE,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;qBACjD,IAAI,GAAG,IAAI,CAAC,EAAE;oBACf,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,IAAI,GAAG,IAAI,CAAC,EAAE;oBACf,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,IAAI,CAAC,CAAC;iBAC3F;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,2 +1,2 @@
|
|
1
|
-
import { oj } from "
|
1
|
+
import { oj } from ".";
|
2
2
|
export declare const cf: oj;
|
@@ -1,16 +1,18 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
3
|
exports.addOJ = exports.alloj = void 0;
|
4
|
-
const
|
5
|
-
const
|
6
|
-
const
|
4
|
+
const atcoder_1 = require("./atcoder");
|
5
|
+
const codeforces_1 = require("./codeforces");
|
6
|
+
const luogu_1 = require("./luogu");
|
7
|
+
const nowcoder_1 = require("./nowcoder");
|
7
8
|
exports.alloj = {
|
9
|
+
at: atcoder_1.at,
|
8
10
|
cf: codeforces_1.cf,
|
9
11
|
lg: luogu_1.lg,
|
10
|
-
nc: nowcoder_1.nc
|
12
|
+
nc: nowcoder_1.nc,
|
11
13
|
};
|
12
14
|
function addOJ(abbr, oj) {
|
13
15
|
exports.alloj[abbr] = oj;
|
14
16
|
}
|
15
17
|
exports.addOJ = addOJ;
|
16
|
-
//# sourceMappingURL=
|
18
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +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,GAA2B;IACzC,EAAE,EAAF,YAAE;IACF,EAAE,EAAF,eAAE;IACF,EAAE,EAAF,UAAE;IACF,EAAE,EAAF,aAAE;CACL,CAAC;AAEF,SAAgB,KAAK,CAAC,IAAY,EAAE,EAAM;IACtC,aAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC;AAFD,sBAEC"}
|
package/dist/lib/oj/luogu.d.ts
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
import { oj } from "
|
1
|
+
import { oj } from ".";
|
2
2
|
export declare const lg: oj;
|
package/dist/lib/oj/nowcoder.js
CHANGED
@@ -63,7 +63,10 @@ const ruleRecord = {
|
|
63
63
|
exports.nc = {
|
64
64
|
name: "NowCoder",
|
65
65
|
get: () => __awaiter(void 0, void 0, void 0, function* () {
|
66
|
-
const res = [
|
66
|
+
const res = [
|
67
|
+
...yield getResultList(topCategoryFilter.NOWCODERSERIES),
|
68
|
+
...yield getResultList(topCategoryFilter.SCHOOLCONTEST)
|
69
|
+
];
|
67
70
|
return res.filter((res) => res.signUpEndCountDownTime > 0).map((res) => {
|
68
71
|
return {
|
69
72
|
ojName: exports.nc.name,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"nowcoder.js","sourceRoot":"","sources":["../../../src/lib/oj/nowcoder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,iDAAmC;
|
1
|
+
{"version":3,"file":"nowcoder.js","sourceRoot":"","sources":["../../../src/lib/oj/nowcoder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,iDAAmC;AAgDnC,IAAK,iBAGJ;AAHD,WAAK,iBAAiB;IAClB,8EAAmB,CAAA;IACnB,4EAAa,CAAA;AACjB,CAAC,EAHI,iBAAiB,KAAjB,iBAAiB,QAGrB;AAED,MAAM,GAAG,GAAG,+CAA+C,CAAC;AAE5D,SAAe,aAAa,CAAC,GAAsB;;QAC/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;YAC1C,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;QACZ,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,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,sBAAsB,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAW,EAAE;YAC5E,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/package.json
CHANGED
@@ -1,8 +1,11 @@
|
|
1
1
|
{
|
2
2
|
"name": "lscontests",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.6.1",
|
4
4
|
"description": "A tool to get information about the contests on each OJ",
|
5
5
|
"keywords": [
|
6
|
+
"cli",
|
7
|
+
"OJ",
|
8
|
+
"Codeforces",
|
6
9
|
"competitive-programming"
|
7
10
|
],
|
8
11
|
"repository": "https://github.com/StableAgOH/lscontests",
|
package/dist/lib/oj.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"oj.js","sourceRoot":"","sources":["../../src/lib/oj.ts"],"names":[],"mappings":";;;AACA,gDAAqC;AACrC,sCAAgC;AAChC,4CAAmC;AAOtB,QAAA,KAAK,GAA2B;IACzC,EAAE,EAAF,eAAE;IACF,EAAE,EAAF,UAAE;IACF,EAAE,EAAF,aAAE;CACL,CAAC;AAEF,SAAgB,KAAK,CAAC,IAAY,EAAE,EAAM;IACtC,aAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC;AAFD,sBAEC"}
|