add FormatChart function

This commit is contained in:
zkldi
2021-07-23 02:54:47 +01:00
parent 95ac8d99ad
commit 94443fe4ae
4 changed files with 44 additions and 4 deletions
+2 -1
View File
@@ -1,4 +1,4 @@
import { AnyChartDocument, Game, Playtypes } from "..";
import { AnyChartDocument, AnySongDocument, Game, Playtypes } from "..";
export declare function FormatDifficulty(chart: AnyChartDocument, game: Game): string;
/**
* Formats a chart's difficulty into a shorter variant. This handles a lot of
@@ -6,3 +6,4 @@ export declare function FormatDifficulty(chart: AnyChartDocument, game: Game): s
*/
export declare function FormatDifficultyShort(chart: AnyChartDocument, game: Game): string;
export declare function FormatGame(game: Game, playtype: Playtypes[Game]): string;
export declare function FormatChart(game: Game, song: AnySongDocument, chart: AnyChartDocument): string;
+18 -1
View File
@@ -1,6 +1,6 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.FormatGame = exports.FormatDifficultyShort = exports.FormatDifficulty = void 0;
exports.FormatChart = exports.FormatGame = exports.FormatDifficultyShort = exports.FormatDifficulty = void 0;
const config_1 = require("../config/config");
function FormatDifficulty(chart, game) {
const gameConfig = config_1.GetGameConfig(game);
@@ -42,4 +42,21 @@ function FormatGame(game, playtype) {
return `${gameConfig.name} (${playtype})`;
}
exports.FormatGame = FormatGame;
function FormatChart(game, song, chart) {
if (game === "bms") {
return song.title;
}
const gameConfig = config_1.GetGameConfig(game);
let playtypeStr = `${chart.playtype} `;
if (gameConfig.validPlaytypes.length === 1) {
playtypeStr = "";
}
// return the most recent version this chart appeared in if it
// is not primary.
if (!chart.isPrimary) {
return `${song.title} (${playtypeStr}${chart.difficulty} ${chart.versions[0]})`;
}
return `${song.title} (${playtypeStr}${chart.difficulty})`;
}
exports.FormatChart = FormatChart;
//# sourceMappingURL=util.js.map
+1 -1
View File
@@ -1 +1 @@
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/utils/util.ts"],"names":[],"mappings":";;;AACA,6CAAkE;AAElE,SAAgB,gBAAgB,CAAC,KAAuB,EAAE,IAAU;IACnE,MAAM,UAAU,GAAG,sBAAa,CAAC,IAAI,CAAC,CAAC;IAEvC,IAAI,IAAI,KAAK,KAAK,EAAE;QACnB,OAAO,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;KAC1C;IAED,IAAI,UAAU,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;QACzC,OAAO,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;KAC9D;IAED,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;AAC9B,CAAC;AAZD,4CAYC;AAED;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,KAAuB,EAAE,IAAU;;IACxE,MAAM,UAAU,GAAG,sBAAa,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,wBAAe,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,MAAA,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,mCAAI,KAAK,CAAC,UAAU,CAAC;IAEpF,IAAI,IAAI,KAAK,KAAK,EAAE;QACnB,OAAO,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;KAC1C;IAED,IAAI,IAAI,KAAK,KAAK,EAAE;QACnB,OAAO,GAAG,SAAS,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;KACvC;IAED,IAAI,UAAU,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,KAAK,UAAU,EAAE;QAClE,OAAO,GAAG,SAAS,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;KACrC;IAED,OAAO,GAAG,KAAK,CAAC,QAAQ,GAAG,SAAS,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;AACvD,CAAC;AAlBD,sDAkBC;AAED,SAAgB,UAAU,CAAC,IAAU,EAAE,QAAyB;IAC/D,MAAM,UAAU,GAAG,sBAAa,CAAC,IAAI,CAAC,CAAC;IAEvC,IAAI,UAAU,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3C,OAAO,UAAU,CAAC,IAAI,CAAC;KACvB;IAED,OAAO,GAAG,UAAU,CAAC,IAAI,KAAK,QAAQ,GAAG,CAAC;AAC3C,CAAC;AARD,gCAQC"}
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/utils/util.ts"],"names":[],"mappings":";;;AACA,6CAAkE;AAElE,SAAgB,gBAAgB,CAAC,KAAuB,EAAE,IAAU;IACnE,MAAM,UAAU,GAAG,sBAAa,CAAC,IAAI,CAAC,CAAC;IAEvC,IAAI,IAAI,KAAK,KAAK,EAAE;QACnB,OAAO,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;KAC1C;IAED,IAAI,UAAU,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;QACzC,OAAO,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;KAC9D;IAED,OAAO,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;AAC9B,CAAC;AAZD,4CAYC;AAED;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,KAAuB,EAAE,IAAU;;IACxE,MAAM,UAAU,GAAG,sBAAa,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,wBAAe,CAAC,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,MAAA,SAAS,CAAC,iBAAiB,CAAC,KAAK,CAAC,UAAU,CAAC,mCAAI,KAAK,CAAC,UAAU,CAAC;IAEpF,IAAI,IAAI,KAAK,KAAK,EAAE;QACnB,OAAO,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;KAC1C;IAED,IAAI,IAAI,KAAK,KAAK,EAAE;QACnB,OAAO,GAAG,SAAS,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;KACvC;IAED,IAAI,UAAU,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,KAAK,UAAU,EAAE;QAClE,OAAO,GAAG,SAAS,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;KACrC;IAED,OAAO,GAAG,KAAK,CAAC,QAAQ,GAAG,SAAS,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;AACvD,CAAC;AAlBD,sDAkBC;AAED,SAAgB,UAAU,CAAC,IAAU,EAAE,QAAyB;IAC/D,MAAM,UAAU,GAAG,sBAAa,CAAC,IAAI,CAAC,CAAC;IAEvC,IAAI,UAAU,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3C,OAAO,UAAU,CAAC,IAAI,CAAC;KACvB;IAED,OAAO,GAAG,UAAU,CAAC,IAAI,KAAK,QAAQ,GAAG,CAAC;AAC3C,CAAC;AARD,gCAQC;AAED,SAAgB,WAAW,CAAC,IAAU,EAAE,IAAqB,EAAE,KAAuB;IACrF,IAAI,IAAI,KAAK,KAAK,EAAE;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC;KAClB;IAED,MAAM,UAAU,GAAG,sBAAa,CAAC,IAAI,CAAC,CAAC;IAEvC,IAAI,WAAW,GAAG,GAAG,KAAK,CAAC,QAAQ,GAAG,CAAC;IAEvC,IAAI,UAAU,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3C,WAAW,GAAG,EAAE,CAAC;KACjB;IAED,8DAA8D;IAC9D,kBAAkB;IAClB,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;QACrB,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,WAAW,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;KAChF;IAED,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,WAAW,GAAG,KAAK,CAAC,UAAU,GAAG,CAAC;AAC5D,CAAC;AApBD,kCAoBC"}
+23 -1
View File
@@ -1,4 +1,4 @@
import { AnyChartDocument, Game, Playtypes } from "..";
import { AnyChartDocument, AnySongDocument, Game, Playtypes } from "..";
import { GetGameConfig, GetGamePTConfig } from "../config/config";
export function FormatDifficulty(chart: AnyChartDocument, game: Game): string {
@@ -48,3 +48,25 @@ export function FormatGame(game: Game, playtype: Playtypes[Game]): string {
return `${gameConfig.name} (${playtype})`;
}
export function FormatChart(game: Game, song: AnySongDocument, chart: AnyChartDocument): string {
if (game === "bms") {
return song.title;
}
const gameConfig = GetGameConfig(game);
let playtypeStr = `${chart.playtype} `;
if (gameConfig.validPlaytypes.length === 1) {
playtypeStr = "";
}
// return the most recent version this chart appeared in if it
// is not primary.
if (!chart.isPrimary) {
return `${song.title} (${playtypeStr}${chart.difficulty} ${chart.versions[0]})`;
}
return `${song.title} (${playtypeStr}${chart.difficulty})`;
}