hapi-level
A simple LevelDB plugin for Hapi.

Note: Sublevel has been updated to v6 in version 3.0.0 which has breaking changes which will corrupt a pre version 6 database, read about the sublevel breaking changes before updating, there is a migration tool to help with the upgrade.

Register plugin as follows, an optional options object can be passed in to specify data storage location 'path', and the config object supports all LevelUp options:
const Hapi = require('hapi');
var server = Hapi.createServer();
server.connection();
server.register([
{
register: require('hapi-level'),
options: {
path: './data',
config: {
valueEncoding: 'json'
}
}
}
], (err) => {
if (err) {
throw err;
}
server.start((err) => {
if (err) {
throw err;
}
console.log('Server started at: ' + server.info.uri);
})
};
To use plugin:
const db = request.server.plugins['hapi-level'].db;
const db = plugin.plugins['hapi-level'].db;
db.put('name', 'Level', (err) => {
if (err) {
return console.log('Ooops!', err);
}
db.get('two', (err, value) => {
if (err) {
return console.log('Ooops!', err);
}
console.log('name=' + value);
});
});
});
users.put('two', {id: 2, name: 'Level'}, (err) => {
if (err) {
return console.log('Ooops!', err);
}
users.get('two', (err, value) => {
if (err) {
return console.log('Ooops!', err);
}
console.log(value);
});
});
});