From 259b9cb5d33e004bfd2f01ccdd0bd3c2692cf091 Mon Sep 17 00:00:00 2001 From: zkldi Date: Tue, 10 Aug 2021 22:34:43 +0100 Subject: [PATCH] remove and hide /js files --- common/.gitignore | 4 +- common/js/config/config.d.ts | 77 -- common/js/config/config.js | 959 ---------------------- common/js/config/config.js.map | 1 - common/js/config/static-config.d.ts | 14 - common/js/config/static-config.js | 78 -- common/js/config/static-config.js.map | 1 - common/js/game-classes.d.ts | 54 -- common/js/game-classes.js | 187 ----- common/js/game-classes.js.map | 1 - common/js/index.d.ts | 6 - common/js/index.js | 32 - common/js/index.js.map | 1 - common/js/lib/esd.d.ts | 26 - common/js/lib/esd.js | 144 ---- common/js/lib/esd.js.map | 1 - common/js/lib/util.d.ts | 2 - common/js/lib/util.js | 20 - common/js/lib/util.js.map | 1 - common/js/types.d.ts | 1084 ------------------------- common/js/types.js | 3 - common/js/types.js.map | 1 - common/js/utils/util.d.ts | 9 - common/js/utils/util.js | 62 -- common/js/utils/util.js.map | 1 - 25 files changed, 3 insertions(+), 2766 deletions(-) delete mode 100644 common/js/config/config.d.ts delete mode 100644 common/js/config/config.js delete mode 100644 common/js/config/config.js.map delete mode 100644 common/js/config/static-config.d.ts delete mode 100644 common/js/config/static-config.js delete mode 100644 common/js/config/static-config.js.map delete mode 100644 common/js/game-classes.d.ts delete mode 100644 common/js/game-classes.js delete mode 100644 common/js/game-classes.js.map delete mode 100644 common/js/index.d.ts delete mode 100644 common/js/index.js delete mode 100644 common/js/index.js.map delete mode 100644 common/js/lib/esd.d.ts delete mode 100644 common/js/lib/esd.js delete mode 100644 common/js/lib/esd.js.map delete mode 100644 common/js/lib/util.d.ts delete mode 100644 common/js/lib/util.js delete mode 100644 common/js/lib/util.js.map delete mode 100644 common/js/types.d.ts delete mode 100644 common/js/types.js delete mode 100644 common/js/types.js.map delete mode 100644 common/js/utils/util.d.ts delete mode 100644 common/js/utils/util.js delete mode 100644 common/js/utils/util.js.map diff --git a/common/.gitignore b/common/.gitignore index 15aae8d54..e041943cc 100644 --- a/common/.gitignore +++ b/common/.gitignore @@ -2,4 +2,6 @@ /.vscode .nyc_output -coverage \ No newline at end of file +coverage + +/js \ No newline at end of file diff --git a/common/js/config/config.d.ts b/common/js/config/config.d.ts deleted file mode 100644 index 634dc7f76..000000000 --- a/common/js/config/config.d.ts +++ /dev/null @@ -1,77 +0,0 @@ -import { ClassInfo, GameClassSets } from "../game-classes"; -import { ESDJudgementFormat } from "../lib/esd"; -import { Playtypes, Game, Difficulties, IDStrings, ScoreCalculatedDataLookup, SessionCalculatedDataLookup, UGSRatingsLookup, Grades, Lamps, JudgementLookup } from "../types"; -export interface GameConfig { - internalName: string; - name: string; - defaultPlaytype: Playtypes[G]; - validPlaytypes: Playtypes[G][]; -} -interface BaseGamePTConfig { - idString: I; - percentMax: number; - defaultScoreRatingAlg: ScoreCalculatedDataLookup[I]; - defaultSessionRatingAlg: SessionCalculatedDataLookup[I]; - defaultProfileRatingAlg: UGSRatingsLookup[I]; - scoreRatingAlgs: ScoreCalculatedDataLookup[I][]; - sessionRatingAlgs: SessionCalculatedDataLookup[I][]; - profileRatingAlgs: UGSRatingsLookup[I][]; - difficulties: Difficulties[I][]; - shortDifficulties: Partial>; - defaultDifficulty: Difficulties[I]; - difficultyColours: Record; - grades: Grades[I][]; - gradeColours: Record; - clearGrade: Grades[I]; - gradeBoundaries: number[]; - lamps: Lamps[I][]; - lampColours: Record; - clearLamp: Lamps[I]; - classHumanisedFormat: Record; - judgements: JudgementLookup[I][]; - defaultTable: string; - scoreBucket: "grade" | "lamp"; -} -interface GamePTConfigWithESD extends BaseGamePTConfig { - supportsESD: true; - judgementWindows: ESDJudgementFormat[]; -} -interface GamePTConfigWithoutESD extends BaseGamePTConfig { - supportsESD: false; -} -export declare type GamePTConfig = GamePTConfigWithESD | GamePTConfigWithoutESD; -/** - * A collection of CSS colours we want to work with. - */ -export declare const COLOUR_SET: { - gray: string; - maroon: string; - red: string; - paleGreen: string; - paleBlue: string; - green: string; - blue: string; - gold: string; - vibrantYellow: string; - teal: string; - white: string; - purple: string; - vibrantPurple: string; - paleOrange: string; - orange: string; - vibrantOrange: string; - vibrantBlue: string; - vibrantGreen: string; - vibrantRed: string; -}; -/** - * Returns the configuration for this game. - */ -export declare function GetGameConfig(game: G): GameConfig; -/** - * Returns the configuration for this Game + Playtype. - * Optionally, a generic parameter - IDStrings - can be passed - * to indicate what IDString this configuration is for. - */ -export declare function GetGamePTConfig(game: Game, playtype: Playtypes[Game]): GamePTConfig; -export {}; diff --git a/common/js/config/config.js b/common/js/config/config.js deleted file mode 100644 index f5a01e361..000000000 --- a/common/js/config/config.js +++ /dev/null @@ -1,959 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.GetGamePTConfig = exports.GetGameConfig = exports.COLOUR_SET = void 0; -const game_classes_1 = require("../game-classes"); -/** - * A collection of CSS colours we want to work with. - */ -exports.COLOUR_SET = { - gray: "rgba(105, 105, 105, 1)", - maroon: "rgba(85, 17, 17, 1)", - red: "rgba(170, 85, 85, 1)", - paleGreen: "rgba(142,174,79, 1)", - paleBlue: "rgba(92, 97, 153, 1)", - green: "rgba(50, 205, 50, 1)", - blue: "rgba(70, 130, 180, 1)", - gold: "rgba(255, 215, 0, 1)", - vibrantYellow: "rgba(245, 229, 27, 1)", - teal: "rgba(127, 255, 212, 1)", - white: "rgba(192, 192, 192, 1)", - purple: "rgba(153, 50, 204, 1)", - vibrantPurple: "rgba(161, 23, 230, 1)", - paleOrange: "rgba(235, 151, 78, 1)", - orange: "rgba(248, 148, 6, 1)", - vibrantOrange: "rgba(248, 175, 6, 1)", - vibrantBlue: "rgba(43, 149, 237, 1)", - vibrantGreen: "rgba(26, 232, 26, 1)", - vibrantRed: "rgba(243, 23, 45, 1)", -}; -const GAME_CONFIGS = { - iidx: { - defaultPlaytype: "SP", - name: "beatmania IIDX", - internalName: "iidx", - validPlaytypes: ["SP", "DP"], - }, - museca: { - defaultPlaytype: "Single", - name: "MÚSECA", - internalName: "museca", - validPlaytypes: ["Single"], - }, - chunithm: { - defaultPlaytype: "Single", - name: "CHUNITHM", - internalName: "chunithm", - validPlaytypes: ["Single"], - }, - ddr: { - defaultPlaytype: "SP", - name: "DDR", - internalName: "ddr", - validPlaytypes: ["SP", "DP"], - }, - bms: { - defaultPlaytype: "7K", - name: "BMS", - internalName: "bms", - validPlaytypes: ["7K", "14K"], - }, - gitadora: { - defaultPlaytype: "Dora", - name: "GITADORA", - internalName: "gitadora", - validPlaytypes: ["Gita", "Dora"], - }, - // jubeat: { - // defaultPlaytype: "Single", - // name: "jubeat", - // internalName: "jubeat", - // validPlaytypes: ["Single"], - // }, - maimai: { - defaultPlaytype: "Single", - name: "maimai", - internalName: "maimai", - validPlaytypes: ["Single"], - }, - // popn: { - // defaultPlaytype: "9B", - // name: "pop'n music", - // internalName: "popn", // note: KAI servers use pnm as a name. - // validPlaytypes: ["9B"], - // }, - sdvx: { - defaultPlaytype: "Single", - name: "SOUND VOLTEX", - internalName: "sdvx", - validPlaytypes: ["Single"], - }, - usc: { - defaultPlaytype: "Single", - name: "unnamed_sdvx_clone", - internalName: "usc", - validPlaytypes: ["Single"], - }, -}; -const GAME_PT_CONFIGS = { - "iidx:SP": { - idString: "iidx:SP", - percentMax: 100, - defaultScoreRatingAlg: "ktRating", - defaultSessionRatingAlg: "ktRating", - defaultProfileRatingAlg: "ktRating", - scoreRatingAlgs: ["ktRating", "ktLampRating", "BPI"], - sessionRatingAlgs: ["ktRating", "ktLampRating", "BPI"], - profileRatingAlgs: ["ktRating", "ktLampRating", "BPI"], - difficulties: ["BEGINNER", "NORMAL", "HYPER", "ANOTHER", "LEGGENDARIA"], - shortDifficulties: { - BEGINNER: "B", - NORMAL: "N", - HYPER: "H", - ANOTHER: "A", - LEGGENDARIA: "L", - }, - defaultDifficulty: "ANOTHER", - difficultyColours: { - BEGINNER: exports.COLOUR_SET.paleGreen, - NORMAL: exports.COLOUR_SET.blue, - HYPER: exports.COLOUR_SET.orange, - ANOTHER: exports.COLOUR_SET.red, - LEGGENDARIA: exports.COLOUR_SET.purple, - }, - grades: ["F", "E", "D", "C", "B", "A", "AA", "AAA", "MAX-", "MAX"], - gradeColours: { - F: exports.COLOUR_SET.gray, - E: exports.COLOUR_SET.red, - D: exports.COLOUR_SET.maroon, - C: exports.COLOUR_SET.purple, - B: exports.COLOUR_SET.paleBlue, - A: exports.COLOUR_SET.green, - AA: exports.COLOUR_SET.blue, - AAA: exports.COLOUR_SET.gold, - "MAX-": exports.COLOUR_SET.teal, - MAX: exports.COLOUR_SET.white, - }, - clearGrade: "A", - gradeBoundaries: [0, 22.22, 33.33, 44.44, 55.55, 66.66, 77.77, 88.88, 94.44, 100.0], - lamps: [ - "NO PLAY", - "FAILED", - "ASSIST CLEAR", - "EASY CLEAR", - "CLEAR", - "HARD CLEAR", - "EX HARD CLEAR", - "FULL COMBO", - ], - lampColours: { - "NO PLAY": exports.COLOUR_SET.gray, - FAILED: exports.COLOUR_SET.red, - "ASSIST CLEAR": exports.COLOUR_SET.purple, - "EASY CLEAR": exports.COLOUR_SET.green, - CLEAR: exports.COLOUR_SET.blue, - "HARD CLEAR": exports.COLOUR_SET.orange, - "EX HARD CLEAR": exports.COLOUR_SET.gold, - "FULL COMBO": exports.COLOUR_SET.teal, - }, - clearLamp: "CLEAR", - classHumanisedFormat: { - dan: game_classes_1.IIDXDans, - }, - supportsESD: true, - judgementWindows: [ - { name: "PGREAT", msBorder: 16.667, value: 2 }, - { name: "GREAT", msBorder: 33.333, value: 1 }, - { name: "GOOD", msBorder: 116.667, value: 0 }, - ], - judgements: ["pgreat", "great", "good", "bad", "poor"], - defaultTable: "levels_n-1", - scoreBucket: "lamp", - }, - "iidx:DP": { - idString: "iidx:DP", - percentMax: 100, - defaultScoreRatingAlg: "ktRating", - defaultSessionRatingAlg: "ktRating", - defaultProfileRatingAlg: "ktRating", - scoreRatingAlgs: ["ktRating", "ktLampRating", "BPI"], - sessionRatingAlgs: ["ktRating", "ktLampRating", "BPI"], - profileRatingAlgs: ["ktRating", "ktLampRating", "BPI"], - difficulties: ["NORMAL", "HYPER", "ANOTHER", "LEGGENDARIA"], - shortDifficulties: { - NORMAL: "N", - HYPER: "H", - ANOTHER: "A", - LEGGENDARIA: "L", - }, - defaultDifficulty: "ANOTHER", - difficultyColours: { - NORMAL: exports.COLOUR_SET.blue, - HYPER: exports.COLOUR_SET.orange, - ANOTHER: exports.COLOUR_SET.red, - LEGGENDARIA: exports.COLOUR_SET.purple, - }, - grades: ["F", "E", "D", "C", "B", "A", "AA", "AAA", "MAX-", "MAX"], - gradeColours: { - F: exports.COLOUR_SET.gray, - E: exports.COLOUR_SET.red, - D: exports.COLOUR_SET.maroon, - C: exports.COLOUR_SET.purple, - B: exports.COLOUR_SET.paleBlue, - A: exports.COLOUR_SET.green, - AA: exports.COLOUR_SET.blue, - AAA: exports.COLOUR_SET.gold, - "MAX-": exports.COLOUR_SET.teal, - MAX: exports.COLOUR_SET.white, - }, - clearGrade: "A", - gradeBoundaries: [0, 22.22, 33.33, 44.44, 55.55, 66.66, 77.77, 88.88, 94.44, 100.0], - lamps: [ - "NO PLAY", - "FAILED", - "ASSIST CLEAR", - "EASY CLEAR", - "CLEAR", - "HARD CLEAR", - "EX HARD CLEAR", - "FULL COMBO", - ], - lampColours: { - "NO PLAY": exports.COLOUR_SET.gray, - FAILED: exports.COLOUR_SET.red, - "ASSIST CLEAR": exports.COLOUR_SET.purple, - "EASY CLEAR": exports.COLOUR_SET.green, - CLEAR: exports.COLOUR_SET.blue, - "HARD CLEAR": exports.COLOUR_SET.orange, - "EX HARD CLEAR": exports.COLOUR_SET.gold, - "FULL COMBO": exports.COLOUR_SET.teal, - }, - clearLamp: "CLEAR", - classHumanisedFormat: { - dan: game_classes_1.IIDXDans, - }, - supportsESD: true, - judgementWindows: [ - { name: "PGREAT", msBorder: 16.667, value: 2 }, - { name: "GREAT", msBorder: 33.333, value: 1 }, - { name: "GOOD", msBorder: 116.667, value: 0 }, - ], - judgements: ["pgreat", "great", "good", "bad", "poor"], - defaultTable: "levels_n-1", - scoreBucket: "lamp", - }, - "chunithm:Single": { - idString: "chunithm:Single", - percentMax: 101, - defaultScoreRatingAlg: "rating", - defaultSessionRatingAlg: "naiveRating", - defaultProfileRatingAlg: "naiveRating", - scoreRatingAlgs: ["rating"], - sessionRatingAlgs: ["naiveRating"], - profileRatingAlgs: ["naiveRating"], - difficulties: ["BASIC", "ADVANCED", "EXPERT", "MASTER", "WORLD'S END"], - shortDifficulties: { - BASIC: "B", - ADVANCED: "A", - EXPERT: "E", - MASTER: "M", - "WORLD'S END": "W", - }, - defaultDifficulty: "MASTER", - difficultyColours: { - BASIC: exports.COLOUR_SET.blue, - ADVANCED: exports.COLOUR_SET.orange, - EXPERT: exports.COLOUR_SET.red, - MASTER: exports.COLOUR_SET.purple, - "WORLD'S END": exports.COLOUR_SET.vibrantYellow, - }, - grades: ["D", "C", "B", "BB", "BBB", "A", "AA", "AAA", "S", "SS", "SSS"], - gradeColours: { - D: exports.COLOUR_SET.red, - C: exports.COLOUR_SET.purple, - B: exports.COLOUR_SET.paleBlue, - BB: exports.COLOUR_SET.blue, - BBB: exports.COLOUR_SET.vibrantBlue, - A: exports.COLOUR_SET.paleGreen, - AA: exports.COLOUR_SET.green, - AAA: exports.COLOUR_SET.vibrantGreen, - S: exports.COLOUR_SET.vibrantOrange, - SS: exports.COLOUR_SET.vibrantYellow, - SSS: exports.COLOUR_SET.teal, - }, - clearGrade: "A", - gradeBoundaries: [0, 50, 60, 70, 80, 90, 92.5, 95.0, 97.5, 100, 107.5, 101], - lamps: ["FAILED", "CLEAR", "FULL COMBO", "ALL JUSTICE", "ALL JUSTICE CRITICAL"], - lampColours: { - FAILED: exports.COLOUR_SET.red, - CLEAR: exports.COLOUR_SET.paleGreen, - "FULL COMBO": exports.COLOUR_SET.paleBlue, - "ALL JUSTICE": exports.COLOUR_SET.gold, - "ALL JUSTICE CRITICAL": exports.COLOUR_SET.white, - }, - clearLamp: "CLEAR", - classHumanisedFormat: { - colour: game_classes_1.CHUNITHMColours, - }, - supportsESD: false, - judgements: ["jcrit", "justice", "attack", "miss"], - defaultTable: "levels_n-1", - scoreBucket: "grade", - }, - "sdvx:Single": { - idString: "sdvx:Single", - percentMax: 100, - defaultScoreRatingAlg: "VF6", - defaultSessionRatingAlg: "ProfileVF6", - defaultProfileRatingAlg: "VF6", - scoreRatingAlgs: ["VF6"], - sessionRatingAlgs: ["ProfileVF6", "VF6"], - profileRatingAlgs: ["VF6"], - difficulties: ["NOV", "ADV", "EXH", "INF", "GRV", "HVN", "VVD", "MXM"], - shortDifficulties: {}, - defaultDifficulty: "EXH", - difficultyColours: { - NOV: exports.COLOUR_SET.purple, - ADV: exports.COLOUR_SET.vibrantYellow, - EXH: exports.COLOUR_SET.red, - INF: "TODO", - GRV: exports.COLOUR_SET.orange, - HVN: exports.COLOUR_SET.teal, - VVD: "TODO", - MXM: exports.COLOUR_SET.white, - }, - grades: ["D", "C", "B", "A", "A+", "AA", "AA+", "AAA", "AAA+", "S"], - gradeColours: { - D: exports.COLOUR_SET.gray, - C: exports.COLOUR_SET.red, - B: exports.COLOUR_SET.maroon, - A: exports.COLOUR_SET.paleBlue, - "A+": exports.COLOUR_SET.blue, - AA: exports.COLOUR_SET.paleGreen, - "AA+": exports.COLOUR_SET.green, - AAA: exports.COLOUR_SET.gold, - "AAA+": exports.COLOUR_SET.vibrantYellow, - S: exports.COLOUR_SET.teal, - }, - clearGrade: "A", - gradeBoundaries: [0, 70, 80, 87, 90, 93, 95, 97, 98, 99], - lamps: ["FAILED", "CLEAR", "EXCESSIVE CLEAR", "ULTIMATE CHAIN", "PERFECT ULTIMATE CHAIN"], - lampColours: { - FAILED: exports.COLOUR_SET.red, - CLEAR: exports.COLOUR_SET.green, - "EXCESSIVE CLEAR": exports.COLOUR_SET.orange, - "ULTIMATE CHAIN": exports.COLOUR_SET.teal, - "PERFECT ULTIMATE CHAIN": exports.COLOUR_SET.gold, - }, - clearLamp: "CLEAR", - classHumanisedFormat: { - dan: game_classes_1.SDVXDans, - vfClass: game_classes_1.SDVXVFClasses, - }, - supportsESD: false, - judgements: ["critical", "near", "miss"], - defaultTable: "levels", - scoreBucket: "grade", - }, - "usc:Single": { - idString: "usc:Single", - percentMax: 100, - defaultScoreRatingAlg: "VF6", - defaultSessionRatingAlg: "ProfileVF6", - defaultProfileRatingAlg: "VF6", - scoreRatingAlgs: ["VF6"], - sessionRatingAlgs: ["ProfileVF6", "VF6"], - profileRatingAlgs: ["VF6"], - difficulties: ["NOV", "ADV", "EXH", "INF"], - shortDifficulties: {}, - defaultDifficulty: "EXH", - difficultyColours: { - NOV: exports.COLOUR_SET.purple, - ADV: exports.COLOUR_SET.vibrantYellow, - EXH: exports.COLOUR_SET.red, - INF: "TODO", // colour set light pink - }, - grades: ["D", "C", "B", "A", "A+", "AA", "AA+", "AAA", "AAA+", "S"], - gradeColours: { - D: exports.COLOUR_SET.gray, - C: exports.COLOUR_SET.red, - B: exports.COLOUR_SET.maroon, - A: exports.COLOUR_SET.paleBlue, - "A+": exports.COLOUR_SET.blue, - AA: exports.COLOUR_SET.paleGreen, - "AA+": exports.COLOUR_SET.green, - AAA: exports.COLOUR_SET.gold, - "AAA+": exports.COLOUR_SET.vibrantYellow, - S: exports.COLOUR_SET.teal, - }, - clearGrade: "A", - gradeBoundaries: [0, 70, 80, 87, 90, 93, 95, 97, 98, 99], - lamps: ["FAILED", "CLEAR", "EXCESSIVE CLEAR", "ULTIMATE CHAIN", "PERFECT ULTIMATE CHAIN"], - lampColours: { - FAILED: exports.COLOUR_SET.red, - CLEAR: exports.COLOUR_SET.green, - "EXCESSIVE CLEAR": exports.COLOUR_SET.orange, - "ULTIMATE CHAIN": exports.COLOUR_SET.teal, - "PERFECT ULTIMATE CHAIN": exports.COLOUR_SET.gold, - }, - clearLamp: "CLEAR", - classHumanisedFormat: {}, - supportsESD: false, - judgements: ["critical", "near", "miss"], - defaultTable: "levels", - scoreBucket: "grade", - }, - "museca:Single": { - idString: "museca:Single", - percentMax: 100, - defaultScoreRatingAlg: "ktRating", - defaultSessionRatingAlg: "ktRating", - defaultProfileRatingAlg: "ktRating", - scoreRatingAlgs: ["ktRating"], - sessionRatingAlgs: ["ktRating"], - profileRatingAlgs: ["ktRating"], - difficulties: ["Green", "Yellow", "Red"], - shortDifficulties: { Green: "G", Yellow: "Y", Red: "R" }, - defaultDifficulty: "Red", - difficultyColours: { - Green: exports.COLOUR_SET.green, - Yellow: exports.COLOUR_SET.vibrantYellow, - Red: exports.COLOUR_SET.red, - }, - grades: ["没", "拙", "凡", "佳", "良", "優", "秀", "傑", "傑G"], - gradeColours: { - 没: exports.COLOUR_SET.gray, - 拙: exports.COLOUR_SET.maroon, - 凡: exports.COLOUR_SET.red, - 佳: exports.COLOUR_SET.paleGreen, - 良: exports.COLOUR_SET.paleBlue, - 優: exports.COLOUR_SET.green, - 秀: exports.COLOUR_SET.blue, - 傑: exports.COLOUR_SET.teal, - 傑G: exports.COLOUR_SET.gold, - }, - clearGrade: "良", - gradeBoundaries: [0, 60, 70, 80, 85, 90, 95, 97.5, 100], - lamps: ["FAILED", "CLEAR", "CONNECT ALL", "PERFECT CONNECT ALL"], - lampColours: { - FAILED: exports.COLOUR_SET.red, - CLEAR: exports.COLOUR_SET.green, - "CONNECT ALL": exports.COLOUR_SET.teal, - "PERFECT CONNECT ALL": exports.COLOUR_SET.gold, - }, - clearLamp: "CLEAR", - classHumanisedFormat: {}, - supportsESD: true, - judgementWindows: [ - { name: "CRITICAL", msBorder: 33.333, value: 2 }, - { name: "NEAR", msBorder: 66.667, value: 1 }, - ], - judgements: ["critical", "near", "miss"], - defaultTable: "levels", - scoreBucket: "grade", - }, - "bms:7K": { - idString: "bms:7K", - percentMax: 100, - defaultScoreRatingAlg: "sieglinde", - defaultSessionRatingAlg: "sieglinde", - defaultProfileRatingAlg: "sieglinde", - scoreRatingAlgs: ["sieglinde"], - sessionRatingAlgs: ["sieglinde"], - profileRatingAlgs: ["sieglinde"], - difficulties: ["CHART"], - shortDifficulties: {}, - defaultDifficulty: "CHART", - difficultyColours: { - CHART: null, - }, - grades: ["F", "E", "D", "C", "B", "A", "AA", "AAA", "MAX-", "MAX"], - gradeColours: { - F: exports.COLOUR_SET.gray, - E: exports.COLOUR_SET.red, - D: exports.COLOUR_SET.maroon, - C: exports.COLOUR_SET.purple, - B: exports.COLOUR_SET.paleBlue, - A: exports.COLOUR_SET.green, - AA: exports.COLOUR_SET.blue, - AAA: exports.COLOUR_SET.gold, - "MAX-": exports.COLOUR_SET.teal, - MAX: exports.COLOUR_SET.white, - }, - clearGrade: "A", - gradeBoundaries: [0, 22.22, 33.33, 44.44, 55.55, 66.66, 77.77, 88.88, 94.44, 100.0], - lamps: [ - "NO PLAY", - "FAILED", - "ASSIST CLEAR", - "EASY CLEAR", - "CLEAR", - "HARD CLEAR", - "EX HARD CLEAR", - "FULL COMBO", - ], - lampColours: { - "NO PLAY": exports.COLOUR_SET.gray, - FAILED: exports.COLOUR_SET.red, - "ASSIST CLEAR": exports.COLOUR_SET.purple, - "EASY CLEAR": exports.COLOUR_SET.green, - CLEAR: exports.COLOUR_SET.blue, - "HARD CLEAR": exports.COLOUR_SET.orange, - "EX HARD CLEAR": exports.COLOUR_SET.gold, - "FULL COMBO": exports.COLOUR_SET.teal, - }, - clearLamp: "CLEAR", - classHumanisedFormat: { - genocideDan: game_classes_1.BMSGenocideDans, - stslDan: game_classes_1.BMSStSlDans, - }, - supportsESD: false, - judgements: ["pgreat", "great", "good", "bad", "poor"], - defaultTable: "insane", - scoreBucket: "lamp", - }, - "bms:14K": { - idString: "bms:14K", - percentMax: 100, - defaultScoreRatingAlg: "sieglinde", - defaultSessionRatingAlg: "sieglinde", - defaultProfileRatingAlg: "sieglinde", - scoreRatingAlgs: ["sieglinde"], - sessionRatingAlgs: ["sieglinde"], - profileRatingAlgs: ["sieglinde"], - difficulties: ["CHART"], - shortDifficulties: {}, - defaultDifficulty: "CHART", - difficultyColours: { - CHART: null, - }, - grades: ["F", "E", "D", "C", "B", "A", "AA", "AAA", "MAX-", "MAX"], - gradeColours: { - F: exports.COLOUR_SET.gray, - E: exports.COLOUR_SET.red, - D: exports.COLOUR_SET.maroon, - C: exports.COLOUR_SET.purple, - B: exports.COLOUR_SET.paleBlue, - A: exports.COLOUR_SET.green, - AA: exports.COLOUR_SET.blue, - AAA: exports.COLOUR_SET.gold, - "MAX-": exports.COLOUR_SET.teal, - MAX: exports.COLOUR_SET.white, - }, - clearGrade: "A", - gradeBoundaries: [0, 22.22, 33.33, 44.44, 55.55, 66.66, 77.77, 88.88, 94.44, 100.0], - lamps: [ - "NO PLAY", - "FAILED", - "ASSIST CLEAR", - "EASY CLEAR", - "CLEAR", - "HARD CLEAR", - "EX HARD CLEAR", - "FULL COMBO", - ], - lampColours: { - "NO PLAY": exports.COLOUR_SET.gray, - FAILED: exports.COLOUR_SET.red, - "ASSIST CLEAR": exports.COLOUR_SET.purple, - "EASY CLEAR": exports.COLOUR_SET.green, - CLEAR: exports.COLOUR_SET.blue, - "HARD CLEAR": exports.COLOUR_SET.orange, - "EX HARD CLEAR": exports.COLOUR_SET.gold, - "FULL COMBO": exports.COLOUR_SET.teal, - }, - clearLamp: "CLEAR", - classHumanisedFormat: { - genocideDan: game_classes_1.BMSGenocideDans, - }, - supportsESD: false, - judgements: ["pgreat", "great", "good", "bad", "poor"], - defaultTable: "insane", - scoreBucket: "lamp", - }, - "ddr:SP": { - idString: "ddr:SP", - percentMax: 100, - defaultScoreRatingAlg: "ktRating", - defaultSessionRatingAlg: "ktRating", - defaultProfileRatingAlg: "ktRating", - scoreRatingAlgs: ["MFCP", "ktRating"], - sessionRatingAlgs: ["MFCP", "ktRating"], - profileRatingAlgs: ["MFCP", "ktRating"], - difficulties: ["BEGINNER", "BASIC", "DIFFICULT", "EXPERT", "CHALLENGE"], - shortDifficulties: { - BEGINNER: "b", - BASIC: "B", - DIFFICULT: "D", - EXPERT: "E", - CHALLENGE: "C", - }, - defaultDifficulty: "EXPERT", - difficultyColours: { - BEGINNER: exports.COLOUR_SET.paleBlue, - BASIC: exports.COLOUR_SET.orange, - DIFFICULT: exports.COLOUR_SET.red, - EXPERT: exports.COLOUR_SET.green, - CHALLENGE: exports.COLOUR_SET.purple, - }, - grades: [ - "D", - "D+", - "C-", - "C", - "C+", - "B-", - "B", - "B+", - "A-", - "A", - "A+", - "AA-", - "AA", - "AA+", - "AAA", - ], - gradeColours: { - D: exports.COLOUR_SET.gray, - "D+": exports.COLOUR_SET.maroon, - "C-": exports.COLOUR_SET.red, - C: exports.COLOUR_SET.purple, - "C+": exports.COLOUR_SET.vibrantPurple, - "B-": exports.COLOUR_SET.paleBlue, - B: exports.COLOUR_SET.blue, - "B+": exports.COLOUR_SET.vibrantBlue, - "A-": exports.COLOUR_SET.paleGreen, - A: exports.COLOUR_SET.green, - "A+": exports.COLOUR_SET.vibrantGreen, - "AA-": exports.COLOUR_SET.paleOrange, - AA: exports.COLOUR_SET.orange, - "AA+": exports.COLOUR_SET.vibrantOrange, - AAA: exports.COLOUR_SET.gold, - }, - clearGrade: "A", - gradeBoundaries: [0, 55, 59, 60, 65, 69, 70, 75, 79, 80, 85, 89, 90, 95, 99], - lamps: [ - "FAILED", - "CLEAR", - "LIFE4", - "FULL COMBO", - "GREAT FULL COMBO", - "PERFECT FULL COMBO", - "MARVELOUS FULL COMBO", - ], - lampColours: { - FAILED: exports.COLOUR_SET.red, - CLEAR: exports.COLOUR_SET.paleGreen, - LIFE4: exports.COLOUR_SET.orange, - "FULL COMBO": exports.COLOUR_SET.paleBlue, - "GREAT FULL COMBO": exports.COLOUR_SET.green, - "PERFECT FULL COMBO": exports.COLOUR_SET.gold, - "MARVELOUS FULL COMBO": exports.COLOUR_SET.teal, - }, - clearLamp: "CLEAR", - classHumanisedFormat: { - dan: game_classes_1.DDRDans, - }, - supportsESD: true, - judgementWindows: [ - { name: "MARVELOUS", msBorder: 15, value: 3 }, - { name: "PERFECT", msBorder: 30, value: 2 }, - { name: "GREAT", msBorder: 59, value: 1 }, - { name: "GOOD", msBorder: 89, value: 0 }, - { name: "BAD", msBorder: 119, value: 0 }, - ], - judgements: ["marvelous", "perfect", "great", "good", "boo", "miss", "ok", "ng"], - defaultTable: "levels", - scoreBucket: "lamp", - }, - "ddr:DP": { - idString: "ddr:DP", - percentMax: 100, - defaultScoreRatingAlg: "ktRating", - defaultSessionRatingAlg: "ktRating", - defaultProfileRatingAlg: "ktRating", - scoreRatingAlgs: ["MFCP", "ktRating"], - sessionRatingAlgs: ["MFCP", "ktRating"], - profileRatingAlgs: ["MFCP", "ktRating"], - difficulties: ["BASIC", "DIFFICULT", "EXPERT", "CHALLENGE"], - shortDifficulties: { - BASIC: "B", - DIFFICULT: "D", - EXPERT: "E", - CHALLENGE: "C", - }, - defaultDifficulty: "EXPERT", - difficultyColours: { - BASIC: exports.COLOUR_SET.orange, - DIFFICULT: exports.COLOUR_SET.red, - EXPERT: exports.COLOUR_SET.green, - CHALLENGE: exports.COLOUR_SET.purple, - }, - grades: [ - "D", - "D+", - "C-", - "C", - "C+", - "B-", - "B", - "B+", - "A-", - "A", - "A+", - "AA-", - "AA", - "AA+", - "AAA", - ], - gradeColours: { - D: exports.COLOUR_SET.gray, - "D+": exports.COLOUR_SET.maroon, - "C-": exports.COLOUR_SET.red, - C: exports.COLOUR_SET.purple, - "C+": exports.COLOUR_SET.vibrantPurple, - "B-": exports.COLOUR_SET.paleBlue, - B: exports.COLOUR_SET.blue, - "B+": exports.COLOUR_SET.vibrantBlue, - "A-": exports.COLOUR_SET.paleGreen, - A: exports.COLOUR_SET.green, - "A+": exports.COLOUR_SET.vibrantGreen, - "AA-": exports.COLOUR_SET.paleOrange, - AA: exports.COLOUR_SET.orange, - "AA+": exports.COLOUR_SET.vibrantOrange, - AAA: exports.COLOUR_SET.gold, - }, - clearGrade: "A", - gradeBoundaries: [0, 55, 59, 60, 65, 69, 70, 75, 79, 80, 85, 89, 90, 95, 99], - lamps: [ - "FAILED", - "CLEAR", - "LIFE4", - "FULL COMBO", - "GREAT FULL COMBO", - "PERFECT FULL COMBO", - "MARVELOUS FULL COMBO", - ], - lampColours: { - FAILED: exports.COLOUR_SET.red, - CLEAR: exports.COLOUR_SET.paleGreen, - LIFE4: exports.COLOUR_SET.orange, - "FULL COMBO": exports.COLOUR_SET.paleBlue, - "GREAT FULL COMBO": exports.COLOUR_SET.green, - "PERFECT FULL COMBO": exports.COLOUR_SET.gold, - "MARVELOUS FULL COMBO": exports.COLOUR_SET.teal, - }, - clearLamp: "CLEAR", - classHumanisedFormat: { - dan: game_classes_1.DDRDans, - }, - supportsESD: true, - judgementWindows: [ - { name: "MARVELOUS", msBorder: 15, value: 3 }, - { name: "PERFECT", msBorder: 30, value: 2 }, - { name: "GREAT", msBorder: 59, value: 1 }, - { name: "GOOD", msBorder: 89, value: 0 }, - { name: "BAD", msBorder: 119, value: 0 }, - ], - judgements: ["marvelous", "perfect", "great", "good", "boo", "miss", "ok", "ng"], - defaultTable: "levels", - scoreBucket: "lamp", - }, - "maimai:Single": { - idString: "maimai:Single", - percentMax: 120, - defaultScoreRatingAlg: "ktRating", - defaultSessionRatingAlg: "ktRating", - defaultProfileRatingAlg: "ktRating", - scoreRatingAlgs: ["ktRating"], - sessionRatingAlgs: ["ktRating"], - profileRatingAlgs: ["ktRating"], - difficulties: ["Easy", "Basic", "Advanced", "Expert", "Master", "Re:Master"], - shortDifficulties: { - Easy: "e", - Basic: "B", - Advanced: "A", - Expert: "E", - Master: "M", - "Re:Master": "Re", - }, - defaultDifficulty: "Master", - difficultyColours: { - Easy: exports.COLOUR_SET.blue, - Basic: exports.COLOUR_SET.green, - Advanced: exports.COLOUR_SET.orange, - Expert: exports.COLOUR_SET.red, - Master: exports.COLOUR_SET.purple, - "Re:Master": exports.COLOUR_SET.white, - }, - grades: ["F", "E", "D", "C", "B", "A", "AA", "AAA", "S", "S+", "SS", "SS+", "SSS", "SSS+"], - gradeColours: { - F: exports.COLOUR_SET.gray, - E: exports.COLOUR_SET.red, - D: exports.COLOUR_SET.maroon, - C: exports.COLOUR_SET.purple, - B: exports.COLOUR_SET.paleGreen, - A: exports.COLOUR_SET.green, - AA: exports.COLOUR_SET.paleBlue, - AAA: exports.COLOUR_SET.blue, - S: exports.COLOUR_SET.gold, - "S+": exports.COLOUR_SET.vibrantYellow, - SS: exports.COLOUR_SET.paleOrange, - "SS+": exports.COLOUR_SET.orange, - SSS: exports.COLOUR_SET.teal, - "SSS+": exports.COLOUR_SET.white, - }, - clearGrade: "A", - // @hack Maimai's top grade depends on the chart's maximum percent - // we just set it at percentMax, but it's not technically correct - gradeBoundaries: [0, 10, 20, 40, 60, 80, 90, 94, 97, 98, 99, 99.5, 100, 120], - lamps: ["FAILED", "CLEAR", "FULL COMBO", "ALL PERFECT", "ALL PERFECT+"], - lampColours: { - FAILED: exports.COLOUR_SET.red, - CLEAR: exports.COLOUR_SET.green, - "FULL COMBO": exports.COLOUR_SET.blue, - "ALL PERFECT": exports.COLOUR_SET.gold, - "ALL PERFECT+": exports.COLOUR_SET.teal, - }, - clearLamp: "CLEAR", - classHumanisedFormat: {}, - supportsESD: false, - judgements: ["perfect", "great", "good", "miss"], - defaultTable: "levels", - scoreBucket: "grade", - }, - "gitadora:Gita": { - idString: "gitadora:Gita", - percentMax: 100, - defaultScoreRatingAlg: "skill", - defaultSessionRatingAlg: "skill", - defaultProfileRatingAlg: "skill", - scoreRatingAlgs: ["skill"], - sessionRatingAlgs: ["skill"], - profileRatingAlgs: ["skill"], - difficulties: [ - "BASIC", - "ADVANCED", - "EXTREME", - "MASTER", - "BASS BASIC", - "BASS ADVANCED", - "BASS EXTREME", - "BASS MASTER", - ], - shortDifficulties: { - BASIC: "G-BSC", - ADVANCED: "G-ADV", - EXTREME: "G-EXT", - MASTER: "G-MAS", - "BASS BASIC": "B-BSC", - "BASS ADVANCED": "B-ADV", - "BASS EXTREME": "B-EXT", - "BASS MASTER": "B-MAS", - }, - defaultDifficulty: "EXTREME", - difficultyColours: { - BASIC: exports.COLOUR_SET.blue, - ADVANCED: exports.COLOUR_SET.orange, - EXTREME: exports.COLOUR_SET.red, - MASTER: exports.COLOUR_SET.purple, - "BASS BASIC": exports.COLOUR_SET.vibrantBlue, - "BASS ADVANCED": exports.COLOUR_SET.vibrantOrange, - "BASS EXTREME": "todo", - "BASS MASTER": exports.COLOUR_SET.vibrantPurple, - }, - grades: ["C", "B", "A", "S", "SS", "MAX"], - gradeColours: { - C: exports.COLOUR_SET.purple, - B: exports.COLOUR_SET.blue, - A: exports.COLOUR_SET.green, - S: exports.COLOUR_SET.orange, - SS: exports.COLOUR_SET.gold, - MAX: exports.COLOUR_SET.white, - }, - clearGrade: "A", - gradeBoundaries: [0, 63, 73, 80, 95, 100], - lamps: ["FAILED", "CLEAR", "FULL COMBO", "EXCELLENT"], - lampColours: { - FAILED: exports.COLOUR_SET.red, - CLEAR: exports.COLOUR_SET.blue, - "FULL COMBO": exports.COLOUR_SET.teal, - EXCELLENT: exports.COLOUR_SET.gold, - }, - clearLamp: "CLEAR", - classHumanisedFormat: { - colour: game_classes_1.GitadoraColours, - }, - supportsESD: false, - judgements: ["perfect", "great", "good", "ok", "miss"], - defaultTable: "levels", - scoreBucket: "grade", - }, - "gitadora:Dora": { - idString: "gitadora:Dora", - percentMax: 100, - defaultScoreRatingAlg: "skill", - defaultSessionRatingAlg: "skill", - defaultProfileRatingAlg: "skill", - scoreRatingAlgs: ["skill"], - sessionRatingAlgs: ["skill"], - profileRatingAlgs: ["skill"], - difficulties: ["BASIC", "ADVANCED", "EXTREME", "MASTER"], - shortDifficulties: { - BASIC: "D-BSC", - ADVANCED: "D-ADV", - EXTREME: "D-EXT", - MASTER: "D-MAS", - }, - defaultDifficulty: "EXTREME", - difficultyColours: { - BASIC: exports.COLOUR_SET.blue, - ADVANCED: exports.COLOUR_SET.orange, - EXTREME: exports.COLOUR_SET.red, - MASTER: exports.COLOUR_SET.purple, - }, - grades: ["C", "B", "A", "S", "SS", "MAX"], - gradeColours: { - C: exports.COLOUR_SET.purple, - B: exports.COLOUR_SET.blue, - A: exports.COLOUR_SET.green, - S: exports.COLOUR_SET.orange, - SS: exports.COLOUR_SET.gold, - MAX: exports.COLOUR_SET.white, - }, - clearGrade: "A", - gradeBoundaries: [0, 63, 73, 80, 95, 100], - lamps: ["FAILED", "CLEAR", "FULL COMBO", "EXCELLENT"], - lampColours: { - FAILED: exports.COLOUR_SET.red, - CLEAR: exports.COLOUR_SET.blue, - "FULL COMBO": exports.COLOUR_SET.teal, - EXCELLENT: exports.COLOUR_SET.gold, - }, - clearLamp: "CLEAR", - classHumanisedFormat: { - colour: game_classes_1.GitadoraColours, - }, - supportsESD: false, - judgements: ["perfect", "great", "good", "ok", "miss"], - defaultTable: "levels", - scoreBucket: "grade", - }, -}; -/** - * Returns the configuration for this game. - */ -function GetGameConfig(game) { - return GAME_CONFIGS[game]; -} -exports.GetGameConfig = GetGameConfig; -/** - * Returns the configuration for this Game + Playtype. - * Optionally, a generic parameter - IDStrings - can be passed - * to indicate what IDString this configuration is for. - */ -function GetGamePTConfig(game, playtype) { - const idString = `${game}:${playtype}`; - return GAME_PT_CONFIGS[idString]; -} -exports.GetGamePTConfig = GetGamePTConfig; -//# sourceMappingURL=config.js.map \ No newline at end of file diff --git a/common/js/config/config.js.map b/common/js/config/config.js.map deleted file mode 100644 index b62e7097c..000000000 --- a/common/js/config/config.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/common/js/config/static-config.d.ts b/common/js/config/static-config.d.ts deleted file mode 100644 index 7ef6ba20e..000000000 --- a/common/js/config/static-config.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { FileUploadImportTypes, IRImportTypes, APIImportTypes, ImportTypes, Game } from ".."; -export declare const fileImportTypes: FileUploadImportTypes[]; -export declare const irImportTypes: IRImportTypes[]; -export declare const apiImportTypes: APIImportTypes[]; -export declare const allImportTypes: ImportTypes[]; -export declare const allSupportedGames: Game[]; -export interface ServerConfig { - name: string; - supportedGames: Game[]; - supportedImportTypes: ImportTypes[]; -} -export declare const KTCHI_CONFIG: ServerConfig; -export declare const BTCHI_CONFIG: ServerConfig; -export declare const OMNI_CONFIG: ServerConfig; diff --git a/common/js/config/static-config.js b/common/js/config/static-config.js deleted file mode 100644 index e9aea68b3..000000000 --- a/common/js/config/static-config.js +++ /dev/null @@ -1,78 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.OMNI_CONFIG = exports.BTCHI_CONFIG = exports.KTCHI_CONFIG = exports.allSupportedGames = exports.allImportTypes = exports.apiImportTypes = exports.irImportTypes = exports.fileImportTypes = void 0; -exports.fileImportTypes = [ - "file/eamusement-iidx-csv", - "file/batch-manual", - "file/solid-state-squad", - "file/mer-iidx", - "file/pli-iidx-csv", -]; -exports.irImportTypes = [ - "ir/direct-manual", - "ir/barbatos", - "ir/fervidex", - "ir/fervidex-static", - "ir/beatoraja", - "ir/chunitachi", - "ir/usc", -]; -exports.apiImportTypes = [ - "api/arc-iidx", - "api/arc-sdvx", - "api/arc-ddr", - "api/eag-iidx", - "api/eag-sdvx", - "api/flo-iidx", - "api/flo-sdvx", -]; -exports.allImportTypes = [ - ...exports.fileImportTypes, - ...exports.irImportTypes, - ...exports.apiImportTypes, -]; -exports.allSupportedGames = [ - "iidx", - "museca", - "maimai", - // "jubeat", - // "popn", - "sdvx", - "ddr", - "bms", - "chunithm", - "gitadora", - "usc", -]; -exports.KTCHI_CONFIG = { - name: "Kamaitachi", - supportedGames: ["iidx", "gitadora", "chunithm", "maimai", "museca", "sdvx"], - supportedImportTypes: [ - "api/arc-iidx", - "api/arc-sdvx", - "api/arc-ddr", - "api/eag-iidx", - "api/eag-sdvx", - "api/flo-iidx", - "api/flo-sdvx", - "ir/direct-manual", - "ir/fervidex", - "ir/fervidex-static", - "ir/chunitachi", - "file/eamusement-iidx-csv", - "file/solid-state-squad", - "file/mer-iidx", - "file/pli-iidx-csv", - ], -}; -exports.BTCHI_CONFIG = { - name: "Bokutachi", - supportedGames: ["usc", "bms"], - supportedImportTypes: ["ir/beatoraja", "ir/usc", "ir/direct-manual", "file/batch-manual"], -}; -exports.OMNI_CONFIG = { - name: "Omnitachi", - supportedGames: exports.allSupportedGames, - supportedImportTypes: exports.allImportTypes, -}; -//# sourceMappingURL=static-config.js.map \ No newline at end of file diff --git a/common/js/config/static-config.js.map b/common/js/config/static-config.js.map deleted file mode 100644 index 0d4b3d6d8..000000000 --- a/common/js/config/static-config.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static-config.js","sourceRoot":"","sources":["../../src/config/static-config.ts"],"names":[],"mappings":";;;AAUa,QAAA,eAAe,GAA4B;IACvD,0BAA0B;IAC1B,mBAAmB;IACnB,wBAAwB;IACxB,eAAe;IACf,mBAAmB;CACnB,CAAC;AAEW,QAAA,aAAa,GAAoB;IAC7C,kBAAkB;IAClB,aAAa;IACb,aAAa;IACb,oBAAoB;IACpB,cAAc;IACd,eAAe;IACf,QAAQ;CACR,CAAC;AAEW,QAAA,cAAc,GAAqB;IAC/C,cAAc;IACd,cAAc;IACd,aAAa;IACb,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;CACd,CAAC;AAEW,QAAA,cAAc,GAAkB;IAC5C,GAAG,uBAAe;IAClB,GAAG,qBAAa;IAChB,GAAG,sBAAc;CACjB,CAAC;AAEW,QAAA,iBAAiB,GAAW;IACxC,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,YAAY;IACZ,UAAU;IACV,MAAM;IACN,KAAK;IACL,KAAK;IACL,UAAU;IACV,UAAU;IACV,KAAK;CACL,CAAC;AAQW,QAAA,YAAY,GAAiB;IACzC,IAAI,EAAE,YAAY;IAClB,cAAc,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;IAC5E,oBAAoB,EAAE;QACrB,cAAc;QACd,cAAc;QACd,aAAa;QACb,cAAc;QACd,cAAc;QACd,cAAc;QACd,cAAc;QACd,kBAAkB;QAClB,aAAa;QACb,oBAAoB;QACpB,eAAe;QACf,0BAA0B;QAC1B,wBAAwB;QACxB,eAAe;QACf,mBAAmB;KACnB;CACD,CAAC;AAEW,QAAA,YAAY,GAAiB;IACzC,IAAI,EAAE,WAAW;IACjB,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;IAC9B,oBAAoB,EAAE,CAAC,cAAc,EAAE,QAAQ,EAAE,kBAAkB,EAAE,mBAAmB,CAAC;CACzF,CAAC;AAEW,QAAA,WAAW,GAAiB;IACxC,IAAI,EAAE,WAAW;IACjB,cAAc,EAAE,yBAAiB;IACjC,oBAAoB,EAAE,sBAAc;CACpC,CAAC"} \ No newline at end of file diff --git a/common/js/game-classes.d.ts b/common/js/game-classes.d.ts deleted file mode 100644 index cb37f8f35..000000000 --- a/common/js/game-classes.d.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { IDStrings, integer } from "./types"; -export interface ClassInfo { - display: string; - mouseover?: string; - css?: { - backgroundColor: string; - color: string; - }; - variant?: "primary" | "secondary" | "success" | "warning" | "danger" | "info"; -} -export declare const IIDXDans: ClassInfo[]; -export declare const GitadoraColours: ClassInfo[]; -export declare const BMSGenocideDans: ClassInfo[]; -export declare const BMSStSlDans: ClassInfo[]; -export declare const SDVXDans: ClassInfo[]; -export declare const SDVXVFClasses: ClassInfo[]; -export declare const DDRDans: { - display: string; - mouseover: string; - variant: "warning" | "primary" | "secondary" | "success" | "danger" | "info"; -}[]; -export declare const CHUNITHMColours: ({ - display: string; - mouseover: string; - css: { - backgroundColor: string; - color: string; - }; -} | { - display: string; - mouseover: string; - variant: "warning" | "primary" | "secondary" | "success" | "danger" | "info"; -})[]; -export interface GameClassSets { - "iidx:SP": "dan"; - "iidx:DP": "dan"; - "popn:9B": never; - "sdvx:Single": "dan" | "vfClass"; - "usc:Single": never; - "ddr:SP": "dan"; - "ddr:DP": "dan"; - "maimai:Single": never; - "jubeat:Single": "colour"; - "museca:Single": never; - "bms:7K": "genocideDan" | "stslDan"; - "bms:14K": "genocideDan"; - "chunithm:Single": "colour"; - "gitadora:Gita": "colour"; - "gitadora:Dora": "colour"; -} -export declare type AllClassSets = GameClassSets[IDStrings]; -export declare type GameClasses = { - [K in GameClassSets[I]]: integer; -}; diff --git a/common/js/game-classes.js b/common/js/game-classes.js deleted file mode 100644 index 3952ea339..000000000 --- a/common/js/game-classes.js +++ /dev/null @@ -1,187 +0,0 @@ -"use strict"; -// Classes refer to things like dans. -// Not the JS construct. -Object.defineProperty(exports, "__esModule", { value: true }); -exports.CHUNITHMColours = exports.DDRDans = exports.SDVXVFClasses = exports.SDVXDans = exports.BMSStSlDans = exports.BMSGenocideDans = exports.GitadoraColours = exports.IIDXDans = void 0; -function c(d, m, bg = "black", color = "white") { - return { display: d, mouseover: m, css: { backgroundColor: bg, color } }; -} -function v(d, m, variant) { - return { display: d, mouseover: m, variant }; -} -function n(d, bg = "#131313", color = "white") { - return { display: d, css: { backgroundColor: bg, color } }; -} -exports.IIDXDans = [ - c("七級", "7th Kyu", "green"), - c("六級", "6th Kyu", "green"), - c("五級", "5th Kyu", "green"), - c("四級", "4th Kyu", "green"), - c("三級", "3rd Kyu", "green"), - c("二級", "2nd Kyu", "green"), - c("一級", "1st Kyu", "green"), - v("初段", "1st Dan", "info"), - v("二段", "2nd Dan", "info"), - v("三段", "3rd Dan", "info"), - v("四段", "4th Dan", "info"), - v("五段", "5th Dan", "info"), - v("六段", "6th Dan", "info"), - v("七段", "7th Dan", "info"), - v("八段", "8th Dan", "info"), - v("九段", "9th Dan", "danger"), - v("十段", "10th Dan", "danger"), - c("中伝", "Chuuden", "silver", "black"), - v("皆伝", "Kaiden", "warning"), -]; -exports.GitadoraColours = [ - c("白", "White", "white", "black"), - c("橙", "Orange", "orange"), - c("橙グラ", "Orange Gradient", "orange"), - v("黄", "Yellow", "warning"), - v("黄グラ", "Yellow Gradient", "warning"), - c("緑", "Green", "green"), - c("緑グラ", "Green Gradient", "green"), - v("青", "Blue", "info"), - v("青グラ", "Blue Gradient", "info"), - c("紫", "Purple", "purple"), - c("紫グラ", "Purple Gradient", "purple"), - v("赤", "Red", "danger"), - v("赤グラ", "Red Gradient", "danger"), - c("銅", "Bronze", "bronze"), - c("銀", "Silver", "silver", "black"), - c("金", "Gold", "gold"), - c("虹", "Rainbow", "todo"), -]; -exports.BMSGenocideDans = [ - c("☆1", "Normal 1st Dan", "lightblue"), - c("☆2", "Normal 2nd Dan", "lightblue"), - c("☆3", "Normal 3rd Dan", "lightblue"), - c("☆4", "Normal 4th Dan", "lightblue"), - c("☆5", "Normal 5th Dan", "lightblue"), - c("☆6", "Normal 6th Dan", "lightblue"), - c("☆7", "Normal 7th Dan", "lightblue"), - c("☆8", "Normal 8th Dan", "lightblue"), - c("☆9", "Normal 9th Dan", "lightred"), - c("☆10", "Normal 10th Dan", "lightred"), - v("★1", "Insane 1st Dan", "info"), - v("★2", "Insane 2nd Dan", "info"), - v("★3", "Insane 3rd Dan", "info"), - v("★4", "Insane 4th Dan", "info"), - v("★5", "Insane 5th Dan", "info"), - v("★6", "Insane 6th Dan", "info"), - v("★7", "Insane 7th Dan", "info"), - v("★8", "Insane 8th Dan", "info"), - c("★9", "Insane 9th Dan", "red"), - c("★10", "Insane 10th Dan", "red"), - c("★★", "Insane Kaiden", "teal"), - c("(^^)", "Overjoy", "purple"), -]; -exports.BMSStSlDans = [ - c("sl0", "Satellite 0"), - c("sl1", "Satellite 1"), - c("sl2", "Satellite 2"), - c("sl3", "Satellite 3"), - c("sl4", "Satellite 4"), - c("sl5", "Satellite 5"), - c("sl6", "Satellite 6"), - c("sl7", "Satellite 7"), - c("sl8", "Satellite 8"), - c("sl9", "Satellite 9"), - c("sl10", "Satellite 10"), - c("sl11", "Satellite 11"), - c("sl12", "Satellite 12"), - c("st0", "Stella 0"), - c("st1", "Stella 1"), - c("st2", "Stella 2"), - c("st3", "Stella 3"), - c("st4", "Stella 4"), - c("st5", "Stella 5"), - c("st6", "Stella 6"), - c("st7", "Stella 7"), - c("st8", "Stella 8"), - c("st9", "Stella 9"), - c("st10", "Stella 10"), - c("st11", "Stella 11"), -]; -exports.SDVXDans = [ - c("LV.01", "1st Dan"), - c("LV.02", "2nd Dan"), - c("LV.03", "3rd Dan"), - c("LV.04", "4th Dan"), - c("LV.05", "5th Dan"), - c("LV.06", "6th Dan"), - c("LV.07", "7th Dan"), - c("LV.08", "8th Dan"), - c("LV.09", "9th Dan"), - v("LV.10", "10th Dan", "warning"), - v("LV.11", "11th Dan", "danger"), - c("LV.INF", "Inf. Dan", "purple", "gold"), -]; -exports.SDVXVFClasses = [ - n("Sienna I"), - n("Sienna II"), - n("Sienna III"), - n("Sienna IV"), - n("Cobalt I"), - n("Cobalt II"), - n("Cobalt III"), - n("Cobalt IV"), - n("Dandelion I"), - n("Dandelion II"), - n("Dandelion III"), - n("Dandelion IV"), - n("Cyan I"), - n("Cyan II"), - n("Cyan III"), - n("Cyan IV"), - n("Scarlet I"), - n("Scarlet II"), - n("Scarlet III"), - n("Scarlet IV"), - n("Coral I"), - n("Coral II"), - n("Coral III"), - n("Coral IV"), - n("Argento I"), - n("Argento II"), - n("Argento III"), - n("Argento IV"), - n("Eldora I"), - n("Eldora II"), - n("Eldora III"), - n("Eldora IV"), - n("Crimson I"), - n("Crimson II"), - n("Crimson III"), - n("Crimson IV"), - n("Imperial I"), - n("Imperial II"), - n("Imperial III"), - n("Imperial IV"), -]; -exports.DDRDans = [ - v("初段", "1st Dan", "info"), - v("二段", "2nd Dan", "info"), - v("三段", "3rd Dan", "info"), - v("四段", "4th Dan", "info"), - v("五段", "5th Dan", "info"), - v("六段", "6th Dan", "info"), - v("七段", "7th Dan", "info"), - v("八段", "8th Dan", "info"), - v("九段", "9th Dan", "danger"), - v("十段", "10th Dan", "danger"), - v("皆伝", "Kaiden", "warning"), -]; -exports.CHUNITHMColours = [ - v("青", "Blue", "info"), - c("緑", "Green", "green"), - c("橙", "Orange", "orange"), - v("赤", "Red", "danger"), - c("紫", "Purple", "purple"), - c("銅", "Copper", "bronze"), - v("銀", "Silver", "secondary"), - v("金", "Gold", "warning"), - c("鉑", "Platinum", "silver", "black"), - v("虹", "Rainbow", "success"), -]; -//# sourceMappingURL=game-classes.js.map \ No newline at end of file diff --git a/common/js/game-classes.js.map b/common/js/game-classes.js.map deleted file mode 100644 index 4d346f605..000000000 --- a/common/js/game-classes.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"game-classes.js","sourceRoot":"","sources":["../src/game-classes.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/common/js/index.d.ts b/common/js/index.d.ts deleted file mode 100644 index dce258dfc..000000000 --- a/common/js/index.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from "./types"; -export * from "./config/config"; -export * as gameClasses from "./game-classes"; -export * as ESDCore from "./lib/esd"; -export * as StaticConfig from "./config/static-config"; -export * from "./utils/util"; diff --git a/common/js/index.js b/common/js/index.js deleted file mode 100644 index 5ee915f18..000000000 --- a/common/js/index.js +++ /dev/null @@ -1,32 +0,0 @@ -"use strict"; -var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); -}) : (function(o, m, k, k2) { - if (k2 === undefined) k2 = k; - o[k2] = m[k]; -})); -var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { - Object.defineProperty(o, "default", { enumerable: true, value: v }); -}) : function(o, v) { - o["default"] = v; -}); -var __exportStar = (this && this.__exportStar) || function(m, exports) { - for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p); -}; -var __importStar = (this && this.__importStar) || function (mod) { - if (mod && mod.__esModule) return mod; - var result = {}; - if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); - __setModuleDefault(result, mod); - return result; -}; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.StaticConfig = exports.ESDCore = exports.gameClasses = void 0; -__exportStar(require("./types"), exports); -__exportStar(require("./config/config"), exports); -exports.gameClasses = __importStar(require("./game-classes")); -exports.ESDCore = __importStar(require("./lib/esd")); -exports.StaticConfig = __importStar(require("./config/static-config")); -__exportStar(require("./utils/util"), exports); -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/common/js/index.js.map b/common/js/index.js.map deleted file mode 100644 index d8063624c..000000000 --- a/common/js/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAwB;AAExB,kDAAgC;AAChC,8DAA8C;AAC9C,qDAAqC;AACrC,uEAAuD;AACvD,+CAA6B"} \ No newline at end of file diff --git a/common/js/lib/esd.d.ts b/common/js/lib/esd.d.ts deleted file mode 100644 index 5178b0341..000000000 --- a/common/js/lib/esd.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -export interface ESDJudgementFormat { - name: string; - msBorder: number; - value: number; -} -/** - * Given judgements and a percent, estimate the standard deviation needed to get a score - * with that percent. - * @param judgements - The judgements for this game. - * @param percent - The percent to estimate SD needed to get. - * @param errOnInaccuracy - Whether or whether not to throw if the estimate is not accurate enough. - * @returns - */ -export declare function CalculateESD(judgements: ESDJudgementFormat[], percent: number, errOnInaccuracy?: boolean): number; -/** - * Compares two ESD values such that 1->2 produces a larger value than 101->102. - * @param baseESD - The first ESD to compare. - * @param compareESD - The second ESD to compare. - * @param cdeg - The degrees of confidence to use. This should be 1. - * @returns A number between -100 and 100. - */ -export declare function ESDCompare(baseESD: number, compareESD: number, cdeg?: number): number; -/** - * Converts two percents to ESD, then runs ESDCompare. - */ -export declare function PercentCompare(judgements: ESDJudgementFormat[], baseP: number, compareP: number, cdeg?: number): number; diff --git a/common/js/lib/esd.js b/common/js/lib/esd.js deleted file mode 100644 index 16f3a72ca..000000000 --- a/common/js/lib/esd.js +++ /dev/null @@ -1,144 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.PercentCompare = exports.ESDCompare = exports.CalculateESD = void 0; -/** - * Cumulative Distribution Function - * https://en.wikipedia.org/wiki/Cumulative_distribution_function - */ -function cdf(x, mean, variance) { - return 0.5 * (1 + erf((x - mean) / Math.sqrt(2 * variance))); -} -/** - * Error Function - * https://en.wikipedia.org/wiki/Error_function - */ -function erf(x) { - // save the sign of x - const sign = x >= 0 ? 1 : -1; - x = Math.abs(x); - // constants - const a1 = 0.254829592; - const a2 = -0.284496736; - const a3 = 1.421413741; - const a4 = -1.453152027; - const a5 = 1.061405429; - const p = 0.3275911; - // A&S formula 7.1.26 - const t = 1.0 / (1.0 + p * x); - const y = 1.0 - ((((a5 * t + a4) * t + a3) * t + a2) * t + a1) * t * Math.exp(-x * x); - return sign * y; // erf(-x) = -erf(x); -} -function CDFBetween(lowBound, highBound, mean, variance) { - // Since the normal distribution is symmetrical, we want to double this, as the cut will only get one tail. - return 2 * (cdf(highBound, mean, variance) - cdf(lowBound, mean, variance)); -} -// This is a direct port of ESD-JS to typescript. Maybe this should be released as its own module some day. -const MEAN = 0; -/** - * Gets the percent this score would roughly be, given a standard deviation. - * @param judgements - The judgements this game uses. - * @param stddev - The standard deviation to estimate the percent of. - * @param largestValue - The largest "value" of a judgement in this game. This lets us normalise results. - * @returns The percent this std. deviation would produce. - */ -function StdDeviationToPercent(judgements, stddev, largestValue) { - let lastJudgeMSBorder = 0; - let prbSum = 0; - for (let i = 0; i < judgements.length; i++) { - const judge = judgements[i]; - const nVal = CDFBetween(lastJudgeMSBorder, judge.msBorder, MEAN, Math.pow(stddev, 2)) * judge.value; - lastJudgeMSBorder = judge.msBorder; - prbSum += nVal; - } - prbSum /= largestValue; - return prbSum; -} -const ACCEPTABLE_ERROR = 0.001; -const MAX_ITERATIONS = 50; -/** - * Given judgements and a percent, estimate the standard deviation needed to get a score - * with that percent. - * @param judgements - The judgements for this game. - * @param percent - The percent to estimate SD needed to get. - * @param errOnInaccuracy - Whether or whether not to throw if the estimate is not accurate enough. - * @returns - */ -function CalculateESD(judgements, percent, errOnInaccuracy = false) { - if (percent > 1 || percent < 0 || Number.isNaN(percent)) { - throw new Error("(ESD) Invalid percent. Percent must be between 0 and 1, and also a number."); - } - const largestValue = judgements.slice(0).sort((a, b) => b.value - a.value)[0].value; - // massive optimisation possible here by using better initial estimates with precalc'd table of values. - // until then, it's just kinda slow. - let minSD = 0; - let maxSD = 200; - let estSD = (minSD + maxSD) / 2; - // So, fundamentally the function that takes SD and returns estimated percent is NOT invertible. - // as in, it is very literally not invertible. - // if you figure it out, let me know. - // until then; we make MAX_ITERATIONS attempts at finding a value within the acceptable range of error. - // the defaults for these are 100 for iterations, and 0.001 for error. - // for most of what i've tested, this has been fine. - for (let i = 0; i < MAX_ITERATIONS; i++) { - const estimatedPercent = StdDeviationToPercent(judgements, estSD, largestValue); - if (Math.abs(estimatedPercent - percent) < ACCEPTABLE_ERROR) { - return estSD; - } - if (estimatedPercent < percent) { - maxSD = estSD; - } - else { - minSD = estSD; - } - if (estSD === (minSD + maxSD) / 2) { - // if it isn't moving, just terminate - break; - } - estSD = (minSD + maxSD) / 2; - } - if (errOnInaccuracy) { - throw `(ESD-JS) Did not reach value within MAX_ITERATIONS (${MAX_ITERATIONS})`; - } - return estSD; -} -exports.CalculateESD = CalculateESD; -/** - * Compares two ESD values such that 1->2 produces a larger value than 101->102. - * @param baseESD - The first ESD to compare. - * @param compareESD - The second ESD to compare. - * @param cdeg - The degrees of confidence to use. This should be 1. - * @returns A number between -100 and 100. - */ -function ESDCompare(baseESD, compareESD, cdeg = 1) { - const CONFIDENCE_DEGREE = cdeg; - const BASE_CASE = CDFBetween(-1 * CONFIDENCE_DEGREE, CONFIDENCE_DEGREE, 0, 1) / 2; - let inv = false; - let variance; - let bound; - if (compareESD > baseESD) { - inv = true; - variance = Math.pow(compareESD, 2); - bound = CONFIDENCE_DEGREE * baseESD; - } - else { - variance = Math.pow(baseESD, 2); - bound = CONFIDENCE_DEGREE * compareESD; - } - const esdc = CDFBetween(-1 * bound, bound, 0, variance) / 2; - let besdc = BASE_CASE - esdc; - if (inv) { - besdc *= -1; - } - return besdc * 100; -} -exports.ESDCompare = ESDCompare; -/** - * Converts two percents to ESD, then runs ESDCompare. - */ -function PercentCompare(judgements, baseP, compareP, cdeg = 1) { - const e1 = CalculateESD(judgements, baseP); - const e2 = CalculateESD(judgements, compareP); - return ESDCompare(e1, e2, cdeg); -} -exports.PercentCompare = PercentCompare; -//# sourceMappingURL=esd.js.map \ No newline at end of file diff --git a/common/js/lib/esd.js.map b/common/js/lib/esd.js.map deleted file mode 100644 index c9e2d001b..000000000 --- a/common/js/lib/esd.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"esd.js","sourceRoot":"","sources":["../../src/lib/esd.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/common/js/lib/util.d.ts b/common/js/lib/util.d.ts deleted file mode 100644 index c92f800ee..000000000 --- a/common/js/lib/util.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { Grades, integer } from "../types"; -export declare function CalculateGradeDeltaIIDX(cmpGrade: Grades["iidx:SP" | "iidx:DP"], score: integer, notecount: integer): string; diff --git a/common/js/lib/util.js b/common/js/lib/util.js deleted file mode 100644 index 2e8c7827f..000000000 --- a/common/js/lib/util.js +++ /dev/null @@ -1,20 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.CalculateGradeDeltaIIDX = void 0; -const config_1 = require("../config/config"); -const IIDXConfig = config_1.GetGamePTConfig("iidx", "SP"); -function CalculateGradeDeltaIIDX(cmpGrade, score, notecount) { - const cmpGradeIDX = IIDXConfig.grades.indexOf(cmpGrade); - const cmpGradePercent = IIDXConfig.gradeBoundaries[cmpGradeIDX]; - const cmpScore = Math.ceil(notecount * (cmpGradePercent / 100)); - const delta = score - cmpScore; - if (delta >= 0) { - return `${cmpGrade}+${delta}`; - } - else { - // negative numbers implicitly stringify with the - prefix - return `${cmpGrade}${delta}`; - } -} -exports.CalculateGradeDeltaIIDX = CalculateGradeDeltaIIDX; -//# sourceMappingURL=util.js.map \ No newline at end of file diff --git a/common/js/lib/util.js.map b/common/js/lib/util.js.map deleted file mode 100644 index e54129be7..000000000 --- a/common/js/lib/util.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/lib/util.ts"],"names":[],"mappings":";;;AAAA,6CAAmD;AAGnD,MAAM,UAAU,GAAG,wBAAe,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AAEjD,SAAgB,uBAAuB,CACtC,QAAuC,EACvC,KAAc,EACd,SAAkB;IAElB,MAAM,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAExD,MAAM,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;IAEhE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,CAAC;IAEhE,MAAM,KAAK,GAAG,KAAK,GAAG,QAAQ,CAAC;IAE/B,IAAI,KAAK,IAAI,CAAC,EAAE;QACf,OAAO,GAAG,QAAQ,IAAI,KAAK,EAAE,CAAC;KAC9B;SAAM;QACN,0DAA0D;QAC1D,OAAO,GAAG,QAAQ,GAAG,KAAK,EAAE,CAAC;KAC7B;AACF,CAAC;AAnBD,0DAmBC"} \ No newline at end of file diff --git a/common/js/types.d.ts b/common/js/types.d.ts deleted file mode 100644 index 79c6c2547..000000000 --- a/common/js/types.d.ts +++ /dev/null @@ -1,1084 +0,0 @@ -import { IObjectID } from "monk"; -import { FilterQuery } from "mongodb"; -import { AllClassSets, GameClasses, GameClassSets } from "./game-classes"; -export interface CounterDocument { - counterName: string; - value: integer; -} -export declare type AnyPlaytype = Playtypes[Game]; -/** - * IDStrings are an internal (ish) identifier used to identify - * Game + Playtype combos. These are used because TypeScript cannot accurately - * apply two levels of indexing to types, which makes writing generic interfaces - * like the ScoreDocument (Especially the ScoreDocument) *very* hard! - */ -export declare type IDStrings = "iidx:SP" | "iidx:DP" | "sdvx:Single" | "usc:Single" | "ddr:SP" | "ddr:DP" | "maimai:Single" | "museca:Single" | "bms:7K" | "bms:14K" | "chunithm:Single" | "gitadora:Gita" | "gitadora:Dora"; -export interface IDStringToPlaytype { - "iidx:SP": "SP"; - "iidx:DP": "DP"; - "popn:9B": "9B"; - "sdvx:Single": "Single"; - "usc:Single": "Single"; - "ddr:SP": "SP"; - "ddr:DP": "DP"; - "maimai:Single": "Single"; - "jubeat:Single": "Single"; - "museca:Single": "Single"; - "bms:7K": "7K"; - "bms:14K": "14K"; - "chunithm:Single": "Single"; - "gitadora:Gita": "Gita"; - "gitadora:Dora": "Dora"; -} -export interface IDStringToGame { - "iidx:SP": "iidx"; - "iidx:DP": "iidx"; - "popn:9B": "popn"; - "sdvx:Single": "sdvx"; - "usc:Single": "usc"; - "ddr:SP": "ddr"; - "ddr:DP": "ddr"; - "maimai:Single": "maimai"; - "jubeat:Single": "jubeat"; - "museca:Single": "museca"; - "bms:7K": "bms"; - "bms:14K": "bms"; - "chunithm:Single": "chunithm"; - "gitadora:Gita": "gitadora"; - "gitadora:Dora": "gitadora"; -} -export interface GameToIDStrings { - iidx: "iidx:SP" | "iidx:DP"; - sdvx: "sdvx:Single"; - usc: "usc:Single"; - ddr: "ddr:SP" | "ddr:DP"; - maimai: "maimai:Single"; - jubeat: "jubeat:Single"; - museca: "museca:Single"; - bms: "bms:7K" | "bms:14K"; - chunithm: "chunithm:Single"; - gitadora: "gitadora:Gita" | "gitadora:Dora"; - popn: "popn:9B"; -} -/** - * A utility type for creating an ID string given a game and playtype. - * It should be noted that typescript refuses to assert that - * IDString is a member of IDStrings. You're free to attempt to - * rewrite IDStrings to try and get this to work, I promise you it doesn't. - */ -/** - * All MongoDB Documents require this field, or atleast they all have them in ktchi's DB. - */ -export interface MongoDBDocument { - _id?: IObjectID; -} -export declare type Databases = "sessions" | "session-view-cache" | "folders" | "folder-chart-lookup" | "scores" | "personal-bests" | "imports" | "import-timings" | "tierlist-data" | "tierlists" | "goals" | "user-goals" | "user-milestones" | "milestones" | "game-stats" | "game-settings" | "users" | "kai-auth-tokens" | "bms-course-lookup" | "api-tokens" | "import-locks" | "tables" | "game-stats-snapshots"; -export declare type ValidDatabases = Databases | `songs-${Game}` | `charts-${Game}`; -/** - * Supported games by Kamaitachi. - */ -export declare type Game = "iidx" | "museca" | "maimai" | "sdvx" | "ddr" | "bms" | "chunithm" | "gitadora" | "usc"; -/** - * This is the generic response from the Kamaitachi API in event of a failure. - */ -export interface UnsuccessfulAPIResponse { - success: false; - description: string; -} -/** - * In the event of a successful API request, body is attached onto the request, which contains - * endpoint-defined information about the response, such as database data. - */ -export interface SuccessfulAPIResponse { - success: true; - description: string; - body: T; -} -export interface ChartFolderLookupDocument extends MongoDBDocument { - chartID: string; - folderID: string; -} -export interface Playtypes { - iidx: "SP" | "DP"; - popn: "9B"; - sdvx: "Single"; - usc: "Single"; - ddr: "SP" | "DP"; - maimai: "Single"; - jubeat: "Single"; - museca: "Single"; - chunithm: "Single"; - bms: "7K" | "14K"; - gitadora: "Gita" | "Dora"; -} -declare type IIDXGrades = "F" | "E" | "D" | "C" | "B" | "A" | "AA" | "AAA" | "MAX-" | "MAX"; -declare type SDVXGrades = "D" | "C" | "B" | "A" | "A+" | "AA" | "AA+" | "AAA" | "AAA+" | "S"; -declare type DDRGrades = "D" | "D+" | "C-" | "C" | "C+" | "B-" | "B" | "B+" | "A-" | "A" | "A+" | "AA-" | "AA" | "AA+" | "AAA"; -declare type GitadoraGrades = "C" | "B" | "A" | "S" | "SS" | "MAX"; -export interface Grades { - "iidx:SP": IIDXGrades; - "iidx:DP": IIDXGrades; - "popn:9B": "E" | "D" | "C" | "B" | "A" | "AA" | "AAA" | "S"; - "sdvx:Single": SDVXGrades; - "usc:Single": SDVXGrades; - "ddr:SP": DDRGrades; - "ddr:DP": DDRGrades; - "maimai:Single": "F" | "E" | "D" | "C" | "B" | "A" | "AA" | "AAA" | "S" | "S+" | "SS" | "SS+" | "SSS" | "SSS+"; - "jubeat:Single": "E" | "D" | "C" | "B" | "A" | "S" | "SS" | "SSS" | "EXC"; - "museca:Single": "没" | "拙" | "凡" | "佳" | "良" | "優" | "秀" | "傑" | "傑G"; - "bms:7K": IIDXGrades; - "bms:14K": IIDXGrades; - "chunithm:Single": "D" | "C" | "B" | "BB" | "BBB" | "A" | "AA" | "AAA" | "S" | "SS" | "SSS"; - "gitadora:Gita": GitadoraGrades; - "gitadora:Dora": GitadoraGrades; -} -declare type IIDXLamps = "NO PLAY" | "FAILED" | "ASSIST CLEAR" | "EASY CLEAR" | "CLEAR" | "HARD CLEAR" | "EX HARD CLEAR" | "FULL COMBO"; -declare type GitadoraLamps = "FAILED" | "CLEAR" | "FULL COMBO" | "EXCELLENT"; -declare type SDVXLamps = "FAILED" | "CLEAR" | "EXCESSIVE CLEAR" | "ULTIMATE CHAIN" | "PERFECT ULTIMATE CHAIN"; -declare type DDRLamps = "FAILED" | "CLEAR" | "LIFE4" | "FULL COMBO" | "GREAT FULL COMBO" | "PERFECT FULL COMBO" | "MARVELOUS FULL COMBO"; -export interface Lamps { - "iidx:SP": IIDXLamps; - "iidx:DP": IIDXLamps; - "popn:9B": "FAILED" | "CLEAR" | "FULL COMBO" | "PERFECT"; - "sdvx:Single": SDVXLamps; - "usc:Single": SDVXLamps; - "ddr:SP": DDRLamps; - "ddr:DP": DDRLamps; - "maimai:Single": "FAILED" | "CLEAR" | "FULL COMBO" | "ALL PERFECT" | "ALL PERFECT+"; - "jubeat:Single": "FAILED" | "CLEAR" | "FULL COMBO" | "EXCELLENT"; - "museca:Single": "FAILED" | "CLEAR" | "CONNECT ALL" | "PERFECT CONNECT ALL"; - "bms:7K": IIDXLamps; - "bms:14K": IIDXLamps; - "chunithm:Single": "FAILED" | "CLEAR" | "FULL COMBO" | "ALL JUSTICE" | "ALL JUSTICE CRITICAL"; - "gitadora:Gita": GitadoraLamps; - "gitadora:Dora": GitadoraLamps; -} -export interface Difficulties { - "iidx:SP": "BEGINNER" | "NORMAL" | "HYPER" | "ANOTHER" | "LEGGENDARIA"; - "iidx:DP": "NORMAL" | "HYPER" | "ANOTHER" | "LEGGENDARIA"; - "popn:9B": "Easy" | "Normal" | "Hyper" | "EX"; - "sdvx:Single": "NOV" | "ADV" | "EXH" | "MXM" | "INF" | "GRV" | "HVN" | "VVD"; - "usc:Single": "NOV" | "ADV" | "EXH" | "INF"; - "ddr:SP": "BEGINNER" | "BASIC" | "DIFFICULT" | "EXPERT" | "CHALLENGE"; - "ddr:DP": "BASIC" | "DIFFICULT" | "EXPERT" | "CHALLENGE"; - "maimai:Single": "Easy" | "Basic" | "Advanced" | "Expert" | "Master" | "Re:Master"; - "jubeat:Single": "BSC" | "ADV" | "EXT"; - "museca:Single": "Green" | "Yellow" | "Red"; - "bms:7K": "CHART"; - "bms:14K": "CHART"; - "chunithm:Single": "BASIC" | "ADVANCED" | "EXPERT" | "MASTER" | "WORLD'S END"; - "gitadora:Gita": "BASIC" | "ADVANCED" | "EXTREME" | "MASTER" | "BASS BASIC" | "BASS ADVANCED" | "BASS EXTREME" | "BASS MASTER"; - "gitadora:Dora": "BASIC" | "ADVANCED" | "EXTREME" | "MASTER"; -} -/** - * An alias for number, that makes part of the code self-documenting. - * Note that if it were possible to enforce integer-y ness, then I would absolutely do so here - * but i can not. - */ -export declare type integer = number; -export declare type Ratings = Record>; -export interface BaseGoalDocument extends MongoDBDocument { - game: Game; - playtype: AnyPlaytype; - timeAdded: integer; - createdBy: integer; - title: string; - goalID: string; - criteria: GoalSingleCriteria | GoalCountCriteria; -} -interface GoalCriteria { - key: "scoreData.percent" | "scoreData.lampIndex" | "scoreData.gradeIndex" | "scoreData.score"; - value: number; -} -export interface GoalSingleCriteria extends GoalCriteria { - mode: "single"; -} -/** - * Criteria for a score to match this criteria - this is a "count" mode, which means that - * atleast N scores have to match this criteria. This is for things like folders. - */ -export interface GoalCountCriteria extends GoalCriteria { - mode: "abs" | "proportion"; - countNum: number; -} -/** - * Goal Document - Single. A goal document that is only for one specific chart. - */ -export interface GoalDocumentSingle extends BaseGoalDocument { - charts: { - type: "single"; - data: string; - }; -} -/** - * Goal Document - Multi. A goal document whos set of charts is the array of - * chartIDs inside "charts". - */ -export interface GoalDocumentMulti extends BaseGoalDocument { - charts: { - type: "multi"; - data: string[]; - }; -} -/** - * Goal Document - Folder. A goal document whos set of charts is derived from - * the folderID inside "charts". - */ -export interface GoalDocumentFolder extends BaseGoalDocument { - charts: { - type: "folder"; - data: string; - }; -} -/** - * Goal Document - Any. A goal document whos set of charts is not bound. - */ -export interface GoalDocumentAny extends BaseGoalDocument { - charts: { - type: "any"; - }; -} -export declare type GoalDocument = GoalDocumentFolder | GoalDocumentMulti | GoalDocumentSingle | GoalDocumentAny; -export interface RivalGroupDocument extends MongoDBDocument { - name: string; - desc: string; - founderID: integer; - members: integer[]; - mutualGroup: boolean; - isDefault: boolean; - game: Game; - playtype: AnyPlaytype; - settings: { - scoreCompareMode: "relevant" | "folder"; - strictness: number; - boundary: number; - scoreCompareFolderID: string | null; - cellShading: "grade" | "lamp"; - }; - rivalGroupID: string; -} -export declare type MRGChallengeModes = "goal" | "lamp" | "score"; -export interface MutualRivalGroupChallenge extends MongoDBDocument { - challengeID: string; - derivedScoreID: string | null; - mode: MRGChallengeModes; - name: string; - postedBy: integer; - goalID: string; - mrgID: string; - postedAt: integer; -} -export declare type MRGFolderTargetFieldNames = "scoreData.percent" | "scoreData.gradeIndex" | "scoreData.lampIndex" | "calculatedData.gameSpecific.BPI"; -export interface MRGFolderTarget { - field: MRGFolderTargetFieldNames; - target: number; -} -export interface MRGFolderInformation { - folderID: string; - difficulty: Difficulties[I][] | null; - datapoints: MRGFolderTarget[]; -} -export interface MutualRivalGroupDocument extends MongoDBDocument { - name: string; - about: string; - founderID: integer; - members: integer[]; - outgoingInvites: integer[]; - game: Game; - playtype: AnyPlaytype; - folders: MRGFolderInformation[]; - settings: Record; - mrgID: string; -} -export interface InviteCodeDocument extends MongoDBDocument { - createdBy: integer; - code: string; - createdOn: number; - consumed: boolean; -} -export interface SessionInfoReturn { - sessionID: string; - type: "Created" | "Appended"; -} -interface SessionScorePBInfo { - scoreID: string; - isNewScore: false; - scoreDelta: number; - gradeDelta: integer; - lampDelta: integer; - percentDelta: integer; -} -interface SessionScoreNewInfo { - scoreID: string; - isNewScore: true; -} -export declare type SessionScoreInfo = SessionScorePBInfo | SessionScoreNewInfo; -export interface SessionCalculatedDataLookup { - "iidx:SP": "BPI" | "ktRating" | "ktLampRating"; - "iidx:DP": "BPI" | "ktRating" | "ktLampRating"; - "popn:9B": never; - "sdvx:Single": "VF6" | "ProfileVF6"; - "usc:Single": "VF6" | "ProfileVF6"; - "ddr:SP": "MFCP" | "ktRating"; - "ddr:DP": "MFCP" | "ktRating"; - "maimai:Single": "ktRating"; - "jubeat:Single": "jubility"; - "museca:Single": "ktRating"; - "bms:7K": "sieglinde"; - "bms:14K": "sieglinde"; - "chunithm:Single": "naiveRating"; - "gitadora:Gita": "skill"; - "gitadora:Dora": "skill"; -} -export interface SessionDocument extends MongoDBDocument { - userID: integer; - sessionID: string; - scoreInfo: SessionScoreInfo[]; - name: string; - desc: string | null; - game: Game; - playtype: AnyPlaytype; - importType: ImportTypes; - timeInserted: integer; - timeEnded: integer; - timeStarted: integer; - calculatedData: Partial>; - highlight: boolean; - views: number; -} -export interface SessionViewDocument extends MongoDBDocument { - sessionID: string; - ip: string; - timestamp: number; -} -interface ImportErrContent { - type: string; - message: string | null; -} -export interface ClassDelta { - set: AllClassSets; - playtype: AnyPlaytype; - old: integer | null; - new: integer; -} -export interface ImportDocument extends MongoDBDocument { - userID: integer; - timeStarted: number; - timeFinished: number; - idStrings: IDStrings[]; - importID: string; - scoreIDs: string[]; - errors: ImportErrContent[]; - createdSessions: SessionInfoReturn[]; - importType: ImportTypes; - classDeltas: ClassDelta[]; - goalInfo: GoalImportInfo[]; - milestoneInfo: MilestoneImportInfo[]; - /** - * Whether the user deliberately imported this through an action (i.e. uploaded a file personally) [true] - * or was imported on their behalf through a service (i.e. fervidex) - */ - userIntent: boolean; -} -export interface ImportTimingsDocument { - importID: string; - timestamp: number; - total: number; - /** - * Relative times - these are the times for each section - * divided by how much data they had to process. - */ - rel: Omit; - /** - * Absolute times - these are the times for each section. - */ - abs: ImportTimingSections; -} -interface ImportTimingSections { - parse: number; - import: number; - importParse: number; - session: number; - pb: number; - ugs: number; - goal: number; - milestone: number; -} -export declare type GoalImportStat = Pick; -export interface GoalImportInfo { - goalID: string; - old: GoalImportStat; - new: GoalImportStat; -} -export declare type MilestoneImportStat = Pick; -export interface MilestoneImportInfo { - milestoneID: string; - old: MilestoneImportStat; - new: MilestoneImportStat; -} -export interface UserGoalDocument extends MongoDBDocument { - goalID: string; - userID: integer; - game: Game; - playtype: AnyPlaytype; - achieved: boolean; - timeSet: integer; - timeAchieved: integer | null; - lastInteraction: integer | null; - progress: number | null; - progressHuman: string; - outOf: number; - outOfHuman: string; -} -interface MilestoneGoalReference { - goalID: string; - note?: string; -} -interface MilestoneSection { - title: string; - desc: string; - goals: MilestoneGoalReference[]; -} -export interface MilestoneDocument extends MongoDBDocument { - game: Game; - playtype: AnyPlaytype; - /** - * all: All goals must be achieved in order for the milestone to be complete - * abs: Goals achieved must be greater than or equal to criteria.value. - * proportion: Goals achieved must be greater than or equal to criteria.value * total_goals. - */ - criteria: MilestoneAllCriteria | MilestoneAbsPropCriteria; - createdBy: integer; - name: string; - desc: string; - milestoneData: MilestoneSection[]; - milestoneID: string; - group: string | null; - groupIndex: number | null; -} -interface MilestoneAllCriteria { - type: "all"; -} -interface MilestoneAbsPropCriteria { - type: "abs" | "proportion"; - value: number; -} -export interface MilestoneGroupDocument extends MongoDBDocument { - game: Game; - playtype: AnyPlaytype; - isDefault: boolean; - createdBy: integer; - groupName: string; - name: string; - desc: string; -} -export interface FunFactDocument extends MongoDBDocument { - text: string; - nsfw: boolean; - anonymous: boolean; - userID: integer; - funfactID: string; - timestamp: integer; -} -export declare type UserBadges = "alpha" | "beta" | "devTeam"; -/** - * PublicUserDocument: These are the public values returned from GetUser functions. - * Note that the private fields: password, email and integrations, are not present in this document. - */ -export interface PublicUserDocument extends MongoDBDocument { - username: string; - usernameLowercase: string; - id: integer; - socialMedia: { - discord?: string | null; - twitter?: string | null; - github?: string | null; - steam?: string | null; - youtube?: string | null; - twitch?: string | null; - }; - joinDate: integer; - lastSeen: integer; - about: string; - customPfp: boolean; - customBanner: boolean; - clan: string | null; - badges: UserBadges[]; - authLevel: "banned" | "user" | "mod" | "admin"; -} -export interface UGSRatingsLookup { - "iidx:SP": "BPI" | "ktRating" | "ktLampRating"; - "iidx:DP": "BPI" | "ktRating" | "ktLampRating"; - "popn:9B": never; - "sdvx:Single": "VF6"; - "usc:Single": "VF6"; - "ddr:SP": "MFCP" | "ktRating"; - "ddr:DP": "MFCP" | "ktRating"; - "maimai:Single": "ktRating"; - "jubeat:Single": "jubility"; - "museca:Single": "ktRating"; - "bms:7K": "sieglinde"; - "bms:14K": "sieglinde"; - "chunithm:Single": "naiveRating"; - "gitadora:Gita": "skill"; - "gitadora:Dora": "skill"; -} -export interface UserGameStats extends MongoDBDocument { - userID: integer; - game: IDStringToGame[I]; - playtype: IDStringToPlaytype[I]; - ratings: Partial>; - classes: Partial>; -} -/** - * PrivateUserDocument is the document indicating that we've returned everything about the user - * from the DB - including their private information. - */ -export interface PrivateUserDocument extends PublicUserDocument { - password: string; - email: string; -} -interface ChartDocumentFlags { - "iidx:SP": "IN BASE GAME" | "OMNIMIX" | "N-1" | "2dxtra"; - "iidx:DP": "IN BASE GAME" | "OMNIMIX" | "N-1" | "2dxtra"; - "popn:9B": "IN BASE GAME" | "OMNIMIX"; - "sdvx:Single": "IN BASE GAME" | "OMNIMIX" | "N-1"; - "usc:Single": "CUSTOM"; - "ddr:SP": "IN BASE GAME" | "N-1"; - "ddr:DP": "IN BASE GAME" | "N-1"; - "maimai:Single": "IN BASE GAME"; - "jubeat:Single": "IN BASE GAME"; - "museca:Single": "IN BASE GAME" | "OMNIMIX"; - "bms:7K": never; - "bms:14K": never; - "chunithm:Single": "IN BASE GAME" | "OMNIMIX"; - "gitadora:Gita": "IN BASE GAME" | "OMNIMIX" | "HOT" | "HOT N-1"; - "gitadora:Dora": "IN BASE GAME" | "OMNIMIX" | "HOT" | "HOT N-1"; -} -interface CDDataIIDXSP { - notecount: integer; - inGameID: integer; - arcChartID: string | null; - hashSHA256: string | null; - "2dxtraSet": string | null; -} -interface CDDataDDRSP { - songHash: string; - inGameID: string; - arcChartID: string | null; -} -interface CDDataBMS { - notecount: integer; - hashMD5: string; - hashSHA256: string; -} -interface ChartDocumentData { - "iidx:SP": CDDataIIDXSP; - "iidx:DP": CDDataIIDXSP; - "popn:9B": Record; - "sdvx:Single": { - inGameID: integer; - arcChartID: string | null; - }; - "usc:Single": { - hashSHA1: string | string[]; - }; - "ddr:SP": CDDataDDRSP; - "ddr:DP": CDDataDDRSP; - "maimai:Single": { - maxPercent: number; - inGameID: string; - }; - "jubeat:Single": { - arcChartID: string | null; - }; - "museca:Single": Record; - "bms:7K": CDDataBMS; - "bms:14K": CDDataBMS; - "chunithm:Single": { - inGameID: integer; - }; - "gitadora:Gita": { - inGameID: integer; - }; - "gitadora:Dora": { - inGameID: integer; - }; -} -export interface AnyChartDocument extends MongoDBDocument { - chartID: string; - rgcID: string | null; - songID: integer; - level: string; - levelNum: number; - difficulty: Difficulties[IDStrings]; - playtype: AnyPlaytype; - isPrimary: boolean; - versions: string[]; -} -export interface ChartDocument extends AnyChartDocument { - difficulty: Difficulties[I]; - playtype: IDStringToPlaytype[I]; - flags: Record; - data: ChartDocumentData[I]; -} -interface TierlistPermissions { - edit: integer; - submit: integer; - vote: integer; -} -export interface TierlistParent extends MongoDBDocument { - game: G; - playtype: Playtypes[G]; - name: string; - isDefault: boolean; - tierlistID: string; - createdBy: integer; - createdAt: number; - permissions: Record & { - anyPlayer: TierlistPermissions; - }; - description: string; - lastUpdated: number; - config: { - autoHumanise: boolean; - requireState: null | "clear" | "play"; - flags: string[]; - }; -} -export interface TierlistDataDocument extends MongoDBDocument { - chartID: string; - tierlistID: string; - type: "lamp" | "score"; - key: string | null; - tierlistDataID: string; - data: { - value: number; - humanised: string; - flags: { - [flag in F]: boolean; - }; - }; -} -interface SongDocumentData { - iidx: { - genre: string; - }; - museca: { - titleJP: string; - artistJP: string; - }; - maimai: { - titleJP: string; - artistJP: string; - genre: string; - }; - jubeat: Record; - popn: Record; - sdvx: { - uscEquiv: integer | null; - }; - usc: { - sdvxEquiv: integer | null; - }; - ddr: Record; - bms: { - genre: string | null; - subtitle: string | null; - subartist: string | null; - }; - chunithm: { - genre: string; - }; - gitadora: Record; -} -export interface AnySongDocument extends MongoDBDocument { - id: integer; - title: string; - artist: string; - firstVersion: string | null; - /** - * Alternative names for this song, to be used while searching. - */ - "search-titles": string[]; - /** - * Alternative titles for this song, to be used whenever the song is - * requested. - */ - "alt-titles": string[]; -} -export interface SongDocument extends AnySongDocument { - data: SongDocumentData[G]; -} -export interface TableDocument extends MongoDBDocument { - tableID: string; - game: Game; - playtype: AnyPlaytype; - title: string; - description: string; - folders: string[]; -} -export interface BaseFolderDocument extends MongoDBDocument { - title: string; - game: Game; - playtype: AnyPlaytype; - folderID: string; -} -export interface FolderSongsDocument extends BaseFolderDocument { - type: "songs"; - data: FilterQuery; -} -export interface FolderChartsDocument extends BaseFolderDocument { - type: "charts"; - data: FilterQuery; -} -export interface FolderStaticDocument extends BaseFolderDocument { - type: "static"; - data: string[]; -} -export declare type FolderDocument = FolderStaticDocument | FolderChartsDocument | FolderSongsDocument; -export interface FolderChartLookup extends MongoDBDocument { - chartID: string; - folderID: string; -} -export interface UserMilestoneDocument extends MongoDBDocument { - milestoneID: string; - userID: integer; - game: Game; - playtype: AnyPlaytype; - timeSet: integer; - achieved: boolean; - timeAchieved: integer | null; - progress: integer; -} -declare type RanOptions = "NONRAN" | "RANDOM" | "R-RANDOM" | "S-RANDOM" | "MIRROR"; -interface IIDXSPScoreMeta { - random: RanOptions | null; - assist: "NO ASSIST" | "AUTO SCRATCH" | "LEGACY NOTE" | "FULL ASSIST" | null; - range: "NONE" | "SUDDEN+" | "HIDDEN+" | "SUD+ HID+" | "LIFT" | "LIFT SUD+" | null; - gauge: "ASSISTED EASY" | "EASY" | "NORMAL" | "HARD" | "EX HARD" | null; -} -interface BMS7KScoreMeta { - random: RanOptions | null; - inputDevice: "KEYBOARD" | "BM_CONTROLLER" | null; - client: "LR2" | "beatoraja" | "lr2oraja"; - lnType: null | "LN" | "CN"; -} -interface ScoreMetaLookup { - "iidx:SP": IIDXSPScoreMeta; - "iidx:DP": IIDXSPScoreMeta & { - random: [RanOptions, RanOptions] | null; - }; - "popn:9B": Record; - "sdvx:Single": { - inSkillAnalyser: boolean | null; - }; - "usc:Single": { - noteMod: "NORMAL" | "MIRROR" | "RANDOM" | "MIR-RAN" | null; - gaugeMod: "NORMAL" | "HARD" | null; - }; - "ddr:SP": Record; - "ddr:DP": Record; - "maimai:Single": Record; - "jubeat:Single": Record; - "museca:Single": Record; - "bms:7K": BMS7KScoreMeta; - "bms:14K": BMS7KScoreMeta & { - random: [RanOptions, RanOptions] | null; - }; - "chunithm:Single": Record; - "gitadora:Gita": Record; - "gitadora:Dora": Record; -} -interface BASE_VALID_HIT_META { - fast: integer | null; - slow: integer | null; - maxCombo: integer | null; -} -declare type IIDXHitMeta = BASE_VALID_HIT_META & { - bp: integer | null; - gauge: number | null; - gaugeHistory: (number | null)[] | null; - scoreHistory: number[] | null; - comboBreak: integer | null; - gsm: { - EASY: (number | null)[]; - NORMAL: (number | null)[]; - HARD: (number | null)[]; - EX_HARD: (number | null)[]; - } | null; -}; -declare type BMSJudgePermutations = `${"e" | "l"}${"bd" | "pr" | "gd" | "gr" | "pg"}`; -declare type BMSHitMeta = BASE_VALID_HIT_META & { - [K in BMSJudgePermutations]: integer; -} & { - bp: integer | null; - gauge: number | null; -}; -declare type SDVXHitMeta = BASE_VALID_HIT_META & { - gauge: number | null; - btnRate: number | null; - holdRate: number | null; - laserRate: number | null; -}; -export interface HitMetaLookup { - "iidx:SP": IIDXHitMeta; - "iidx:DP": IIDXHitMeta; - "popn:9B": BASE_VALID_HIT_META & { - gauge: number; - }; - "sdvx:Single": SDVXHitMeta; - "usc:Single": SDVXHitMeta; - "ddr:SP": BASE_VALID_HIT_META; - "ddr:DP": BASE_VALID_HIT_META; - "maimai:Single": BASE_VALID_HIT_META; - "jubeat:Single": BASE_VALID_HIT_META; - "museca:Single": BASE_VALID_HIT_META; - "bms:7K": BMSHitMeta; - "bms:14K": BMSHitMeta; - "chunithm:Single": BASE_VALID_HIT_META; - "gitadora:Gita": BASE_VALID_HIT_META; - "gitadora:Dora": BASE_VALID_HIT_META; -} -declare type IIDXJudges = "pgreat" | "great" | "good" | "bad" | "poor"; -declare type DDRJudges = "marvelous" | "perfect" | "great" | "good" | "boo" | "miss" | "ok" | "ng"; -declare type GitadoraJudges = "perfect" | "great" | "good" | "ok" | "miss"; -declare type SDVXJudges = "critical" | "near" | "miss"; -export interface JudgementLookup { - "iidx:SP": IIDXJudges; - "iidx:DP": IIDXJudges; - "popn:9B": "cool" | "great" | "good" | "miss"; - "sdvx:Single": SDVXJudges; - "usc:Single": SDVXJudges; - "ddr:SP": DDRJudges; - "ddr:DP": DDRJudges; - "maimai:Single": "perfect" | "great" | "good" | "miss"; - "jubeat:Single": "perfect" | "great" | "good" | "bad" | "miss"; - "museca:Single": "critical" | "near" | "miss"; - "bms:7K": IIDXJudges; - "bms:14K": IIDXJudges; - "chunithm:Single": "jcrit" | "justice" | "attack" | "miss"; - "gitadora:Gita": GitadoraJudges; - "gitadora:Dora": GitadoraJudges; -} -export interface ScoreCalculatedDataLookup { - "iidx:SP": "BPI" | "ktRating" | "ktLampRating"; - "iidx:DP": "BPI" | "ktRating" | "ktLampRating"; - "sdvx:Single": "VF6"; - "usc:Single": "VF6"; - "ddr:SP": "MFCP" | "ktRating"; - "ddr:DP": "MFCP" | "ktRating"; - "maimai:Single": "ktRating"; - "museca:Single": "ktRating"; - "bms:7K": "sieglinde"; - "bms:14K": "sieglinde"; - "chunithm:Single": "rating"; - "gitadora:Gita": "skill"; - "gitadora:Dora": "skill"; -} -export interface ScoreDocument extends MongoDBDocument { - service: string; - game: IDStringToGame[I]; - playtype: IDStringToPlaytype[I]; - userID: integer; - scoreData: { - score: number; - lamp: Lamps[I]; - percent: number; - grade: Grades[I]; - lampIndex: integer; - gradeIndex: integer; - esd: number | null; - judgements: Partial>; - hitMeta: Partial; - }; - scoreMeta: Partial; - calculatedData: Partial>; - timeAchieved: integer | null; - songID: integer; - chartID: string; - isPrimary: boolean; - highlight: boolean; - comment: string | null; - timeAdded: integer; - scoreID: string; - importType: ImportTypes | null; -} -export interface PBScoreComposedReference { - name: string; - scoreID: string; -} -export interface PBScoreDocument extends MongoDBDocument { - composedFrom: { - scorePB: string; - lampPB: string; - other?: PBScoreComposedReference[]; - }; - rankingData: { - rank: integer; - outOf: integer; - }; - userID: integer; - chartID: string; - game: Game; - playtype: AnyPlaytype; - songID: integer; - comments: string[]; - highlight: boolean; - isPrimary: boolean; - timeAchieved: number | null; - scoreData: { - score: number; - lamp: Lamps[I]; - percent: number; - grade: Grades[I]; - lampIndex: integer; - gradeIndex: integer; - esd: number | null; - judgements: Partial>; - hitMeta: Partial; - }; - calculatedData: Partial>; -} -export declare type FileUploadImportTypes = "file/eamusement-iidx-csv" | "file/batch-manual" | "file/solid-state-squad" | "file/mer-iidx" | "file/pli-iidx-csv"; -export declare type APIImportTypes = "api/flo-iidx" | "api/flo-sdvx" | "api/eag-iidx" | "api/eag-sdvx" | "api/arc-iidx" | "api/arc-sdvx" | "api/arc-ddr"; -export declare type IRImportTypes = "ir/direct-manual" | "ir/barbatos" | "ir/fervidex" | "ir/usc" | "ir/chunitachi" | "ir/beatoraja" | "ir/fervidex-static"; -export declare type ImportTypes = FileUploadImportTypes | IRImportTypes | APIImportTypes; -export interface ImportProcessInfoKTDataNotFound { - success: false; - type: "KTDataNotFound"; - message: string | null; - content: { - data: unknown; - context: unknown; - orphanID: string; - }; -} -export interface ImportProcessInfoOrphanExists { - success: false; - type: "OrphanExists"; - message: string | null; - content: { - orphanID: string; - }; -} -export interface ImportProcessInfoInvalidDatapoint { - success: false; - type: "InvalidDatapoint"; - message: string | null; - content: { - field?: string; - }; -} -export interface ImportProcessInfoScoreImported { - success: true; - type: "ScoreImported"; - message: string | null; - content: { - score: ScoreDocument; - }; -} -export interface ImportProcessInfoInternalError { - success: false; - type: "InternalError"; - message: string | null; - content: Record; -} -export declare type ImportProcessingInfo = ImportProcessInfoKTDataNotFound | ImportProcessInfoOrphanExists | ImportProcessInfoScoreImported | ImportProcessInfoInvalidDatapoint | ImportProcessInfoInternalError; -export interface IIDXBPIData { - chartID: string; - kavg: integer; - wr: integer; - kesd: number; - coef: number | null; -} -export interface ImportStatistics { - scoreCount: integer; - msPerScore: number; - sessionCount: integer; - msPerSession: number; - ratingTime: number; - importID: string; -} -export interface KaiAuthDocument { - userID: integer; - token: string; - refreshToken: string; - service: "FLO" | "EAG"; -} -/** - * Used to resolve beatoraja IR courses. - */ -export interface BMSCourseDocument { - title: string; - md5sums: string; - set: "genocideDan" | "stslDan"; - playtype: "7K" | "14K"; - value: integer; -} -export declare type RedisIPCChannels = "class-update" | "goal-achieved" | "milestone-achieved"; -export declare type RedisIPCData = { - "class-update": { - userID: integer; - set: GameClassSets[IDStrings]; - old: integer | null; - new: integer | null; - }; - "goal-achieved": { - userID: integer; - goalID: string; - old: GoalImportStat; - new: GoalImportStat; - }; - "milestone-achieved": { - userID: integer; - milestoneID: string; - old: MilestoneImportStat; - new: MilestoneImportStat; - }; -}; -/** - * All the permissions a token may have. - */ -export declare type APIPermissions = "submit_score" | "customise_profile" | "customise_session" | "customise_score" | "delete_score"; -/** - * Information about the API Token used to make this request. - */ -export interface APITokenDocument extends MongoDBDocument { - userID: integer | null; - token: string | null; - identifier: string; - permissions: Partial>; -} -export interface ImportLockDocument extends MongoDBDocument { - userID: integer; -} -export declare type ShowcaseStatDetails = ShowcaseStatFolder | ShowcaseStatChart; -export interface ShowcaseStatFolder { - mode: "folder"; - folderID: string | string[]; - property: "score" | "percent" | "grade" | "lamp"; - gte: number; -} -export interface ShowcaseStatChart { - mode: "chart"; - chartID: string; - property: "score" | "percent" | "grade" | "lamp" | "playcount"; -} -export interface UGPTSettings extends MongoDBDocument { - userID: integer; - game: IDStringToGame[I]; - playtype: IDStringToPlaytype[I]; - preferences: { - preferredScoreAlg: ScoreCalculatedDataLookup[I] | null; - preferredSessionAlg: SessionCalculatedDataLookup[I] | null; - preferredProfileAlg: UGSRatingsLookup[I] | null; - stats: ShowcaseStatDetails[]; - }; -} -export interface UserGameStatsSnapshot extends MongoDBDocument, UserGameStats { - ranking: integer; - playcount: integer; - timestamp: integer; -} -export {}; diff --git a/common/js/types.js b/common/js/types.js deleted file mode 100644 index 11e638d1e..000000000 --- a/common/js/types.js +++ /dev/null @@ -1,3 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -//# sourceMappingURL=types.js.map \ No newline at end of file diff --git a/common/js/types.js.map b/common/js/types.js.map deleted file mode 100644 index c768b7900..000000000 --- a/common/js/types.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""} \ No newline at end of file diff --git a/common/js/utils/util.d.ts b/common/js/utils/util.d.ts deleted file mode 100644 index 1fa7e816a..000000000 --- a/common/js/utils/util.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -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 - * game-specific strange edge cases. - */ -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; diff --git a/common/js/utils/util.js b/common/js/utils/util.js deleted file mode 100644 index bd6d1a054..000000000 --- a/common/js/utils/util.js +++ /dev/null @@ -1,62 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -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); - if (game === "bms") { - return `${chart.playtype} ${chart.level}`; - } - if (gameConfig.validPlaytypes.length > 1) { - return `${chart.playtype} ${chart.difficulty} ${chart.level}`; - } - return `${chart.difficulty}`; -} -exports.FormatDifficulty = FormatDifficulty; -/** - * Formats a chart's difficulty into a shorter variant. This handles a lot of - * game-specific strange edge cases. - */ -function FormatDifficultyShort(chart, game) { - var _a; - const gameConfig = config_1.GetGameConfig(game); - const gptConfig = config_1.GetGamePTConfig(game, chart.playtype); - const shortDiff = (_a = gptConfig.shortDifficulties[chart.difficulty]) !== null && _a !== void 0 ? _a : chart.difficulty; - if (game === "bms") { - return `${chart.playtype} ${chart.level}`; - } - if (game === "ddr") { - return `${shortDiff}${chart.playtype}`; - } - if (gameConfig.validPlaytypes.length === 1 || game === "gitadora") { - return `${shortDiff} ${chart.level}`; - } - return `${chart.playtype}${shortDiff} ${chart.level}`; -} -exports.FormatDifficultyShort = FormatDifficultyShort; -function FormatGame(game, playtype) { - const gameConfig = config_1.GetGameConfig(game); - if (gameConfig.validPlaytypes.length === 1) { - return gameConfig.name; - } - 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 \ No newline at end of file diff --git a/common/js/utils/util.js.map b/common/js/utils/util.js.map deleted file mode 100644 index da6975e23..000000000 --- a/common/js/utils/util.js.map +++ /dev/null @@ -1 +0,0 @@ -{"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"} \ No newline at end of file