UNPKG

ei-dev-shared

Version:
111 lines 3.69 kB
import { AllowedKeysForActionMap, AllowedKeysForApplicationMapBrowser, AllowedKeysForApplicationMapExcel, AllowedKeysForApplicationMapWord, PressKeyAction, TypingAction } from "./actionKeyMap"; import { AcceptableDataTypes } from "./UserProgress.type"; export type STWordType = { id: string; word: string; complexity_score: number; module_id: string; }; export type ExerciseType = { id: string; question: string; description?: string; data: { score: number; template: ExerciseTemplateTypes; templateData: MCQSingleExerciseTemplateData | MCQMultipleExerciseTemplateData | TextAnswerExerciseTemplateData | FillInTheBlankExerciseTemplateData | STFillInTheBlankExerciseTemplateData | FillInTheBlankExerciseTemplateDataMissing | STDropdownExerciseTemplateData | STMCQSingleExerciseTemplateData | STSentenceTypingExerciseTemplateData | STSelfEvaluationResultTemplateData | DragAndDropExerciseTemplateData | SystemActionExerciseTemplateData; systemPreSteps?: PreparatoryStep[]; userPreSteps?: Omit<SystemActionExerciseTemplateData, "correct">[]; words?: STWordType[]; custom?: { [key: string]: AcceptableDataTypes; }; }; }; export type ExerciseTemplateTypes = "mcq-single" | "mcq-multiple" | "text-answer" | "fill-in-the-blank" | "st-fill-in-the-blank" | "fill-in-the-blank-missing" | "st-mcq-single" | "st-sentence-typing" | "st-dropdown" | "st-self-evaluation-result" | "drag-and-drop" | "system-action"; export type MCQSingleExerciseTemplateData = { type: "mcq-single"; options: { id: string; text: string; }[]; correct: string; }; export type MCQMultipleExerciseTemplateData = { type: "mcq-multiple"; options: { id: string; text: string; }[]; matchAll?: boolean; correct: string[]; }; export type TextAnswerExerciseTemplateData = { type: "text-answer"; correct: string; }; export type FillInTheBlankExerciseTemplateData = { wordsToBlank?: string[]; type: "fill-in-the-blank"; correct: string[]; }; export type STFillInTheBlankExerciseTemplateData = { wordsToBlank?: string[]; type: "st-fill-in-the-blank"; correct: string[]; }; export type STMCQSingleExerciseTemplateData = { type: "st-mcq-single"; correct: string[]; incorrect: string[]; }; export type STSentenceTypingExerciseTemplateData = { type: "st-sentence-typing"; correct: string; }; export type STDropdownExerciseTemplateData = { type: "st-dropdown"; items: { word: string; definition: string; }[]; correct: string[]; }; export type FillInTheBlankExerciseTemplateDataMissing = { wordsToBlank?: string[]; type: "fill-in-the-blank-missing"; correct: string[]; showVowels: boolean; }; export type STSelfEvaluationResultTemplateData = { type: "st-self-evaluation-result"; data?: { [key: string]: AcceptableDataTypes; }; correct: string[]; }; export type DragAndDropExerciseTemplateData = { type: "drag-and-drop"; columns: { id: string; text: string[]; }[]; correct: { [key: string]: string; }[]; }; export type SystemActionExerciseTemplateData = { type: "system-action"; steps: (AllowedKeysForActionMap | AllowedKeysForApplicationMapBrowser | AllowedKeysForApplicationMapExcel | AllowedKeysForApplicationMapWord | TypingAction | PressKeyAction)[]; correct: { validationFn: string; validationArgs: string[]; }; }; export type PreparatoryStep = { action: { fn: string; fnArgs: string[]; }; }; //# sourceMappingURL=Exercise.type.d.ts.map