@xcpcio/core 0.76.8 → 0.77.0

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
@@ -1057,6 +1057,8 @@ class ContestOptions {
1057
1057
  submissionHasReactionField;
1058
1058
  reactionVideoUrlTemplate;
1059
1059
  teamPhotoTemplate;
1060
+ teamWebcamStreamUrlTemplate;
1061
+ teamScreenStreamUrlTemplate;
1060
1062
  constructor() {
1061
1063
  this.calculationOfPenalty = "in_minutes";
1062
1064
  this.submissionTimestampUnit = "second";
@@ -1075,12 +1077,14 @@ function createContestOptions(contestOptionsJSON = {}) {
1075
1077
  if (j.submission_timestamp_unit) {
1076
1078
  o.submissionTimestampUnit = j.submission_timestamp_unit;
1077
1079
  }
1078
- if (j.submission_has_reaction || j.has_reaction_videos) {
1080
+ if (j.has_reaction_videos) {
1079
1081
  o.submissionHasReactionField = true;
1080
1082
  }
1081
1083
  o.submissionEnableActionField = o.submissionHasReactionField;
1082
1084
  o.reactionVideoUrlTemplate = j.reaction_video_url_template;
1083
1085
  o.teamPhotoTemplate = j.team_photo_url_template;
1086
+ o.teamWebcamStreamUrlTemplate = j.team_webcam_stream_url_template;
1087
+ o.teamScreenStreamUrlTemplate = j.team_screen_stream_url_template;
1084
1088
  return o;
1085
1089
  }
1086
1090
 
@@ -1718,7 +1722,7 @@ class ICPCStandingsCsvConverter {
1718
1722
  problemsSolved: team.solvedProblemNum,
1719
1723
  totalTime: team.penaltyToMinute,
1720
1724
  lastProblemTime: team.lastSolvedProblemStatistics?.solvedTimestampToMinute ?? 0,
1721
- siteCitation: rank.contest.name.getOrDefault(),
1725
+ siteCitation: "",
1722
1726
  citation: ordinal__default(team.rank),
1723
1727
  teamName: team.name.getOrDefault(),
1724
1728
  institution: team.organization?.name.getOrDefault() ?? ""
package/dist/index.d.cts CHANGED
@@ -47,6 +47,8 @@ declare class ContestOptions {
47
47
  submissionHasReactionField: boolean;
48
48
  reactionVideoUrlTemplate?: string;
49
49
  teamPhotoTemplate?: Image;
50
+ teamWebcamStreamUrlTemplate?: string;
51
+ teamScreenStreamUrlTemplate?: string;
50
52
  constructor();
51
53
  }
52
54
 
package/dist/index.d.mts CHANGED
@@ -47,6 +47,8 @@ declare class ContestOptions {
47
47
  submissionHasReactionField: boolean;
48
48
  reactionVideoUrlTemplate?: string;
49
49
  teamPhotoTemplate?: Image;
50
+ teamWebcamStreamUrlTemplate?: string;
51
+ teamScreenStreamUrlTemplate?: string;
50
52
  constructor();
51
53
  }
52
54
 
package/dist/index.d.ts CHANGED
@@ -47,6 +47,8 @@ declare class ContestOptions {
47
47
  submissionHasReactionField: boolean;
48
48
  reactionVideoUrlTemplate?: string;
49
49
  teamPhotoTemplate?: Image;
50
+ teamWebcamStreamUrlTemplate?: string;
51
+ teamScreenStreamUrlTemplate?: string;
50
52
  constructor();
51
53
  }
52
54
 
package/dist/index.mjs CHANGED
@@ -1026,6 +1026,8 @@ class ContestOptions {
1026
1026
  submissionHasReactionField;
1027
1027
  reactionVideoUrlTemplate;
1028
1028
  teamPhotoTemplate;
1029
+ teamWebcamStreamUrlTemplate;
1030
+ teamScreenStreamUrlTemplate;
1029
1031
  constructor() {
1030
1032
  this.calculationOfPenalty = "in_minutes";
1031
1033
  this.submissionTimestampUnit = "second";
@@ -1044,12 +1046,14 @@ function createContestOptions(contestOptionsJSON = {}) {
1044
1046
  if (j.submission_timestamp_unit) {
1045
1047
  o.submissionTimestampUnit = j.submission_timestamp_unit;
1046
1048
  }
1047
- if (j.submission_has_reaction || j.has_reaction_videos) {
1049
+ if (j.has_reaction_videos) {
1048
1050
  o.submissionHasReactionField = true;
1049
1051
  }
1050
1052
  o.submissionEnableActionField = o.submissionHasReactionField;
1051
1053
  o.reactionVideoUrlTemplate = j.reaction_video_url_template;
1052
1054
  o.teamPhotoTemplate = j.team_photo_url_template;
1055
+ o.teamWebcamStreamUrlTemplate = j.team_webcam_stream_url_template;
1056
+ o.teamScreenStreamUrlTemplate = j.team_screen_stream_url_template;
1053
1057
  return o;
1054
1058
  }
1055
1059
 
@@ -1687,7 +1691,7 @@ class ICPCStandingsCsvConverter {
1687
1691
  problemsSolved: team.solvedProblemNum,
1688
1692
  totalTime: team.penaltyToMinute,
1689
1693
  lastProblemTime: team.lastSolvedProblemStatistics?.solvedTimestampToMinute ?? 0,
1690
- siteCitation: rank.contest.name.getOrDefault(),
1694
+ siteCitation: "",
1691
1695
  citation: ordinal(team.rank),
1692
1696
  teamName: team.name.getOrDefault(),
1693
1697
  institution: team.organization?.name.getOrDefault() ?? ""
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@xcpcio/core",
3
3
  "type": "module",
4
- "version": "0.76.8",
4
+ "version": "0.77.0",
5
5
  "description": "The core library for XCPCIO",
6
6
  "author": "Dup4 <hi@dup4.com>",
7
7
  "license": "MIT",
@@ -42,27 +42,27 @@
42
42
  "papaparse": "^5.5.3",
43
43
  "string-width": "^8.1.0",
44
44
  "xlsx-js-style": "^1.2.0",
45
- "@xcpcio/types": "0.76.8"
45
+ "@xcpcio/types": "0.77.0"
46
46
  },
47
47
  "devDependencies": {
48
- "@babel/types": "^7.28.5",
48
+ "@babel/types": "^7.28.6",
49
49
  "@types/chroma-js": "^3.1.2",
50
50
  "@types/color-diff": "^1.2.5",
51
- "@types/lodash": "^4.17.21",
52
- "@types/node": "^24.10.3",
53
- "@types/papaparse": "^5.5.1",
54
- "@typescript-eslint/eslint-plugin": "^8.49.0",
55
- "@typescript-eslint/parser": "^8.49.0",
56
- "bumpp": "^10.3.2",
51
+ "@types/lodash": "^4.17.23",
52
+ "@types/node": "^24.10.8",
53
+ "@types/papaparse": "^5.5.2",
54
+ "@typescript-eslint/eslint-plugin": "^8.53.0",
55
+ "@typescript-eslint/parser": "^8.53.0",
56
+ "bumpp": "^10.4.0",
57
57
  "eslint": "^9.39.2",
58
58
  "esmo": "^4.8.0",
59
59
  "npm-run-all": "^4.1.5",
60
- "pnpm": "^10.25.0",
60
+ "pnpm": "^10.28.0",
61
61
  "taze": "^19.9.2",
62
62
  "typescript": "^5.9.3",
63
63
  "unbuild": "^3.6.1",
64
- "vite": "^7.2.7",
65
- "vitest": "^4.0.15"
64
+ "vite": "^7.3.1",
65
+ "vitest": "^4.0.17"
66
66
  },
67
67
  "scripts": {
68
68
  "build": "unbuild",