Awesome
⛔️ This module is now part of https://github.com/ipfs/js-stores
datastore-level <!-- omit in toc -->
Datastore implementation with level(up|down) backend
Table of contents <!-- omit in toc -->
Install
$ npm i datastore-level
Browser <script>
tag
Loading this module through a script tag will make it's exports available as DatastoreLevel
in the global namespace.
<script src="https://unpkg.com/datastore-level/dist/index.min.js"></script>
Usage
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
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.