Skip to content
This repository was archived by the owner on Mar 28, 2026. It is now read-only.

fastify/fastify-leveldb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

185 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

@fastify/leveldb

CI NPM version neostandard javascript style

Fastify LevelDB connection plugin, with this you can share the same Level connection in every part of your server.

Under the hood Levelup is used, the options that you pass to register will be passed to Levelup.

Install

npm i @fastify/leveldb

Compatibility

Plugin version Fastify version
>=6.x ^5.x
^5.x ^4.x
>=3.x <5.x ^3.x
^0.x <3.x ^2.x
^0.x <3.x ^1.x

Please note that if a Fastify version is out of support, then so are the corresponding versions of this plugin in the table above. See Fastify's LTS policy for more details.

Usage

Add it to you project with register, configure the database name and you are done!

You can access LevelDB via fastify.level[name].

const fastify = require('fastify')()

fastify.register(
  require('@fastify/leveldb'),
  { name: 'db' }
)

fastify.get('/foo', async function (req, reply) {
  const val = await this.level.db.get(req.query.key)
  return val
})

fastify.post('/foo', async function (req, reply) {
  await this.level.db.put(req.body.key, req.body.value)
  return { status: 'ok' }
})

fastify.listen({ port: 3000 }, err => {
  if (err) throw err
  console.log(`server listening on ${fastify.server.address().port}`)
})

By default, Leveldown is used for the store but you can use any Abstact-leveldown compliant store, such as memdown.

First, you must install the store:

npm i memdown

Next, initialize the plugin with the given store:

fastify.register(require('@fastify/leveldb'), {
  name: 'db',
  options: {
    store: require('memdown')
  }
})

By default the path where the db will be created is the name option, but you can also pass a custom path as well.

fastify.register(
  require('@fastify/leveldb'),
  { name: 'db', path: '.local' }
)

Acknowledgments

This project is kindly sponsored by:

License

Licensed under MIT.

About

Plugin to share a common LevelDB connection across Fastify

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

  •  

Contributors