Skip to content

dskrepps-legacy/level-modify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

level-modify

npm

Modify an existing key in a levelup store. Uses level-lock to prevent race conditions. See also: level-create, level-move

let db = require('level')('colors.db')
let modify = require('level-modify');

function redToBlue(color) {
	if (color === 'red') color = 'blue';
	return color;
}

db.put('fence', 'red', (err) => {
	modify(db, 'fence', redToBlue, (err) => {
		if (err && err.code === 'LOCKED') return console.error('conflict');
		db.get('fence', (err, color) => {
			console.log(color); // blue
		});
	});
});

Methods

let modify = require('level-modify');
modify(db, key, mod, callback));

Modify the value at key. mod can be a function in the form of function(oldValue) {return newValue;} or an object which will be merged with the old value like so: Object.assign(oldValue, mod);

If the key is write-locked by a concurrent operation an error will be given to the callback with err.code being 'LOCKED'. Like other levelup methods if callback is omitted errors will be thrown.

Alternatively install onto the db object:

require('level-modify').install(db);
db.modify(key, mod, callback);

License

MIT

About

Modify an existing key in a levelup store.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published