@xcpcio/core 0.50.3 → 0.50.5

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/dist/index.cjs CHANGED
@@ -2320,9 +2320,19 @@ class Resolver extends Rank {
2320
2320
  let beforeFreezeSubmissions = submissions;
2321
2321
  let afterFreezeSubmissions = submissions;
2322
2322
  {
2323
+ let unFreezeDurationTimestamp = contest.unFreezeDurationTimestamp;
2324
+ if (contest.options.submissionTimestampUnit === "millisecond") {
2325
+ unFreezeDurationTimestamp *= 1e3;
2326
+ }
2327
+ if (contest.options.submissionTimestampUnit === "microsecond") {
2328
+ unFreezeDurationTimestamp *= 1e6;
2329
+ }
2330
+ if (contest.options.submissionTimestampUnit === "nanosecond") {
2331
+ unFreezeDurationTimestamp *= 1e9;
2332
+ }
2323
2333
  const ix = ___default.sortedIndex(
2324
2334
  submissions.map((s) => s.timestamp),
2325
- contest.unFreezeDurationTimestamp
2335
+ unFreezeDurationTimestamp
2326
2336
  );
2327
2337
  beforeFreezeSubmissions = submissions.slice(0, ix + 1);
2328
2338
  afterFreezeSubmissions = submissions.slice(ix, -1);
@@ -2336,6 +2346,8 @@ class Resolver extends Rank {
2336
2346
  buildResolver() {
2337
2347
  this.buildRank();
2338
2348
  this.finalRank.buildRank();
2349
+ this.teams.forEach((t) => t.rank = t.originalRank);
2350
+ this.finalRank.teams.forEach((t) => t.rank = t.originalRank);
2339
2351
  for (const s of this.afterFreezeSubmissions) {
2340
2352
  const teamId = s.teamId;
2341
2353
  const problemId = s.problemId;
package/dist/index.mjs CHANGED
@@ -2287,9 +2287,19 @@ class Resolver extends Rank {
2287
2287
  let beforeFreezeSubmissions = submissions;
2288
2288
  let afterFreezeSubmissions = submissions;
2289
2289
  {
2290
+ let unFreezeDurationTimestamp = contest.unFreezeDurationTimestamp;
2291
+ if (contest.options.submissionTimestampUnit === "millisecond") {
2292
+ unFreezeDurationTimestamp *= 1e3;
2293
+ }
2294
+ if (contest.options.submissionTimestampUnit === "microsecond") {
2295
+ unFreezeDurationTimestamp *= 1e6;
2296
+ }
2297
+ if (contest.options.submissionTimestampUnit === "nanosecond") {
2298
+ unFreezeDurationTimestamp *= 1e9;
2299
+ }
2290
2300
  const ix = _.sortedIndex(
2291
2301
  submissions.map((s) => s.timestamp),
2292
- contest.unFreezeDurationTimestamp
2302
+ unFreezeDurationTimestamp
2293
2303
  );
2294
2304
  beforeFreezeSubmissions = submissions.slice(0, ix + 1);
2295
2305
  afterFreezeSubmissions = submissions.slice(ix, -1);
@@ -2303,6 +2313,8 @@ class Resolver extends Rank {
2303
2313
  buildResolver() {
2304
2314
  this.buildRank();
2305
2315
  this.finalRank.buildRank();
2316
+ this.teams.forEach((t) => t.rank = t.originalRank);
2317
+ this.finalRank.teams.forEach((t) => t.rank = t.originalRank);
2306
2318
  for (const s of this.afterFreezeSubmissions) {
2307
2319
  const teamId = s.teamId;
2308
2320
  const problemId = s.problemId;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xcpcio/core",
3
- "version": "0.50.3",
3
+ "version": "0.50.5",
4
4
  "description": "XCPCIO Core",
5
5
  "author": "Dup4 <lyuzhi.pan@gmail.com>",
6
6
  "license": "MIT",
@@ -49,7 +49,7 @@
49
49
  "papaparse": "^5.4.1",
50
50
  "string-width": "^6.1.0",
51
51
  "xlsx-js-style": "^1.2.0",
52
- "@xcpcio/types": "0.50.3"
52
+ "@xcpcio/types": "0.50.5"
53
53
  },
54
54
  "devDependencies": {
55
55
  "@babel/types": "^7.22.4",
package/src/resolver.ts CHANGED
@@ -23,9 +23,21 @@ export class Resolver extends Rank {
23
23
  let afterFreezeSubmissions = submissions;
24
24
 
25
25
  {
26
+ // TODO(Dup4): Remove this block
27
+ let unFreezeDurationTimestamp = contest.unFreezeDurationTimestamp;
28
+ if (contest.options.submissionTimestampUnit === "millisecond") {
29
+ unFreezeDurationTimestamp *= 1000;
30
+ }
31
+ if (contest.options.submissionTimestampUnit === "microsecond") {
32
+ unFreezeDurationTimestamp *= 1000000;
33
+ }
34
+ if (contest.options.submissionTimestampUnit === "nanosecond") {
35
+ unFreezeDurationTimestamp *= 1000000000;
36
+ }
37
+
26
38
  const ix = _.sortedIndex(
27
39
  submissions.map(s => s.timestamp),
28
- contest.unFreezeDurationTimestamp,
40
+ unFreezeDurationTimestamp,
29
41
  );
30
42
 
31
43
  beforeFreezeSubmissions = submissions.slice(0, ix + 1);
@@ -45,6 +57,9 @@ export class Resolver extends Rank {
45
57
  this.buildRank();
46
58
  this.finalRank.buildRank();
47
59
 
60
+ this.teams.forEach(t => t.rank = t.originalRank);
61
+ this.finalRank.teams.forEach(t => t.rank = t.originalRank);
62
+
48
63
  for (const s of this.afterFreezeSubmissions) {
49
64
  const teamId = s.teamId;
50
65
  const problemId = s.problemId;