Level / level

Universal abstract-level database for Node.js and browsers.
MIT License
1.55k stars 106 forks source link

db.isOperational is not a function #210

Closed XfedeX closed 2 years ago

XfedeX commented 2 years ago

I installed Level with npm install level, and I am using it like this: /src/db.js:

const level = require("level");
const db = level("./save");

module.exports.put = db.put;
module.exports.get = db.get;
module.exports.del = db.del;

/index.js:

const db = require("./src/db");
db.put("username", "example!",(err,data)=>{
  if (err) return console.error(err)
})

I am getting the error db.isOperational is not a function.

ralphtheninja commented 2 years ago

@XfedeX I suspect you're missing the this pointer when exporting put, get and del. Does the following work?

const level = require('level')
const db = level('./save')

module.exports.put = db.put.bind(db)
module.exports.get = db.get.bind(db)
module.exports.del = db.del.bind(db)

Why don't you just do e.g.:

const level = require('level')
module.exports = level('./save')

?

XfedeX commented 2 years ago

@XfedeX I suspect you're missing the this pointer when exporting put, get and del. Does the following work?

const level = require('level')
const db = level('./save')

module.exports.put = db.put.bind(db)
module.exports.get = db.get.bind(db)
module.exports.del = db.del.bind(db)

Why don't you just do e.g.:

const level = require('level')
module.exports = level('./save')

?

Thanks, this fixes the issue.