| Cargo.toml |  | 927 | 
        
          | components.conf |  | 846 | 
        
          | 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. | 8090 | 
        
          | moz.build |  | 656 | 
        
          | 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 directory.  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. | 15628 | 
        
          | nsKeyValueModule.h |  | 519 | 
        
          | src |  |  | 
        
          | test |  |  |