lscontests 2.2.2 → 2.3.1
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 +67 -164
- package/dist/cli.d.ts +6 -3
- package/dist/cli.js +34 -38
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +16 -20
- package/dist/index.js +100 -99
- package/dist/index.js.map +1 -1
- package/dist/lib/contest.d.ts +2 -2
- package/dist/lib/oj/atcoder.d.ts +2 -2
- package/dist/lib/oj/atcoder.js +2 -25
- package/dist/lib/oj/atcoder.js.map +1 -1
- package/dist/lib/oj/codeforces.d.ts +2 -2
- package/dist/lib/oj/codeforces.js +2 -25
- package/dist/lib/oj/codeforces.js.map +1 -1
- package/dist/lib/oj/index.d.ts +6 -6
- package/dist/lib/oj/index.js.map +1 -1
- package/dist/lib/oj/leetcode.d.ts +2 -2
- package/dist/lib/oj/leetcode.js +2 -25
- package/dist/lib/oj/leetcode.js.map +1 -1
- package/dist/lib/oj/luogu.d.ts +2 -2
- package/dist/lib/oj/nowcoder.d.ts +2 -2
- package/dist/lib/oj/nowcoder.js +3 -26
- package/dist/lib/oj/nowcoder.js.map +1 -1
- package/dist/locale/en.json +3 -3
- package/dist/locale/zh-CN.json +3 -3
- package/dist/locale/zh-NE.json +3 -3
- package/dist/locale/zh-TW.json +3 -3
- package/dist/server.html +1 -0
- package/dist/server.js +2 -2
- package/dist/server.js.map +1 -1
- package/package.json +12 -18
package/dist/index.js
CHANGED
@@ -26,116 +26,117 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
26
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
27
27
|
};
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
29
|
-
exports.addOJ = exports.cli =
|
30
|
-
const oj_1 = require("./lib/oj");
|
31
|
-
const locale_1 = require("./locale");
|
29
|
+
exports.addOJ = exports.cli = void 0;
|
32
30
|
const lodash_1 = __importDefault(require("lodash"));
|
33
31
|
const pangu_1 = __importDefault(require("pangu"));
|
34
|
-
const
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
}
|
47
|
-
/**
|
48
|
-
* Get the list of all contests matching the given config
|
49
|
-
* @param config The config of contests that want to get
|
50
|
-
* @returns A Promise that contains an array of all contests that match the given config
|
51
|
-
*/
|
52
|
-
function getContests(config) {
|
53
|
-
return __awaiter(this, void 0, void 0, function* () {
|
54
|
-
const cfg = resolveConfig(config);
|
55
|
-
const contests = (yield Promise.all(cfg.abbrList.map((abbr) => __awaiter(this, void 0, void 0, function* () {
|
56
|
-
try {
|
57
|
-
return (yield oj_1.alloj[abbr].get()).sort((a, b) => a.startTime.getTime() - b.startTime.getTime());
|
58
|
-
}
|
59
|
-
catch (e) {
|
60
|
-
console.error(`Failed to get contest information for ${oj_1.alloj[abbr].name}, details:`);
|
61
|
-
console.error(e);
|
62
|
-
return [];
|
63
|
-
}
|
64
|
-
})))).reduce((ls1, ls2) => ls1.concat(ls2));
|
65
|
-
const ret = {
|
66
|
-
running: cfg.running ? contests.filter(ct => ct.startTime <= new Date() && ct.endTime > new Date()) : [],
|
67
|
-
upcoming: cfg.upcoming ? contests.filter(ct => ct.startTime > new Date() && (cfg.days === -1 || ct.startTime <= new Date(Date.now() + cfg.days * 86400000))) : []
|
32
|
+
const winston_1 = __importDefault(require("winston"));
|
33
|
+
const oj_1 = require("./lib/oj");
|
34
|
+
const locale_1 = require("./locale");
|
35
|
+
class Lscontests {
|
36
|
+
constructor(config, log_level = "info", log_transport = winston_1.default.transports.Console) {
|
37
|
+
this.config = {
|
38
|
+
abbrList: Object.keys(oj_1.alloj),
|
39
|
+
days: 3,
|
40
|
+
sort: true,
|
41
|
+
running: true,
|
42
|
+
upcoming: true,
|
43
|
+
silent: false
|
68
44
|
};
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
}
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
45
|
+
this.config = Object.assign(Object.assign({}, this.config), config);
|
46
|
+
if (this.config.abbrList.length === 0)
|
47
|
+
this.config.abbrList = Object.keys(oj_1.alloj);
|
48
|
+
this.logger = winston_1.default.createLogger({
|
49
|
+
level: log_level,
|
50
|
+
format: winston_1.default.format.combine(winston_1.default.format.colorize(), winston_1.default.format.simple()),
|
51
|
+
transports: new log_transport({ silent: this.config.silent }),
|
52
|
+
});
|
53
|
+
}
|
54
|
+
getContests() {
|
55
|
+
return __awaiter(this, void 0, void 0, function* () {
|
56
|
+
const contests = (yield Promise.all(this.config.abbrList.map((abbr) => __awaiter(this, void 0, void 0, function* () {
|
57
|
+
try {
|
58
|
+
const oj = oj_1.alloj[abbr];
|
59
|
+
this.logger.info(`Start getting contests information about ${oj.name}`);
|
60
|
+
const res = (yield oj.get()).sort((a, b) => a.startTime.getTime() - b.startTime.getTime());
|
61
|
+
this.logger.info(`Successfully get contests information about ${oj.name}`);
|
62
|
+
return res;
|
63
|
+
}
|
64
|
+
catch (e) {
|
65
|
+
this.logger.error(`Failed to get contest information for ${oj_1.alloj[abbr].name}, details:`);
|
66
|
+
this.logger.error(e);
|
67
|
+
return [];
|
68
|
+
}
|
69
|
+
})))).reduce((ls1, ls2) => ls1.concat(ls2));
|
70
|
+
const ret = {
|
71
|
+
running: this.config.running ? contests.filter(ct => ct.startTime <= new Date() && ct.endTime > new Date()) : [],
|
72
|
+
upcoming: this.config.upcoming ? contests.filter(ct => ct.startTime > new Date() && (this.config.days === -1 || ct.startTime <= new Date(Date.now() + this.config.days * 86400000))) : []
|
73
|
+
};
|
74
|
+
if (this.config.sort)
|
75
|
+
Object.values(ret).forEach(ct => ct.sort((a, b) => a.startTime.getTime() - b.startTime.getTime()));
|
76
|
+
return ret;
|
77
|
+
});
|
78
|
+
}
|
79
|
+
getContestsText(language = "zh-CN") {
|
80
|
+
return __awaiter(this, void 0, void 0, function* () {
|
81
|
+
const lang = yield (0, locale_1.getLangDict)(language);
|
82
|
+
const { running, upcoming } = yield this.getContests();
|
83
|
+
const info = [];
|
84
|
+
function msg(contests) {
|
85
|
+
return contests.map(contest => {
|
86
|
+
const ls = [];
|
87
|
+
ls.push(`${lang.ojName}: ${contest.ojName}`);
|
88
|
+
ls.push(`${lang.name}: ${contest.name}`);
|
89
|
+
ls.push(`${lang.rule}: ${contest.rule}`);
|
90
|
+
ls.push(`${lang.startTime}: ${contest.startTime.toLocaleString(undefined, { hourCycle: "h23" })}`);
|
91
|
+
ls.push(`${lang.endTime}: ${contest.endTime.toLocaleString(undefined, { hourCycle: "h23" })}`);
|
92
|
+
ls.push(contest.url);
|
93
|
+
return ls.join("\n");
|
94
|
+
});
|
106
95
|
}
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
if (upcoming.length) {
|
113
|
-
info.push(lodash_1.default.template(lang.upcoming_all)({
|
114
|
-
contestCount: upcoming.length,
|
115
|
-
oj: lodash_1.default.uniq(upcoming.map(contest => contest.ojName))
|
96
|
+
if (this.config.running) {
|
97
|
+
if (running.length) {
|
98
|
+
info.push(lodash_1.default.template(lang.runnning)({
|
99
|
+
contestCount: running.length,
|
100
|
+
oj: lodash_1.default.uniq(running.map(contest => contest.ojName))
|
116
101
|
}));
|
117
|
-
info.push(...msg(
|
102
|
+
info.push(...msg(running));
|
118
103
|
}
|
119
104
|
else
|
120
|
-
info.push(lang.
|
105
|
+
info.push(lodash_1.default.template(lang.norunning)({ oj: this.config.abbrList.map(abbr => oj_1.alloj[abbr].name) }));
|
121
106
|
}
|
122
|
-
|
123
|
-
if (
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
107
|
+
if (this.config.upcoming) {
|
108
|
+
if (this.config.days === -1) {
|
109
|
+
if (upcoming.length) {
|
110
|
+
info.push(lodash_1.default.template(lang.upcoming_all)({
|
111
|
+
contestCount: upcoming.length,
|
112
|
+
oj: lodash_1.default.uniq(upcoming.map(contest => contest.ojName))
|
113
|
+
}));
|
114
|
+
info.push(...msg(upcoming));
|
115
|
+
}
|
116
|
+
else
|
117
|
+
info.push(lodash_1.default.template(lang.noupcoming_all)({ oj: this.config.abbrList.map(abbr => oj_1.alloj[abbr].name) }));
|
118
|
+
}
|
119
|
+
else {
|
120
|
+
if (upcoming.length) {
|
121
|
+
info.push(lodash_1.default.template(lang.upcoming)({
|
122
|
+
contestCount: upcoming.length,
|
123
|
+
days: this.config.days,
|
124
|
+
oj: lodash_1.default.uniq(upcoming.map(contest => contest.ojName))
|
125
|
+
}));
|
126
|
+
info.push(...msg(upcoming));
|
127
|
+
}
|
128
|
+
else
|
129
|
+
info.push(lodash_1.default.template(lang.noupcoming)({
|
130
|
+
oj: this.config.abbrList.map(abbr => oj_1.alloj[abbr].name),
|
131
|
+
days: this.config.days
|
132
|
+
}));
|
130
133
|
}
|
131
|
-
else
|
132
|
-
info.push(lodash_1.default.template(lang.noupcoming)({ days: cfg.days }));
|
133
134
|
}
|
134
|
-
|
135
|
-
|
136
|
-
}
|
135
|
+
return pangu_1.default.spacing(info.join("\n\n"));
|
136
|
+
});
|
137
|
+
}
|
137
138
|
}
|
138
|
-
exports.
|
139
|
+
exports.default = Lscontests;
|
139
140
|
__exportStar(require("./lib/contest"), exports);
|
140
141
|
var cli_1 = require("./cli");
|
141
142
|
Object.defineProperty(exports, "cli", { enumerable: true, get: function () { return cli_1.cli; } });
|
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;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAuB;AACvB,kDAA0B;AAC1B,sDAA8B;AAE9B,iCAAiC;AACjC,qCAAuC;AAYvC,MAAqB,UAAU;IAY3B,YAAY,MAAyB,EAAE,SAAS,GAAG,MAAM,EAAE,aAAa,GAAG,iBAAO,CAAC,UAAU,CAAC,OAAO;QAV7F,WAAM,GAAG;YACb,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,UAAK,CAAC;YAC5B,IAAI,EAAE,CAAC;YACP,IAAI,EAAE,IAAI;YACV,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,KAAK;SAChB,CAAC;QAKE,IAAI,CAAC,MAAM,mCAAQ,IAAI,CAAC,MAAM,GAAK,MAAM,CAAE,CAAC;QAC5C,IAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAK,CAAC,CAAC;QAChF,IAAI,CAAC,MAAM,GAAG,iBAAO,CAAC,YAAY,CAAC;YAC/B,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,iBAAO,CAAC,MAAM,CAAC,OAAO,CAC1B,iBAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EACzB,iBAAO,CAAC,MAAM,CAAC,MAAM,EAAE,CAC1B;YACD,UAAU,EAAE,IAAI,aAAa,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;SAChE,CAAC,CAAC;IACP,CAAC;IAEK,WAAW;;YAEb,MAAM,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CACpB,CAAM,IAAI,EAAC,EAAE;gBAET,IACA;oBACI,MAAM,EAAE,GAAG,UAAK,CAAC,IAAI,CAAC,CAAC;oBACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;oBACxE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,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;oBAC3F,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC3E,OAAO,GAAG,CAAC;iBACd;gBACD,OAAM,CAAC,EACP;oBACI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,yCAAyC,UAAK,CAAC,IAAI,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC;oBACzF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACrB,OAAO,EAAE,CAAC;iBACb;YACL,CAAC,CAAA,CACJ,CACJ,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACzC,MAAM,GAAG,GAAG;gBACR,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;gBAChH,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;aAC5L,CAAC;YACF,IAAG,IAAI,CAAC,MAAM,CAAC,IAAI;gBAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,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,CAAC;YACxH,OAAO,GAAG,CAAC;QACf,CAAC;KAAA;IAEK,eAAe,CAAC,QAAQ,GAAG,OAAO;;YAEpC,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAW,EAAC,QAAQ,CAAC,CAAC;YACzC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;YACvD,MAAM,IAAI,GAAa,EAAE,CAAC;YAE1B,SAAS,GAAG,CAAC,QAAmB;gBAE5B,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;oBAE1B,MAAM,EAAE,GAAa,EAAE,CAAC;oBACxB,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;oBAC7C,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;oBACzC,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;oBACzC,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;oBACnG,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC/F,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBACrB,OAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC,CAAC,CAAC;YACP,CAAC;YAED,IAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EACtB;gBACI,IAAG,OAAO,CAAC,MAAM,EACjB;oBACI,IAAI,CAAC,IAAI,CAAC,gBAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAChC,YAAY,EAAE,OAAO,CAAC,MAAM;wBAC5B,EAAE,EAAE,gBAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;qBACrD,CAAC,CAAC,CAAC;oBACJ,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;iBAC9B;;oBACI,IAAI,CAAC,IAAI,CAAC,gBAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,UAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;aAC1G;YAED,IAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EACvB;gBACI,IAAG,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,EAC1B;oBACI,IAAG,QAAQ,CAAC,MAAM,EAClB;wBACI,IAAI,CAAC,IAAI,CAAC,gBAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;4BACpC,YAAY,EAAE,QAAQ,CAAC,MAAM;4BAC7B,EAAE,EAAE,gBAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;yBACtD,CAAC,CAAC,CAAC;wBACJ,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;qBAC/B;;wBACI,IAAI,CAAC,IAAI,CAAC,gBAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,UAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;iBAC/G;qBAED;oBACI,IAAG,QAAQ,CAAC,MAAM,EAClB;wBACI,IAAI,CAAC,IAAI,CAAC,gBAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;4BAChC,YAAY,EAAE,QAAQ,CAAC,MAAM;4BAC7B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;4BACtB,EAAE,EAAE,gBAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;yBACtD,CAAC,CAAC,CAAC;wBACJ,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;qBAC/B;;wBACI,IAAI,CAAC,IAAI,CAAC,gBAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;4BACvC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,UAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;4BACtD,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;yBACzB,CAAC,CAAC,CAAC;iBACP;aACJ;YACD,OAAO,eAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC5C,CAAC;KAAA;CACJ;AA5HD,6BA4HC;AAED,gDAA8B;AAC9B,6BAA4B;AAAnB,0FAAA,GAAG,OAAA;AACZ,+BAAqC;AAAxB,2FAAA,KAAK,OAAA"}
|
package/dist/lib/contest.d.ts
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
* LeDuo: From Luogu OJ
|
3
3
|
*/
|
4
4
|
export declare type rule = "OI" | "IOI" | "ICPC" | "LeDuo" | "Codeforces" | "AtCoder";
|
5
|
-
export
|
5
|
+
export interface Contest {
|
6
6
|
ojName: string;
|
7
7
|
name: string;
|
8
8
|
rule: rule;
|
9
9
|
startTime: Date;
|
10
10
|
endTime: Date;
|
11
11
|
url: string;
|
12
|
-
}
|
12
|
+
}
|
package/dist/lib/oj/atcoder.d.ts
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
import {
|
2
|
-
export declare const at:
|
1
|
+
import { OJ } from ".";
|
2
|
+
export declare const at: OJ;
|
package/dist/lib/oj/atcoder.js
CHANGED
@@ -1,27 +1,4 @@
|
|
1
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
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
26
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
27
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
@@ -37,13 +14,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
38
15
|
exports.at = void 0;
|
39
16
|
const axios_1 = __importDefault(require("axios"));
|
40
|
-
const
|
17
|
+
const cheerio_1 = require("cheerio");
|
41
18
|
exports.at = {
|
42
19
|
name: "AtCoder",
|
43
20
|
get() {
|
44
21
|
return __awaiter(this, void 0, void 0, function* () {
|
45
22
|
const response = yield axios_1.default.get("https://atcoder.jp/contests");
|
46
|
-
const $ =
|
23
|
+
const $ = (0, cheerio_1.load)(response.data);
|
47
24
|
const contests = [];
|
48
25
|
$("table > tbody > tr", "#contest-table-action, #contest-table-upcoming").each(function () {
|
49
26
|
const ct = {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"atcoder.js","sourceRoot":"","sources":["../../../src/lib/oj/atcoder.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"atcoder.js","sourceRoot":"","sources":["../../../src/lib/oj/atcoder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,qCAA+B;AAIlB,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,IAAA,cAAI,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,QAAQ,GAAc,EAAE,CAAC;YAC/B,CAAC,CAAC,oBAAoB,EAAE,gDAAgD,CAAC,CAAC,IAAI,CAAC;gBAE3E,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,KAAK,CAAC;wBAAE,EAAE,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;yBACjD,IAAG,GAAG,KAAK,CAAC,EACjB;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,MAAA,GAAG,CAAC,IAAI,EAAE,0CAAE,IAAI,EAAE,CAAC;qBACpD;yBACI,IAAG,GAAG,KAAK,CAAC,EACjB;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"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import {
|
2
|
-
export declare const cf:
|
1
|
+
import { OJ } from ".";
|
2
|
+
export declare const cf: OJ;
|
@@ -1,27 +1,4 @@
|
|
1
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
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
26
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
27
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
@@ -37,7 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
38
15
|
exports.cf = void 0;
|
39
16
|
const axios_1 = __importDefault(require("axios"));
|
40
|
-
const
|
17
|
+
const cheerio_1 = require("cheerio");
|
41
18
|
const ruleRecord = {
|
42
19
|
CF: "Codeforces",
|
43
20
|
ICPC: "ICPC"
|
@@ -48,7 +25,7 @@ exports.cf = {
|
|
48
25
|
return __awaiter(this, void 0, void 0, function* () {
|
49
26
|
const response = yield axios_1.default.get("https://codeforces.com/api/contest.list");
|
50
27
|
if (!(response.data instanceof Object)) {
|
51
|
-
const $ =
|
28
|
+
const $ = (0, cheerio_1.load)(response.data);
|
52
29
|
throw new Error($.text());
|
53
30
|
}
|
54
31
|
const resList = response.data.result;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"codeforces.js","sourceRoot":"","sources":["../../../src/lib/oj/codeforces.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"codeforces.js","sourceRoot":"","sources":["../../../src/lib/oj/codeforces.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,qCAA+B;AAe/B,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,IAAA,cAAI,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC9B,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"}
|
package/dist/lib/oj/index.d.ts
CHANGED
@@ -1,19 +1,19 @@
|
|
1
|
-
import {
|
1
|
+
import { Contest } from "../contest";
|
2
2
|
/**
|
3
3
|
* name: OJ name
|
4
4
|
*
|
5
5
|
* get: return a Promise that contains an array of all contests with end times after the current time
|
6
6
|
*/
|
7
|
-
export
|
7
|
+
export interface OJ {
|
8
8
|
name: string;
|
9
|
-
get(): Promise<
|
10
|
-
}
|
9
|
+
get(): Promise<Contest[]>;
|
10
|
+
}
|
11
11
|
export declare const alloj: {
|
12
|
-
[abbr: string]:
|
12
|
+
[abbr: string]: OJ;
|
13
13
|
};
|
14
14
|
/**
|
15
15
|
* Add an OJ to get information about the contests held on it
|
16
16
|
* @param abbr Abbreviation of the OJ to be added
|
17
17
|
* @param oj OJ to be added
|
18
18
|
*/
|
19
|
-
export declare function addOJ(abbr: string, oj:
|
19
|
+
export declare function addOJ(abbr: string, oj: OJ): void;
|
package/dist/lib/oj/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/oj/index.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,8DAAqC;AAErC,uCAA+B;AAC/B,6CAAkC;AAClC,yCAAgC;AAChC,mCAA6B;AAC7B,yCAAgC;AAEhC,IAAA,qBAAU,EAAC,eAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/oj/index.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,8DAAqC;AAErC,uCAA+B;AAC/B,6CAAkC;AAClC,yCAAgC;AAChC,mCAA6B;AAC7B,yCAAgC;AAEhC,IAAA,qBAAU,EAAC,eAAK,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;AAa7C,QAAA,KAAK,GAA4B;IAC1C,EAAE,EAAF,YAAE;IACF,EAAE,EAAF,eAAE;IACF,EAAE,EAAF,aAAE;IACF,EAAE,EAAF,UAAE;IACF,EAAE,EAAF,aAAE;CACL,CAAC;AAEF;;;;GAIG;AACH,SAAgB,KAAK,CAAC,IAAY,EAAE,EAAM;IAEtC,aAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC;AAHD,sBAGC"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import {
|
2
|
-
export declare const lc:
|
1
|
+
import { OJ } from ".";
|
2
|
+
export declare const lc: OJ;
|
package/dist/lib/oj/leetcode.js
CHANGED
@@ -1,27 +1,4 @@
|
|
1
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
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
26
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
27
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
@@ -37,7 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
38
15
|
exports.lc = void 0;
|
39
16
|
const axios_1 = __importDefault(require("axios"));
|
40
|
-
const
|
17
|
+
const cheerio_1 = require("cheerio");
|
41
18
|
const headers = {
|
42
19
|
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.54 Safari/537.36",
|
43
20
|
};
|
@@ -47,7 +24,7 @@ exports.lc = {
|
|
47
24
|
var _a;
|
48
25
|
return __awaiter(this, void 0, void 0, function* () {
|
49
26
|
const response = yield axios_1.default.get("https://leetcode.com/contest", { headers });
|
50
|
-
const $ =
|
27
|
+
const $ = (0, cheerio_1.load)(response.data);
|
51
28
|
const resList = JSON.parse((_a = $("#__NEXT_DATA__").html()) !== null && _a !== void 0 ? _a : "")
|
52
29
|
.props.pageProps.dehydratedState.queries
|
53
30
|
.find((v) => v.queryKey[0] === "topTwoContests")
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"leetcode.js","sourceRoot":"","sources":["../../../src/lib/oj/leetcode.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"leetcode.js","sourceRoot":"","sources":["../../../src/lib/oj/leetcode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,qCAA+B;AAY/B,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,IAAA,cAAI,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC9B,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,KAAK,gBAAgB,CAAC;iBACzE,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"}
|
package/dist/lib/oj/luogu.d.ts
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
import {
|
2
|
-
export declare const lg:
|
1
|
+
import { OJ } from ".";
|
2
|
+
export declare const lg: OJ;
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import {
|
2
|
-
export declare const nc:
|
1
|
+
import { OJ } from ".";
|
2
|
+
export declare const nc: OJ;
|
package/dist/lib/oj/nowcoder.js
CHANGED
@@ -1,27 +1,4 @@
|
|
1
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
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
26
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
27
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
@@ -37,7 +14,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
38
15
|
exports.nc = void 0;
|
39
16
|
const axios_1 = __importDefault(require("axios"));
|
40
|
-
const
|
17
|
+
const cheerio_1 = require("cheerio");
|
41
18
|
var topCategoryFilter;
|
42
19
|
(function (topCategoryFilter) {
|
43
20
|
topCategoryFilter[topCategoryFilter["NOWCODERSERIES"] = 13] = "NOWCODERSERIES";
|
@@ -47,10 +24,10 @@ const url = "https://ac.nowcoder.com/acm/contest/vip-index";
|
|
47
24
|
function getResultList(tcf) {
|
48
25
|
return __awaiter(this, void 0, void 0, function* () {
|
49
26
|
const html = (yield axios_1.default.get(`${url}?topCategoryFilter=${tcf}`)).data;
|
50
|
-
const $ =
|
27
|
+
const $ = (0, cheerio_1.load)(html);
|
51
28
|
const ls = [];
|
52
29
|
$("div[class='platform-item js-item ']").each(function () {
|
53
|
-
ls.push(JSON.parse(
|
30
|
+
ls.push(JSON.parse((0, cheerio_1.load)(this.attribs["data-json"]).text()));
|
54
31
|
});
|
55
32
|
return ls;
|
56
33
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"nowcoder.js","sourceRoot":"","sources":["../../../src/lib/oj/nowcoder.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"nowcoder.js","sourceRoot":"","sources":["../../../src/lib/oj/nowcoder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA0B;AAC1B,qCAA+B;AAgD/B,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,IAAA,cAAI,EAAC,IAAI,CAAC,CAAC;QACrB,MAAM,EAAE,GAAa,EAAE,CAAC;QACxB,CAAC,CAAC,qCAAqC,CAAC,CAAC,IAAI,CAAC;YAE1C,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAA,cAAI,EAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAChE,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/dist/locale/en.json
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
{
|
2
2
|
"runnning": "There are ${contestCount} contests is running on ${oj}",
|
3
|
-
"norunning": "
|
3
|
+
"norunning": "There are no running contests on ${oj}",
|
4
4
|
"upcoming": "There are ${contestCount} contests on ${oj} in the next ${days} days",
|
5
5
|
"upcoming_all": "There will be ${contestCount} contests on ${oj} in the future",
|
6
|
-
"noupcoming": "No contests for the next ${days} days",
|
7
|
-
"noupcoming_all": "There
|
6
|
+
"noupcoming": "No contests on ${oj} for the next ${days} days",
|
7
|
+
"noupcoming_all": "There are no future contests on ${oj}",
|
8
8
|
"ojName": "OJ",
|
9
9
|
"name": "Contest name",
|
10
10
|
"rule": "Rule",
|
package/dist/locale/zh-CN.json
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
{
|
2
2
|
"runnning": "在 ${oj} 上有 ${contestCount} 场正在进行的比赛",
|
3
|
-
"norunning": "
|
3
|
+
"norunning": "在 ${oj} 上没有正在进行的比赛捏",
|
4
4
|
"upcoming": "接下来的 ${days} 天内在 ${oj} 上有 ${contestCount} 场比赛",
|
5
5
|
"upcoming_all": "将来在 ${oj} 上有 ${contestCount} 场比赛",
|
6
|
-
"noupcoming": "接下来的 ${days}
|
7
|
-
"noupcoming_all": "
|
6
|
+
"noupcoming": "接下来的 ${days} 天内在 ${oj} 上没有比赛捏",
|
7
|
+
"noupcoming_all": "将来在 ${oj} 上没有比赛",
|
8
8
|
"ojName": "比赛平台",
|
9
9
|
"name": "比赛名称",
|
10
10
|
"rule": "赛制",
|
package/dist/locale/zh-NE.json
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
{
|
2
2
|
"runnning": "搁 ${oj} 上有 ${contestCount} 场比赛正偷摸干着呢",
|
3
|
-
"norunning": "
|
3
|
+
"norunning": "这前搁 ${oj} 上属实是没比赛打",
|
4
4
|
"upcoming": "之后 ${days} 天搁 ${oj} 上拢共 ${contestCount} 场比赛",
|
5
5
|
"upcoming_all": "往后搁 ${oj} 上有 ${contestCount} 场比赛",
|
6
|
-
"noupcoming": "没成想往后 ${days}
|
7
|
-
"noupcoming_all": "
|
6
|
+
"noupcoming": "没成想往后 ${days} 天搁 ${oj} 上没比赛打啊",
|
7
|
+
"noupcoming_all": "将来搁 ${oj} 上没比赛",
|
8
8
|
"ojName": "搁哪",
|
9
9
|
"name": "叫啥",
|
10
10
|
"rule": "咋个整法",
|
package/dist/locale/zh-TW.json
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
{
|
2
2
|
"runnning": "在 ${oj} 上有 ${contestCount} 場正在進行的比賽",
|
3
|
-
"norunning": "
|
3
|
+
"norunning": "在 ${oj} 上沒有正在進行的比賽",
|
4
4
|
"upcoming": "接下来的 ${days} 天內在 ${oj} 上有 ${contestCount} 場比賽",
|
5
5
|
"upcoming_all": "將來在 ${oj} 上有 ${contestCount} 場比賽",
|
6
|
-
"noupcoming": "接下來的 ${days}
|
7
|
-
"noupcoming_all": "
|
6
|
+
"noupcoming": "接下來的 ${days} 天內在 ${oj} 上沒有比賽",
|
7
|
+
"noupcoming_all": "將來在 ${oj} 上沒有比賽",
|
8
8
|
"ojName": "比賽平台",
|
9
9
|
"name": "比賽名稱",
|
10
10
|
"rule": "賽制",
|