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 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 CLI tool to get information about the contests on each OJ
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
- -o, --oj <ojs...> OJs to get contests information (choices: "cf", "lg", "nc")
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;IAC/D,CAAC;CAAA;AAED,IAAI,EAAE,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: string[], days: number): Promise<import("./lib/contest").contest[]>;
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
- return (yield Promise.all(abbrList.map((abbr) => __awaiter(this, void 0, void 0, function* () {
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;AAa/B,sFAbA,UAAK,OAaA;AAXd,SAAe,IAAI,CAAC,QAAkB,EAAE,IAAY;;QAChD,IAAI,CAAC,QAAQ;YAAE,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAK,CAAC,CAAC;QAC7C,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CACrB,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;IAC7C,CAAC;CAAA;AAEe,oBAAI"}
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"}
@@ -1,4 +1,4 @@
1
- export declare type rule = "OI" | "IOI" | "ICPC" | "LeDuo" | "Codeforces";
1
+ export declare type rule = "OI" | "IOI" | "ICPC" | "LeDuo" | "Codeforces" | "AtCoder";
2
2
  export declare type contest = {
3
3
  ojName: string;
4
4
  name: string;
@@ -0,0 +1,2 @@
1
+ import { oj } from ".";
2
+ export declare const at: oj;
@@ -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 "../oj";
1
+ import { oj } from ".";
2
2
  export declare const cf: oj;
@@ -1,4 +1,4 @@
1
- import { contest } from "./contest";
1
+ import { contest } from "../contest";
2
2
  export declare type oj = {
3
3
  name: string;
4
4
  get: () => Promise<contest[]>;
@@ -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 codeforces_1 = require("./oj/codeforces");
5
- const luogu_1 = require("./oj/luogu");
6
- const nowcoder_1 = require("./oj/nowcoder");
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=oj.js.map
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"}
@@ -1,2 +1,2 @@
1
- import { oj } from "../oj";
1
+ import { oj } from ".";
2
2
  export declare const lg: oj;
@@ -1,5 +1,2 @@
1
- import { contest } from "../contest";
2
- export declare const nc: {
3
- name: string;
4
- get: () => Promise<contest[]>;
5
- };
1
+ import { oj } from ".";
2
+ export declare const nc: oj;
@@ -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 = [...yield getResultList(topCategoryFilter.NOWCODERSERIES), ...yield getResultList(topCategoryFilter.SCHOOLCONTEST)];
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;AA+CnC,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,GAAG;IACd,IAAI,EAAE,UAAU;IAChB,GAAG,EAAE,GAAS,EAAE;QACZ,MAAM,GAAG,GAAa,CAAC,GAAG,MAAM,aAAa,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,GAAG,MAAM,aAAa,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC;QAC1I,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"}
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.5.0",
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",
@@ -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"}