Hello @sindresorhus your electron-store library is awesome.
What do you think of the possibility of removing / filtering-out the internal property when getting the instance.store data?
I'm talking about this auto-generated property:
"__internal__": {
"migrations": {
"version": "0.9.2"
}
},
Use case:
migrations: {
'>=0.9.2': clientStore => {
const clients = Object.values(clientStore.store).filter(value => value.nom);
clients.forEach(client => {
client.id = client.id ? client.id : uuidv4();
clientStore.set(client.nom, client);
});
},
}
As the example suggests, you get the complete file output when getting the store data so you have to remember filtering out the internal property to avoid unhandled error when accessing the objects. In the example I validate that the value has a .nom property to make sure I'm not trying to do a migration on the internal property.
Could there be something similar to this cleanup function directly in the getters of your library ? Like at the source where you populate the returned data ?
loadFile(storeInstance) {
const fileData = storeInstance.store; // reads the json file and returns it as a JS object copy
delete fileData['__internal__']; //remove useless internal property from the object copy
return fileData; // return clean object of file data
},
I hope I make sense, please let me know what you think of that.
Thanks,
Alexandre Desroches
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