lscontests 1.10.1 → 1.10.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 +6 -36
- package/dist/index.js +16 -21
- package/dist/index.js.map +1 -1
- package/dist/locale/en.json +2 -2
- package/dist/locale/zh-CN.json +2 -2
- package/dist/locale/zh-NE.json +3 -3
- package/dist/locale/zh-TW.json +2 -2
- package/package.json +1 -1
    
        package/README.md
    CHANGED
    
    | @@ -52,29 +52,15 @@ Options: | |
| 52 52 | 
             
            It performs as follows:
         | 
| 53 53 |  | 
| 54 54 | 
             
            <!-- block_cli begin -->
         | 
| 55 | 
            -
            (*The following content was automatically generated by [semantic-release](https://github.com/semantic-release/semantic-release) in Sat, 14 May 2022  | 
| 55 | 
            +
            (*The following content was automatically generated by [semantic-release](https://github.com/semantic-release/semantic-release) in Sat, 14 May 2022 16:26:45 GMT*)
         | 
| 56 56 |  | 
| 57 57 | 
             
            <details>
         | 
| 58 58 | 
             
            <summary> <code>> lsct </code> </summary>
         | 
| 59 59 |  | 
| 60 60 | 
             
            ```text
         | 
| 61 | 
            -
             | 
| 61 | 
            +
            没有正在进行的比赛捏
         | 
| 62 62 |  | 
| 63 | 
            -
             | 
| 64 | 
            -
            比赛名称: Ⓐ Panasonic Programming Contest 2022 (AtCoder Beginner Contest 251)
         | 
| 65 | 
            -
            赛制: AtCoder
         | 
| 66 | 
            -
            开始时间: 5/14/2022, 12:00:00
         | 
| 67 | 
            -
            结束时间: 5/14/2022, 13:40:00
         | 
| 68 | 
            -
            https://atcoder.jp/contests/abc251
         | 
| 69 | 
            -
             | 
| 70 | 
            -
            接下来的 3 天内在 AtCoder,Codeforces,LeetCode,Luogu,NowCoder 上有 4 场比赛
         | 
| 71 | 
            -
             | 
| 72 | 
            -
            比赛平台: LeetCode
         | 
| 73 | 
            -
            比赛名称: Biweekly Contest 78
         | 
| 74 | 
            -
            赛制: AtCoder
         | 
| 75 | 
            -
            开始时间: 5/14/2022, 14:30:00
         | 
| 76 | 
            -
            结束时间: 5/14/2022, 16:00:00
         | 
| 77 | 
            -
            https://leetcode.com/contest/biweekly-contest-78
         | 
| 63 | 
            +
            接下来的 3 天内在 LeetCode,Luogu,AtCoder 上有 3 场比赛
         | 
| 78 64 |  | 
| 79 65 | 
             
            比赛平台: LeetCode
         | 
| 80 66 | 
             
            比赛名称: Weekly Contest 293
         | 
| @@ -104,16 +90,9 @@ https://atcoder.jp/contests/arc140 | |
| 104 90 | 
             
            <summary> <code>> lsct -o at cf -d 7 -L en</code> </summary>
         | 
| 105 91 |  | 
| 106 92 | 
             
            ```text
         | 
| 107 | 
            -
             | 
| 108 | 
            -
             | 
| 109 | 
            -
            OJ: AtCoder
         | 
| 110 | 
            -
            Contest name: Ⓐ Panasonic Programming Contest 2022(AtCoder Beginner Contest 251)
         | 
| 111 | 
            -
            Rule: AtCoder
         | 
| 112 | 
            -
            Start time: 5/14/2022, 12:00:00
         | 
| 113 | 
            -
            End time: 5/14/2022, 13:40:00
         | 
| 114 | 
            -
            https://atcoder.jp/contests/abc251
         | 
| 93 | 
            +
            No running contests
         | 
| 115 94 |  | 
| 116 | 
            -
            There are 1 contests on AtCoder | 
| 95 | 
            +
            There are 1 contests on AtCoder in the next 7 days
         | 
| 117 96 |  | 
| 118 97 | 
             
            OJ: AtCoder
         | 
| 119 98 | 
             
            Contest name: Ⓐ AtCoder Regular Contest 140
         | 
| @@ -130,16 +109,7 @@ https://atcoder.jp/contests/arc140 | |
| 130 109 |  | 
| 131 110 | 
             
            ```json
         | 
| 132 111 | 
             
            {
         | 
| 133 | 
            -
              "running": [
         | 
| 134 | 
            -
                {
         | 
| 135 | 
            -
                  "ojName": "AtCoder",
         | 
| 136 | 
            -
                  "name": "Ⓐ Panasonic Programming Contest 2022(AtCoder Beginner Contest 251)",
         | 
| 137 | 
            -
                  "rule": "AtCoder",
         | 
| 138 | 
            -
                  "startTime": "2022-05-14T12:00:00.000Z",
         | 
| 139 | 
            -
                  "endTime": "2022-05-14T13:40:00.000Z",
         | 
| 140 | 
            -
                  "url": "https://atcoder.jp/contests/abc251"
         | 
| 141 | 
            -
                }
         | 
| 142 | 
            -
              ],
         | 
| 112 | 
            +
              "running": [],
         | 
| 143 113 | 
             
              "upcoming": [
         | 
| 144 114 | 
             
                {
         | 
| 145 115 | 
             
                  "ojName": "AtCoder",
         | 
    
        package/dist/index.js
    CHANGED
    
    | @@ -36,23 +36,19 @@ function resolveConfig(config) { | |
| 36 36 | 
             
            function getContests(config) {
         | 
| 37 37 | 
             
                return __awaiter(this, void 0, void 0, function* () {
         | 
| 38 38 | 
             
                    const cfg = resolveConfig(config);
         | 
| 39 | 
            -
                    function  | 
| 40 | 
            -
                         | 
| 41 | 
            -
                            return  | 
| 42 | 
            -
             | 
| 43 | 
            -
             | 
| 44 | 
            -
             | 
| 45 | 
            -
             | 
| 46 | 
            -
             | 
| 47 | 
            -
             | 
| 48 | 
            -
             | 
| 49 | 
            -
                                }
         | 
| 50 | 
            -
                            })))).reduce((ls1, ls2) => ls1.concat(ls2));
         | 
| 51 | 
            -
                        });
         | 
| 52 | 
            -
                    }
         | 
| 39 | 
            +
                    const contests = (yield Promise.all(cfg.abbrList.map((abbr) => __awaiter(this, void 0, void 0, function* () {
         | 
| 40 | 
            +
                        try {
         | 
| 41 | 
            +
                            return yield oj_1.alloj[abbr].get();
         | 
| 42 | 
            +
                        }
         | 
| 43 | 
            +
                        catch (e) {
         | 
| 44 | 
            +
                            console.error(`Failed to get contest information for ${oj_1.alloj[abbr].name}, details:`);
         | 
| 45 | 
            +
                            console.error(e);
         | 
| 46 | 
            +
                            return [];
         | 
| 47 | 
            +
                        }
         | 
| 48 | 
            +
                    })))).reduce((ls1, ls2) => ls1.concat(ls2));
         | 
| 53 49 | 
             
                    const ret = {
         | 
| 54 | 
            -
                        running:  | 
| 55 | 
            -
                        upcoming:  | 
| 50 | 
            +
                        running: contests.filter(ct => ct.startTime <= new Date() && ct.endTime > new Date()),
         | 
| 51 | 
            +
                        upcoming: contests.filter(ct => ct.startTime > new Date() && ct.startTime <= new Date(Date.now() + cfg.days * 86400000))
         | 
| 56 52 | 
             
                    };
         | 
| 57 53 | 
             
                    if (cfg.sort)
         | 
| 58 54 | 
             
                        Object.values(ret).forEach(ct => ct.sort((a, b) => a.startTime.getTime() - b.startTime.getTime()));
         | 
| @@ -72,7 +68,6 @@ function getContestsInfoText(config, language = "zh-CN") { | |
| 72 68 | 
             
                    const lang = yield (0, locale_1.getLangDict)(language);
         | 
| 73 69 | 
             
                    const { running, upcoming } = yield getContests(cfg);
         | 
| 74 70 | 
             
                    const info = [];
         | 
| 75 | 
            -
                    const oj = cfg.abbrList.map(abbr => oj_1.alloj[abbr].name).join(",");
         | 
| 76 71 | 
             
                    function msg(contests) {
         | 
| 77 72 | 
             
                        return contests.map(contest => {
         | 
| 78 73 | 
             
                            const ls = [];
         | 
| @@ -88,22 +83,22 @@ function getContestsInfoText(config, language = "zh-CN") { | |
| 88 83 | 
             
                    if (running.length) {
         | 
| 89 84 | 
             
                        info.push(lodash_1.default.template(lang.runnning)({
         | 
| 90 85 | 
             
                            contestCount: running.length,
         | 
| 91 | 
            -
                            oj
         | 
| 86 | 
            +
                            oj: lodash_1.default.uniq(running.map(contest => contest.ojName))
         | 
| 92 87 | 
             
                        }));
         | 
| 93 88 | 
             
                        info.push(...msg(running));
         | 
| 94 89 | 
             
                    }
         | 
| 95 90 | 
             
                    else
         | 
| 96 | 
            -
                        info.push( | 
| 91 | 
            +
                        info.push(lang.norunning);
         | 
| 97 92 | 
             
                    if (upcoming.length) {
         | 
| 98 93 | 
             
                        info.push(lodash_1.default.template(lang.upcoming)({
         | 
| 99 94 | 
             
                            contestCount: upcoming.length,
         | 
| 100 95 | 
             
                            days: cfg.days,
         | 
| 101 | 
            -
                            oj
         | 
| 96 | 
            +
                            oj: lodash_1.default.uniq(upcoming.map(contest => contest.ojName))
         | 
| 102 97 | 
             
                        }));
         | 
| 103 98 | 
             
                        info.push(...msg(upcoming));
         | 
| 104 99 | 
             
                    }
         | 
| 105 100 | 
             
                    else
         | 
| 106 | 
            -
                        info.push(lodash_1.default.template(lang.noupcoming)({ days: cfg.days | 
| 101 | 
            +
                        info.push(lodash_1.default.template(lang.noupcoming)({ days: cfg.days }));
         | 
| 107 102 | 
             
                    return pangu_1.default.spacing(info.join("\n\n"));
         | 
| 108 103 | 
             
                });
         | 
| 109 104 | 
             
            }
         | 
    
        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;AAEvC,oDAAuB;AACvB,kDAA0B;AAQ1B,MAAM,aAAa,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,UAAK,CAAC;IAC5B,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,IAAI;CACb,CAAC;AAEF,SAAS,aAAa,CAAC,MAAe;IAElC,MAAM,GAAG,mCAAQ,aAAa,GAAK,MAAM,CAAE,CAAC;IAC5C,IAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC;QAAE,GAAG,CAAC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;IACnE,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAsB,WAAW,CAAC,MAAe;;QAE7C,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QAClC, | 
| 1 | 
            +
            {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
         | 
    
        package/dist/locale/en.json
    CHANGED
    
    | @@ -1,8 +1,8 @@ | |
| 1 1 | 
             
            {
         | 
| 2 2 | 
             
                "runnning": "There are ${contestCount} contests is running on ${oj}",
         | 
| 3 | 
            -
                "norunning": "No  | 
| 3 | 
            +
                "norunning": "No running contests",
         | 
| 4 4 | 
             
                "upcoming": "There are ${contestCount} contests on ${oj} in the next ${days} days",
         | 
| 5 | 
            -
                "noupcoming": "No contests for the next ${days} days | 
| 5 | 
            +
                "noupcoming": "No contests for the next ${days} days",
         | 
| 6 6 | 
             
                "ojName": "OJ",
         | 
| 7 7 | 
             
                "name": "Contest name",
         | 
| 8 8 | 
             
                "rule": "Rule",
         | 
    
        package/dist/locale/zh-CN.json
    CHANGED
    
    | @@ -1,8 +1,8 @@ | |
| 1 1 | 
             
            {
         | 
| 2 2 | 
             
                "runnning": "在 ${oj} 上有 ${contestCount} 场正在进行的比赛",
         | 
| 3 | 
            -
                "norunning": " | 
| 3 | 
            +
                "norunning": "没有正在进行的比赛捏",
         | 
| 4 4 | 
             
                "upcoming": "接下来的 ${days} 天内在 ${oj} 上有 ${contestCount} 场比赛",
         | 
| 5 | 
            -
                "noupcoming": "接下来的 ${days}  | 
| 5 | 
            +
                "noupcoming": "接下来的 ${days} 天内没有比赛捏",
         | 
| 6 6 | 
             
                "ojName": "比赛平台",
         | 
| 7 7 | 
             
                "name": "比赛名称",
         | 
| 8 8 | 
             
                "rule": "赛制",
         | 
    
        package/dist/locale/zh-NE.json
    CHANGED
    
    | @@ -1,8 +1,8 @@ | |
| 1 1 | 
             
            {
         | 
| 2 | 
            -
                "runnning": "搁 ${oj} 上有 ${contestCount}  | 
| 3 | 
            -
                "norunning": " | 
| 2 | 
            +
                "runnning": "搁 ${oj} 上有 ${contestCount} 场比赛正偷摸干着呢",
         | 
| 3 | 
            +
                "norunning": "这前属实是没比赛打",
         | 
| 4 4 | 
             
                "upcoming": "之后 ${days} 天搁 ${oj} 上拢共 ${contestCount} 场比赛",
         | 
| 5 | 
            -
                "noupcoming": "没成想往后 ${days}  | 
| 5 | 
            +
                "noupcoming": "没成想往后 ${days} 天没比赛打啊",
         | 
| 6 6 | 
             
                "ojName": "搁哪",
         | 
| 7 7 | 
             
                "name": "叫啥",
         | 
| 8 8 | 
             
                "rule": "咋个整法",
         | 
    
        package/dist/locale/zh-TW.json
    CHANGED
    
    | @@ -1,8 +1,8 @@ | |
| 1 1 | 
             
            {
         | 
| 2 2 | 
             
                "runnning": "在 ${oj} 上有 ${contestCount} 場正在進行的比賽",
         | 
| 3 | 
            -
                "norunning": " | 
| 3 | 
            +
                "norunning": "沒有正在進行的比賽",
         | 
| 4 4 | 
             
                "upcoming": "接下来的 ${days} 天內在 ${oj} 上有 ${contestCount} 場比賽",
         | 
| 5 | 
            -
                "noupcoming": "接下來的 ${days}  | 
| 5 | 
            +
                "noupcoming": "接下來的 ${days} 天內沒有比賽",
         | 
| 6 6 | 
             
                "ojName": "比賽平台",
         | 
| 7 7 | 
             
                "name": "比賽名稱",
         | 
| 8 8 | 
             
                "rule": "賽制",
         |