integratedhub/utils/QuizToTextFile.ts
2026-01-20 09:02:26 -06:00

47 lines
1.5 KiB
TypeScript

//import { QuizData } from "./database.ts";
import { QuizConfig } from "./types.ts";
// Class to handle quiz to text file conversion
export class QuizToTextFile {
quizData: QuizConfig;
constructor(quizData: QuizConfig) {
this.quizData = quizData;
}
generateTextContent() {
// let content = `QUIZ_ID: ${this.quizData.quiz_id}\n`;
// content += `QUIZ_NAME: ${this.quizData.quiz_name}\n`;
// content += `OWNER_ID: ${this.quizData.owner_id}\n\n`;
let content = "";
this.quizData.questions.forEach((question, index) => {
// content += `Q${index + 1}_ID: ${question.id}\n`;
// content += `Q${index + 1}_LANGUAGE: ${question.language_id}\n`;
content += `${question.text_1}\n`;
content += `${question.text_2}\n\n`;
// content += `Q${index + 1}_ORDER: ${question.order_num}\n\n`;
});
return content;
}
async saveToFile(fileName: string) {
const content = this.generateTextContent();
try {
await Deno.writeTextFile(fileName, content);
//console.log(`Quiz saved to ${fileName}`);
} catch (error) {
//console.error(`Error saving quiz to file: ${error}`);
}
}
}
// Example usage:
// const quizData = { /* ... */ };
// const quizToText = new QuizToTextFile(quizData);
// await quizToText.saveToFile('quiz_translations.txt');
// const textToQuiz = new TextToQuizTranslations();
// const parsedQuizData = await textToQuiz.parseFile('quiz_translations.txt');
// console.log(parsedQuizData);