storage
permission is required.
{
//...
"plugin": {
"permissions": {
"scopes": ["storage"]
}
}
}
$storage.set("foo.bar", 1)
$storage.set("foo.baz", "2")
$storage.has("foo") // true
$storage.get<number>("foo.bar") // 1
$storage.get<Record<string, any>>("foo") // { "bar": 1, "baz": "2" }
$storage.set("foo", "bar")
$storage.get("foo") // bar
// A simple plugin that stores the number of files scanned.
function init() {
$app.onScanCompleted((e) => {
const count = e.localFiles.length
const now = new Date().toISOString().replaceall(".", "_")
$storage.set(`scan-history.${now}`, count)
e.next()
})
$ui.register((ctx) => {
const scanHistory = $storage.get<Record<string, number>>("scan-history")
function deleteScanHistory() {
$storage.remove("scan-history")
}
//...
})
}
Make sure your storage doesn't grow too big by doing some cleanup.
The plugin storage is deleted when the plugin is uninstalled.