snacks
Version:
Irken plugin exposing configuration options
65 lines (43 loc) • 1.28 kB
JavaScript
;
/* TODO: doens't expose all levelup methods, just what I need */
var levelup = require('levelup');
var memdown = require('memdown');
var _require = require('when');
var defer = _require.defer;
var _require2 = require('when/node');
var createCallback = _require2.createCallback;
var db = levelup('snacks', {
db: memdown,
valueEncoding: 'json'
});
function get(key) {
var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
var d = defer();
var cb = createCallback(d.resolver);
db.get(key, opts, cb);
return d.promise;
}
function put(key, value) {
var opts = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2];
var d = defer();
var cb = createCallback(d.resolver);
db.put(key, value, opts, cb);
return d.promise;
}
function del(key) {
var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
var d = defer();
var cb = createCallback(d.resolver);
db.del(key, opts, cb);
return d.promise;
}
function createReadStream() {
var opts = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0];
return db.createReadStream(opts);
}
module.exports = {
get: get,
put: put,
del: del,
createReadStream: createReadStream
};