anime-quiz
Version:
A simple module to generate anime quiz.
39 lines (38 loc) • 1.37 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Quiz = void 0;
const fs_extra_1 = require("fs-extra");
const Utils_1 = require("./Utils");
const path_1 = require("path");
class Quiz {
constructor() {
this.quizzes = JSON.parse((0, fs_extra_1.readFileSync)((0, path_1.join)(__dirname, '..', '..', 'assets', 'quizzes.json'), 'utf-8'));
this.utils = new Utils_1.Utils();
/**
* Genrates random Quiz
* @returns {IQuiz} The Quiz object
*/
this.getRandom = () => {
const quiz = this.quizzes[Math.floor(Math.random() * this.quizzes.length)];
quiz.options = this.utils.shuffleArray(quiz.options);
return quiz;
};
/**
* Gets a Quiz by the ID
* @returns {IQuiz} The Quiz object
*/
this.getQuizById = (id) => {
const index = this.quizzes.findIndex((x) => x.id === id);
if (index < 0)
return {
id: -1,
question: '',
options: [],
answer: '',
};
this.quizzes[index].options = this.utils.shuffleArray(this.quizzes[index].options);
return this.quizzes[index];
};
}
}
exports.Quiz = Quiz;