You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
const{ MemoryLevel }=require('memory-level')// Create a databaseconstdb=newMemoryLevel({valueEncoding: 'json'})// Add an entry with key 'a' and value 1awaitdb.put('a',1)// Add multiple entriesawaitdb.batch([{type: 'put',key: 'b',value: 2}])// Get value of key 'a': 1constvalue=awaitdb.get('a')// Iterate entries with keys that are greater than 'a'forawait(const[key,value]ofdb.iterator({gt: 'a'})){console.log(value)// 2}
API
The API of memory-level follows that of abstract-level with one additional constructor option (see below). The createIfMissing and errorIfExists options of abstract-level are not relevant here. Both implicit and explicit snapshots are supported. Data is discarded when the last reference to the database is released (i.e. db = null). Closing or reopening the database has no effect on the data. Data is not copied: when storing a Buffer value for example, subsequent mutations to that Buffer will affect the stored data too.
db = new MemoryLevel([options])
Besides abstract-level options, the optional options object may contain:
storeEncoding (string): one of 'buffer', 'view', 'utf8'. How to store data internally. This affects which data types can be stored non-destructively. The default is 'buffer' (that means Buffer) which is non-destructive. In browsers it may be preferable to use 'view' (Uint8Array) to be able to exclude the buffer shim. Or if there's no need to store binary data, then 'utf8' (String). Regardless of the storeEncoding, memory-level supports input that is of any of the aforementioned types, but internally converts it to one type in order to provide a consistent sort order.
Individuals making significant and valuable contributions are given commit-access to the project to contribute as they see fit. This project is more like an open wiki than a standard guarded open source project.