@aoi-js/aka 0.0.7 → 0.0.9
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 +4 -1
- package/lib/calc/acm.d.ts +1 -0
- package/lib/calc/acm.js +27 -12
- package/lib/calc/acm.js.map +1 -1
- package/lib/calc/basic.js +1 -1
- package/lib/calc/plus.js +1 -1
- package/package.json +7 -3
package/README.md
CHANGED
package/lib/calc/acm.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export declare class AcmCalculator extends RanklistCalculator {
|
|
|
4
4
|
topstars: number;
|
|
5
5
|
warnings: string;
|
|
6
6
|
startTime: number;
|
|
7
|
+
penaltyPerSolution: number;
|
|
7
8
|
loadConfig(dict: Record<string, string>): Promise<IRanklistSyncOptions>;
|
|
8
9
|
private _renderParticipantItemColumn;
|
|
9
10
|
private _renderPenaltyColumn;
|
package/lib/calc/acm.js
CHANGED
|
@@ -3,20 +3,34 @@ export class AcmCalculator extends RanklistCalculator {
|
|
|
3
3
|
topstars = 0;
|
|
4
4
|
warnings = '';
|
|
5
5
|
startTime = 0;
|
|
6
|
+
penaltyPerSolution = 20 * 60 * 1000;
|
|
6
7
|
async loadConfig(dict) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
8
|
+
if (dict.topstars) {
|
|
9
|
+
const topstars = +dict.topstars;
|
|
10
|
+
if (!Number.isInteger(topstars) || topstars < 0 || topstars > 20) {
|
|
11
|
+
this.warnings += 'topstars must be an integer between 0 and 20\n';
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
this.topstars = topstars;
|
|
15
|
+
}
|
|
13
16
|
}
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
+
if (dict.startTime) {
|
|
18
|
+
const startTime = Date.parse(dict.startTime);
|
|
19
|
+
if (Number.isNaN(startTime)) {
|
|
20
|
+
this.warnings += 'startTime is not a valid timestamp\n';
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
this.startTime = startTime;
|
|
24
|
+
}
|
|
17
25
|
}
|
|
18
|
-
|
|
19
|
-
|
|
26
|
+
if (dict.penaltyPerSolution) {
|
|
27
|
+
const penaltyPerSolution = +dict.penaltyPerSolution;
|
|
28
|
+
if (!Number.isInteger(penaltyPerSolution) || penaltyPerSolution < 0) {
|
|
29
|
+
this.warnings += 'penaltyPerSolution must be a positive integer\n';
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
this.penaltyPerSolution = penaltyPerSolution;
|
|
33
|
+
}
|
|
20
34
|
}
|
|
21
35
|
return {
|
|
22
36
|
shouldSyncParticipants: true,
|
|
@@ -106,6 +120,7 @@ export class AcmCalculator extends RanklistCalculator {
|
|
|
106
120
|
record.solutionCounts[i] = solutionCounts[problemId] ?? 0;
|
|
107
121
|
if (record.scores[i]) {
|
|
108
122
|
record.penalty += Math.max(0, timestamps[problemId] - this.startTime);
|
|
123
|
+
record.penalty += this.penaltyPerSolution * (solutionCounts[problemId] - 1);
|
|
109
124
|
}
|
|
110
125
|
}
|
|
111
126
|
}
|
|
@@ -126,7 +141,7 @@ export class AcmCalculator extends RanklistCalculator {
|
|
|
126
141
|
list: await Promise.all(topstarUserIdList.map(async (userId) => {
|
|
127
142
|
const solutions = await this.db.solutions
|
|
128
143
|
.find({ contestId, userId })
|
|
129
|
-
.sort({
|
|
144
|
+
.sort({ submittedAt: 1 })
|
|
130
145
|
.toArray();
|
|
131
146
|
const currentScores = Object.create(null);
|
|
132
147
|
const mutations = [];
|
package/lib/calc/acm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acm.js","sourceRoot":"","sources":["../../src/calc/acm.ts"],"names":[],"mappings":"AAQA,OAAO,EAAwB,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAEpE,MAAM,OAAO,aAAc,SAAQ,kBAAkB;IACnD,QAAQ,GAAG,CAAC,CAAA;IACZ,QAAQ,GAAG,EAAE,CAAA;IACb,SAAS,GAAG,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"acm.js","sourceRoot":"","sources":["../../src/calc/acm.ts"],"names":[],"mappings":"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"}
|
package/lib/calc/basic.js
CHANGED
|
@@ -53,7 +53,7 @@ export class BasicCalculator extends RanklistCalculator {
|
|
|
53
53
|
list: await Promise.all(topstarUserIdList.map(async (userId) => {
|
|
54
54
|
const solutions = await this.db.solutions
|
|
55
55
|
.find({ contestId, userId })
|
|
56
|
-
.sort({
|
|
56
|
+
.sort({ submittedAt: 1 })
|
|
57
57
|
.toArray();
|
|
58
58
|
const currentScores = Object.create(null);
|
|
59
59
|
const mutations = [];
|
package/lib/calc/plus.js
CHANGED
|
@@ -258,7 +258,7 @@ export class PlusCalculator extends RanklistCalculator {
|
|
|
258
258
|
list: await Promise.all(topstarUserIdList.map(async (userId) => {
|
|
259
259
|
const solutions = await this.db.solutions
|
|
260
260
|
.find({ contestId, userId, problemId: { $in: problemIdList } })
|
|
261
|
-
.sort({
|
|
261
|
+
.sort({ submittedAt: 1 })
|
|
262
262
|
.toArray();
|
|
263
263
|
const currentScores = Object.create(null);
|
|
264
264
|
const mutations = [];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aoi-js/aka",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.9",
|
|
4
4
|
"packageManager": "yarn@4.0.2",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -32,7 +32,8 @@
|
|
|
32
32
|
"prettier": "^3.2.4",
|
|
33
33
|
"rimraf": "^5.0.5",
|
|
34
34
|
"typescript": "^5.3.3",
|
|
35
|
-
"undici-types": "^6.4.0"
|
|
35
|
+
"undici-types": "^6.4.0",
|
|
36
|
+
"vitepress": "^1.0.0-rc.39"
|
|
36
37
|
},
|
|
37
38
|
"dependencies": {
|
|
38
39
|
"dotenv": "^16.3.2",
|
|
@@ -44,6 +45,9 @@
|
|
|
44
45
|
"build": "tsc",
|
|
45
46
|
"clean": "rimraf lib tsconfig.tsbuildinfo",
|
|
46
47
|
"prepack": "run build",
|
|
47
|
-
"dev": "aka | pino-pretty"
|
|
48
|
+
"dev": "aka | pino-pretty",
|
|
49
|
+
"docs:dev": "vitepress dev docs",
|
|
50
|
+
"docs:build": "vitepress build docs",
|
|
51
|
+
"docs:preview": "vitepress preview docs"
|
|
48
52
|
}
|
|
49
53
|
}
|