enhancementhelp wanted
Description
I propose adding some convenience methods to make common things easier.
What I do most of the time when using electron-store is to get a boolean and invert it. For example, store.set('isFoo', !store.get('isFoo')).
Would be nice to have:
.toggleBoolean(key) which accepts a key and toggles the boolean.
.appendToArray(key, newItem) which pushes a new item to the array. (#32)
.modify(key, mutateCallback) which would give you a callback to modify the value that you then return in the callback:
Before:
const array = store.get('array');
array.find(element => element.title === 'baz').src = 'something';
store.set('array', array);
After:
store.modify('array', array => {
array.find(element => element.title === 'baz').src = 'something';
return array;
});
These methods will require you to specify the key in the defaults option, so it would always work. If you try to use toggleBoolean() and the underlaying value is of a different type, it would throw an error.
Any other convenience methods we could add? I'm also interested in feedback on the method names.
*Note: While I opened the issue here, the methods we eventually go for should be added to conf.