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
.
Pay now to fund the work behind this issue.
Get updates on progress being made.
Maintainer is rewarded once the issue is completed.
You're funding impactful open source efforts
You want to contribute to this effort
You want to get funding like this too