papermc-api
Version:
Its a PaperMC Downloads API client for node.js.
70 lines (69 loc) • 3.28 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.ProjectCommand = void 0;
const chalk_1 = __importDefault(require("chalk"));
const commander_1 = require("commander");
const PaperAPI_1 = require("../../class/PaperAPI");
let cmd = new commander_1.Command("project")
.argument("<project_id>", "PaperMC project ID. Example: paper")
.argument("[version]", "Minecraft version of PaperMC Project. Must be: latest")
.argument("[build]", "Build id of PaperMC project. Default: latest")
.description("Show information of a PaperMC project. ")
.action((proj_id, ver, build) => __awaiter(void 0, void 0, void 0, function* () {
let project = yield PaperAPI_1.PaperAPI.project(proj_id);
if (!project) {
console.log(chalk_1.default.red(`${proj_id} isn't valid Project ID.`));
return;
}
console.log(chalk_1.default.bold("Project Name: " + chalk_1.default.blue(`${project.project_name} `)));
if (!ver) {
console.log(chalk_1.default.bold("Project Versions: "));
for (let ver of project.versions) {
console.log(" - " + chalk_1.default.cyanBright(ver));
}
console.log("");
return;
}
let version = ver;
if (ver == "latest") {
version = project.versions[project.versions.length - 1];
}
let vers = yield project.getVersion(version);
if (!vers) {
console.log(chalk_1.default.red(`${version} is invalid version.`));
return;
}
console.log(chalk_1.default.bold("Project Version: " + chalk_1.default.blue(`${version} `)));
if (!build) {
console.log(chalk_1.default.bold("Project Builds: "));
for (let build of vers.builds) {
console.log(" - " + chalk_1.default.greenBright(build));
}
return;
}
let buid = build;
if (build == "latest") {
buid = vers.builds[vers.builds.length - 1];
}
let buildx = yield vers.getBuild(buid);
if (!buildx) {
console.log(chalk_1.default.red(`${buid} is an invalid build.`));
}
console.log(chalk_1.default.bold("Project Build: " + chalk_1.default.greenBright(`${buid}`)));
for (let down of Object.keys(buildx.downloads)) {
console.log(chalk_1.default.bold(down + " Download Url: " + chalk_1.default.redBright(`${buildx.getDownloadUrl(down)}`)));
}
}));
exports.ProjectCommand = cmd;