UNPKG

anime-quiz

Version:

A simple module to generate anime quiz.

39 lines (38 loc) 1.37 kB
"use strict"; 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;