Files
starr-philproperties/lib/ocaml/AnnotationStorage.res
T
kennethobsequio fbef7cb6e6 ready to test
Testing

Signed-off-by: Kenneth Obsequio <k80308392@gmail.com>
2026-06-22 10:07:20 +08:00

20 lines
632 B
Plaintext

@val external localStorage: {..} = "localStorage"
let storageKey = (courseId: string, lessonId: string) =>
`annotation:${courseId}:${lessonId}`
let saveNote = (courseId: string, lessonId: string, note: string) => {
let key = storageKey(courseId, lessonId)
localStorage["setItem"](key, note)
}
let loadNote = (courseId: string, lessonId: string) => {
let key = storageKey(courseId, lessonId)
let value: Nullable.t<string> = localStorage["getItem"](key)
Nullable.toOption(value)
}
let deleteNote = (courseId: string, lessonId: string) => {
let key = storageKey(courseId, lessonId)
localStorage["removeItem"](key)
}