{"version":3,"file":"question.schema.cjs","sources":["../../../../../src/schema/public/question/question.schema.ts"],"sourcesContent":["import { z } from \"zod\";\nimport zodToCamelCase from \"zod-to-camel-case\";\n\nimport {\n  imageItemSchema,\n  textItemSchema,\n} from \"@/schema/public/components/imageTextItems/imageTextItems.schema\";\nimport {\n  matchSchema,\n  multipleChoiceSchema,\n  orderSchema,\n  shortAnswerSchema,\n} from \"@/schema/public/components/quizAnswers/quizAnswers.schema\";\nimport {\n  _stateSchema,\n  newState,\n  publishedState,\n} from \"@/schema/public/components/base\";\n\nconst answersObjectSchema = z.object({\n  \"multiple-choice\": z.array(multipleChoiceSchema).optional(),\n  \"short-answer\": z.array(shortAnswerSchema).optional(),\n  order: z.array(orderSchema).optional(),\n  match: z.array(matchSchema).optional(),\n});\n\nexport const questionSchema = z.object({\n  question_id: z.number(),\n  question_uid: z.string(),\n  question_type: z.string(),\n  question_stem: z\n    .array(z.union([textItemSchema, imageItemSchema]))\n    .optional()\n    .nullable(),\n  answers: answersObjectSchema.optional().nullable(),\n  answers_clean: answersObjectSchema.optional().nullable(), // this is a computed field\n  feedback: z.string().optional().nullable(),\n  hint: z.string().optional().nullable(),\n  active: z.boolean().optional(),\n  order: z.number(),\n  _state: _stateSchema,\n  _release_id: z.number().nullish(),\n});\nexport type Question = z.infer<typeof questionSchema>;\n\nexport const questionNewSchema = questionSchema\n  .pick({\n    question_id: true,\n    question_uid: true,\n    question_type: true,\n    question_stem: true,\n    answers: true,\n    feedback: true,\n    hint: true,\n    active: true,\n    order: true,\n  })\n  .extend({\n    _state: newState,\n  });\nexport type QuestionNew = z.infer<typeof questionNewSchema>;\n\nexport const questionPublishedSchema = questionSchema.extend({\n  _state: publishedState,\n});\nexport type QuestionPublished = z.infer<typeof questionPublishedSchema>;\n\nexport const questionSchemaCamel = zodToCamelCase(questionSchema);\nexport type QuestionCamel = z.infer<typeof questionSchemaCamel>;\n\nexport const questionNewSchemaCamel = zodToCamelCase(questionNewSchema);\nexport type QuestionNewCamel = z.infer<typeof questionNewSchemaCamel>;\n\nexport const questionPublishedSchemaCamel = zodToCamelCase(\n  questionPublishedSchema,\n);\nexport type QuestionPublishedCamel = z.infer<\n  typeof questionPublishedSchemaCamel\n>;\n\n// Backwards compatibility exports\n/**\n * @deprecated Use questionSchema instead.\n */\nexport const quizQuestionSchema = questionSchema;\nexport type QuizQuestion = Question;\n"],"names":["answersObjectSchema","z","object","array","multipleChoiceSchema","optional","shortAnswerSchema","order","orderSchema","match","matchSchema","questionSchema","question_id","number","question_uid","string","question_type","question_stem","union","textItemSchema","imageItemSchema","nullable","answers","answers_clean","feedback","hint","active","boolean","_state","_stateSchema","_release_id","nullish","questionNewSchema","pick","extend","newState","questionPublishedSchema","publishedState","questionSchemaCamel","zodToCamelCase","questionNewSchemaCamel","questionPublishedSchemaCamel","quizQuestionSchema"],"mappings":"sWAmBA,MAAMA,EAAsBC,EAAAA,EAAEC,OAAO,CACnC,kBAAmBD,EAAAA,EAAEE,MAAMC,EAAAA,sBAAsBC,WACjD,eAAgBJ,EAAAA,EAAEE,MAAMG,EAAAA,mBAAmBD,WAC3CE,MAAON,EAAAA,EAAEE,MAAMK,EAAAA,aAAaH,WAC5BI,MAAOR,EAAAA,EAAEE,MAAMO,EAAAA,aAAaL,aAGjBM,EAAiBV,EAAAA,EAAEC,OAAO,CACrCU,YAAaX,EAAAA,EAAEY,SACfC,aAAcb,EAAAA,EAAEc,SAChBC,cAAef,EAAAA,EAAEc,SACjBE,cAAehB,EAAAA,EACZE,MAAMF,EAAAA,EAAEiB,MAAM,CAACC,EAAAA,eAAgBC,EAAAA,mBAC/Bf,WACAgB,WACHC,QAAStB,EAAoBK,WAAWgB,WACxCE,cAAevB,EAAoBK,WAAWgB,WAC9CG,SAAUvB,EAAAA,EAAEc,SAASV,WAAWgB,WAChCI,KAAMxB,EAAAA,EAAEc,SAASV,WAAWgB,WAC5BK,OAAQzB,EAAAA,EAAE0B,UAAUtB,WACpBE,MAAON,EAAAA,EAAEY,SACTe,OAAQC,EAAAA,aACRC,YAAa7B,EAAAA,EAAEY,SAASkB,YAIbC,EAAoBrB,EAC9BsB,KAAK,CACJrB,aAAa,EACbE,cAAc,EACdE,eAAe,EACfC,eAAe,EACfK,SAAS,EACTE,UAAU,EACVC,MAAM,EACNC,QAAQ,EACRnB,OAAO,IAER2B,OAAO,CACNN,OAAQO,EAAAA,WAICC,EAA0BzB,EAAeuB,OAAO,CAC3DN,OAAQS,EAAAA,iBAIGC,EAAsBC,EAAAA,QAAe5B,GAGrC6B,EAAyBD,EAAAA,QAAeP,GAGxCS,EAA+BF,EAAAA,QAC1CH,GAUWM,EAAqB/B"}