You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 lines
827 B

var levelup = require('levelup')
var encode = require('encoding-down')
function packager (leveldown) {
function Level (location, options, callback) {
if (typeof location === 'function') {
callback = location
} else if (typeof options === 'function') {
callback = options
}
if (!isObject(options)) {
options = isObject(location) ? location : {}
}
return levelup(encode(leveldown(location, options), options), options, callback)
}
function isObject (o) {
return typeof o === 'object' && o !== null
}
['destroy', 'repair'].forEach(function (m) {
if (typeof leveldown[m] === 'function') {
Level[m] = function () {
leveldown[m].apply(leveldown, arguments)
}
}
})
Level.errors = levelup.errors
return Level
}
module.exports = packager