Storing notes in the filesystem
The filesystem is an often overlooked database engine. While filesystems don't have the sort of query features supported by database engines, they are a reliable place to store files. The notes schema is simple enough that the filesystem can easily serve as its data storage layer.
Let's start by adding a function to Note.mjs
:
exportdefaultclassNote { ... get JSON() { return JSON.stringify({ key: this.key, title: this.title, body: this.body }); } static fromJSON(json) { var data = JSON.parse(json); var note = new Note(data.key, data.title, data.body); return note; } }
JSON
is a getter, which means it gets the value of the object. In this case, the note.JSON
attribute/getter, no parentheses, will simply give us the JSON representation of the Note. We'll use this later for writing to JSON files.
fromJSON
is a static function, or factory method, to aid in constructing Note
objects if we have a JSON...