Proxy-based database
npm install nef --save
const db = require('nef')();
db.money.set('phil', 100);
console.log(db.money.get('phil')); // 100
Creates a nef in-memory database. data
is optional and requires _save
function key property.
Each key of the database can be referred to as a collection and it returns
methods.
const nef = require('nef');
const db = nef();
const db = require('nef')({
_save(name, object) {
console.log('Save to some location!');
}
});
Get a key. Use a default value of the key does not exist.
// database
{
powers: {
flash: 'super speed'
},
money: {
john: 3,
phil: 10
}
}
db.powers.get('flash'); // super speed
db.powers.get('laser dude', 'laser vision'); // laser vision
db.money.get('john'); // 3
Returns a boolean on whether or not a key exists.
db.posts.has(74); // false
db.posts.has(1); // true
Returns an array of the object's properties.
db.users.keys(); // ['phil', 'mike', 'dan']
Applies a function to the key value and saves it. Use a default value if the key does not exist.
db.money.put('james', (val) => val + 2);
Delete a key from the object.
db.users.remove('smitty');
Set a key to a value.
db.ranks.set('user1', 1282);
db.ranks.set('user2', 1984);
db.tickets.set('user1', [1,2,3]);
db.tickets.set('user2', [7,5,2]);
// in database:
{
ranks: {
user1: 1282,
user2: 1984
},
tickets: {
user1: [1,2,3],
user2: [7,5,2]
}
}
Plugins passes an object to nef to allow such things as persisting data when saving.