Use built in validation for getting MC version

This commit is contained in:
Kallum Jones 2022-08-14 14:08:42 +01:00
parent 90b5ac79bc
commit 76f6c2c475
No known key found for this signature in database
GPG Key ID: D7F4589C4D7F81A9
1 changed files with 13 additions and 24 deletions

View File

@ -3,7 +3,6 @@ import axios from "axios";
import ModManager from "../mod-manager.js";
import MinecraftVersionError from "../errors/minecraft_version_error.js";
import inquirer from "inquirer";
import PrintUtils from "./print_utils.js";
export default class MinecraftUtils {
static async getCurrentMinecraftVersion(): Promise<string> {
@ -37,29 +36,19 @@ export default class MinecraftUtils {
}
public static async getMinecraftVersionFromInput(question: string) {
let isVersionValid = false;
let version: string | undefined = undefined;
while (!isVersionValid) {
const answer = await inquirer.prompt([{
type: "input",
name: "minecraft_version",
message: question
}])
version = answer.minecraft_version;
if (await MinecraftUtils.isValidVersion(version)) {
isVersionValid = true;
} else {
PrintUtils.error(`${version} is not a valid Minecraft version for a Fabric server. Please try again`);
}
}
if (version == undefined) {
throw new MinecraftVersionError("Escaped version input without a valid version")
}
return version;
const answer = await inquirer.prompt([{
type: "input",
name: "minecraft_version",
message: question,
async validate(input: any): Promise<string | boolean> {
const valid = await MinecraftUtils.isValidVersion(input);
if (!valid) {
return "That is not a valid Minecraft Version"
}
return valid
},
}])
return answer.minecraft_version;
}
}