fcoin/lib/db/backends.js
2017-07-17 14:26:38 -07:00

29 lines
688 B
JavaScript

/**
* backends.js - database backends for bcoin
* Copyright (c) 2014-2017, Christopher Jeffrey (MIT License).
* https://github.com/bcoin-org/bcoin
*/
'use strict';
exports.get = function get(name) {
try {
switch (name) {
case 'leveldown':
return require('leveldown');
case 'rocksdown':
return require('rocksdown');
case 'lmdb':
return require('lmdb');
case 'memory':
return require('./memdb');
default:
throw new Error(`Database backend "${name}" not found.`);
}
} catch (e) {
if (e.code === 'MODULE_NOT_FOUND')
throw new Error(`Database backend "${name}" not found.`);
throw e;
}
};