Interface for local storage providers.
Abstracts storage operations to support different storage backends
(e.g., browser localStorage, IndexedDB, file system).
Implementations should handle the optional category parameter as follows:
IndexedDB: Create separate object stores per category (e.g., mj:RunViewCache)
localStorage: Prefix keys with [mj]:[category]:[key]
Memory: Use nested Map structure (Map<category, Map<key, value>>)
When category is not provided, use a default category (e.g., 'default' or 'general').
Interface for local storage providers. Abstracts storage operations to support different storage backends (e.g., browser localStorage, IndexedDB, file system).
Implementations should handle the optional category parameter as follows:
mj:RunViewCache)[mj]:[category]:[key]When category is not provided, use a default category (e.g., 'default' or 'general').