feat: add formatting, storage, and validation utilities

This commit is contained in:
LaurensBartelds committed 2026-04-21 21:22:49 +02:00
1 parent e211594429
commit 00640fbc04
4 files changed
+105

No files matched your search

+16
View File
@@ -0,0 +1,16 @@
import type { Exam } from '../types'
export const validateExam = (data: unknown): string | null => {
if (!data || typeof data !== 'object') return 'Not a JSON object'
const d = data as Record<string, unknown>
if (!d['title']) return 'Missing "title"'
if (!Array.isArray(d['questions']) || d['questions'].length === 0) return 'Missing "questions" array'
for (const q of d['questions'] as Record<string, unknown>[]) {
if (!q['id']) return 'Question missing id'
if (!q['type']) return `Question "${String(q['id'])}" missing type`
if (!q['prompt']) return `Question "${String(q['id'])}" missing prompt`
}
return null
}
export const parseExam = (data: unknown): Exam => data as Exam