The modified object
Error if input validation fails
const obj = { user: { name: 'Flavio Ever' } };
setProp(obj, 'user.name', 'Flavio'); // Updates name to 'Flavio'
setProp(obj, 'user.profile.social.twitter', '@flavioever'); // Creates nested objects automatically
setProp(obj, 'user.skills.0', 'JavaScript'); // Works with arrays
Sets a value at a nested property path, creating intermediate objects as needed