datastore-level
v11.0.1
Published
Datastore implementation with level(up|down) backend
Downloads
23,479
Readme
datastore-level
Datastore implementation with level(up|down) backend
About
A Datastore implementation that uses a flavour of Level as a backend.
This module is targetted at Node.js. It is possible to use it in a browser but you should probably use IDBDatastore instead.
Example
import { LevelDatastore } from 'datastore-level'
// Default using level as backend for node or the browser
const store = new LevelDatastore('path/to/store')
// another leveldown compliant backend like memory-level
const memStore = new LevelDatastore(
new MemoryLevel({
keyEncoding: 'utf8',
valueEncoding: 'view'
})
)
Browser Shimming Leveldown
LevelStore
uses the level
module to automatically use level
if a modern bundler is used which can detect bundle targets based on the pkg.browser
property in your package.json
.
If you are using a bundler that does not support pkg.browser
, you will need to handle the shimming yourself, as was the case with versions of LevelStore
0.7.0 and earlier.
Database names
level-js@3
changed the database prefix from IDBWrapper-
to level-js-
, so please specify the old prefix if you wish to continue using databases created using datastore-level
prior to v0.12.0
. E.g.
import leveljs from 'level-js'
import browserStore = new LevelDatastore(
new Level('my/db/name', {
prefix: 'IDBWrapper-'
})
})
More information: https://github.com/Level/level-js/blob/master/UPGRADING.md#new-database-prefix
Install
$ npm i datastore-level
Browser <script>
tag
Loading this module through a script tag will make its exports available as DatastoreLevel
in the global namespace.
<script src="https://unpkg.com/datastore-level/dist/index.min.js"></script>
API Docs
License
Licensed under either of
- Apache 2.0, (LICENSE-APACHE / http://www.apache.org/licenses/LICENSE-2.0)
- MIT (LICENSE-MIT / http://opensource.org/licenses/MIT)
Contribute
Contributions welcome! Please check out the issues.
Also see our contributing document for more information on how we work, and about contributing in general.
Please be aware that all interactions related to this repo are subject to the IPFS Code of Conduct.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.