@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 = localStorage["getItem"](key) Nullable.toOption(value) } let deleteNote = (courseId: string, lessonId: string) => { let key = storageKey(courseId, lessonId) localStorage["removeItem"](key) }