Public Access
feat: add formatting, storage, and validation utilities
This commit is contained in:
1 parent
e211594429
commit
00640fbc04
4 files changed
+105
No files matched your search
@@ -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
|
||||
Reference in new issue
Block a user