import { AnyTypedQuizQuestion, UntypedQuizQuestion, } from "@model/questionTypes/shared"; import { Quiz } from "@model/quiz/quiz"; import { updateSomeWorkBackend } from "@root/uiTools/actions"; import { DeleteFunction } from "@utils/deleteFunc"; type allQuestionsTypes = AnyTypedQuizQuestion | UntypedQuizQuestion; export const deleteTimeoutedQuestions = async ( questions: allQuestionsTypes[], quiz: Quiz | undefined, ) => { const questionsForDeletion = questions.filter( ({ type, deleted }) => type && type !== "result" && deleted, ) as AnyTypedQuizQuestion[]; if (questionsForDeletion.length > 0) { updateSomeWorkBackend(true); await Promise.allSettled( questionsForDeletion.map((question) => DeleteFunction(questions, question, quiz), ), ); updateSomeWorkBackend(false); } };