Name Description Size
Cargo.toml 665
components.conf 568
kvstore.sys.mjs This module wraps the nsIKeyValue* interfaces in a Promise-based API. To use it, import it, then call the KeyValueService.getOrCreate() method with a database's path and (optionally) its name: ``` let { keyValueService } = ChromeUtils.importESModule("resource://gre/modules/kvstore.sys.mjs"); let database = await KeyValueService.getOrCreate(path, name); ``` See the documentation in nsIKeyValue.idl for more information about the API for key/value storage. 6384 600
nsIKeyValue.idl The nsIKeyValue* interfaces provide a simple, asynchronous API to a key/value storage engine. Basic put/get/has/delete operations are supported, as is enumeration of key/value pairs and the use of multiple named databases within a single storage file. Operations have ACID semantics. This API does not (yet) support transactions, so it will not be appropriate for all use cases. Extension of this API to support transactions is tracked by bug 1499238. The kvstore.sys.mjs module wraps this API in a more idiomatic, Promise-based JS API that supports async/await. In most cases, you're better off using that API from JS rather than using this one directly. Bug 1512319 tracks native support for Promise in Rust-implemented XPCOM methods. 8775
nsKeyValueModule.h 443