datastore-level
TypeScript icon, indicating that this package has built-in type declarations

10.1.7 • Public • Published

datastore-level

ipfs.tech Discuss codecov CI

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 it's 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

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.

Package Sidebar

Install

npm i datastore-level

Weekly Downloads

7,723

Version

10.1.7

License

Apache-2.0 OR MIT

Unpacked Size

145 kB

Total Files

10

Last publish

Collaborators

  • achingbrain
  • npm-service-account-ipfs